domingo, 29 de marzo de 2009

Práctica 2 - Ejercicio 5: Mensaje ICMP "Time Exceded"

Dentro del mensaje Time Exceded analizaremos el de código 0: Time to Live exceeded in Transit (11/0). En primer lugar, iniciamos el Monitor de Red para capturar paquetes IP relacionados con nuestra máquina y ejecutamos el comando:

C:\>ping -i 1 -n 1 10.3.7.0


a) Finalizamos la captura e indicamos la máquina que envía el mensaje "ICMP Time to Live exceeded in Transit"... ¿Puedes saber su IP y su MAC? (identificamos la máquina en la topología del anexo)



IP:172.20.43.230Alineación a la derecha

MAC: 00:07:0e:8c:8c:ff

Estas direcciones se corresponden con el Cisco 1720.


Iniciamos de nuevo la  captura y ejecutamos a continuación el comando:


C:\>ping -i 2 -n 1 10.3.7.0


b) Finalizamos la captura y determinamos qué máquina envía ahora el mensaje "ICMP Time to Live exceded in Transit"... Averiguamos y anotamos la IP y la MAC origen de este mensaje de error. ¿Pertenecen ambas direcciones a la misma máquina? (identificamos las máquinas en la topología del anexo)



IP: 10.4.2.5

MAC: 00:07:0e:8c:8c:ff

Si esta dirección MAC correspondía al Cisco 1720 es fácil deducir que las direcciones que tenemos ahora no corresponden a la misma máquina. Esta nueva IP corresponde al Cisco 2513.


Por último, iniciamos de nuevo la captura y realizamos un ping a la siguiente dirección:


C:\>ping -i 50 -n 1 10.3.7.12


c) Finalizamos la captura y observamos el mensaje de error 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?



Tipo 11- Código 0

Lo que ocurre es que dicha máquina no existe y el TTL se agota intentando encontrarla.

Estaría ubicada en la subred que une el Cisco 2513 con el Linux 1 ya que el origen IP de ese datagrama es 10.3.2.0 (Cisco 2513). 


d) Repetimos el ejercicio pero esta vez elevamos el tiempo de vida del paquete a 220 (por limitaciones de la máquina Linux reducimos este TTL a 160 o 150) ¿Observas el mismo resultado con la misma rapidez? ¿En cuál de los dos casos ha tardado más la respuesta del ping (en MSDOS)? 



No observamos el mismo resultado con la misma rapidez. En este caso la respuesta ha tardado más ya que le hemos dado más tiempo de vida al paquete para que intente llegar a ese destino.

Como observamos en la imagen el tiempo que tarda en el apartado anterior es 45.940921 - 44.697310 = 1.243611 s, mientras que en este caso tarda 28.269463 - 24.322940 = 3.946523 s.

 

 


Práctica 2 - Ejercicio 4: Mensaje ICMP "Redirect"

Iniciamos el Monitor de Red y a continuación ejecutamos los comandos:

C:\>route delete 10.4.2.1 (si ya ha sido borrada la ruta, nos avisa con un error)

C:\>ping -n 1 10.4.2.1 (antes de contestar confirmamos que en MSDOS el resultado del ping es correcto: paquetes enviados: 1, paquetes recibidos: 1)

En base a los paquetes capturados, filtramos sólo los datagramas que contengan nuestra dirección IP y contestamos a las siguientes preguntas:

a) ¿Cuántos datagramas IP están involucrados en todo el proceso?




b) Dibujamos gráficamente el origen y destino de cada datagrama (como se ha realizado en la figura 7, pero incorporando el direccionamiento IP correcto de las másquinas involucradas).



c ) ¿Observas los mismos datagramas en el Monitor de Red con respecto a los que se comentan en la explicación teórica del Redirect? ¿Por qué puede suceder esto?

No. Observamos sólo 3 mensajes, no 4. El que no observamos es el que se correponde con la copia del mensaje ICMP Request que el Cisco 1720 envía al Cisco 1601. Esto sucede debido al switch presente en la configuración del laboratorio que filtra las direcciones MAC para evitar que uno vea lo que se está lanzando al medio y no tiene como destino su máquina.


