Bloque V: El nivel de enlace
ARP
2RC Bloque V Tema 16
Índice• Bloque V: El nivel de enlace
– Tema 15: ARP• Introducción• Mensaje ARP• ARP: Ejemplo• Ejemplo resumen
• Referencias– Capítulo 5 de “Redes de Computadores: Un enfoque
descendente basdado en Internet”. James F. Kurose, Keith W. Ross. Addison Wesley, 2ª edición. 2003.
– Capítulos 4 y 5 de “TCP/IP Illustrated, Volume 1: The Protocols”, W. Richard Stevens, Addison Wesley, 1994.
3RC Bloque V Tema 16
Introducción• En Internet, cada host tiene una dirección lógica IP.• En las redes físicas, cada host tiene una dirección “hardware” (p.e. Ethernet).• Para transmitir un datagrama a un destino de la misma subred física, el
datagrama debe encapsularse en un paquete que contenga la dirección hardware del destino.
• ¿Cómo se convierte/mapea una dirección lógica en una dirección hardware?• ¿Cómo se convierte una dirección IP de 32 bits en una dirección Ethernet de 48
bits?• ARP (y RARP) proporcionan la correspondencia entre direcciones IP y
direcciones hardware (nivel de enlace):– ARP: Address Resolution Protocol (RFC 826)– RARP: Reverse Address Resolution Protocol (RFC 903)
• ARP proporciona correspondencia dinámica (no concierne al usuario ni al administrador de la red) entre direcciones IP y direcciones hardware usadas por distintas tecnologías de red.
– Obtiene la dirección Ethernet asociada a una dirección IP.• RARP permite obtener una dirección IP asociada a una dirección Ethernet,
utilizando un servidor RARP (sustituido por DHCP).
Ethernet
IPRED
ENLACE
ARP
4RC Bloque V Tema 16
Mensaje ARP• Formato del paquete ARP y RARP para Ethernet:
• Tipo trama: ARP (0x0806) y RARP (0x8035)• Tipo de HW: Ethernet (0x0001)• Tipo de protocolo: IP (0x0800)• Tamaño de direcciones: Ethernet (6 bytes), IP (4 bytes)• Op.: Especifica el tipo de operación a realizar
– ARP request (1) / ARP reply (2)– RARP request (3) / RARP reply (4)
• Direcciones Ethernet e IP de origen y destino.– La dirección Ethernet de origen está duplicada en el frame Ethernet, porque
ya aparece en la cabecera Ethernet.– La dirección Ethernet de destino también se duplicará en las respuestas (en
las peticiones se usa la dirección de broadcast).
Dir. destino Ethernet
Dir. origen Ethernet
Tipotrma
Tipo HW
Tipo proto Op. Dir. origen
EthernetDir. origen
IPDir. destino
EthernetDir.
destino IP
Tamaño dirección HWTamaño dirección protocolo
6 6 2 2 2 1 1 2 6 4 6 4
Cabecera Ethernet Paquete ARP/RARP
5RC Bloque V Tema 16
ARP: Ejemplo• ARP permite a una fuente encontrar la dirección hardware de un
destino que se encuentre en la misma subred física. • Recibe como entrada la dirección IP del destino y devuelve su
dirección hardware.• Opera en redes que tienen capacidad de difusión (broadcast)
• nogal% ftp pino
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
6RC Bloque V Tema 16
ARP: Ejemplo
1.El cliente de ftp llama al resolver para convertir el nombre de la maquina (pino) en una dirección IP.
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
pino 210.53.23.32
(1)
7RC Bloque V Tema 16
ARP: Ejemplo
2. El cliente ftp pide a la capa TCP que establezca una conexión con la dirección IP 210.53.23.32 al puerto 21
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
Driver Ethernet
ARP IP
TCP
FTPresolver
8RC Bloque V Tema 16
ARP: Ejemplo
3. TCP solicita al nivel IP el envío de un datagrama a la dirección IP 210.53.23.32
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
(3)
9RC Bloque V Tema 16
ARP: Ejemplo4. Enrutamiento IP: decide si se
envía a una máquina (directamente conectada) o a un router (para alcanzar al destino) 210.53.23.32 directamente conectada
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
(3)(4)
10RC Bloque V Tema 16
ARP: Ejemplo
5. Es necesario convertir la dirección IP (210.53.23.32) en una dirección Ethernet ARP
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
(3)(4)(5)
11RC Bloque V Tema 16
ARP: Ejemplo6. Envío del ARP Request a todas las
máquinas de la red local (broadcast)
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
(3)(4)(5)
(6)
12RC Bloque V Tema 16
ARP: Ejemplo7. La capa ARP de heras recibe el
broadcast y reconoce su IP. Contesta con un "ARP reply" que contiene su dirección Ethernet.
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
(3)(4)(5)
(6)
Driver Ethernet
ARPIP
TCP
(7)
13RC Bloque V Tema 16
ARP: Ejemplo8. indurain recibe el "ARP reply" y ya puede
enviar el datagrama IP que originó el "ARP request".
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
(3)(4)(5)
(6)
Driver Ethernet
ARPIP
TCP
(7)
(8)
14RC Bloque V Tema 16
ARP: Ejemplo
9. Se envía el datagrama IP a heras
nogal (cliente FTP)IP: 210.53.23.10Eth.: 0f:9a:32:e3:09:8d
castañoIP: 210.53.23.47Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)IP: 210.53.23.32Eth.: 8e:9a:93:90:3a:8a
Driver Ethernet
ARP IP
TCP
FTPresolver
(1)
(2)
(3)(4)(5)
(6)
Driver Ethernet
ARPIP
TCP
(7)
(8)
15RC Bloque V Tema 16
ARP: Ejemplo• ARP Request (nogal broadcast)
• ARP Reply (pino nogal)
ff:ff:ff:ff:ff:ff
0f:9a:32:e3:09:8d
0806
0001
0800
6 4 10f:9a:32:e3:
09:8d210.53.23.10
??210.53.23.32
Destino Origen Eth. origen IP origen Eth. destino IP dest.
Cabecera Ethernet Paquete ARP/RARP
0f:9a:32:e3:09:8d
8e:9a:93:90:3a:8a
0806
0001
0800
6 4 28e:9a:93:90
:3a:8a210.53.23.32
0f:9a:32:e3:09:8d
210.53.23.10
Destino Origen Eth. origen IP origen Eth. destino IP dest.
Cabecera Ethernet Paquete ARP/RARP
16RC Bloque V Tema 16
ARP• Cache ARP:
– El broadcast de los ARP Request es costoso ya que todos los receptores tienen que procesar este paquete Cache ARP
– Mantiene la conversiones recientes entre direcciones de red y direcciones hardware.
– En un mensaje ARP Request, si la IP del emisor ya está en la cache Se actualiza con la dirección HW del emisor.
– El tiempo normal de vida es de 20 minutos (desde que se creó la entrada).– Comando: arp [a –d –s]
• ARP gratuito:– ARP request generada por una máquina para preguntar por la dirección
HW que se corresponde con su propia dirección IP.– Normalmente utilizado para configurar la interfaz de red en el proceso de
arranque.– Tiene dos efectos adicionales:
• Si otra máquina contesta al ARP quiere decir que hay otra máquina con la misma IP ERROR!.
• Actualización de las cachés ARP de todas las máquinas que reciben el ARP request. Útil cuando se ha cambiado la interfaz de red en una máquina, para informar de la nueva dirección HW.
17RC Bloque V Tema 16
Ejemplo resumen• Indicar todas las tramas que genera el comando
traceroute.– La máquina origen y RA acaban de reiniciarse.
173.197.15.493:a3:c2:83:e5:81
172.25.1.171:0f:83:82:ba:8c
154.63.43.1003:32:53:f3:b1:89
154.63.1.183:28:d8:a0:12:53
RA 173.197.15.1072:be:65:03:8a:9f
172.25.1.228:fa:9c:82:0a:6e RB
traceroute 173.197.15.4
18RC Bloque V Tema 16
Ejemplo resumen
173.197.15.493:a3:c2:83:e5:81
172.25.1.171:0f:83:82:ba:8c
154.63.43.1003:32:53:f3:b1:89 154.63.1.1
83:28:d8:a0:12:53
RA 173.197.15.1072:be:65:03:8a:9f
172.25.1.228:fa:9c:82:0a:6e RB
03:32:53:f3:b1:8983:28:d8:a0:12:53 ARP 154.63.1.1 es 83:28:d8:a0:12:53
ARP Reply
Destino Origen
ARP Request
ff:ff:ff:ff:ff:ff 03:32:53:f3:b1:89 ARP ¿Quién es 154.63.1.1?
Destino Origen
19RC Bloque V Tema 16
Ejemplo resumen
173.197.15.493:a3:c2:83:e5:81
172.25.1.171:0f:83:82:ba:8c
154.63.43.1003:32:53:f3:b1:89 154.63.1.1
83:28:d8:a0:12:53
RA 173.197.15.1072:be:65:03:8a:9f
172.25.1.228:fa:9c:82:0a:6e RB
ICMP
...:b1:89 IP ICMP Tiempo excedido...:12:53 154.63.1.1 154.63.43.10 32
TTLDestino Origen Origen Destino
UDP
...:12:53 IP UDP – Puerto 38292...:b1:89 154.63.43.10 173.197.15.4 1
TTLDestino Origen Origen Destino
20RC Bloque V Tema 16
Ejemplo resumen
173.197.15.493:a3:c2:83:e5:81
172.25.1.171:0f:83:82:ba:8c
154.63.43.1003:32:53:f3:b1:89 154.63.1.1
83:28:d8:a0:12:53
RA 173.197.15.1072:be:65:03:8a:9f
172.25.1.228:fa:9c:82:0a:6e RB
UDP
...:12:53 IP UDP – Puerto 38292...:b1:89 154.63.43.10 173.197.15.4 2
TTLDestino Origen Origen Destino
ff:ff:ff:ff:ff:ff 71:0f:83:82:ba:8c ARP ¿Quién es 172.25.1.2?
Destino Origen
ARP Request
ARP Reply
71:0f:83:82:ba:8c 28:fa:9c:82:0a:6e ARP 172.25.1.2 es 28:fa:9c:82:0a:6e
Destino Origen
21RC Bloque V Tema 16
Ejemplo resumen
173.197.15.493:a3:c2:83:e5:81
172.25.1.171:0f:83:82:ba:8c
154.63.43.1003:32:53:f3:b1:89 154.63.1.1
83:28:d8:a0:12:53
RA 173.197.15.1072:be:65:03:8a:9f
172.25.1.228:fa:9c:82:0a:6e RB
ICMP
...:b1:89 IP ICMP Tiempo excedido...:12:53 172.25.1.2 154.63.43.10 31
TTLDestino Origen Origen Destino
ICMP
...:ba:8c IP ICMP Tiempo excedido...:0a:6e 172.25.1.2 154.63.43.10 32
TTLDestino Origen Origen Destino
UDP
...:0a:6e IP UDP – Puerto 38292...:ba:8c 154.63.43.10 173.197.15.4 1
TTLDestino Origen Origen Destino
22RC Bloque V Tema 16
Ejemplo resumen
173.197.15.493:a3:c2:83:e5:81
172.25.1.171:0f:83:82:ba:8c
154.63.43.1003:32:53:f3:b1:89 154.63.1.1
83:28:d8:a0:12:53
RA 173.197.15.1072:be:65:03:8a:9f
172.25.1.228:fa:9c:82:0a:6e RB
UDP
...:12:53 IP UDP – Puerto 38292...:b1:89 154.63.43.10 173.197.15.4 3
TTLDestino Origen Origen Destino
UDP
...:e5:81 IP UDP – Puerto 38292...:8a:9f 154.63.43.10 173.197.15.4 1
TTLDestino Origen Origen Destino
UDP
...:0a:6e IP UDP – Puerto 38292...:ba:8c 154.63.43.10 173.197.15.4 2
TTLDestino Origen Origen Destino
23RC Bloque V Tema 16
Ejemplo resumen
173.197.15.493:a3:c2:83:e5:81
172.25.1.171:0f:83:82:ba:8c
154.63.43.1003:32:53:f3:b1:89 154.63.1.1
83:28:d8:a0:12:53
RA 173.197.15.1072:be:65:03:8a:9f
172.25.1.228:fa:9c:82:0a:6e RB
ICMP
...:b1:89 IP ICMP Puerto inalcanzable...:12:53 173.197.15.4 154.63.43.10 30
TTLDestino Origen Origen Destino
ICMP
...:ba:8c IP ICMP Puerto inalcanzable...:0a:6e 173.197.15.4 154.63.43.10 31
TTLDestino Origen Origen Destino
ICMP
...:8a:9f IP ICMP Puerto inalcanzable...:e5:81 173.197.15.4 154.63.43.10 32
TTLDestino Origen Origen Destino
24RC Bloque V Tema 16
Ejemplo resumen
ARP Request: ¿Quién es 172.25.1.2?ARPff:ff:...:ff...:ba:8c
ARP Reply: 172.25.1.2 es ...:0a:6eARP...:ba:8c..:0a:6e
ICMP Tiempo excedidoICMP31154.63.43.10172.25.1.2IP...:b1:89..:12:53
ICMP Tiempo excedidoICMP32154.63.43.10172.25.1.2IP...:ba:8c..:0a:6e
UDP1173.197.15.4154.63.43.10IP..:0a:6e...:ba:8c
UDP2173.197.15.4154.63.43.10IP..:12:53...:b1:89
Mensaje
Cabecera IPCabecera Ethernet
Prot.TTLDestinoOrigenTipoDestinoOrigen
ARP Request: ¿Quién es 154.63.1.1?ARPff:ff:...:ff...:b1:89
ARP Reply: 154.63.1.1 es ...:12:53ARP...:b1:89..:12:53
UDP1173.197.15.4154.63.43.10IP..:12:53...:b1:89
ICMP Tiempo excedidoICMP32154.63.43.10154.63.1.1IP...:b1:89..:12:53
25RC Bloque V Tema 16
Ejemplo resumen
ICMP Puerto inalcanzableICMP30154.63.43.10173.197.15.4IP...:b1:89..:12:53
ICMP Puerto inalcanzableICMP31154.63.43.10173.197.15.4IP...:ba:8c..:0a:6e
ICMP Puerto inalcanzableICMP32154.63.43.10173.197.15.4IP...:8a:9f..:e5:81
UDP1173.197.15.4154.63.43.10IP..:e5:81...:8a:9f
UDP2173.197.15.4154.63.43.10IP..:0a:6e...:ba:8c
UDP3173.197.15.4154.63.43.10IP..:12:53...:b1:89
Mensaje
Cabecera IPCabecera Ethernet
Prot.TTLDestinoOrigenTipoDestinoOrigen
Top Related