PDF de programación - ARP

Imágen de pdf ARP

ARPgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.012 visualizaciones desde el 14 de Enero del 2017
990,1 KB
12 paginas
Creado hace 20a (14/11/2003)
ARP

Daniel Morató

Departamento de Automática y Computación

Area de Ingeniería Telemática
Universidad Pública de Navarra

[email protected]

Laboratorio de Programación de Redes

http://www.tlm.unavarra.es/asignaturas/lpr

Conceptos básicos de IP

• IP transporta “paquetes” de una máquinas a otras
• Cada interfaz en Internet tiene una dirección IP única
• Cada paquete IP tiene una cabecera donde se indica la dirección IP de la máquina
que lo envía y la dirección de la máquina que lo debe recibir

Cabecera

2
4
.
7
6
.
3
2
1
.
5
6

8
9
.
6
.
3
4
.
1
0
2

65.123.67.42

65.123.67.54

Datos

201.43.6.98

15 Oct

ARP

1/23

1

Conceptos básicos de IP

• Podemos enviar paquetes IP a máquinas en la misma red
• Pero también a máquinas en diferentes redes. Para ello los routers interconectan las
diferentes redes
• Un router tiene varios interfaces de red, uno en cada red y una dirección IP en cada
uno
• Un host, para hacer llegar un paquete IP a una máquina en otra red se lo entrega al
router que haya en su red
• El router lo enviará a otro y así sucesivamente hasta llegar a la red destino

65.123.67.42

65.123.67.54

65.123.67.201

Router IP
78.123.142.56

201.43.6.98

15 Oct

ARP

2/23

Comunicación IP en una LAN

• ¿Cómo se produce el intercambio de paquetes IP cuando origen y destino
pertenecen a la misma LAN?...

65.123.67.42

65.123.67.54

65.123.67.201

78.123.142.56

201.43.6.98

15 Oct

ARP

3/23

2

Comunicación IP en una LAN Ethernet
• ¿Cómo se produce el intercambio de paquetes IP cuando origen y destino
pertenecen a la misma LAN?...
• Supongamos que el host 65.123.67.42 tiene un paquete IP para enviar a la
máquina de IP 65.123.67.54. El host origen sabe que el destino está en su red.
• Para enviar el paquete debemos hacerlo dentro de una trama Ethernet
• La dirección MAC origen será la de la tarjeta del host que la envía
• El Ethertype será 0x0800 para indicar que los datos son del protocolo IP
• ¿Cómo sabe el host origen cuál es la dirección MAC de la tarjeta con IP
65.123.67.54 ?...

2
4
.
7
6
.
3
2
1
.
5
6

4
5
.
7
6
.
3
2
1
.
5
6

00:00:03:ed:ef:ad

?

0
0
8
0
x
0

65.123.67.42

00:00:03:ed:ef:ad

65.123.67.54

65.123.67.201

00:00:01:3e:ff:df

15 Oct

ARP

4/23

Comunicación IP en una LAN Ethernet
• El host origen necesita averiguar la dirección MAC de la tarjeta Ethernet que
tiene configurada la dirección IP 65.123.67.54. ¿Qué podría hacer?...

- Tener una tabla estática con las correspondencias (IP->MAC)

Problema: Si se añade un nuevo host hay que reconfigurar la tabla en todos

- Asignar la IP de forma que de ella se pueda extraer la MAC

Problema: Las direcciones MAC Ethernet son de 48bits, las IPs son de 32bits

- Diseñar un protocolo para averiguar la dirección MAC del interfaz con la IP deseada

?

:
3
0
:
0
0
:
0
0

d
a
:
f
e
:
d
e

0
0
8
0
x
0

2
4
.
7
6
.
3
2
1
.
5
6

4
5
.
7
6
.
3
2
1
.
5
6

65.123.67.42

00:00:03:ed:ef:ad

65.123.67.54

65.123.67.201

00:00:01:3e:ff:df

15 Oct

ARP

5/23

3

Comunicación IP en una LAN Ethernet
• El host origen necesita averiguar la dirección MAC de la tarjeta Ethernet que
tiene configurada la dirección IP 65.123.67.54. ¿Qué hace?...
• Construye otra trama de otro protocolo (no es IP). El protocolo se llama ARP
(Address Resolution Protocol) y emplea el Ethertype 0x0806
• La MAC destino de esta trama es la dirección de broadcast (ff:ff:ff:ff:ff:ff)
• En los datos se indica esa pregunta: ¿Cuál es la dirección MAC del interfaz con
dirección IP 65.123.67.54 ?
• Se envía esa trama, que será leída por todos los interfaces
• Todos la descartan salvo la máquina que tiene esa dirección IP
• La máquina con esa IP envía de vuelta otra trama ARP diferente donde le indica
su dirección MAC

