Vous êtes sur la page 1sur 51

Universidad Nacional de Ingenieria Redes de Computadoras II

Unidad II: Capa de Transporte. Capa de Aplicacin: Comunicacin y Reensamble de Informacin

Redes Computadoras II

Ing. Carlos Ortega H.

Capa de Transporte
TCP UDP

Provee comunicacin lgica entre procesos de aplicaciones corriendo en diferentes hosts Los protocolos de la capa transporte corren en sistemas terminales (computadores, no equipos internos como routers). Brindan un servicio que algunas veces se denomina servicio de terminal a terminal
Tx: divide el mensaje de la aplicacin en segmentos, y los pasa a la capa de red. Rx: re-ensambla los segmentos del mensaje y los pasa a la capa aplicacin
Redes Computadoras II Ing. Carlos Ortega H. 2

Protocolos en la Capa de Transporte


UDP TCP/UDP TCP/UDP

TCP

En la capa 4 se da un flujo de datos: A travs de una conexion logica entre los dispositivos finales Proporciona servicios de transporte Servicio de terminal a terminal
Redes Computadoras II Ing. Carlos Ortega H.

TCP Transmission Control Protocol UDP User Datagram Protocol


3

Encabezados en la Capa de Transporte


Encabezado TCP
Encabezado UDP

Como se nombra la PDU de la capa de aplicacin?

Application Header + data Como se denomina la PDU de la capa de transporte? PDU: Segmento

PDU: Datos

Redes Computadoras II

Ing. Carlos Ortega H.

Enfocarse en la capa de transporte


TCP

TCP

Redes Computadoras II

Ing. Carlos Ortega H.

La Capa de Transporte
www.cisco.com

TCP Segment TCP Segment

Las responsabilidades principales que debe cumplir son: Dar seguimiento de la comunicacin individual entre aplicaciones Quin es el cliente? Cul es la aplicacin? Cul es el proceso? Identificar las diferentes aplicaciones (HTTP, FTP, etc.) Segmentacin de datos Tener control de cada segmento Reensamblaje de los segmentos
Redes Computadoras II Ing. Carlos Ortega H. 6

Capa de Transporte

segmento

segmento

IP es un servicio de entrega que realiza el mejor esfuerzo. Qu significa eso? No hay garantas Servicio no confiable TCP/UDP es responsable de extender los servicios de entrega de IP entre los dos sistemas terminales.
Redes Computadoras II Ing. Carlos Ortega H. 7

TCP vs. UDP


Por qu debera una aplicacin usar UDP? Cul es el costo de todo esto, confiabilidad y control de flujo de TCP?
Streaming multimedia, juegos con multiples usuarios en tiempo real y voz sobre IP (VoIP), son aplicaciones que no requieren mecanismos de confiabilidad e incluso estos pueden afectarlas.

TCP provee:

UDP provee: Entrega no Confiable Entrega Confiable No chequea errores Chequeo de errores Sin Control de Flujo Control de Flujo Sin control de Congestionamiento Control de Congestion Sin orden de entrega No existe Establecimiento de la Entrega Ordenada conexion. Establecimiento de Conexin Aplicaciones Aplicaciones: DNS (usualmente) HTTP SMTP DHCP RTP (Real-Time Protocol) FTP Telnet VoIP MSN messenger
Redes Computadoras II Ing. Carlos Ortega H.

TCP vs. UDP

Redes Computadoras II

Ing. Carlos Ortega H.

HTTP

HTTP SMTP FTP Servidor WEB de la UNI TCP TCP TCP TCP TCP UDP TCP UDP

Servidor de Email del ISP servidor FTP

Un simple cliente puede tener multiples conexiones de la capa de transporte con multiples. Note que TCP es un servicio orientado a conexin (flechas en ambos sentidos) entre los host, mientras que UDP es un servicio no orientado a conexin (flechas en un solo sentido).

10

Nmeros de Puertos TCP y UDP

Tanto TCP como UDP usan nmeros de puertos (o sockets) para pasar informacin a las capas superiores
Redes Computadoras II Ing. Carlos Ortega H. 11

Los numeros de puertos son usados para conocer a que aplicacin del host receptor se le enviaran los datos

Application Header + data

Los numeros de puertos son usados para conocer a que aplicacin del host receptor se le enviaran los datos

Application Header + data

12

Nmeros de Puertos TCP y UDP

Redes Computadoras II

Ing. Carlos Ortega H.

13

http://www.iana.org/assignments/port-numbers

La Agencia de Asignacin de Nmeros de Internet(IANA) asigna los nmeros puertos.


Redes Computadoras II Ing. Carlos Ortega H. 14

