ARP, ICMP, DHCP Comunicación de datos Realizado por: Antonio Russoniello 11-01-16. V1.0 1 Comunicación de Datos ARP: (Address Resolution Protocol) 11-01-16. V1.0 2 Comunicación de Datos ARP: (Address Resolution Protocol) Se requiere mapear direcciones lógicas a físicas, esto se puede hacer de forma dinámica o estática. Con ARP se puede resolver una dirección IP a una dirección MAC. ARP tiene dos PDUs: • ARP Request • ARP Reply ARP Request hace un broadcast FF:FF:FF:FF:FF:FF y la respuesta la procesa la capa 3 para verificar si la IP buscada es la del host que recibe el broadcast. 11-01-16. V1.0 3 Comunicación de Datos ARP: (Address Resolution Protocol) Tipo de hardware: para Ethernet 0x0001 Tipo protocolo: para IPv4 0x0800 HLEN = Hardware Address Length (longitud dirección hardware) = 0x06 PLEN = protocol address length (longitud dirección de red = 0x04 Operación = 0x0001 para ARP Request, 0x0002 para ARP Reply 11-01-16. V1.0 4 Comunicación de Datos ARP: (Address Resolution Protocol) ARP Cache • Una misma IP no puede aparecer más de una vez en l ARP cache (la tabla se indexa por IP), pero diferentes IPs pueden apuntar a la misma MAC. • Las entradas en la ARP cache tienen un tiempo de vida (aproximadamente 15 minutos) • Es posible añadir entradas estáticas en la ARP cache, esto es útil si se desea tener la entrada siempre activa sin tener que enviar ARP Request. • ARP no es un protocolo IP y posee su propio Ethertype • Los paquetes ARP contienen las direcciones IP y MAC, son estas direcciones las que deben colocarse en la tabla ARP Cache y no las MAC que aparecen en la cabecera de la trama MAC. 11-01-16. V1.0 5 Comunicación de Datos ARP: (Address Resolution Protocol) 00:00:0C:CC:11:11 00:00:0C:CC:22:22 00:00:0C:CC:33:33 1. El usuario A teclea ping 10.1.1.2 2. Usuario A genera ARP Request (broadcast FF:FF:FF:FF:FF:FF) (quién es 10.1.1.2?) 3. Usuario B responde con ARP Reply (unicast), diciendo que el tiene la dirección IP 10.1.1.2 y coloca su dirección MAC 4. El usuario A recoge la respuesta, lo coloca en su ARP cache y envia el ping 5. El usuario C descarta el ARP Reply en la capa 3 ya que su IP no corresponde a la consultada, de esta manera el usuario C no aprende del broadcast. 11-01-16. V1.0 6 Comunicación de Datos ARP: (Address Resolution Protocol) ARP Probe Es un ARP Request con la dirección IP del emisor a cero. Algunos sistemas cuando se les configura una dirección IP, lo primero que hacen es enviar un ARP Probe buscando esa dirección para comprobar que esté libre antes de usarla. Gratuitous ARP Todo equipo en la red debe verificar a la hora de ser encendido si su IP no está asignada a otro equipo. Esto lo hace un Gratuitous ARP Este mensaje se envía 3 veces para garantizar que la IP esté disponible. Si es un router, el número de Gratuitous ARP que se envían es equivalente con la cantidad de interfaz que posea el router. 11-01-16. V1.0 7 Comunicación de Datos ARP: (Address Resolution Protocol) ARP Proxy Un dispositivo como un router que implemente proxy ARP responderá a las peticiones de ARP de una interfaz como delegado o encargado de las direcciones de un dispositivo de otra interfaz. 11-01-16. V1.0 8 Comunicación de Datos RARP: (Reverse Address Resolution Protocol) Utiliza el mismo formato de mensaje que ARP y funciona de forma parecida pero a la inversa, es decir, mapea direcciones IP para direcciones MAC. Necesita un servidor donde se registren las equivalencias MAC-IP. El cliente que desea saber su IP envía un RARP Request (broadcast) con su MAC, el servidor busca en su tabla y regresa un RARP Reply (unicast) con la IP. Problemas: • solo regresa la dirección IP, pero sin ningún otro parámetro de red (máscara, router por defecto, MTU, etc.) • Los router no reenvían mensajes ARP/RARP porque no son paquetes IP, por lo tanto el servidor RARP debe estar en la misma red cliente. • Ha sido desplazado por el protocolo BOOTP ya que este funciona con paquetes UDP, los cuales se reenvían a través de router. 11-01-16. V1.0 9 Comunicación de Datos ICMP (Internet Control Message Protocol) ICMP tiene dos funciones: 1. Mensajes informativos 2. Mensajes de error 11-01-16. V1.0 10 Comunicación de Datos ICMP (Internet Control Message Protocol) 11-01-16. V1.0 11 Comunicación de Datos ICMP (Internet Control Message Protocol) El internet header + 8 primeros bytes del paquete que generó el problema se incluyen para mensajes de error. 11-01-16. V1.0 12 Comunicación de Datos ICMP (Internet Control Message Protocol) Echo Reply , Echo Request Los mensajes ICMP Echo Reply y Echo permiten: • determinar conectividad entre origen y destino • realizar diagnósticos de conexión • hacer ping 11-01-16. V1.0 13 Comunicación de Datos ICMP (INTERNET CONTROL MESSAGE PROTOCOL) Ejemplo: Destination Unreachable Se genera cuando un datagrama no encuentra la dirección IP destino. También se genera cuando el bit de No Fragmentar (DF) está puesto en 1 y la red destino no soporta bloques del tamaño de ese datagrama, por lo cual no podrá ser entregado a esa red. Dentro de este tipo es interesante tener en cuenta el campo código pues brinda información adicional sobre las causas del error. Los valores que toman son: 0 = red inalcanzable 1= host inalcanzable 2 = protocolo inalcanzable 3 = puerto inalcanzable 11-01-16. V1.0 14 Comunicación de Datos DHCP (Dynamic Host Configuration Protocol) DHCP es una extensión del protocolo BOOTP. Incorpora las siguientes mejoras: 1. Permite que un PC adquiera toda la información que necesita en un solo mensaje 2. Permite que un PC posea una dirección IP de forma rápida y dinámica DHCP permite tres tipos de asignación de direcciones: • Manual: el administrador fija de forma estática en configuración la correspondencia MAC-IP como en BOOTP • Dinámica: a cada MAC se le asigna una IP de una pool por un tiempo limitado. Pasado ese tiempo la IP se retira, salvo que se renueve la petición. Las direcciones no son fijas. • Automática: cada MAC recibe una IP pero el servidor recuerda la IP asignada e intenta darle siempre la misma a cada MAC cuando se conecte en el futuro. Con DHCP es posible realizar una autoconfiguración del host ya que éste obtiene todos los parámetros necesarios para la comunicación sin la intervención manual. 11-01-16. V1.0 15 Comunicación de Datos DHCP (Dynamic Host Configuration Protocol) Mensajes DHCP 11-01-16. V1.0 16 Comunicación de Datos DHCP Adquisición de direcciones 11-01-16. V1.0 17 Comunicación de Datos DHCP DHCP Discovery El cliente envía un paquete DHCPDISCOVER. Las direcciones IP origen y destino de dicho paquete serán 0.0.0.0 y 255.255.255.255 (broadcast) respectivamente. El servidor almacena los campos del paquete CHADDR (dirección Ethernet origen, MAC) y el de identificación del cliente. DHCP Offer El servidor determina la configuración basándose en la dirección del soporte físico de la computadora cliente especificada en el registro CHADDRvbnv. El servidor especifica la dirección IP en el registro YIADDR. Como la cual se ha dado en los demás parámetros. DHCP Request El cliente selecciona la configuración de los paquetes recibidos de DHCP Offer. Una vez más, el cliente solicita una dirección IP específica que indicó el servidor DHCPAcknowledge Cuando el servidor DHCP recibe el mensaje DHCPREQUEST del cliente, que inicia la fase final del proceso de configuración. Esta fase implica el reconocimiento DHCPACK el envío de un paquete al cliente. Este paquete incluye el arrendamiento de duración y cualquier otra información de configuración que el cliente pueda tener solicitada. En este punto, la configuración TCP / IP proceso se ha completado. El servidor reconoce la solicitud y la envía acuse de recibo al cliente. El sistema en su conjunto espera que el cliente para configurar su interfaz de red con las opciones suministradas. DHCP Release Los clientes envían una petición al servidor DHCP para liberar su dirección IP. Como los clientes generalmente no de broadcast. El router puede ser configurado para redireccionar los paquetes DHCP a un servidor DHCP en una subred diferente. La implementación cliente crea un paquete UDP (Protocolo de Datagramas de Usuario según siglas en inglés) con destino 255.255.255.255 y requiere también su última dirección IP conocida, aunque esto no es necesario y puede llegar a ser ignorado por el servidor. DHCP ACK El servidor DHCP responde a la DHCPREQUEST con un DHCPACK, completando así el ciclo de iniciación. La dirección origen es la dirección IP del servidor de DHCP y la dirección de destino es todavía 255.255.255.255. El campo YIADDR contiene la dirección del cliente, y los campos CHADDR y DHCP: Client Identifier campos son la dirección física de la tarjeta de red en el cliente. La sección de opciones del DHCP identifica el paquete como un ACK. DHCP Inform El cliente envía una petición al servidor de DHCP: para solicitar más información que la que el servidor ha enviado con el DHCPACK original; o para repetir los datos para un uso particular - por ejemplo, los browsers usan DHCP Inform para obtener la configuración de los proxies a través de WPAD. Dichas peticiones no hacen que el servidor de DHCP refresque el tiempo de vencimiento de IP en su base de datos. 11-01-16. V1.0 18 Comunicación de Datos DHCP (Dynamic Host Configuration Protocol) 11-01-16. V1.0 19