Come viene passato il prefisso IP al router?


8

Innanzitutto alcune informazioni di base su ciò che già conosco:

Un indirizzo IPv4 è un indirizzo a 32 bit che identifica un nodo in una rete. Un indirizzo IP avrà un prefisso IP che determina la parte "Rete" dell'indirizzo IP e il resto determinerà l '"Host".

Un esempio:

128.208.0.0/24 mi dirà che i primi 24 bit sono la parte "Rete" dell'indirizzo IP, e gli altri 8 bit saranno per l'host nella rete data. Inoltre, 128.208.0.0. sarà l'indirizzo IP più basso disponibile nella rete specificata.

Ora Tannenbaum afferma nel suo libro:

Poiché la lunghezza del prefisso non può essere dedotta dal solo indirizzo IP, i protocolli di routing devono portare i prefissi ai router. A volte i prefissi sono semplicemente descritti dalla loro lunghezza, come in una '' / 16 '' che è pronunciata '' barra 16. '' La lunghezza del prefisso corrisponde a una maschera binaria di 1s nella porzione di rete. Se scritto in questo modo, si chiama subnet mask. Può essere ANDed con l'indirizzo IP per estrarre solo la parte di rete. Nel nostro esempio, la subnet mask è 255.255.255.0.

Quindi le mie domande sono:

1) In che modo i protocolli di routing portano i prefissi? Dove è memorizzata la parte "barra"?

2) Cosa significa questo:

Può essere ANDed con l'indirizzo IP per estrarre solo la parte di rete. Nel nostro esempio, la subnet mask è 255.255.255.0.

Grazie.


Il downvoter può chiarire perché questa domanda è stata sottoposta a downgrade?
Koray Tugay,

Ho il sospetto che la community stia esprimendo alcuni voti negativi perché la tua domanda è a livello introduttivo e questo sito è rivolto ai professionisti. Il lato positivo è che le persone non ti votano da vicino.
Craig Constantine,

Siamo spiacenti, l'inglese non è la mia lingua madre. Cosa significa: "Per contro, le persone ti votano da vicino".
Koray Tugay,

Volevo dire: le persone non votano per chiudere la tua domanda. Quindi ad alcune persone non piace (i votanti), ma non è così male che le persone votino per chiuderlo.
Craig Constantine,

@CraigConstantine Capito grazie .. Sì hai ragione ..
Koray Tugay,

Risposte:


8
  1. In che modo i protocolli di routing portano i prefissi? Dove è memorizzata la parte "barra"?

Risponderò il più direttamente possibile con OSPF. Di seguito è riportato un pacchetto Hello di tipo 1 inviato tutte le interfacce per formare un'adiacenza.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       1       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Network Mask                           |    <------
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         HelloInterval         |    Options    |    Rtr Pri    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     RouterDeadInterval                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Designated Router                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Backup Designated Router                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Neighbor                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |

RFC 2328, A.3.2 Il pacchetto Hello

Il Network Maskcampo è popolato con la subnet mask che stai utilizzando con quell'interfaccia.

La notazione CIDR non è altro che una versione più breve della maschera di sottorete per brevità. E del resto, le subnet mask sono solo una versione ridotta delle posizioni dei bit. Immagina di dover scrivere in decimale ogni volta che desideri configurare una porta.

11111111.11111111.11111111.00000000    <---- This would be painstaking
255.255.255.0                          <---- Better, but not optimal
0xffffff00                             <---- Shorter still, but still not optimal
/24                                    <---- Best-case scenario

Alla fine, tutto esce allo stesso modo. Quindi avere questi modi abbreviati di rappresentare gli stessi dati ha senso.


Viene inviata l'intera maschera di rete? Non sarebbe più efficiente usare 5 bit (sono necessari solo da 1 a 31) indicando quanti bit sono in rete? C'è davvero qualche vantaggio nel poter definire una 255.0.255.0maschera?
Cruncher,

@Cruncher 255.0.255.0non è una possibilità. Solo le maschere jolly possono funzionare con bit non contigui come questo. RFC non delinea il motivo per cui invia l' intera maschera di rete con i pacchetti OSPF.
Ryan Foley,

È un pacchetto DHCP?
Koray Tugay,

No, l'esempio sopra è un pacchetto Hello di tipo 1 OSPF.
Ryan Foley,

Le maschere jolly @Cruncher vengono utilizzate solo per l'elenco di accesso e NATing, praticamente una subnet mask invertita.
chris,

6

Dipende dal protocollo di routing. I vecchi protocolli come RIP v1 assumono una maschera di classe e non pubblicizzano una maschera, ma quelli più recenti come RIP v2, OSPF, ISIS, BGP, ecc.

La risposta alla seconda parte della domanda: per determinare la parte di rete dell'indirizzo o per verificare se un determinato indirizzo fa parte di una particolare rete, si esegue un AND logico bit a bit con la subnet mask.

Ad esempio, per ottenere l'indirizzo di rete di 172.16.24.5/24, tu e ogni bit dell'indirizzo a 32 bit e la maschera, in questo modo:

10101100 00010000 00011000 00000101 <- 172.16.24.5

11111111 11111111 11111111 00000000 <- 255.255.255.0


10101100 00010000 00011000 00000000 <- Risultato: 172.16.24.0

Il risultato è la parte di rete dell'indirizzo IP (chiamato anche numero di rete). Questo è esattamente ciò che fanno il router e il PC per determinare quale rete utilizzare per trasmettere il pacchetto.


Grazie per la risposta, ma cosa c'è di così speciale in 255.255.255.0?
Koray Tugay,

1
Nulla di diverso, a parte il fatto che la divisione tra la rete e la maschera dell'host ricade sul limite del "punto", è facile da usare (l'ultima cifra decimale è sempre 0). Quindi è molto comunemente usato.
Ron Trunk,

Suppone che l'IP abbia un prefisso a 24 bit?
Koray Tugay,

Quello che non capisco è che hai dato un esempio: 172.16.24.5/24 e conosci già la lunghezza del prefisso. Ma come fa il router a conoscere il prefisso? Se non conosce il prefisso, come farà a sapere che dovrebbe usare 255.255.255.0?
Koray Tugay,

Gli annunci del router per ogni percorso riportano il prefisso (per i protocolli moderni).
Ron Trunk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.