3 Aniversario Fantasy

El Club dels Pelats

Cuestión 7

En base a la topología que se muestra a continuación:

Considerando que todos los equipos presentes en dicha topología cumplen la RFC 1191. Determina el número de segmentos que se generan al mandar un paquete TCP con 1500 bytes de datos desde la máquina ‘A’ a la máquina ‘E’:

a. Número, tipo y código de paquetes ICMP.

Se genera un mensaje de error ICMP >> Tipo: 3 (destino inaccesible) | Código: 4 (se necesita fragmentación)

b. Indica la MTU del camino de camino completo.

La MTU será la menor de las MTU del camino recorrido, según marca la norma RFC 1191. En este ejemplo, tendremos una MTU=500 bytes.

c. Una vez determinada la MTU del camino, mostrar la longitud total de cada paquete TCP construido en la fragmentación al mandar un paquete TCP original con 1500 bytes de datos. Indicar la estructura (cabeceras incluidas) de la trama Ethernet en la que se encapsulan los paquetes.

CAB. ETHERNET (bytes)

CAB. IP (bytes)

CAB. TCP (bytes)

DATOS (bytes)

TOTAL (bytes)

14

20

20

460

514

14

20

20

460

514

14

20

20

460

514

14

20

20

120

174

MTU=500 bytes

Cuestión 6

Determinar el número de paquetes UDP que se generan (indicando el formato de los paquetes: cabeceras, etc…), cuando el nivel de transporte envía 1000 bytes de datos en una red Ethernet con MTU de 500 bytes. Hacer lo mismo considerando que el nivel de transporte utilizado fuera TCP.

  • NIVEL DE TRANSPORTE TCP:

Nº DATAGRAMA

TIPO

TAMAÑO (bytes)

1

TCP

20+20+460=500

2

TCP

20+20+460=500

3

TCP

20+20+80=120

  • NIVEL DE TRANSPORTE UDP:

Nº DATAGRAMA

TIPO

TAMAÑO (bytes)

1

UDP

20+8+472=500

2

IP fragment

20+480=500

3

IP fragment

20+48=68

Cuestión 5

Realiza una conexión FTP a la máquina de un compañero de clase. ¿Qué obtienes en el Monitor de Red al intentar realizar esta conexión?

El ordenador se conecta a la máquina del compañero, pero no recibimos ninguna respuesta TCP del pc conectado. El servicio TCP de los ordenadores están deshabilitados. En el capturador de red  podemos observar como se realizan 3 peticiones de SYN y se nos devuelven 3 RST/ACK, solicitando un reconexión.

Cuestión 4

Utiliza el programa rexec para ejecutar el comando ‘cat file1.txt’ en el servidor 10.3.7.0. ¿Qué valor de MSS se negocia entre los extremos de la comunicación? ¿Cuál es el tamaño de los segmentos TCP transportados dentro de los paquetes IP? ¿Qué diferencia existe respecto al caso anterior?

En este caso tampoco se produce una fragmentación, aunque ahora la MSS vale 460 (ya que la MTU es de 500 Bytes).

Cuestión 3

Utiliza el programa rexec para ejecutar el comando ‘cat file1.txt’ en el servidor 172.20.43.232 (Linux2). La información recibida es de varios miles de bytes y se recibirá en segmentos TCP de gran tamaño. ¿IP ha fragmentado estos segmentos? ¿Por qué ocurre esto? ¿Cuál es el tamaño de los segmentos TCP?

TCP impide la fragmentación de los datagramas. TCP implementa unos segmentos (estructura de datos TCP) adecuados a la red dónde esté trabajando, calculando la MSS (máximo tamaño de segmento) y la MTU. Como en nuestra red la MTU=1500 bytes, entonces:

MMS = MTU – Cabecera IP – Cabecera TCP = 1500 – 20 – 20 = 1460 bytes

Cuestión 2

Rexec. Remote Shell es un servicio presente en un S.O. UNIX con TCP/IP que atiende el puerto TCP 512 en espera de peticiones de ejecución de comandos desde procesos remotos clientes. Utiliza TCP, por lo que trabaja con conexión. Para las prácticas se dispondrá de un programa para MS Windows (rexec.exe) que actúa como cliente. En una sesión de rexec.exe se pide inicialmente un nombre de usuario y password en la máquina servidora, y tras introducir estos, se pueden ejecutar comandos UNIX en dicha máquina. Nos servirá para estudiar una conexión TCP. Dentro de una máquina UNIX, el cliente es un programa de línea de comandos con esta sintaxis básica:

