Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Entrega Directa - Arp
Entrega Directa - Arp
2021
Recordemos que a todos los dispositivos que están en la misma red IP les debemos asignar la misma
dirección de red en su dirección IP. Cuando voy a asignar direcciones, todos los dispositivos que
comparten el Net-ID, debe ser adyacentes, es decir que pertenezcan a la misma red de capa 2.
Todo aquel que quiera desarrollar una solución compatible con las del resto de los fabricantes, toma un
estándar y crea una pieza de hardware o software que cumpla precisamente con ese estándar, sin
importar el hecho de que sean de diferentes fabricantes. La familia de protocolos que estamos
estudiando es TCP/IP.
Como el modelo OSI fue el modelo inicial, por más que hoy en día esté en desuso, reemplazado por un
modelo hibrido combinado con TCP/IP es posible encontrar bibliografía en la que se hace referencia a
protocolos de capa 7, es decir de capa de aplicación (la cual es la capa 5 en híbrido).
Para enviar los datos, en el emisor, los bits van bajando desde la capa de aplicación hasta la capa física
donde se transmiten a la capa física del lado receptor, donde van subiendo por todas las capas hasta la
capa superior. Recordemos que las capas igualmente trabajan como si estuvieran dialogando
directamente con su contraparte del otro dispositivo (Por ejemplo, capa transporte emisor con capa
transporte receptor). Para que esto sea posible, cuando la información va bajando por el emisor, cada
capa le va agregando un encabezado para que al momento de que esta vaya subiendo por las capas del
receptor, entonces cada capa lea el encabezado que agrego su contraparte.
La información que intercambia la misma capa de ambos lados tiene diferentes nombres dependiendo
de la capa de la que hablemos. En capa 2, se llaman tramas y en capa 3 paquetes. Sin embargo, si en
capa 3, utilizamos IP, les decimos datagramas. Vamos a ver como se envían estos datagramas.
Para armar el datagrama, IP debe armar un encabezado propio de IP. Este es parte de la estandarización
del protocolo.
Matías Baeza Graf #29654
2021
El campo de versión (4 bits) indica la versión de IP que se utiliza, siendo 0100 la versión 4 y 0110 la
versión 6, esto es lo primero que debe saber el receptor.
El campo HLEN (4 bits) indica la longitud del encabezado en palabras de 32 bits. La mayoría de los
datagramas tienen en mismo tamaño estándar que es 5 (es decir 5 x 4 = 20 bytes), sin embargo, hay
algunas opciones (fila 6, ya que cada fila representa una palabra de 32 bits) que pueden estar o no en el
encabezado, por lo que es posible que varíe el tamaño. Esta sexta palabra tiene una sección de padding,
para rellenar la palabra y que siempre sea de una cantidad de bits múltiplo de 32. Este campo es para
que el receptor sepa dónde termina el encabezado y donde arrancan los datos.
Luego tenemos el campo de total length, que tiene 16 bits, que indica la cantidad de bytes que tiene el
datagrama completo, no solo el encabezado. Con 16 bits, el máximo número que puedo expresar es
65535, así que este es el tamaño máximo que puede tener un datagrama. Igualmente, los datagramas
que se transmiten en la práctica ni siquiera se aproximan a ese tamaño.
El campo header checksum es un verificador de integridad del encabezado. Este contiene el resultado de
una suma de verificación, es decir información de control. Sirve para que el receptor calcule su propia
suma de verificación y compruebe que este recibió correctamente el datagrama. IP no hace reenvío. De
esta manera mínimamente te aseguras en el receptor que lo que recibís no tiene errores.
Los últimos dos campos de los que vamos a hablar son las direcciones IP de origen y destino, que cada
una no ocupa ni más ni menos que 32 bits.
ENTREGA DIRECTA
Este destino puede estar en la misma red que el origen (mismo Net-Id) o en otra red (distinto Net-ID). Si
las capas 3 de origen y destino están en la misma red (de capa 2), se puede entregar el datagrama
directamente por la red de capa 2 subyacente. Esto se llama entrega directa y solo se puede dar cuando
los dos dispositivos están en la misma subred IP.
¿Sin embargo, como hace el origen para determinar los Net-Id del origen y destino sin la máscara del
destino? El origen conoce su configuración propia, su propia máscara de subred y la dirección del
destino. El problema es que no sabe la configuración del destino, es decir su máscara. Para averiguar
esto, hacemos una operación AND lógica entre la IP origen y la máscara del origen, para saber a que
subred pertenece esta y si luego hacemos esto mismo entre la IP de destino y la máscara del origen,
podemos averiguar si pertenece a la misma red que el origen, y entonces también, si comparten la
misma máscara. Si esto no es así, lo único que puede determinar el origen es que el destino no está en la
misma subred.
Entonces, si coincide la dirección de red de ambas direcciones, se puede hacer entrega directa. Todo el
datagrama IP, viaja con la trama de capa 2. Recordemos que en el encabezado de capa 2 que se le
agrega al datagrama, se especificaban direcciones de origen y destino, solo que estas son de capa 2, es
Matías Baeza Graf #29654
2021
decir que son direcciones MAC de 48 bits (6 bloques de 2 caracteres hexadecimales u 8 bits). Estas
direcciones corresponden de forma única a una interfaz de red.
Entonces tenemos que para la capa 3 existen dos direcciones IP, origen y destino y para la capa 2 existen
dos direcciones MAC, origen y destino.
La capa 2 también tiene direcciones de broadcast, es decir cuando todos sus bits son 1, es decir, en
hexadecimal ff:ff:ff:ff:ff:ff.
Entonces el origen a nivel capa 3 sabe a qué dirección IP enviar, sin embargo, también es necesario
conocer la MAC de destino, porque la capa 2 no puede hacer nada con la IP. ¿Entonces, de donde salen
las direcciones MAC para completar el encabezado de la trama? Porque la capa 3 no conoce la MAC del
destino, porque no existe ninguna relación entre la dirección MAC y la dirección IPv4.
ARP
¿Como funciona ARP? A le quiere mandar algo a B, pero para hacerlo debe
conocer la MAC de B. Entonces primero se fija si la MAC asociada a la IP de B
está en la tabla ARP. Si es así se envían los datos. Si no es así, A envía una
solicitud ARP, preguntando la MAC de la IP de B. Cuando se reciba la
respuesta, la información se agrega a la tabla y ahora es posible enviar los
datos.
fila, arrancan dos temprizadores, el de revalidación y el de caché, siendo el primero apenas mas corto
que el segundo. Cuando se vence el de revalidación, se verifica si recientemente se enviaron datagramas
a esa IP / MAC. Antes que haya que borrar la fila, se envía una solicitud ARP para que todo el proceso
petición/respuesta se haga antes de que la fila se borre.
REFINAMIENTOS ARP
Si A envía una solicitud ARP a B, entonces B puede aprovechar e insertar en su cache la IP/MAC de A. Así
no hay que hacer el mismo proceso cuando B quiera enviar algo a A.
Así como B recibe la solicitud ARP, lo hacen todos los dispositivos adyacentes a A. Entonces solo si los
demas dispositivos, sean C y D, ya tienen la IP de A, van a poder revalidar la MAC de A. Es decir que
reinician el temporizador de caché. Si no tienen la IP de A, no se hace nada, sino que se ignora la
petición ARP.
Por último, si en una computadora se reemplaza su interfaz de host, reemplaza su dirección MAC, o
también cuando una placa se reinicia por ejemplo, se va a enviar via broadcast, una solicitud ARP
gratuita. Es como una carta de presentación del host. Los que no saben nada de la IP o MAC de esta, la
ignora. Los que tienen información de la IP o la MAC de este host, actualizan su caché ARP.
Mediante un software malicioso, puedo enviar peticiones ARP con información falsa (IP o MAC falsas).
Entonces ARP antes de agregar una fila a la caché, puede validarla para ver si es verdadera. Para hacer
esto, se envía una petición ARP al emisor original. Entonces si este responde, significa que la petición del
emisor original, proviene de un emisor real y no un impostor. Esto se llama ARP Spoofing.