Puertos bien conocidos (Nmeros del 0 al 1023): estos nmeros se reservan para servicios y aplicaciones. Al definir estos puertos conocidos para las aplicaciones del servidor, las aplicaciones del cliente pueden ser programadas para solicitar una conexin a un puerto especfico y su servicio asociado.
Redes Computadoras II Ing. Carlos Ortega H. 15

Puertos Registrados (Nmeros 1024 al 49151): Son asignados a procesos o aplicaciones del usuario. Son principalmente aplicaciones individuales que el usuario elige instalar en lugar de aplicaciones comunes que recibira un puerto bien conocido.
Redes Computadoras II Ing. Carlos Ortega H. 16

Puertos dinmicos o privados (Nmeros del 49 152 al 65 535):


Tambin conocidos como puertos efmeros, Suelen asignarse de manera dinmica a aplicaciones de cliente cuando se inicia una conexin. No es muy comn que un cliente se conecte a un servicio utilizando un puerto dinmico o privado (aunque algunos programas que comparten archivos punto a punto lo hacen).
Redes Computadoras II Ing. Carlos Ortega H. 17

Cliente

Servidor

Telnet

18

Encabezado TCP del Cliente


1028 23

Data for Telnet

Cliente

Servidor

El cliente envia el segmento TCP con: Puerto de destino 23 (Nmero de puerto bien conocido) Puerto de origen: 1028 (Nmero de puerto dinamico asignado por el cliente)
Redes Computadoras II Ing. Carlos Ortega H. 19 19

Encabezado TCP del Servidor


23 1028

Data for Telnet

Cliente

Servidor

El servidor responde con un segmento TCP con: Puerto de destino 1028 (Numero de puerto dinmico asignado por el cliente) Puerto de origen: 23 (Numero de puerto bien conocido)
Redes Computadoras II Ing. Carlos Ortega H. 20

Cliente

Servidor

Note la diferencia en como los nmeros de puertos de origen y destino son usados por el cliente y el servidor: Cliente (Iniciando el servicio Telnet): Puerto de destino= 23 (telnet) Puerto de origen= 1028 (dinamicamente asignado) Servidor (respodndiendo al servicio Telnet): Puerto de destino= 1028 (dinamicamente asignado) Puerto de origen= 23 (telnet)
Redes Computadoras II Ing. Carlos Ortega H. 21

49888

49890

Cliente: Usa el mismo numero puerto de destino Cliente: Usa diferente puerto de origen unicamente para identificar cada sesion web.
Redes Computadoras II Ing. Carlos Ortega H. 22

49888

49890

C:\Users\rigrazia>netstat -n Active Connections

Puerto de origen

Puerto de destino

Estado de la conexin

TCP o UDP

Proto

Local Address

Foreign Address

State

TCP
TCP

192.168.1.101:49888
192.168.1.101:49890

198.133.219.25:80
198.133.219.25:80

TIME_WAIT
TIME_WAIT

C:\Users\rigrazia>
Redes Computadoras II

IP de origen
Ing. Carlos Ortega H.

IP de destino
23

192.168.1.101

Puerto de origen 49888 49890 Puerto de origen 49888 Que hace a cada conexin unica?

Puerto de destino
80 80 80

198.133.219.25

172.16.5.5

www.cisco.com

La conexin es definida por un par de numeros: Direccin IP de origen, Puerto de origen Direccin IP de destino, Puerto de destino Diferentes conexiones pueden usar el mismo puerto de destino en el mismo servidor siempre y cuando el puerto de origen o direccin IP de origen sean diferentes..
Redes Computadoras II Ing. Carlos Ortega H. 24

TCP o UDP

Estado de la conexin IP de origen IP de destino Puerto de origen Puerto de destino

www.google.com
Redes Computadoras II

www.cisco.com
Ing. Carlos Ortega H.

netstat n
25

Nota: cuando descarga un documento web y sus objetos es comun que habra varias sesiones TCP creadas.

Transporte sin conexin: UDP

UDP

Sin adornos, protocolo de transporte liviano (RFC 768) Puertos de origen y destino Longitud y checksum (usado para el chequeo de error) No orientado a conexin No handshaking (No establece conexin) como TCP No proporciona entrega confiable

No proporciona chequeo de errores


No proporciona control de flujo No proporciona control de congestion No proporciona entrega ordenada
Redes Computadoras II Ing. Carlos Ortega H. 27

UDP

