lunes, 16 de enero de 2017

Tabla de encaminamiento


Ahora nos centraremos en como IP elige qué pasarela usar para enviar un datagrama a una red remota.
Hemos visto que erdos, cuando envía un datagrama a quark, comprueba la dirección de destino y encuentra que ésta no está en la red local. erdos por lo tanto envía el datagrama a la pasarela por defecto sophus, que se enfrenta ahora al mismo problema. sophus reconoce que quark no está en ninguna de las redes a las que está conectada directamente, de modo que todavía tiene que encontrar otra pasarela a través de la cual remitirlo. La elección correcta debería ser niels, la pasarela del departamento de Físicas. Por lo tanto sophus necesita información para asociar una red de destino con una pasarela adecuada.
Para esta tarea, IP usa una tabla que asocia redes con las pasarelas por las que estas pueden ser alcanzadas. Generalmente, debe incluirse también una entrada que abarque todo (el encaminamiento por defecto); esta es la pasarela asociada a la red 0.0.0.0. Todas las direcciones de destino se corresponden con este encaminamiento, ya que no se requiere ninguno de los 32 bits para ajustarse a él, y por tanto los paquetes dirigidos a una red desconocida se envíarán al encaminamiento por defecto. En sophus, la tabla podría ser algo como esto:

RedMascara de redPasarelaInterfaz
149.76.1.0255.255.255.0-fddi0
149.76.2.0255.255.255.0149.76.1.2fddi0
149.76.3.0255.255.255.0149.76.1.3fddi0
149.76.4.0255.255.255.0-eth0
149.76.5.0255.255.255.0149.76.1.5fddi0
0.0.0.00.0.0.0149.76.1.2fddi0
Si es necesario usar un encaminamiento a una red a la que sophus está conectada directamente, no se necesita una pasarela; en ese caso la columna de la pasarela contiene un guión.
El proceso que se sigue para identificar si una dirección de destino determinada corresponde con un encaminamiento es una operación matemática. Es bastante simple, pero requiere conocimientos de aritmética binaria y lógica: Un encaminamiento corresponde a un destino si la dirección de red operada lógicamente por medio de AND con la máscara de red es precisamente la dirección de destino operada lógicamente por medio de AND con la máscara de red.
Traducción: un encaminamiento corresponde si el número de bits de la dirección de red especificada por la máscara de red (empezando por el bit más a la izquierda, el orden más alto del byte uno de la dirección) corresponde al mismo número de bits en la dirección de destino.
Cuando la implementación de IP busca el mejor encaminamiento hasta un destino, puede que encuentre varias entradas que correspondan a la dirección del objetivo. Por ejemplo, sabemos que el encaminamiento por defecto corresponde a todos los destinos, pero los datagramas destinados a redes unidas localmente también corresponderán a su encaminamiento local. ¿Cómo IP decide que encaminamiento usar? Es aquí donde la máscara de red representa un papel importante. Mientras que los dos enrutamientos corresponden al destino, uno de ellos tiene una máscara de red mayor que la del otro. Se dijo anteriormente que la máscara de red se usa para dividir los espacios de las direcciones en redes más pequeñas. Cuanto mayor es una máscara de red, mejor especifica la correspondencia a la dirección de un objetivo; cuando se envían datagramas, siempre se debería elegir el enrutamiento que tenga la mayor máscara de red. El encaminamiento por defecto tiene una máscara de red de cero bits, y en la configuración mostrada anteriormente, las redes enlazadas localmente tienen una máscara de red de 24 bits. Si un datagrama corresponde a una de estas redes, será enrutado al dispositivo apropiado en vez de seguir el encaminamiento por defecto porque el enrutamiento de la red local corresponde a un mayor número de bits. Los únicos datagramas que se encaminan a través del encaminamiento por defecto son aquellos que no corresponden a ningún otro enrutamiento.
Se puede construir tablas de encaminamiento siguiendo distintos métodos. En el caso de LANs pequeñas, normalmente lo más eficiente es construirlas a mano y nutrirlas de IP usando el comando route en el momento del arranque. Para redes mayores, se construyen y ajustan en tiempo de ejecución por los demonios de encaminamiento; estos demonios corren en puestos centrales de la red e intercambian información de enrutamiento para calcular caminos “óptimos” entre los miembros de la red.
Dependiendo del tamaño de la red, se necesitará usar diferentes protocolos de encaminamiento. Para enrutar dentro de sistemas autónomos (tales como el campus de Groucho Marx) se usan los protocolos de encaminamiento interno. El más importante de éstos es el Routing Information Protocol (RIP), que es implementado por el demonio BSD routed. Para enrutar entre sistemas autónomos se tienen que usar protocolos de encaminamiento externo como External Gateway Protocol (EGP) o Border Gateway Protocol (BGP); estos protocolos, incluido RIP, han sido implementados en el demonio gated de la Universidad de Cornell.