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

Slides:



Advertisements
Presentaciones similares
INSTITUTO NACIONAL DE INVESTIGACION Y CAPACITACION DE TELECOMUNICACIONES, INICTEL-UNI Propiedad intelectual de Daniel 2011.
Advertisements

Curso de Java Java – Redes Rogelio Ferreira Escutia.
Capa 4 Capa de Transporte
CAPA DE TRANSPORTE DEL MODELO OSI
Prácticas sobre el protocolo TCP
Capa de Transporte.
Capítulo 20: TCP Servicio de transporte confiable
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
Capa de transporte.
MODELO TCP/IP Conectividad de extremo a extremo especificando como los datos deberian ser formateados,direccionados,transmitidos,enrutados y recibidos.
Servidor de Batalla Naval.
MODELO TCP/IP.
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
TCP/IP V4 Redes de Computadoras uclv.
INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN.
PROTOCOLO DE TRANSPORTE Profesor Daniel Díaz Ataucuri Introducción
Arquitectura - 3er Parcial. Asignaturas para Arquitectura – 3er Parcial.  Diseño del modelo de red (clase networking).  Implementacion del modelo de.
Universidad Nacional de Luján - Asignatura Teleinformática y Redes Tema: Capa de Transporte - TCP 1 Capa de Transporte “Ofrece a sus usuarios un sistema.
DIDACTIFICACION DE IPv6 2. CABECERA, DIRECC. Y CONFIG. BÁSICA
Capa de aplicación y transporte de TCP/IP Semestre 1 Capítulo 11
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
Sistemas de Comunicación Magistral Nro. 8 Capa 4: Transporte Las funciones principales de la capa de transporte son transportar y regular el flujo de información.
Funciones Capa de Transporte
Conceptos avanzados Dr. Daniel Morató Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra
8.6-1 Capítulo 8, Sección 8.6: IPsec Material basado en el Texto: Computer Networking: A Top Down Approach Featuring the Internet, Jim Kurose, Keith Ross.
Redes 3º curso Ingeniería Técnica en Informática de Sistemas UNED.
CAPA DE RED  Aquí se lleva a cabo el direccionamiento lógico que tiene carácter jerárquico, se selecciona la mejor ruta hacia el destino mediante el.
TCP/IP Introducción TCP/IP Introducción. TCP/IP vs OSI Aplicación Presentación Sesión Transporte Red Enlace Física Aplicación Acceso a la red Física TCP/IP.
CAPITULO 6 CAPA DE TRANSPORTE
RESUMEN CAPITULO 6.
Introducción1-1 Capítulo 1: Introducción ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como apoyo.
Capa Transporte3-1 Capítulo 3: Capa Transporte - III ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
2: Capa Aplicación 1 Capa Aplicación: FTP ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Capítulo 3: Capa Transporte - III
Presentado a: Ing. Diego Pinilla Redes
Capa Transporte3-1 Capítulo 3: Capa transporte ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como.
Capa Transporte1 Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al.
Protocolo de Ventana Deslizante 2008
Capa de Red4-1 Capítulo 4: Capa Red - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer.
Modelo OSI Capas 3 y 4 Harold Sánchez Ospina
Escenarios en conexiones TCP
Capítulo 7: Capa de transporte
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
Redes de Datos Integrantes: Guízar Gómez Gerardo Nassir López Ortega Juan Manuel Rodríguez Castro Ronald Michel Silva Rangel Ángel Eduardo Capa 5. Sesión.
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
Conceptos de protocolos de red
TCP garantiza que la información es recibida en orden. Para ello, cada paquete enviado tiene un número de secuencia. Cada uno de los dos procesos involucrados.
Ing. Elizabeth Guerrero V.
4. Introducción a IP,TCP,UDP,ARP,ICMP
Capítulo 3: Capa Transporte - I
Jean Carlo Fernandez C.I Cesar Arismendi C.I
Ing. Elizabeth Guerrero V.
Tema 1 – Introducción a las Redes informáticas
Capítulo 5: Capa Enlace de Datos - I
Nivel de Transporte en Internet
PROTOCOLOS Modelo TCP/IP
Significa Modelo de Interconexión de sistemas Abiertos.
Modelo OSI Para redes………
Capa de Enlace Modelo OSI
TECNOLOGIAS INTEGRADAS DE INTERNET. CIRLEY CASTILLO MÓNICA MANTILLA DERLY VARGAS Aprendices: ING. BLANCA NUBIA CHITIVA Instructora: CENTRO DE INDUSTRIA.
Redes de Computadores Tema 4: TCP/IP Parte III.
Protocolos de Transporte y Aplicación
Capa Transporte 1 Capítulo 3: Capa Transporte - I ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al.
Protocolos de Transporte y Aplicación Javier Rodríguez Granados.
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Transcripción de la presentación:

