+ All Categories
Home > Documents > I. ARQUITECTURA TCP/IP -...

I. ARQUITECTURA TCP/IP -...

Date post: 26-Dec-2018
Category:
Upload: vuongdiep
View: 220 times
Download: 0 times
Share this document with a friend
82
ARQUITECTURA Y SERVICIOS DE INTERNET © Fco. Javier Yágüez García 1 I. ARQUITECTURA TCP/IP 1. Protocolo IPv6 (ICMPv6) 2. IP móvil en IPv4 e IPv6 3. Transición de IPv4 a IPv6 4. Encaminamiento dinámico de unidifusión y MPLS 5. Multidifusión IP 6. Encaminamiento dinámico de multidifusión 7. TCP: Servicios opcionales (confirmación selectiva o SACK) y control de la congestión UDP: Servicio no orientado a conexión para transmisiones multimedia en tiempo real 8. Parámetros de calidad de servicio, modelos de calidad de servicio y multimedia en tiempo real (RTP y VoIP) II. SERVICIOS Y TECNOLOGÍAS DE SEGURIDAD EN INTERNET 1. Amenazas, servicios y mecanismos de seguridad 2. Seguridad Web y correo electrónico 3. Protección de las comunicaciones: Intranets y Redes privadas virtuales ARQUITECTURA DE REDES DE COMUNICACIONES ÍNDICE TEMÁTICO
Transcript
Page 1: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

1

I. ARQUITECTURA TCP/IP1. Protocolo IPv6 (ICMPv6)2. IP móvil en IPv4 e IPv63. Transición de IPv4 a IPv64. Encaminamiento dinámico de unidifusión y MPLS5. Multidifusión IP6. Encaminamiento dinámico de multidifusión7. TCP: Servicios opcionales (confirmación selectiva o SACK)

y control de la congestiónUDP: Servicio no orientado a conexión para transmisiones multimediaen tiempo real

8. Parámetros de calidad de servicio, modelos de calidad de servicioy multimedia en tiempo real (RTP y VoIP)

II. SERVICIOS Y TECNOLOGÍAS DE SEGURIDAD EN INTERNET1. Amenazas, servicios y mecanismos de seguridad2. Seguridad Web y correo electrónico3. Protección de las comunicaciones: Intranets y Redes privadas virtuales

ARQUITECTURA DE REDES DE COMUNICACIONESÍNDICE TEMÁTICO

Page 2: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

2222

TRANSPARENCIAShttp://halley.ls.fi.upm.es/~jyaguez/libros.html

PROBLEMAShttp://halley.ls.fi.upm.es/~jyaguez/examenes.html

Arquitectura de Redes de Comunicaciones

Documentación: Tema I, Capítulo 7http://pegaso.ls.fi.upm.es/arquitectura_redes/index2.html

material

•TCP/IP Tutorial and Technical Overview, Lydia Parziale, David T. Britt ,… 8ª edición (Diciembre 2006).

Redbooks: http://www.redbooks.ibm.com/portals/solutionsLibro descargable desde Internet)

.Los RFCs que se indiquen

Page 3: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

3

LOS RFC de TCP

RFC-793 Transmission Control Protocol, Darpa InternetProgram Protocol Specification, septiembre 1981

RFC-1323 TCP Extensions for High Performance, 1992Aumento de la ventana de recepción hasta 32 bits

RFC-2018 TCP Selective Acknowledgment Option, 1996Confirmación selectiva

RFC-5681 TCP Congestion Control, 1999Algoritmos para control de congestión:

• Comienzo lento (Slow Start)• Prevención de congestión (Congestion Avoidance)• Retransmisión rápida (Fast Retransmit)• Recuperación rápida (Fast Recovery)

RCF-3782 The New Reno Modification to TCP's Fast RecoveryAlgorithm, 1999

http://www.rfc-editor.org/rfcsearch.html

Page 4: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

4

NIVELES SUPERIORES TCP/IP

EXTREMO A EXTREMO

EXTREMO A EXTREMO

INTERFAZ DERED

APLICACIÓN

IP

TCP/UDP

INTERFAZ DE RED

IP

INTERFAZ DE RED

ROUTER(SISTEMA INTERMEDIO)

INTERFAZ DERED

APLICACIÓN

IP

TCP/UDP

INTERFAZ DE RED

IP

INTERFAZ DE RED

NIVELESSUPERIORES

NIVELESINFERIORES

NIVELESSUPERIORES

NIVELESINFERIORES

SISTEMA FINAL SISTEMA FINAL

ROUTER(SISTEMA INTERMEDIO)

Ethernet WiFi

4

Las unidades de datos del protocolo TCP (“PDUs TCP”) se denominan segmentos TCP

Page 5: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

5

NIVEL DE TRANSPORTEPROTOCOLO TCP (Transmission Control Protocol)

SERVICIOS OPCIONALES (SACK) Y CONTROL DE LA CONGESTIÓN

INTERFAZ DERED

APLICACIÓN

IP

TCP

INTERFAZ DERED

APLICACIÓN

IP

TCP

INTERFAZ DE RED

IP

INTERFAZ DE RED

INTERFAZ DE RED

IP

INTERFAZ DE RED

ORIENTADO A LA CONEXIÓN(control de errores y flujo) y CONGESTIÓN

SISTEMA FINALCONTROLES

EXTREMO A EXTREMO

…Ethernet Ethernet

SISTEMA FINAL

ROUTER ROUTER

TCP aparte ofrece como servicios básicos: Un servicio de flujo de octetos, orientado a la conexión, multiplexado y dúplex

Page 6: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Control de Errores TCP Equivalente al control de errores en el nivel de enlaceCon la diferencia de que TCP CONTROLA OCTETOS DE

DATOS PERDIDOS, DESORDENADOS Y DUPLICADOS yNO las unidades de datos o segmentos TCP que transportandichos octetos de datos

Los segmentos de datos no se numeran sólo los octetos dedatos

CADA OCTETO DE DATOS DISPONE DE UN NÚMERODE SECUENCIA

A su vez, el CAMPO DE DATOS o los OCTETOS DE DATOSde cada segmento de información tiene asociadoUna confirmaciónUn temporizador de espera de confirmación

• Al vencimiento sin confirmación se produce unaretransmisión

6

RECORDATORIO

Page 7: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Filosofía Operativa TCP

Todo proceso de aplicación montado sobre TCPse despreocupa de delimitar sus mensajes

TCP trata los mensajes , pasados por el procesode aplicación, como un flujo o “chorro” deoctetos (byte-stream) que recoge, numera,almacena y agrupa en segmentos en función dela MTU de salida

Por esta razón, TCP no numera los segmentossino los octetos de datos transmitidos

A su vez, las confirmaciones, por parte de laentidad receptora TCP, reconocen octetos dedatos correctamente recibidos y no segmentosrecibidos 7

RECORDATORIO

Page 8: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Control de Flujo TCP

Equivalente al control de flujo en el nivel de enlaceMECANISMO DE VENTANA DESLIZANTE

• WT y WR

Con la diferencia de que TCP SÓLO DISPONE DEUN• BUFFER DE TRANSMISIÓN en donde

almacena una copia de los octetos de datosenviados y no confirmados

• BUFFER DE RECEPCIÓN en donde almacenalos octetos de datos que, en un momento dado, elreceptor puede aceptar en función de su númerode secuencia

8

RECORDATORIO

Page 9: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

RED 1 RED 2

RED de Acceso

IP

R

R21 R22

R31 R32

A

RED de Acceso

“P”cliente

IP

TCP

A21

A31

B

RED de Acceso

“P”servidor

IP

TCP

(RECEPTOR)

B22

B32

1 Miguel hola

11 un

13

Miguel(EMISOR)

Javier

Miguel hola un saludo DATOS DE USUARIO

Miguel

1 Miguel

Protocolo de Aplicación “P”

un

Usuariode Destino(CABECERA)

hola Miguel hola

Protocolo de Transporte TCP

R21 1 Miguel holaB32

B32

B32

R21R21Destino

unDATOS DE USUARIO

holaDATOS DE USUARIO

hola

holaSegmenta y numera los octetos

13

11 un

13 B22 1 Miguel holaB32

B32B22Destino

B32B22 13

saludo

saludo

saludo

1 5 7Numeración TCP de los octetos del mensaje

1 Miguel holaB32B32

B32Destino11 un

13 saludo

saludo

11 un

saludo

1 Miguel holaB32

B32Destino

B32 13

11 un

saludo

11 un

saludo

un saludo

un saludo

2 3 4 1011 128 96 13141516 1718

Usuariode Destino(CABECERA)

CABECERAAPLICACIÓN

ok!

UN EJEMPLO DEL CONTROL DE ERRORES TCP

9

Page 10: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

10

TRANSFERENCIAS DE FLUJO DE OCTETOS (BYTE-STREAM): Entidad TCPemisora recoge, numera, almacena y agrupa los octetos de datos o carga útil (recibidos delproceso de aplicación) en segmentos, calculando el MSS (Maximum Segment Size) para quelos datagramas IP se correspondan con la MTU de la red de acceso

ORIENTADO A LA CONEXIÓN (conexión pareja de sockets) Control de errores (Fiabilidad):

Lógicos (octetos de datos perdidos, desordenados y duplicados): temporizadores(campo de datos de cada segmento de información tiene asociado un temporizador yal vencimiento sin confirmación se produce una retransmisión), números desecuencia (octeto de datos =número de secuencia), confirmaciones (campo de datosde cada segmento de información tiene asociado una confirmación)

