¿Alguien puede aclararme la asignación de la puerta de enlace?
¿Cuál es la diferencia entre agregar una puerta de enlace 0.0.0.0
y asignar una dirección IP específica como puerta de enlace?
Respuesta1
0.0.0.0
tiene el significado específico "no especificado". Esto se traduce aproximadamente como "no hay ninguno" en el contexto de una puerta de enlace. Por supuesto, esto supone que la red está conectada localmente, ya que no hay ningún salto intermedio. La máquina enviará el paquete a esa interfaz como si fuera a una máquina conectada a ese segmento, lo que en Ethernet significa que se utilizará la dirección MAC del host de destino en lugar de la dirección MAC de la puerta de enlace del siguiente salto.
Como destino, 0.0.0.0/0
es especial: si no hay bits de red, tampoco puede haber nada en el número de red. Entonces, naturalmente no está especificado. Para la coincidencia de prefijos, enmascara todos los bits, por lo que todas las direcciones están dentro de 0.0.0.0/0
; por esta razón se utiliza para referirse a "puerta de enlace predeterminada" en las tablas de enrutamiento. También es la ruta menos específica posible, por lo que las selecciones que prioricen la especificidad elegirán cualquier otra opción disponible y coincidirán 0.0.0.0/0
como último recurso.
Sin embargo, siguiendo con tu pregunta, sí, tiene un significado especial. Significa que la red está conectada localmente en esa interfaz y no se necesitan más saltos para llegar a ella.
Respuesta2
De la página de Wikipedia de0.0.0.0:
extracto
En la versión 4 del Protocolo de Internet, la dirección 0.0.0.0 es una metadirección no enrutable que se utiliza para designar un destino no válido, desconocido o no aplicable. Dar un significado especial a un dato que de otro modo no sería válido es una aplicación de la señalización dentro de banda.
De la página de Wikipedia deRuta por defecto.
extracto
La ruta predeterminada en el Protocolo de Internet versión 4 (IPv4) se designa como dirección cero 0.0.0.0/0 en notación CIDR, a menudo denominada ruta cuádruple cero. La máscara de subred se proporciona como /0, que especifica efectivamente todas las redes y es la coincidencia más corta posible. Una búsqueda de ruta que no coincide con ninguna otra ruta recurre a esta ruta. De manera similar, en IPv6, la ruta predeterminada se especifica mediante ::/0.
En el segmento de nivel más alto de una red, los administradores generalmente señalan la ruta predeterminada para un host determinado hacia el enrutador que tiene una conexión con un proveedor de servicios de red. Por lo tanto, los paquetes con destinos fuera de la red de área local de la organización, normalmente destinos en Internet o una red de área amplia, se reenvían al enrutador con la conexión a ese proveedor.
El dispositivo al que apunta la ruta predeterminada a menudo se denomina puerta de enlace predeterminada y, a menudo, lleva a cabo otras funciones como filtrado de paquetes, firewall u operaciones de servidor proxy.
Ejemplo
Según tu pregunta, voy a asumir que tienes algo como esto:
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
Esto quiere decir que para cada uno de los destinos de red (192.168.1.0 o 169.254.0.0) la puerta de enlace predeterminada es el destino 0.0.0.0, si un paquete esNOdestinado a cualquier dirección dentro de esa red en particular. Para el destino 0.0.0.0, utilice la dirección IP 192.168.1.254.
Estas reglas actúan para canalizar todo el tráfico que no coincide con ninguna de las rutas que conocemos hacia la ruta predeterminada.
Un par de ejemplos
Digamos que tenemos un paquete con IP 192.168.1.110. Se marca la primera regla y esta IP coincide con esa red, por lo que se entrega.
Si tuviéramos un paquete 150.12.13.1, la tercera regla estaría vigente y el paquete se enrutaría a 192.168.1.254.
Respuesta3
Mire, 0.0.0.0 solo se usa en tablas de enrutamiento, NO para asignar a un host.
Los hosts (computadoras con una dirección IP) mantienen una tabla de enrutamiento para resolver cómo enviar sus mensajes al lugar correcto.
Escenario 1: La PC-A quiere enviar un mensaje a la PC-B en la MISMA RED:
1) La PC-A verifica su tabla de enrutamiento para ver si coincide con la dirección IP de destino. 2) La tabla de enrutamiento muestra que el destino está dentro de la misma red, encuentra la interfaz que está conectada a esa red y luego reenvía el mensaje desde esa interfaz directamente al destino.
Escenario 2: La PC-A quiere enviar un mensaje al Servidor-Z en una RED REMOTA (NO la misma red):
1) La PC-A verifica su tabla de enrutamiento y no puede encontrar una coincidencia (por supuesto, porque los hosts no realizan un seguimiento de los hosts en redes remotas; ese es el trabajo de los enrutadores).
2) Sin embargo, la PC está configurada con una dirección IP cuádruple cero y una máscara de subred asignada a su enrutador (puerta de enlace predeterminada a OTRAS redes REMOTAS Y DIFERENTES) como esta:
(interfaz 0.0.0.0 0.0.0.0 192.168.0.1)
¿Qué significa cero? Significa ninguno. Entonces, si su computadora no realiza un seguimiento de dónde están los hosts remotos y verifica su tabla de enrutamiento cada vez que quiere enviar un mensaje para ver si necesita enviarlo a la MISMA red (local) o si necesita para enviarlo a una red REMOTA, entonces ¿cómo hace llegar el mensaje a la red remota?
Lo envía al enrutador y le permite hacer su trabajo de enrutar el paquete por la mejor ruta. Entonces, el host/PC/computadora necesita saber que si no puede encontrar una entrada en su tabla de enrutamiento sobre dónde enviar el mensaje (también conocido como 0.0.0.0), entonces sabrá enviarlo al enrutador, que es la IP. dirección asociada con la entrada (0.0.0.0 0.0.0.0 192.168.0.1 interfaz) y utiliza la interfaz/NIC/Adaptador de red asociado que está conectado a esa.
Por lo tanto, las tablas de enrutamiento en hosts y enrutadores utilizan 0.0.0.0 para saber dónde enviar algo cuando no encuentra coincidencias sobre cómo llegar a un destino y debe asignarse a la dirección IP de un enrutador y a una interfaz para llegar a ese enrutador.
Respuesta4
Explicación básica
0.0.0.0 tiene el significado especial dePuerta de enlace predeterminadapero coincide también con el 0.0.0.0Destinoentrada.
A primera vista, se puede pensar que, de todos modos, todo pasa por la puerta de enlace predeterminada. Sin embargo, para comprender completamente el concepto debes verlo en el contexto de un dispositivo que tiene múltiples interfaces de red (Ethernet, Wi-Fi, Bluetooth,...).
Como puerta de entrada
Cuando se especifica 0.0.0.0 como puerta de enlace, significa: leer la línea con 0.0.0.0 como destino y enrutar el paquete a través de esta interfaz.
Pero cuando tiene una segunda interfaz de red o más, puede especificar la IP de una de esas interfaces de red como puerta de enlace en lugar de 0.0.0.0, y los paquetes se enrutarán a través de ella.
Como destino
La tabla de enrutamiento se analiza para buscar el destino más específico (que coincida con el número de prefijo más alto).
Al menos, si no se encuentra ningún destino más específico, siempre coincidirás con 0.0.0.0/0 (notación CIDR equivalente a 0.0.0.0 con una máscara de 0.0.0.0), porque si haces una comparación binaria entre la IP de destino y la máscara 0.0.0.0, coincide con cualquier dirección IP, incluida la propia IP 0.0.0.0.
Es por eso que 0.0.0.0 se usa como entrada de puerta de enlace predeterminada y es especialmente útil cuando tiene múltiples puertas de enlace posibles (múltiples interfaces de red en su dispositivo).