Académique Documents
Professionnel Documents
Culture Documents
Redes Computadoras II
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
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.
Application Header + data Como se denomina la PDU de la capa de transporte? PDU: Segmento
PDU: Datos
Redes Computadoras II
TCP
Redes Computadoras II
La Capa de Transporte
www.cisco.com
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 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.
Redes Computadoras II
HTTP
HTTP SMTP FTP Servidor WEB de la UNI TCP TCP TCP TCP TCP UDP TCP UDP
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
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
Los numeros de puertos son usados para conocer a que aplicacin del host receptor se le enviaran los datos
12
Redes Computadoras II
13
http://www.iana.org/assignments/port-numbers
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
Cliente
Servidor
Telnet
18
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
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
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
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.
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
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:
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.
Cliente
Servidor
Tiempo
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
TCP
Redes Computadoras II
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
Redes Computadoras II
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
Redes Computadoras II
Para que una conexin sea establecida, las dos terminales deben sincronizarse usando un nmero de secuencia inicial (ISN), TCP. Numeros de secuencias:
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
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.
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
42
43
44
45
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
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
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
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
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
51