Nomenclatura: En todas las cuestiones la dirección IP de un router llamado RX configurada en su interfaz número ‘y’ lo indicaremos con “IPRX,ify” y la dirección MAC de ese interfaz, caso de ser Ethernet, con “MACRX,ify”.

Notas: En todos los ejercicios razone todas las hipótesis que tenga que añadir para responder a las cuestiones.

 

Problema 1

Creamos el siguiente programa:

 

#include <stdio.h>

#include <netdb.h>

 

main(int argc, char *argv[])

{

        if (argc>1) {

                printf("Resolviendo %s ...\n", argv[1]);

                if (gethostbyname(argv[1])!=NULL)

                        printf("Resuelto\n");

                else printf("Error!\n");

        }

}

 

Lo guardamos como prog.c , lo compilamos y lo ejecutamos en la máquina tlm14 obteniendo el siguiente resultado:

 

% gcc prog.c -o progdns

% ./progdns dominiofalso.com

Resolviendo dominiofalso.com ...

Error!

 

Antes de ejecutar el programa ejecutamos el comando netstat con el argumento -a . Entre la aparición del texto Resolviendo dominiofalso.com ... y de Error! transcurre suficiente tiempo para que en otro terminal ejecutemos en esa misma máquina de nuevo un netstat -a . Entre la primer ejecución de comando y la segunda observamos una única diferencia, en la segunda aparece una nueva línea, la siguiente:

 

udp        0        0 *:1467        *:*

 

¿Qué está sucediendo? ¿Qué significado tiene esa línea? ¿Por qué se crea, para qué, por quién? ¿Al terminar la ejecución del programa hacemos de nuevo netstat -a y ya no aparece, por qué?

 

Problema 2

¿Es capaz de crear un programa que tenga un socket UDP durante un minuto en el estado CLOSE_WAIT ?

 

Problema 3

¿En los linux del laboratorio qué valor de MSL se está empleando?

 

Problema 4

Sea una conexión TCP en la que el ISN en el sentido A->B es ISNab y en el sentido B->A es ISNba. Suponiendo que la conexión se cierra con normalidad mediante segmentos de FIN, ¿cuál es el valor mínimo que puede tener el último número de confirmación que se envíe en cada sentido? ¿Y el número máximo?

 

Problema 5

¿Es capaz de conseguir que un extremo de una conexión TCP se encuentre en el estado ESTABLISHED y el otro en el estado FIN_WAIT_1 durante unos segundos?

 

Problema 6

¿Es capaz de conseguir que un extremo de una conexión TCP se encuentre en el estado LAST_ACK y el otro en el estado FIN_WAIT_2 durante unos segundos?

 

Problema 7

¿Es capaz de conseguir que los dos extremos de una conexión acaben en el estado TIME_WAIT?

 

Problema 8

¿Cuándo se empiezan a aceptar conexiones por un socket TCP, cuando hacemos la llamada bind(), al hacer el listen() o al hacer el accept() ?

 

Problema 9

¿Es capaz de escribir un par de programas que se comuniquen y provocar un anuncio de tamaño de ventana 0 en un sentido? ¿Cómo? ¿Y que el anuncio de ventana 0 sea en los dos sentidos? ¿Sería capaz de hacer un solo programa, que el otro extremo sea el servidor de telnet y conseguir un anuncio de ventana 0, en algún sentido?

 

Problema 10

Cuando se anuncia ventana 0 el extremo que ha recibido ese anuncio empieza a enviar segmentos TCP para comprobar si se ha abierto la ventana (window probes); ¿cada cuánto tiempo? Haga una gráfica con el eje-x el número de segmento de sondeo y el eje-y el tiempo entre él y el anterior segmento enviado.

 

Problema 11

La llamada al sistema close(int) permite cerrar un descriptor de fichero. Se puede emplear para cerrar las conexiones TCP dado que vienen referidas por descriptores. Sin embargo, existe otra llamada con mayor flexibilidad, la función shutdown(int,int) . Lea la sección del manual que hace referencia a esta llamada (SHUTDOWN(2)). Estudie con un programa simple y el uso de la herramienta tcpdump qué sucede al hacer un close() sobre el descriptor de una conexión o al hacer shutdown() con sus diferentes argumentos posibles. ¿Qué sucede si hacemos shutdown() con el segundo argumento valiendo SHUT_RD y después llegan datos a ese extremo de la conexión?

 

Problema 12

Las peticiones de resolución de nombres de dominio de un ordenador y las respuestas desde el servidor de DNS emplean el protocolo UDP. Explique qué ventajas e inconvenientes para este servicio tendría el emplear en su lugar TCP.

 

Problema 13