d) ¿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 qué casos la dirección IP especifica un interfaz de red que no se corresponde con el mismo interfaz indicado por la MAC.



Para saber si las direcciones IP y MAC hacían referencia al mismo interfaz de red hemos usado el comando arp -a para ver las asociaciones de direcciones de cada máquina.


e) ¿Qué máquina o interfaz de red envía el mensaje ICMP Redirect?

El router Cisco 1720.


f) ¿Qué dato importante para tu PC transporta en su interior ese mensaje de Redirect? ¿Transporta algún otro tipo de información extra?

Un campo de 32 bits llamado dirección de Internet del encaminador que contiene la IP de salida correcta para la máquina emisora. Esta información se guardará en la tabla de encaminamiento de nuestra máquina de forma que los próximos mensajes que enviemos a la misma direcciónpasarán por esa IP y no por la puerta prederterminada que no era óptima.

Además, transporta parte del mensaje original que causó el error.


g) 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?

- Datagrama original

Identificación: 0x33c7 (13255) TTL: 128 Cheksum: 0x2313

- ICMP Redirect

Identificación: 0x33c7 (13255) TTL: 127 Cheksum: 0x2413


El campo de identificación sí es el mismo, pero los campos TTL y Cheksum han cambiado de un mensaje a otro. El TTL ha disminuido porque el paquete ha realizado un salto en el router, y el Cheksum ha cambiado en un número porque sólo se ha modificado en una unidad el TTL respecto al resto de campos de la cabecera del mensaje original


lunes, 16 de marzo de 2009

Práctica 2 - Ejercicio 3: Mensaje ICMP "Destination Unreachable"

Dentro del mensaje ICMP Destination Unreachable analizaremos el de código 4: Fragmentation Needed and Don't Fragment was Set (3/4). En primer lugar ejecutamos el comando:

C:\>route delete 10.3.7.0   (si la ruta ya ha sido borrada nos avisa con un error)

¿Por qué ejecutar este comando? En MS Windows, con route se odifican las tablas de encaminamiento de una máquina. Con la opción delete eliminamos un camino o ruta a la dirección especificada. Al eliminarlo, borramos también cualquier información asociada a esa dirección, incluida la información sobre errores previos al acceder a ese destino.

A continuación, ponemos en marcha el Monitor de Red en modo captura y ejecutamos el comando ping:

C:\>ping -n 1 -l 1000 -f 10.3.7.0    (la opción -f impide la fragmentación de los datagramas en la red)

En base a los paquetes capturados, indicamos:

a) Identificamos las direcciones IP/MAC de los paquetes involucrados. ¿A qué equipos pertenecen? (identificamos la máquina con la topología del anexo)




El primer paquete pertenece a nuestra propia máquina, pero el segundo paquete tiene la IP del Cisco 2513 mientras que la MAC es del Cisco 1720. Esto ocurre porque la trama Ethernet sólo llega hasta la puerta de enlace mientras que la IP llega hasta el destino.


b) ¿Qué máquina de la red envía el mensaje ICMP "Fragmentation Needed and Don't Fragment was Set" (3/4)? (identifica la máquina con la topología del anexo)

La máquina que envía el mensaje es el Cisco 2513 a través de la dirección 10.4.2.5 ya que el paquete no llega a su destino, la dirección 10.3.7.0.


sábado, 14 de marzo de 2009

Práctica 2 - Ejercicio 2: Sobre la fragmentación de datagramas IP

Empleando el programa Monitor de Red de la misma forma que en la situación anterior, ejecutamos:

C:\>ping –n 1 –l 2000 172.20.43.230 (…la opción –l especifica la cantidad de datos a enviar, con lo que ahora estamos enviando 2000 bytes de datos).


a) Filtramos los paquetes en los que esté involucrada nuestra dirección IP. A continuación, describimos el número total de fragmentos correspondientes al datagrama IP lanzado al medio, tanto en la petición de ping como en la respuesta. ¿Cómo están identificados en el Monitor de Red todos estos paquetes (ICMP, IP, HTTP, TCP…)? ¿qué aparece en la columna ‘info” del Monitor de Red?