Físicos (detección: suma de comprobación y corrección: temporizadores yretransmisión)

Control de flujo: Mecanismo de ventana deslizante ejercido por el receptor sobreel emisor para evitar que éste desborde el buffer del receptor

MULTIPLEXADO o simultáneo a través de los números de puerto TRANSFERENCIAS SIMÚLTÁNEAS EN LOS DOS SENTIDOS (full-dúplex) CONTROL DE LA CONGESTIÓN (en Internet): Mecanismo de ventana

ejercido por el emisor sobre sí mismo para evitar agravar una CONGESTIÓNen INTERNET o seguir desbordando el buffer de recepción IP de un router

Protocolo TCP (Transmission Control Protocol): Servicios

Page 11: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

11

Tres Tipos de Ventanas en TCP Diferenciar las ventanas del control de flujo

TCP y la ventana del control de la congestiónTCP Toda entidad TCP dispone de una WT

(ventana de transmisión), WR (ventana derecepción) y de una WC (ventana decongestión)Toda entidad TCP emisora dispone de una

WT (ventana de transmisión) y de una WC(ventana de congestión)Toda entidad TCP receptora dispone de

una WR (ventana de recepción)

Page 12: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

12

El Control de Flujo y la Ventana de Recepción

El control de flujo lo ejerce la entidad TCP receptora a travésde su WR para evitar que la entidad TCP emisora desborde elbuffer de dicha entidad TCP receptora

WR garantiza que no se inunde al receptor, ejerciendo uncontrol de flujo sobre el emisor

WR controla la numeración de los octetos de datos que puedeenviar, en un momento dado, el emisor en función delnúmero de octetos libres que, en un momento dado, se puedenalmacenar en el buffer de recepción de la entidad TCPreceptora

WR se corresponde con una lista de números de secuencia deoctetos de datos que, en un momento dado, el receptor puedeaceptar y almacenar en su buffer de recepción

WT va variando puntualmente en fase de transferencia dedatos en función de la WR del otro extremo

RECORDATORIO

Page 13: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

13

El Control de la Congestión y la Ventana de Congestión El control de la congestión lo ejerce la entidad TCP emisora

sobre sí misma a través de su WC para evitar que dichaentidad TCP emisora siga desbordando el buffer de unaentidad intermedia IP en un router de Internet

El control de congestión permite que la entidad TCP emisorabaje el ritmo de transmisión cuando ocurre un desbordamientoen el buffer de un router

WC garantiza que no se siga inundando a un router,ejerciendo un control de transmisión en el emisor

WC indica el número de segmentos que puede enviar, en unmomento dado, en función de la congestión en Internet y secalcula mediante un mecanismo o ALGORITMOADAPTATIVO a partir de una retransmisión (por “timeout”o pérdida de un segmento de datos y/o confirmación)

WC actúa simultáneamente y en paralelo a WR

Page 14: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

14

La Transferencia de Datos y la Ventana de Transmisión WT controla la numeración de los octetos de datos (enviados y no

confirmados) almacenados en el buffer de transmisión WT se corresponde con una lista de números de secuencia de

octetos de datos que, en un momento dado, el emisor ha enviado sinhaber recibido confirmación A medida que van llegando las confirmaciones, se DESACTIVAN los

temporizadores asociados y se va LIBERANDO espacio en el buffer detransmisión para dejar sitio a nuevas copias de otros octetos de datos que se deseantransmitir

El tamaño de WT viene determinado por la capacidad delreceptor y la capacidad de la red Espacio disponible en el buffer de recepción de la entidad TCP receptora Espacio disponible en los buffers de recepción IP de los routers intermedios entre el

origen y el destino

WT = min (WR , WC ) En cada momento, el emisor tomará en consideración la más pequeña de

las dos ventanas para asegurarse de que no desborda al receptor ni provoca, o contribuye a agravar, una situación de congestión en la red

Page 15: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

15

Aplicación

TCP

IP

A

EnvíoBuffer

de Transmisión(Ventana de Transmisión)

RecepciónBuffer

de Recepción(Ventana de Recepción)

Aplicación

TCP

IP

B

EnvíoBuffer

de Transmisión(Ventana de Transmisión)

RecepciónBuffer

de Recepción(Ventana de Recepción)

Primer octeto Segundo octeto Tercer octeto

Nº SEC = n Nº SEC = n+1 Nº SEC = n+2

...

BUFFER DE RECEPCIÓN

Octetos de datos procedentesde la entidad TCP emisora se recogen,y almacenan en el buffer de recepción

Cuando se llena el buffer, se entregan al proceso de aplicación

Ventana deslizante de recepción:Números de secuencia de los octetos de

datos que en un momentodado el receptor puede aceptar y almacenar

Control de los números del buffer

VENTANA DE RECEPCIÓN: Control de Flujo sin Congestión en la Red

Control de flujo: Mecanismo de ventana deslizante ejercido por el receptor sobre el emisorMientras no haya un congestión en la red, se lleva a cabo un control de flujo ejercido por WR

Page 16: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

16

VENTANA DE TRANSMISIÓN: Control de Flujo Sin Congestión en la Red

Aplicación

TCP

IP

A

EnvíoBuffer

de Transmisión(Ventana de Transmisión)

RecepciónBuffer

de Recepción(Ventana de Recepción)

Aplicación

TCP

IP

B

EnvíoBuffer

de Transmisión(Ventana de Transmisión)

RecepciónBuffer

de Recepción(Ventana de Recepción)

Primer octeto Segundo octeto Tercer octeto

Nº SEC = n Nº SEC = n+1 Nº SEC = n+2

...

BUFFER DE TRANSMISIÓN

Cuando se llena el buffer, se van tomando trozos agrupándolos por segmentos y añadiéndoles una cabecera

Ventana deslizante de transmisión:Números de secuencia de los octetos de

datos que en un momentodado el emisor ha enviado sin haber

recibido confirmación

Control de los números del buffer

Octetos de datos procedentesdel proceso de aplicación

se recogen, numeran, almacenan y agrupan

en el buffer de transmisión

Mientras no haya un congestión en la red, la WT se ajusta en función de WR

Page 17: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

17

PROTOCOLO TCP Formato de un Segmento TCP

CABECERA DATOS (Variable)

Maximum Segment Size (MSS) = Carga Útil = = SDU del Nivel de Aplicación = 1024 octetos (típico MSS)

Primer octeto Segundo octeto Tercer octeto

Nº SEC = n Nº SEC = n+1 Nº SEC = n+2

...

BUFFER DE TRANSMISIÓN

Octetos de datos procedentesdel proceso de aplicación

se recogen, numeran,y almacenan

en el buffer de transmisión

Cuando se llena el buffer, se van tomando trozos agrupándolos por segmentos y añadiéndoles una cabecera

Se calcula un MSS de tal forma que los datagramas IP

resultantes se correspondancon la MTU de la red de acceso

17

20 octetossin opciones

MSS = MTU - cabecera IP - cabecera TCP

Page 18: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

18

0 10 10 1232-1

0 1

INICIALMENTEDESPUÉS DE

ENVIAR 2 OCTETOS

DESPUÉS DE ENVIAR 2 OCTETOS

SIN RECIBIR ACKDESPUÉS DE RECIBIR ACK

WT =

WR =

0 1

0 1

2

0 12

3

0 12

3

INICIALMENTE DESPUÉS DE RECIBIR 2 OCTETOS

DESPUÉS DE RECIBIR 2 OCTETOSY PASARLOS AL NIVEL DE APLICACIÓN

Límite inferior de WT== primer octeto de datos

Nuevo límite inferior al girar WT

Se guarda copia en el buffer de recepción de los dos octetos (0 y 1)

Se gira WR para los próximos 2 nuevos octetos (2 y 3)

Se reserva espacioen el buffer de recepción

para los octetos 0 y 1

232-1 232-1 232-1

232-1 232-1 232-1 232-1

Se guarda copia en el buffer de transmisión de los dos octetos (0 y 1)

2 octetos

2 octetos

UN EJEMPLO SENCILLO DE VENTANA DESLIZANTE DE TRANSMISIÓN Y RECEPCIÓN (2 octetos) SIN CONTROL

DE LA CONGESTIÓN (WT depende sólo de WR)

Page 19: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

19

WR inicial = Tamaño máximo del propio buffer de recepción Posteriormente, en fase de transferencia de datos, WR va variando puntualmente en

función de los octetos libres de su buffer de recepción Se pasan datos al proceso de aplicación cuando se llena el buffer de

recepción Salvo que el bit PSH (Push) =1

Se gira WR (límites inferior y superior) cuando se pasan datosal proceso de aplicación (al llenarse el buffer de recepción)

Límite inferior de WR = Primer octeto de datos que se espera recibir despuésdel último octeto pasado al proceso de aplicación

WT inicial = WR inicial del otro extremo (tamaño máximo del buffer derecepción del otro extremo) WT va variando, WT ≤ WR , en fase de transferencia de datos en función

de la WR del otro extremo Se gira WT (límites inferior y superior) cuando se recibe confirmación de

todos los octetos comprendidos entre el límite inferior y superior de WT

Sincronización de WR y WT para un Correcto Control de Flujo

19

Page 20: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

20

Formato de un Segmento TCP

CABECERATCP

Mínima por Omisión

=20 octetosMáxima=60 octetos