Puerto de origen Puerto de destino Longitud -- Indica la longitud del mensaje, incluyendo los campos de encabezado checksum -- Su uso es opcional en IPv4 y obligatorio en IPv6, ya que en ese caso se ha suprimido el checksum a nivel de red. Cuando se enva informacin en tiempo real su uso puede omitirse. Si la verificacin del checksum en el receptor arroja un error, el mensaje es descartado sin notificarlo al nivel de aplicacin ni al emisor datos -- contiene los datos a transmitir
Redes Computadoras II Ing. Carlos Ortega H. 28

Porque un desarrollador de una aplicacin escoge UDP en vez de TCP? Control de la capa de aplicacin menor TCP continuar enviando segmentos que no son reconocidos. Las aplicaciones que usan UDP pueden tolerar prdidas de datos:

Streaming video (video simultaneo)


VoIP (Voice sobre IP) La aplicacin decide si o no reenvia el archivo completo: TFTP
Redes Computadoras II Ing. Carlos Ortega H. 29

Cliente

Servidor

Tiempo

No establece conexin TCP usa un intercambio de seales de tres vas para establecer una conexin UDP no lo hace Solo envia los datos lejos del emisor.

No existen retrasos para establecer conexin.


Redes Computadoras II Ing. Carlos Ortega H. 30

Cliente

Servidor

Tiempo

No mantiene estado de la conexin


UDP no mantiene estado de la conexin como lo hace TCP El estado de la conexin es usado para brindar confiabilidad y control de flujo. Los servidores pueden soportar muchos clientes activos cuando no mantiene informacion de estado Incremento en el encabezado es pequea TCP tiene un encabezado 20 bytes de incremento. UDP solo tiene un encabezado 8 bytes de incremento.
Redes Computadoras II Ing. Carlos Ortega H. 31

UDP y Aplicaciones Multimedias

Existe un asunto (controversial) con aplicaciones multimedia sobre UDP. UDP no ofrece control de congestion (como veremos con TCP) El control de congestion es necesario para prevenir que la red entre y permanezca en un estado de congestin. Si todas las aplicaciones usaran UDP, debido a la congestion, muy pocos paquetes UDP serian entregados y esto tambien causaria que la tasa de trafico TCP decreciera dramaticamente.
Redes Computadoras II Ing. Carlos Ortega H. 32

33

Transporte orientado a la conexin: TCP

TCP

TCP proporciona entrega confiable encima del no confiable IP


TCP proporciona: Entrega confiable Chequeo de errores Control de flujo (Establece conexin)
35

Control de congestion Entrega ordenada

Redes Computadoras II

Ing. Carlos Ortega H.

Segmento TCP

Puerto de origenDispositivo que abrio una conexin. # aleatorio > a 1023 Puerto de destino identifica el protocolo de la capa superior o la aplicacion del sitio remoto Numero de secuencia especifica el numero del ultimo octeto (byte) en un segmento

Numero de acuse de recibo especifica el proximo octeto esperado por el receptor


HLEN especifica la longitud del encabezado del segmento en byte reservado puesto en 0
36

Redes Computadoras II

Ing. Carlos Ortega H.

Segmento TCP

Bits de codigo utilizado en la administracion de sesiones y el tratamiento de segmentos Ventana el nmero de octetos que el emisor espera aceptar checksum utilizado para la verificacion de errores del encabezado y el campo de datos

Urgente utilizado unicamente con una sealizacion URG


opciones por el momento define: el maximo tamao del segmento TCP datos datos de aplicacion
37

Redes Computadoras II

Ing. Carlos Ortega H.

Establecimiento de la conexin TCP


0 16-bit Source Port Number 15 16 31 16-bit Destination Port Number 32-bit Sequence Number

32 bit Acknowledgement Number 4-bit Header Length 6-bit (Reserved)


U A P R S F R C S S Y I G K H T N N

16-bit Window Size

16-bit TCP Checksum

16-bit Urgent Pointer

Options (if any)

Data (if any)

Para que una conexin sea establecida, las dos terminales deben sincronizarse usando un nmero de secuencia inicial (ISN), TCP. Numeros de secuencias:

Rastrea el orden de los segmentos


Asegura que no se pierdan los paquetes en la transmisin. El valor inicial para el nmero de secuencia, conocido como ISN, se elige de manera aleatoria.
Redes Computadoras II Ing. Carlos Ortega H. 38

Enlace de tres vas


Nota: Los nmeros de secuencia no
comienzan en el cero. Por qu se procede as? Uno de los motivos es para evitar conflictos: supongamos que la conexin en un ordenador se interrumpe nada ms empezar y se crea una nueva. Si ambas han empezado en el cero es posible que el receptor entienda que la segunda conexin es una continuacin de la primera (si utilizan los mismos puertos).

