La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Prácticas sobre el protocolo TCP

Presentaciones similares


Presentación del tema: "Prácticas sobre el protocolo TCP"— Transcripción de la presentación:

1 Prácticas sobre el protocolo TCP
Ilustrar sus conceptos y posibilidades básicas Prácticas sobre el protocolo TCP ©2011 Prof. José María Foces Morán

2 Contexto TCP es un protocolo de transporte fiable Control de flujo
Entrega garantizada Entrega secuenciada Se detectan errores Full duplex Control de flujo Control de congestión Orientado a conexión ©2010 Prof. José María Foces Morán

3 TCP es orientado a conexión
Conexión: Un canal virtual La 4-tupla siguiente es única: ( , 80, 1200, ) ¿Cómo se forma una conexión TCP? ©2010 Prof. José María Foces Morán

4 Cómo se crea una conexión TCP
Three-way handshake Cliente y servidor: Intercambian tres segmentos TCP La TPDU se denomina segmento ©2010 Prof. José María Foces Morán

5 Socket servidor de bienvenida
©2010 Prof. José María Foces Morán

6 Ejercicio 1 Observación del ciclo de vida de una conexión:
Fuentes del programa servidor: Ejecutad servidor en una máquina A y anotad su IP Arrancad Wireshark y aplicad un filtro a la captura que seleccione sólo el tráfico al puerto TCP 60001 Capture | Options / Capture Filter: TCP port 60001 Conectaos con el servidor desde una máquina distinta mediante telnet al puerto y observad con atención: $ telnet <direccionIPServidor> 60001 1. Handshake de 3-vias SYN N / SYN M ACK N+1 / ACK M+1 2. Transferencias 3. Cierre de los dos canales FIN / ACK (Shutdown a -> b) ACK/FIN (Shutdown b -> a) ©2011 Prof. José María Foces Morán

7 Ejercicio 2 Observación de una conexión con una máquina no accesible a través de un firewall Asumid que el servidor se ejecuta en paloalto.unileon.es: el firewall de la Universidad no nos permite hacerle llegar el segmento SYN Arrancad Wireshark y aplicad un filtro a la captura que seleccione sólo el tráfico al puerto TCP 60001 Capture | Options / Capture Filter: TCP port 60001 Conectaos con el servidor desde una máquina distinta mediante telnet al puerto y observad con atención: $ telnet paloalto.unileon.es 60001 ¿Se recibe el segmento SYN-ACK? ¿Qué significa el segmento recibido RST/ACK? ¿Quién lo envía? ©2011 Prof. José María Foces Morán

8 Ejercicio 3 Observación de una conexión con una máquina que se encuentra apagada Asumid que el servidor se ejecuta en cualquier dirección IP que no esté activa en una red distinta de vuestra LAN ifconfig eth0 … Arrancad Wireshark y aplicad un filtro a la captura que seleccione sólo el tráfico al puerto TCP 60001 Capture | Options / Capture Filter: TCP port 60001 Conectaos con el servidor desde una máquina distinta mediante telnet al puerto y observad con atención: $ telnet <IP no activa que no pertenece a nuestra LAN> 60001 ¿Se recibe el segmento SYN-ACK? ¿Se envía el segmento SYN? Si, ¿y alguno más? Si, múltiples seguidos y el retardo entre ellos va aumentando a medida que no se recibe el SYN-ACK: Observadlo –podéis consultar la transparencia siguiente y contrastar con vuestro experimento. ©2011 Prof. José María Foces Morán

9 Observad los intervalos de tiempo crecientes
Ejercicio 3 (ii) Observación de una conexión con una máquina que se encuentra apagada Observad los intervalos de tiempo crecientes ©2011 Prof. José María Foces Morán

