Nivel de Transporte: Introducción, UDP y TCP

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Nivel de Transporte: Introducción, UDP y TCP"

Transcripción

1 TEMA 1: Introducción a las Redes de Telecomunicaciones Redes de Ordenadores 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. Nivel de Transporte: Introducción, UDP y TCP 1.1. Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) FUENTE Transmisor Sistemas de Transm Receptor DESTINO Sistema Origen Sistema Destino 2

2 Objetivos TEMA 1: Introducción a las Redes de Telecomunicaciones Conceptos y principios del nivel de transporte > Multiplexación > Transporte fiable > Control de flujo > Control de congestion 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. Estudio del nivel de transporte en Internet > Protocolos TCP y UDP 1.1. Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) FUENTE Transmisor Sistemas de Transmisión Receptor DESTINO Sistema Origen Sistema Destino 2

3 Funciones del nivel de transporte Comunicación lógica entre aplicaciones Protocolo en los extremos (end-to-end) > segmentación > reensamblado TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. 2 niveles de transporte en Internet > TCP > UDP 1.1. Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) FUENTE Sistema Origen Transmisor Sistemas de Transmisión Transporte Red Enlace Red Enlace Receptor Sistema Destino Red Enlace DESTINO Canal lógico Red Enlace Red Enlace Transporte Red Enlace 2

4 Red y transporte Nivel de red TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. Comunicación lógica entre hosts 5. Modelo de Referencia TCP/IP. Nivel de transporte Comunicación lógica entre procesos > mejora y utiliza la comunicación entre hosts App 1 App Qué es una Red de Telecomunicaciones? Transporte Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) Transporte Red FUENTE Transmisor Red Sistemas de Transmisión Red Receptor DESTINO Red Red Enlace Sistema Origen Enlace Sistema Destino Enlace Enlace Enlace 2

5 Transporte en Internet TEMA 1: Introducción a las Redes de Telecomunicaciones Entrega fiable y en orden (TCP) 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. > control de congestión > control de flujo > establecimiento de conexión Entrega no fiable, sin garantias de orden 1.1. Qué es una Red de Telecomunicaciones? (UDP) > best-effort igual que IP En los dos casos FUENTE Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) Sistema Origen > retardo no garantizado Transmisor > ancho de banda no garantizado Sistemas de Transmisión Transporte Receptor Red Enlace Red Enlace Sistema Destino DESTINO Red Enlace 2 Red Enlace Red Enlace Transporte Red Enlace

6 Funciones TCP/UDP Función común TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. Multiplexación/demultiplexación 2. Clasificación las Redes Telecomunicaciones. de 3. Estructura Internet. 4. Retardos en Redes Telecomunicaciones. 5. Modelo Referencia TCP/IP. aplicaciones Funciones sólo UDP > Envio no orientado a conexión 1.1. Qué es una Red de Telecomunicaciones? Es una Infraestructura. Funciones sólo TCP Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) > Manejo de conexiones > Transporte fiable de datos Sistemas de FUENTE Transmisor Transmisión > Sistema Origen Control de flujo y de congestión Receptor Sistema Destino DESTINO 2

7 Multiplexación y demultiplexación Un host con varias TEMA aplicaciones/programas/ 1: Introducción a las Redes de Telecomunicaciones procesos corriendo 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. > El nivel de red envía los paquetes al nivel de red del ordenador destino > El nivel de transporte arbitra la comunicación entre diferentes aplicaciones > un nivel de red, un nivel de transporte, varias aplicaciones Aplicación 1 Aplicación 2 Aplicación 3 Aplicación 4 Transporte 1.1. Qué es una Red de Telecomunicaciones? Transporte Emisor: Red Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) Sistemas de FUENTE Transmisor Transmisión recoger datos de distintas fuentes Sistema Origen encapsular con información del origen Receptor Sistema Destino DESTINO 2 Red Receptor: entregar a la aplicación (socket) correcta

8 Multiplexación y demultiplexación TEMA 1: Introducción a las Redes de Telecomunicaciones El host recibe datagramas IP 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. > Cada datagrama IP lleva una dirección IP de origen y de destino > Cada datagrama IP lleva un segmento del nivel de transporte > Cada segmento del niel de transporte lleva un puerto origen y destino (puerto: identificador de proceso/aplicación) 1.1. Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. El nivel de transporte usa Usando distintas tecnologías (eléctricas, electrónicas, las direcciones IP electromagnéticas, y los ópticas, ) puertos para decidir a Sistemas de FUENTE Transmisor Transmisión Receptor DESTINO quien entrega los datos Sistema Origen Sistema Destino puerto origen cabecera de transporte 2 Cabecera IP... Datos aplicación puerto destino Segmento del nivel de transporte

9 Demultiplexación no orientada a conexión Cuando UDP recibe un paquete Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. Se extraen de la cabecera 4. Retardos en Redes Telecomunicaciones. 5. Modelo Referencia TCP/IP. IP la dirección IP destino y de la cabecera UDP el puerto destino Se entregan los datos al socket identificado por la tupla TEMA 1: Introducción a las Redes de Telecomunicaciones 1.1. Qué es una Red de Telecomunicaciones? (dirip destino, puerto destino) Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) Paquetes provenientes de diferentes direcciónes origen y Sistemas de FUENTE Transmisor Transmisión Receptor DESTINO puertos origen se Sistema entregan Origen al Sistema Destino mismo socket sockets proceso 1 proceso S1 S2 S3 UDP

10 Demultiplexación no orientada a conexión Ejemplo P2 TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. P3 SP: source port DP: destination port P1P1 SP: 6428 DP: Qué es una Red de Telecomunicaciones? SP: 6428 DP: 5775 client IP: A SP: 9157 DP: 6428 Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) server IP: C SP: 5775 DP: 6428 Client IP:B FUENTE Transmisor Sistemas de Transmi Sistema Origen Sistema Destino La dirección origen y puerto origen permiten responder al cliente 2 Receptor DESTINO / 11

11 Demultiplexación orientada a conexión Cuando TCP recibe TEMA 1: Introducción a las Redes un paquete puede pertenecer a Telecomunicaciones 1. Modelo Genérico. varias conexiones establecidas 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. Varios sockets con mismo puerto... proceso 1 proceso 2 proceso 3 S CNX establecida 80 S12y3 CNX establecida S TCP TCP 1.1. Qué es una Red de Telecomunicaciones? TCP Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) Sistemas de FUENTE Transmisor Transmisión Receptor DESTINO Se entrega al socket Sistema Origen identificado Sistema Destinopor la 4-tupla 2 (dirip origen, puerto origen, dirip destino, puerto destino)

12 Demultiplexación orientada a conexión Ejemplo TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. SP: source port S-IP: source IP DP: destination port D-IP: destination IP P1 P4 P5 P6 P2 P1P3 SP: Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) DP: 80 S-IP: B D-IP:C client IP: A SP: 9157 DP: 80 S-IP: A D-IP:C FUENTE Sistema Origen Transmisor Sistemas de Transmisión server IP: C Receptor Sistema Destino DESTINO 2 SP: 9157 DP: 80 S-IP: B D-IP:C Client IP:B 1

13 Demultiplexación orientada a conexión Otro ejemplo TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. SP: source port S-IP: source IP DP: destination port D-IP: destination IP P1 P4 P2 P1P3 SP: Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) DP: 80 S-IP: B D-IP:C client IP: A SP: 9157 DP: 80 S-IP: A D-IP:C FUENTE Sistema Origen Transmisor Sistemas de Transmisión server IP: C Receptor Sistema Destino DESTINO 2 SP: 9157 DP: 80 S-IP: B D-IP:C Client IP:B 1

14 UDP: User Datagram Protocol TEMA 1: Introducción a las Redes de Telecomunicaciones UDP: User Datagram Protocol (RFC-768) 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. Proporciona un servicio de transporte para 5. Modelo de Referencia TCP/IP. aplicaciones sobre IP de tipo Best-Effort > Sin garantizar la entrega > Sin garantizar el orden de entrega > Mucho menos con tiempo o con ancho de banda garantizado 1.1. Qué es una Red de > Lo único que añade a IP es la multiplexación Telecomunicaciones? de aplicaciones y detección de errores Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) No orientado a conexión > No hay establecimiento FUENTE Transmisor Sistemas de Transmisión Sistema Origen Sistema Destino > Cada datagrama se trata independientemente (protocolo sin estado) Receptor DESTINO 2

15 UDP Por qué un protocolo TEMA 1: Introducción a las Redes de como UDP? Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. Es rapido: no hay establecimiento 5. Modelo de Referencia TCP/IP. aunque no garantice el retardo no añade retardos innecesarios Es simple: no hay estado de conexión ni en el emisor ni 1.1. en Qué es una el Red de receptor Telecomunicaciones? Es una Infraestructura. Poco overhead Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) la cabecera UDP ocupa lo mínimo posible Sistemas de FUENTE Transmisor Transmisión Receptor DESTINO Es eficiente: no hay control de congestión Sistema Origen Sistema Destino 2 puede usar todo el ancho de banda que consigas

16 UDP: detalles Formato del paquete puerto origen puerto destino longitud del segmento UDP > bytes checksum sólo 8 bytes de cabecera! TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) FUENTE Transmisor segmento UDP Sistemas de Transmisión Receptor puerto origen longitud DESTINO 32 bits Cabecera IP... Datos aplicación puerto destino checksum Sistema Origen Sistema Destino 2

17 UDP: checksum 32 bits Cálculo del checksum (aunque no todos) FUENTE TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. 5. Modelo de Referencia TCP/IP. > Se trata el segmento como serie de valores de 16 bits > Suma binaria en complemento a 1 + pseudo-cabecera con algunos campos de la cabecera IP (para proteger errores en las direcciones y el protocolo) + segmento UDP 1.1. Qué es una Red de Telecomunicaciones? Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, electromagnéticas, ópticas, ) Transmisor Sistemas de Transmisión DESTINO Sistema Origen Sistema Destino Si UDP detecta errores en un paquete 2 Receptor puerto origen longitud dirección IP origen dirección IP destino proto Datos aplicación Detecta errores en todo el segmento UDP recibido no lo entrega 0s longitud UDP puerto destino checksum

