Encaminamiento (Forwarding)
Vicente González Ruiz
September 12, 2016
Contents
1 Forwarding?
Describe el proceso de usar las tablas de routing para encaminar los
paquetes de datos hacia su destino.
2 Las tablas de routing
- Almacenan la informaci’on sobre el routing (rutas o caminos que deben
seguir los paquetes para llegar a su destino).
- Todos los dispositivos que ejecutan el IP (ya sean routers o hosts) poseen
una.
- Tiene al menos 3 campos:
- Destination network: La red de destino del paquete (una direcci’on
IP y una m’ascara).
- Next hop: En el caso de que el router/host no esté conectado a
dicha red destino, el tercer campo es la direcci’on IP del adaptador de
red del siguiente router que pertenece al camino hacia la red destino
(gateway).
- Output interface: El interface que lleva a dicha red destino.
3 Algoritmo de encaminamiento
- Básicamente, consiste en ir comprobando secuencialmente si alguna de
las entradas de la tabla de routing (rutas) coincide con la dirección de
red de destino especificada en la dirección IP del paquete encaminado.
Para determinar dicha coincidencia de realiza la operaci’on binaria AND
entre la direcci’on IP destino del paquete y la m’ascara de red del interface
de red conectado a la red sobre la que se est’a realizando la comprobaci’on
y si dicho valor es igual a la direcci’on de dicha red, entonces el paquete
va dirigido a un host de esa red.
- El router/host en cuanto encuentra una entrada que encamina, la utiliza.
- Si ninguna de las entradas de la tabla sirve para encaminar el paquete,
éste se destruye.
- Antes de encaminar el paquete se decrementa su TTL y si este valor es 0,
el paquete se destruye.
4 Equal cost load balancing
- Generalmente las tablas se consultan secuencialmente, comenzando desde
arriba. Sin embargo, hay excepciones a esta regla:
Si existan dos o más reglas (rutas) que alcancen la misma red
destino con igual o similar coste, se alternar’a entre dichas reglas
para intentar balancer la carga de las rutas.
5 Sobre las rutas
- Una ruta (una entrada en la tabla) s’olo habla de transferencia de
informaci’on en un sentido, no implica que necesariamente tenga que
existir un camino de vuelta, ni que si ’este existe, siga dicha ruta.
- Lo anterior implica que el camino de ida y vuelta entre dos redes
cualesquiera puede ser en general diferente (asymetric routing). Es m’as,
es posible que desde una red A hasta otra B pueda existir un camino, pero
no desde B hacia A (black-hole routing).
Ejemplo: tabla de routing (t’ipica) de un host
hostX$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Iface
193.147.118.0 * 255.255.255.0 eth0
link-local * 255.255.0.0 eth0
default 193.147.118.1 0.0.0.0 eth0
Seg’un dicha tabla:
- Cualquier paquete que vaya dirigido a una estaci’on de la red local (que
en este ejemplo se trata de una red de clase C) debe ser entregado al
correspondiente host local a trav’es del interface de red eth0.
- Cualquier paquete que vaya dirigido a la red 169.254.0.0/16 (Link-local)
(v’ease la Secci’on ??), será enviado por eth0.
- Cualquier paquete que no vaya dirigido a la red local ser’a entregado al
gateway a trav’es del interface de red eth0.
Ejemplo: tabla de routing (t’ipica) de un router
El router R
tendr’ia una tabla de encaminamiento igual a:
R2$ /sbin/route
Destination Gateway Genmask Iface
150.214.0.0 * 255.255.255.0 eth0
150.214.1.0 * 255.255.255.0 ppp0
150.214.3.0 * 255.255.255.0 fddi0
default 150.214.1.2 0.0.0.0 ppp0
6 Agregaci’on/des-agregaci’on de redes
- En una situaci’on ideal, todas las redes que conforman una red mayor
deber’ian compartir el mismo prefijo IP, es decir estar’ian “agregadas” o
“sumarizadas”, porque esto reduce el n’umero de entradas en las tablas de
routing de los routers que conectan dichas redes. Por ejemplo, el router
R
de la Figura
1 permite con una ’unica entrada encaminar hacia todas las redes que “cuelgan” de
R:
R1$ /sbin/route
Destination Gateway Genmask Iface
200.23.16.0 200.23.16.1 255.255.240.0 a
199.31.0.0 199.31.0.1 255.255.0.0 b
default 0.0.0.0 0.0.0.0 c
- Sin embargo, existen situaciones en las que una red que l’ogicamente
deber’ia estar inclu’ida dentro de otra red mayor, no lo est’a porque se ha
movido.
En la Figura
2 se muestra un ejemplo de “des-agregaci’on”. Como puede apreciarse, ahora
R
posee una entrada m’as que debe chequearse antes que la entrada referente a la
red del ISP “informal”:
R1$ /sbin/route
Destination Gateway Genmask Iface
200.23.18.0 199.31.0.1 255.255.128.0 b
200.23.16.0 200.23.16.1 255.255.240.0 a
199.31.0.0 199.31.0.1 255.255.0.0 b
default 0.0.0.0 0.0.0.0 c
Ejercicio 1: Supongamos una red clase B con direcci’on 149.76.0.0
dedicada a un campus universitario (v’ease la Figura
3). Debido a su excesivo tamaño
(
interfaces/red), esta red se divide en redes clase C
(
interfaces/red). F’isicamente se distribuye una dorsal (backbone) de FDDI
y a ella se conectan las pasarelas (gateways) que unen la FDDI con las
redes Ethernet de los diferentes departamentos. Especifique la tabla
de encaminamiento para la pasarela 149.76.0.4 suponiendo que
todas las redes posibles del campus est’an dadas en alta en ella.
Destino | Router | Mascara | Interface
-------------+--------------+---------------+-----------
149.76.2.0 | 149.76.0.2 | 255.255.255.0 | fddi0
149.76.3.0 | 149.76.0.3 | 255.255.255.0 | fddi0
149.76.4.0 | * | 255.255.255.0 | eth0
149.76.5.0 | 149.76.0.5 | 255.255.255.0 | fddi0
: | : | : | :
149.76.254.0 | 149.76.0.254 | 255.255.255.0 | fddi0
127.0.0.0 | * | 255.0.0.0 | lo
default | 149.76.0.1 | 0.0.0.0 | fddi0
Ejercicio 2: Usando la soluci’on que propuso para el Ejercicio ??,
exponga las tablas de encaminamiento para los routers ,
y .
Tenga en cuenta que la conexi’on de esta red con Internet se realiza
a trav’es del gateway 100.100.100.100.
R_1:
Prefijo Redes Interface
------------------------ ------------------- ---------
214.97.1111 1110.0000 00 D D
214.97.1111 1110. A A
214.97.1111 1111.1 C y F F
214.97.1111 1111.0 B y E D
default Internet Gateway
R_2:
Prefijo Redes Interface
------------------------ ------------------- ---------
214.97.1111 1111.1000 00 F F
214.97.1111 1111.1 C C
214.97.1111 1111.0 B y E E
default A, D e Internet F
R_3:
Prefijo Redes Interface
------------------------ ------------------- ---------
214.97.1111 1111.0000 00 E E
214.97.1111 1111.0 B B
214.97.1111 1111.1 C y E E
default A, D e Internet D