capa de transporte

Post on 29-Jun-2015

837 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

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.

2

Relación entre capas

3

Anidado de TPDU

4

Calidad de servicio

La capa de transporte debe mejorar la QoS de la subred

Posibles parámetros de QoS

Negociación de opciones

5

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:

6

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

7

Primitivas con Berkeley sockets

8

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

10

Diferencias:

• Direccionamiento

•Complejidad en el establecimiento de conexión

• Capacidad de almacenamiento en la red

• Diferencias de retardos

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)

11

Direcciones: TSAP NSAP

12

Servidor de procesos

13

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

14

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

15

Números de secuenciaZona prohibida

16

Establecimiento en 3 fases

17

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

18

Desconexión con pérdida de información

19

Problema de los dos ejércitos

20

Diferentes escenarios de corte

21

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.

22

Diferentes políticas de manejo de buffers

23

Posible deadlock

24

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

25

Multiplexado:Upward y downward

26

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

27

Caídas en las máquinasSegún 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 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

29

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

30

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)

31

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

32

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

33

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

34

Encabezado TCP

35

Pseudo-encabezado para cálculo del checksum

36

Opciones

Escala de la ventana. Repetición selectiva (nak)

37

Manejo de conexiones

38

Estados de la conexión

39

Significado de los estados

40

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

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

43

Ventana tonta

44

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.

45

Control de flujo y congestión

46

Ventana de congestión

47

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

48

Dispersión de retardosen capa de enlace y de transporte

49

UDP

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

encabezado mínimo de capa de transporte

50

top related