18 UDP En que se usa UDP? TEMA 1: Introducción a las Redes de Telecomunicaciones 1. Modelo Genérico. 2. Clasificación de las Redes de Telecomunicaciones. 3. Estructura de Internet. 4. Retardos en Redes de Telecomunicaciones. Aplicaciones de streaming multimedia (audio/ 5. Modelo de Referencia TCP/IP. video en tiempo real o audio/videoconferencia) > tolerantes a las pérdidas y sensibles al ancho de banda Mensajes de DNS 1.1. Qué es una Red de Telecomunicaciones? > bajo retardo y poco overhead Es una Infraestructura. Proporciona comunicación entre múltiples entidades. De una manera eficiente. Usando distintas tecnologías (eléctricas, electrónicas, SNMP (monitorización de red) electromagnéticas, ópticas, ) > poco overhead y protocolo sencillo Juegos en red FUENTE Sistema Origen > mínimo retardo posible Transmisor Sistemas de Transmisión Receptor Sistema Destino DESTINO 2

19 Transporte fiable Se puede conseguir un transporte fiable sobre un nivel de datagramas de entrega no fiable? t_envia(datos) t_recibe(datos) Nivel de Transporte r_envia(datos) r_recibe(datos) Nivel de Red Entrega no garantizada se pueden perder datos

20 Protocolo de transporte fiable Descripción con máquinas de estados finitos. Notación Un estado Otro estado Una transición Evento que causa la transición Acciones que provoca la transición Ejemplo: protocolo de transporte sobre un nivel de red fiable Receptor r_recibe(p) Emisor t_envia(datos) Espera llamada de app p= paquete(datos) r_envia(p) Espera llegada de datos red fiable: r_envia(p) siempre causa un r_recibe(p) datos= extrae(p) t_recibe(datos) 10 octubre 2005 Transporte-2 4 /24

21 Errores de bit nivel de red puede cambiar bits (probabilidad de error) Cambios necesarios en el protocolo de transporte > Detección de errores + Uso de checksum > Comunicación de fallos al emisor + ACK (acknowledgement): avisar al emisor de los paquetes que recibimos + NACK (negative acknowledgement): avisar al emisor de los paquetes que no recibimos > Reenvío de paquetes

22 Protocolo de transporte fiable Para un canal con errores de bits Emisor t_envia(datos) p= paquete(datos) r_envia(p) r_recv(datos) == NACK r_envia(p) Espera llamada de app Espera ACK o NACK r_recv(datos) == ACK Receptor r_recibe(p) sin error nada r_recibe(p) con error r_envia(nack) Espera llegada de datos datos= extrae(p) t_recibe(datos) r_envia(ack) Más conocido como Stop-and-Wait Tiene algun problema este protocolo?

23 Problemas con stop-and-wait Qué pasa si hay un error en la transmisión del ACK o NACK? Qué pasa si el canal puede perder paquetes? Soluciones complican el protocolo > Detección de errores para ACK y NACK? > Checksums que permitan no solo detectar sino corregir errores? > Reenviar los datos si no entiendo el ACK/NACK?? + Nuevo problema: paquetes duplicados Los protocolos más usados utilizan contra esto numeros de secuencia del paquete

24 Protocolo con número de secuencia Cada paquete de datos lleva un numero de secuencia 0 o 1 > Si llega el que esperamos mandamos ACK y lo entregamos > Si llega el que no esperamos mandamos ACK pero no son datos nuevos r_recibe(datos) sin error y seq 0 r_recibe(datos) con error r_envia(nack) datos= extrae(p) t_recibe(datos) r_envia(ack) r_recibe(datos) con error r_envia(nack) r_recibe(datos) sin error y seq 1 r_envia(ack) Espera paquete 0 r_recibe(datos) sin error y seq 1 Espera paquete 1 r_recibe(datos) sin error y seq 0 r_envia(ack) datos= extrae(p) t_recibe(datos) r_envia(ack)

25 Protocolo con número de secuencia Estados del emisor r_recibe(datos) sin error y ack 1 Espera datos app 0 t_envia(datos) p= paquete(datos,0) r_envia(p) Espera ACK 0 r_recibe(datos) con error o ack 1 r_envia(p) r_recibe(datos) sin error y ack 0 Espera ACK 1 Espera datos app 1 r_recibe(datos) con error o ack 0 r_envia(p) t_envia(datos) p= paquete(datos,1) r_envia(p)

26 Protocolo con número de secuencia Podemos eliminar los NACKs > En lugar de un ACK enviamos ACK y la secuencia del siguiente paquete que esperamos recibir > En lugar de un NACK enviamos ACK y la secuencia del siguiente paquete que esperamos recibir > El emisor sabe que tiene que reenviar si recibe el ACK del paquete que no espera Problema pendiente: Qué pasa si se pierde un paquete? s0 s1 s0 s0 ack1 ack0 ack0 ack1

27 Pérdidas de paquetes Si se pierde un paquete el emisor se queda bloqueado en un estado Para romper el bloqueo usamos un temporizador en el emisor > Al enviar un paquete de datos ponemos en marcha un temporizador > Si transcurrido un tiempo, no se ha recibido ACK (TIMEOUT), reenviamos el paquete El receptor no se modifica

28 Protocolo con timeout Emisor con retransmisión por timeout t_envia(datos) p= paquete(datos,0) r_envia(p) inicia_temp() r_recibe(datos) con error o ack 1 timeout r_recibe(datos) sin error y ack 1 para_temp() Espera datos app 0 Espera ACK 0 r_envia(p) inicia_temp() r_recibe(datos) sin error y ack 0 para_temp() timeout r_envia(p) inicia_temp() r_recibe(datos) con error o ack 0 Espera ACK 1 t_envia(datos) p= paquete(datos,1) r_envia(p) inicia_temp() Espera datos app 1

29 Ejemplos Emisor Receptor Emisor r_send(paq0) r_recv(ack0) r_send(paq1) r_recv(ack1) r_send(paq0) paq0 ack0 paq1 ack1 paq0 ack0 Receptor r_recv(paq0) r_send(ack0) r_recv(paq1) r_send(ack1) r_recv(paq0) r_send(ack0) r_send(paq0) r_recv(ack0) r_send(paq1) timeout r_send(paq1) r_recv(ack1) r_send(paq0) paq0 ack0 paq1 perdido paq1 ack1 paq0 ack0 r_recv(paq0) r_send(ack0) r_recv(paq1) r_send(ack1) r_recv(paq0) r_send(ack0) Operación normal Pérdida de paquete 1

30 Ejemplos 1 Emisor Receptor paq0 ack0 paq1 ack1 r_send(paq0) r_recv(ack0) r_send(paq1) r_recv(ack1) r_send(paq0) r_recv(paq0) r_send(ack0) r_recv(paq1) r_send(ack1) r_recv(paq0) r_send(ack0) Pérdida de ACK Emisor Receptor paq0 ack0 ack1 paq0 ack0 r_send(paq0) r_recv(ack0) r_send(paq1) r_recv(ack1) r_send(paq0) r_recv(paq0) r_send(ack0) paq1 r_recv(paq1) (detecto duplicado) r_send(ack1) Timeout prematuro timeout r_send(paq1) paq1 ack1 paq0 ack0 perdido r_recv(paq1) r_send(ack1) timeout r_send(paq1) paq1 r_recv(paq1) r_send(ack1) ack1 r_recv(ack1) ignorado

