Muchas de las decisiones que se necesitan para la configuración de una red IP depende del enrutamiento. En general, un datagrama IP pasa a través de numerosas redes mientras se desplaza entre el origen y el destino. Veamos un ejemplo típico:
Red 1 Red 2 Red 3
128.6.4 128.6.21 128.121
============================== ========== ====================
| | | | | | |
___|______ _____|____ __|____|__ __|____|____ ___|________
128.6.4.2 128.6.4.3 128.6.4.1 128.6.21.1 128.121.50.2
128.6.21.2 128.121.50.1
___________ __________ __________ ____________ ____________
ordenador A ordenador B gateway R gateway S ordenador C
Este gráfico muestra tres ordenadores, 2 gateways
y tres redes. Las
redes pueden ser Ethernet, Token Ring o de cualquier otro tipo. La red 2
podría ser una línea punto a punto que conecta los gateways
R y S.
El ordenador A puede enviar datagramas al B directamente, usando la red 1.
Sin embargo, no puede llegar al ordenador C directamente, puesto que no
están en la misma red. Hay varias maneras de conectar redes. En el gráfico
asumimos el uso de gateways
(más adelante veremos otras alternativas).
En este caso, los datagramas que van desde A a C deben ser enviados a través
del gateway
R, red 2 y gateway
S. Todos los ordenadores que usan
TCP/IP necesitan que se les suministre la información y algoritmos
apropiados para que puedan saber cuándo un datagrama debe ser enviado a
través de un gateway
, y elegir el gateway
apropiado.
El enrutado está íntimamente relacionado con la asignación de direcciones.
Podemos apreciar que la dirección de cada ordenador comienza con el número
de la red a la que pertenece. Por tanto, 128.6.4.2 y 128.6.4.3 se encuentran
en la red 128.6.4. Luego los gateways
, cuyo trabajo es conectar dos
redes, tienen una dirección de ambas redes. Por ejemplo, el gateway
R
conecta la red 128.6.4 y 128.6.21. Su conexión a la red 128.6.4 tiene la
dirección 128.6.4.1. Su conexión a la red 128.6.21 tiene la dirección
128.6.21.2.
Debido a esta relación entre direcciones y redes, las decisiones de enrutado deben basarse estrictamente en el número de red de destino. La información de enrutamiento del ordenador A tendrá el siguiente aspecto:
red gateway métrica
----------- --------- -------
128.6.4 - 0
128.6.21 128.6.4.1 1
128.121 128.6.4.1 2
En esta tabla, el ordenador A puede enviar datagramas a los ordenadores de
la red 128.6.4 directamente, y para los datagramas a los ordenadores de las
redes 128.6.21 y 128.121 es necesario usar el gateway
R. La "métrica"
será usada por algún tipo de algoritmo de enrutamiento, como medida de la
lejanía del destinatario. En nuestro caso, la métrica simplemente indica
cuantos diagramas tiene que atravesar para llegar a su destino (conocida
como "cuenta de saltos").
Cuando el ordenador A está listo para enviar un datagrama se examina la
dirección del destinatario. Comparamos el inicio de dicha dirección de red
con las direcciones de la tabla de enrutamiento. Las distintas entradas de
la tabla indican si el datagrama debe ser enviado directamente, o a un
gateway
.
Un gateway
consiste simplemente en un ordenador conectado a dos redes
diferentes, y está habilitado para enviar datagramas entre ellos. En muchos
casos es más eficiente usar un equipo especialmente diseñado para desempeñar
el papel de gateway
. Sin embargo, es perfectamente posible usar un
ordenador, siempre y cuando tenga más de un interfaz de red y un
software
capaz de enviar datagramas.
Un gateway
tiene varias direcciones, una para cada red a la que esté
conectado. Aquí encontramos una diferencia entre IP y otros protocolos de
red: cada interface de un ordenador tiene una dirección. Con otros
protocolos, cada ordenador tiene una única dirección, aplicable a todos sus
interfaces. Un gateway
entre las redes 128.6.4 y 128.6.21 tendrá una
dirección que comience por 128.6.4 (por ejemplo, 128.6.4.1). Esta dirección
se refiere a su conexión a la red 128.6.4. También tendrá una dirección que
comience con 128.6.21 (por ejemplo, 128.6.21.2). Esta se refiere a su
conexión a la red 128.6.21.
El término "red" generalmente se suele identificar a dispositivos del tipo
Ethernet, en la cual varias máquinas están conectadas. Sin embargo, también
se aplica a líneas punto a punto. En el gráfico anterior, las redes 1 y 3
podrían estar en ciudades distintas; la red 2 podría ser una línea serie, un
enlace satélite, u otro tipo de conexión punto a punto. Una línea punto a
punto es tratada como una red que consta sólo de dos ordenadores. Como
cualquier otra red, una línea punto a punto tiene una dirección de red (en
este caso, 128.6.21). Los sistemas conectados por la línea (gateways
R
and S) tienen direcciones en dicha red (en este caso, 128.6.21.1 y
128.6.21.2).
Es posible diseñar software
que no necesite distintos números de red
para cada línea punto a punto. En este caso, el interface entre el
gateway
y la línea punto a punto no tiene una dirección. Esta solución
es apropiada cuando la red es tan grande que peligra el hecho de que nos
quedemos sin direcciones. Sin embargo, tales "interfaces anónimas" pueden
dificultar bastante el manejo de la red. Puesto que no tienen dirección, el
software
de red no tiene manera de referirse a dicho interface, y, por
tanto, no es posible obtener información sobre el flujo y los errores de la
interface.