Cómo los enrutadores manejan transmisiones limitadas y dirigidas
Lo primero que debe entender para responder sus preguntas es que no se enrutan tramas de difusión limitadas. Por defecto, cuando un enrutador recibe una trama con una dirección de destino que se transmite en la capa 2 o la capa 3, el enrutador simplemente deja caer la trama. Es por eso que se dice que los enrutadores son el límite de los dominios de difusión.
Algunos ejemplos de estos serían:
ff-ff-ff-ff-ff-ff
(difusión de la capa 2)
255.255.255.255
(difusión limitada de la capa 3)
Pensando en ello, esto tiene sentido. Si los enrutadores reenviaran transmisiones, una sola solicitud arp llegaría a cada host accesible en Internet, lo que sería terriblemente ineficiente y bastante tonto.
Las transmisiones dirigidas, por otro lado, a veces se enrutan. (IE 192.168.1.255/24
) Normalmente, esta funcionalidad está deshabilitada de manera predeterminada, pero se puede habilitar emitiendo el ip directed-broadcast
comando en el enrutador. Esto le permitirá reenviar transmisiones dirigidas de acuerdo con su tabla de enrutamiento como si fueran paquetes normales. Sin embargo, esto no permite que el enrutador reenvíe transmisiones limitadas, que todavía están bloqueadas de forma predeterminada. Esto también está ligeramente fuera de tema en cuanto a su pregunta original, consulte esta página de formularios de Cisco para obtener más información al respecto.
Layer 3 Broadcast Pero no la Capa 2?
Para responder a su segunda pregunta, no tendría sentido tener un marco con una dirección de transmisión de capa 3 sin una dirección de transmisión de capa 2. Esto anularía todo el propósito de ser un cuadro de transmisión y simplemente no funcionaría directamente. Tener una dirección de destino de capa 2 de unidifusión no cambiaría en absoluto el comportamiento del enrutador, ya que el enrutador toma sus decisiones en la capa 3. Lo único que le importa al enrutador es esa 255.255.255.255
dirección de destino y descarta el paquete.
Lo importante sería con los interruptores que no se preocupan por la dirección de la capa 3. Los conmutadores solo verían la dirección de capa 2 de unidifusión. En lugar de enviar el paquete a todas las interfaces en el mismo vlan, usaría la tabla de direcciones de origen (SAT) como lo haría con cualquier otra dirección de destino de unidifusión. En efecto, al asignar una dirección de capa 2 de unidifusión, la trama ya no es una trama de difusión aunque tenga la 255.255.255.255
dirección en la capa 3.
Cómo funciona el relé DHCP en la práctica
En cuanto a su última pregunta, la retransmisión DHCP es la forma en que un enrutador "hace trampa" en torno a la regla de no reenviar paquetes de difusión. Veamos un paquete DHCP Discover:
- Fuente MAC: [Mac unidifusión de la fuente]
- Dest MAC:
ff-ff-ff-ff-ff-ff
- IP de origen:
0.0.0.0
- IP de destino:
255.255.255.255
- Puerto de origen: UDP 68
- Puerto de destino: UDP 67
Cuando el enrutador ve que un paquete llega a una interfaz con el ip helper-address
comando configurado, comprueba si coincide con cualquiera de los protocolos que se "ayudan" de manera predeterminada o configurados con el ip forward-protocol
comando global . En este caso, debido a que es DHCP, el enrutador ve que el puerto de destino coincide con UDP 67 y permite que el paquete sea "ayudado". Luego, el enrutador cambia la dirección IP de destino 255.255.255.255
a la dirección IP configurada por el ip helper-address
comando, así como también cambia la dirección de origen a la dirección de la interfaz del enrutador a la que llegó el paquete y pasa el paquete al resto de la lógica de enrutamiento.
Ahora que el paquete tiene una dirección de destino de unidifusión, el enrutador lo trata como cualquier otro paquete. Arps para la dirección IP de destino (que ahora es esa dirección auxiliar) y luego reemplaza las direcciones de capa 2 antes de enviar el paquete a la interfaz adecuada.
Volviendo de nuevo
El enrutador utiliza esencialmente el mismo proceso a la inversa para la oferta de DHCP que se envía de vuelta al cliente. Los servidores DHCP envían la oferta a la dirección IP que se especificó como la dirección de origen en el paquete DHCP Discover. Entonces el paquete que sale del servidor DHCP se ve así:
- MAC de origen: mac de unidifusión del servidor DHCP
- Dest MAC: dirección mac del enrutador o la puerta de enlace predeterminada del servidor DHCP
- IP de origen: dirección IP de unidifusión del servidor DHCP
- IP de destino: dirección IP de la primera interfaz de enrutador que alcanzó el paquete DHCP Discover
- Puerto de origen: UDP 67
- Puerto de destino: UDP 68
Dado que este paquete tiene una dirección de destino de capa 3 de unidifusión, los enrutadores reenviarán el paquete normalmente hasta que llegue al enrutador con una interfaz que tenga una dirección IP que coincida con la IP de destino del paquete. Recuerde de antes que este enrutador todavía tiene la ip helper-address
configuración en esa interfaz. El enrutador comprueba si el paquete es una oferta de DHCP y luego lo reescribe para convertirse en un paquete de difusión y lo envía de vuelta a esa interfaz sabiendo que el cliente DHCP está en algún lugar de ese segmento de red. El paquete que sale del enrutador ahora se ve así.
- Fuente MAC: Mac de unidifusión de la interfaz del enrutador
- Dest MAC:
ff-ff-ff-ff-ff-ff
- IP de origen: dirección IP de unidifusión del servidor DHCP
- IP de destino:
255.255.255.255
- Puerto de origen: UDP 67
- Puerto de destino: UDP 68
TL: DR; La retransmisión DHCP utilizando el ip helper-address
subcomando de interfaz "engaña" alrededor de la regla de que los enrutadores no pueden reenviar transmisiones limitadas cambiando la dirección IP de destino del paquete a la dirección IP de unidifusión del servidor DHCP antes de enrutarlo. Esto permite a todos los enrutadores en la línea para enrutar el paquete adecuadamente al servidor DHCP. Al responder, el servidor DHCP devuelve el paquete a la dirección IP de unidifusión de la interfaz del enrutador que recibió por primera vez el paquete DHCP Discover (el que tiene el ip helper-interface
comando). Cuando el enrutador recibe la oferta, la convierte de nuevo en un paquete de difusión y la envía a la interfaz con el cliente en su dominio de difusión.