ARP y RARP - QueGrande.org

Anuncio
Bloque V: El nivel de enlace
ARP
Í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.
RC ­ Bloque V­ Tema 16
2
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).
IP
RED
ARP
Ethernet
RC ­ Bloque V­ Tema 16
ENLACE
3
Mensaje ARP
•
Formato del paquete ARP y RARP para Ethernet:
Tamaño dirección HW
Tamaño dirección protocolo
Dir. destino Ethernet
6
Dir. origen Tipo Tipo Tipo Ethernet
trma HW proto
6
Cabecera Ethernet
•
•
•
•
•
•
2
2
2
Op.
1 1
2
Dir. origen Dir. origen Dir. destino Dir. Ethernet
IP
Ethernet
destino IP
6
4
6
4
Paquete ARP/RARP
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).
RC ­ Bloque V­ Tema 16
4
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
•
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
RC ­ Bloque V­ Tema 16
5
ARP: Ejemplo
pino
210.53.23.32
resolver
(1)
FTP
1.El cliente de ftp llama al resolver para convertir el nombre de la maquina (pino) en una dirección IP.
TCP
ARP
IP
Driver Ethernet
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
RC ­ Bloque V­ Tema 16
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
6
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
(1)
resolver
FTP
(2)
TCP
ARP
IP
Driver Ethernet
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
RC ­ Bloque V­ Tema 16
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
7
ARP: Ejemplo
3. TCP solicita al nivel IP el envío de un datagrama a la dirección IP 210.53.23.32
(1)
resolver
FTP
(2)
TCP
(3)
ARP
IP
Driver Ethernet
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
RC ­ Bloque V­ Tema 16
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
8
ARP: Ejemplo
(1)
resolver
FTP
(2)
4. 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
TCP
ARP
IP
(3)
(4)
Driver Ethernet
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
RC ­ Bloque V­ Tema 16
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
9
ARP: Ejemplo
5. Es necesario convertir la dirección IP (210.53.23.32) en una dirección Ethernet  ARP
(1)
resolver
FTP
(2)
TCP
(5) ARP
IP
(3)
(4)
Driver Ethernet
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
RC ­ Bloque V­ Tema 16
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
10
ARP: Ejemplo
6. Envío del ARP Request a todas las máquinas de la red local (broadcast)
(1)
resolver
FTP
(2)
TCP
(5) ARP
IP
(6)
Driver Ethernet
(3)
(4)
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
RC ­ Bloque V­ Tema 16
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
11
ARP: Ejemplo
7. La capa ARP de heras recibe el broadcast y reconoce su IP. Contesta con un "ARP reply" que contiene su dirección Ethernet.
(1)
resolver
FTP
(2)
TCP
(5) ARP
IP
(6)
Driver Ethernet
(3)
(4)
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
Driver Ethernet
IP
ARP
(7)
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
TCP
RC ­ Bloque V­ Tema 16
12
ARP: Ejemplo
8. indurain recibe el "ARP reply" y ya puede enviar el datagrama IP que originó el "ARP request".
(1)
resolver
FTP
(2)
TCP
(5) ARP
IP
(8)
(6)
Driver Ethernet
(3)
(4)
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
Driver Ethernet
IP
ARP
(7)
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
TCP
RC ­ Bloque V­ Tema 16
13
ARP: Ejemplo
9. Se envía el datagrama IP a heras
(1)
resolver
FTP
(2)
TCP
(5) ARP
IP
(8)
(6)
Driver Ethernet
(3)
(4)
nogal (cliente FTP)
IP: 210.53.23.10
Eth.: 0f:9a:32:e3:09:8d
Driver Ethernet
IP
ARP
(7)
castaño
IP: 210.53.23.47
Eth.: 3a:8c:01:3d:21:8a
pino (servidor FTP)
IP: 210.53.23.32
Eth.: 8e:9a:93:90:3a:8a
TCP
RC ­ Bloque V­ Tema 16
14
ARP: Ejemplo
• ARP Request (nogal  broadcast)
ff:ff:ff:
ff:ff:ff
Destino
0f:9a:32:e3: 080 000 080
6 4
09:8d
6
1
0
1
Origen
Cabecera Ethernet
0f:9a:32:e3: 210.53.
09:8d
23.10
??
210.53.
23.32
Eth. origen IP origen Eth. destino IP dest.
Paquete ARP/RARP
• ARP Reply (pino  nogal)
0f:9a:32:e3: 8e:9a:93:90 080 000 080
6 4
:3a:8a
09:8d
6
1
0
Destino
Origen
Cabecera Ethernet
RC ­ Bloque V­ Tema 16
2
8e:9a:93:90 210.53. 0f:9a:32:e3: 210.53.
:3a:8a
23.32
09:8d
23.10
Eth. origen IP origen Eth. destino IP dest.
Paquete ARP/RARP
15
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.
RC ­ Bloque V­ Tema 16
16
Ejemplo resumen
• Indicar todas las tramas que genera el comando traceroute.
– La máquina origen y RA acaban de reiniciarse.
traceroute 173.197.15.4
154.63.1.1
83:28:d8:a0:12:53
RA
172.25.1.2
28:fa:9c:82:0a:6e
RB
173.197.15.10
72:be:65:03:8a:9f
172.25.1.1
71:0f:83:82:ba:8c
154.63.43.10
03:32:53:f3:b1:89
RC ­ Bloque V­ Tema 16
173.197.15.4
93:a3:c2:83:e5:81
17
Ejemplo resumen
154.63.43.10
03:32:53:f3:b1:89
154.63.1.1
83:28:d8:a0:12:53
RA
172.25.1.2
28:fa:9c:82:0a:6e
RB
173.197.15.4
93:a3:c2:83:e5:81
173.197.15.10
72:be:65:03:8a:9f
172.25.1.1
71:0f:83:82:ba:8c
ARP Request
ARP Reply
ff:ff:ff:ff:ff:ff
Destino
03:32:53:f3:b1:89 ARP
¿Quién es 154.63.1.1?
Origen
03:32:53:f3:b1:89 83:28:d8:a0:12:53 ARP 154.63.1.1 es 83:28:d8:a0:12:53
Destino
Origen
RC ­ Bloque V­ Tema 16
18
Ejemplo resumen
154.63.43.10
03:32:53:f3:b1:89
RA
154.63.1.1
83:28:d8:a0:12:53
172.25.1.2
28:fa:9c:82:0a:6e
RB
173.197.15.4
93:a3:c2:83:e5:81
173.197.15.10
72:be:65:03:8a:9f
172.25.1.1
71:0f:83:82:ba:8c
UDP
ICMP
...:12:53 ...:b1:89 IP 154.63.43.10
Destino
...:b1:89 ...:12:53 IP
Destino
Origen
154.63.1.1
Origen
RC ­ Bloque V­ Tema 16
Origen
Origen
173.197.15.4
Destino
1 UDP – Puerto 38292
TTL
154.63.43.10 32 ICMP Tiempo excedido
Destino
TTL
19
Ejemplo resumen
154.63.43.10
03:32:53:f3:b1:89
154.63.1.1
83:28:d8:a0:12:53
RA
172.25.1.2
28:fa:9c:82:0a:6e
RB
173.197.15.4
93:a3:c2:83:e5:81
173.197.15.10
72:be:65:03:8a:9f
172.25.1.1
71:0f:83:82:ba:8c
ARP Request
UDP
ARP Reply
ff:ff:ff:ff:ff:ff
71:0f:83:82:ba:8c ARP
Destino
¿Quién es 172.25.1.2?
Origen
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
...:12:53 ...:b1:89 IP 154.63.43.10
Destino
Origen
Origen
RC ­ Bloque V­ Tema 16
Origen
173.197.15.4
Destino
2 UDP – Puerto 38292
TTL
20
Ejemplo resumen
154.63.43.10
03:32:53:f3:b1:89
172.25.1.2
28:fa:9c:82:0a:6e
RA
154.63.1.1
83:28:d8:a0:12:53
RB
173.197.15.4
93:a3:c2:83:e5:81
173.197.15.10
72:be:65:03:8a:9f
172.25.1.1
71:0f:83:82:ba:8c
UDP
ICMP
ICMP
...:0a:6e ...:ba:8c IP 154.63.43.10
Destino
Origen
...:ba:8c ...:0a:6e IP
Destino
...:b1:89 ...:12:53 IP
Destino
Origen
172.25.1.2
Origen
RC ­ Bloque V­ Tema 16
Origen
Origen
172.25.1.2
Origen
173.197.15.4
Destino
1 UDP – Puerto 38292
TTL
154.63.43.10 32 ICMP Tiempo excedido
Destino
TTL
154.63.43.10 31 ICMP Tiempo excedido
Destino
TTL
21
Ejemplo resumen
154.63.43.10
03:32:53:f3:b1:89
172.25.1.2
28:fa:9c:82:0a:6e
RA
154.63.1.1
83:28:d8:a0:12:53
RB
173.197.15.4
93:a3:c2:83:e5:81
173.197.15.10
72:be:65:03:8a:9f
172.25.1.1
71:0f:83:82:ba:8c
UDP
UDP
UDP
...:e5:81 ...:8a:9f IP 154.63.43.10
Destino
Origen
Origen
...:0a:6e ...:ba:8c IP 154.63.43.10
Destino
Origen
...:12:53 ...:b1:89 IP 154.63.43.10
Destino Origen
Origen
RC ­ Bloque V­ Tema 16
Origen
173.197.15.4
Destino
173.197.15.4
173.197.15.4
Destino
Destino
1 UDP – Puerto 38292
TTL
2 UDP – Puerto 38292
TTL
3 UDP – Puerto 38292
TTL
22
Ejemplo resumen
154.63.43.10
03:32:53:f3:b1:89
172.25.1.2
28:fa:9c:82:0a:6e
RA
154.63.1.1
83:28:d8:a0:12:53
RB
173.197.15.4
93:a3:c2:83:e5:81
173.197.15.10
72:be:65:03:8a:9f
172.25.1.1
71:0f:83:82:ba:8c
ICMP
ICMP
ICMP
...:8a:9f ...:e5:81 IP 173.197.15.4
Destino
Origen
Origen
...:ba:8c ...:0a:6e IP 173.197.15.4
Destino
...:b1:89 ...:12:53 IP 173.197.15.4
Destino
Origen
Origen
RC ­ Bloque V­ Tema 16
Origen
Origen
154.63.43.10 32 ICMP Puerto inalcanzable
Destino
TTL
154.63.43.10 31 ICMP Puerto inalcanzable
Destino
TTL
154.63.43.10 30 ICMP Puerto inalcanzable
Destino
TTL
23
Ejemplo resumen
Cabecera Ethernet
Cabecera IP
Mensaje
Origen
Destino
Tipo
Origen
Destino
TTL
Prot.
...:b1:89
ff:ff:...:ff
ARP
­­­
­­­
­­­
­­­
ARP Request: ¿Quién es 154.63.1.1?
..:12:53
...:b1:89
ARP
­­­
­­­
­­­
­­­
ARP Reply: 154.63.1.1 es ...:12:53
...:b1:89
..:12:53
IP
154.63.43.10
..:12:53
...:b1:89
IP
154.63.1.1
...:b1:89
..:12:53
IP
154.63.43.10
...:ba:8c
ff:ff:...:ff
ARP
­­­
­­­
­­­
­­­
ARP Request: ¿Quién es 172.25.1.2?
..:0a:6e
...:ba:8c
ARP
­­­
­­­
­­­
­­­
ARP Reply: 172.25.1.2 es ...:0a:6e
...:ba:8c
..:0a:6e
IP
154.63.43.10
..:0a:6e
...:ba:8c
IP
172.25.1.2
154.63.43.10
32
ICMP
ICMP Tiempo excedido
..:12:53
...:b1:89
IP
172.25.1.2
154.63.43.10
31
ICMP
ICMP Tiempo excedido
RC ­ Bloque V­ Tema 16
173.197.15.4 1
154.63.43.10
32
173.197.15.4 2
173.197.15.4 1
UDP
ICMP
ICMP Tiempo excedido
UDP
UDP
24
Ejemplo resumen
Cabecera Ethernet
Origen
Cabecera IP
Origen
Tipo
...:b1:89
..:12:53
IP
154.63.43.10
173.197.15.4 3
UDP
...:ba:8c
..:0a:6e
IP
154.63.43.10
173.197.15.4 2
UDP
...:8a:9f
..:e5:81
IP
154.63.43.10
173.197.15.4 1
UDP
..:e5:81
...:8a:9f
IP
173.197.15.4 154.63.43.10
32
ICMP
ICMP Puerto inalcanzable
..:0a:6e
...:ba:8c
IP
173.197.15.4 154.63.43.10
31
ICMP
ICMP Puerto inalcanzable
..:12:53
...:b1:89
IP
173.197.15.4 154.63.43.10
30
ICMP
ICMP Puerto inalcanzable
RC ­ Bloque V­ Tema 16
Destino
TTL
Prot.
Mensaje
Destino
25
Descargar