31 Prestaciones El protocolo anterior es fiable pero es muy poco eficiente Ejemplo: Enlace de 1Gbps con un retardo de 15ms (4500Km), paquetes de 1000 bytes A que velocidad puedo enviar? RoundTripTime =30ms v = tam RoundTripTime = 8000bits.03s = 266Kbps 0.026%!! :-(

32 Protocolos más eficientes Para aumentar la eficiencia, se envían varios paquetes mientras llega el ACK Varios paquetes en la red por confirmar > Se usan más números de secuencia que 0 y 1 > Emisor y receptor necesitarán buffer para varios paquetes > Varias políticas para reaccionar a los errores + Go-Back N Emisor Receptor paq 0 + Selective reject paq 1 paq 2 paq 3 ack 0

33 Go back-n Se utiliza número de secuencia en el paquete Se permite una ventana de N paquetes sin confirmar Cada ACK confirma todos los paquetes anteriores (cumulative ACK) Cada paquete inicia su propio timeout Si caduca el timeout de un paquete se retransmiten todos los siguientes

34 Go back-n Ventana deslizante enviados no ACKed se pueden enviar transmitidos ACKed Llega este ACK Ventana de N paquetes no se pueden enviar Timeout del primer paquete pueden enviarse nuevos paquetes La ventana se desliza hacia mayores números de secuencia Volvemos a enviar

35 Go back-n Ventana de 4 paquetes Emisor paq 0 paq 1 paq 2 paq 3 paq 4 paq 5 timeout paq 2 paq 2 paq 3 paq 4 paq 5... Receptor ack 0 ack 1 ack 1 ack 1 ack 1 ack 2 ack 3 ack 4

36 Selective Reject El receptor confirma (ACK) individualmente cada paquete > Mantiene en buffer los paquetes recibidos a la espera de reconstruir la secuencia y pasarlos al nivel de aplicación Ventana paquetes recibidos que no pueden pasarse todavía al nivel de aplicacion Se reenvian los paquetes no confirmados por timeout > Timeout individual por cada paquete Ventana de N paquetes que pueden enviarse sin recibir ACK

37 Selective Reject Ventana deslizante del emisor enviados no ACKed confirmados ACKed se pueden enviar transmitidos ACKed Ventana de N paquetes Ventana deslizante del receptor esperados no se pueden enviar recibidos y confirmados en espera de poder entregarse aceptables confirmados y entregados Ventana de N paquetes no aceptables fuera de la ventana

38 Selective reject Ventana de 4 paquetes Emisor paq 0 paq 1 paq 2 paq 3 paq 4 paq 5 timeout paq 2 Receptor ack 0 ack 1 ack 3 ack 4 ack 5 ack 2... paq 5

39 El problema del selective reject Número de secuencia finito Ejemplo > seq= {0,1,2,3} > N=3 El receptor no puede notar la diferencia entre los dos escenarios Y entrega datos duplicados como buenos Que relación debe haber entre #secuencia y N? paq duplicado entregado!!! paq correcto entregado

40 TCP Protocolo de transporte de Internet (RFC 793) Transporte fiable > Entrega garantizada > Entrega en orden Orientado a conexión > Stream bidireccional (como si fuera un fichero) entre los dos extremos > No mantiene las fronteras de los mensajes Con control de flujo y congestión

41 TCP Interfaz con el nivel de aplicación > Tras establecer una conexión proporciona un stream bidireccional entre sockets > Sin fronteras entre mensajes > 2 buffers por conexión + Escribir en el socket pone los datos en buffer de envio + Buffer de recepción para esperar el read() TCP connexión connexión connexión TCP connexión connexión connexión IP IP IP IP

42 TCP Demultiplexación de datos que llegan a TCP: > Se identifica al socket destino por la tupla ( IP origen, puerto origen, IP destino, puerto destino ) > La tabla de tuplas (ip,puerto,ip,puerto) con sus sockets de un nivel TCP es la tabla de conexiónes. La conexión sólo existe en los extremos TCP write(datos) puertos A1 A2 A3 puertos B1 read(datos) B3 TCP connexión connexión connexión Tabla de conexiones TCP connexión connexión IPB, puertob1, IPA, puertoa1 : cnx1 IPB, puertob3, IPA, puertoa2 : cnx2 IPX, puertop, IPA, puertoa3 : cnx3 host IPA Paquete a IPB puertob3 IPA, puertoa1, IPB, puertob1 : cnx1 IPA, puertoa2, IPB, puertob3 : cnx2... recibido paquete host IPB

43 TCP Los buffers aislan a TCP de las operaciónes del usuario. > TCP hará lo posible por enviar los datos cuando pueda > TCP colocara los datos en el buffer de recepción cuando lleguen Para realizar esto TCP necesitara un conjunto de mensajes para comunicarse con el TCP del otro lado > Mensajes de establecimiento y cierre de conexión > Mensajes de datos > Mensajes con ACKs Veamos los mensajes del protocolo TCP

44 TCP Segmento TCP Cabecera de tamaño variable > 20 hasta 60 bytes según las opciones Datos del nivel de aplicación Cabecera TCP 20 bytes obligatorios puerto origen HL nada checksum Cabecera IP... numero secuencia numero ack flags 32 bits opciones puerto destino ventena recep. urgent data ptr Datos aplicación

45 TCP Contenido Datos de multiplexación > Puerto origen > Puerto destino puerto origen HL nada checksum Cabecera IP... numero secuencia numero ack flags puerto destino ventena recep. urgent data ptr opciones Datos aplicación

46 TCP Contenido Datos para transporte fiable > Número de secuencia > Número de ACK > Checksum Cabecera + datos de applicación + algunos datos de IP (pseudo cabecera como en UDP) En un mismo paquete podemos mandar datos y confirmar datos del sentido contrario puerto origen HL nada checksum Cabecera IP... numero secuencia numero ack flags opciones Datos aplicación puerto destino ventena recep. urgent data ptr

47 TCP Contenido FLAGs: diferentes tipos de paquetes del protocolo > URG urgente > ACK acknowledgement > PSH push > RST reset > SYN syn > FIN fin puerto origen HL nada checksum Cabecera IP... numero secuencia numero ack flags opciones Datos aplicación puerto destino ventena recep. urgent data ptr

48 TCP Contenido Control de flujo > ventana de recepción Datos urgentes HL (header length) > Tamaño de la cabecera (en palabras de 4 bytes) > 4 bits de de 5 a 15 palabras de 20 a 60 bytes Opciones extras puerto origen HL nada checksum Cabecera IP... numero secuencia numero ack flags opciones Datos aplicación puerto destino ventena recep. urgent data ptr

49 TCP Permiten especificar operaciones y tipos de paquetes que se han ido añadiendo posteriormente al protocolo Las opciones se colocan seguidas. 2 formatos > opciones de 1 byte > opciones de varios bytes Opciones básicas > Fin-de-la-lista de opciones > No-operacion (para rellenar) > Maximum segment size max seg size Permite descubrir el tamaño máximo de segmento en una conexión tipo tipo longitud variable

50 TCP: envío de datos No hay separación de paquetes. Los bytes a enviar se colocan en el buffer y forman una corriente de bytes sin fronteras de paquetes El número de secuencia y el numero de ACK hacen referencia al byte concreto Buffer Datos de aplicacion a enviar al otro extremo... y no tienen fronteras de mensajes... seq # =17 on a enviar al otro extremo... y n Segmentos TCP seq # =51 o tienen fronteras de mensajes

51 TCP: envío de datos Secuencia y ACK: campos de 32 bits > 4 Gb de datos para dar la vuelta > La secuencia no empieza de 0 sino que se genera al azar al principio de cada conexión y para cada sentido El campo ACK > es valido si esta activado el flag ACK > indica la próxima secuencia que el receptor espera recibir cumulative ACK: Go back N a nivel de byte Si una conexión está transmitiendo en ambos sentidos los ACKs de un sentido van en los paquetes de datos del opuesto piggyback

52 Ejemplo Paquetes de un telnet desde a Cliente el usuario pulsa la letra c el cliente del usuario confirma la recepción conexión establecida seq=6 ack=16 datos= c seq=16 ack=7 datos= c seq=7 ack=17 nodatos Servidor el servidor recibe la letra c y se la envia al usuario para que aparezca en pantalla

53 Ejemplo Paquetes de un telnet desde a Usando tcpdump para ver los paquetes Tiempo secuencia ack paquete sin datos > : P 6:7(1) ack 16 win > : P 16:17(1) ack 7 win > :. ack 17 win > : P 7:8(1) ack 17 win > : P 17:18(1) ack 8 win > :. ack 18 win > : P 8:10(2) ack 18 win > : P 18:20(2) ack 10 win > :. ack 20 win 1460 Origen { ip, puerto } Destino { ip, puerto }

54 Datos urgentes Si URG está activado. > El paquete lleva datos urgentes. Canal de datos Out-of-band > El puntero urgente indica donde acaban los datos urgentes > Los datos normales se entregan normalmente en el buffer para la aplicación > Los datos urgentes se entregan aparte No se usa mucho En sockets los datos urgentes hay que pedirlos con setsockopt puerto origen HL nada checksum Cabecera IP... numero secuencia numero ack flags opciones Datos urgentes puerto destino ventena recep. urgent data ptr Datos normales

55 TCP: transporte fiable TCP utiliza una ventana deslizante > Número de secuencia: el primer byte enviado en el segmento > ACK: el próximo byte que espera recibir el receptor Los paquetes TCP llevan > Número de secuencia de los datos. Si no llevan datos, el campo número de secuencia indica el proximo numero de secuencia que se enviará > Próximo número de secuencia que espera recibir su emisor. Es válido si el byte ACK está activado > Los números de secuencia son independientes en ambos sentidos Transmisiones simultáneas en los dos sentidos Cada extremo funciona como un emisor y un receptor independientes

56 TCP: emisor Eventos en el emisor Llegan datos desde el nivel de aplicacion crear segmento nuevo sec # el siguiente de la stream iniciar temporizador si no hay uno iniciado timeout retransmitir el segmento que causó el timeout reiniciar timeout recibido ACK Si confirme un segmento nuevo > actualizar ventana cumulativ ACK > reiniciar timeout si quedan segmentos por confirmar

57 Ejemplos sendbase=92 8bytes Emisor Receptor sec=92 datos 8B ack 100 sendbase=92 8bytes 20bytes timeout Emisor sec=92 datos 8B sec=100 datos 20B Receptor ack 100 timeout sendbase=100 sec=92 datos 8B ack 100 sendbase=100 sendbase=120 sec=92 datos 8B ack 120 ack 120 sendbase=120 pérdida de ACK timeout prematuro

58 Ejemplos sendbase=92 8bytes Emisor sec=92 datos 8B Receptor sendbase=92 8bytes 20bytes Emisor sec=92 datos 8B Receptor 20bytes timeout sendbase=120 timeout cancelado sec=100 datos 20B ack 120 ack 100 sendbase=100 timeout datos pendientes sec=100 datos 20B ack 100 ack 120 sec=100 datos 20B ACK acumulado reinicio timeout

59 TCP: varias retransmisiones El timeout se dobla cada vez que caduca y se envía de nuevo el paquete Exponential backoff Emisor Receptor

60 TCP: receptor Eventos del receptor > Llega segmento en orden con el numero de secuencia esperado No hay ACKs pendientes de enviar último ACK enviado último byte recibido Acción: Delayed ACK, espera hasta 500ms al siguiente paquete, si no llega manda ACK > Llega segmento en orden con el numero de secuencia esperado Hay un delayed ACK pendiente último ACK enviado último byte recibido Acción: envía inmediatamente ACK (al ser acumulado confirma los dos)

61 TCP: receptor Eventos del receptor > Llega segmento fuera de orden generando hueco último ACK enviado último byte recibido ACK # > Llega segmento rellenando hueco Acción: envía inmediatamente ACK causando ACK duplicado último ACK enviado Acción: envía inmediatamente ACK ACK # > Llega segmento ya reconocido Acción: ignorar

62 TCP: Fast retransmit El timeout normalmente es relativamente largo > Si se pierde un paquete de datos se genera hueco y se detendrá la transmisión durante un timeout > Normalmente el emisor envía varios paquetes seguidos El receptor no puede hacer un NACK pero está generando ACKs duplicados!! Emisor ack 100 ack 200 ack 200 ack 200 ack 200 ack 200 Receptor timeout

63 TCP: Fast retransmit Fast retransmit > Si el emisor recibe 3 ACKs con el mismo numero de ACK supondrá que se ha perdido el paquete que llevaba ese numero de secuencia > Reenvia el paquete inmediatamente sin esperar a que caduque el timeout 3 dup ACKs!!! = fast retransmit recibidos todos timeout cancelado Emisor ack 100 ack 200 ack 200 ack 200 ack 200 ack 200 ack 700 Receptor

64 TCP: timeout Qué timeout se debe usar? > Suficiente para que el paquete llegue a su destino y el ACK vuelva. A este tiempo se le denomina tiempo de ida y vuelta o Round Trip Time (RTT) > El RTT depende de muchos factores + velocidad de la red + tiempos de respuesta del destino RTT + tiempos de espera en routers > Muy variable, incl entre origen y destino fijos > timeout < RTT retransmisiones innecesarias > timeout >> RTT reacción lenta ante las pérdidas

65 TCP: timeout Solución: estimar el RTT y adaptar el timeout al valor de RTT estimado Estimando el RTT > Se toma una muestra SampleRTT por cada vez que se envía un segmento hasta que llega su correspondiente ACK + Se ignora la muestra si el segmento se retransmite + Se mide con delayed acks (overestimation) + Sólo se puede medir una muestra a la vez (1 solo timer) y normalmente con precisión de 500ms SampleRTT1 SampleRTT2 Descartado por retransmisión SampleRTT3

66 TCP: estimación RTT El valor medido SampleRTT varía queremos un RTT estimado suave > Utilizamos el promedio de varias muestras Exponential weighted moving average EstimatedRTT = (1- α)*estimatedrtt + α*samplertt > La influencia de muestras pasadas decrece exponencialmente > Típicamente: α= 0.125

67 TCP: estimación de RTT Ejemplo 24 octubre 2005 Transporte-4 15 /17

68 TCP: estimación de RTT Eligiendo el timeout > EstimatedRTT mas un márgen de seguridad + A mayor variación de EstimatedRTT mayor debe ser el margen de seguridad + Estimamos la variación de EstimatedRTT con DevRTT = (1-β)*DevRTT + β* SampleRTT-EstimatedRTT (typically, β = 0.25) Se toma como timeout TimeoutInterval = EstimatedRTT + 4*DevRTT

69 TCP: Control de flujo El receptor de TCP tiene un buffer en el que TCP va colocando los datos que llegan. > Estos datos se le entregan al nivel de aplicación al hacer un read() sobre el socket > La aplicación puede ser lenta al leer los datos. Qué pasa si los datos llegan y no hay buffer? > Hace falta un mecanismo que ajuste la velocidad de los datos que llegan a la velocidad a la que lee la aplicación Este es el problema del control de flujo. > Es un problema general de los protocolos de comunicaciones > Normalmente se resuelve haciendo que el receptor sea capaz de enviar indicaciones al emisor de que su buffer se esta llenando para que este reduzca la velocidad de envío read() buffer de recepción

70 TCP: Control de flujo TCP informa al emisor de cuanto buffer tiene libre en cada paquete que le envía!! > Esa es la función del campo ventana de recepción de la cabecera > En cada paquete el receptor anuncia cuantos datos es capaz de recibir > Este valor se utiliza como máximo numero de bytes que se pueden tener en la red sin recibir ACK. Máximo de la ventana deslizante ventana anunciada Cabecera IP... puerto origen puerto destino numero secuencia numero ack HL nada flags ventena recep. checksum urgent data ptr opciones Datos aplicación buffer de recepción

71 Ejemplo De una transferencia de página web IP > :. ack 1 win IP > : P 1:39(38) ack 1 win IP > :. ack 39 win IP > : P 1:291(290) ack 39 win IP > :. 291:1739(1448) ack 39 win IP > : P 1739:3187(1448) ack 39 win IP > :. ack 3187 win IP > :. 3187:4635(1448) ack 39 win IP > :. 4635:6083(1448) ack 39 win IP > :. 6083:7531(1448) ack 39 win IP > : P 7531:8979(1448) ack 39 win IP > :. ack 8979 win IP > :. 8979:10427(1448) ack 39 win IP > : :11875(1448) ack 39 win IP > : :13323(1448) ack 39 win IP > : :14771(1448) ack 39 win IP > : P 14771:16219(1448) ack 39 win IP > :. ack win Conforme recibo datos se va llenando el buffer

72 TCP: Control de flujo El campo para anunciar ventana sólo tiene 16 bits > Solo puede anunciar 65KBytes!!! (el numero de secuencia direcciona 4GB) > Podían ser suficientes en los primeros tiempos de TCP... Consecuencias > no hay que preocuparse del overlflow de numero de secuencia > si hay que preocuparse por las velocidad de transferencia RTT La máxima velocidad de transferencia es: v = ventana max RT T En el ejemplo de 1Gbps y 30 ms v = 65535bytes 30ms 17.5Mbps Al menos llegamos al 17%

73 TCP: conexiones Hasta ahora hemos visto los mecanismos de transporte fiable y control de flujo entre un emisor y un receptor TCP. TCP es orientado a conexión Previamente comunicarse datos entre un emisor y un receptor deben negociar un establecimiento de conexión. > TCP inicializa sus variables para la conexión y crea los buffers > Esto se hace mediante los paquetes que utilizan los flags SYN, FIN y RST > Protocolo para establecer la conexión > Protocolo para liberar la conexión

74 TCP: establecimiento de conexión Mecanismo: Three way handshake > Lado cliente (socket que hace connect) envía un paquete sin datos con el flag SYN Establece el numero de secuencia inicial > Lado servidor (socket que hace accept) responde con un paquete sin datos con ACK y SYN Establece el numero de secuencia inicial > Lado cliente reconoce este paquete con un ACK Este paquete ya puede llevar datos > Al recibir el ACK el servidor puede enviar ya datos SYN ACK+SYN ACK > Los SYNs gastan un número de secuencia para poder confirmarse con ACKs

75 Ejemplo Otra conexión web... Los SYNs usan un número de secuencia para poder ser confirmados SYN IP > : S : (0) win IP > : S : (0) ack win IP > :. ack win ACK IP > : P : (240) ack win IP > :. ack win IP > : P : (300) ack win IP > : : (1448) ack win IP > : P : (1448) ack win SYN +ACK Aqui empieza la transferencia Paquete 4

76 Cierre de la conexión Cualquiera de los dos extremos puede iniciarlo > Envia un paquete sin datos con el flag FIN. Consume tambien un numero de secuencia > El otro extremo, confirma enviando un ACK e indica que cierra tambien con otro FIN. Este segundo FIN puede ir en el mismo paquete o en otro. > El extremo original confirma con un ACK FIN ACK+FIN ACK FIN ACK FIN ACK

77 Cierre de la conexión Medio cierre > El cierre de cada sentido de la conexión es en realidad independiente > Un extremo puede cerrar la conexión indicando que no enviara mas datos pero puede seguir recibiendo lo que le envian FIN ACK datos ACKs FIN close(s) ACK

78 Ejemplo El final de una conexión web... El cliente decide cerrar y manda un FIN El servidor está enviando datos... IP > : P : (1448) ack win IP > : P : (929) ack win IP > :. ack win IP > : F : (0) ack win IP > :. ack win IP > : F : (0) ack win IP > :. ack win El servidor cierra su sentido

79 TCP: abortar una conexión Paquete Reset (RST) > Se envía cuando TCP recibe un paquete que es inconsistente con su estado de la conexión recibir datos sin tener conexión abierta > Le dice al otro extremo que esa conexión no existe y que destruya toda la información de ese estado de conexión > También se usa para decir que no hay nadie escuchando un puerto > También se puede usar por el nivel de aplicación para cerrar una conexión de forma rápida > El otro extremo no hace falta que conteste nada datos RST

80 TCP: establecmimiento de conexión Qué pasa si se pierden paquetes del establecimiento o del cierre? > Tienen un número de secuencia así que se pueden retransmitir. Es como si fueran un byte de datos. > Se utiliza retransmisión por timeout Retransmision de SYNs > Problema: al comenzar la conexión no ha habido tiempo de hacer estimaciones del RTT. La mayoría de las implementaciones utilizan un timeout inicial de 6 segundos. Si falla el timeout se pone a 24 segundos y se va doblando Retransmision de FINs > Problema: el sistema operativo no puede deshacerse del estado de la conexión inmediatamente. Tiene que mantenerlo un tiempo por si acaso hacen falta retransmisiones

81 TCP estados TCP Estados del servidor TCP Estados del cliente

82 TCP: establecimiento de conexión Casos especiales: apertura simultánea > Si dos clientes inician simultaneamente una conexión entre ellos > Nótese que los dos tienen que usar puertos conocidos por el otro > Se usa muy poco connect() SYN SYN connect() ACK+SYN conexión establecida ACK ACK+SYN conexión establecida ACK

83 TCP: establecimiento de conexión Casos especiales: cierre simultáneo > Los dos extremos deciden cerrar a la vez > Los dos extremos deben esperar en TIME_WAIT para poder retransmitir el FIN close() FIN FIN close() TIME_WAIT ACK ACK TIME_WAIT

84 Por qué se pierden los paquetes? Varias causas > Errores de transmisión. Modifican bits aleatorios de los paquetes. Los niveles que hacen detección de errores se ven obligados a descartar el paquete al no estar seguros de entregarlo correctamente Para R3 R1 R2 Independiente del tráfico > Desbordamiento de buffer Un router que debe reenviar un paquete se encuentra con que todos sus recursos de memoria (por ejemplo en la cola de paquetes esperando la salida están ocupados). Debe descartar el paquete por falta de recursos R1 R2 R3 R4 R3 R4 Dependiente de la carga de la red

85 Congestión de red Qué es? Demasiadas fuentes enviando demasiado trafico para que la red pueda manejarlo No es lo mismo que el control de flujo > Relacionado con que el receptor pueda manejar el tráfico > La congestión puede darse aunque todos los receptores sean capaces de aceptar el trafico que se está enviando Efectos: > Pérdidas de paquetes (debido a desbordamiento de colas de routers) > Tiempos de espera elevados (debido a tiempos de espera en colas altos) Es uno de los problemas más importantes de redes

86 Escenario 1 Dos emisores y dos receptores Un router común (supongamos que con buffer infinito) > Nunca ocurren retransmisiones > Las dos fuentes envian a una media de λin > La capacidad del router es C Como se comporta el sistema??

87 Escenario 1 Entrada y salida. Cuanto throughput obtenemos del sistema? λout para cada λin aceptable (mitad de capacidad para cada uno) C/2! out retardo! in C/2! in C/2 Pero el retardo aumenta indefinidamente Cada vez tiene más paquetes que procesar Recursos infinitos no garantizan un buen funcionamiento 31 octubre 2005 Transporte-6 6 /18

88 Escenario 2 Igual que el anterior pero ahora el router tiene recursos finitos. > Los paquetes no esperan indefinidamente (retardo limitado) > Si se transmite a mucha velocidad algunos paquetes se perderan y el nivel de transporte los retransmitirá > Tráfico λ in = λin + retransmisiones

89 Escenario 2 λin = λout (goodput) Envío perfecto (no hay retransmisiones hasta que alcancemos R/2) Retransmisión implica λ in > λout! out R/2! out R/3! out R/4 R/2 Perfecto no retransmisiones!' in R/2!' in Retransmisiones sólo por desbordamiento R/2!' in Retransmisiones por timeout prematuro Coste de la congestión > Más trabajo (retransmisiones) para el mismo resultado (goodput) > Retransmisiones innecesarias: capacidad perdida

90 Control de congestión Problema: cuando la red está saturada por alta carga proveniente de muchas fuentes se pierden paquetes, se cursa menos tráfico útil y aumenta el retardo de los paquetes que llegan a su destino Los protocolos de transporte reaccionan aumentando las retransmisiones causando más carga y más congestión

91 Control de congestión Dos enfoques para control de congestión Control de congestión extremo a extremo > No hay indicación explicita de la congestión > Los extremos estiman la congestión basandose en sus propias observaciones de la red + Perdidas observadas + Retardo observado > Los extremos reacciónan a la congestión reduciendo la carga: disminuyendo retransmisiones, tasa de envíos, aumentando timeouts... > Esta es la filosofía que utiliza TCP

92 Control de congestión Dos enfoques para control de congestión Control de congestión asistido por la red > Los routers informan de la congestión a los extremos de la comunicación + Modificando un bit para indicar congestión: SNA, DECnet, TCP/IP ECN (RFC2481), ATM + Indicando la tasa máxima a la que puede enviar ATM ABR

93 Control de congestión en Internet Internet se basa en un nivel de red simple que no asiste en la detección de la congestión TCP utiliza control de congestión extremo a extremo > Como inferimos que hay congestión en la red? + Perdidas? + Retardo? > Qué hacemos para evitarlo? + Reducir la tasa de envío? Cómo? + Aumentar el timeout? Si hay errores bajar la tasa de transferencia?

94 TCP: Control de congestión Usa control de congestión extremo a extremo > La ventana deslizante de transporte fiable tenia un limite máximo impuesto por el control de flujo igual a la ventana anunciada por el receptor > Se utiliza otra ventana de congestión que limita los datos que se pueden enviar a la red dependiendo de la percepción que tiene TCP de la congestión > La ventana anunciada depende del receptor > La ventana de congestión se reduce ante la congestión limitando la tasa a la que enviamos v = CongWin RT T Ventana = min { ventana anunciada, ventana de congestión } confirmados enviados se pueden enviar no se pueden enviar

95 TCP: Control de congestión Cómo percibe TCP la congestión? > Perdida de paquetes = congestión + Evento de timeout + 3 ACKs duplicados (Fast retransmit) Ajustando la ventana de congestión > Congestion avoidance (evitación de congestion) > Slow start > Fast recovery > Timeout MSS: maximun segment size > Aun cuando TCP utiliza secuencias y ACKs por bytes individuales cuando tiene mucho que enviar utiliza un máximo tamaño de segmento, que llamaremos MSS > En la siguiente clase veremos como se elige el MSS

96 TCP: Congestion avoidance Tras detectar congestión TCP entra en una fase de evitación de congestión (congestion avoidance) > Si la ventana de congestión tiene un valor de N MSS > En congestion avoidance se abre 1 MSS cada vez que enviamos con exito toda la ventana > La ventana sube linealmente Buscando encontrar el punto de equilibrio sin aumentar demasiado la congestión CongWin=4 MSS Enviado por RTT CongWin=5 MSS tiempo

97 TCP: Congestion avoidance Si en esta situación se produce una pérdida > De un sólo paquete, lo que provoca 3 ACKs duplicados. Se interpreta como congestión ligera > La ventana se reduce inmediatamente a la mitad A la vez que se hace fast retrasmit del paquete perdido Esto se conoce como fast recovery (originalmente se reducía a 1MSS) > Buscando reducir notablemente la tasa CongWin=8 MSS de transmisión y colaborar en que la congestión no crezca > Si se siguen recibiendo ACKs la ventana sigue creciendo linealmente Enviado por RTT CongWin=4 MSS tiempo

98 TCP: Congestion avoidance Se puede ver que la tasa se va ajustando alrededor del punto de congestión > si hay muchos errores la tasa baja y se tarda más en recuperarla > si hay pocos errores el crecimiento lineal es capaz de llegar mas a mas velocidad > Este mecanismo se suele llamar AIMD Additive Increase Multiplicative Decrease Y cómo empieza la conexión?? > Con CongWin = 1 MSS Enviado por RTT 1 pérdida 1 pérdida 1 pérdida tiempo

TCP. Temario. Temario

TCP. Temario. Temario Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación Introducción Temario Arquitecturas, protocolos y estándares Conmutación

Más detalles

TCP Transporte fiable en Internet

TCP Transporte fiable en Internet TCP Transporte fiable en Internet Area de Ingeniería Telemática http://www.tlm.unavarra.es Redes 4º Ingeniería Informática Hoy... 1. Introducción a las redes 2. Tecnologías para redes de área local 3.

Más detalles

Redes de Computadores Nivel de Transporte: Introducción + UDP

Redes de Computadores Nivel de Transporte: Introducción + UDP es de Computadores Nivel de Transporte: Introducción + UDP Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/ Hasta ahora Introducción a grandes rasgos > Internet

Más detalles

Transporte Introducción y transporte fiable

Transporte Introducción y transporte fiable Transporte Introducción y transporte fiable Area de Ingeniería Telemática http://www.tlm.unavarra.es Redes 4º Ingeniería Informática Hoy... 1. Introducción a las redes 2. Tecnologías para redes de área

Más detalles

Redes de Computadores Más sobre TCP. Área de Ingeniería Telemática Dpto. Automática y Computación

Redes de Computadores Más sobre TCP. Área de Ingeniería Telemática Dpto. Automática y Computación Redes de Computadores Más sobre TCP Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/ En clases anteriores Nivel de transporte UDP Introducción a TCP y transporte

Más detalles

Redes de Ordenadores Control de congestión en TCP. Mikel Izal Azcárate

Redes de Ordenadores Control de congestión en TCP. Mikel Izal Azcárate Redes de Ordenadores Control de congestión en TCP Mikel Izal Azcárate (mikel.izal@unavarra.es) En clases anteriores TCP y UDP TCP > Transporte fiable > Control de flujo > Manejo de conexiones El problema

Más detalles

Capítulo 3: Capa Transporte - III

Capítulo 3: Capa Transporte - III Capítulo 3: Capa Transporte - III ELO322: Redes de Computadores Tomás Arredondo Vidal Este material está basado en: material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet

Más detalles

Protocolos de ventana deslizante (sliding-window protocols)

Protocolos de ventana deslizante (sliding-window protocols) Protocolos de ventana deslizante (sliding-window protocols) Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación Temario

Más detalles

Transporte fiable Ventana deslizante

Transporte fiable Ventana deslizante Transporte fiable Ventana deslizante Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios Grado en Ingeniería en Tecnologías de Telecomunicación, 2º Stop

Más detalles

Transporte fiable Selective repeat

Transporte fiable Selective repeat Transporte fiable Selective repeat Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios Grado en Ingeniería en Tecnologías de Telecomunicación, 2º Temario

Más detalles

Transporte fiable. Area de Ingeniería Telemática

Transporte fiable. Area de Ingeniería Telemática Transporte fiable Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios Grado en Ingeniería en Tecnologías de Telecomunicación, 2º Temario 1. Introducción

Más detalles

TCP Transmission Control Protocol

TCP Transmission Control Protocol 1 TCP Transmission Control Protocol TCP es un protocolo orientado a conexión que crea una conexión virtual entre dos TCPs para enviar datos. Además, TCP usa mecanismos de control de flujo y error en la

Más detalles

Nivel de Transporte LSUB, GYSC, URJC

Nivel de Transporte LSUB, GYSC, URJC Nivel de Transporte LSUB, GYSC, URJC Transporte Transporte El nivel de transporte da acceso a la red extremo a extremo Puede haber más de un extremo en una máquina: puertos Puertos Puertos Los puertos

Más detalles

Tema 4: Protocolos de comunicación punto a punto. Tema 4: Protocolos de comunicación punto a punto

Tema 4: Protocolos de comunicación punto a punto. Tema 4: Protocolos de comunicación punto a punto Tema : Protocolos Tema : Protocolos Tema : Protocolos Tema : Protocolos Tema : Protocolos Tema : Protocolos Una vez tenemos un método para detectar errores, nos falta determinar el mecanismo que nos permita

Más detalles

ELO322 Redes de Computadores I 07/06/2013. Segundo Certamen ACK1 ACK1 ACK1 ACK1 ACK5

ELO322 Redes de Computadores I 07/06/2013. Segundo Certamen ACK1 ACK1 ACK1 ACK1 ACK5 Segundo Certamen Pregunta : Para el protocolo TCP- ptos puntos cada una, el resultado se multiplica por /6 a Explique y dé un ejemplo en un diagrama temporal del algoritmo de retransmisión rápida El algoritmo

Más detalles

TCP: Características Establecimiento y finalización de conexiones

TCP: Características Establecimiento y finalización de conexiones TCP: Características Establecimiento y finalización de conexiones Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación

Más detalles

Internet y TCP/IP La Capa de Transporte en Internet: Control de Flujo y Congestión

Internet y TCP/IP La Capa de Transporte en Internet: Control de Flujo y Congestión Internet y /IP La Capa de Transporte en Internet: Control de Flujo y Congestión mayo de 2008 Índice Administración de ventanas en. El síndrome de la ventana tonta y la solución de Clark. El algoritmo de

Más detalles

Redes (9359). Curso Ingeniería Técnica en Informática de Sistemas (plan 2001)

Redes (9359). Curso Ingeniería Técnica en Informática de Sistemas (plan 2001) Redes (9359). Curso 2009-10 Ingeniería Técnica en Informática de Sistemas (plan 2001) Carlos A. Jara Bravo (cajb@dfists.ua.es) Grupo de Innovación Educativa en Automática 2009 GITE IEA Redes (9359). Curso

Más detalles

Redes (9359). Curso Ingeniería Técnica en Informática de Sistemas (plan 2001)

Redes (9359). Curso Ingeniería Técnica en Informática de Sistemas (plan 2001) Redes (9359). Curso 2010-11 Ingeniería Técnica en Informática de Sistemas (plan 2001) Carlos A. Jara Bravo (cajb@dfists.ua.es) Grupo de Innovación Educativa en Automática 2009 GITE IEA Redes (9359). Curso

Más detalles

REDES DE ORDENADORES HOJA DE PROBLEMAS 3

REDES DE ORDENADORES HOJA DE PROBLEMAS 3 Página 1 REDES DE ORDENADORES HOJA DE PROBLEMAS 3 TCP 1) Suponga que se ha recogido la siguiente traza de una conexión TCP colocando el tcpdump en la máquina 130.206.169.222. Se sabe que las dos máquinas