PUERTO ORIGEN PUERTO DESTINO

NÚMERO DE SECUENCIA

NÚMERO DE CONFIRMACIÓN (ACK)

DESP RESERVADO URG ACK PSH RST SYN FIN VENTANA

SUMA DE COMPROBACIÓN PUNTERO DATOS URGENTES

OPCIONES RELLENO

DATOS (Variable)

0 15 16 31

Primer octeto del campo de datos

del segmento de informaciónque se va a enviar = Nº de secuencia = 32 bits = Módulo 232 = 0, 1, 2, …232-1, 0, 1, …, 232-1, 0, 1…

Primer octeto del campo de datos

del siguiente segmento de información

que se espera recibir(LOS OCTETOS ANTERIORES

ESTÁN CONFIRMADOS)

SYN=1 ACK=0 Solicitud conexiónSYN=1 ACK=1 Respuesta OK!

Cantidad de octetos libresque se pueden almacenaren el buffer de recepción

Ventana deslizante de recepción:Nº de octetos de datosque el emisor de esta

información puede manejar en función del tamaño puntual de su buffer de recepción =

= 0 octetos, 1 octeto, 2 octetos hasta 216-1 octetos (65535 octetos o 16 unos)

Page 21: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

21

DIRECCIÓN IP ORIGEN

LONGITUD DEL SEGMENTO TCP

DATOS (Variable)

0 15 16 31

PSEUDOCABECERATCP

CABECERA TCP

00000000 PROTOCOLO = 6

DIRECCIÓN IP DESTINO

8

PSEUDOCABECERA TCP

•La pseudocabecera se antepone a la cabecera TCP (al igual que en UDP),pero sólo a efectos de calcular el checksum, no se envía realmente

•Para no violar la jerarquía de cabeceras de protocolos puesto que lasdirecciones IP que contiene pertenecen al nivel IP

•Permite a la entidad TCP (al igual que a la entidad UDP) receptora detectarsegmentos TCP mal entregados, es decir, comprobar que su nivel IP no seha equivocado y le ha pasado un segmento TCP que era para otra máquinaaunque dicho segmento TCP esté libre de errores•El valor 6 (110 en binario) indica que el protocolo de transporte es TCP

Page 22: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

22

Formato de las Opciones TCPCampos de Información de Control de Longitud Variable para

Servicios AdicionalesRFC-793 y RFC-1323

8 bits 8 bits (variable)

TIPO LONGITUD DATOS OPCIÓN

Formato TLV: Tipo-Longitud-Valor (o Datos)

Longitud completa de la opción en octetos

(TIPO + LONGITUD + DATOS)

Page 23: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

23

Opciones TCP más RelevantesDescripción

TIPO LONGITUD(octetos)

DATOS Descripción

0 - - Fin de la Lista de Opciones

1 - - Sin operación

2 4 Valor MSS MSS

3 3 Tamaño de la Ventana

Escala de la Ventana

4 2 - SACK PERMITTED

(Fase de establecimiento)

5 Variable - SACK(Fase de transferencia

de datos)

8 10 Valor actual reloj emisor (4 octetos) +

Respuesta Eco (4 octetos)

Marca de Tiempo

… … … …

Page 24: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Fase de Establecimiento de una Conexión TCP Intercambio de 3 segmentos (con opción MSS)

TCP “B”TCP “A”

Aparte de indicar el tamaño máximo de WR ,permite negociar opciones y números de secuencia iniciales empleados en ambos extremos de la comunicación. Dichos números no

se reutilizarán durante un tiempo prudencial para evitar que los octetos de datos de segmentos de información retrasados de una conexión se confundan con los de otra nueva

Se confirman los números de secuencia, las WR y las

opciones deseadas (p.ej., MSS)

Page 25: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Fase de Establecimiento de una Conexión TCP Intercambio de 3 segmentos

Con VENTANA en “A” de 300 octetos y en “B” de 900 octetos

TCP “A” TCP “B”

Ventana inicial:• Control de flujo

impuesto por el receptor

• La determina el receptor al

establecer la conexión

Nº de secuencia que desea usar la entidad “A”

Tamaño máximo de VENTANA DE RECEPCIÓN

que desea “A”

Tamaño máximo de VENTANA DE RECEPCIÓN

que desea “B”

Page 26: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Ejemplo de Transferencia de Datos sin Errores

TCP “A” TCP “B”

Transmisión unidireccional de datos (de “A” a “B”) sin erroresy con VENTANA en “A” de 300 octetos y en “B” de 900 octetos

Page 27: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Ejemplo de Transferencia de Datos con Errores

time-out

time-out

TCP “A” TCP “B”“A” transmite 900 octetos agrupados en 3

segmentos pendientes de confirmación ”B” ante la llegada de

los 300 primeros octetos procede a

confirmarlos

No produce una retransmisión (retransmisión por “timeout”)

sino una desactivación del timer y una eliminación en el buffer de

transmisión de la copia de los 300 primeros octetos

“B” vuelve a confirmar los 300 primeros octetos (no CONF=903 porque se confirmarían los octetos

del 2º segmento)

No produce una retransmisión retransmisión=timeout) sino una desactivación de los timers y una

eliminación en el buffer de transmisión de la copia de los 300 octetos del

segundo y tercer segmento

Por omisión, mientras no se reciba el segmento

perdido, se sigue indicando, repetidamente

mediante CONFIRMACIONES

DUPLICADAS, que se está a la espera de sus octetos de datos, ante la llegada

correcta de cualquier otro segmento de datos no contiguo o sin errores

CONFIRMACIÓN DUPLICADA Ante la llegada correcta de bloques no

contiguos de octetos = NO PRODUCE NINGÚN EFECTO en el emisor de desactivación de timer y eliminación de la copia de octetos

porque se ha hecho antes

DETECCIÓN DE DUPLICACIÓN

Transmisión unidireccional de datos (de “A” a “B”) con errores (pérdidas de paquetes) y con VENTANA en “A” de 300 octetos y en “B” de 900 octetos

No producen ningún efecto

Page 28: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

28

CAMPO DE OPCIONES DE INFORMACIÓN DE CONTROL (LONGITUD VARIABLE DE HASTA 40 OCTETOS)

Se van incorporando poco a poco en las diferentes implementaciones de TCP SE ESPECIFICAN EN LA FASE DE ESTABLECIMIENTO DE LA CONEXIÓN (sólo en aquellos segmentos

de control con el bit SYN = 1) Tamaño Máximo de Segmento (MSS): Nº de octetos de la carga útil (campo de datos) que el receptor

(emisor de esta información) desea recibir para un procesado más óptimo de dicha carga. No confundir MSS conel tamaño del buffer de recepción

Factor de Escala de la Ventana: Permite ampliar el campo VENTANA Equivale a usar un máximo de ventana de 32 bits. Por omisión, el tamaño máximo de la ventana de recepción

es de 216-1 octetos (65.535 octetos). Se puede escalar hasta llegar a 232-1 octetos (4.294.967.295 octetos o unpoco más de 4,2GB)

Confirmación selectiva (SACK: Selective Acknowledgment): Permite informar al emisor de los octetosde datos de segmentos de información no contiguos que han sido recibidos correctamente y EVITARVENCIMIENTOS DE TEMPORIZADORES y RETRANSMISIONES INNECESARIAS, Implícitamente, indicaqué octetos de datos se han perdido o no han llegado todavía (“agujeros en los datos”)

Marca o sello de tiempo (Timestamp):

Permite al emisor configurar sus temporizadores mediante el cálculo del valor RTT (Round Trip Time):Tiempo de ida y vuelta desde que se envía un segmento de información hasta que se recibe su ACK

• Establecimiento de la conexión: El emisor puede enviar esta opción con SYN = 1, ACK = 0 y puedehacer uso de dicha opción en otros segmentos, siempre y cuando, haya recibido respuesta con:

SYN = 1, ACK = 1 Valor actual del reloj del emisor = valor monótamente creciente El eco es válido si el bit ACK = 1 en la cabecera del segmento El receptor devuelve el mismo valor (eco) en el ACK del segmento Asimismo, protege de errores de duplicación del NÚMERO DE SECUENCIA en conexiones de alta velocidad y, por

tanto, permite reconocer octetos distintos con el mismo número de secuencia en la misma conexión cuando losnúmeros de secuencia dan la vuelta (0, 1, 2, …, 232-1, 0, 1…) durante el tiempo de vida de dicha conexión

Tipo =8 Longitud = 10 Valor actual del reloj emisor Eco del valor actual del reloj emisor

28

Page 29: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

Gestión de temporizadores en TCP No es lo mismo que el destino esté ubicado en la misma Ethernet o WiFi que disperso

geográficamente por Internet La elección de valores adecuados es mucho más compleja en el nivel de transporte que

en el nivel de enlaceDiferencias en capacidad y retardo de unas conexiones TCP a otrasOscilaciones debidas a la presencia de routers y situaciones de congestión que están

fuera de su controlAún en situaciones de control, los routers pueden tener largas colas de datagramas IP

que atender, los enlaces pueden ser de diferentes velocidades y retardos y la rutapuede variar durante la conexión

La elección de un valor adecuado tiene una consecuencia directa en el funcionamientoeficiente de TCP y hace que una implementación TCP sea más eficiente que otra Si el temporizador es demasiado alto, el emisor esperará innecesariamente en

