Está en la página 1de 50

Capa de Transporte

Servicios
Servicios parecidos a la capa de red
Orientados a conexin No orientados a conexin

Porqu dos capas distintas ? La capa de transporte slo depende de los usuarios finales y la de red no Puede haber varias capas de transporte especializadas en tipos de trfico.
2

Relacin entre capas

Anidado de TPDU

Calidad de servicio
La capa de transporte debe mejorar la QoS de la subred Posibles parmetros de QoS Negociacin de opciones
5

Primitivas
Lo ms interesante es el servicio orientado a conexin Se trata de brindar un flujo confiable de datos de extremo a extremo Ejemplo de primitivas de una capa de transporte:

Diagrama de estados
cliente: lnea slida - servidor: lnea punteada

Primitivas con Berkeley sockets

Capas de Enlace y Transporte


Las funciones de capa de transporte son similares a las de capa de enlace de datos Control de errores Secuenciamiento Control de flujo
Pero hay diferencias...
9

Capas de Enlace y Transporte

Diferencias: Direccionamiento Complejidad en el establecimiento de conexin Capacidad de almacenamiento en la red Diferencias de retardos
10

Direccionamiento
Necesidad de conocer la mquina destino Necesidad de identificar el servicio Ej en TCP/IP direccin IP + puerto TCP Puertos bien conocidos Servidor de procesos (escucha en todos los puertos) Servidor de nombres (ej. DNS)
11

Direcciones: TSAP NSAP

12

Servidor de procesos

13

Establecimiento de conexin
Ms difcil de lo que parece Problema de los duplicados retardados Posible repeticin de conexiones Posibles soluciones:
Direcciones por una nica vez Identificacin de conexin (y cadas ?) Vida limitada de los paquetes
subred restringida, contador de saltos, timestamp
14

Establecimiento de conexin (Tomlinson)


Establecer conexin
Reloj de tiempo real en cada mquina que no se apaga Tiempo T=mltiplo de tiempo de vida de los paquetes Zona prohibida Conexin en tres tiempos con secuencias independientes para cada extremo
15

Nmeros de secuencia
Zona prohibida

16

Establecimiento en 3 fases

17

Fin de conexin
Terminar conexin
simtrica
se cierran separadamente ambos sentidos complicacin del problema de los dos ejrcitos

asimtrica
puede provocar prdida de datos

18

Desconexin con prdida de informacin

19

Problema de los dos ejrcitos

20

Diferentes escenarios de corte

21

Buffers y control de flujo


Mquinas con muchas conexiones simultneas Cmo optimizar el buffer ? Polticas Buffer dinmico
Posible deadlock si se pierde actualizacin

Limitaciones por capacidad de la red Ventana dependiendo de la carga: W = c.r


c = capacidad de la red en paquetes por segundo. r = tiempo de ida y vuelta.
22

Diferentes polticas de manejo de buffers

23

Posible deadlock

24

Multiplexado
Multiplexado
Upward multiplexing
polticas de precios en las conexiones de red varias conexiones de transporte sobre una de red

Downward multiplexing
enlaces rpidos pero la ventana limita una conexin de transporte abre varias conexiones de red y reparte la carga
25

Multiplexado: Upward y downward

26

Recuperacin de cadas
Recuperacin frente a problemas
Cadas de la red
con circuitos virtuales vs. datagramas

Cadas en las mquinas de los extremos


No se puede hacer transparente a las capas superiores Existen casos donde se pueden duplicar o perder segn las polticas del transmisor y el receptor

27

Cadas en las mquinas


Segn estrategia del servidor y el cliente
A - Ack, W - Write, C - Crash

28

Transmission Control Protocol TCP


Objetivo: Flujo confiable de bytes sobre una red no confiable
Diferentes tecnologas de red en el medio Robusto frente a problemas de la red

Entidad TCP y protocolo TCP Recibe flujo de la capa superior y lo parte en trozos que enva en paquetes IP El receptor lo reensambla
29

Modelo de servicio de TCP


Conexin entre 2 sockets Identificacin de los sockets formada por direccin IP + puerto (puerto=TSAP) Las conexiones se identifican con las direcciones de los sockets de ambos extremos Puertos 0 - 256: puertos bien conocidos (RFC 1700) Full duplex y punto a punto
30

TCP
Las conexiones TCP son un flujo de bytes, no de mensajes (capas superiores) Puede esperar para enviarlo segn su poltica de buffer (Pero existe push) Tambin datos urgentes. (Ejemplo ^C)

31

Mensajes y bytes

Un mensaje (ABCD) es enviado en 4 paquetes IP separados, pero devuelto a la aplicacin destino como un conjunto de bytes ABCD

32

Protocolo TCP
Nmero de secuencia de 32 bits Unidad de datos = Segmento Encabezado de de 20 bytes Mximo del segmento
carga del paquete IP 64 Kbytes MTU de la red. Tpico 1500 bytes

Usa protocolo de ventanas deslizantes de tamao de ventana variable


33

Problemas con los segmentos


Prdidas de segmentos por rutas congestionadas o enlaces cados Segmentos llegan fuera de orden Segmentos se duplican por retardos que obligan a la retransmisin

34

Encabezado TCP

35

Pseudo-encabezado para clculo del checksum

36

Opciones
Escala de la ventana. Repeticin selectiva (nak)

37

Manejo de conexiones

38

Estados de la conexin

39

Significado de los estados

40

Poltica de transmisin en TCP


El que recibe informa sobre el tamao de la ventana (tamao de buffer disponible) Ventana 0 y siguiente anuncio se pierde
bloqueo urgentes y prueba para reanuncio de ventana

Posibilidad de retardar el envo (hasta 500 ms) para esperar a llenar ventana del receptor
41

Manejo de ventana en TCP

42

Problemas de performance
Algoritmo de Nagle
esperar el ack del primer byte y luego bufferear se puede enviar tambin cuando se llena media ventana o el tamao mximo del segmento Malo en aplicaciones tipo X-Windows (mouse)

Sndrome de la ventana tonta


Aviso de ventana de 1 byte Clark: No avisar disponibilidad de ventana hasta segmento mximo o mitad del buffer libre
43

Ventana tonta

44

Control de congestin en TCP


Hiptesis: las prdidas de paquetes son por congestin (los enlaces son buenos ahora) Ventana de congestin
Comienza con la mitad del tamao mximo de segmento (64Kbytes) como umbral Aumenta duplicando tamao desde un segmento a cada ACK (slow start !) A partir del umbral sigue lineal Prdida o ICMP Source Quench: nivel a la mitad de la ventana y ventana 1 segmento.
45

Control de flujo y congestin

46

Ventana de congestin

47

Gestin de temporizadores
Varios temporizadores
el ms importante es el de retransmisin

Jacobson:
RTT = a RTT + ( 1 - a ) M D = a D + ( 1 - a ) |RTT - M| Timeout = RTT + 4 * D a = 7/8

Karn:
No calcular sobre retransmisiones Se duplica el timeout a cada prdida.

Otros: persistencia, mantener vivo, espera al cerrar


48

Dispersin de retardos
en capa de enlace y de transporte

49

UDP
UDP no orientado a conexin Bsicamente es un paquete IP con un encabezado mnimo de capa de transporte

50

También podría gustarte