rsh <IP_SERVIDOR> <COMANDO_A_EJECUTAR>.

Emplear el programa rexec para ejecutar el comando ‘ls –l’ en la maquina con dirección 172.20.43.232 (Linux2). Utiliza para ello el usuario ‘alumnos’ y la clave ‘alumnos’. Con el monitor de red, analizar y estudiar la secuencia de paquetes TCP intercambiados en el establecimiento de la conexión entre la máquina del alumno y la 172.20.43.232. Utilizar para ello el filtro adecuado (direcciones y protocolos).

  • Comprueba las secuencias de conexión-desconexión TCP. ¿Son similares a las que se detallan en la figura 6? (Puede que observes que el cliente contesta a una solicitud de SYN del servidor con un RST. Esto ocurre porque el servidor trata de autentificar al cliente, algo que no permite el PC).

Al inicio nuestra máquina envía una sincronización al destino [SYN] y la máquina de destino responde con un [SYN,ACK], respondiendo a su vez nuestra máquina con un [ACK]. Al final de la conexión podemos ver que nuestra máquina manda el [FIN] y es respondida por el destino con un [ACK].

  • Comprueba el valor de los puertos utilizados. Indica su valor.

PUERTO LOCAL

PUERTO SERVIDOR

1747

512

El puerto local es variable,  a partir de 1024 y a cada aplicación que utilice una conexión le asigna un número creciente. El puerto de servidor, por el contrario, es el mismo.

  • Analizar los valores de la ventana de receptor. ¿Cuál es más grande?

La ventana sirve para informar sobre el número de bytes que el emisor del paquete es capaz de aceptar al recibir. Este valor depende de la porción que queda libre en su buffer de recepción. Si vale 0 indica que no se van a aceptar datos (aunque si los ACK, RST, FIN…).

Todos los segmentos TCP receptores tienen la misma ventana de 5840 bytes

Cuestión 1

Udp.exe. Este sencillo programa para MS Windows nos permitirá enviar y recibir paquetes UDP, especificando también su contenido, a un número de puerto y una IP destinos especificados para comprobar el funcionamiento de este protocolo.

a. Utilizar el programa udp.exe para realizar un envío de datos al puerto 7 (eco) o al puerto 13 (hora y día) del servidor Linux1 (10.3.7.0). Para ello basta especificar la dirección IP y el puerto del servidor, colocar algún texto en la ventana y pulsar el botón “Envía UDP”. Con el monitor de red, analiza la secuencia de paquetes UDP que se desencadenan cuando se envía como datos una palabra, por ejemplo “hola”. Utiliza el filtro adecuado en el Monitor de Red (direcciones y protocolos).

Envíamos la palabra “Hola” a la dirección IP: 10.3.7.0 al puerto 7 (eco)

En el monitor de red se pueden observar dos mensajes, un echo request y un echo response con los mismos datos (de igual tamaño).

b. Prueba de nuevo udp.exe, pero enviando un texto mucho más grande (sobre 2Kbytes). Esto se puede hacer copiando parte de algún fichero de texto en la ventana de udp.exe. ¿Se produce fragmentación IP de los paquetes UDP? Estudia las longitudes del paquete UDP y las de los paquetes IP que aparecen. Detalla los paquetes (fragmentados o no) que observas en el Monitor (indica el valor del identificador, flags, tamaño, etc…)

Envíamos un texto a la dirección IP: 10.3.7.0 al puerto 7 (eco)

A continuación, podemos observar la fragmentación que se ha producido en paquetes IP:

Tramas

Tamaño (bytes)

Flags

Offset

Identificador

Echo request

1500

0|0|1

0

0X794c

IP fragment

810

0|0|0

1480

0X794c

IP fragment

370

0|0|0

1920

0X00af

IP fragment

500

0|0|1

1440

0X00af

IP fragment

500

0|0|1

960

0X00af

IP fragment

500

0|0|1

480

0X00af

Echo response

500

0|0|1

0

0X00af

Instalación de una Red de Ordenadores