TCP Tema 2.- 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: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross, Ed. Addison-Wesley, Julio 2004

17 NovTCP1/56 Temario 0.- Presentación de la asignatura 1.- Introducción 2.- Nivel de aplicación en Internet 3.- Nivel de transporte en Internet 4.- Nivel de red en Internet 5.- Nivel de enlace

17 NovTCP2/56 Temario 0.- Presentación de la asignatura 1.- Introducción 2.- Nivel de aplicación en Internet 3.- Nivel de transporte en Internet  Principios  Protocolo UDP  Protocolo TCP 4.- Nivel de red en Internet 5.- Nivel de enlace

17 NovTCP3/56 Protocolos de transporte Nivel de transporte Nivel de red TCP UDP IP Nivel de enlace Aplicación

17 NovTCP4/56 Protocolos y servicios de transporte Ofrece comunicación lógica entre procesos de aplicación corriendo en diferentes hosts Los protocolos de transporte funcionan en los end sistems  Emisor: separa los mensajes en segmentos, los pasa al nivel de red  Receptor: reensambla los segmentos en mensajes, los pasa al nivel de aplicación Más de un protocolo de transporte disponible para las aplicaciones  Internet: TCP y UDP aplicación transporte red enlace físico aplicación transporte red enlace físico red enlace físico red enlace físico red enlace físico red enlace físico red enlace físico Comunicación lógica extremo a extremo

17 NovTCP5/56 TCP RFCs: 793, 1122, 1323, 2018, 2581 Punto a punto Orientado a conexión Flujo de datos:  Stream de bytes  Ordenados  Full-duplex  MSS: Maximum Segment Size Control de flujo  No saturar al receptor Control de congestión  No saturar la red

17 NovTCP6/56 Contenido Multiplexación y demultiplexación en TCP Gestión de conexiones TCP  Establecimiento y liberación Transferencia fiable y control de flujo:  Ventana deslizante Formato del segmento TCP

17 NovTCP7/56 Contenido Multiplexación y demultiplexación en TCP Gestión de conexiones TCP  Establecimiento y liberación Transferencia fiable y control de flujo:  Ventana deslizante Formato del segmento TCP Ejemplos