ciertos casos por ACKs que nunca llegarán Si el temporizador es demasiado bajo se producirán retransmisiones innecesarias de

segmentos que habían sido correctamente recibidos Manejar los temporizadores (timers o timeouts) es siempre complejo porque hay que

determinar “aproximadamente” el periodo de tiempo existente desde que se envía unsegmento de información o datos hasta que se recibe su ACK, es decir, el tiempo de ida yvuelta (RTT: Round Trip Time)

Por todo lo anterior, los valores del temporizador se establecen mediante ALGORITMOSAUTOADAPTATIVOS que dinámicamente ajustan los valores al estado de la red, segúnes percibido éste por la entidad de transporte emisora

Page 30: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

30

Temporizadores: Valores de TimeoutEstándar de Facto en las Implementaciones TCP

Algoritmo autoadaptativo de Karnpara el cálculo del RTT (Round TripTime)Se toma una muestra RTT de cada segmento de

información transmitido (opción Marca de Tiempo)Se obtiene un promedio de dichas muestrasSe le añade un margen de seguridad

Page 31: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

31

Problemática TCP con Segmentos de Información Perdidos o con Errores de Transmisión

Segmentos TCP perdidos (DATOS y/o ACKs): En redes cableadas (Ethernet,líneas serie o anillos en fibra óptica) la mayoría de las pérdidas es por congestiónIP en los routers y, además, por errores de transmisión en un nivel de enlaceinalámbrico (CRC WiFi), o por TTL = 0, IPv4 (checksum) y TCP (checksum) Errores físicos de transmisión: Redes inalámbricas no WiFi (Servicio no

orientado a conexión FIABLE), o redes de radio, enlaces móviles quepueden provocar pérdidas de tramas a ráfagas

• Altas tasas de pérdidas de bits detectadas por SVT (pero sinrecuperación) y causadas por las pobres condiciones de propagación

En los sistemas finales se aplica un control de flujo para evitar pérdidas dedatos extremo a extremo

PROBLEMA: Mientras no se reciba correctamente el segmento deinformación perdido (o que haya llegado con errores de transmisión), se envíanCONFIRMACIONES REPETIDAS y no se confirman los últimos segmentosde información que han llegado correctamente PROVOCANDO ELVENCIMIENTO DE SUS TEMPORIZADORES Y RETRANSMISIONESINNECESARIAS

SOLUCIÓN: Se introduce la opción de CONFIRMACIÓN SELECTIVA(SACK: Selective Acknowledgment) que confirma los octetos de datos desegmentos de información no contiguos que han sido recibidos correctamente

Page 32: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

32

Tipos de Confirmaciones (ACKs) CONFIRMACIÓN (NO DUPLICADA O REPETIDA):

Desactivación del temporizador del segmento de información que ha provocado dichaconfirmación

Eliminación en el buffer de transmisión de la copia de los octetos de datos confirmados

CONFIRMACIÓN DUPLICADA o REPETIDA: No produce ningún efecto si se ha hecho antes, es decir, no se ha perdido el anterior

ACK duplicado Peligro de que venza el temporizador del segmento de información no contiguo que ha

provocado dicha confirmación repetida Y SE REALICE UNA RETRANSMISIÓNINNECESARIA

Cuando al destino llegan segmentos TCP fuera de orden, el receptor transmite ACKsduplicados o repetidos reconociendo que se han recibido segmentos no contiguos o fuerade orden

CONFIRMACIÓN DUPLICADA O REPETIDA CON SACK(Selective Acknowledgment): DESACTIVACIÓN del temporizador del segmento de información no

contiguo ELIMINACIÓN en el buffer de transmisión de la copia de los octetos de

datos no contiguos confirmados

Page 33: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

33

TCP SACK: TCP de Reconocimiento Selectivo o Selective Acknowledgment

(SACK) Definido en el RFC-2018 y, posteriormente,

extendido en el RFC-2883 Se recomienda la opción SACK cuando hay

múltiples pérdidas de segmentos TCP Por congestiones en los routers IP Por errores físicos en el nivel de enlace, especialmente, en

entornos inalámbricos (CRC de la trama)

Para evitar innecesarias retransmisiones delos octetos de datos de segmentos deinformación no contiguos que ya fueronentregados al receptor

Page 34: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

34

Confirmación selectiva (SACK: Selective Acknowledgment): RFC-2018 y RFC-2883

Dos Opciones Para poder hacer uso de la opción Tipo 5 SACK en fase de

transferencia de datos hay que indicarlo previamente en fase deestablecimiento de la conexión TCP

Se indica mediante la opción Tipo 4 TCP Sack-Permitted en la fasede establecimiento de la conexión TCP en un segmento SYN = 1

Mediante la opción Tipo 5 TCP Sack-Permitted se informa alemisor de bloques no contiguos de octetos de datos que han sidorecibidos correctamente y, por tanto, en dónde puede haber“agujeros en los datos”. Esta opción provoca la cancelación en elemisor de los temporizadores de los segmentos que sabe que hanllegado correctamente al receptor y la eliminación de la copia delos correspondientes octetos de datos en el buffer de transmisión

Si el receptor no ha recibido la opción Tipo 4 TCP Sack-Permitted en el establecimiento de la conexión, no debe usar laopción Tipo 5 TCP Sack-Permitted en la fase de transferencia dedatos

Page 35: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

35

Un Ejemplo de un Paquete SACK

TCP “A” TCP “B”

Transmisión unidireccional de datos (de “A” a “B”) con errores,con VENTANA en “B” de 900 octetos,y haciendo uso de la opción SACK

“A” transmite 900 octetos agrupadosen 3 segmentos pendientes de confirmación

“B” ante la llegada de los300 primeros octetos

procede a confirmarlos

“B” emplea SACK

TCP “A” sabe que los octetos del 303 al 602 no han llegado todavía pero sí los octetos del 603 al 902.Por tanto cancela el temporizador

de dichos octetos (tercer segmento)y elimina copia de los mismos

PRIMER OCTETO DE DATOS RECIBIDO DELPRIMER SEGMENTO DE INFORMACIÓN NO

CONTIGUO QUE HA HECHO ENVIAR EL PRIMER PAQUETE SACK

PRIMER OCTETO DE DATOS QUE SE ESPERARECIBIR DEL SIGUIENTE SEGMENTO

DE INFORMACIÓN NO CONTIGUOY CONSECUTIVO

No produce una retransmisión(retransmisión=timeout) sino una desactivación del timer y unaeliminación en el buffer de

de transmisión de la copia delos 300 primeros octetos

SEGMENTO CONTIGUO (al último recibido correctamente)

SEGMENTO NO CONTIGUO

Permite confirmar al emisor los octetos de

datos de SEGMENTOS DE INFORMACIÓN NO

CONTIGUOS recibidos correctamente o sin errores, EVITANDO,

vencimiento de timers y retransmisiones

innecesarias

Page 36: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

2 Tipos de Paquetes SACK

Con 1 bloque de información de control en elcampo DATOS ÓPCIÓNPara segmentos de información NO CONTIGUOS Y

CONSECUTIVOS, es decir, SIN PÉRDIDAS entre ellos

Con “n” bloques de información de control enel campo DATOS ÓPCIÓNPara segmentos de información NO CONTIGUOS Y NO

CONSECUTIVOS, es decir, CON PÉRDIDAS entre ellos

36

Page 37: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

37

“X1” (32 bits) = BORDE IZQUIERDO DEL BLOQUE “1” = PRIMER NÚMERO DESECUENCIA DEL BLOQUE “1” = “PRIMER” OCTETO DE DATOS RECIBIDO DEL“PRIMER” SEGMENTO DE INFORMACIÓN NO CONTIGUO QUE HA HECHO ENVIAR EL“PRIMER” PAQUETE SACK

• X1 es el mismo valor para todos los paquetes SACK siempre que los siguientes segmentos deinformación no contiguos recibidos sean consecutivos

“Y1” (32 bits) = BORDE DERECHO DEL BLOQUE “1” = NÚMERO DE SECUENCIASIGUIENTE AL ÚLTIMO NÚMERO DE SECUENCIA DEL BLOQUE “1” = PRIMEROCTETO DE DATOS QUE SE ESPERA RECIBIR DEL SIGUIENTE SEGMENTO DEINFORMACIÓN NO CONTIGUO Y CONSECUTIVO

• Si los octetos de datos recibidos, de los siguientes segmentos de información nocontiguos, son consecutivos, entonces, se agrupan éstos en el mismo bloque X1-Y1

TIPO=5 LONGITUD(variable) DATOS OPCIÓN

X1 – Y1

Paquete SACK con “1 Bloque” para Segmentos No Contiguos y Consecutivos (Sin Pérdidas)

USO DE LA OPCIÓN SACK CON CAMPO DATOS OPCIÓN DE UN ÚNICO BLOQUE

Page 38: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

38

TCP “A” TCP “B”

Un Ejemplo de un Paquete SACK con “1 Bloque”Transmisión unidireccional de datos (de “A” a “B”) con errores

haciendo uso de SACKCONFIRMACIONES A SEGMENTOS NO CONTIGUOS Y CONSECUTIVOS

(sin pérdidas) al último segmento de información recibido correctamente

¿Cuándo se retransmite el segmento SEC=22550, Datos=431?

¿Respuestas de “B”?

Page 39: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

39

(SOLUCIÓN)TCP “A” TCP “B”

VENCIMIENTODEL

TEMPORIZADOR

Se intenta agrupar el máximo de octetos

