Resolución de direcciones (ARP)

Anuncio
Sistemas de Transportes de Datos (STD)
Tema II: IP (Entrega 2)
____________________________________
Resolución de direcciones (ARP)
• Distinguir entre dirección IP y dirección física en la red.
• Cuando un host debe enviar un datagrama a la red debe:
– Determinar si el host destinatario está en la misma red o no,
comparando (utilizando la máscara de red) los bits de los id de red
y de subred con los de su propia dirección IP.
• Si coinciden están en la misma red física. El primer destinatario
del datagrama será el destinatario final.
• Si no coinciden, están en redes físicas distintas. El primer
destinatario será un ROUTER que se encarge de reenviarlo hacia
otra red, acercándolo hacia su red destino.
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
– Determinar la dirección física del primer destinatario del
datagrama. Y ello porque el datagrama tiene que encapsularse
como campo de datos de una trama propia de la red física, y en
esa trama aparece la dirección física de la máquina (host o router)
destinataria de esa trama.
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
Resolución de direcciones (ARP)
• Cada red tiene un sistema de direccionamiento propio.
• No es viable el mantenimiento de tablas con todas las
direcciones IP / direcciones físicas en cada host y router
conectados a una red gestionadas manualmente por el
administrador de dichas máquinas.
• La solución pasa por habilitar un mecanismo que
permita a un host conocer la @física correspondiente
a una @IP en el momento en que lo necesite, por
ejemplo lanzando una pregunta a la red. Este
mecanismo puede complementarse con el
mantenimiento automatizado de una tabla de
correspondencia @IP / @física.
Departamento
Arquitectura
Computadores
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
Resolución de direcciones (ARP)
____________________________________
____________________________________
• Solución: Protocolo ARP (Address Resolution
Protocol).
• Complemento: Protocolo RARP (Reverse Address
Resolution Protocol).
• Un protocolo por cada tipo de red (por cada tipo de
trama de red y formato de @Física). ARP para
Ethernet: RFC 826.
Departamento
Arquitectura
Computadores
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
_____________________________
Grupo de Aplicaciones Telemáticas
U PC
Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1
1
Sistemas de Transportes de Datos (STD)
Tema II: IP (Entrega 2)
____________________________________
ARP. Situaciones posibles
• Tres situaciones:
– 1. Host remitente y host destinatario en la misma red física.
– 2. Host remitente y host destinatario en diferentes redes físicas que
tienen diferentes direcciones IP de red.
– 3. Casos algo especiales para Proxy ARP. Hay situaciones en las que
el host destinatario tiene una @IP que hace pensar que está conectado
a la misma LAN que el remitente, PERO NO ES ASI. En estos casos,
el router contesta las peticiones de ARP como si fuera el host
destinatario. Casos:
• 3.1 Host remitente y host destinatario en diferentes redes físicas
que, sin embargo, tienen iguales direcciones de red IP.
• 3.2 Host remitente en una LAN y host destinatario en el otro
extremo de un enlace punto a punto que lo conecta al router que
sirve a la LAN.
Departamento
Arquitectura
Computadores
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
Grupo de Aplicaciones Telemáticas
U PC
ARP: remitente y destinatario están en la
misma red física
0. Cada máquina tiene su
@IP dest final y @Física son direcciones de LA MISMA MÁQUINA @IP y @Física.
1. Host 1: enviar datagrama
Datagrama IP
a @IP 143.250.1.3: ¿@Fis?
8:0:20:3:f6:43 @IP dest: 143.250.1.3 DATOS
2. Host 1: Pregunta a todos:
Trama Ethernet
8:0:20:3:f6:43 Datagrama
4
A todos | 143.250.1.3 | @Fis?
2
@IP: 143.250.1.2
@Física: 8:0:20:3:f6:41
¿quién sabe cual es la @Fis
de la @IP 143.250.1.3?
A/De Internet
3. Host 3 detecta que esa
@IP:143.250.1.1
@Física: 8:0:20:3:f6:44
es su @IP y responde al
Host 1 con su @Fis y respon
8:0:20:3:f6:41| 143.250.1.3 | 8:0:20:3:f6:43
de
3
4. Host 1 puede enviarle
una trama de red con el
datagrama en su campo
de datos y la @Física (y aña
de entrada a tabla)
@IP:143.250.1.4
@Física: 8:0:20:3:f6:42
host 1
@IP:143.250.1.3
@Física: 8:0:20:3:f6:43
host 2
Departamento
Arquitectura
Computadores
host 3
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
5. Si hay más datagramas
para Host 3, puede usar la
tabla
Grupo de Aplicaciones Telemáticas
U PC
ARP : remitente y destinatario están en
la misma red física
• La @IP del destino final SE MANTIENE EN EL DATAGRAMA.
• Si el destinatario final ESTA en la red:
– La trama Ethernet contiene como @Física destinataria la del host destinatario.
– El datagrama encapsulado en dicha trama contiene como @IP del destinatario
la @IP del host destinatario.
Datagrama IP
8:0:20:3:f6:43
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
@IP dest: 143.250.1.3
Cabecera trama
– Destinatario final de datagrama: host 3 (@Física: 8:0:20:3:f6:43 / @IP :
143.250.1.3).
– Destinatario de trama Ethernet: host3 (@ Física : 8:0:20:3:f6:43 / @IP :
143.250.1.3).
– @Red destinatario de trama = @ Física correspondiente a la @IP del
host destinatario del datagrama encapsulado
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1
2
Sistemas de Transportes de Datos (STD)
Tema II: IP (Entrega 2)
ARP: remitente y destino en diferentes
redes con diferentes @IP de red.
0. Cada máquina tiene su
@IP y @Física.
1. Host 1: enviar datagrama
a @IP 148.250.2.3: a través
del router (@IP 143.250.1.1)
2. Host 1: Pregunta a todos:
¿quién sabe la @Red de la
@IP 143.250.1.1(router)?
@IP y @Física son direcciones de MÁQUINAS DISTINTAS
8:0:20:3:f6:44 @IP dest: 148.250.2.3
DATOS
Trama Ethernet
A/De Internet
8:0:20:3:f6:44 Datagrama
@IP:143.250.1.1
@Física: 8:0:20:3:f6:44
3. Router detecta que esa
4
es su @IP y responde al
8:0:20:3:f6:41 | 143.250.1.1 | 8:0:20:3:f6:44
Host 1 con su @Fis y responA todos | 141.250.1.1 | @Fis?
3
de.
2
4. Host 1 puede enviarle
una trama de red con el
datagrama en su campo
de datos y la @Fis
5. Si hay más datagramas
@IP: 143.250.1.2
@IP:143.250.1.4
@IP:143.250.1.3
@Física: 8:0:20:3:f6:41
@Física: 8:0:20:3:f6:42
@Física: 8:0:20:3:f6:43 para el router, puede usar la
tabla.
host 1
host 2
host 3
Departamento
Arquitectura
Computadores
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
Grupo de Aplicaciones Telemáticas
U PC
ARP: remitente y destino en diferentes
redes con diferentes @IP de red.
• Si el destinatario final NO ESTA en la red:
– La trama Ethernet contiene como @ Física destinataria la del
ROUTER encargado de encaminar el datagrama hacia fuera.
– El datagrama encapsulado en la trama NO CONTIENE la @IP del
ROUTER, SINO la @IP del host destinatario final como @IP del
destinatario de dicho datagrama. Datagrama IP
8:0:20:3:f6:44
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
@IP dest: 148.250.2.3
Cabecera trama
– Destinatario final de datagrama: host en otra red (@IP: 148.250.2.3).
– Destinatario de la trama Ethernet: router (@IP: 143.250.1.1, @ Física :
8:0:20:3:f6:44).
– @ Física destinatario de trama = @Física de router (8:0:20:3:f6:44)
– @IP destinatario final de datagrama encapsulado = 148.250.2.3 (NO @IP de
router -destinatario de trama Ethernet).
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
Situaciones de actuación del Proxy ARP
____________________________________
3.1. Dos redes físicas diferentes con direcciones IP de red idénticas (cada host tiene su @IP)
____________________________________
@Red: 143.250.1.0
@IP: 143.250.1.1
LAN
@IP: 143.250.1.22
FDDI
@Red: 143.250.1.0
____________________________________
____________________________________
____________________________________
@IP: 143.250.1.11
@IP: 143.250.1.2
@IP: 143.250.1.12
_____________________________
@IP: 143.250.1.10
3.2. Host “multihomed” (con dos @IP).conectado directamente a una LAN y, a través de
una línea punto a punto, al router de otra LAN.
Host “multihomed” @Red: 148.250.2.0
@Red: 143.250.1.0
LAN
@IP: 143.250.1.11
FDDI
@IP: 148.250.2.2
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1
3
Sistemas de Transportes de Datos (STD)
Tema II: IP (Entrega 2)
Proxy ARP: dos redes físicas diferentes
con la misma @IP de red
@Red: 143.250.1.0
@IP: 143.250.1.1
@Red: 143.250.1.0
LAN
FDDI
Host 1
Host 2
@IP: 143.250.1.2
@Física: 8:0:20:3:f6:41
@IP: 143.250.1.12 1. Host 1 pregunta por @Fis
correspondiente a 143.250.1.12
Contenidos de
sin saber que el host 2 está en
trama (datagrama, ARP)
otra red física!
Cabecera Ethernet con @Fis
de remitente y destinatario
1
Host 1:
ARP Req
0. Host 1: enviar datagrama
a @IP 143.250.1.12. NO esta
en la misma red física, pero
ambas tienen la misma @IP
de red. REMITENTE NO sabe
que deberá pasar por el router
De Host 1 a Todos
141.250.1.12 // @Fis?
2
Router
ARP Ans
3
De Host 1 a Router
Host 1:
Datagrama
De router a Host 1
141.250.1.12 // @Fis Router
Departamento
Arquitectura
Computadores
141.250.1.12 // datos
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
2. El router se da cuenta de que
el host 2 está en la otra red
física y contesta al ARP Req
con SU PROPIA @Fis COMO
SI FUERA EL HOST 2!. Host 1
cree que le ha contestado el
host 2
4. Router encamina 3. Host 1 envía a @F de router
datagrama a Host 2. pensando que envía a Host 2
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
Proxy ARP: host “multihomed”
@Red: 143.250.1.0
0. Host 1: enviar datagrama
a @IP 143.250.1.11 (host 2).
Para llegar a él debe pasarse
por un enlace punto a punto.
REMITENTE NO sabe
que deberá pasar por el router
Host “multihomed”
@IP: 143.250.1.11
Host 2
FDDI
Host 1
@IP: 148.250.2.2 @Red: 148.250.2.0
1. Host 1 pregunta por @Fis
correspondiente a 143.250.1.11
Contenidos de
Cabecera Ethernet con @Fis
sin saber que el host 2 está en
trama (datagrama, ARP)
de remitente y destinatario
un extremo de un enlace p. a p.!
2. El router se da cuenta de que
1 Host 1:
De Host 1 a Todos
141.250.1.11 // @Fis?
el host 2 está en el otro extremo
ARP Req
del enlace y contesta con SU
Router
PROPIA @Fis COMO
2
De router a Host 1 141.250.1.11 // @Fis Router
ARP Ans
SI FUERA EL HOST 2!. Host 1
cree que le ha contestado el
3 Host 1:
De Host 1 a Router
141.250.1.11 // datos
host 2
Datagrama
4. Router envía
3. Host 1 envía a @F de router
datagrama a Host 2. pensando que envía a Host 2
Departamento
Arquitectura
Computadores
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
____________________________________
____________________________________
_____________________________
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
ARP: ACTUACIÓN DE PROTOCOLOS
Nombre host
1
resolver
% ftp sert.ac.upc.es
1. Cliente FTP invoca a función
gethostbyname() para obtener su @IP
FTP
2
Dirección IP
TCP
3
IP
5
ARP
Driver
6
Driver
7
ARP
3. TCP pasa segmento a IP
____________________________________
____________________________________
____________________________________
____________________________________
4. IP pasa datagrama al driver
5. Driver solicita a ARP la @Fis
4
8
Driver
ARP
2. FTP pide a TCP establecer una
conexión y le pasa la @IP
____________________________________
9
_____________________________
6. ARP envía a la red ARP-Req
7. ARP de host destino detecta
petición y contesta con ARP-Reply
añadiendo su @Física
8. ARP de remitente entrega @Fis
al driver
9. Driver envía trama con datagrama
a la red
IP
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1
4
Sistemas de Transportes de Datos (STD)
Tema II: IP (Entrega 2)
____________________________________
ARP: Paquetes
____________________________________
• ARP define un formato de paquete para insertar en el campo
de datos de las tramas de las redes de area local (Ethernet en
el laboratorio).
____________________________________
____________________________________
____________________________________
____________________________________
• ARP define dos tipos de paquete:
_____________________________
– ARP-Request: un host lanza a TODOS los conectados a la red la
pregunta: ¿cuál es la dirección física de la máquina que tiene la
dirección IP que aparece en el paquete que os envío?.
– ARP-Reply: la máquina (host o router) cuya dirección IP es la que
aparecía en el ARP-Request contesta: yo tengo la dirección IP por la
que preguntabas y mi dirección física es la que te indico en el paquete.
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
ARP: Paquetes
____________________________________
____________________________________
Formato de paquete para trama Ethernet
0
2
4(bytes)
Cabecera Trama 1
Paquete ARP 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
|
|
|
| | |
|
|
|
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@Fis. destino
Operación:
Protocolo
IP: 0x800
@Fis. fuente
Tipo de trama
ARQ-Req
ARQ-Rep: 0x806
Tipo @Fisica
Ethernet: 1
@IP dest
ARP-Req (1)
ARP-Rep (2)
@Fis dest
Longitud @lógica (IP)
Longitud @Física
____________________________________
____________________________________
____________________________________
_____________________________
@IP fuente
@Fis fuente
+------------+------------+----+----+----+--+--+----+------------+--------+------------+--------+
|FFFFFFFFFFFF|08002003F641|0806|0001|0800|08|06|0001|08002003F641|8FFA0102|XXXXXXXXXXXX|8FFA0103|
+------------+------------+----+----+----+--+--+----+------------+--------+------------+--------+
ARP-Req
+------------+------------+----+----+----+--+--+----+------------+--------+------------+--------+
|08002003F641| 08002003F643|0806|0001|0800|08|06|0002|08002003F643| 8FFA0103| 08002003F641|8FFA0102 |
+------------+------------+----+----+----+--+--+----+------------+--------+------------+--------+
Dirección Ethernet preguntada
Departamento
Arquitectura
Computadores
 J.C. Cruellas
