tema2v5

31
Aspectos avanzados de la capa de transporte 1 Capítulo 2 Aspectos avanzados de la capa de transporte Departamento de Tecnología Electrónica Algunas de las transparencias tienen copyright: Redes de computadoras: Un enfoque descendente 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, Abril 2009.

Upload: juan-antonio-torres

Post on 12-Dec-2015

214 views

Category:

Documents


2 download

DESCRIPTION

Tema2v5

TRANSCRIPT

Aspectos avanzados de la capa de transporte

1

Capítulo 2Aspectos avanzados de la capa de transporte

Departamento deTecnología Electrónica

Algunas de las transparencias tienen copyright:

Redes de computadoras: Un enfoque descendente

5th edition. Jim Kurose, Keith RossAddison-Wesley, Abril 2009.

Aspectos avanzados de la capa de transporte

2

Capítulo 2. Índice

2.1 Servicios de la capa de transporte

2.2 Transporte orientado a conexión: TCP

2.3 Principios del control de la congestión

2.4 Control de la congestión en TCP

2.5 Stream Control Transmission Protocol, SCTP

Aspectos avanzados de la capa de transporte

3

Capítulo 2. Índice

2.1 Servicios de la capa de transporte

2.2 Transporte orientado a conexión: TCP

2.3 Principios del control de la congestión

2.4 Control de la congestión en TCP

2.5 Stream Control Transmission Protocol, SCTP

Aspectos avanzados de la capa de transporte

4

Servicios de transporte y sus protocolos

Proporcionan comunicación lógica entre los procesos de aplicación que corren en diferentes hosts

Los protocolos de transporte tienen lugar en los extremos de la comunicación Se dividen los mensajes de la aplicación en segmentos,

que se pasan a la capa de red

RedHost A Host B

Aspectos avanzados de la capa de transporte

5

Protocolos de internet de la capa de transporte Existe más de un protocolo de transporte

disponible para las aplicaciones Internet: TCP y UDP

FTP HTTP SMTP DNS TFTP

TCP UDP

IP

Capa de enlace (LLC y MAC)

Capa física

Aplicación

Transporte

Red

Aspectos avanzados de la capa de transporte

6

Existe más de un protocolo de transporte disponible para las aplicaciones Internet: TCP y

UDP

TCP UDP

Orientado a conexión

No orientado a conexión

Fiable No fiable

Agrupación en segmentos

Mensajes sin fragmentar

Rx ordena los segmentos

Datagrama de usuario

ACKs y temporizadores

Sin ACKs

Control de flujo Sin control de flujo

Control de la congestión

Sin control de la congestión

Protocolos de internet de la capa de transporte

Aspectos avanzados de la capa de transporte

7

Puerto: identifica la aplicación Números de puerto:

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

Protocolo de aplicación

Números de puerto Protocolo de transporte

FTP 20, 21 TCP

Telnet 23 TCP

SMTP 25 TCP

DNS 53 UDP (TCP (*))

TFTP 69 UDP

HTTP 80 TCP

POP3 110 TCP

RIP 520 UDP

Protocolos de internet de la capa de transporte

Aspectos avanzados de la capa de transporte

8

Capítulo 2. Índice

2.1 Servicios de la capa de transporte

2.2 Transporte orientado a conexión: TCP

2.3 Principios del control de la congestión

2.4 Control de la congestión en TCP

2.5 Stream Control Transmission Protocol, SCTP

Aspectos avanzados de la capa de transporte

9

TCP: Características RFCs: 793, 1122, 1323, 2018, 2581

Comunicación full duplex: Flujo de datos

bidireccional en la misma conexión

MSS: maximum segment size

Orientado a conexión: handshaking

(intercambio de mensajes de control). Protocolo de inicio de conexión

Control de flujo: El tx no desborda al rx

Punto a punto: Un emisor, un receptor

fiable, flujo de datos ordenado: Sin “límite de mensaje”

Procesamiento en cadena o pipeline: Control del flujo y la

congestión en TCP mediante ventanas

Buffers de Tx y Rx

socketdoor

T C Psend buffer

T C Preceive buffer

socketdoor

segm ent

applicationwrites data

applicationreads data

Aspectos avanzados de la capa de transporte

10

Estructura segmentoTCP

Puerto fuente Puerto dest

32 bits

Datos de la aplicación (longitud variable)

Nº secuencia

Nº ACKVentana

Puntero urgentechecksum

FSRPAULongcab

Sinuso

Opciones (longitud variable)

URG: datos urgentes

ACK: nºACKválido

PSH: para pasar datos a la aplicación

urgentemente RST, SYN, FIN:

Establecimiento de la conexión

(reinicio, establecimiento y

fin)

Nº bytes que el rx puede aceptar

Cuenta de los datos por bytes(no por segmentos)

checksum(como en UDP)

Aspectos avanzados de la capa de transporte

11

Nº de secuencia TCP y ACKsHost A Host B

Seq=M, SYN=1