de datos consecutivos en cada paquete SACK

CONFIRMACIONES A BLOQUESNO CONTIGUOS CONSECUTIVOS

Ante la llegada de cualquier segmento,

de información no contiguo y consecutivo, se indican

siempre los octetos de datos ya recibidos y se agrupan

los octetos del último segmento en el mismo bloque

Page 40: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

40

Extensión con “N” Bloques del Paquete SACK para Segmentos No Contiguos y No Consecutivos (Con Pérdidas)

TIPO=5 LONGITUD(variable) DATOS OPCIÓN

X1 – Y1 Xn – Yn…

Se pueden enviar hasta 4 bloques NO CONSECUTIVOS SACK (34 octetos) si se empleacasi todo el espacio del campo de opciones TCP (máximo de 40 octetos) para la opciónSACK

• Se recuerda que si los nuevos octetos de datos son consecutivos con los anterioresya recibidos, entonces, se agrupan en un mismo primer bloque X1-Y1

El bloque 1 (X1 – Y1) debe informar del segmento recibido más recientemente. Aseguraque el ACK con la opción SACK refleje el cambio más reciente en el buffer de recepción.Así el emisor tiene información actualizada del estado de la red y del estado de la cola derecepción

• Si llega nuevos segmentos (p. ej., datos = 7000-7500 y 6000-6500) y se puedenagrupar sus octetos con otro u otros bloques ya recibidos, entonces, se agrupantodos los octetos que se puedan en el correspondiente bloque. P. ej.:(6500-7000) (8000-8500) (7000-7500) (6000-6500) = (6000-7500) (8000-8500)

Después del primer bloque SACK, los siguientes pueden estar listados en orden arbitrario

Informa del segmento recibido más recientemente

Page 41: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

41

TIPO=5 LONGITUD(variable) DATOS OPCIÓN

X1 – Y1 Xn – Yn…

“X1” (32 bits) = BORDE IZQUIERDO DEL BLOQUE “1” = PRIMER NÚMERO DESECUENCIA DEL BLOQUE “1” = PRIMER OCTETO DE DATOS RECIBIDO DEL SEGMENTODE INFORMACIÓN NO CONTIGUO QUE HA HECHO ENVIAR EL PAQUETE SACK

“Y1” (32 bits) = BORDE DERECHO DEL BLOQUE “1” = NÚMERO DE SECUENCIASIGUIENTE AL ÚLTIMO NÚMERO DE SECUENCIA DEL BLOQUE “1” = PRIMER OCTETODE DATOS QUE SE ESPERA RECIBIR DEL SIGUIENTE SEGMENTO DE INFORMACIÓN NOCONTIGUO Y CONSECUTIVO

• El bloque 1 (X1-Y1) debe informar del segmento recibido más recientemente.• Después del primer bloque SACK, los siguientes pueden estar listados en orden arbitrario

“Xn” (32 bits) = BORDE IZQUIERDO DEL BLOQUE “n” NO CONSECUTIVO = PRIMERNÚMERO DE SECUENCIA DEL BLOQUE “n” = RECORDATORIO DEL PRIMER OCTETO DEDATOS YA RECIBIDO DE UN SEGMENTO DE INFORMACIÓN NO CONTIGUO Y NOCONSECUTIVO

“Yn” (32 bits) = BORDE DERECHO DEL BLOQUE “n” NO CONSECUTIVO = NÚMERO DESECUENCIA SIGUIENTE AL ÚLTIMO NÚMERO DE SECUENCIA DEL BLOQUE “n” =RECORDATORIO DEL PRIMER OCTETO DE DATOS QUE SE ESPERA RECIBIR DELSIGUIENTE SEGMENTO DE INFORMACIÓN NO CONTIGUO Y NO CONSECUTIVO

Informa del segmento recibido más recientemente

Extensión con “N” Bloques del Paquete SACK para Segmentos No Contiguos y No Consecutivos (Con Pérdidas)

Page 42: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

42

TCP “A” TCP “B”

Un Ejemplo de un Paquete SACK AmpliadoTransmisión unidireccional de datos (de “A” a “B”) con errores

haciendo uso de SACK

CONFIRMACIONES A SEGMENTOS NO CONTIGUOS Y NO CONSECUTIVOS

¿Respuestas de “B”?

¿Cuándo se retransmite el segmento SEC=22550, Datos=431?

Page 43: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

43

TCP “A” TCP “B”

VENCIMIENTODEL

TEMPORIZADOR

Si hay espacio en el campo de opciones TCP, se pueden

enviar hasta 4 bloques

SACK ampliadocon más bloquesde información

CONFIRMACIONES A BLOQUESNO CONTIGUOS

NO CONSECUTIVOS

(SOLUCIÓN)

Page 44: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

44

Asumiendo que la entidad emisora TCP “A” de C1 transmite una ráfaga de8 segmentos de información conteniendo cada uno 500 octetos de datos;indicar la fase de transferencia de datos desde su inicio, por ejemplo,mediante una tabla asociando los octetos de datos de los segmentosde información y sus confirmaciones (Nº de Secuencia del primer octeto enviado,ACK de respuesta, Datos SACK de respuesta)Para ello, se debe tener en cuenta que:La entidad receptora TCP “B” de C2 hace uso de la opción SACK y, además,

dispone en todo momento de suficiente capacidad en su buffer de recepciónEl primer octeto de datos que espera recibir la entidad receptora TCP “B”

de C2 es el 5000El primer segmento de información se pierde pero los 7 restantes se recibenLas confirmaciones llegan a C1 en el momento adecuado

TCP “A”ENTIDAD EMISORA

Internet

TCP “B”ENTIDAD RECEPTORA

C1 C2TCP “A”

ENTIDAD EMISORA

Internet

TCP “B”ENTIDAD RECEPTORA

C1 C2

Page 45: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

45

SEGMENTO ENVIADO(SEC)

Nº DE CONFIRMACIÓN(ACK)

DATOS OPCIÓN SACK(BLOQUE SACK)

5000(datos=500)

5500(datos=500)

5000 5500-6000

6000(datos=500)

5000 5500-6500

6500(datos=500)

5000 5500-7000

7000(datos=500)

5000 5500-7500

7500(datos=500)

5000 5500-8000

8000(datos=500)

5000 5500-8500

8500(datos=500)

5000 5500-9000

1

2

3

4

5

6

7

8

Page 46: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

46

Asumiendo que la entidad emisora TCP “A” de C1 transmite una ráfaga de8 segmentos de información conteniendo cada uno 500 octetos de datos(y sin tener en cuenta el envío del ejemplo anterior); indicar la fase de transferencia de datosdesde su inicio, por ejemplo, mediante una tablaasociando los octetos de datos de los segmentos de información y sus confirmaciones (Nº de Secuencia del primer octeto enviado, ACK de respuesta, Datos SACK de respuesta)Para ello, se admite que:La entidad receptora TCP “B” de C2 hace uso de la opción SACK y, además,

dispone en todo momento de suficiente capacidad en su buffer de recepciónEl primer octeto de datos que espera recibir la entidad receptora TCP “B” de C2

es el 5000Se pierden los segmentos segundo, cuarto, sexto y octavo pero los restantes

se recibenDespués de transmitirse el octavo segmento, se retransmiten por vencimiento de

temporizadores y, por tanto, se reciben fuera de orden el cuarto y, a continuación, el segundo segmento de informaciónLas confirmaciones llegan a C1 en el momento adecuado

TCP “A”ENTIDAD EMISORA

Internet

TCP “B”ENTIDAD RECEPTORA

C1 C2TCP “A”

ENTIDAD EMISORA

Internet

TCP “B”ENTIDAD RECEPTORA

C1 C2

Page 47: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

47

SEGMENTO ENVIADO

(SEC)

Nº DE CONFIRMACIÓN(ACK)

DATOS OPCIÓN SACK

(PRIMER BLOQUE SACK)

DATOS OPCIÓN SACK

(SEGUNDO BLOQUE SACK)

DATOS OPCIÓN SACK

(TERCER BLOQUE SACK)

5000(datos=500)

5500

5500(datos=500)

6000(datos=500)

5500 6000-6500

6500(datos=500)

7000(datos=500)

5500 7000-7500 6000-6500

7500(datos=500)

8000(datos=500)

5500 8000-8500 7000-7500 6000-6500

8500(datos=500)

6500(datos=500)

5500 6000-7500 8000-8500

5500(datos=500)

7500 8000-8500

1

2

3

4

5

6

7

8

4

2(agrupa)

(agrupa)

Page 48: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

48

Congestión en InternetRFC-5681: TCP Congestión Control

Congestión = Pérdida de 1 o más paquetes o datagramas IP Causa posible: Desborde del buffer de la cola del interfaz de salida

de un ROUTERExceso de tráfico de entrada en alguna o algunas redes de Internet: Tasas de

paquetes de entrada superan las capacidades de los enlaces salida• La situación se complica si los enlaces de salida son de menor

capacidad que los enlaces de entrada En principio, no se puede conocer el estado de todos los sistemas intermedios Cuando los paquetes llegan a la parte congestionada de la red, como el

router de acceso no puede aceptar todo el tráfico entrante,empezará a acumularlos en su buffer de la cola del interfaz desalida y cuando éste se llene, empezará a descartar

Basta que uno de los enlaces del trayecto se vea afectado por la congestión paralimitar el tráfico en todo el camino y, por tanto, el rendimiento de lacomunicación entre los sistemas finales