Paso 1 Un cliente TCP comienza el enlace de tres vas enviando un segmento con el sealizador de control SYN (Sincronizar nmeros de secuencia) establecido, indicando un valor inicial en el campo de nmero de secuencia del encabezado. El nmero de secuencia, conocido como nmero de secuencia inicial (ISN), se elige de manera aleatoria y se utiliza para comenzar a rastrear el flujo de datos desde el cliente al servidor para esta sesin.
Redes Computadoras II Ing. Carlos Ortega H. 39

Enlace de tres vas

Paso 2 El servidor TCP necesita reconocer la recepcin del segmento SYN : El servidor enva un segmento al cliente con: El sealizador ACK establecido indicando que el nmero de acuse de recibo es significativo. El valor del nmero de campo del acuse de recibo es igual al nmero de secuencia inicial del cliente ms 1. El valor es uno mayor que el nmero de secuencia porque el ACK es siempre el prximo Byte u Octeto esperado. Un sealizador SYN de la misma manera en que lo hizo el cliente. Establece el sealizador de control SYN en el encabezado para establecer una sesin del servidor al cliente.

Enlace de tres vas

Paso 3: El cliente TCP responde con un segmento que contiene un ACK que acta como respuesta al SYN de TCP enviado por el servidor. El valor del campo nmero de acuse de recibo contiene uno ms que el nmero de secuencia inicial recibido del servidor.. Una vez establecidas ambas sesiones entre el cliente y el servidor, todos los segmentos adicionales que se intercambien en la comunicacin tendrn establecido el sealizador ACK.
Redes Computadoras II Ing. Carlos Ortega H. 41

Paso 1: El cliente envia su ISN, SEQ=8563 (ultimos 4 digitos)

42

Paso 2: El servidor responde con un ACK=8564, y su ISN, SEQ=1678

43

Paso 3: El cliente envia ACK=1679

44

Ahora el Cliente envia solicitudes HTTP (GET) al Servidor Web

45

Fin de la sesin TCP

1. Cuando el cliente no tiene ms datos para enviar al stream, enva un segmento con el sealizador FIN establecido. 2.El servidor enva un ACK para acusar recibo de FIN y terminar la sesin del cliente al servidor. 3. El servidor enva un FIN al cliente para finalizar la sesin del servidor al cliente. 4. El cliente responde con un ACK para dar acuse de recibo de FIN desde el servidor.
Redes Computadoras II Ing. Carlos Ortega H. 46

Control de flujo y confiabilidad

Confiabilidad Garantiza la entrega- Asegurando que todos los datos sean recibidos. Si hay perdidas de datos, se determina el byte que debe ser retransmitido. Control de flujo Cada host tiene un buffer receptor para la conexion TCP.

El control de flujo asegura que estos bufferes no reciban mas datos que los que pueda manejar la conexion. 47

Control de flujo y confiabilidad


0 16-bit Source Port Number 15 16 31 16-bit Destination Port Number

32-bit Sequence Number

32 bit Acknowledgement Number 4-bit Header Length 6-bit (Reserved)


U A P R S F R C S S Y I G K H T N N

16-bit Window Size

16-bit TCP Checksum

16-bit Urgent Pointer

Options (if any)

Data (if any)

Para gobernar el flujo de datos entre dispositivos, TCP utiliza un mecanismo de control de flujo de igual a igual. La capa TCP del host emisor informa de un tamao de la ventana a la capa TCP del host de receptor. Este tamao de la ventana especifica el nmero de bytes, empezando por el nmero de reconocimiento, que la capa de host de recepcin de TCP est preparado para recibir.
Redes Computadoras II Ing. Carlos Ortega H. 48

Control de flujo y confiabilidad


0 16-bit Source Port Number 15 16 31 16-bit Destination Port Number

32-bit Sequence Number

32 bit Acknowledgement Number 4-bit Header Length 6-bit (Reserved)


U A P R S F R C S S Y I G K H T N N

16-bit Window Size

16-bit TCP Checksum

16-bit Urgent Pointer

Options (if any)

Data (if any)

El tamao de la ventana est incluido en todos los segmentos TCP enviados desde el cliente o el servidor en el intercambio de seales tres vas TCP es un servicio de full dplex, el cliente y el servidor deben especificar el tamao de sus propia ventana
49

Redes Computadoras II

Ing. Carlos Ortega H.

Reduccin del tamao de la ventana

Si se pierden segmentos debido a la saturacion, el receptor acusara recibo del ultimo segmento secuencial recibido y respondera con un tamao de ventana reducido.
Redes Computadoras II Ing. Carlos Ortega H. 50

Redes Computadoras II

Ing. Carlos Ortega H.

51

Vous aimerez peut-être aussi