10 Ejercicio 3 (iii) ¿Qué ocurre si llevamos a cabo este experimento con una máquina (B) no activa perteneciente a nuestra LAN? No observaremos ningún tráfico, porque nuestro sistema, en principio, no conoce la MAC de B. Nuestra máquina (A) intentará averiguar su MAC llevando a cabo una request ARP, a la cual, no recibirá respuesta, ya que B se encuentra apagada. A no conoce la MAC de B, por tanto, no observaremos ningún tráfico en el hilo dirigido al puerto de B. Configurad Wireshark con el siguiente filtro de captura, el cual, nos permitirá obtener cualquier tráfico ARP y cualquier tráfico relacionado con B: arp and host Observad la transparencia siguiente: bs ©2011 Prof. José María Foces Morán

11 Ejercicio 3 (iv) Los paquetes 1 a 7 son requests ARP para averiguar la MAC de No se observa ningún trafico con ©2011 Prof. José María Foces Morán

12 Ejercicio 3 (v) Repetimos el experimento con una máquina apagada perteneciente a otra red Si aparece tráfico en el hilo dirigido a Son segmentos SYN retransmitidos porque el módulo TCP de A nunca recibe el segmento correspondiente SYN-ACK. ©2011 Prof. José María Foces Morán

13 Ejercicio 4, propuesto para la próxima sesión
Apertura y cierre de la ventana deslizante Cliente: Servidor: Observad mediante Wireshark cómo el cliente llena el buffer de recepción del server El server no consume la info recibida ¿Cómo reacciona el servidor (receptor en este caso)? Advertised Window Size = 0 ¿Conduce esto a un interbloqueo cliente servidor? Investigadlo y contrastad con los resultados del experimento. ©2010 Prof. José María Foces Morán

14 Prácticas sobre el protocolo TCP (2)
Ilustrar sus conceptos y posibilidades básicas Prácticas sobre el protocolo TCP (2) ©2011 Prof. José María Foces Morán

15 Contexto TCP es un protocolo de transporte fiable Control de flujo
Entrega garantizada Entrega secuenciada Se detectan errores Full duplex Control de flujo Control de congestión Orientado a conexión ©2010 Prof. José María Foces Morán

16 Ejercicio propuesto: Acceso a un puerto filtrado por un firewall
Wireshark Target: paloalto.unileon.es Servidor TCP en 60001 Recibimos un segmento RST Visto en práctica TCP1 ¿Quién lo envía? Diseñad un escenario de prueba que nos permita responder a esta pregunta Documentad apropiadamente la solución incluyendo volcados de pantalla y explicaciones que aclaren lo que ocurre. ©2010 Prof. José María Foces Morán

17 Ejercicio propuesto: Three-way handshake
Wireshark Cread una conexión cualquiera Analizad a nivel de bit cada uno de los segmentos intercambiados Usando el volcado HEX ¿Qué bits se encuentran activados en cada uno de los 3 segmentos? ¿Qué números de secuencia reales aparecen en cada caso? Documentad vuestras respuestas: Volcados de pantalla Explicad de forma concisa la traza de paquetes que habéis obtenido con Wireshark. ©2010 Prof. José María Foces Morán

18 Ejercicio propuesto: Control de flujo TCP vs. UDP
Diseñad un experimento que nos permita comprobar empíricamente qué ocurre cuando un receptor UDP recibe datos a una velocidad mas alta que le empleada para consumirlos Cread una socket en el receptor cuya aplicación consuma los segmentos recibidos con relativa lentitud En el cliente, cread una socket cuya aplicación envie segmentos NUMERADOS a la mayor velocidad posible Explicad vuestras observaciones ©2010 Prof. José María Foces Morán

19 Ejercicio propuesto: Ventana de recepción
Apertura y cierre de la ventana deslizante Cliente: Servidor: Observad mediante Wireshark cómo el cliente llena el buffer de recepción del server El server no consume la info recibida ¿Cómo reacciona el servidor (receptor en este caso)? Advertised Window Size = 0 ¿Conduce esto a un interbloqueo cliente servidor? Investigadlo y contrastad con los resultados del experimento. ©2010 Prof. José María Foces Morán


Descargar ppt "Prácticas sobre el protocolo TCP"

Presentaciones similares


Anuncios Google