ARP-Rep
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
ARP: cache de direcciones
____________________________________
____________________________________
• Si el hostid no es correcto, se envía varias veces un ARP-Req,
y al no obtener respuesta, se abandona.
• El módulo de resolución de direcciones gestiona una TABLA
con tripletas <protocolo,@Fis,@lógica>, de forma que cuando
a una máquina llega una trama con un paquete ARP:
– Si el módulo acepta direcciones para el protocolo indicado
– Si la @lógica de la máquina = @lógica destinatario
____________________________________
____________________________________
____________________________________
_____________________________
• Añade tripleta <protocolo,@Fis rem.,@logica rem.> a la tabla o la sustituye
si ya estaba.
• Si la operación es un ARP-Req, genera una trama ARP-Rep convirtiendo las
@Fis y @logica del remitente del ARP-Req en las correspondientes al
destinatario del ARP-Rep, y poniendo como @Fis y @lógica del remitente
las suyas propias.
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1
5
Sistemas de Transportes de Datos (STD)
Tema II: IP (Entrega 2)
____________________________________
“Gratuitous” ARP
____________________________________
____________________________________
• Un host puede lanzar a la red un ARP-Req preguntando por
la @Fisica correspondiente a su propia @IP (para la que NO
espera respuesta) por dos motivos:
– Para comprobar que NO se ha asignado la misma @IP a dos
máquinas distintas (si es así, el originador del ARP-Req recibiría un
ARP-Rep y aparecería un mensaje de error).
– Para actualizar las caches ARP del resto de las máquinas. Útil si la
máquina en cuestión se ha venido abajo antes y se le ha cambiado la
tarjeta de red (lo que implica que ahora tiene una @Física diferente a
la anterior).
Departamento
Arquitectura
Computadores
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
_____________________________
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
ARP en entornos SIN “broadcast”
____________________________________
____________________________________
• En Ethernet, el host remitente envía una trama a
TODOS los hosts y routers de la red (broadcast).
¿Qué pasa en redes que NO permiten broadcast conmutación de circuitos-?.
• ATM: conmutación de circuitos: los hosts están
conectados a un conmutador.
• Solución:
____________________________________
____________________________________
____________________________________
_____________________________
– Poner en pie un SERVICIO CENTRAL de resolución de
direcciones IP. Una máquina actúa como servidor ATMARP.
– Cuando se da de alta un nuevo host, notifica su @IP y su
@Física al servidor.
– El servidor mantiene una tabla de correspondencias.
Departamento
Arquitectura
Computadores
 J.C. Cruellas
Grupo de Aplicaciones Telemáticas
U PC
____________________________________
ARP en entornos SIN “broadcast”
____________________________________
____________________________________
– Cuando un host desea enviar un datagrama a otro, se envía
la pregunta AL SERVIDOR ATMARP.
– El servidor contesta con la @Física correspondiente.
– El remitente envía entonces el datagrama al destinatario.
• RFC 1577: “Classical IP over ATM”
Departamento
Arquitectura
Computadores
 J.C. Cruellas
____________________________________
____________________________________
____________________________________
_____________________________
Grupo de Aplicaciones Telemáticas
U PC
Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1
6
Sistemas de Transportes de Datos (STD)
Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1
Tema II: IP (Entrega 2)
7
Descargar