Supongamos una organización a la que se ha asignado el espacio de direcciones 193.1.1.0/24. Esta organización desea formar 5 subredes. La red más grande debe soportar el direccionamiento de 25 hosts. Diseñe una posible solución de direccionamiento. ¿Cuál es la dirección de cada red y la dirección de broadcast? ¿Cuál es la máscara en cada red? ¿Qué ruta/s anunciará el router conectado al exterior? Asigne direcciones IP a cada interfaz del router

 

Problema 14

Escriba el rango de direcciones IP que corresponden a la red 130.206.160.0 con máscara 255.255.240.0

 

Problema 15

Supongamos una empresa con la topología de red representada en la figura. En la Red A se espera conectar 213 hosts, en la Red B 13, en la Red C 2, en la Red D 12 y en la Red E ninguno. Estas cifras no cuentan a los interfaces de los routers. Se le asigna a esta empresa el espacio de direcciones 21.143.188.0/23. Suponiendo que todos los routers soportan CIDR cree las subredes oportunas, haga el reparto, asigne direcciones y máscaras a los interfaces de los routers, especifique los rangos de direcciones disponibles y las direcciones de broadcast de cada red y la configuración de las tablas de los routers.

 

Figura del problema

 

Problema 16

Señale los campos de la cabecera IP del siguiente paquete IPv4:

          4510 0034 9e2a 4000 4006 55b5 82ce a060

          82ce a0d7 02f0 0016 9ad8 d531 fd6a 3a53

          8010 76c8 970c 0000 0101 080a 00a6 5396

          1c78 0691

¿Cuál es el protocolo que transporta este paquete IP? Puede identificar los campos de ese protocolo?

 

Problema 17

Seleccione una máscara de subred para la red 10.0.0.0 de forma que haya al menos 16000 subredes con al menos 700 direcciones de hosts en cada una.

 

Problema 18

¿Qué ventajas e inconvenientes tiene usar rutas estáticas frente a un protocolo de enrutamiento dinámico?

 

Problema 19

Seleccione una máscara de subred para la red 172.27.0.0/16 de forma que haya al menos 500 subredes con al menos 100 direcciones para hosts disponibles en cada una.

 

Problema 20

¿Hay algún problema si se intenta configurar en el interfaz de un host la dirección IP 192.168.13.175 con máscara 255.255.255.240?

 

Problema 21

¿Cuál es la dirección destino y la máscara empleada para las rutas por defecto? ¿Por qué?

 

Problema 22

Represente el siguiente conjunto de redes con el menor número de pares red/máscara de forma que engloben todas esas direcciones y ninguna más: 130.206.158.0/24, 130.206.159.0/24, 130.206.160.0/24, 130.206.161.0/24, 130.206.162.0/24, 130.206.163.0/24, 130.206.164.0/24, 130.206.165.0/24, 130.206.166.0/24, 130.206.167.0/24

 

Problema 23

Supongamos una empresa con la topología de red representada en la figura. En la Red A no se espera conectar ningún host, en la Red B 20, en la Red C 2400, en la Red D 3200, en la Red E 15 y en la Red F 4. Estas cifras no cuentan a los interfaces de los routers. Se le asigna a esta empresa el espacio de direcciones 145.2.0.0/16.

 

Figura del problema

 

Suponiendo que todos los routers soportan CIDR cree las subredes oportunas, haga el reparto, asigne direcciones y máscaras a los interfaces de los routers, especifique los rangos de direcciones disponibles y las direcciones de broadcast de cada red y la configuración de las tablas de los routers.

 

Problema 24

Señale los campos de la cabecera IP del siguiente paquete IPv4:

 

         4520 0182 963d 4000 6606 39a6 a672 795a

         82ce a0d7 042f 0050 017c 67ef c36f a470

         5018 1f2c 4e07 0000 4745 5420 2f61 7369

         676e 6174 7572 6173 2f62 692f 6269 3938

         5f39 392f 6269 3038 2f69 6d61 6765 732f

         616e 696d 616c 6573 2f43 4152 4131 2e47

         4946 2048 5454 502f 312e 310d 0a41 6363

         6570 743a 202a 2f2a 0d0a 5265 6665 7265

         723a 2068 7474 703a 2f2f 7777 772e 746c

         6d2e 756e 6176 6172 7261 2e65 732f 6173

         6967 6e61 7475 7261 732f 6269 2f62 6939

         385f 3939 2f62 6930 382f 6874 6d2f 616e

         696d 616c 6573 2f43 4152 4143 4f4c 2e48

         544d 0d0a 4163 6365 7074 2d4c 616e 6775

         6167 653a 2065 730d 0a41 6363 6570 742d

         456e 636f 6469 6e67 3a20 677a 6970 2c20

         6465 666c 6174 650d 0a55 7365 722d 4167

         656e 743a 204d 6f7a 696c 6c61 2f34 2e30

         2028 636f 6d70 6174 6962 6c65 3b20 4d53

         4945 2035 2e30 3b20 5769 6e64 6f77 7320

         3938 3b20 4469 6745 7874 290d 0a48 6f73

         743a 2077 7777 2e74 6c6d 2e75 6e61 7661

         7272 612e 6573 0d0a 436f 6e6e 6563 7469

         6f6e 3a20 4b65 6570 2d41 6c69 7665 0d0a

         0d0a

 