Más detalles

Transporte fiable Ventana deslizante y go-back-n

Transporte fiable Ventana deslizante y go-back-n Transporte fiable Ventana deslizante y go-back-n Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios Grado en Ingeniería en Tecnologías de Telecomunicación,

Más detalles

TCP: Ventana de control de flujo y timers

TCP: Ventana de control de flujo y timers Gestión y Planificación de Redes y Servicios TCP: Ventana de control de flujo y timers Area de Ingeniería Telemática http://www.tlm.unavarra.es Grado en Ingeniería en Tecnologías de Telecomunicación, 4º

Más detalles

Problema de agotamiento de direcciones

Problema de agotamiento de direcciones Problema de agotamiento de direcciones Area de Ingeniería Telemática http://www.tlm.unavarra.es Laboratorio de Programación de Redes 3º Ingeniería Técnica en Informática de Gestión Objetivo Ver diferentes

Más detalles

Tema 14: El protocolo TCP

Tema 14: El protocolo TCP Tema 14: El protocolo TCP 1 Introducción 2 Puertos y conexiones 3 Control de flujo Recuperación n de errores 4 Control de congestión 5 Formato de un segmento TCP 6 Establecimiento y cierre de una conexión

Más detalles

Bloque III: El nivel de transporte. Tema 5: UDP y TCP