Nota: Ignoramos el primer paquete IP que aparece porque no ha sido enviado a la puerta de enlace con dirección 172.20.43.230.

Tras filtrar, tenemos 2 paquetes ICMP correspondientes a la petición (request) y a la respuesta (reply), y 2 paquetes IP identificados como "fragmented IP protocol". Esta fragmentación (tanto en la petición como en la respuesta) se ha producido porque la MTU de la red es de 1500 bytes y hemos enviado 2000 bytes de datos.


b) ¿En cuántos fragmentos se ha “dividido” el datagrama original?

Cada mensaje (petición y respuesta) se ha dividido en 2 fragmentos: de cada fragmentación obtenemos por una parte los paquetes IP de tamaño 1514 bytes y por otra los paquetes ICMP de tamaño 562 bytes. En total suman 2076 bytes, pero si quitamos los 14 bytes de cabecera Ethernet a cada uno y los 20 bytes de cabecera IP a cada uno también tendremos los 2008 bytes que habíamos enviado.


c) Analizamos la cabecera de cada datagrama IP de los paquetes relacionados con el "ping" anterior. Observamos el campo "identificación", "Flags" y "Fragment offset" de los datagramas. ¿Qué valor tienen estos campos en los datagramas anteriores? Indica en la columna "dirección" si son de petición o respuesta. Muestra los datagramas en el orden de aparición del monitor de red.


d) ¿Qué ocurre en la visualización de los fragmentos de datagramas si introducimos un filtro para ver únicamente paquetes de "icmp" en el Monitor de Red? ¿Qué fragmentos se visualizan ahora? ¿Por qué puede suceder esto?



Introducimos el filtro "icmp" para visualizar únicamente estos paquetes, de forma que sólo se observan 2: los correspondientes a los primeros fragmentos de la petición y respuesta del ping. Esto es debido a que dichos fragmentos son los que contienen los 8 bytes de la cabecera ICMP, mientras que los segundos fragmentos de cada mensaje ya no los contienen. Por ello no aparecen al filtrar, porque estos paquetes no son considerados ya como paquetes ICMP, sino como paquetes IP.


e) ¿Para qué se pueden emplear los campos "Identificación", "Flags" y "Fragment offset de los datagramas IP?

El campo "Identificación" permite marcar de forma única cada datagrama enviado por una máquina. El campo "Flags" indica el número de fragmentos que faltan para completar el datagrama y la posición en la que se encuentra el mismo. Y el campo "Fragment offset" contiene el índice del fragmento a partir del datagrama original.


f) En función de los datos anteriores, indica el valor de la MTU de la red.

El valor de la MTU de la red es de 1500 bytes. Es el tamaño máximo de los datagramas que circulan en la red y si algún paquete lo supera es fragmentado tantas veces como sea necesario para ajustarse a ese tamaño máximo. Sabemos que su valor es 1500 porque si observamos el tamaño del primero de los fragmentos (el que se llena al máximo) en los que se ha divido el ping vemos que es de 1514 bytes que, eliminando los 14 de la cabecera de Ethernet nos da los 1500 de MTU.


g) Repetimos el ejercicio lanzando una petición de ping con un mayor número de datos y al destino ".195":

C:\>ping -n 1 -l 3000 172.20.43.195


Indicamos el número total de datagramas en la red e identificamos si son de petición o de respuesta (dirección):


h) A continuación, pretendemos observar que los datagramas pueden fragmentarse en unidades más pequeñas si tienen que atravesar redes en las que la MTU es menor a la red inicial en la que se lanzaron los paquetes originales. Iniciamos el Monitor de Red y capturamos los paquetes IP relacionados con el siguiente comando:

C:\>ping -n 1 -l 1600 10.3.7.0

(antes de contestar confirmamos que en MSDOS el resultado del ping es correcto: paquetes enviados: 1, paquetes recibidos: 1)



Indicamos el número total de datagramas en la red e identificamos si son de petición o de respuesta (dirección):