Seq=N, ACK=M+1, SYN=1

Seq=M+1, ACK=N+1

El cliente empieza la

apertura activa

El cliente confirma la apertura del

servidor

El servidor está en apertura pasiva,

empieza conexión y confirma la apertura

del cliente

tiempoConexión

establecida

Aspectos avanzados de la capa de transporte

12

Capítulo 2. Índice

2.1 Servicios de la capa de transporte

2.2 Transporte orientado a conexión: TCP

2.3 Principios del control de la congestión

2.4 Control de la congestión en TCP

2.5 Stream Control Transmission Protocol, SCTP

Aspectos avanzados de la capa de transporte

13

Principios del control de la congestión

Congestión: informalmente: “demasiados emisores enviado

demasiados datos demasiado rápido para que la red los gestione”

diferente del control de flujo Señales de congestión:

Paquetes perdidos (desbordamiento de los buffers de los routers)

retrasos (debidos a las colas en los buffers de los routers)

Aspectos avanzados de la capa de transporte

14

Causas/costes de la congestión

Dos tx: IN = Tasa de

envío OUT = Tasa de

recepción C= capacidad del

router

Teoría de colas Grandes retrasos cuando hay congestión

Existe un máximo de tasa de transferencia

unlimited shared output link buffers

Host Ain : original data

Host B

out

Aspectos avanzados de la capa de transporte

15

Suposición: El tx retransmite los paquetes perdidos Ahora, no se tx IN, sino una tasa mayor IN’ “Costes” de la congestión:

mayor trabajo (retx) que para un caso ideal retransmisiones innecesarias: un enlace puede llevar múltiples copias de

un paquete

Causas/costes de la congestión:

unlimited shared output link buffers

Host Ain : original data

Host B

out

Aspectos avanzados de la capa de transporte

16

Causas/costes de la congestión Dos tx con el mismo destino Suposición: congestión en el router entre A y el destino Otro “coste” de la congestión:

Cuando un paquete se descarta en la ruta, la capacidad empleada en cualquier ruta atravesada anteriormente, se desperdicia

finite shared output link buffers

Host Ain : original data

Host B

out

'in : original data, plus retransmitted data

Aspectos avanzados de la capa de transporte

17

Causas/costes de la congestión Resumen de costes de la congestión

Grandes retrasos cuando la tasa de entrada a un router se acerca a la capacidad del enlace.

El tx debe retx los segmentos perdidos por el desbordamiento del router.

Se usa un BW innecesario por la retx de copias duplicadas de segmentos (por los retrasos)

La capacidad de los routers usados previamente se desperdicia cuando se descarta un paquete

Aspectos avanzados de la capa de transporte

18

Aproximaciones al control de la congestión

Control de la congestión terminal a terminal:

Sin soporte explícito a la capa de transporte

La congestión se detecta por la pérdida de paquetes o los retardos

Un ejemplo es TCP

Control de la congestión asistido por la red:

Los routers proporcionan realimentación explícita a la red Ej: un bit indica la

congestión

Dos posibles aproximaciones al control de la congestión:

Aspectos avanzados de la capa de transporte

19

Capítulo 2. Índice

2.1 Servicios de la capa de transporte

2.2 Transporte orientado a conexión: TCP

2.3 Principios del control de la congestión

2.4 Control de la congestión en TCP

2.5 Stream Control Transmission Protocol, SCTP

Aspectos avanzados de la capa de transporte

20

Control de la congestión en TCP

El emisor limita la transmisión:

ÚltimoByteEnviado-ÚltimoByteAck CongWin

¿Cómo percibe el tx la congestión? Suceso de pérdida =

timeout o 3 acks duplicados

El tx TCP reduce la velocidad (CongWin) tras el suceso de pérdida

Host A

tim

eout

Host B

time

X

resend 2nd segment

Host A

Seq=92, 8 bytes data

ACK=100

loss

tim

eout

Escenario de pérdida de

ACK

Host B

XSeq=92, 8 bytes data

ACK=

100

timeReenvío de un

segmento tras tres ACKs duplicados

Aspectos avanzados de la capa de transporte

21

Control de la congestión TCP: crecimiento aditivo, decrecimiento multiplicativo (AIMD)

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

Resumen: incrementar la tasa de transmisión (tamaño de ventana), sondeando el BW hasta que ocurra una pérdida Crecimiento aditivo: se incrementa CongWin en 1 MSS

cada RTT hasta que se detecta una pérdida Decrecimiento multiplicativo: se divide CongWin por la

mitad tras una pérdida

timecong

estio

n w

indo

w s

ize

Comportamiento en diente de sierra: sondeo

de BW

Aspectos avanzados de la capa de transporte

22

Control de la congestión TCP: detalles

A grandes rasgos,

Cuando empieza la conexión, CongWin = 1 MSS Ejemplo: MSS = 500 bytes & RTT =

200 ms Velocidad inicial = 20 kbps

