Bloque V: El nivel de enlace ARPquegrande.org/apuntes/EI/3/RC/teoria/08-09/tema_16:_arp.pdf ·...

Post on 22-Jun-2020

4 views 0 download

Transcript of Bloque V: El nivel de enlace ARPquegrande.org/apuntes/EI/3/RC/teoria/08-09/tema_16:_arp.pdf ·...

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:6e­­­­­­­­­­­­ARP...: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:53­­­­­­­­­­­­ARP...: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