1 capa de transporte. 2 servicios servicios parecidos a la capa de red orientados a conexión no...

Post on 02-Mar-2015

5 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Capa de Transporte

2

Servicios

• Servicios parecidos a la capa de red• Orientados a conexión

• No orientados a conexión

• ¿ Porqué dos capas distintas ?

• La capa de transporte sólo depende de los usuarios finales y la de red no

• Puede haber varias capas de transporte especializadas en tipos de tráfico.

3

Relación entre capas

4

Anidado de TPDU

5

Calidad de servicio

• La capa de transporte debe mejorar la QoS de la subred

• Posibles parámetros de QoS

• Negociación de opciones

6

Primitivas

• Lo más interesante es el servicio orientado a conexión• Se trata de brindar un flujo confiable de datos de

extremo a extremo• Ejemplo de primitivas de una capa de transporte:

7

Diagrama de estadoscliente: línea sólida - servidor: línea punteada

8

Primitivas con Berkeley sockets

9

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...

10

Capas de Enlace y Transporte

Diferencias:

• Direccionamiento

•Complejidad en el establecimiento de conexión

• Capacidad de almacenamiento en la red

• Diferencias de retardos

11

Direccionamiento

• Necesidad de conocer la máquina destino

• Necesidad de identificar el servicio

• Ej en TCP/IP dirección IP + puerto TCP

• Puertos bien conocidos

• Servidor de procesos (escucha en todos los puertos)

• Servidor de nombres (ej. DNS)

12

Direcciones: TSAP NSAP

13

Servidor de procesos

14

Establecimiento de conexión

• Más difícil de lo que parece

• Problema de los duplicados retardados Posible repetición de conexiones

• Posibles soluciones:– Direcciones por una única vez– Identificación de conexión (y caídas ?)– Vida limitada de los paquetes

• subred restringida, contador de saltos, timestamp

15

Establecimiento de conexión (Tomlinson)

• Establecer conexión– Reloj de tiempo real en cada máquina que no se

apaga– Tiempo T=múltiplo de tiempo de vida de los

paquetes– Zona prohibida– Conexión en tres tiempos con secuencias

independientes para cada extremo

16

Números de secuenciaZona prohibida

17

Establecimiento en 3 fases

18

Fin de conexión

• Terminar conexión– simétrica

• se cierran separadamente ambos sentidos

• complicación del problema de los dos ejércitos

– asimétrica• puede provocar pérdida de datos

19

Desconexión con pérdida de información

20

Problema de los dos ejércitos

21

Diferentes escenarios de corte

22

Buffers y control de flujo

• Máquinas con muchas conexiones simultáneas

• ¿ Cómo optimizar el buffer ? Políticas

• Buffer dinámico– Posible deadlock si se pierde actualización

• 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.

23

Diferentes políticas de manejo de buffers

24

Posible deadlock

25

Multiplexado

• Multiplexado – Upward multiplexing

• políticas de precios en las conexiones de red

• varias conexiones de transporte sobre una de red

– Downward multiplexing• enlaces rápidos pero la ventana limita

• una conexión de transporte abre varias conexiones de red y reparte la carga

26

Multiplexado:Upward y downward

27

Recuperación de caídas

• Recuperación frente a problemas– Caídas de la red

• con circuitos virtuales vs. datagramas

– Caídas en las máquinas de los extremos• No se puede hacer transparente a las capas

superiores

• Existen casos donde se pueden duplicar o perder según las políticas del transmisor y el receptor

28

Caídas en las máquinasSegún estrategia del servidor y el cliente

A - Ack, W - Write, C - Crash

29

Transmission Control Protocol TCP

• Objetivo: Flujo confiable de bytes sobre una red no confiable– Diferentes tecnologías 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 envía en paquetes IP

• El receptor lo reensambla

30

Modelo de servicio de TCP

• Conexión entre 2 sockets• Identificación de los sockets formada por

dirección 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

31

TCP

• Las conexiones TCP son un flujo de bytes, no de mensajes (capas superiores)

• Puede esperar para enviarlo según su política de buffer (Pero existe push)

• También datos urgentes. (Ejemplo ^C)

32

Mensajes y bytes

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

33

Protocolo TCP

• Número de secuencia de 32 bits

• Unidad de datos = Segmento

• Encabezado de de 20 bytes

• Máximo del segmento– carga del paquete IP 64 Kbytes– MTU de la red. Típico 1500 bytes

• Usa protocolo de ventanas deslizantes de tamaño de ventana variable

34

Problemas con los segmentos

• Pérdidas de segmentos por rutas congestionadas o enlaces caídos

• Segmentos llegan fuera de orden

• Segmentos se duplican por retardos que obligan a la retransmisión

35

Encabezado TCP

36

Pseudo-encabezado para cálculo del checksum

37

Opciones

• Escala de la ventana.

• Repetición selectiva (nak)

38

Manejo de conexiones

39

• Estados de la conexión

40

Significado de los estados

41

Política de transmisión en TCP

• El que recibe informa sobre el tamaño de la ventana (tamaño de buffer disponible)

• Ventana 0 y siguiente anuncio se pierde• bloqueo

• urgentes y prueba para reanuncio de ventana

• Posibilidad de retardar el envío (hasta 500 ms) para esperar a llenar ventana del receptor

42

Manejo de ventana en TCP

43

Problemas de performance

• Algoritmo de Nagle• esperar el ack del primer byte y luego bufferear

• se puede enviar también cuando se llena media ventana o el tamaño máximo del segmento

• Malo en aplicaciones tipo X-Windows (mouse)

• Síndrome de la ventana tonta• Aviso de ventana de 1 byte

• Clark: No avisar disponibilidad de ventana hasta segmento máximo o mitad del buffer libre

44

Ventana tonta

45

Control de congestión en TCP

• Hipótesis: las pérdidas de paquetes son por congestión (los enlaces son buenos ahora)

• Ventana de congestión• Comienza con la mitad del tamaño máximo de

segmento (64Kbytes) como umbral

• Aumenta duplicando tamaño desde un segmento a cada ACK (slow start !)

• A partir del umbral sigue lineal

• Pérdida o ICMP Source Quench: nivel a la mitad de la ventana y ventana 1 segmento.

46

Control de flujo y congestión

47

Ventana de congestión

48

Gestión de temporizadores• Varios temporizadores

– el más importante es el de retransmisión

• Jacobson:– RTT = RTT + ( 1 - ) M = 7/8

– D = D + ( 1 - ) |RTT - M|

– Timeout = RTT + 4 * D

• Karn:– No calcular sobre retransmisiones

– Se duplica el timeout a cada pérdida.

• Otros: persistencia, mantener vivo, espera al cerrar

49

Dispersión de retardosen capa de enlace y de transporte

50

UDP

• UDP no orientado a conexión• Básicamente es un paquete IP con un encabezado

mínimo de capa de transporte

top related