Tres fases: Arranque lento (slow

start, SS) Evasión de la

congestión (Congestion avoidance, CA): ej: AIMD

Recuperación rápida (Fast recovery, FR)

Las dos primeras son obligatorias en TCP, mientras que la última es recomendable

velocidad = CongWin

RTT Bytes/sec

Aspectos avanzados de la capa de transporte

23

Arranque lento TCP

El BW disponible debe ser >> MSS/RTT

Cuando comienza la conexión, la tasa crece exponentialmente hasta el primer suceso de pérdida

La velocidad inicial es lenta pero crece rápidamente de forma exponencial

Host A

one segment

RTT

Host B

time

two segments

four segments

Aspectos avanzados de la capa de transporte

24

Evasión de la congestión, CA Tras 3 ACKs duplicados:

CongWin se divide por 2 La ventana empieza a crecer

linealmente

Sin embargo, tras un fin de temporización: CongWin se pone 1 MSS; La ventana crece exponencialmente Hasta un umbral, luego crece linealmente

3 ACKs duplicados indican que la red es capaz de entregar algunos segmentos

El fin de temporización indica un escenario de congestión “más alarmante”

Filosofía:

Aspectos avanzados de la capa de transporte

25

Resumen: Control de la congestión TCP Cuando CongWin está por debajo del Umbral, el tx está en la

fase de arranque lento; la ventana crece exponencialmente.

Cuando CongWin está por encima del Umbral, el tx está en la fase de evasión de la congestión; la ventana crece linealmente.

Cuando ocurren tres ACKs duplicados, el Umbral se pone a CongWin/2 y CongWin se pone a Umbral.

Cuando ocurre un fin de temporización, Umbral se pone a CongWin/2 y CongWin se pone a 1 MSS.

Nota: La versión de TCP utilizada hace variar la forma en la que se aplica el control de la congestión. TCP Tahoe, p.e., siempre reduce la ventana de congestión al valor incial tras un evento de pérdida, mientras que en TCP Reno se aplican todas las fases de la congestión.

Aspectos avanzados de la capa de transporte

26

Capítulo 2. Índice

2.1 Servicios de la capa de transporte

2.2 Transporte orientado a conexión: TCP

2.3 Principios del control de la congestión

2.4 Control de la congestión en TCP

2.5 Stream Control Transmission Protocol, SCTP

Aspectos avanzados de la capa de transporte

27

Limitaciones deTCP y UDP Limitaciones de TCP:

TCP mantiene un orden estricto: el head-of-line blocking puede ser un problema (se bloquea el flujo de datos hasta que se recupere el segmento perdido)

TCP está orientado a byte: se debe usar PSH para asegurarse de que los datos van a la aplicación

Sin multi-homing Relativamente vulnerable a algunos ataques

(SYN flooding)

Limitaciones de UDP No fiable Sin orden de datos Sin control de congestión

Solución: SCTP

Aspectos avanzados de la capa de transporte

28

Stream Control Transport Protocol SCTP

Stream Control Transport Protocol, RFC 2960 Inicialmente creado por el grupo SIGTRAN para la RTC

Mejoras de SCTP Soporta Multi-homing: redundancia & flujo eficiente Flujo de datos múltiple en una sola asociación:

soluciona el problema del head-of-line blocking de TCP

RED IP

Host A Host BAplicación 1

Puerto SCTP = 100

-------------------------------- OS

Aplicación 2Puerto SCTP = 200

-------------------------------- OS

NI-1 NI-3NI-2 NI

IP3 = 10.1.61.11

IP2 = 160.15.82.20

IP1 = 161.10.8.221

IP = 128.33.6.12

Aspectos avanzados de la capa de transporte

29

Características de SCTP Características de SCTP

Orientado a conexión Conceptos

• Extremos (endpoints): un endpoint SCTP es una lista de direcciones en el mismo puerto

• Asociación posibilidad de múltiples IPs• {[160.15.82.20, 161.10.8.221, 10.1.61.11:100]}:

[128.33.6.12:200]} (dos endpoints, una asociación – Figura -)

RED IP

Host A Host BAplicación 1

Puerto SCTP = 100

-------------------------------- OS

Aplicación 2Puerto SCTP = 200

-------------------------------- OS

NI-1 NI-3NI-2 NI

IP3 = 10.1.61.11

IP2 = 160.15.82.20

IP1 = 161.10.8.221

IP = 128.33.6.12

Aspectos avanzados de la capa de transporte

30

Cabecera SCTP

Cabecera SCTP Las primeras palabras de 32 bits Cabecera SCTP

común (similar a la cabecera UDP) Etiqueta de verificación (verification tag): distingue

entre asociaciones; previene de ataques Chunks: bloques de datos

Aspectos avanzados de la capa de transporte

31

Cabecera SCTP Chunks SCTP

Bloques con una longitud múltiplo de 32 bits Diferentes tipos

• Control (e.g., INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK – four-way handshake -)

• Datos (ej: DATA)