:
f
f
:
f
f
:
f
f

f
f
:
f
f
:
f
f

:
3
0
:
0
0
:
0
0

d
a
:
f
e
:
d
e

6
0
8
0
x
0

65.123.67.42

00:00:03:ed:ef:ad

?

:
3
0
:
0
0
:
0
0

d
a
:
f
e
:
d
e

0
0
8
0
x
0

2
4
.
7
6
.
3
2
1
.
5
6

4
5
.
7
6
.
3
2
1
.
5
6

:
3
0
:
0
0
:
0
0

d
a
:
f
e
:
d
e

:
1
0
:
0
0
:
0
0

f
d
:
f
f
:
e
3

6
0
8
0
x
0

65.123.67.54

65.123.67.201

00:00:01:3e:ff:df

15 Oct

ARP

6/23

Comunicación IP en una LAN Ethernet
• Ahora el host origen ya conoce la dirección MAC que estaba buscando
• La coloca en el campo de “Dirección MAC destino” de la trama con el paquete IP
• Envía la trama con el paquete IP
• El destinatario (el único con esa dirección MAC) la lee y extrae el paquete IP
• El host origen se apunta en una tabla (caché ARP) que el interfaz con esa IP tiene
esa MAC. Así, la próxima vez que desee enviarle un paquete IP no necesitará
preguntar por su MAC

:
1
0
:
0
0
:
0
0

?

f
d
:
f
f
:
e
3

:
3
0
:
0
0
:
0
0

d
a
:
f
e
:
d
e

0
0
8
0
x
0

2
4
.
7
6
.
3
2
1
.
5
6

4
5
.
7
6
.
3
2
1
.
5
6

65.123.67.42

00:00:03:ed:ef:ad

65.123.67.54

65.123.67.201

00:00:01:3e:ff:df

15 Oct

ARP

7/23

4

Comunicación IP entre redes

• ¿Cómo se produce el intercambio de paquetes IP cuando origen y destino
pertenecen a distinta LAN?...
• Supongamos que el host 65.123.67.42 tiene un paquete IP para enviar a la
máquina de IP 201.43.6.98. El host origen sabe que el destino está en otra red.
• Prepara el paquete con su IP como origen y la del otro host como destino

2
4
.
7
6
.
3
2
1
.
5
6

8
9
.
6
.
3
4
.
1
0
2

65.123.67.42

65.123.67.54

00:00:03:ed:ef:ad

78.123.142.56

65.123.67.201
00:4d:45:f3:02:32

201.43.6.98

15 Oct

ARP

8/23

Comunicación IP entre redes

• Ahora le debe entregar el paquete IP a su router de salida. ¿Cómo lo hace?...
• Para enviar el paquete por la Ethernet debe “encapsularlo” en una trama Ethernet
• La dirección MAC origen es la suya, el Ethertype es 0x0800 (IP)
• La dirección MAC destino debe ser la del interfaz del router en su red. Si no la
conoce la averigua haciendo un ARP: ¿Quién tiene la IP 65.123.67.201 ?

:
5
4
:
d
4
:
0
0

2
3
:
2
0
:
3
f

:
3
0
:
0
0
:
0
0

d
a
:
f
e
:
d
e

0
0
8
0
x
0

2
4
.
7
6
.
3
2
1
.
5
6

8
9
.
6
.
3
4
.
1
0
2

65.123.67.42

65.123.67.54

00:00:03:ed:ef:ad

78.123.142.56

65.123.67.201
00:4d:45:f3:02:32

201.43.6.98

15 Oct

ARP

9/23

5

Comunicación IP entre redes

• Ahora envía la trama
• El router la recibe porque se dirige a su dirección MAC
• El router extrae el paquete IP de la trama
• La IP destino no es una de sus IPs, no es para él. Decide por dónde reenviarlo

:
5
4
:
d
4
:
0
0

2
3
:
2
0
:
3
f

:
3
0
:
0
0
:
0
0

d
a
:
f
e
:
d
e

0
0
8
0
x
0

2
4
.
7
6
.
3
2
1
.
5
6

8
9
.
6
.
3
4
.
1
0
2

65.123.67.42

65.123.67.54

00:00:03:ed:ef:ad

78.123.142.56

65.123.67.201
00:4d:45:f3:02:32

201.43.6.98

15 Oct

ARP

10/23

Comunicación IP entre redes