Bloque III: El nivel de transporte. Tema 5: UDP y TCP Bloque III: El nivel de transporte Tema 5: UDP y TCP Índice Bloque III: El nivel de transporte Tema 5: UDP y TCP UDP Cabecera UDP TCP Cabecera TCP Referencias Capítulo 3 de Redes de Computadores: Un enfoque

Más detalles

TEMA 3. Conceptos Avanzados del Protocolo TCP

TEMA 3. Conceptos Avanzados del Protocolo TCP AMPLIACIÓN DE SISTEMAS OPERATIVOS Y REDES Grados Ingeniería en Informática Universidad Complutense de Madrid TEMA 3. Conceptos Avanzados del Protocolo TCP PROFESORES: Rafael Moreno Vozmediano Rubén Santiago

Más detalles

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Índice Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Flujo de datos interactivo ACKs retardados Algoritmo de Nagle

Más detalles

Bloque III: El nivel de transporte. Tema 6: Conexiones TCP

Bloque III: El nivel de transporte. Tema 6: Conexiones TCP Bloque III: El nivel de transporte Tema 6: Conexiones TCP Índice Bloque III: El nivel de transporte Tema 6: Conexiones TCP Establecimiento de conexión Finalización de conexión Diagrama de estados Segmentos

Más detalles

