Visitas: 819  
Tiempo total: 15 días con 10:10:2 hrs  

En una red común encontramos computadoras, switchs y routers. Una computadora tiene asignada una IP, una puerta de enlace predeterminada y una máscara de subred. En un switch se conectan un grupo de computadoras, y este grupo puede establecer comunicación con cualquier otro grupo a través de distintos routers. ¿De qué manera se puede conocer más información de la PC conectada a un puerto de un switch si solo tenemos la IP?.

En realidad conocer más información del dispositivo que está haciendo una solicitud en la web ayuda a tener una red controlada, investigar la publicación/consulta de información ilegal, ataques o cualquier actividad sospechosa. Pero ARP no sirve solo para eso.

Dirección MAC

Una IP es una dirección lógica en una red, una dirección MAC (Media Access Control) es la dirección física, es una dirección única global asignada a una NIC (Network Interface Card), una NIC puede ser una tarjeta Ethernet o de Wireless.

En una red local, computadoras conectadas a un switch, si la PC A quiere hacer ping a la PC B, la PC A debe de conocer la dirección física de la PC B. Para esto sirve ARP (Address Resolution Protocol), con ARP la PC A envía un mensaje de difusión a todas las PC de la red local. El mensaje debe de ser de difusión porque inicialmente un switch no sabe que IP utiliza una PC conectada a uno de sus puertos.

Los mensajes ARP deben de ser leidos y procesados por todas las computadoras, cuando la IP de destino del mensaje ARP coincide con la PC, debe de responder con su dirección MAC.

Comunicación en una red local

Cuando se utiliza el comando ping, inicialmente la PC no conocerá que dirección MAC tiene la NIC con la dirección IP destino, utilizando ARP se logra conocer esto. Ahora que la PC conoce la dirección MAC se puede establecer comunicación.

Cuando el switch recibe dicha trama, conoce a que dirección MAC se está dirigiendo. Si el switch sabe en qué puerto está conectada la PC con la dirección MAC indicada, la envía, si no, reenvía la trama a todos los puertos activos menos por en el que recibió la trama.

La PC con la dirección MAC indicada, recibe y sabe que dicha trama está dirigida a ella. La PC responde con un mensaje de unidusión con la información solicitada.

Tanto los switch como las PC crean tablas ARP para evitar hacer uso de una solicitud ARP cada vez que se envíe una trama.

Las tablas ARP tienen problemas, por ejemplo una PC puede cambiar de puerto por otra PC, de esta manera se podría estar enviando información por un puerto incorrecto. Por este motivo tanto los switch como las PC deben de establecer un tiempo límite de vida a cada registro en la tabla ARP.

Comunicación en una red externa

Si quiero hacer ping a google.com para comprobar que tengo conexión a Internet, la dirección MAC destino debe de ser la de la IP del Gateway predeterminado. De esta manera, la trama en la red local llegará al router, y este la enviará a la red externa utilizando la dirección MAC del dispositivo conectado a la interfaz seleccionada.

Las direcciones MAC son utilizadas a nivel de capa 2, esto se puede comprobar al mostrar la tabla de direcciones MAC en una PC o un switch, en cambio, en un router la lista estará vacía (porque funcionan a nivel de capa 3).

Conclusión

El tema de redes es extenso, en esta publicación se puede leer cómo funciona la comunicación a nivel de una red local, pero lógicamente se pueden encontrar fragmentos faltantes cuando se realiza un ping a google.com, ¿por qué? supongamos, como sabe el servidor de google a quien responder si mi dirección local es 192.168.1.15? bueno, se sabe que mi ISP (Internet Service Provider) me asigna una dirección publica compartida, pero aun así como funcionan esto si empezamos a analizar las tramas de respuesta (pong)?

Acerca de la tabla ARP, una persona puede conectarse a una red local y responder a las solicitudes ARP para que otra PC piense que mi computadora tiene asignada otra IP, de esta manera yo podre recibir la información dirigida a otra PC, por ejemplo hacer creer a otra PC que mi dirección MAC pertenece al Gateway predeterminado. Esto se conoce como envenenamiento ARP.

La dirección MAC está grabada en la ROM de la NIC, y al encender el dispositivo esta dirección es cargada a la memoria RAM. Esto significa que puede ser cambiada por software y utilizar envenenamiento ARP de una manera muy fácil.

Por el concepto de que la dirección está grabada en la ROM, las direcciones MAC también son conocidas como “dirección física BIA” (Burn In Address).