17 NovTCP8/56 Cómo funciona la demux. Host recibe datagrama IP  Cada datagrama tiene una IP origen e IP destino  Cada datagrama lleva 1 segmento del nivel de transporte  Cada segmento tiene un puerto origen y uno destino  Nota: well-known port numbers para aplicaciones específicas ( El host podría emplear la dirección IP y el puerto destino para dirigir el segmento al socket apropiado puerto origenpuerto dest. 32 bits datos de la aplicación (mensaje) otros campos de la cabecera formato de mensaje TCP/UDP

17 NovTCP9/56 Demultiplexación con conexión Conexión TCP identificada por 2 sockets Cada socket identificado por:  Dirección IP  Puerto TCP Es decir, la conexión viene identificada por:  Dirección IP (1)  Puerto TCP (1)  Dirección IP (2)  Puerto TCP (2) El receptor emplea la cuaterna para demultiplexar Cada host soporta múltiples conexiones TCP simultáneas Cada conexión identificada por esos 4 valores Con que uno sea diferente la conexión ya es diferente

17 NovTCP10/56 Demultiplexación con conexión cliente IP:B P1 cliente IP: A P1P2P4 servidor IP: C SP: 9157 DP: 80 SP: 9157 DP: 80 P5P6P3 D-IP:C S-IP: A D-IP:C S-IP: B SP: 5775 DP: 80 D-IP:C S-IP: B Servidor web multiproceso

17 NovTCP11/56 Demultiplexación con conexión cliente IP:B P1 cliente IP: A P1P2 servidor IP: C SP: 9157 DP: 80 SP: 9157 DP: 80 P4 P3 D-IP:C S-IP: A D-IP:C S-IP: B SP: 5775 DP: 80 D-IP:C S-IP: B Servidor web monoproceso

17 NovTCP12/56 Contenido Multiplexación y demultiplexación en TCP Gestión de conexiones TCP  Establecimiento y liberación Transferencia fiable y control de flujo:  Ventana deslizante Formato del segmento TCP Ejemplos

17 NovTCP13/56 Gestión de conexiones TCP Repaso: Ambos extremos establecen una “conexión” antes de intercambiar segmentos de datos  cliente: inicia la conexión connect(sockcliente, (struct sockaddr*)&dirsock, sizeof(dirsock));  servidor: contactado por el cliente sock=accept(sockservidor, (struct sockaddr*)&dirsock, &dirlen); Ambos extremos cierran la conexión close(sockliente); close(sock);

17 NovTCP14/56 Gestión de conexiones Estableciendo una conexión: three way handshake Paso 1: El extremo cliente envía un segmento solicitando una conexión al servidor El segmento no tiene datos, solo cabecera SYN cliente SYN servidor

17 NovTCP15/56 Gestión de conexiones Paso 2: El extremo servidor envía un segmento al cliente confirmando (acknowledgement) la recepción del SYN En el mismo segmento el servidor indica su deseo de establecer la conexión (SYN) El segmento no tiene datos, solo cabecera cliente SYN servidor SYN, ACK

17 NovTCP16/56 Gestión de conexiones Paso 3: El extremo cliente envía una confirmación al SYN del servidor El segmento no tiene datos, solo cabecera Conexión establecida cliente SYN servidor SYN, ACK ACK conectado

17 NovTCP17/56 Gestión de conexiones Cerrando una conexión Paso 1: Un extremo envía un segmento solicitando el cierre de la conexión El segmento no tiene datos, solo cabecera FIN

17 NovTCP18/56 Gestión de conexiones Paso 2: El otro extremo confirma (ACK) la recepción del FIN El extremo que ha enviado el FIN ya no puede enviar más datos nuevos Cierre solo de un sentido de la comunicación FIN ACK

17 NovTCP19/56 Gestión de conexiones Paso 3: El otro extremo envía un segmento colicitando el cierre de la conexión El segmento no tiene datos, solo cabecera FIN ACK FIN

17 NovTCP20/56 Gestión de conexiones Paso 4: Confirmación de ese segundo FIN Por si ese último ACK se pierde el que lo envió espera un tiempo (podría tener que volverlo a enviar) Conexión cerrada FIN ACK FIN cerrada time wait

17 NovTCP21/56 Diagrama de estados CLOSED LISTEN SYN RCVD SYN SENT ESTABLISHED FIN WAIT-1 FIN WAIT-2 CLOSING TIMEWAIT CLOSE WAIT LASTACK CLOSED Open pasivoClose rcv SYN / snd SYN,ACK snd SYN rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK Close, snd FIN rcv FIN / snd ACK Close, snd FIN rcv FIN / snd ACK rcv ACK rcv FIN / snd ACK rcv FIN, ACK / snd ACK Timeout 2xMSL Close, snd FIN rcv ACK Open activo, snd SYN Close SYN CLOSED SYN SENT CLOSED LISTEN SYN RCVD SYN, ACK ESTABLISHED ACK ESTABLISHED

17 NovTCP22/56 Diagrama de estados CLOSED LISTEN SYN RCVD SYN SENT ESTABLISHED FIN WAIT-1 FIN WAIT-2 CLOSING TIMEWAIT CLOSE WAIT LASTACK CLOSED Open pasivoClose rcv SYN / snd SYN,ACK snd SYN rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK Close, snd FIN rcv FIN / snd ACK Close, snd FIN rcv FIN / snd ACK rcv ACK rcv FIN / snd ACK rcv FIN, ACK / snd ACK Timeout 2xMSL Close, snd FIN rcv ACK Open activo, snd SYN Close SYN CLOSED SYN SENT CLOSED LISTEN SYN RCVD SYN, ACK ESTABLISHED ACK ESTABLISHED Datos ACK..

17 NovTCP23/56 Diagrama de estados CLOSED LISTEN SYN RCVD SYN SENT ESTABLISHED FIN WAIT-1 FIN WAIT-2 CLOSING TIMEWAIT CLOSE WAIT LASTACK CLOSED Open pasivoClose rcv SYN / snd SYN,ACK snd SYN rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK Close, snd FIN rcv FIN / snd ACK Close, snd FIN rcv FIN / snd ACK rcv ACK rcv FIN / snd ACK rcv FIN, ACK / snd ACK Timeout 2xMSL Close, snd FIN rcv ACK Open activo, snd SYN Close SYN CLOSED SYN SENT CLOSED LISTEN SYN RCVD SYN, ACK ESTABLISHED ACK ESTABLISHED Datos ACK.... FIN FIN WAIT-1 ACK CLOSE WAIT FIN LAST ACK FIN WAIT-2 TIMEWAIT ACK CLOSED

17 NovTCP24/56 ServidorCliente CLOSED LISTEN SYN RCVD SYN SENT ESTABLISHED FIN WAIT-1 FIN WAIT-2 CLOSING TIMEWAIT CLOSE WAIT LASTACK CLOSED Open pasivoClose rcv SYN / snd SYN,ACK snd SYN rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK Close, snd FIN rcv FIN / snd ACK Close, snd FIN rcv FIN / snd ACK rcv ACK rcv FIN / snd ACK rcv FIN, ACK / snd ACK Timeout 2xMSL Close, snd FIN rcv ACK Open activo, snd SYN Close CLOSED LISTEN SYN RCVD SYN SENT ESTABLISHED FIN WAIT-1 FIN WAIT-2 CLOSING TIMEWAIT CLOSE WAIT LASTACK CLOSED Open pasivoClose rcv SYN / snd SYN,ACK snd SYN rcv SYN / snd ACK rcv ACK rcv SYN, ACK / snd ACK Close, snd FIN rcv FIN / snd ACK Close, snd FIN rcv FIN / snd ACK rcv ACK rcv FIN / snd ACK rcv FIN, ACK / snd ACK Timeout 2xMSL Close, snd FIN rcv ACK Open activo, snd SYN Close

17 NovTCP25/56 Ejemplo $ tcpdump -ttnlS tcp and host Kernel filter, protocol ALL, datagram packet socket tcpdump: listening on all devices eth0 P > telnet: S : (0) eth0 P telnet > : S : (0) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (27) ack eth0 P telnet > : : (0) ack eth0 P telnet > : FP : (8) ack eth0 P > telnet: : (0) ack eth0 P > telnet: F : (0) ack eth0 P telnet > : : (0) ack

17 NovTCP26/56 Contenido Multiplexación y demultiplexación en TCP Gestión de conexiones TCP  Establecimiento y liberación Transferencia fiable y control de flujo:  Ventana deslizante Formato del segmento TCP Ejemplos

17 NovTCP27/56 Canal fiable Transferencia fiable de datos Aplicación Transporte Importante en nivel de aplicación, transporte, enlace

17 NovTCP28/56 Importante en nivel de aplicación, transporte, enlace Basado en nivel no fiable Canal fiable Transferencia fiable de datos Aplicación Transporte Red Canal no fiable

17 NovTCP29/56 Transferencia fiable ¿Cómo lograrla?  Emisor espera confirmación de la recepción del segmento  Si no recibe la confirmación en un tiempo razonable reenvía el segmento  Se numeran los segmentos o los bytes para confirmarlos Una de las utilidades de los SYNs es establecer los números de secuencia iniciales para los datos

17 NovTCP30/56 stop-and-wait Emisor, tras enviar espera la recepción de un ACK (confirmación) Si no la recibe tras un tiempo razonable retransmite el segmento Datos 1 ACK 2 Datos 2 ACK 3 Datos 3 3 ACK 1

17 NovTCP31/56 Ejemplo: 1 Gbps, 15 ms e-e, 1KByte  ¡33KBytes por segundo!  ¡empleo el enlace el 0.027% del tiempo! Primer bit del paquete, t = 0 EmisorReceptor RTT Último bit del paquete, t = L / R Primer bit del paquete llega Ultimo bit llega, enviar ACK Llega ACK, enviar siguiente paquete, t = RTT + L / R Prestaciones de stop-and-wait

17 NovTCP32/56 Pipelined protocols Pipelining: emisor puede enviar varios segmento que estarán “en camino” sin aún haber sido confirmados buffering en el emisor y/o el receptor

17 NovTCP33/56 Aumenta la utilización del canal Primer bit del paquete, t = 0 senderreceiver RTT Último bit del paquete, t = L / R Primer bit del paquete llega Ultimo bit llega, enviar ACK Llega ACK, enviar siguiente paquete, t = RTT + L / R Último bit of 2º paquete, envía ACK Último bit of 3º paquete, envía ACK Pipelining Ventana

17 NovTCP34/56 Números de sec. y ACK Nº de sec.:  Número en el stream del primer byte de datos en el segmento Nº de ACK:  Número de secuencia del siguiente byte que se espera recibir  ACK acumulado SYN y FIN:  Gastan 1 nº de secuencia  Para poder ser confirmados Host A Host B Seq=42, ACK=79, data = ‘Clear’ Seq=79, ACK=43, data = ‘Ok’ Seq=43, ACK=80 Usuario escribe ‘Clear’ host ACKs recepción de ‘OK’ host ACKs recepción de ‘Clear’, manda ‘OK’ tiempo

17 NovTCP35/56 Datos de la aplicación a enviar Ventana deslizante Recibidos y confirmadosVentana que anuncia Enviados y confirmados EnviadosSe pueden enviar No se pueden enviar hasta que se desplace la ventana Emisor Receptor Buffer de recepción Ventana anunciada por el receptor Entregados a la App Full-duplex: Ambos extremos son emisor y receptor Por simplicidad analicemos solo un sentido

17 NovTCP36/56 Ventana deslizante Datos de la aplicación a enviar Recibidos y confirmadosVentana que anuncia Enviados y confirmados EnviadosSe pueden enviar No se pueden enviar hasta que se desplace la ventana Emisor Receptor Buffer de recepción Ventana anunciada por el receptor Entregados a la App La aplicación receptor lee bytes del stream (la ventana se abre en el emisor, se desliza en el receptor)...

17 NovTCP37/56 Ventana deslizante Datos de la aplicación a enviar Recibidos y confirmadosVentana que anuncia Enviados y confirmados EnviadosSe pueden enviar No se pueden enviar hasta que se desplace la ventana Emisor Receptor Buffer de recepción Ventana anunciada por el receptor Entregados a la App La aplicación receptor lee bytes del stream (la ventana se abre en el emisor, se desliza en el receptor)

17 NovTCP38/56 Ventana deslizante Datos de la aplicación a enviar Recibidos y confirmadosVentana que anuncia Se pueden enviar No se pueden enviar hasta que se desplace la ventanaEnviados y confirmados Enviados Emisor Receptor Buffer de recepción Ventana anunciada por el receptor Entregados a la App Se reciben más confirmaciones Se confirma siempre el último dato recibido consecutivo (sin huecos) La ventana se desliza en el emisor...

17 NovTCP39/56 Ventana deslizante Datos de la aplicación a enviar Recibidos y confirmadosVentana que anuncia Enviados y confirmados EnviadosSe pueden enviar No se pueden enviar hasta que se desplace la ventana Emisor Receptor Buffer de recepción Ventana anunciada por el receptor Entregados a la App Se reciben más confirmaciones Se confirma siempre el último dato recibido consecutivo (sin huecos) La ventana se desliza en el emisor

17 NovTCP40/56 Tamaño de la ventana Caso Stop&Wait, el tiempo de propagación y el de transmisión de la confirmación no se aprovecha Caso de ventana deslizante: ¿qué tamaño mínimo debe tener la ventana para aprovechar ese tiempo?... RTT S&WVentana deslizante Ventana=BWxRTT

17 NovTCP41/56 Producto RTTxBW Enlace E1 (2.048Kbps) a través de Europa (60ms)  Ventana > 15KBytes  Tamaño máximo de la ventana es 64KBytes Problemas:  Enlace de 10Mbps a través de Europa Ventana > 74KBytes Mayor que el máximo que permiten 16bits (!!)  Enlace E1 transoceánico (300ms) Ventana > 76KBytes (!!)  Enlace Gigabit dentro de España (20ms) Ventana > 2.5MBytes (!!!) Soluciones:  Aumentar el tamaño máximo de la ventana a 32bits (opción window scale)  Realizar varias conexiones simultáneamente (empleado por algunos sistemas peer-to-peer)

17 NovTCP42/56 Contenido Multiplexación y demultiplexación en TCP Gestión de conexiones TCP  Establecimiento y liberación Transferencia fiable y control de flujo:  Ventana deslizante Formato del segmento TCP Ejemplos

17 NovTCP43/56 Segmento TCP Puerto origen Puerto destino 32 bits Datos de aplicación (longitud variable) Número de secuencia Número de confirmación Ventana Puntero a urgentes checksum F SR PAU Long cab. No usado Opciones (longitud variable) Tamaño de la ventana que se anuncia al emisor Cuenta en bytes de datos (no en segmentos) URG: datos urgentes (casi no se usa) ACK: El nº ACK es válido PSH: Push Entregar datos a App RST, SYN, FIN: establecimiento y fin de la conexión Internet checksum (como en UDP)

17 NovTCP44/56 Piggybacking write() timer Todos los segmentos incluyen la cabecera Los campos para confirmaciones viajan siempre en la cabecera Se puede aprovechar el flujo de datos en un sentido para enviar las confirmaciones del otro

17 NovTCP45/56 Contenido Multiplexación y demultiplexación en TCP Gestión de conexiones TCP  Establecimiento y liberación Transferencia fiable y control de flujo:  Ventana deslizante Formato del segmento TCP Ejemplos

17 NovTCP46/56 Ejemplo de ventana deslizante (Receptor lento) tcpdump en el emisor 0 eth : S 0:0(0) win eth0 > > : S 0:0(0) ack 1 win eth :. 1:1(0) ack 1 win eth0 > > : P 1:1449(1448) ack 1 win eth0 > > : P 1449:2897(1448) ack 1 win eth :. 1:1(0) ack 1449 win eth0 > > : P 2897:4345(1448) ack 1 win eth0 > > : P 4345:5793(1448) ack 1 win eth :. 1:1(0) ack 4345 win eth0 > > : P 5793:7241(1448) ack 1 win eth0 > > : P 7241:8689(1448) ack 1 win eth0 > > : P 8689:10137(1448) ack 1 win eth :. 1:1(0) ack 5793 win eth0 > > : P 10137:11585(1448) ack 1 win eth0 > > : P 11585:13033(1448) ack 1 win eth :. 1:1(0) ack 8689 win eth0 > > : P 13033:14481(1448) ack 1 win eth0 > > : P 14481:15929(1448) ack 1 win eth0 > > : P 15929:17377(1448) ack 1 win

17 NovTCP47/56 Ejemplo (cont.) eth :. 1:1(0) ack win eth0 > > : P 56473:57921(1448) ack 1 win eth :. 1:1(0) ack win eth0 > > : P 57921:59369(1448) ack 1 win eth :. 1:1(0) ack win eth0 > > : P 59369:60817(1448) ack 1 win eth :. 1:1(0) ack win eth0 > > : P 60817:62265(1448) ack 1 win eth :. 1:1(0) ack win eth :. 1:1(0) ack win eth0 > > : P 62265:63713(1448) ack 1 win eth :. 1:1(0) ack win eth0 > > : P 63713:65161(1448) ack 1 win eth0 > > : P 63713:65161(1448) ack 1 win eth :. 1:1(0) ack win 0...

17 NovTCP48/56 Ejemplo (cont.) eth :. 1:1(0) ack win eth0 > > : P 65161:66609(1448) ack 1 win eth :. 1:1(0) ack win eth0 > > : P 66609:68057(1448) ack 1 win eth :. 1:1(0) ack win eth :. 1:1(0) ack win eth :. 1:1(0) ack win eth :. 1:1(0) ack win eth0 > > : P 68057:69505(1448) ack 1 win eth0 > > : P 69505:70953(1448) ack 1 win eth0 > > : P 70953:72401(1448) ack 1 win eth :. 1:1(0) ack win eth0 > > : :73849(1448) ack 1 win eth0 > > : P 73849:75297(1448) ack 1 win eth :. 1:1(0) ack win 31856

17 NovTCP49/56 Ejemplo de HTTP IP localhost > localhost.http: S 0:0(0) win IP localhost.http > localhost.53434: S 0:0(0) ack 1 win IP localhost > localhost. ack 1 win IP localhost > localhost.http: P 1:8(7) ack 1 win IP localhost.http > localhost.53434:. ack 8 win IP localhost.http > localhost.53434: P 1:1457(1456) ack 8 win IP localhost.http > localhost.53434: F 1457:1457(0) ack 8 win IP localhost > localhost. ack 1458 win IP localhost > localhost.http: F 8:8(0) ack 1458 win IP localhost.http > localhost.53434:. ack 9 win 65535

17 NovTCP50/56 Ejemplo de telnet (Establecimiento + login) $ /opt3/ro/ficheros/bin/tcpdump_ro -ttnlS tcp and host Kernel filter, protocol ALL, datagram packet socket tcpdump: listening on all devices eth0 P > telnet: S : (0) eth0 P telnet > : S : (0) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (27) ack eth0 P telnet > : : (0) ack eth0 P telnet > : P : (12) ack eth0 P > telnet: : (0) ack eth0 P telnet > : P : (39) ack eth0 P > telnet: P : (118) ack eth0 P telnet > : P : (3) ack eth0 P > telnet: P : (3) ack eth0 P telnet > : : (0) ack eth0 P telnet > : P : (69) ack eth0 P > telnet: P : (3) ack eth0 P telnet > : : (0) ack eth0 P telnet > : P : (7) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (2) ack eth0 P telnet > : P : (2) ack eth0 P > telnet: : (0) ack Negociación de opciones login (ro)

17 NovTCP51/56 Ejemplo de telnet (password) eth0 P telnet > : P : (10) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : : (0) ack eth0 P > telnet: P : (2) ack eth0 P telnet > : : (0) ack eth0 P telnet > : P : (2) ack eth0 P > telnet: : (0) ack eth0 P telnet > : P : (64) ack eth0 P > telnet: : (0) ack eth0 P telnet > : P : (16) ack eth0 P > telnet: : (0) ack password (roupna) prompt

17 NovTCP52/56 Ejemplo de telnet (ls -al) eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (2) ack eth0 P telnet > : P : (2) ack eth0 P > telnet: : (0) ack eth0 P telnet > : P : (9) ack eth0 P > telnet: : (0) ack eth0 P telnet > : P : (203) ack eth0 P > telnet: : (0) ack ls -al

17 NovTCP53/56 Ejemplo de telnet (exit + cierre) eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (1) ack eth0 P telnet > : P : (1) ack eth0 P > telnet: : (0) ack eth0 P > telnet: P : (2) ack eth0 P telnet > : P : (2) ack eth0 P telnet > : FP : (8) ack eth0 P > telnet: : (0) ack eth0 P > telnet: F : (0) ack eth0 P telnet > : : (0) ack exit Piggybacking del FIN

17 NovTCP54/56 Resumen Principios detrás de los servicios del nivel de transporte:  multiplexación, demultiplexación  transferencia fiable de datos  control de flujo  control de congestión Implementaciones en Internet  UDP  TCP

17 NovTCP55/56 Temario 0.- Presentación de la asignatura 1.- Introducción 2.- Nivel de aplicación en Internet 3.- Nivel de transporte en Internet  Principios  Protocolo UDP  Protocolo TCP 4.- Nivel de red en Internet 5.- Nivel de enlace

17 NovTCP56/56 Próxima clase Nivel de red: funciones Enrutamiento Lecturas recomendadas:  [1] 4.1, 4.5, 4.6, 1.5