Capa de Transporte, TCP y UDP

Capa de Transporte, TCP y UDP Capa de Transporte, TCP y UDP Mg. Gabriel H. Tolosa tolosoft@unlu.edu.ar Be conservative in what you do, be liberal in what you accept from others Jon Postel Principio de Robustez Capa de Transporte Ofrece

Más detalles

Bloque III: El nivel de transporte. Tema 6: Conexiones TCP

Bloque III: El nivel de transporte. Tema 6: Conexiones TCP Bloque III: El nivel de transporte Tema 6: Conexiones TCP Índice Bloque III: El nivel de transporte Tema 6: Conexiones TCP Establecimiento de conexión Finalización de conexión Diagrama de estados Segmentos

Más detalles

Transparencias de Redes de Ordenadores. Tema 10 Nivel de Transporte: TCP 1ª Parte TCP. Uploaded by. IngTeleco

Transparencias de Redes de Ordenadores. Tema 10 Nivel de Transporte: TCP 1ª Parte TCP. Uploaded by. IngTeleco Transparencias de Redes de Ordenadores Tema 10 Nivel de Transporte: TCP 1ª Parte TCP Uploaded by IngTeleco http://ingteleco.iespana.es ingtelecoweb@hotmail.com La dirección URL puede sufrir modificaciones

Más detalles

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Índice Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Flujo de datos interactivo ACKs retardados Algoritmo de Nagle

Más detalles

Bibliografía [COM06] Internetworking with TCP/IP, Cap. 12. Arquitectura de Redes y Servicios de Telecomunicación (ARST)

Bibliografía [COM06] Internetworking with TCP/IP, Cap. 12. Arquitectura de Redes y Servicios de Telecomunicación (ARST) Tema 3: El protocolo TCP Introducción Puertos y conexiones Control de flujo. Recuperación de errores Control de congestión Formato de un segmento TCP Establecimiento y cierre de una conexión Conclusiones

Más detalles

Transporte: Servicios y Protocolos. Prof. Wílmer Pereira

Transporte: Servicios y Protocolos. Prof. Wílmer Pereira Transporte: Servicios y Protocolos Prof. Wílmer Pereira Modelo de Capas Imperante Transporte corre en máquina del destino u origen independiente de la red sea o no confiable Protocolo transporte Interfaz

Más detalles

Capa de Transporte, TCP y UDP

Capa de Transporte, TCP y UDP Capa de Transporte, TCP y UDP Mg. Gabriel H. Tolosa tolosoft@unlu.edu.ar Be conservative in what you do, be liberal in what you accept from others. Jon Postel Principio de Robustez Capa de Transporte Ofrece

Más detalles

TCP Tema 3.- Nivel de transporte en Internet

TCP Tema 3.- Nivel de transporte en Internet TCP Tema 3.- Nivel de transporte en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material parcialmente adaptado del libro Computer Networking:

Más detalles

Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 3) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas

Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 3) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas Control de congestión El control de flujo permite al receptor controlar el ritmo de envío del transmisor en función de sus recursos (buffer de recepción). Cumple su cometido si ambos están en la misma

Más detalles

Preparado con materiales de: Presentación: Carlos Vicente Servicios de Red/Universidad de Oregon. Carlos Armas Roundtrip Networks.

Preparado con materiales de: Presentación: Carlos Vicente Servicios de Red/Universidad de Oregon. Carlos Armas Roundtrip Networks. Preparado con materiales de: Carlos Vicente Servicios de Red/Universidad de Oregon Presentación: Carlos Armas Roundtrip Networks Hervey Allen NSRC Planificación de la gestión del rendimiento Métricas Red

Más detalles

Computer Networks I CAPA DE TRANSPORTE

Computer Networks I CAPA DE TRANSPORTE 1 Version 15/03/2018 Computer Networks I applicatio n transporte network link CAPA DE TRANSPORTE physical Contenidos Conceptos generales Entrega proceso a proceso Sockets Multiplexación y demultiplexación

Más detalles

Bloque III: El nivel de transporte. Tema 8: Retransmisiones y temporizadores en TCP

Bloque III: El nivel de transporte. Tema 8: Retransmisiones y temporizadores en TCP Bloque III: El nivel de transporte Tema 8: Retransmisiones y temporizadores en TCP Índice Bloque III: El nivel de transporte Tema 8: Retransmisiones y temporizadores en TCP Retransmisiones Control de congestión

Más detalles