Las aplicaciones se bloquean o dejan de funcionar La congestión se detecta en TCP por vencimiento de temporizadores o

“timeouts” (alta probabilidad de congestión) La entidad TCP receptora recibirá sólo una parte de los segmentos por lo que la entidad

TCP emisora retransmitirá por timeout aquéllos que no hayan sido confirmados

Page 49: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García 49

IP IPIPIP

Proceso Caudal

IP

Descarte del último

Pérdidas de Paquetes en los Routers

CONGESTIONES O PERDIDAS DE PAQUETES IP EN UN ROUTER DE ACCESO,ESPECIALMENTE CRÍTICO EN ENLACES DE ENTRADA DE ALTA CAPACIDAD

Y ENLACES DE SALIDA DE MENOR CAPACIDAD

buffer de la cola del interfaz de salida

enlacesde entrada

enlacesde entrada enlace

de salida

La congestión en Internet es la pérdida de 1 o más paquetes IPdebido al desborde del buffer de la cola del interfaz de salida

de un router cuando las tasas de entrada superan las capacidades de salida

Page 50: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

50

Flujo y Congestión: Conceptos DiferentesRECORDATORIO

La VENTANA DE RECEPCIÓN WR garantiza que no se inundeal receptor ejerciendo un CONTROL DE FLUJO sobre el emisor

Sin embargo, los problemas podrían estar en Internet: Muchasveces el “cuello de botella” está en la red y no en el receptor Los buffers de las colas de salida de los routers pueden desbordarse

Además, del CONTROL DE FLUJO necesitamos un CONTROLDE CONGESTIÓN

¿Cómo notificar a la entidad TCP emisora de que hay una saturación en algúnpunto del trayecto y de que debe bajar el ritmo de transmisión? Respuesta: Mediante una VENTANA DE CONGESTIÓN WC

que indica el número de segmentos que el emisor puedeenviar en un momento dado sin congestionar a ningúnrouter en Internet

La WC actúa simultáneamente y en paralelo con WR En cada momento, el emisor tomará en consideración la más pequeña de

las dos ventanas para asegurarse de que no satura al receptor ni provoca,o contribuye a agravar, una situación de congestión en la red

WT = min (WR , WC )

Page 51: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

51

La WR se notifica al emisor por el receptor: ELCONTROL DE FLUJO LO EJERCE LA ENTIDADTCP RECEPTORA

La WC la calcula el emisor a partir de la cantidad deretransmisiones (pérdidas de segmentos TCP o“timeouts”) que tiene que realizar: EL CONTROL DELA CONGESTIÓN LO EJERCE LA ENTIDAD TCPEMISORAEl emisor va tanteando la red, transmitiendo tan rápido

como sea posible hasta que se produzca un “timeout”, apartir de ahí reduce, drásticamente, el ritmo de sus envíos(WC y, por tanto WT) y va aumentando dicho ritmo,paulatinamente, hasta un nuevo “timeout” (nueva pérdida yretransmisión), repitiendo de nuevo el proceso

Flujo y Congestión: Conceptos Diferentes

Page 52: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

52

Mecanismos de Control de la Congestión RFC-5681

1. Comienzo Lento (Slow Start) 2. Prevención de la Congestion (Congestion

Avoidance) 3. Retransmisión Rápida (Fast Retransmit)4. Recuperación Rápida (Fast Recovery)

Implemetados en cualquier distribución actual TCP/IPy utilizados por el protocolo TCP cuando los routers en Internet descartan o

pierden paquetes IP al desbordarse la capacidad de almacenamiento de los buffers asociados a las colas de los interfaces de salida

Page 53: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

53

Con SS se transmiten segmentos de información de forma exponencial(1, 2, 4, 8, ...) al ritmo al que se reciben los ACK desde el otro extremo WC , que SE MIDE EN SEGMENTOS con un campo datos, por omisión, de

1024 octetos (1 segmento = 1 MSS, por omisión, de 1Kbyte o 1024 octetos),crece exponencialmente sólo si todos los segmentos de información enviadoshan sido confirmados

• Si hay un ACK retrasado, el incremento, en el tamaño de WC, no esexponencial

Se denomina COMIENZO LENTO porque se empieza a transmitirlentamente, primero 1 segmento, luego 2 segmentos y, así, sucesivamente;pero en realidad se transmite muy rápido (exponencialmente): 1, 2, 4, 8, 16,32, 64) y en sólo 7 interacciones (envío de un grupo de 64 segmentos deinformación) se llega a 65.535 octetos (asumiendo un MSS típico de 1024octetos) que es el valor máximo por omisión de TCP para WR y que coincidecon el VALOR INICIAL DEL UMBRAL DE CONGESTIÓN o UMBRALDE PELIGRO o LÍMITE DE CRECIMIENTO DE WC impuesto por TCP,el cual va variando posteriormente en función de la congestión en Internet

Mecanismo de Control de la CongestiónComienzo Lento o SS (Slow Start)

Page 54: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

54

Inicio de la Fase de Transferencia de Datos con Comienzo Lento o SS (Slow Start): Sin Congestión en la Red

ACK

ACKs

ACKs

TCP “A” TCP “B”

Con SS se envían segmentos de informacióna la red de forma exponencial (1, 2, 4, 8, etc.)

al ritmo al que se reciben los ACK desde el otro extremo

WC = 1

WC = 2

WC = 4

Si hay un ACK retrasadoel incremento en el

tamaño de la ventana es menor que la potencia de 2

Cada ráfaga confirmadaduplica WC

Page 55: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

55

Comienzo Lento o SS (Slow Start) Sin Congestión en la Red

WC se inicializa a 1 segmento o 1 MSS de 1 Kbyte (1024 octetos)

A su vez, p.ej., WR = 65.535 octetosTodos los segmentos tienen

un MSS por omisión = 1024 octetos = 1Kbytey se activa el primer timer.

WT = min (WR =65.535 octetos, WC = 1)Si ACK llega antes del timeout

WT = WC = 2 Kbytes y se envían2 segmentos y se activan 2 timers.

Si llegan los ACK a tiempoWT = WC = 4 Kbytes y se envían

4 segmentos y se activan 4 timers.WC va creciendo

EXPONENCIALMENTEduplicándose en cada envío.Sin congestión, WC crece

rápidamente y en sólo 7 interacciones(1, 2, 4, 8, 16, 32, 64) se llegaría a 65.535 octetos

(valor máximo de TCP para WR)

1ª interacción

2ª interacción

3ª interacción

4ª interacción

WC SE MIDE EN SEGMENTOS con 1 MSS, por omisión, de 1Kbyte o 1024 octetos. Por

tanto, 1 segmento = 1024 octetos

Page 56: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

56

1. WC = 1 (inicialmente 1 segmento o 1 MSS del tamaño máximo para la conexión)2. Valor inicial del umbral de congestión = 64 segmentos o 65.535 octetos (valor

máximo de WR )3. WC = 1, 2, 4, 8, …, (WT = WC) va creciendo exponencialmente

(mientras se reciben todos los ACK) hasta superar: La WR actual y puntual en el otro extremo TCP (se establece un control de flujo) El valor inicial del umbral de congestión o umbral de peligro o límite de crecimiento

máximo impuesto por TCP inicialmente para WR de 65.535 octetos El buffer de algún router y se produzca la primera pérdida de paquete o “timeout”

4. Cada vez que se detecta un “timeout” o pérdida se obtiene un nuevoUMBRAL DE CONGESTIÓN, que toma como valor la mitad del tamañoactual de WC . A su vez, WC se reduce de una manera drástica al valorinicial de 1 segmento. Ahora, WC empieza a crecer exponencialmente comoantes (WC = 1, 2, 4, 8, …, ) pero sólo hasta el nuevo umbral de congestióndonde permanece aunque no haya pérdidas Nuevo umbral de congestión o límite de crecimiento de WC = WC (actual)/2 WC = 1 (y, luego, 2, 4, 8, …)

Reducción rápida y significativa del tráfico para que el router se recupere Mientras el tamaño máximo de WC permanezca en el umbral de congestión, no

se enviará una ráfaga de mayor longitud, sin importar la cantidad de espaciode WR ofrecida por el receptor en el supuesto de ser superior

Mecanismo de Control de la CongestiónComienzo Lento o SS (Slow Start)

Page 57: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

57

Mecanismo de Control de la CongestiónPrevención de la Congestion o CA (Congestion Avoidance)

Para aumentar el rendimiento en la transferencia, se combina SS y CA con elobjetivo de seguir transmitiendo a partir de donde SS finaliza, es decir, desde elnuevo umbral de congestión calculado en SS

Para ello, se incrementa WC LINEALMENTE (de “1 en 1”) desde el nuevoumbral hasta que se supere el tamaño actual de WR en el otro extremo TCP(control de flujo) o el buffer de algún router (vencimiento de temporizador),REPITIÉNDOSE EL PROCESO

Una nueva pérdida (congestión), momento a partir del cual se aplica denuevo SS, obteniéndose un nuevo umbral de congestión, en un valorigual a la mitad del tamaño actual de WC. A su vez, WC se reduce de unamanera drástica al valor inicial de 1 segmento. Ahora, WC de nuevoempieza a crecer exponencialmente, pero sólo hasta el nuevo umbral decongestión a partir del cual se vuelve a aplicar CA

