Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERIA Y
ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA
REDES DE COMPUTADORA I
CATEDRÁTICO:
LABORATORIO:
“GUIAS SOBRE PROTOCOLOS ARP, ICMP-IP y TCP”
ESTUDIANTES:
BR. FRANCISCO JAVIER CRUZ CAMPOS CC12020
BR. RONNY EDGARDO MATA ESCOBAR
ESCOBA ME13001
BR. OSCAR AMILCAR VIZCARRA DURAN VD14004
Debemos recordar al momento de trabajar con este protocolo que cada nodo de una red IP tiene
tanto una dirección MAC como una dirección IP. Para enviar datos, el nodo debe utilizar ambas
direcciones. El nodo debe utilizar sus propias direcciones MAC e IP en los campos de origen y debe
proporcionar una dirección MAC y una dirección IP para el destino. Mientras que una capa OSI
superior proporciona la dirección IP del destino, pero el nodo de envío necesita encontrar la
dirección MAC del destino para un enlace de Ethernet determinado. Ese es el propósito del
protocolo ARP.
El modelo OSI describe las comunicaciones de red ideales con una familia de protocolos. TCP/IP
no se corresponde directamente con este modelo. TCP/IP combina varias capas OSI en una única
capa, o no utiliza determinadas capas. El protocolo IP y sus protocolos de enrutamiento asociados
son posiblemente la parte más significativa del conjunto TCP/IP. El protocolo IP se encarga de:
Direcciones IP, Comunicaciones de host a host, Formato de paquetes, Fragmentación.
El protocolo de resolución de direcciones (ARP) se encuentra conceptualmente entre el vínculo de
datos y las capas de Internet. ARP ayuda al protocolo IP a dirigir los datagramas al sistema receptor
adecuado asignando direcciones Ethernet (de 48 bits de longitud) a direcciones IP conocidas (de 32
bits de longitud). Todos estos importantes protocolos necesarios para establecer las conexiones
entre los equipos informáticos se estudiaran de manera practica en los laboratorios a realizar y de
los cuales el presente informe recoge nuestras experiencias con estos protocolos obtenidas mediante
las herramientas informáticas mencionadas previamente.
DESARROLLO DE LAS GUIAS
GUIA PROTOCOLO ARP
1) Obtén las direcciones MAC y las direcciones IP de todos los adaptadores de red
que tiene tu ordenador. Indica como lo has obtenido y cuáles son.
Fig. 1
Podemos ver en la Fig. 1 la información que se solicitó con el uso del comando indicado
anteriormente. Así mismo se puede apreciar que el único que presenta IP es el adaptador de
Ethernet, siendo el que se utilizó en el momento de la prueba, habiendo sido asignada por DHCP y
observamos las direcciones físicas, siendo distintas una de la otra.
2) Con la información obtenida en el apartado anterior, contesta a las siguientes preguntas
justificando la respuesta.
¿A qué tipo de red pertenece tu host?
Pertenece a una red LAN
¿Cuál es la IP de dicha red?
La IP de la Red es la 192.168.1.7 como se muestra en la figura 1.
3) Obtén la dirección IP de la puerta de enlace (router) de la red del laboratorio. Indica como
la has obtenido y cuál es.
Fig. 2
Esta dirección IP del Gateway es la que le pertenece al router usado en la práctica, y se
obtuvo mediante el comando ipconfig.
4) ¿Cuál es la dirección MAC del router (puerta de enlace) que te conecta con el resto de la
FIA?
Para encontrar la dirección MAC del Gateway es necesario hacer un ping al Gateway, el cual
envía paquetes de solicitud para la IP de esta y obtiene paquetes respuesta provenientes de la
misma, por lo cual con el uso del comando arp –a en la terminal se puede observar a
continuación como se lleno la tabla con la dirección IP y la dirección MAC del Gateway.
Fig. 3
Fig. 4
En la Fig. 6 se puede apreciar que se trata del paquete REPLY, a diferencia de la Fig. 5, en esta se
observa que la fuente es la maquina HewlettP y el destino es la maquina WistronI. En esta ocasión
se puede apreciar que el paquete contiene la dirección IP fuente y lo más importante, la dirección
MAC fuente, es decir, la maquina HewlettP ya conoce la dirección IP y dirección MAC de la
maquina WistronI, indicando que el protocolo ARP ha tenido éxito.
Fig. 7
7) Trascurrido un tiempo vuelve a repetir la captura del apartado 5. Pulsa Stop tras unos 20
segundos
Fig. 8
En este caso se puede observar en la Fig. 8, la captura #9, que este hace un REQUEST al Gateway y
este le responde inmediatamente en la siguiente captura, dejando un total de capturas ARP de 6 y no
de 4 como en las preguntas anteriores.
Fig. 9
8) Repite de forma inmediata la captura. Pulsa stop tras unos 20 segundos. Examina y explica
qué ocurre en esta última captura.
Fig. 10
Esta captura no varía mucho con las anteriores, ya que se puede observar que al momento de
comprobar de nuevo la memoria caché de ARP, esta ya contiene la dirección MAC, es decir, al
volver a ejecutar el comando ping a la misma máquina las tramas ARP ya no aparecen debido a que
ya se conoce la dirección física de la otra.
9) Captura con el programa wireshark los paquetes ARP y TCP procedentes de una
conexión telnet desde tu PC a la máquina www.ues.edu.sv.
¿Qué dirección MAC de destino llevan los mensajes ARP?
Se puede observar que ARP REQUEST no posee la dirección MAC destino, en lugar de la dirección
MAC de ARP REPLY que es: 00:10:18:de:ad:05
¿Qué dirección IP llevan los mensajes ARP? ¿Por qué?
La dirección IP que llevan los mensajes ARP son de la PC de la UES, este sería: 192.168.0.18
Esto debido a que el HOST de www.ues.edu.sv no se encuentra en la misma red LAN, es decir, el
encargado de obtener la IP y MAC del HOST es el router, el cual hace peticiones usando recursos
disponibles como los DNS entre otros.
GUIA DE PROTOCOLOS ARP, ICMP, TCP, IP
PROTOCOLO ARP
Como primer paso del procedimiento utilizaremos el comando ipconfig en nuestro caso para
terminal de Windows, tomando en cuenta que debemos capturar los datos del ordenador monitor,
dirección MAC, IP, red, puerta de enlace o Gateway. Mediante el programa WIRESHARK
utilizamos como filtro: ARP, y de esta manera capturamos los paquetes de tipo ARP.
De la figura anterior, obtenemos los datos requeridos para la práctica, los cuales son:
Dirección MAC AC-B5-7D-48-4B-F4
Dirección IP 192.168.1.26(Preferido)
Mascara de Red 255.255.255.0
Puesta de enlace 192.168.1.1
Mediante el uso del comando arp –a, obtenemos una tabla en el terminal con los datos siguientes:
Como siguiente paso del proceso utilizaremos el PING a la IP 192.168.1.26, que en esta practica
seria el otro equipo que esta disponible.
Las tramas que podemos observar son las tramas del reply el request, un total de 2 tramas.
2. Escriba la secuencia de las tramas involucradas justificando todas las direcciones
MAC e IP que aparecen
La representación gráfica puede verse en la figura anterior, la cual la secuencia en la trama es:
Tipo de hardware
Tipo de protocolo
Tamaño de hardware
Tamaño de protocolo
Opcode (request)
Dirección MAC de la PC a la que se le realiza el request.
La IP de la PC a la que se realiza el request
La dirección MAC del que envía el request.
La dirección IP del que envía el request.
3. ¿Cuál es el estado de la memoria cache de ARP después del ping? Y ¿cuál es el estado
actual?
Cuando realizamos el Ping, en el cache de ARP podemos observar las direcciones MAC en
una tabla generada mediante el ping y también podemos ver el IP de las maquinas a las que
se envió el ping.
Cuando utilizamos el comando arp –a se genera una tabla en el cmd en el sistema
Windows, el cual nos dice el estado antes de realizar un ping, pudiendo obtener mediante
esta tabla las direcciones MAC y las IP de todos los dispositivos conectados a la red.
En la primera tabla mostrada podemos ver que no contiene la información de las PC de
interés, debido a que aun no se ha solicitado el request siendo las diferencias.
Debido al protocolo ARP podemos ver información adicional ya que el mismo protocolo requiere
de ella.
PROTOCOLO ICMP/PING
Usando el WIRESHARK filtramos IP e ICMP haciendo ping al otro equipo para poder observar los
paquetes:
A. Request:
B. Replay:
REQUEST y REPLY
2. Justificar la procedencia de cada dirección MAC e IP
Mediante el comando ping realizado mediante un ARP nos dan las MAC y las IP que
pertenecen a las terminales usadas.
3. Justificar la longitud de los paquetes de acuerdo a los formatos de trama de cada
protocolo involucrado. Estudiar los campos de la cabecera IP e ICMP. ¿Cuál es el
contenido del campo extra?
Flag: 0x00b9
Identificador: 0x5e64 (24164)
Fragment offset: 128
ICMP TTL_exceeded
Con los mismos filtros usados anteriormente ejecutamos el comando siguiente:
ping -i 1 -n 1 192.168.200.5
La IP cambia por ser otro equipo:
En el supuesto caso que hubo un error en el envió de paquetes, la causa seria cuando el TTL no
llega a su destino. Jugando con el parámetro TTL del paquete, calcular el número de saltos
(routers) por los que debe pasar el datagrama hasta llegar a su destino.
4. Estando en modo de captura realizar un ping a la dirección del otro equipo, evaluando
la ruta obtenida. Estudiar el campo adicional de la cabecera IP.
Los resultados que se obtuvieron tienen similitud con respecto a los anteriores
6. Jugando con el parámetro TTL del paquete, calcular el número de saltos (routers) por
los que debe pasar el datagrama hasta llegar a su destino.
En la máquina monitor se debe borrar los filtros previos y activos los filtros siguientes: ip and tcp
and host ip_pc_prueba.
Procedimiento:
Abrimos el programa wireshark desde el servidor y luego ponemos en la línea de comando ip del
cliente, en la siguiente figura se muestra la terminal que actuará como cliente:
IP terminal cliente
Obteniendo la dirección MC de esta IP.
Ya que el programa wireshark está abierto, este está capturando los paquetes TCP/IP de el cliente
que falta por ser configurada.
Procedimiento:
Ahora configuramos un servidor en linux, por medio de XAMMP configurado para tener habilitado
el puerto 9, la siguiente figura muestra la IP del servidor con la ejecución de XAMMP ejecutándose
Conexión/Desconexión
Procedimiento:
Wireshark muestra los datos en la siguiente figura, podemos ver que son 9 frames
Captura de paquetes
Discusión:
La figura superior muestra las tramas enumeradas, encontramos 9 y contienen segmentos del
protocolo TCP.
Los 3 primeros marcos establecen una conexión debida a banderas activas, los marcos 4 y 5 son el
envío de datos y los marcos 6 y 9 son de solicitud, confirmación y aprobación de desconexión, en
los demás marcos encontramos las banderas ACK en marco 7; bandera FIN, ACK en marco 8 y
bandera ACK en marco 9.
c) Justificar el contenido de los diferentes campos de la cabecera TCP en función
del tipo de segmento. Hacer hincapié especialmente en los campos Número de
secuencia y flags.
Aquí el dato que corresponde al Máximo Tamaño de Segmento se difunde en el campo de opciones
de segmentos que tienen la bandera SYN y SYN/ACK activado, estas son las tramas 1,2 y 4, para
todo el valor máximo de tamaño en segmento es el mismo igual como se presenta continuación.
Las banderas las encontramos en la sección de flags y está acorde a la teoría presentada: ACK: Si
vale 1 indica que el no del ACK es válido. Si vale 0 se ignora el campo ACK. SYN: Para establecer
conexiones. (Connection request SYN=1 y ACK=0) (Connection accepted: SYN=1 y ACK=1).
FIN: Libera la conexión. Especifica que el emisor ya no posee más datos para transmitir, pero el
receptor puede seguir recibiendo.
La siguiente figura muestra la localización de los Flags con su respectivo valor, según la imagen
Flags= 12HEXA=000000010010BIN
Las tramas con banderas SYN y SYN/ACK activas son las que están en la parte de opciones,
contienen valores de MSS y SACK; la versión TCP Sack se encarga de realizar constantemente una
estimación del tráfico pendiente en la red y sólo envía o retransmite segmentos si el volumen de
datos o tráfico estimado es menor que el de la ventana de congestión CWND.
e) Utilizando la información de la cabecera de la primera trama de conexión
averiguar el puerto del cliente.
En la siguiente figura se presenta que el primer segmento está hecho por una solicitud que fue
realizada por el cliente, esto indica que ahora el cliente será la fuente, ahora el protocolo IPV4 pone
una cabecera de fuente/destino en wireshark.
Localización de IP cliente
Servicios TCP
Ahora comprobaremos la funcionalidad de otros puertos: echo, daytime, quote.
Realizaremos las siguientes tareas:
Discusión:
a) Analizar el mensaje enviado.
Estos paquetes son similares al ejercicio anterior ya que se recibieron 9 tramas y los segmentos TCP
tienen activadas las banderas SYN, SYN/ACK, ACK y FIN/ACK
En la siguiente figura se puede ver que el puerto 7 escucha la solicitud ECHO, analizando en
wireshark la trama 4 contiene este paquete.
A continuación se presenta viendo en wireshark y analizando que solo se capturaron 3 tramas con
las bandera SYN, la IP del servidor es: 96.31.35.198, MAC del servidor: fa:39:09:8e:a1:83 y el
campo GeoIP del protocolo IPV4 indica que el servidor esta Estados Unidos.
Captura de datos
Timeout para el establecimiento de una conexión
Filtro para la máquina monitor: ip and tcp and ether host <mac_pc_prueba_cliente> en esta tarea
utilizaremos dos PCs de ensayos conectados al mismo concentrador:
1 PC de ensayos con el programa Socket WorkBench en modo servidor
Dirección IP servidor
Opciones:
Puerto: 6666
Al presionar el botón Listen. Se queda a la espera de una conexión
Dirección IP servidor
Desde la PC que esta de cliente, se ejecuta el programa Socket Workbench en modo cliente
Opciones:
Servidor: <dir. IP del PC servidor>
Puerto: 6666
Con el botón Connect, se establece una conexión con la máquina remota. Así comprobamos que
está bien hecha la conexión y luego desconectamos con el botón Disconnect.
Configurando como cliente
Activamos la captura en el monitor.
Cable desconectado
Discusión:
Estudiar las tramas de conexión que envía el cliente y no son respondidas desde el servidor.
La trama 6 es la que envió el cliente y no se recibió ninguna respuesta, esta trama tiene los
segmentos TCP y ACK duplicado dando a entender cuáles son los segmentos que llegaron y cuales
no para que puedan ser reenviados.
Se observó un cambio en el puerto de conexión en el programa cliente donde las primeras 6 tramas
del programa cliente se conecta a través del puerto 1031 y en las tramas de reconexión lo hacen a
través del puerto 1032 que son las tramas 7,8 y 9
Reconexión en wireskark
Puerto: 6666
Presionamos el botón Listen. Se queda a la espera de una conexión
Desde el PC de prueba del cliente, ejecutar el programa Socket Workbench en modo cliente
Opciones:
Puerto: 6666
Presionamos el botón Connect. Se establece una conexión con la máquina remota. Enviaremos
desde el cliente una trama de datos (texto) a través de la conexión (ver tema Servicios TCP para los
detalles).
Configurando programa cliente
Desconectaremos el cable de red del PC que actúa como servidor para simular un fallo en la red.
Enviaremos desde el cliente otra trama de datos (texto) a través de la conexión.
Tramas wireshark
Analizar el proceso de aborto de la conexión.
No se aprecia un aborto, pero se espera que en el siguiente literal se capture una trama que indique
aborto, En la figura se muestra el valor de timeout que fue alrededor de 0.052754000 segundos en
comparativa con la tarea anterior que se obtuvo un valor de 0.000380000 segundos.
Comparación de timeout
Activando el programa WireShark en modo captura realizar una conexión desde el cliente
a la dirección: <dir. IP del PC servidor> (Puerto 6666). Analizar la trama de respuesta (uso de
trama de Reset).
Aquí se invierte las terminales para rastrear paquetes del servidor desde el cliente.
La siguiente figura muestra la trama 21, este es un segmento TCP con bandera ACK/RST
Abortar una conexión con la trama de Reset
Vamos a estudiar el mecanismo que permite abortar una conexión de un modo drástico utilizando
las tramas de Reset (flag RST). Este tipo de terminación supone que:
Cualquier dato en espera es eliminado, enviando el Reset inmediatamente
El receptor del Reset sabe que el otro extremo abortó la comunicación pudiendo la aplicación actuar
en consecuencia.
Para esta práctica utilizaremos dos PCs de pruebas conectados al mismo concentrador como en el
tema anterior:
Tareas a realizar:
Ejecutaremos los pasos 2 y 3 del tema anterior estableciendo una conexión entre un
PC cliente y un PC servidor utilizando el puerto 6666
En el programa WireShark detener la captura y estudiar las tramas involucradas. Se captura una
nueva trama previa al envio de datos con una nueva conexión, los puertos han cambiado también
Discusión:
En la conexión se capturan los paquetes 16, 17 y 18 con retransmisión, no se ve una bandera de FIN
activa, la bandera de RST es la que solicita una nueva conexión como un cierre parcial
En el botón Common Protocols tenemos acceso a los mensajes utilizados en diferentes
protocolos pudiendo comprobar su funcionamiento
No se observan registros de protocolos a pesar que los datos fueron enviados con éxito
Protocolo HTTP
Servidor: 193.147.136.16
Puerto : 80 (http)
Presionamos el botón Connect . Se establece una conexión con la máquina remota
Utilizaremos el botón Send para transmitir una trama al otro extremo de la conexión.
Escribiremos la siguiente petición del protocolo HTTP (nota debemos incluir dos retornos
de línea al final para señalizar el final de petición). El servidor nos devolverá la página web
principal en formato HTML.
Discusión:
Ahora la respuesta que tenemos es de la página de inicio, en las capturas de wireshark se obtiene
segmentos que tienen datos http y los datos son textos y etiquetas html.
CONCLUSIONES
Debemos recordar que el protocolo ARP es el mismo aunque haya subredes ya que
cada datagrama IP pasa primero por el algoritmo de encaminamiento IP. Este
algoritmo selecciona el manejador de dispositivo que debería enviar el paquete y
sólo entonces se consulta al módulo ARP asociado con ese manejador.
Luego del desarrollo de estas guías sobre el protocolo ARP, supimos que es tan útil
como necesario para una comunicación más rápida y directa entre hosts de la misma
red. A pesar de sus desventajas, tales como que si la red cambia se tienen que
configurar de nuevo las tablas ARP y que, si se cae un enlace, las tablas ARP no se
actualizan automáticamente, sigue siendo una gran herramienta y el análisis de
tráfico de los paquetes ARP es de importancia tanto para el diagnóstico de la red,
como para fines académicos.
Cabe destacar que, para la realización del laboratorio fue de gran ayuda la
utilización del programa Wireshark, pues es de excelente aplicación didáctica para
el estudio de las comunicaciones y para la resolución de problemas de red.
ARP se emplea en redes IEEE 802 además de en las viejas redes DIX Ethernet para mapear
direcciones IP a dirección hardware. Para hacer esto, ha de estar estrechamente relacionado
con el manejador de dispositivo de red. De hecho, las especificaciones de ARP en RFC 826
sólo describen su funcionalidad, no su implementación, que depende en gran medida del
manejador de dispositivo para el tipo de red correspondiente, que suele estar codificado en
el micro código del adaptador.
Por último a modo general podemos decir que las medidas de seguridad del tráfico de la
información que circula por la red son muy importantes debido a la facilidad con la que esta
puede ser interceptada y modificada.