REDES
REDES
REDES
ÍNDICE
ÍNDICE 1
INTRODUCCIÓN 2
PROTOCOLOS DE LA CAPA ENLACE 3
ETHERNET 3
ARP 4
PROTOCOLOS DE LA CAPA RED 5
IP/ICMP 5
Aspectos relacionados con la cabecera IP y sus campos 5
Fragmentación de paquetes IP 5
Funcionamiento del comando ping 6
Estudio de los mensajes ICMP asociados al comando traceroute 6
PROTOCOLOS DE LA CAPA TRANSPORTE 7
UDP 7
TCP 8
PROTOCOLOS CAPA DE APLICACIÓN 9
DNS 9
HTTP 10
Estudio de la interacción HTTP GET/respuesta básica 10
HTTP GET condicional 10
Protocolos binarios y textuales 10
CONCLUSIÓN 11
BIBLIOGRAFÍA 12
1
INTRODUCCIÓN
Para esta práctica, redactaremos un informe donde se aportará el conocimiento aprendido a
lo largo de la duración de este ejercicio sobre los distintos tipos de protocolos de red, incluyendo
Ethernet y ARP en la capa de enlace, IP y ICMP en la capa de red, UDP y TCP en la capa de
transporte y HTTP en la capa de aplicación. Para llevarlo a cabo, utilizaremos la herramienta de
análisis Wireshark, que nos va a permitir visualizar el tráfico de paquetes que circula por la red de
manera gráfica y que además posee filtros de búsqueda/información.
Para realizar esta tarea, vamos a hacer uso de ciertos comandos que nos van a ayudar al
entendimiento de los distintos protocolos.
En primer lugar usaremos el comando “ifconfig” que nos permitirá visualizar la configuración
de la interfaz de red del dispositivo (incluyendo la dirección IP y la dirección MAC) donde ejecutemos
el comando, en este caso nuestro dispositivo.
Por otro lado, también usaremos el comando ping, el cual envía paquetes de echo
request(ICMP) a una dirección IP específica dentro de una red. Nos va a permitir determinar si una
dirección IP está activa o no, y encontrar el retraso en la comunicación (retraso ida y vuelta) o
encontrar pérdida de paquetes.
Por último dentro de los comandos iniciales, nos encontramos con el comando “traceroute”.
Este nos permite visualizar la trayectoria que siguen los paquetes desde su origen hasta su destino,
aportando información sobre la velocidad de la ruta.
Para terminar es importante conocer que para los protocolos Ethernet y ARP, resulta crucial
comprender el significado de la dirección MAC, que consiste en un número entero de 48 bits utilizado
para identificar las tarjetas de red. En entornos de red, es esencial poder distinguir el dispositivo al
que se desea enviar un paquete, y para ello se emplea la dirección MAC con el objetivo de
diferenciar los distintos dispositivos de la red.
2
PROTOCOLOS DE LA CAPA ENLACE
ETHERNET
Ethernet es un protocolo muy utilizado a nivel de enlace en redes locales mediante cables.
Se ha convertido en la base del estándar IEEE 802.3. Nos vamos a centrar en el estudio de la trama
que lo compone. Esta se compone de tres partes: la cabecera, la carga útil y la cola. La cabecera, se
divide en tres campos principales: el destino (MAC del destinatario), la fuente (MAC del remitente) y
el tipo de protocolo (que indica cómo se interpreta la carga útil).
En cuanto al paquete de respuesta, se puede observar que las direcciones MAC (tanto de
origen como de destino) están intercambiadas con respecto al paquete de la petición. El campo
Frame type sigue siendo 0x800, lo que indica que sigue siendo el protocolo IPv4.
3
ARP
El protocolo ARP, el cuál corresponde a esta parte de la práctica se utiliza para asociar
direcciones de capa de red (IP) con direcciones de capa de enlace (MAC). Su utilidad es encontrar la
dirección MAC de un dispositivo dentro de la misma red que tiene una dirección IP que ya es
conocida. Los campos que componen un paquete de ARP son: Dirección Ethernet de destino: Es la
dirección MAC de la máquina de destino a la que se envía el paquete ARP(48 bit), Dirección Ethernet
del remitente; es la dirección MAC del dispositivo que envía el paquete ARP(48 bit), Tipo de
protocolo: se indica en este campo el tipo de protocolo que se utiliza en la red. El valor para Ethernet
es 0x0806(16), entro otros.
Por otro lado también utilizaremos la tabla ARP, la cual es una tabla que se emplea para
almacenar las direcciones de capa de enlace y red asociadas. Cuando, por ejemplo, un dispositivo
necesita enviar un paquete a una dirección IP, primero busca en su tabla ARP para ver si ya tiene
una entrada para dicha dirección. Si esta ya existe, dicho dispositivo utilizará la dirección de la capa
de enlace asociada, almacenada en la tabla. Si no existiera la entrada, el dispositivo enviará una
solicitud tipo ARP para obtener la dirección de la capa de enlace que corresponde a la dirección IP.
Se manda un mensaje con la dirección IP que se busca y la MAC FF:FF:FF:FF (broadcast). Dicho
mensaje atraviesa todos los dispositivos conectados a la red, y se va preguntando individualmente si
la IP del mensaje corresponde a la IP del dispositivo conectado. Una vez lo recibe el dispositivo con
misma IP que la IP preguntada responde con su MAC y se guarda en la tabla ARP.
Para estudiar el funcionamiento del protocolo ARP vamos a utilizar el comando ping, en este
caso ping 10.209.32.132, haciendo una petición a otro ordenador de la red local de la universidad.
Primero borraremos las previas entradas de la tabla (sudo ip neigh flush all). Las direcciones que se
encuentran en la tabla pertenecen a 3159-et-wifi.com.stic.ull.es (10.159.0.1), que pertenece al
servicio de TIC (STIC) que proporciona la universidad.
Para la segunda parte de este apartado y para continuar con el estudio de la trama de la
petición ARP, filtramos los paquetes por ARP y observamos que los propios mensaje de petición
están siendo enviados por la propia dirección MAC del dispositivo, es decir: 00:d8:61:e8:50:e1 y su
destino FF:FF:FF:FF, en cambio el contenido del mensaje es simplemente la dirección IP que
buscamos/solicitamos. Dentro de la trama vemos el opcode 0001 - “petición” y los diferentes campos;
mac address, sender ip address, target mac address y target ip address, que corresponden a;
dirección MAC, dirección IP, MAC del emisor e IP del emisor, respectivamente.
Si hubiéramos enviado un ping a una dirección de host de Internet, se hubiese realizado una
consulta ARP para resolver la dirección MAC del gateway de la red, siendo la dirección IP de la
consulta la dirección IP del gateway.
4
PROTOCOLOS DE LA CAPA RED
IP/ICMP
Para este apartado de la práctica nos vamos a dedicar al estudio de los protocolos IP e
ICMP. El protocolo IP de Internet Protocol, es el protocolo principal del modelo TCP/IP, y tiene como
función principal dar formato a los paquetes y a las direcciones a nivel de red. Sobre todo nos
centraremos en el estudio de la cabecera IP, la cual contiene toda la información necesaria para que
los hosts y los routers encaminen los paquetes salida-destino.
Fragmentación de paquetes IP
En el comando ping se puede establecer el tamaño del datagrama enviado. Mandaremos
paquetes con el comando ping www.etsii.ull.es -c 3 -s ??? con diferentes tamaños (50, 2000,
3500).Para responder a las cuestiones de la fragmentación de paquetes tenemos que;
En cambio en el envío del paquete de 3500 bytes, se han generado 3 fragmentos a partir del
paquete original. Por lo tanto los primero dos fragmentos tienen los flags activados de tal manera que
indican que hay más fragmentos. Al igual que antes sus offset son 0 y 1480 (ejemplo de 2000 bytes),
pero como ya se intuía el último fragmento tiene los flags a 0 y offset a 2960 (mismo procedimiento
que la fragmentación anterior).
5
Funcionamiento del comando ping
Para este apartado nos introduciremos en el estudio del protocolo ICMP de Internet Control
Message Protocol. Este se utiliza para el intercambio de información de control entre dispositivos
terminales y routers, o por el contrario entre router y router. Destacar que ICMP es parte de IP.
Para comenzar este subapartado, empezaremos por la captura de paquetes resultantes del
comando ping (explicado anteriormente). Vamos a ejecutar el comando ping -c 10 10.209.3.1, donde
10 representa la cantidad de paquetes ICMP echo request que se estarán enviando. Cuando
aplicamos el filtro que se nos indica en la captura, podemos observar la aparición de 20 paquetes en
total, de estos 20, 10 corresponden a las solicitudes que hemos emitido y los restantes 10 a las
respuestas de cada solicitud. Para verificar la información de los paquetes lo que vamos a analizar es
que dentro del apartado de IP se indica el protocolo 0x01 (ICMP). Donde los paquetes se clasifican
en dos partes/tipos, el tipo 8 y el tipo 0 que corresponden a los códigos echo request y echo reply. Si
seguimos analizando nos encontramos que la dirección de salida de peticiones es 192.168.1.95
correspondiente a nuestro dispositivo mientras que la dirección de destino es 10.209.3.1. Dentro de
dichos paquetes de solicitud nos encontramos que el código es 0 y el tipo 8 correspondiente a
“request”. Dentro de la cabecera otros campos relevantes que se hacen destacar son, el checksum,
el identificador y el número de secuencia, cada uno ocupando 2 bytes en la cabecera, mientras que
el tipo y el código solamente ocupan 1 byte. En cambio dentro de los paquetes de respuesta, el
código sigue siendo 0, aunque su tipo cambia de 8 a 0 (reply). Los demás campos permanecen
iguales al paquete de solicitud correspondiente, con la excepción del checksum, al que se le agrega
el tiempo que ha tardado en la respuesta.
El campo TTL resulta de gran importancia ya que ayuda a evitar que los paquetes que se
hayan enviado a través de rutas que no existen o direcciones erróneas viajen indefinidamente por la
red. Consiguiendo así ayudar o prevenir a la congestión de red ya que elimina la acumulación de
paquetes que no pueden ser entregados correctamente. Traceroute es una herramienta de
diagnóstico (identifica la ruta tomada por los paquetes desde un dispositivo hasta otro a través de
una red), donde los mensajes de respuesta incluyen los tiempos de respuesta.
Los paquetes de ICMP devueltos desde el nodo final difieren de los paquetes enviados en el
mensaje de destino inalcanzable o “destination unreachable”. Esto quiere decir que han llegado al
puerto de destino y se intenta devolver un mensaje UDP. Como dato curioso podemos destacar que
el mensaje de “destination unreachable” puede ser generado por cualquier dispositivo de red que se
encuentre en la ruta hacia la dirección de destino.
6
PROTOCOLOS DE LA CAPA TRANSPORTE
UDP
Para analizar el intercambio de paquetes mediante el protocolo UDP al realizar una captura
con WIreshark y ejecutar el comando dig www.amazon.com, examinaremos detalladamente los
campos que se incluyen en la cabecera. Los cuatro campos de la cabecera ocupan un total de 8
bytes, ya que cada campo se almacena en 2 bytes. El campo de longitud indica el tamaño del
datagrama, incluyendo los 8 bytes de la cabecera. En el caso del paquete que estamos analizando,
el campo length indica que el datagrama tiene un tamaño de 1358 bytes, de los cuales 1350 son de
carga útil. El tamaño máximo del datagrama de UDP es de 65535 bytes, de los cuales hay que restar
los 8 bytes de la cabecera, lo que nos da un tamaño máximo de carga útil de 65527 bytes. Lo mismo
se aplica para el número máximo de puerto, que es 65535.
7
TCP
Para este fragmento del informe, investigaremos sobre el funcionamiento del protocolo TCP.
TCP es un protocolo de nivel de transporte que se enfoca en la conexión con control de flujo. Es un
poco más complejo que UDP, ya que también se encarga del control de flujo y de realizar entregas.
Para la cabecera del TCP, esta comparte algunos campos con la cabecera del UDP, como los
puertos de origen y destino y el checksum, pero también incluye otros campos, como el número de
confirmación (ACK) para la entrega segura de paquetes.
En cuanto a la cabecera del segmento SYN enviado, el segundo flag está activo (0x002), lo
que indica que es una petición SYN. Para la respuesta del servidor ACK-SYN, el número de
secuencia es 0 y un número bruto. En este caso, también se ha activado otro flag de
Acknowledgment (0x012). En el último mensaje del inicio de conexión (el ACK del cliente), se
desactiva el flag SYN (0x010) y se empieza a enviar información en la carga útil.
Los segmentos SYN y (SYN-ACK) poseen varias opciones, entre ellas, el tamaño máximo
del segmento que se usará durante la conexión (Maximum Segment Size) y la ampliación del tamaño
de los paquetes para hacer más eficiente su envío (Window Scaling). También se encuentra la opción
SACK, que se encarga de solicitar que solo se manden los datos que faltan en caso de que se pierda
parte de los datos enviados. La opción Timestamps, que determina los tiempos de entrega ida y
vuelta para que TCP espere antes de transmitir un segmento que no ha sido reconocido. Por último,
se encuentra la opción No Operation (NOP) para separar las diferentes opciones utilizadas dentro del
campo Opción TCP.
8
PROTOCOLOS CAPA DE APLICACIÓN
DNS
DNS es un protocolo que permite traducir el espacio de nombres de dominio a direcciones IP.
Esto es de gran utilidad, ya que, el protocolo IP utiliza direcciones IP para identificar a los hosts y
debido a que a los seres humanos nos resulta más sencillo recordar nombres de dominio que
direcciones IP, es de gran utilidad una herramienta que pueda traducir de nombres de dominio a
dichas direcciones.
Para poder investigar el uso de este protocolo vamos a hacer uso del comando “dig”. Dig es
una herramienta para “preguntar” a servidores DNS. Realiza peticiones y muestra las respuestas que
se retornan al servidor de nombres que se consultan (domain information groper).
Para el comando “dig ulpgc.es NS”, el puerto de destino es el mismo que para el anterior
ejemplo es decir el puerto 53, puerto estándar que se utiliza para consultas y respuestas. La
dirección 199.184.182.1 . el archivo etc/resolv.conf funciona de la misma manera que el ejemplo
anterior.
Para el último ejemplo tenemos “dig @dns1.ull.es ww.ull.es” . Este realiza una única
petición de DNS al servidor de DNS especificado(dns1.ull.es) para obtener información de dominio
www.ull.es, esto se debe a que solo se está consultando solo un registro de recursos (RR) específico
(www.ull.es).
9
HTTP
A lo largo de este último apartado en lo referente a protocolos, estudiaremos el protocolo
HTTP que puede ser el más conocido y utilizado en la transferencia de información a través de
archivos en la World Wide Web. Dicho protocolo está situado en la capa de aplicación y se encarga
de la transferencia de información a través de la red. HTTP significa Hypertext Transfer Protocol.
En resumen, hasta este punto del estudio del protocolo HTTP podemos destacar que es
fundamental para la transferencia de información en la red. La realización de peticiones GET básica y
condicional nos permite comprender su funcionamiento y las diferentes respuestas que se pueden
obtener.
1
0
CONCLUSIÓN
A lo largo de todo este trabajo hemos estado aprendiendo las funcionalidades del programa
Wireshark. Hemos hecho un recorrido por diferentes protocolos de red, investigando su
funcionamiento y analizandolos mediante el uso de diversos comandos.
Wireshark puede además ayudar a los administradores de red a solucionar ciertos problemas
dentro de la red, identificar amenazas de seguridad, optimizar la red y comprender su tráfico entre
otras.
1
1
BIBLIOGRAFÍA
PROTOCOLO ETHERNET:
-https://ccnadesdecero.es/protocolo-ethernet-caracteristicas/
-https://www.ionos.es/digitalguide/servidores/know-how/ethernet-ieee-8023/
PROTOCOLO ARP:
-https://www.redeszone.net/tutoriales/internet/que-es-protocolo-arp/
-https://www.ionos.es/digitalguide/servidores/know-how/arp-resolucion-de-direcciones-en-la-
red/
PROTOCOLO IP:
-https://neo.lcc.uma.es/evirtual/cdd/tutorial/red/ip.html
-https://www.pedrocarrasco.org/fragmentacion-ip/
-https://netwgeeks.com/fragmentacion-ipv4/
PROTOCOLO ICMP:
-https://www.ionos.es/digitalguide/servidores/know-how/que-es-el-protocolo-icmp-y-como-fu
nciona/
-https://neo.lcc.uma.es/evirtual/cdd/tutorial/red/icmp.html
PROTOCOLO UDP:
-https://www.ionos.es/digitalguide/servidores/know-how/udp-user-datagram-protocol/
-https://es.khanacademy.org/computing/ap-computer-science-principles/the-internet/x2d2f70
3b37b450a3:transporting-packets/a/user-datagram-protocol-udp
PROTOCOLO TCP:
-https://ayudaleyprotecciondatos.es/2021/07/29/protocolo-tcp/
-https://www.dsi.uclm.es/personal/miguelfgraciani/mikicurri/docencia/LenguajesInternet0910/
web_LI/Teoria/Protocolos%20de%20bajo%20nivel/Protocolo%20TCP.htm
PROTOCOLO DNS:
-https://www.cartagena99.com/recursos/alumnos/apuntes/211028153856-enunciadoP2.pdf
-https://www.redeszone.net/tutoriales/internet/que-es-protocolo-dns/
PROTOCOLO HTTP:
-https://es.semrush.com/blog/que-es-https/?kw=&cmp=ES_SRCH_DSA_Blog_ES&label=ds
a_pagefeed&Network=g&Device=c&utm_content=641166107997&kwid=dsa-193044264521
9&cmpid=19249322774&agpid=145537342218&BU=Core&extid=64577950247&adpos=&gc
lid=Cj0KCQjw8e-gBhD0ARIsAJiDsaXSrhnXP57CCi-Afa_IaxAvcRzaTGGLYPz0cAhoN2wAF
pVUTHbAdu0aAlIOEALw_wcB
-https://developer.mozilla.org/es/docs/Web/HTTP/Overview
1
2