• Decide enviarlo por el interfaz en el que tiene la dirección 78.123.142.56
• NO cambia las direcciones IP del paquete: origen y destino siguen siendo los mismos
• Sí cambia algunos campos en la cabecera IP (TTL, Checksum)
• Reencapsula el paquete IP como corresponda para la tecnología del siguiente
enlace y lo envía al siguiente router

2
4
.
7
6
.
3
2
1
.
5
6

8
9
.
6
.
3
4
.
1
0
2

65.123.67.42

65.123.67.54

00:00:03:ed:ef:ad

78.123.142.56

65.123.67.201
00:4d:45:f3:02:32

201.43.6.98

15 Oct

ARP

11/23

6

Comunicación IP entre redes

• Por ejemplo, si este nuevo enlace fuera Ethernet colocaría como MAC origen la
del interfaz por el que envía la trama y como MAC destino la del interfaz del
router que la debe recibir
• Conocerá la IP del siguiente router porque es la información que guarda sobre los
caminos. Si no conoce la MAC la puede averiguar haciendo un ARP

2
4
.
7
6
.
3
2
1
.
5
6

8
9
.
6
.
3
4
.
1
0
2

65.123.67.42

65.123.67.54

00:00:03:ed:ef:ad

78.123.142.56

65.123.67.201
00:4d:45:f3:02:32

201.43.6.98

15 Oct

ARP

12/23

Comunicación IP entre redes

• De este modo el paquete IP irá pasando de router a router hasta alcanzar al router
de entrada a la red donde está la máquina destino
• Este router sabe que la máquina destino de ese paquete IP se encuentra en una
red a la que él está conectado
• El router enviará el paquete al host en una trama donde la MAC origen será la
MAC del interfaz del router que lo envía y la MAC destino la del host destino final
• Si no conoce la MAC del host final la averigua haciendo un ARP

65.123.67.42

65.123.67.54

00:00:03:ed:ef:ad

78.123.142.56

65.123.67.201
00:4d:45:f3:02:32

201.43.6.98

15 Oct

ARP

13/23

7

Formato de la trama ARP

Dest
Addr

Src
Addr

6
0
8
0
x
0

e
r
a
w
d
r
a
H

e
c
a
p
s

r
d
d
a

e
c
a
p
s

r
d
d
a

l
o
c
o
t
o
r
P

h
t
g
n
e
l



W
H

h
t
g
n
e
l



o
t
o
r
P

n
o
i
t
a
r
e
p
O

Sender
HW addr S

r
e
d
n
e

r
d
d
a

o
t
o
r
P

Destination
HW addr

Bytes

6

6

2

2

2

1 1 2

6

4

6

n
o
i
t
a
n
i
t
s
e
D

r
d
d
a

o
t
o
r
P

4

C
R
C

4

ARP Request ff:ff:ff:ff:ff:ff MACHost1 0x0806 1 0x0800 6 4 1 MACHost1 IPHost1 0 IPHost2
ARP Reply MACHost1 MACHost2 0x0806 1 0x0800 6 4 2 MACHost2 IPHost2 MACHost1 IPHost1

Host1

Host2

15 Oct

ARP

14/23

Dónde encaja ARP en la pila TCP/IP

Nivel de transporte

Nivel de red

Nivel de enlace

TCP

UDP

IP

ARP

15 Oct

ARP

15/23

8

Ejemplos

1) PC1 quiere enviar un paquete a PC2. ¿Cómo lo hace?
2) PC3 quiere enviar un paquete a PC2. ¿Cómo lo hace?

PC1

R1

10BASE2

Hub Ethernet

R2

PC2

R3

Conmutador FastEthernet

R4

Token Ring

15 Oct

ARP

Hub Ethernet

PC3

10BASE2

16/23

Proxy ARP

• También llamado el “ARP Hack”
• Supongamos que PC1 desea enviar un paquete IP a PC2
• Las dos redes son...
• El funcionamiento es el que hemos visto hasta ahora:

- PC1 sabe que PC2 está en otra red
- Debe enviar la trama con el paquete IP al router
- Si no conoce la MAC del router la averigua con un ARP preguntando por la MAC de la
IP del router en su red

65.0.0.0 - 65.255.255.255

PC1

R1

PC2

193.14.0.0-193.14.255.255

10BASE2

Hub Ethernet

15 Oct

ARP

17/23

9

Proxy ARP
• Ahora supongamos que las redes son...
• El funcionamiento sería el mismo:

- PC1 sabe que PC2 está en otr
  • Links de descarga
http://lwp-l.com/pdf854

Comentarios de: ARP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad