Come i router gestiscono le trasmissioni limitate e dirette
La prima cosa da capire per rispondere alle tue domande è che i frame di trasmissione limitati non vengono instradati. Per impostazione predefinita, quando un router riceve un frame con un indirizzo di destinazione che viene trasmesso al layer 2 o al layer 3, il router rilascia semplicemente il frame. Ecco perché si dice che i router siano il confine dei domini di trasmissione.
Alcuni esempi di questi sarebbero:
ff-ff-ff-ff-ff-ff
(trasmissione di livello 2)
255.255.255.255
(trasmissione limitata di livello 3)
Pensandoci, questo ha senso. Se i router inoltrassero trasmissioni, una singola richiesta ARP raggiungerebbe ogni singolo host raggiungibile su Internet, il che sarebbe terribilmente inefficiente e piuttosto sciocco.
Le trasmissioni dirette d'altra parte vengono talvolta instradate. (IE 192.168.1.255/24
) Normalmente per impostazione predefinita questa funzionalità è disabilitata ma può essere abilitata emettendo il ip directed-broadcast
comando sul router. Ciò gli consentirà di inoltrare le trasmissioni dirette in base alla sua tabella di routing come se fossero pacchetti normali. Ciò non è tuttavia permette al router di trasmettere le trasmissioni limitati, quelli sono ancora bloccati per impostazione predefinita. Anche questo è leggermente fuori tema rispetto alla domanda originale, vedere questa pagina dei moduli Cisco per ulteriori informazioni al riguardo.
Trasmissione di livello 3 Ma non livello 2?
Per rispondere alla tua seconda domanda, non avrebbe senso avere un frame con un indirizzo broadcast di livello 3 senza un indirizzo broadcast di livello 2. Ciò vanificherebbe l'intero scopo di essere un frame di trasmissione e semplicemente non funzionare del tutto. Avere un indirizzo di destinazione unicast di livello 2 non cambierebbe affatto il comportamento del router poiché il router prende le sue decisioni al livello 3. Tutto il router si preoccupa di quell'indirizzo di 255.255.255.255
destinazione e rilascia il pacchetto.
Ciò che conta è con gli switch a cui non interessa affatto l'indirizzo del layer 3. Gli switch vedrebbero solo l'indirizzo di livello 2 unicast. Invece di inviare il pacchetto su tutte le interfacce sullo stesso vlan, userebbe la tabella degli indirizzi di origine (SAT) come farebbe con qualsiasi altro indirizzo di destinazione unicast. In effetti, assegnando un indirizzo unicast di livello 2, il frame non è più un frame broadcast, sebbene abbia l' 255.255.255.255
indirizzo al layer 3.
Funzionamento pratico del relè DHCP
Per quanto riguarda la tua ultima domanda, l'inoltro DHCP è un modo del router di "barare" attorno alla regola di non inoltrare i pacchetti di trasmissione. Diamo un'occhiata a un pacchetto Discover di DHCP:
- MAC sorgente: [mac unicast della fonte]
- Dest MAC:
ff-ff-ff-ff-ff-ff
- IP sorgente:
0.0.0.0
- IP di destinazione:
255.255.255.255
- Porta di origine: UDP 68
- Porto di destinazione: UDP 67
Quando il router vede arrivare un pacchetto su un'interfaccia con il ip helper-address
comando configurato, verifica che corrisponda a uno dei protocolli che sono "aiutati" per impostazione predefinita o configurati con il ip forward-protocol
comando globale . In questo caso, poiché è DHCP, il router rileva che la porta di destinazione corrisponde a UDP 67 e consente di "aiutare" il pacchetto. Il router modifica quindi l'indirizzo IP di destinazione dall'indirizzo 255.255.255.255
IP configurato dal ip helper-address
comando, nonché cambiando l'indirizzo di origine con l'indirizzo dell'interfaccia del router su cui è arrivato il pacchetto e passa il pacchetto al resto della logica di routing.
Ora che il pacchetto ha un indirizzo di destinazione unicast, il router lo tratta come qualsiasi altro pacchetto. Viene attivato per l'indirizzo IP di destinazione (che ora è l'indirizzo dell'helper) e quindi sostituisce gli indirizzi di livello 2 prima di inviare il pacchetto all'interfaccia appropriata.
Tornare di nuovo
Il router utilizza essenzialmente lo stesso processo al contrario per l'offerta DHCP che viene rimandata al client. I server DHCP inviano l'offerta all'indirizzo IP specificato come indirizzo di origine nel pacchetto di rilevamento DHCP. Quindi il pacchetto che lascia il server DHCP assomiglia a:
- MAC di origine: mac unicast del server DHCP
- Dest MAC: indirizzo mac del router o gateway predefinito del server DHCP
- IP di origine: indirizzo IP unicast del server DHCP
- IP di destinazione: indirizzo IP della prima interfaccia del router raggiunta dal pacchetto di rilevamento DHCP
- Porta di origine: UDP 67
- Porto di destinazione: UDP 68
Poiché questo pacchetto ha un livello unicast di indirizzo 3 i router di destinazione inoltreranno il pacchetto normalmente fino a quando non raggiunge il router con un'interfaccia che ha un indirizzo IP corrispondente all'IP di destinazione del pacchetto. Ricorda che questo router ha ancora la ip helper-address
configurazione su quell'interfaccia. Il router controlla se il pacchetto è un'offerta DHCP, quindi riscrive il pacchetto per trasformarlo in pacchetto di trasmissione e lo rimanda indietro dall'interfaccia sapendo che il client DHCP si trova da qualche parte su quel segmento di rete. Il pacchetto che lascia il router ora appare così.
- MAC di origine: mac unicast dell'interfaccia del router
- Dest MAC:
ff-ff-ff-ff-ff-ff
- IP di origine: indirizzo IP unicast del server DHCP
- IP di destinazione:
255.255.255.255
- Porta di origine: UDP 67
- Porto di destinazione: UDP 68
TL: DR; L'inoltro DHCP utilizzando il ip helper-address
sottocomando di interfaccia "tradisce" la regola secondo cui i router non possono inoltrare trasmissioni limitate modificando l'indirizzo IP di destinazione del pacchetto con l'indirizzo IP unicast del server DHCP prima di instradarlo. Ciò consente a tutti i router lungo la linea di instradare il pacchetto in modo appropriato al server DHCP. Quando risponde il server DHCP restituisce il pacchetto all'indirizzo IP unicast dell'interfaccia del router che per primo ha ricevuto il pacchetto di rilevamento DHCP (quello con il ip helper-interface
comando). Quando il router riceve indietro l'offerta, la converte nuovamente in un pacchetto di trasmissione e lo invia all'interfaccia con il client nel suo dominio di trasmissione.