i) En relación a los datos de la pregunta 2.h. obtenidos del Monitor de Red, contestamos:

¿Por qué se observan más fragmentos IP de "vuelta" ( respuesta) que de "ida" (petición)?

Porqué en una de las redes que atraviesan los paquetes estos deben fragmentarse al ser la MTU más pequeña que su tamaño y volverán fragmentados ya que el reensamblado sólo se produce en el destino.


Indica en qué subred del laboratorio el número de fragmentos que circulan por el medio es el mismo tanto en la petición como en la respuesta. Deduce en qué otra subred no sucede esto. Señala (en la topología del laboratorio adjunta), la MTU de cada una de las subredes por las que circulan los datagramas que salen de tu máquina hacia la dirección 10.3.7.0. ¿Cuántas subredes se atraviesan?

El número de fragmentos tanto de petición como de respuesta vendrá determinado por la MTU más pequeña de las subredes que atravesemos. Dado que en este caso es la subred que une el Cisco 2513 con el Linux 1, ésta será la única en la que el número de fragmentos sea igual en la ida que en la vuelta. Mientras, en las subredes que van de los ordenadores del laboratorio al Cisco 1720 y de éste al Cisco 2513, tendremos un determiando número de fragmentos en la petición (dependiendo del número de datos en que se superen los 1500 bytes) y otro número distinto en la respuesta, ya que se dividirán más en la última subred y no se reensamblarán, aunque puedan hacerlo, hasta llegar al destino.


Señala (en la topología del laboratorio adjunta), la MTU de cada una de las subredes por las que circulan los datagramas que salen de tu máquina hacia la dirección 10.3.7.0. ¿Cuántas subredes se atraviesan?

Se atraviesan las 3 subredes que apreciamos en la figura, cuyas MTU's también se indican en la misma:





jueves, 12 de marzo de 2009

Práctica 2- Ejercicio 1: Sobre mensajes ICMP del "Ping"


Iniciamos el Monitor de Red en modo captura y ejecutamos en la ventana de MSDOS el comando:

C:\>ping –n 1 172.20.43.230 (la opción –n especifica el número de peticiones “echo” que se lanzan al medio, por lo que estamos seleccionando que sólo envíe una petición).

Detenemos la captura en el Monitor de Red (filtrando para obeservar únicamente nuestras tramas) y visualizamos los paquetes capturados.

En base a los paquetes capturados determinar:

a) ¿Cuántos y qué tipos de mensajes ICMP aparecen? (tipo y código)



Aparecen 3 mensajes ICMP, aunque en realidad sólo deberían aparecer 2, pero nos volvemos a encontrar con el problema de visualización del monitor de red que para próximos ejercicios intentaremos solucionar. De estos 3 mensajes uno es de petición (Echo request, tipo 8 - código 0), que es el que aparece duplicado y que corresponde al ping que hemos ejecutado, y el otro es de respuesta (Echo reply, tipo 0 - código 0) y corresponde a la respuesta al ping enviado.



b)Justifica la procedencia de cada dirección MAC e IP. ¿Crees que las direcciones IP origen y MAC origen del mensaje ICMP “Replay” hacen referencia a la misma máquina o interfaz de red?

 


En la primera imagen observamos que las direcciones IP y MAC origen corresponden a nuestra máquina, mientras que las de destino corresponden a la dirección donde hemos enviado el comando ping.

En la segunda imagen se aprecia como ahora las direcciones de origen del mensaje ICMP Reply, que son 172.20.43.230 (IP) y 00:07:0E:8C:8C:FF (MAC), hacen referencia a una misma máquina, el Cisco 1720, la cual responde a nuestro ping. Por ello las direcciones de destino en la respuesta son las de nuestra máquina.

Esta coincidencia es debida a que nos movemos dentro de una red local, con lo que la dirección IP tiene una correspondencia directa con la dirección MAC.


c) Justifica la longitud de los paquetes IP. ¿Cuál es el tamaño total del ICMP? ¿Por qué tienen esa longitud? ¿Cuántos datos se han transportado en el mensaje “ping”? Dibuja la encapsulación del protocolo ICMP.

