Este Blog, está destinado a la presentación de las prácticas de la asignatura de Redes de Ordenadores de ITTSI de la UA.
Para este blog, cuando se emplee la dirección del alumno, se dará la siguiente: 172.20.43.211 o 172.20.43.210
*El camino Rojo es la Ruta predefinida que posee nuestro PC para Acceder a Internet. Esta es la nueva cuestión y los comandos para realizarlos y la explicación por que pasa así. Al intentar enviar el archivo, manda un paquete de 1460 bytes. Despues recibe un error con el nuevo tamaño del MTU para que la maquina vuelva a enviar nuevos paquetes con ese nuevo tamaño. Tras esto comienza a existir un tráfico contínuo.
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?
El máximo tamaño de segmento es de 1460 bytes. Pero este tamaño se negocia, ya que el servidor contesta diciendo que el tamaño máximo debe ser 460 bytes.
Por lo que en primera instancia tendríamos nuestro paquete que es de 1500Bytes de MTU 1460 de MSS pero el servidor nos dice que lo tenemos que reducir a 460 de MSS (500 MTU).
La diferencia con el anterior apartado es que para este caso cambia el enrutamiento de los datos, por lo que se ve obligado en la red de enlace entre el Cisco 2513 y la máquina Linux 1 a ser un MSS de 460, ver Topología.
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?
No lo ha fragmentado debido a que está el bit de DON'T FRAGMENT activo, esto es debido a que el protocolo TCP exige seguridad en la comunicación por lo que no se fragmenta.
El tamaño máximo de los segmentos será de 1460bytes.
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 . 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).
Se puede decir que si hay una estructura similar a la de la figura 6 en cuanto a las conexiones que se establecen.
Comprueba el valor de los puertos utilizados. Indica su valor.
Local es el 1127 y el puerto del servidor el 512.
Analizar los valores de la ventana de receptor. ¿Cuál es más grande?
Los valores de ventana más grandes los tienen las tramas de conexión/desconexión.
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.
1.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).
Captura 1, el programa udp.exe nos ha respondido:
10.3.7.0 :>Mon May3 09:05:47 2010 DA
Captura 2:
10.3.7.0 :>hola, esto es una prueba de UDP por el puerto 7 (ECO)
Este es el mensaje que lleva el puerto ECO.
1.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…)
Mensaje enviado:
“hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO)”
Según el programa udp.exe este texto posee 4096Bytes con un tiempo de 2,34seg en llegar la respuesta.
Enviamos el paquete eco, el cual posee dos fragmentos adicionales, los dos primeros poseen una longitud total de 1514bytescon 1480 bytes de Datos, el último fragmento posee una longitud de 1184Bytes con 1150 de datos. 4110 bytes de datos en total.
SRC: 172.20.43.210, DST: 10.3.7.0
Tabla expecificativa.
Identification
Flags
Protocol
Tamaño
1
0xa11e (41246)
0x02 (More Fragments)
UDP
1514
2
0xa11e (41246)
0x02 (More Fragments)
UDP
1514
3
0xa11e (41246)
0x00 (No More)
UDP
1184
Recibimos la respuesta del ECO, y 8 paquetes fragmentados
De 514Bytes, pero con un total de 480 Bytes de datos y 20 de cabecera. Salvo el último que posee 264 bytes de datos y una longitud de trama total de298.
7.a Dada la dirección de clase B 145.65.0.0, se desean 6 subredes. ¿Cuántos bits se tendrán que reservar para crear las subredes? Indica el valor decimal de las subredes, así como el valor de la nueva máscara de subred. Se necesitan reservar 3 bit, porque con 2 solo podríamos dividirla en 4 subredes. Esto es debido a la siguiente relación: 2^n. por lo que para los 3 bits que poseemos estas serían las subredes posibles.
De estas 8 subredes podemos elegir las 6 que más nos interesen.
7.b Sea la dirección de red IP 125.145.64.0 con máscara asociada 255.255.254.0. Ampliar la máscara de subred en dos bits, indicando el nuevo valor. Determina el rango de direcciones IP que puede emplearse para numerar máquinas en cada una de las subredes obtenidas en la ampliación.
11111111.11111111.1111111X.X0000000 Solo podemos modificar los valores determinados con las X, siendo las posibilidades:
A - 0.0 que corresponde con la IP: 125.145.64.0 B - 0.1 que corresponde con la IP: 125.145.64.128 C - 1.0 que corresponde con la IP: 125.145.65.0 D - 1.0 que corresponde con la IP: 125.145.65.128
Rango de IP’s para las subredes teniendo en cuenta la que debemos de guardar para la denominación de las propia subred, y de la dirección de “broadcast”
En esta cuestión se analizará el mensaje ICMP tipo 11 código 1. Para ello, se va a intentar “saturar” a una determinada máquina del laboratorio enviándole un número elevado de peticiones Ping. Este elevado número de peticiones puede producir un error si la máquina destino tiene que realizar un reensamblado excesivo de de paquetes en un tiempo limitado. Iniciar el programa monitor de red. A continuación ejecutar el comando “Ping” en varias ventanas (en paralelo) de MSDOS, así lograrás mayor número de peticiones:
C:\>ping -n 80 -l 20000 10.3.7.0 Detener la captura y determinar:
6.a. ¿De que máquina proceden los mensajes ICMP “Fragment Reassembly Time Exceded”? (identifica la máquina en la topología del anexo)
Como bien se puede observar en la ilustración superior el elemento de Red que nos envia el mensaje es:
La dirección IP - 10.3.7.0 que en la topología es la Máquina Linux 1
6.b. ¿Por qué crees que pueden proceder de esa máquina y no de otra?
Por que se trata de esta máquina la que intenta recomponer los paquetes y al no tener capacidad para ello envía este mensaje de error.
Dentro del mensaje ICMP Time Exceeded se analizará el de código 0: Time to Live exceeded in Transit (11/0). En primer lugar, inicia el monitor de red para capturar paquetes IP relacionados con la máquina del alumno y ejecuta el comando:
C:\> ping –i 1 –n 1 10.3.7.0 5.a. Finaliza la captura e indica máquina que envía el mensaje “ICMP Time to Live exceeded in Transit”… ¿Puedes saber su IP y su MAC? (identifica la máquina en la topología del anexo)
Dentro del paquete podemos ver gracias al protocolo Ethernet las MAC que han tomado parte y las direcciones IP gracias a su protocolo y podemos saber gracias a esto que son:
El router Cisco_8c:8c:ff- 172.20.43.230
Inicia de nuevo la captura y ejecuta a continuación el comando:
C:\> ping –i 2 –n 1 10.3.7.0
5.b. Finaliza la captura y determina qué máquina envía ahora el mensaje “ICMP Time to Live exceded in Transit”… Averigua y anota la IP y la MAC origen de este mensaje de error. ¿Pertenecen ambas direcciones a la misma máquina? (identifica las máquinas en la topología del anexo)
Responde el Cisco_8c:8c:ff – 10.4.2.5
No responde la misma Máquina y eso lo podemos ver en la dirección IP desde donde se responde. Que posea la misma MAC que en el apartado anterior quiere decir que el ultimo mensaje que se ha enviado ha sido desde esa dirección, pero no ha sido ella quien lo ha enviado. Esto es por que le hemos añadido más posibles saltos al paquete ping.
Por último, inicia de nuevo la captura y realiza un ping a la siguiente dirección:
C:\> ping –i 50 –n 1 10.3.7.12
5.c. Finaliza la captura y observa el mensaje de error ICMP que aparece en el monitor de red. ¿Qué tipo y código tiene asociado ese mensaje? ¿Qué crees que está sucediendo al intentar conectarte a esa máquina y obtener ese mensaje de error? ¿En qué subred estaría ubicada?
Aquí tenemos una ilustración con los mensajes que nos reenvian.
Este paquete tiene Tipo 11 con Código 0.
Creo que lo que está sucediendo es que esa dirección esta en una red que está ubicada bajo un gran número de putos intermedios y que nuestra petición de ping no es capaz de resolverlo. Ya que está limitada a un tiempo de vida de 50.
Inicia el Monitor de Red. A continuación ejecutar los comandos:
C:\>route delete 10.4.2.1 (si ya ha sido borrada la ruta, avisa con un error)
C:\>ping -n 1 10.4.2.1
(antes de contestar debes confirmar que en MSDOS el resultado del Ping es correcto: paquetes enviados:1 , paquetes recibidos:1, sino debes repetir los dos comandos anteriores y el proceso de captura en el Monitor de Red)
En base a los paquetes capturados, filtra sólo los datagramas que contengan tu dirección IP y contesta a las siguientes preguntas:
4.a. ¿Cuántos datagramas IP están involucrados en todo el proceso? Descríbelos…(tipo, código y tamaño)
Datagrama nº
Tipo y código ICMP
Tamaño del paquete ICMP
Origen IP Destino IP
1
Type: 8 Code: 0
32 Bytes
172.20.43.200 - 10.4.2.1
2
Type: 5 Code: 1 Type: 8 Code: 0
-
172.20.43.230 - 172.20.43.207
3
Type: 0 Code: 0
32 Bytes
10.4.2.1 – 172.20.43.200
4.b. ¿Las direcciones MAC e IP de todas las tramas capturadas con el Monitor de Red hacen referencia al mismo interfaz de red? Indica en qué casos la respuesta es afirmativa y en que casos la dirección IP especifica un interfaz de red que no se corresponde con el mismo interfaz indicado por la MAC.
*Según la tabla de ARP esta MAC correspondería a la dirección 172.20.43.231
De todas formas en esta comunicación faltaría un paquete que sería el de la copia "petición ICMP" que es el paquete que se reenvia.
4.c.¿Qué máquina o interfaz de red envía el mensaje ICMP Redirect?
Nos responde el router que corresponde a nuestra puerta de enlace predeterminado.
4.d. ¿Qué dato importante para tu PC transporta en su interior ese mensaje de Redirect?
Type: 5 (Redirect)
Code: 1 (Redirect for host)
Gateway address: 172.20.43.231 (172.20.43.231)
Finalmente el dato más importante es el último que te dice la nueva dirección que debe de tomar los paquetes.
4.e. Observa los campos “Identificación”, “TTL” y “Cheksum” del datagrama que se envió originalmente. A continuación, analiza el contenido del mensaje Redirect. ¿Puedes encontrar la misma identificación dentro de los datos (no cabecera) del mensaje ICMP Redirect? ¿Qué ocurre con los campos TTL y Cheksum del datagrama transportado por el Redirect?
Si, podemos encontrar los mismo campos pero vemos como se han visto modificados el Time To Live reduciendose en este caso si pudieramos ver el paquete que en el apartado b hemos dicho que se suprimía veríamos como el TTL se ha reducido en uno. Las sucesivas respuestas desde el Router 1 y desde la máquina final se ve como tanto el Cheksum y el TTL son totalmente distintos entre ellos.