El objetivo es no quedarse bloqueado en el nuevo umbral (SS) sino seguirtransmitiendo lentamente desde dicho nuevo umbral dando tiempo a que elrouter se recupere

Page 58: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

58

Prevención de la Congestión (Congestion Avoidance) y Comienzo Lento (Slow Start)

Objetivo de cada algoritmo:Comienzo Lento o SS (Slow Start): Tantear la red,

transmitiendo, tan rápido como sea posible, hasta que seproduce una congestión, momento a partir del cual se calculael nuevo umbral, se reduce WC = 1 y se transmiteexponencialmente hasta el nuevo umbral

Prevención de la Congestión o CA (CongestionAvoidance) = Una vez que se ha producido la congestión, yen combinación con SS, sigue transmitiendo linealmente apartir de donde SS finaliza (nuevo umbral de congestión),dando tiempo a que el router se recupere

Funcionamiento conjunto

Page 59: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

59

Ejemplo de Funcionamiento Conjunto de SS y CA: Se producen perdidas de segmentos de información cuando WC es mayor de

20 segmentos o 20 Kbytes (1 segmento = 1 MSS de 1 Kbyte)

FASEUMBRAL DE

CONGESTIÓN en KBytes

WC en KBytes

(VENTANA DE CONGESTIÓN)

Primera 64 segmentos (valor inicial)

Segunda

Tercera

Page 60: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

60

FASEUMBRAL DE

CONGESTIÓN en KBytes

WC en KBytes

(VENTANA DE CONGESTIÓN)

Primera 64 (valor inicial) 1,2,4,8,16,32

Segunda 16 1,2,4,8,16,17,18,19,20,21

Tercera 10,5 1,2,4,8,10,11,12,13,14,15,16,17,18,19,20,21

A partir del umbral =16, WC se incrementa de 1 en 1

A partir del umbral =10,5, WC se incrementa de 1 en 1

Ejemplo de Funcionamiento Conjunto de SS y CA: Se producen perdidas de segmentos de información cuando WC es mayor de

20 segmentos o 20 Kbytes (1 segmento = 1 MSS de 1 Kbyte)

Se produce un timeout cuando WC = 32

SS

SS CA

Umbral de congestión = 10 porque si se envían 11 segmentos > 10,5

Page 61: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

61

2 Tipos de Retransmisiones TCP En las implementaciones actuales TCP, hay una

RETRANSMISIÓN si:Expira un temporizador de retransmisión

= PÉRDIDA SEGURA DE SEGMENTO =Alta seguridad de que haya congestión enInternetLlegan 3 CONFIRMACIONES (ACKs)

duplicadas = PÉRDIDA PROBABLE DESEGMENTO = No hay seguridad de que hayacongestión en Internet “PERO, POR SIACASO”, no se espera al vencimiento deltemporizador y se aplica el mecanismo deRetransmisión Rápida

Page 62: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

62

2 Tipos de Control de la Congestión Si la detección se debe a un vencimiento de temporizador =

ALTA SEGURIDAD DE CONGESTIÓN y se aplica SS y CACONTROL DE LA CONGESTIÓN (Comienzo Lento y

Prevención de la Congestión) A PARTIR DE UN“TIMEOUT”

Si la detección de debe a 3 ACKs duplicados = BAJASEGURIDAD DE CONGESTIÓN y, en principio, se aplicaRETRANSMISIÓN RÁPIDACONTROL DE LA CONGESTIÓN (Prevención de la

Congestión) A PARTIR DE 3 ACKs DUPLICADOS queimplica como ventaja adicional una recuperación másrápida del potencial segmento de información perdido sinesperar a que expire su temporizador

Puede ser que a lo mejor no se ha perdido el segmento, esdecir, no hay congestión y no es necesario que WC = 1

Page 63: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

63

RETRANSMISIÓN

3 ACKs duplicados = 4 ACKs idénticos en secuencia

Mecanismo de Control de la Congestión:Retransmisión Rápida (Fast Retransmit)

Retransmisión de un segmento después de la recepción de 3 ACKs duplicados, sin esperar al “timeout” 3 ACKs duplicados

significa que, probablemente, se ha perdido 1 segmento

Por si acaso, no se espera a que se “dispare”el temporizador de retransmisión de “b”

Si se reciben 3 ACKs duplicados seguidos, retransmitir de inmediato

Si se han recibido 3 ACKshay una probabilidad baja de congestión, se puede

haber perdido un segmentopero 3 segmentos ya han llegado

ya que se han recibido 3 ACKs

Page 64: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

64

Retransmisión Rápida No es un mecanismo estricto de control de la

congestión en Internet Es un mecanismo de retransmisión de la

forma más rápida posible (sin esperar elvencimiento del temporizador) de unsegmento de información y que, posiblemente(no es seguro), se ha perdido debido a unapresumible congestión en un router por lallegada de 3 confirmaciones duplicadas

Pero en combinación, a su vez, con elmecanismo de Prevención de la Congestión(CA) da origen a un nuevo mecanismo decontrol de la congestión denominadoRecuperación Rápida (Fast Recovery)

Page 65: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

65

Mecanismo de Control de la Congestión:Recuperación Rápida (Fast Recovery)

Si la probable congestión se debe a 3 ACKsDUPLICADOS = Se hace una RecuperaciónRápida = Retransmisión rápida y CA (a partir delnuevo umbral)• Se retransmite inmediatamente el segmento afectado

(RETRANSMISIÓN RÁPIDA), se calcula el nuevo umbral decongestión y se comienza DIRECTAMENTE en una nuevafase de CA a partir del nuevo umbral (sin comenzar desde 1segmento a crecer exponencialmente hasta el nuevo umbral y,luego, linealmente)

• P. ej., si se han recibido 3 ACKs, se calcula el nuevo umbral =6, se retransmite inmediatamente el segmento afectado y secomienza linealmente a partir de 7, 8, 9, … (y no a partir de 1,2, 4, 6, 7, 8, 9, …, etc., porque tal vez no hay congestión y no esnecesario que WC = 1)

Page 66: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

66

Ejemplo de Recuperación Rápida: Se produce “timeout” cuandoWC = 20 segmentos y el nuevo umbral de congestión = 16 segmentos.

Posteriormente, se reciben 3 ACKs cuando se envían 12 segmentos

FASE UMBRAL DE CONGESTIÓN

WC máxima en segmentos

(VENTANA DE CONGESTIÓN) =32

Primera 16 1, 2, 4, 8, 16, 17, 18, 19, 20 (timeout)

Segunda 10 1, 2, 4, 8, 10, 11, 12 (3 ACKs)

Tercera 6 7, 8, 9, …, 20 (timeout)

SS CA…

SS CA…

CA …

En un momento anterior, WC =32, se produjo timeout y el nuevo umbral de

congestión pasó a valer 16

Page 67: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

67

Implementaciones TCP RFC-793, STD 0007 (1981):TCP Sin control de congestión

RFC-5681 (1999):TCP con control de la congestión

Implementación TCP Tahoe (1988) Algoritmo básico de control de congestión (Comienzo lento)

Implementación TCP Reno (1990) Tahoe + Prevención de la congestión + Retransmisión rápida + Recuperación

rápida

Implementación TCP New Reno (1996)El Reno optimizado es la implementación, por omisón, que

se encuentra en la mayoría de las distribuciones TCP/IP eincluye los cuatro mecanismos de control de la congestión

Page 68: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

68

2 Notificaciones de Congestion en TCP Notificación o señalización implícita por:

– Vencimiento de temporizador (“timeout”)» Mecanismos: SS y CA

– Recepción de 3 ACKs duplicados» Mecanismos: Recuperación rápida = Retransmisión rápida y

CA (a partir del nuevo umbral) Notificación o señalización explícita por indicación del router

• ECN (Explicit Congestion Notification): RFC-3168 y RFC-2884• La transmisión se ajusta en la entidad TCP emisora sólo cuando una

entidad IP intermedia, que empieza a acercarse a su umbral decongestión, se lo notifica explícitamente a la entidad TCP receptora yésta se lo comunica, finalmente, a la entidad TCP emisora

– VENTAJA: En vez de descartar, y que se produzcan timeouts, elrouter señaliza al receptor antes de que los buffers se llenen

– Despúes, el receptor avisa al emisor y éste disminuye el ritmo deenvío

• Ya hay algunas implementaciones de ECN (Linux)• Alternativa de señalización explícita: Mensaje ICMPv4 de frenado en el origen

(Tipo=4 Código=0): No se usa por seguridad (prevención de ataque a unrouter). Además, no existe el mensaje ICMPv6 de frenado en el origen

Page 69: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

69

DATAGRAMA IPv4

VERSIÓN

RELLENO

0

(TTL)

000 R C F 00

4 4 8 16

CABECERA

TIPO DE SERVICIO

LONGITUD TOTAL

IDENTIFICADOR DF

MF DESPLAZAMIENTO

TIEMPO DE VIDAPROTOCOLO

DIRECCIÓN ORIGEN

DIRECCIÓN DESTINO

OPCIONES

DATOS

LongitudCabecera

SUMA DE COMPROBACIÓN(CABECERA)

Los 2 bits de menor orden del campo ToS de la cabecera IPv4 se usan para la notificación explícita de congestión

Recordatorio

Page 70: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

70

VERSIÓN

RELLENO

0

(TTL)

4 4 816

CABECERA

TIPO DE SERVICIO

LONGITUD TOTAL

IDENTIFICADOR DF