La longitud de los paquetes IP enviados es de 60 bytes. De estos, 20 pertenecen a la cabecera IP, 8 a la cabecera ICMP y 32 a los datos enviados con el ping. 

El tamaño total del ICMP es, por tanto, de: 8 bytes (cabecera) + 32 bytes (datos) = 40 bytes. El número de bytes de datos depende de la aplicación, siendo en este caso 32 porque se trata del número predeterminado para el ping si no se especifica otra cosa en su ejecución.


Introducción Práctica 2

Con esta segunda práctica el objetivo que se pretende alcanzar es profundizar en el funcionamiento del protocolo ICMP de mensajes de control y error, además de analizar los diferentes campos de la cabecera del datagrama IP.
Con los 5 ejercicios de que consta y el anexo adquiriremos los conocimientos necesarios acerca de los mensajes ICMP y la utilidad que tienen a la hora de controlar una red de ordenadores. Nos enfrentaremos a diferentes situaciones de error en el funcionamiento de una red de datagramas basada en el protocolo IP y evaluaremos de forma práctica los tiempos de respuesta de la red.

domingo, 1 de marzo de 2009

Práctica 1 - Ejercicio 4: Sobre TCP/IP

a) Sea la dirección de red IP 125.145.64.0 con máscara asociada 255.255.254.0. Vamos a ampliar la máscara de subred en dos bits, indicando el nuevo valor, y determinar el rango de direcciones IP que puede emplearse para numerar máquinas en cada una de las subredes obtenidas en la ampliación.

Los valores binarios de la dirección IP en cuestión y de su máscara asociada son, respectivamente:

IP 125.145.64.0 --> 01111101.10010001.01000000.00000000
Máscara 255.255.254.0 --> 11111111.11111111.11111110.00000000

Los bits que se modificarán para ampliar la máscara de subred en dos bits serán el último del penúltimo octeto y el primero del último octeto. Así las subredes obtenidas en la ampliación son:

01111101.10010001.01000000.00000000 --> 125.145.64.0
01111101.10010001.01000000.10000000 --> 125.145.64.128
01111101.10010001.01000001.00000000 --> 125.145.65.0
01111101.10010001.01000001.10000000 --> 125.145.65.128


Y la nueva máscara de subred queda: 11111111.11111111.11111111.10000000 --> 255.255.255.128

El rango de direcciones IP que puede emplearse para numerar máquinas en cada una de las subredes será:





b) Analizamos al azar varios datagramas IP capturados con el monitor de red. De los datagramas visualizados, indicamos cuál es su longitud.

¿Qué aparece en el campo de Protocolo de cada datagrama? Identificamos además la CLASE de dirección asociada a cada dirección IP fuente o destino.

Aplicamos en la captura un filtro IP y obtenemos los datagramas anteriores. De ellos analizamos los 4 primeros y tenemos:




c) Empleando el monitor de red, vamos a averiguar las direcciones IP de los siguientes servidores web, indicando también a qué CLASE de dirección pertenecen:

Generamos tráfico introduciendo esa dirección y paralizamos la captura del monitor de red. Introducimos el filtro “ip contains “infocampus”” y obtenemos:



Entre los datagramas obtenidos existen tres direcciones IP diferentes, siendo dos de ellas las que predominan. Puesto que una de ellas es la IP de nuestra máquina, la IP de la dirección web es 82.194.85.170. Pertenece por tanto a la clase A.

Generamos ahora tráfico hacia esa dirección, paralizamos la captura y la visualizamos tras pasar el filtro “ip contains “ono””:



Al igual que en el caso anterior, si una de las direcciones IP es la de nuestra máquina la otra es la de la dirección web, siendo ésta 62.42.230.18. Pertenece así a la clase A.

Por último generamos tráfico con esa dirección, paralizamos la captura, usamos el filtro “ip contains “ua”” y analizamos:



Si la dirección 172.20.43.206 es nuestra IP, la dirección IP de esta última página web es 10.8.1.1, con lo que pertenece a la clase A.