Bloque IV: El nivel de red Tema 10: Enrutamiento IP básico
2RC - Bloque IV - Tema 10
Índice• Bloque IV: El nivel de red
– Tema 10: Enrutamiento IP básico• Introducción• Tabla de enrutamiento• Algoritmo de enrutamiento• Direcciones IP privadas• NAT y DHCP• Ejemplo resumen
• Referencias– Capítulo 4 de “Redes de Computadores: Un enfoque
descendente basdado en Internet”. James F. Kurose, Keith W. Ross. Addison Wesley, 2ª edición. 2003.
– Capítulos 3 y 9 de “TCP/IP Illustrated, Volume 1: The Protocols”, W. Richard Stevens, Addison Wesley, 1994.
3RC - Bloque IV - Tema 10
Introducción• Algoritmo general de enrutamiento:
– Si el destino está directamente conectado a la máquina (p.e. enlace punto a punto) o en una red compartida (p.e. Ethernet/Token Ring), se envía el datagrama IP directamente al destino.
– En caso contrario: la máquina envía el datagrama a un router por defecto, y deja que este router entregue el datagrama al destino.
• El nivel IP se puede configurar de dos formas:– para actuar como host.– para actuar como router.
• El algoritmo de enrutamiento debe valer para poder ser utilizado por las dos posibles configuraciones. Cuando IP recibe un paquete:– Si el destino es la propia máquina o una dirección de broadcast,
entonces se pasa a la capa de transporte correspondiente.– Sino:
• Si la máquina está configurada para actuar como router, entonces encamina el paquete
• Sino el paquete se descarta
4RC - Bloque IV - Tema 10
Tabla de enrutamiento• La capa IP tiene una tabla de enrutamiento en memoria. Cada entrada de la
tabla de enrutamiento contiene las siguientes informaciones:– Dirección IP de destino: Puede ser un host (host ID != 0) o una dirección de
red (host ID =0).– Dirección IP del siguiente router o la dirección IP de una red conectada
directamente. A el/ella se envían las datagramas para su posterior reenvío.– Flags:
• Host: indica si la dirección IP de destino es de una red o de un host.• Gateway: indica si el siguiente router es realmente un router o una
interfaz conectada directamente.– Especificación de la interfaz de red a la que se debe pasar el datagrama
para su envío.• El enrutamiento en IP se hace salto a salto:
– IP no conoce cuál es la ruta completa al destino final de un datagrama.– Sabe cuál es el siguiente router en el camino de un datagrama.– El siguiente router está directamente conectado a la máquina que envía el
datagrama.
Destino Gateway Flags Interfaz Tabla de enrutamiento
5RC - Bloque IV - Tema 10
Algoritmo de enrutamiento1. Se busca en una tabla de enrutamiento una entrada que se
corresponda con la dirección completa IP de destino (ID de red + ID de “host”).– Si se encuentra, se envía el paquete al siguiente router indicado o
a la interfaz conectada directamente (depende del flag).2. Se busca en la tabla de enrutamiento una entrada que se corresponda
sólo con el ID de red de destino.– Si se encuentra, se envía el paquete al siguiente router indicado o
a la interfaz conectada directamente (depende del flag).– Esto permite que todos los hosts de una red (ej: una red ethernet
local) se gestionen con una sola entrada en la tabla de enrutamiento.
3. Se busca en la tabla de enrutamiento una entrada “default” (por defecto). Si se encuentra, se envía el paquete al “router” indicado.
4. Si ninguno de los pasos anteriores tiene éxito, se genera el error “host o red inalcanzable”. Ha sido imposible entregar el datagrama.
6RC - Bloque IV - Tema 10
Enrutamiento IP básico• Tabla de enrutamiento de un host aislado:
• Tabla de enrutamiento de un host conectado a una LAN:
Destino Gateway Flags Interfaz127.0.0.1 ---- Host Gateway lo0
LAN A - 173.197.0.0
IP: 173.197.45.10 IP: 173.197.24.1 IP: 173.197.15.4 IP: 173.197.0.8
Destino Gateway Flags Interfaz127.0.0.1 ---- Host Gateway lo0
173.197.0.0 ---- Host Gateway le0
7RC - Bloque IV - Tema 10
Enrutamiento IP básico• Tabla de enrutamiento de un host conectado a una
LAN (alternativa):Destino Gateway Flags Interfaz
127.0.0.1 ---- Host Gateway lo0173.197.24.1 ---- Host Gateway le0173.197.15.4 ---- Host Gateway le0173.197.0.8 ---- Host Gateway le0
LAN A - 173.197.0.0
IP: 173.197.45.10 IP: 173.197.24.1 IP: 173.197.15.4 IP: 173.197.0.8
8RC - Bloque IV - Tema 10
Enrutamiento IP básico• Tabla de enrutamiento de un host conectado a una
red de área local con conexión a Internet a través de un router:
Internet
LAN A - 173.197.0.0
IP: 173.197.45.10 IP: 173.197.24.1 IP: 173.197.15.4 IP: 173.197.0.8
Destino Gateway Flags Interfaz127.0.0.1 ---- Host Gateway lo0
173.197.0.0 ---- Host Gateway le0default 173.197.1.1 Host Gateway le0
IP: 173.197.1.1
10RC - Bloque IV - Tema 10
Enrutamiento IP básico: Ejemplo
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
RB
LAN B210.53.23.0
210.53.23.10
210.53.23.55le1210.53.23.1
192.168.1.1
192.168.1.2
le1
le0
RED192.168.1.0
Destino Gateway Flags Interfaz
173.197.0.0 ---- H G le0127.0.0.1 ---- H G lo0
192.168.1.2 ---- H G le1210.53.23.0 192.168.1.2 H G le1
11RC - Bloque IV - Tema 10
Enrutamiento IP básico: Ejemplo
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
RB
LAN B210.53.23.0
210.53.23.10
210.53.23.55le1210.53.23.1
192.168.1.1
192.168.1.2
le1
le0
RED192.168.1.0
Destino Gateway Flags Interfaz
210.53.23.0 ---- H G le1127.0.0.1 ---- H G lo0
192.168.1.1 ---- H G le0173.197.0.0 192.168.1.1 H G le0
12RC - Bloque IV - Tema 10
Enrutamiento IP básico: Ejemplo
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
RB
LAN B210.53.23.0
210.53.23.10
210.53.23.55le1210.53.23.1
192.168.1.1
192.168.1.2
le1
le0
RED192.168.1.0
Destino Gateway Flags Interfaz
173.197.0.0 ---- H G le1127.0.0.1 ---- H G lo0
default 173.197.1.1 H G le1
13RC - Bloque IV - Tema 10
Direcciones privadas• En el caso anterior, las direcciones utilizadas para la
línea serie entre RA y RB no son conocidas por los hosts. ¿Para qué malgastar direcciones IP públicas?
Se utilizan IPs privadas• Direcciones IP reservadas y privadas (RFC 1918):
– 10.0.0.0: privado– 172.16.0.0 – 172.31.0.0: privado– 192.168.0.0 – 192.168.255.0: privado– 128.0.0.0, 192.0.0.0, 224.0.0.0: reservado (inicio
del rango de las direcciones clase B, C y D).– 127.0.0.0, 191.255.0.0: reservado (fin direcciones
clase A y B).– 240.0.0.0 – 255.255.255.254: reservado (clase E)
14RC - Bloque IV - Tema 10
Direcciones privadas
LAN A172.25.0.0
172.25.25.15
172.25.63.5
LAN B173.197.0.0
173.197.15.10
173.197.24.1
• Red privada B, utilizando una dirección pública.
• Red privada A, utilizando una dirección privada.
15RC - Bloque IV - Tema 10
Direcciones privadas
NAT
LAN A172.25.0.0
172.25.25.15
172.25.63.5
172.25.1.1le0
RA
LAN B173.197.0.0
173.197.15.10
173.197.24.1
NAT 173.197.1.1
le0
RB
Internet
173.197.24.1152.21.9.4
16RC - Bloque IV - Tema 10
NAT• Network Address Translation: Consiste en modificar la dirección IP origen y/o destino de
un datagrama IP al pasar a través de un router o firewall:– Normalmente se utiliza para permitir a múltiples máquinas en una red privada acceder
a Internet usando una única dirección IP pública.• Firewall: dispositivo configurado para permitir, denegar o actuar de intermediario en las
comunicaciones de una red.– Puede ser hardware o software– Permite controlar el tráfico entre redes de diferentes zonas de confianza.– Normalmente, separa una red interna (intranet: alto nivel de confianza) de una red
externa (Internet: confianza nula), evitando accesos irregulares a la red interna.– También se utiliza para crear una DMZ.
• DMZ (DeMilitarized Zone): parte de una red que sitúa entre la red interna de una organización y una red externa (p.e. Internet).
– Se permiten las conexiones desde las redes externa e interna al DMZ.– Desde el DMZ sólo se permiten las conexiones a la red externa Esto protege la red
interna en caso de que una máquina de la DMZ sea comprometida.– En la DMZ se incluyen todos los servidores accesibles desde el exterior: servidor Web,
correo electrónico, DNS, …
17RC - Bloque IV - Tema 10
NAT• Configuración típica:
– La red interna utiliza una dirección IP privada.– El router de la red tiene una interfaz con IP privada (conectada a la red
interna) y otra interfaz con IP pública (conectada a Internet).– El router se encarga de realizar NAT:
• Para el tráfico saliente modifica la dirección IP origen privada por una dirección IP pública.
• El router debe almacenar la información básica para cada conexión (dirección IP + puerto destino, dirección IP + puerto interno)
• Cuando se recibe la respuesta el router debe modificar la IP destino (pública) por la privada que corresponda.
– Desde Internet parece que la comunicación se está realizando directamente con el router.
• Tipos de NAT:– NAPT (Network Address Port Translation): múltiples máquinas comparten
una única dirección IP pública.• La traducción se realiza mapeando números de puerto.
– Basic NAT (o NAT estático o NAT 1 a 1): sólo se realiza el mapeo de direcciones IP.
• Cada dirección IP privada tiene asignada una dirección IP pública.
18RC - Bloque IV - Tema 10
NAPT
NAT
LAN A172.25.0.0
172.25.25.15
172.25.63.5
172.25.1.1
RA
Internet
200.199.198.197
www.google.com209.85.129.99
IP O172.25.25.15
IP D209.85.129.99
DatosPuerto O12345
Puerto D80
19RC - Bloque IV - Tema 10
NAPT
NAT
LAN A172.25.0.0
172.25.25.15
172.25.63.5
172.25.1.1
RA
Internet
200.19.18.17
www.google.com209.85.129.99
IP O200.19.18.17
IP D209.85.129.99
DatosPuerto O30123
Puerto D80
IP D
209.85.129.99
Puerto D
80
IP O
172.25.25.15
Puerto O
12345
Puerto O’
30123
20RC - Bloque IV - Tema 10
NAPT
NAT
LAN A172.25.0.0
172.25.25.15
172.25.63.5
172.25.1.1
RA
Internet
200.19.18.17
www.google.com209.85.129.99
IP O209.85.129.99
IP D200.19.18.17
DatosPuerto O
80Puerto D30123
IP O209.85.129.99
IP D172.25.25.15
DatosPuerto O
80Puerto D12345
IP D
209.85.129.99
Puerto D
80
IP O
172.25.25.15
Puerto O
12345
Puerto O’
30123
21RC - Bloque IV - Tema 10
NAT• Ventajas:
– Seguridad – No se permiten conexiones bidireccionales: una máquina interna debe iniciar la conexión con una máquina de Internet Evita conexiones maliciosas desde el exterior.
– Solución para la escasez de direcciones IPv4:• Utilizar direcciones IP públicas sólo para máquinas que
requieran conexión bidireccional a Internet.• Direcciones privadas para las máquinas que sólo se
conectan a Internet.• Inconvenientes:
– No existe una conectividad extremo a extremo real:• Limita la utilización de algunos protocolos de la capa de
aplicación envían información sobre direcciones IP en los datos de la aplicación (p.e. FTP activo, SIP, IPSec, …)
• Desarrollo de gateways de aplicaciones específicos para estos casos (p.e. FTP pasivo)
– Reduce la necesidad de IPv6
22RC - Bloque IV - Tema 10
DHCP• Dynamic Host Configuration Protocol: permite asignar direcciones IP
dinámicamente a los hosts:– Las direcciones IP se asignan durante un tiempo limitado (desde horas a
días), después es necesario renovarlas.– También incluye otros parámetros como máscaras de subred, router por
defecto (antes se utilizaba ICMP o BOOTP) y servidores DNS.• Se basa en el modelo cliente-servidor
– Cliente DHCP: cualquier máquina “nueva” en la red que se esté iniciando y necesite una configuración de red
– Servidor DHCP: garantiza que todas las direcciones IP son únicas (durante su tiempo de vida).
• Métodos de asignación de direcciones:– Estática o manual: se asigna una dirección IP a una máquina concreta (en
base a su dirección MAC). Evita que se conecten clientes no identificados.– Automática: asigna una dirección IP permanente a una máquina.– Dinámica: se utiliza un rango de direcciones IP y cada ordenador de la red
está configurada para solicitar su dirección IP al iniciarse la interfaz.• Permite la reutilización dinámica de las direcciones IP.• Facilita la instalación de nuevas máquinas en la red.
23RC - Bloque IV - Tema 10
DHCP: Funcionamiento• Modelo cliente-servidor basado en UDP
– Puerto 67 para el servidor y puerto 68 para el cliente.• Mensajes DHCP: el cliente incluye un identificador de transacción en el
mensaje de descubrimiento, que deberá ser repetido en los siguientes.– Discovery: mensaje difundido en la red por el cliente para
descubrir el/los servidores DHCP.• Envía un mensaje UDP a la dirección de broadcast
255.255.255.255.– Offer: mensaje que contiene la dirección IP que el servidor ofrece
al cliente DHCP.• Incluye la dirección MAC del cliente, la IP ofertada, la máscara,
el tiempo de validez y la dirección del servidor.– Request: el cliente seleccionará una dirección de las ofertadas.
• En caso de existir varios servidores, se indica el servidor del que se acepta la oferta.
– Acknowledgement: el servidor confirma la solicitud del cliente y le indica cualquier otra información solicitada por el cliente.
24RC - Bloque IV - Tema 10
DHCP: Funcionamiento
DHCP DiscoveryDir. IP 0.0.0.0Id. transacción: 1234
Cliente DHCP
Servidor DHCP
(192.168.1.1)
IP O
0.0.0.0DHCP
Puerto O
68
Puerto D
67
Cabecera IP Cabecera UDP
IP D
255.255.255.255
25RC - Bloque IV - Tema 10
DHCP: FuncionamientoDHCP DiscoveryDir. IP 0.0.0.0Id. transacción: 1234
Cliente DHCP
Servidor DHCP
(192.168.1.1)
IP O
192.168.1.1DHCP
Puerto O
67
Puerto D
68
Cabecera IP Cabecera UDP
IP D
255.255.255.255
DHCP OfferDir. IP 192.168.1.10Id. transacción: 1234Servidor DHCP: 192.168.1.1Tiempo de vida: 3600 segs
26RC - Bloque IV - Tema 10
DHCP: FuncionamientoDHCP DiscoveryDir. IP 0.0.0.0Id. transacción: 1234
Cliente DHCP
Servidor DHCP
(192.168.1.1)
DHCP OfferDir. IP 192.168.1.10Id. transacción: 1234Servidor DHCP: 192.168.1.1Tiempo de vida: 3600 segs
IP O
0.0.0.0DHCP
Puerto O
68
Puerto D
67
Cabecera IP Cabecera UDP
IP D
255.255.255.255
DHCP RequestDir. IP 192.168.1.10Id. transacción: 1234Servidor DHCP: 192.168.1.1Tiempo de vida: 3600 segs
27RC - Bloque IV - Tema 10
DHCP: FuncionamientoDHCP DiscoveryDir. IP 0.0.0.0Id. transacción: 1234
Cliente DHCP
Servidor DHCP
(192.168.1.1)
DHCP OfferDir. IP 192.168.1.10Id. transacción: 1234Servidor DHCP: 192.168.1.1Tiempo de vida: 3600 segs
DHCP RequestDir. IP 192.168.1.10Id. transacción: 1234Servidor DHCP: 192.168.1.1Tiempo de vida: 3600 segs
IP O
192.168.1.1DHCP
Puerto O
67
Puerto D
68
Cabecera IP Cabecera UDP
IP D
255.255.255.255
DHCP AcknowledgementDir. IP 192.168.1.10Id. transacción: 1234Servidor DHCP: 192.168.1.1Tiempo de vida: 3600 segs
29RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
LAN B153.63.0.0
153.63.10.23
153.63.4.1
153.63.1.2le0
RB
LAN C210.53.23.0
le1153.63.1.1
210.53.23.10
210.53.23.55
le1210.53.23.1
Destino Gateway Flags Interfaz
173.197.0.0 ---- H G le0127.0.0.1 ---- H G lo0
153.63.0.0 ---- H G le1default 153.63.1.2 H G le1
Internet
le2192.168.1.1
192.168.1.2
30RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
LAN B153.63.0.0
153.63.10.23
153.63.4.1
153.63.1.2le0
RB
LAN C210.53.23.0
le1153.63.1.1
210.53.23.10
210.53.23.55
le1210.53.23.1
Destino Gateway Flags Interfaz
153.63.0.0 ---- H G le0127.0.0.1 ---- H G lo0
210.53.23.0 ---- H G le1192.168.1.2 ---- H G le2
Internet
le2192.168.1.1
192.168.1.2
default 192.168.1.2 H G le2173.197.0.0 153.63.1.1 H G le0
31RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen• 173.197.15.10 envía un datagrama a 173.197.24.1:
– El nivel de red de 173.197.15.10 recibe un datagrama, con destino 173.197.24.1
– Algoritmo de enrutamiento (tabla de enrutamiento): 173.197.0.0 Directamente conectada
– El datagrama se envía al nivel de enlace (p.e. Ethernet), que consigue la dirección Ethernet de destino utilizando ARP.
32RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
LAN B153.63.0.0
153.63.10.23
153.63.4.1
153.63.1.2le0
RB
LAN C210.53.23.0
le1153.63.1.1
210.53.23.10
210.53.23.55
le1210.53.23.1
Ethernet D
Internet
le2192.168.1.1
192.168.1.2
Eth(173.197.24.1)IP D
173.197.24.1IP O
173.197.15.10Ethernet O
Eth(173.197.15.10)Datos
33RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen• 173.197.15.10 envía un datagrama a 156.95.76.53
(paso 1):– El nivel de red de 173.197.15.10 recibe un
datagrama, con destino 156.95.76.53.– Algoritmo de enrutamiento (tabla de
enrutamiento): default 173.197.1.1– El datagrama se envía al nivel de enlace, con la
dirección Ethernet de destino de 173.197.1.1 (y dirección IP destino 156.95.76.53).
34RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
LAN B153.63.0.0
153.63.10.23
153.63.4.1
153.63.1.2le0
RB
LAN C210.53.23.0
le1153.63.1.1
210.53.23.10
210.53.23.55
le1210.53.23.1
Ethernet D
Internet
le2192.168.1.1
192.168.1.2
Eth(173.197.1.1)IP D
156.95.76.53IP O
173.197.15.10Ethernet O
Eth(173.197.15.10)Datos
35RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen• 173.197.15.10 envía un datagrama a 156.95.76.53
(paso 2):– El nivel de red de 173.197.1.1 (RA) recibe un
datagrama, con destino 156.95.76.53.– Algoritmo de enrutamiento (tabla de
enrutamiento): default 153.63.1.2– El datagrama se envía al nivel de enlace, con la
dirección Ethernet de destino de 153.63.1.2 (y dirección IP destino 156.95.76.53).
36RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
LAN B153.63.0.0
153.63.10.23
153.63.4.1
153.63.1.2le0
RB
LAN C210.53.23.0
le1153.63.1.1
210.53.23.10
210.53.23.55
le1210.53.23.1
Ethernet D
Internet
le2192.168.1.1
192.168.1.2
Eth(153.63.1.2)IP D
156.95.76.53IP O
173.197.15.10Ethernet OEth(153.63.1.1)
Datos
37RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen• 173.197.15.10 envía un datagrama a 156.95.76.53
(paso 3):– El nivel de red de 153.63.1.2 (RB) recibe un
datagrama, con destino 156.95.76.53.– Algoritmo de enrutamiento (tabla de
enrutamiento): default 192.68.1.2– El datagrama se envía al nivel de enlace, con la
dirección Ethernet de destino de 192.68.1.2 (y dirección IP destino 156.95.76.53).
38RC - Bloque IV - Tema 10
Enrutamiento básico: Ejemplo resumen
LAN A173.197.0.0
173.197.15.10
173.197.24.1
173.197.1.1le0
RA
LAN B153.63.0.0
153.63.10.23
153.63.4.1
153.63.1.2le0
RB
LAN C210.53.23.0
le1153.63.1.1
210.53.23.10
210.53.23.55
le1210.53.23.1
Ethernet D
Internet
le2192.168.1.1
192.168.1.2
Eth(192.168.1.2)IP D
156.95.76.53IP O
173.197.15.10Ethernet O
Eth(192.168.1.1)Datos