MF DESPLAZAMIENTO

TIEMPO DE VIDAPROTOCOLO

DIRECCIÓN ORIGEN

DIRECCIÓN DESTINO

OPCIONES

DATOS

LongitudCabecera

SUMA DE COMPROBACIÓN(CABECERA)

Para control de la congestión

ECT

ECDSCP

Differentiated Services Code Point ECT (Explicit Congestion Notification) Capable Transport =

Bit de Transporte de Notificación Explícita de CongestiónEC (Experienced Congestion) = Bit de Detección de Congestión

Punto de Código de Servicios Diferenciados

Cabecera IPv4:DSCP-ECN

Page 71: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

71

Cabecera Fija IPv6:DSCP-ECN

Versión Etiqueta de flujo (20 bits)

Longitud de la carga útil Cabecerasiguiente

Límite de saltos

0 4 31

Dirección de origen (16 octetos)

Dirección de destino (16 octetos)

40octetos

12

xxxxxxxx

Differentiated Services Code Point

Prioridad (8bits)

Punto de Códigode Servicios Diferenciados

ECT/EC

Page 72: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

72

Formato de un Segmento TCP-ECN (Explicit Congestion Notification)

PUERTO ORIGEN PUERTO DESTINO

NÚMERO DE SECUENCIA

NÚMERO DE CONFIRMACIÓN (ACK)

DESPRESERVADO

4 BITSURG ACK PSH RST SYN FIN VENTANA

SUMA DE COMPROBACIÓN PUNTERO URGENTE

OPCIONES RELLENO

DATOS (Variable)

0 15 16 31

ECN

CWR

Congestion Window Reduced = = Bit de Ventana de Congestión Reducida

Explicit Congestion Notification-Echo = = Bit de Eco de Notificación Explícita de Congestión

Los 2 bits de menor orden del campo RESERVADO de la cabecera TCP se usan para el control de la congestión

Page 73: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

73

El uso de ECN en fase de transferencia de datos obligaa indicarlo previamente en fase de establecimiento de laconexión TCP El EMISOR activa los 2 bits (CWR y ECN-ECHO) en

el segmento de solicitud de establecimiento de laconexión y el RECEPTOR activa el bit ECN-ECHO enel segmento de respuesta SYN =1, ACK =0 SYN = 1, ACK = 0 (SOLICITUD con los bits CWR = 1 y ECN-ECHO = 1) SYN = 1, ACK = 1 (RESPUESTA con los bits CWR = 0 y ECN-ECHO = 1)

Cabecera TCP-ECN

Page 74: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

74

Control de la Congestion en TCP Metodología por Señalización Explícita ECN (Explicit

Notification Congestion): RFC-3168 y RFC-2884El emisor activa el bit de Transporte de Notificación Explícita de

Congestión o ECT (ECN Capable Transport) de la cabecera IPsolicitando bit de Eco de Notificación Explícita de Congestión(ECN) para dicho paquete a cualquier router que detecte congestiónEl router, al empezar a acercarse a su umbral de congestión, activa

el bit EC=1, activa el bit de Detección de Congestión o EC(Experienced Congestion) de la cabecera IP y lo encamina a laentidad TCP receptoraLa entidad receptora TCP, al recibir dicha cabecera IP, detecta que

hay principio de congestión en el camino y activa el bit de Eco deNotificación Explícita de Congestión (ECN-ECHO) de la cabeceraTCP y se lo envía a la entidad TCP emisora para que ésta active elcontrol de la congestiónLa entidad emisora TCP, al recibir ECN-ECHO = 1, activa el bit de

Ventana de Congestión Reducida o CWR (Congestion WindowReduced) de la cabecera TCP y se lo envía a la entidad TCPreceptora para indicar que ya se enterado, que ya ha activado elcontrol de congestión, que ya ha reducido su ritmo de transmisión yque no es necesario que le vuelva a enviar un ECN-ECHO = 1

Page 75: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

75

Esquema IP-ECN/TCP-ECN

1

TCP

ECT EC

1 0IP

CWR

0

ECT EC

CWR

2

1 1

0

3

ECN-ECHO

1

4CWR

1

Transmisor Router (cercano a la congestión)

Receptor

Bit de Transporte de Notificación Explícita de Congestión Bit de

Detección de Congestión

Bit de Eco de Notificación Explícita de Congestión

Bit de Ventana de de Congestión Reducida

TCP

TCP

Page 76: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

76

Problemática de la Fiabilidad TCP Hay aplicaciones que no toleran el retardo extremo a extremo

producido por los ACKs, los temporizadores, lasretransmisiones y controles de TCP Además, el control de congestión TCP reduce la tase de envío

(throughput) en el emisor Las retransmisiones TCP son inaceptables para aplicaciones

interactivas en tiempo real (p. ej., videoconferencias y VoIP) yno interactivas (streaming de audio y vídeo), al incrementar elretardo extremo a extremo

Cada vez hay más aplicaciones sobre UDPTráfico interactivo en tiempo real

• Audioconferencias, vídeoconferencias, VoIPTráfico no interactivo en tiempo real

• Streaming de audio y vídeo

Page 77: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

77

Se utiliza en los siguientes escenarios:Aplicaciones interactivas (audioconferencias,

videoconferencias, VoIP, etc.) y no interactivas(streaming de audio y vídeo, etc.) en tiemporeal

El intercambio de mensajes es muy escaso y losmensajes son cortos, por ejemplo, consultas al DNS

Los mensajes se producen regularmente y no importasi se pierde alguno: SNMP, NTP, …

Los mensajes se envían en una RAL del tipo Ethernet(sin errores físicos): DHCP, SNMP, …

Para tráfico broadcast/multicast

Protocolo UDP (User Datagram Protocol)RFC-768, STD 0006

Page 78: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

78

INTERFAZ DERED

APLICACIÓN

IP

UDP

INTERFAZ DERED

APLICACIÓN

IP

UDP

INTERFAZ DE RED

IP

INTERFAZ DE RED

INTERFAZ DE RED

IP

INTERFAZ DE RED

SERVICIO NO ORIENTADO A CONEXIÓN NO FIABLE PERO RÁPIDO

SISTEMA FINALSIN CONTROLES

EXTREMO A EXTREMO

…Ethernet PPP

SISTEMA FINAL

ROUTER ROUTER

Protocolo UDP (User Datagram Protocol)RFC-768, STD 0006

Transporte NO FIABLE PERO RÁPIDO de los mensajes de aplicación encapsulados en datagramas UDP

mensajes

Las unidades de datos del protocolo UDP (“PDUs UDP”)se denominan datagramas UDP o mensajes UDP

Page 79: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

79

Protocolo muy sencillo que añade un mínimo desobrecarga Añade muy poco al servicio de IP como es

proporcionar comunicación proceso a proceso en lugarde máquina a máquina SERVICIO NO ORIENTADO A CONEXIÓN NO

FIABLECon detección (opcional) y no recuperación de errores

físicosSin control (detección y recuperación) de errores lógicos

(datagramas UDP perdidos y desordenados)Sin control de errores, flujo y congestión

Multiplexación/Demultiplexación Transferencias simúltáneas en los dos sentidos (full-

dúplex)

Protocolo UDP (User Datagram Protocol)RFC-768, STD 0006

Page 80: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

80

PROTOCOLO UDPFormato de un Datagrama UDP

CABECERA DATOS

65.535 octetos

8 octetos

Longitud Total Máxima

RFC-768, STD 0006

Page 81: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

81

Formato de un Datagrama UDP

PUERTO ORIGEN PUERTO DESTINOLONGITUD UDP

DATOS

0 15 16 31

SUMA DE COMPROBACIÓN

CABECERAUDP

Longitud en octetos del datagrama UDP (cabecera + datos) =

Longitud mínima de 8 octetos (sin datos),Longitud máxima de 65.535 octetos (pero la longitud total debe ser menor debido a que un paquete IP tiene

una longitud máxima de 65.535 octetos)

(8 octetos)

A todo el datagrama UDP(cabecera y datos)

Uso opcional: Si entidad UDP emisora

pone “todo a ceros” = No usar

Page 82: I. ARQUITECTURA TCP/IP - pegaso.ls.fi.upm.espegaso.ls.fi.upm.es/.../clase7-CUARTOTCP-23noviembre2011.pdf · tcp/udp interfaz de red ip interfaz de red router (sistema intermedio)

ARQUITECTURA Y SERVICIOS DE INTERNET© Fco. Javier Yágüez García

82

DIRECCIÓN IP ORIGEN

LONGITUD DEL DATAGRAMA UDP

DATOS (Variable)

0 15 16 31

CABECERA UDP

00000000 PROTOCOLO = 17

DIRECCIÓN IP DESTINO

8

PSEUDOCABECERAUDP

PSEUDOCABECERA UDP

•La pseudocabecera se antepone a la cabecera UDP (al igual que en TCP),pero sólo a efectos de calcular el checksum, no se envía realmente

•Para no violar la jerarquía de cabeceras de protocolos puesto que lasdirecciones IP que contiene pertenecen al nivel IP

•Permite a la entidad UDP (al igual que a la entidad TCP) receptora detectardatagramas UDP mal entregados, es decir, comprobar que su nivel IP no seha equivocado y le ha pasado un datagrama UDP que era para otra máquinaaunque dicho datagrama UDP esté libre de errores•El valor 17 (10001 en binario) indica que el protocolo de transporte es UDP


Recommended