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