Xarxes de Computadors. Tema 3 Protocolos UDP y TCP

Xarxes de Computadors. Tema 3 Protocolos UDP y TCP Xarxes de Computadors Tema 3 Protocolos UDP y TCP Temario } 1) Introducción } 2) Redes IP } 3) Protocolos UDP y TCP } 4) Redes de área local (LAN) } 5) Protocolos del nivel aplicación Tema 3 Protocolos

Más detalles

TCP: Características Establecimiento y finalización de conexiones Tema 4.- Nivel de transporte en Internet

TCP: Características Establecimiento y finalización de conexiones Tema 4.- Nivel de transporte en Internet TCP: Características Establecimiento y finalización de conexiones Tema 4.- Nivel de transporte en Internet http://www.tlm.unavarra.es Redes de Ordenadores Ingeniero Técnico de Telecomunicación Especialidad

Más detalles

Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 1) Nivel de. Proceso. Nivel de Transporte. Nivel de Red.

Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 1) Nivel de. Proceso. Nivel de Transporte. Nivel de Red. TEMA III: UDP Y TCP 3. Protocols UDP i TCP 3.1 El protocol UDP 3.2 Funcionalitats de TCP 3.3 Els estats de TCP 3.3.1 Establiment de la conexió(3whs) 3.3.2 Finalització de la conexió 3.4 Control d'errors

Más detalles

Este documento es producto de trabajo realizado por Network Startup Resource Center (NSRC at Este documento puede ser

Este documento es producto de trabajo realizado por Network Startup Resource Center (NSRC at  Este documento puede ser Este documento es producto de trabajo realizado por Network Startup Resource Center (NSRC at http://www.nsrc.org). Este documento puede ser libremente copiado o re-utilizado con la condicion de que toda

Más detalles

El nivel de transporte

El nivel de transporte El nivel de transporte Jesús Moreno León Alberto Molina Coballes Redes de Área Local Septiembre 2009 Nivel de transporte Gobierna el acceso múltiple a la red de los diversos procesos de la máquina que

Más detalles

2.3.4 Capa de transporte. Protocolos

2.3.4 Capa de transporte. Protocolos 2.3.4 Capa de transporte Protocolos TCP El Protocolo de Control de Transmisión (TCP en sus siglas en inglés, Transmission Control Protocol que fue creado entre los años 1973-1974 por Vint Cerf y Robert

Más detalles

Andres Arcia Moret 1 Algunas láminas y/o gráficos son tomandos exactamente del laminario K-R

Andres Arcia Moret 1 Algunas láminas y/o gráficos son tomandos exactamente del laminario K-R Andres Arcia Moret andres@arcia.net.ve 1 Algunas láminas y/o gráficos son tomandos exactamente del laminario K-R Principios del Control de la Congestión } Retransmisión trata pérdidas pero NO la causa

Más detalles

Tema 4 CURSO 2015/16 (PLAN 2009) PRIMER SEMESTRE. Internet

Tema 4 CURSO 2015/16 (PLAN 2009) PRIMER SEMESTRE. Internet Tema 4 SUPUESTO 1 CURSO 2015/16 (PLAN 2009) PRIMER SEMESTRE A B Una entidad TCP de un equipo A desea establecer una conexión con otra entidad TCP de otro equipo "B" remoto por. La entidad TCP de "A" maneja

Más detalles

Capítulo 3: Capa Transporte - IV

Capítulo 3: Capa Transporte - IV Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Tomás Arredondo Vidal Este material está basado en: material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet

Más detalles

La tarea de esta capa es proporcionar un transporte de datos confiable de la máquina de origen a la máquina de destino, independientemente de la red

La tarea de esta capa es proporcionar un transporte de datos confiable de la máquina de origen a la máquina de destino, independientemente de la red CAPA DE TRANSPORTE La tarea de esta capa es proporcionar un transporte de datos confiable de la máquina de origen a la máquina de destino, independientemente de la red o redes físicas en uso. Transmission

Más detalles

Redes de Computadores - Problemas y cuestiones

Redes de Computadores - Problemas y cuestiones Redes de Computadores - Problemas y cuestiones Cuestiones: ARP y direcciones IP 1. Convierte la dirección IP cuya representación hexadecimal es C22F1582 a notación decimal con puntos. 2. Interpreta las

Más detalles

Resumen. Comunicación entre procesos. Servicios de la capa de Transporte UDP TCP

Resumen. Comunicación entre procesos. Servicios de la capa de Transporte UDP TCP Resumen Comunicación entre procesos Servicios de la capa de Transporte UDP TCP Resumen Resumen Comunicación entre procesos Hasta ahora vimos cómo se comunican los hosts. Ahora queremos ver cómo logramos

Más detalles

Bloque III: El nivel de transporte. Tema 8: Retransmisiones y temporizadores en TCP

Bloque III: El nivel de transporte. Tema 8: Retransmisiones y temporizadores en TCP Bloque III: El nivel de transporte Tema 8: Retransmisiones y temporizadores en TCP Índice Bloque III: El nivel de transporte Tema 8: Retransmisiones y temporizadores en TCP Retransmisiones Control de congestión

Más detalles

Introducción (I) La capa de transporte en Internet: TCP es: UDP es:

Introducción (I) La capa de transporte en Internet: TCP es: UDP es: Introducción (I) La capa de transporte en Internet: Esta formada por un gran número de protocolos distintos. Los más utilizados son TCP y UDP. TCP es: Fiable. Orientado a conexión. Con control de flujo.

Más detalles

15/06/14. Principios del Control de la Congestión. Causas y Costos de la Congestión. Escenario 1: 2 emisores, 1 enrutador con buffer infinito.

15/06/14. Principios del Control de la Congestión. Causas y Costos de la Congestión. Escenario 1: 2 emisores, 1 enrutador con buffer infinito. Principios del Control de la Congestión } Retransmisión trata pérdidas pero NO la causa de las pérdidas: } Muchas fuentes envian data a la vez y de forma rápida. Andres Arcia Moret andres@arcia.net.ve

Más detalles

Planificación y Administración de Redes: El nivel de Transporte. Jesús Moreno León Raúl Ruiz Padilla Septiembre 2010

Planificación y Administración de Redes: El nivel de Transporte. Jesús Moreno León Raúl Ruiz Padilla Septiembre 2010 Planificación y Administración de Redes: El nivel de Transporte Jesús Moreno León Raúl Ruiz Padilla j.morenol@gmail.com Septiembre 2010 Estas diapositivas son una obra derivada de las transparencias del

Más detalles

Propósito de la capa de transporte

Propósito de la capa de transporte Propósito de la capa de transporte Seguimiento de conversaciones individuales. Es responsabilidad de la capa de transporte mantener los diversos strams comunicación entre sus aplicaciones. Segmentación

Más detalles

Principios del Control de Congestión

Principios del Control de Congestión Agenda 3.1 Servicios de la capa de transporte 3.2 Multiplexación y demultiplexación 3.3 Transporte no orientado a conexión: UDP 3.4 Principios de la transferencia de datos confiable 3.5 Transporte orientado

Más detalles

Capítulo 3 Capa de Transporte

Capítulo 3 Capa de Transporte Capítulo 3 Capa de Transporte Transport Layer 3-1 rdt2.2: un protocolo libre de NAK La misma funcionalidad que rdt2.1, usando sólo ACKs En lugar de NAK, el receptor envía ACK por el último paquete recibido

Más detalles

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP.

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP. GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP. OBJETIVOS Introducir conceptos de las comunicaciones: protocolo, jerarquías de protocolos y estándares utilizados. Conocer los

Más detalles

Capítulo 4. Transporte UDP y TCP. Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación

Capítulo 4. Transporte UDP y TCP. Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación Capítulo 4. Transporte UDP y TCP Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación 1 2 Índice Hora 1 1 Paradigmas de comunicaciones 1.1 Paradigma cliente/servidor 1.2 Paradigma

Más detalles

Redes de Computadoras Práctica 5: La capa de transporte

Redes de Computadoras Práctica 5: La capa de transporte La capa de transporte Redes de Computadoras DCyT, UNQ Redes de Computadoras Práctica 5: La capa de transporte Temas EL SERVICIO DE TRANSPORTE, ELEMENTOS DE LOS PROTOCOLOS DE TRANSPORTE, LOS PROTOCOLOS

Más detalles

Figura 4.1: Niveles del TCP/IP

Figura 4.1: Niveles del TCP/IP CAPÍTULO 4 EL PROTOCOLO TCP 4.1 Introducción al protocolo TCP En la red Internet, el protocolo principal del nivel de transporte es el Transmission Control Protocol (TCP) [31]. La pila protocolaria TCP/IP

Más detalles

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas. Capa de Transporte. Mérida - Venezuela Prof. Gilberto Díaz

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas. Capa de Transporte. Mérida - Venezuela Prof. Gilberto Díaz Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Capa de Transporte Mérida - Venezuela Prof. Gilberto Díaz Transmission Control Protocol (TCP) Fue diseñado para proporcionar una transferencia

Más detalles

Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6

Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6 Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6 Problema 6.1: Se pretende utilizar una red de area local de 10Mbps

Más detalles

Control de flujo en TCP

Control de flujo en TCP Clase 20 Control de flujo en TCP Tema 5.- Nivel de transporte en Internet Dr. Daniel Morató Redes de Ordenadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen, 3º curso Temario

Más detalles

La implementación del Sender y del Receiver van a depender del modelo del canal que está por debajo y complejidad.

La implementación del Sender y del Receiver van a depender del modelo del canal que está por debajo y complejidad. Introducción 1) Principio de transferencia de datos Confiable Un canal confiable implica un canal donde los datos de entrada no sufren alteraciones a la salida (0 1, ó 1 0, etc.). La idea es que la capa

Más detalles

Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 2) Maximum Segment Size (MSS) No fragmentar datagrama IP

