Cómo entender la siguiente dirección en la tabla de enrutamiento
El enrutamiento es el proceso de seleccionar una ruta de transmisión de paquetes de datos, es decir, cómo el host envía datos al destino. El enrutamiento ocurre cuando un host TCP/IP envía un paquete IP y nuevamente cuando llega a un enrutador IP. Un enrutador es un dispositivo que envía paquetes de datos de una red física a otra. Un enrutador a menudo se denomina puerta de enlace y asume la tarea de distribuir paquetes de datos. Para el host y el enrutador emisores, se deben tomar decisiones sobre dónde reenviar el paquete. Al decidir una ruta, la capa IP consulta la tabla de enrutamiento ubicada en la memoria y luego realiza el enrutamiento IP según las reglas de consulta. ¿No es muy abstracto? Primero hablemos de cómo seleccionar la ruta:
(1) Cuando un host intenta comunicarse con otro host, IP primero determina si el host de destino es una red interna o una red externa. Por supuesto, utilice el número de red.
(2) Si es la misma intranet, entonces se envía directamente. Esta es la respuesta más sencilla.
(3) Si el host de destino no está en la misma intranet que el host de envío, es decir, está en la red externa ^_^ La IP consultará la tabla de enrutamiento para seleccionar. uno para el host de la red externa o la red externa, por lo que generalmente es posible especificar una ruta específica para una red externa. Los problemas específicos se analizarán más adelante.
(4) Si no se encuentra una ruta clara, habrá una puerta de enlace predeterminada en la tabla de enrutamiento, que también se puede llamar puerta de enlace predeterminada. La IP utiliza la dirección de puerta de enlace predeterminada para transmitir datos a la siguiente. Un enrutador designado, por lo que la puerta de enlace también puede ser un enrutador, o puede ser simplemente una puerta de enlace para que la red interna transmita datos a un enrutador específico.
(4) Después de que el enrutador recibe los datos, vuelve a consultar la ruta para el host o la red remotos. Si no se ha encontrado la ruta, el paquete de datos se enviará a la dirección de puerta de enlace predeterminada del enrutador.
Cada vez que se descubre una ruta, el paquete de datos se reenvía al enrutador del siguiente nivel, lo que se denomina "salto". Se reenvía de la misma manera y finalmente se envía al host de destino. Si no se encuentra ninguna ruta que pueda aceptar la dirección de este paquete IP, el host emisor recibirá un mensaje de error, lo que significa que cualquiera de los saltos es inalcanzable y el resultado final es un error.
Lo anterior es solo una comprensión personal. De hecho, hicimos muchos experimentos en ese momento, pero después de ver la explicación detallada de tcp/ip, quedará claro de un vistazo. tome la tabla de enrutamiento en Linux como ejemplo:
$ sudo route
Tabla de enrutamiento IP del kernel
Destino Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 * 255.255.255.0 U 0 0 0 eth1
192.168.10.0 * 255.255.254.0 U 0 0 0 eth0
predeterminado 192.168.10.1 0.0.0.0 UG 0 0 0 eth0
---------------------------------------- ---------- ------------------------------------
El enrutamiento IP se realiza salto a salto (salto a salto). Como puede verse en la información de esta tabla de enrutamiento, IP no conoce la ruta completa a ningún destino (excepto, por supuesto, aquellos destinos conectados directamente al host). Todo el enrutamiento IP solo proporciona la dirección IP del siguiente enrutador para la transmisión de datagramas. Se supone que el enrutador del siguiente salto está más cerca del destino que el host que envía el datagrama y que el enrutador del siguiente salto está conectado directamente al host.
El enrutamiento IP completa principalmente las siguientes funciones:
1) Busque en la tabla de enrutamiento una entrada que pueda coincidir completamente con la dirección IP de destino (tanto el número de red como el número de host deben fósforo) . Si se encuentra, el paquete se envía al enrutador de siguiente parada especificado por la entrada o a la interfaz de red conectada directamente (según el valor del campo de bandera).
2) Busque en la tabla de enrutamiento una entrada que coincida con el número de red de destino.
Si se encuentra, el paquete se envía al enrutador de siguiente parada especificado por la entrada o a la interfaz de red conectada directamente (según el valor del campo de bandera). A través de esta entrada se puede acceder a todos los hosts de la red de destino. Por ejemplo, todos los hosts de una red Ethernet se enrutan a través de esta entrada. Este método de coincidencia de búsqueda en la red debe tener en cuenta posibles máscaras de subred. Discutimos esto en la siguiente sección.
3) Busque en la tabla de enrutamiento la entrada marcada como "predeterminada". Si se encuentra, el paquete se envía al enrutador de siguiente parada especificado en la entrada. Si ninguno de los pasos anteriores tiene éxito, el datagrama no se podrá entregar. Si el datagrama que no se puede entregar proviene de la máquina local, generalmente se devolverá un error de "Host inalcanzable" o "Red inalcanzable" a la aplicación que generó el datagrama.
La coincidencia completa de la dirección del host se realiza antes de la coincidencia del número de red. La ruta predeterminada se elige sólo si todas fallan. La ruta predeterminada y el mensaje indirecto ICMP enviado por el enrutador del siguiente salto (si elegimos la ruta predeterminada incorrecta para el datagrama) son características poderosas del mecanismo de enrutamiento IP.