¿Cuál es el protocolo que transporta este paquete IP? ¿Puede identificar los campos de ese protocolo? ¿Y el servicio que transporta ese nuevo protocolo? Continúe la decodificación hasta donde sea capaz

 

Problema 25

Supongamos una gran empresa, repartida en varios edificios, que organiza su red IP de la siguiente forma:

Figura del problema

a.- En cada una de las redes A, B, C, D, E, G y H se pretenden conectar unos 100 hosts mientras que en las demás ninguno. Todos los routers soportan CIDR y se va a realizar el enrutamiento mediante rutas estáticas.  La empresa consigue de su proveedor de acceso a Internet el rango de direcciones 201.45.32.0/22. Asigne dirección y máscara a cada red e indique qué rangos de direcciones le quedan sin utilizar.

b.- Indique qué rutas estáticas configuraría en el route R6 de forma que se pueda alcanzar cualquier dirección de la red.

c.- El router R3 reenvía un paquete. ¿Qué direcciones MAC origen y destino pone si el paquete tiene como IP origen la IP de un host de la Red A y como IP destino la de un host de la Red D? Y si el destino es un host de la Red J?

 

Problema 26

Dada la figura del problema anterior, el sistema operativo del Router R3 soporta correr aplicaciones sobre el nivel de transporte TCP. Colocamos en R3 un programa que espera conexiones TCP dirigidas al puerto local 2035. En la red C tenemos un ordenador con dirección IPH1,  ejecutamos en él un programa que establece una conexión TCP entre este host y la dirección IPR3,2 tomando como puerto local 3034 y como puerto remoto 2035. A partir de aquí explique si se podrán llevar a cabo cada una de las siguientes acciones y por qué:

a.- Ejecutar un programa en R3 que establezca una conexión TCP con dirección local IPR3,2 puerto local 2035, dirección remota IPH1 y puerto remoto 3034.

b.- Ejecutar un programa en un host H2 que también se encuentra en la red C que establezca una conexión TCP con puerto local 3034, dirección remota IPR3,2 y puerto remoto 2035.

c.- Ejecutar un programa en R3 que establezca una conexión TCP con dirección local IPR3,2 puerto local 2035, dirección remota IPH2 y puerto remoto 3034.

d.- Ejecutar un programa en el host H1 que estableza una conexión TCP con puerto local 3034, dirección remota IPR3,0 y puerto remoto 2035.

 

Problema 27

Tanto la máquina H1 como la máquina H2 están ejecutando un servidor de telnet que espera conexiones en el puerto reservado a tal efecto (23). Desde el ordenador H1 establecemos una conexión TCP empleando el puerto local 3125 dirigida al puerto 23 de la máquina H2, la conexión se establece con éxito. Mientras está establecida intentamos conectarnos desde el ordenador H2, con puerto local 3125 al ordenador H1, a su servidor de telnet. ¿Qué sucederá? ¿Por qué? Y si en vez de hacer esa conexión TCP intentamos mandar un datagrama UDP desde la máquina H1 con puerto local 3125 a la máquina H2 al puerto 23, ¿qué sucederá?

 

Problema 28

Siendo la eficiencia de transmisión de un protocolo igual a la longitud del campo de datos de su PDU dividida por la longitud total de la misma dibuje la eficiencia de transmisión de IP frente a la longitud del campo de datos suponiendo el nivel de enlace Ethernet II.

 

Problema 29

En vez de usar ARP, Novell Netware usa una dirección de red que incluye la dirección MAC del dispositivo como parte de la dirección. ¿Por qué no puede hacer IP esto?

 

 

Problema 30

En el escenario de la figura el host H1 hace una solicitud de ARP preguntando por la dirección MAC del interfaz de dirección de red IPH2. ¿Qué host/s verán el paquete en el cable? ¿Cuáles lo leerán? ¿Cuáles enviarán una respuesta? ¿Cuál es el contenido de esta/s respuesta/s? ¿Qué host/s verán la respuesta? ¿Cuáles la leerán?

Figura del problema