Sistemas de Transportes de Datos (STD) Tema III: UDP Y TCP (Entrega 2) Maximum Segment Size (MSS) No fragmentar datagrama IP Herramienta de visualización: tcpdump Programa que coloca a la tarjeta de red en modo promíscuo: todo lo que pasa por la red es recogido y pasado a los módulos IP y. Tcpdump presenta la información al

Más detalles

Tarea N 2 5, 27, 28, 33 para corrección.

Tarea N 2 5, 27, 28, 33 para corrección. Entregar problemas Tarea N 2 5, 27, 28, 33 para corrección. 1. Por qué en el protocolo rdt fue necesario introducir timers? 2. Considerar el protocolo stop-and-wait (rdt3.0). Dibujar un diagrama (traza)

Más detalles

Protocolos punto a punto Teoría de la Comunicaciones. 23 de Marzo de 2016

Protocolos punto a punto Teoría de la Comunicaciones. 23 de Marzo de 2016 Protocolos punto a punto Teoría de la Comunicaciones 23 de Marzo de 2016 Arquitectura en capas Las comunicaciónes se dan en capas que se brindan servicios entre sí Protocolos punto a punto Conceptos Objetivos

Más detalles

Tema 3: El protocolo TCP

Tema 3: El protocolo TCP 1 Tema 3: El protocolo TCP Capítulos: Introducción Puertos y conexiones Control de flujo. Recuperación de errores Control de congestión Formato de un segmento TCP Establecimiento y cierre de una conexión

Más detalles

75.43 Introducción a los Sistemas Distribuidos

75.43 Introducción a los Sistemas Distribuidos 75.43 Introducción a los Sistemas Distribuidos Práctica 1: Capa de Transporte Resumen La capa de transporte provee una comunicación confiable y eficiente entre dos máquinas, independientemente de aspectos

Más detalles

Nivel de Transporte en Internet

Nivel de Transporte en Internet Nivel de Transporte en Internet Nivel de Transporte en TCP/ La capa de transporte transmite mensajes entre las aplicaciones de dos ordenadores. La programación de aplicaciones sobre el nivel de transporte

Más detalles

Capítulo 3: Capa Transporte - I

Capítulo 3: Capa Transporte - I Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Tomás Arredondo Vidal Este material está basado en: material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet

Más detalles

Capítulo 3: Capa Transporte - III

Capítulo 3: Capa Transporte - III Capítulo 3: Capa Transporte - III ELO322: Redes de Computadores Agustín J. González Este material está basado en: Material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet.

Más detalles

Capa de transporte Nivel 4

Capa de transporte Nivel 4 Capa de transporte Nivel 4 A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

Más detalles

Figura 6.3 Descripción de la ventana deslizante.

Figura 6.3 Descripción de la ventana deslizante. Figura 6.3 Descripción de la ventana deslizante. Dada una longitud para los números de secuencia, el tamaño de la ventana real no necesita ser el máximo posible. Por ejemplo, si se usan números de secuencia

Más detalles

rdt2.2: fragmentos del emisor y receptor

rdt2.2: fragmentos del emisor y receptor rdt2.2: fragmentos del emisor y receptor && (corrupt(rcvpkt) has_seq1(rcvpkt)) rdt_send(data) sndpkt = make_pkt(0, data, checksum) por llamada 0 de arriba llamada 0 de abajo por ACK0 fragmento de la FSM

Más detalles

Internet. Tema 4. Cliente HTTP. Servidor HTTP. Curso 2017/18 Semestre 2 SUPUESTO 1

Internet.   Tema 4. Cliente HTTP. Servidor HTTP. Curso 2017/18 Semestre 2 SUPUESTO 1 Tema 4 Curso 2017/18 Semestre 2 SUPUESTO 1 Cliente Internet www.noticias.com Servidor Un usuario, desde su equipo ejecuta un navegador o cliente que utiliza el protocolo 2.0 para acceder a un servidor

Más detalles

Tema 1bis. TCP y UDP (aka Tema 5. TCP y UDP)

Tema 1bis. TCP y UDP (aka Tema 5. TCP y UDP) Tema 1bis. TCP y UDP (aka Tema 5. TCP y UDP) Ingeniería de protocolos Curso 2012/13 Jaime Benjumea Mondéjar Dpto. Tecnología Electrónica (Univ. de Sevilla) Indice Protocolos de nivel de transporte. Servicios

Más detalles

TCP Control de Congestión Teoría de la Comunicaciones. 05 de Junio de 2012

TCP Control de Congestión Teoría de la Comunicaciones. 05 de Junio de 2012 TCP Control de Congestión Teoría de la Comunicaciones 05 de Junio de 2012 Request for comments Internet Engineering Task Force Standards de Internet (ejemplo: rfc 1122 - Requirements for Internet Hosts

Más detalles

Bloque IV: El nivel de red. Tema 9: IP

Bloque IV: El nivel de red. Tema 9: IP Bloque IV: El nivel de red Tema 9: IP Índice Bloque IV: El nivel de red Tema 9: IP Introducción Cabecera IP Fragmentación IP Referencias Capítulo 4 de Redes de Computadores: Un enfoque descendente basdado

Más detalles

UDP Tema 3.- Nivel de transporte en Internet

UDP Tema 3.- Nivel de transporte en Internet UDP Tema 3.- Nivel de transporte en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material adaptado del libro Com puter Networking: A Top Down Approach

Más detalles

CONTROL DE ERRORES DETECCIÓN DE ERRORES

CONTROL DE ERRORES DETECCIÓN DE ERRORES CONTROL DE ERRORES DETECCIÓN DE ERRORES Ejecutada por el receptor y consiste en tener mecanismos para saber si lo que ha llegado está correcto o no. Si está correcto debe ser procesada y enviada al nivel

Más detalles

Conceptos avanzados. Contenido

Conceptos avanzados. Contenido Conceptos avanzados Daniel Morató Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra daniel.morato@unavarra.es Laboratorio de Programación de Redes http://www.tlm.unavarra.es/asignaturas/lpr

Más detalles

TEMA 12: La capa de transporte en Internet.

TEMA 12: La capa de transporte en Internet. TEMA 12:. 12.1 Introducción. En este tema nos centraremos exclusivamente en la capa de transporte en Internet, sin entrar en generalidades sobre el funcionamiento de la capa de transporte. posee un gran

Más detalles

Redes de Computadoras Septiembre de 2006. Teoría y problemas (75 %).

Redes de Computadoras Septiembre de 2006. Teoría y problemas (75 %). Redes de Computadoras Septiembre de 2006 Nombre: DNI: Teoría y problemas (75 ). 1. (2 puntos) Verdadero o falso? Razone además su respuesta. a) Un host A envía a un host B un fichero muy grande a través

Más detalles

Capítulo 3: Capa Transporte - I

Capítulo 3: Capa Transporte - I Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en: Material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet.

Más detalles

Primer Certamen (Tiempo: 90 min.) Si algo no está claro, haga una supuesto razonable, anótelo, y responda conforme a ello.

Primer Certamen (Tiempo: 90 min.) Si algo no está claro, haga una supuesto razonable, anótelo, y responda conforme a ello. Primer Certamen (Tiempo: 90 min.) Si algo no está claro, haga una supuesto razonable, anótelo, y responda conforme a ello. 1.- (50 puntos) Responda en forma precisa y clara (cuide su caligrafía, 5 puntos

Más detalles

Introducción a Internet

Introducción a Internet Introducción a Internet Ejemplo: Navegación En mi navegador escribo: http://www.fing.edu.uy Se despliega en mi pantalla un conjunto de textos, imágenes, animaciones Qué es lo que hace posible esto? 1 En

Más detalles

Contenido. UDP y TCP NAT Proxy El Laboratorio de Telemática. 17 Nov Conceptos avanzados 1/21

Contenido. UDP y TCP NAT Proxy El Laboratorio de Telemática. 17 Nov Conceptos avanzados 1/21 Conceptos avanzados Dr. Daniel Morató Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra daniel.morato@unavarra.es Laboratorio de Programación de Redes

Más detalles

Introducción. 1) Principio de transferencia de datos Confiable

Introducción. 1) Principio de transferencia de datos Confiable Introducción 1) Principio de transferencia de datos Confiable Un canal confiable implica un canal donde los datos de entrada no sufren alteraciones a la salida (0 1, ó 1 0, etc.). La idea es que la capa

Más detalles

Redes de Computadores

Redes de Computadores es de Computadores Tema 4 Nivel, TCP, UDP Arquitectura en capas de comunicación de datos 1 Capas Mensajes SW App Extremos Formatos Sesiones Segmentos SO Paquetes HW NIC Infra Tramos Tramas Bits Capas y

Más detalles

Figura 6.5 ARQ mediante parada-y-espera.

Figura 6.5 ARQ mediante parada-y-espera. Comunicación de Datos Posteriormente, A transmite la trama etiquetada con 1 pero ahora se pierde su correspondiente ACK0. El temporizador en A expira y se retransmite la trama. Al recibir B dos tramas

Más detalles

Protocolos, Servicios e Interfaces

Protocolos, Servicios e Interfaces Protocolos, Servicios e Interfaces Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación Temario 1. Introducción 2. Arquitecturas,

Más detalles

La capa de transporte

La capa de transporte La capa de transporte Redes de Computadoras Funciones en capa de transporte 1 Servicios y protocolos de transporte Se provee comunicación lógica entre procesos de aplicación corriendo en diferentes hosts

Más detalles

ELO322 Redes de Computadores I 6/05/2016

ELO322 Redes de Computadores I 6/05/2016 ELO322 edes de Computadores I 6/05/2016 Primer Certamen (Tiempo: 90 min.) Si algo no está claro, haga una supuesto razonable, anótelo, y responda conforme a ello. 1.- (50 puntos) esponda en forma precisa

Más detalles

Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González

Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González Este material está basado en: Material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet.

Más detalles