Perché la IETF ha scelto 192.168 / 16 come classe di indirizzi IP privati?


90

Perché Internet Engineering Task Force (IETF) ha scelto 192.168/16di essere una classe di indirizzi IP privati ​​e non qualcos'altro?

Perché specificamente 192.168/16e 10/8e 172.16/12e non 145.243/16per esempio?

C'è una ragione per cui quegli indirizzi IP sono stati scelti come standard per gli indirizzi IP privati ​​rispetto a tutte le altre possibilità?



32
RFC 1918 non contiene alcuna spiegazione del perché nello specifico siano state scelte queste reti, Akash. Da qui la domanda dell'interrogatore.
JdeBP,

1
Ho sbagliato a non avere risposta. Sono stato in grado di rispondere alla tua domanda quasi completamente, attingendo da RFC. Ma il 1918 non è il più importante per rispondere alla domanda ...
Michael Hampton,

Risposte:


89

So chi ha scelto questi intervalli di indirizzi. Sfortunatamente, è morto, quindi non posso chiedergli esattamente perché li abbia scelti, ma posso fare alcune ipotesi ben informate.

Non ci sono molti appuntamenti online prima della metà degli anni '90, quando Internet ha davvero iniziato a decollare. La storia di Internet esiste soprattutto nelle RFC che la definiscono, che risale al 1969 , all'inizio di ARPANET. Attraverso di essi puoi guardare i progressi di Internet da una rete nascente di alcuni mainframe primitivi, progettati da alcune delle menti più brillanti del tempo, alla rete di cui difficilmente possiamo immaginare di vivere senza oggi.

Questa risposta attinge quasi interamente da tali RFC, e in piccola parte dalla mia esperienza personale come ero su Internet in questa era.


Innanzitutto, IETF non ha selezionato questi intervalli di indirizzi IP o altri. L'assegnazione di indirizzi per usi speciali è attualmente ed è sempre stata compito dell'autorità per i numeri assegnati a Internet .

Lo IANA è sempre stato un ruolo , piuttosto che un'organizzazione specifica, e quel ruolo ha cambiato le mani esattamente una volta. Attualmente è detenuto dall'ICANN, ma dal 1972 fino alla sua morte nel 1998, quando quell'organizzazione fu creata per rimpiazzarlo, IANA era essenzialmente un uomo, Jon Postel . Naturalmente, per prima cosa ha chiamato il ruolo zar dei numeri socket , un compito necessario che si è assunto perché doveva essere fatto. Alla fine è finito lo zar di praticamente tutti i numeri che potevano essere assegnati: indirizzi, numeri di protocollo, porte, tu lo chiami, soprattutto perché era disposto a farlo, e quando Internet si è aperto al commercio pubblicolo faceva da oltre 20 anni. Ha assegnato i numeri e Internet Registry (quindi SRI-NIC, questo è stato esteso a una raccolta distribuita di registri in tutto il mondo) li ha pubblicati.

L'ultimo RFC di SRI che mostrava un elenco di assegnazioni di indirizzi Internet era RFC 1166 del 1990. È un elenco molto lungo, quindi non dovrebbe sorprendere che questi dati siano stati spostati in database online. Il confronto con il suo predecessore RFC 1117 mostra il tasso di espansione di Internet anche allora, anni prima che fosse aperto al pubblico.

Quindi, ora siamo in grado di comprendere meglio gli intervalli di indirizzi in RFC 1918 . Questa è in realtà la seconda revisione della RFC; il primo fu RFC 1597 , pubblicato quasi due anni prima nel marzo 1994. Nella sua confutazione poco nota, RFC 1627 , furono presentate le argomentazioni contemporanee contro gli spazi di indirizzi privati. RFC 1627 menziona anche chi ha assegnato i tre spazi degli indirizzi.

Sono stati assegnati da IANA, cioè Jon Postel, su richiesta degli autori di RFC 1597, e se si ritiene che il reclamo in RFC 1627 lo abbia fatto, lo ha fatto tramite canali secondari piuttosto che i soliti processi aperti. Potete vedere che la stessa RFC 1597 è passata direttamente allo stato RFC senza i soliti precedenti progetti di Internet , quindi anche questa è stata approvata tramite canali secondari, sempre da Postel, che all'epoca era anche redattore di RFC . Quindi potrebbe non essere mai possibile rispondere a questa domanda in modo conclusivo.

Ora sul perché abbia scelto questi tre intervalli di indirizzi, lasciatemi richiamare la vostra attenzione sugli RFC 1166 e 1117 di SRI che avevano le assegnazioni di intervallo di indirizzi IP attuali. In entrambi noterete che la rete 10 era ancora assegnata al defunto ARPANET, che era stato chiuso nel 1990 . Postel, nel suo ruolo di IANA, avrebbe saputo che questa gamma non era più in uso e poteva essere riassegnata. Suppongo che Postel abbia scelto la rete 10 perché sapeva che era disponibile e non in uso.

Allo stesso modo, mi aspetto che Postel abbia scelto 192.168 perché, al momento in cui ha fatto la scelta, era la prossima rete disponibile, o quasi la prossima disponibile, a essere assegnata dal precedente spazio di Classe C. Questo probabilmente non può essere provato in un modo o nell'altro, ma il ritmo delle assegnazioni di indirizzi mostrato nelle RFC suggerisce fortemente che sarebbero state in questa zona generale intorno al 1993-1994 quando le assegnazioni fossero state fatte. (Gli indirizzi a 192,159 venivano assegnati nel 1992 . Sono disponibili per le assegnazioni Nessuna data in 192,160-192,167 come questi sono stati ad un certo punto riattribuiti alle RIPE.)

Rispondere a questa domanda per 172.16-172.31 è più difficile. Nulla di ciò che ho trovato suggerisce perché questa gamma sia stata selezionata. Le assegnazioni nell'ex spazio di Classe B non erano ancora così alte, per quanto posso scoprire. Posso solo ipotizzare che IANA abbia lanciato un dardo su un bersaglio, tirato i dadi o altrimenti tirato fuori il numero dalle sue regioni inferiori.


Infine, una nota su Jon Postel. Nonostante l'apparente modo in cui questo RFC è stato realizzato completamente senza input (iniziale) da parte della comunità, non intendo implicarlo, e questo non dovrebbe essere interpretato come, Jon Postel in qualche modo ha interpretato il ruolo IANA male o ingiustamente. È stata una delle più forti influenze su Internet, e oggi si sente ancora quell'influenza ogni volta che si intravede il meccanismo dietro le quinte di Internet, ma si è sempre preoccupato di fare il lavoro nel modo giusto. Per citare da un ricordo :

Non c'è gloria nel fare amministrazione e operazioni. Piuttosto il contrario. La gente nota quando viene eseguita male ma raramente offre elogi quando viene eseguita bene. Le persone in posizioni amministrative diventano spesso burocrati meschini. Dal momento che c'è così poca ricompensa nel lavoro, artificialmente ne fanno una base di potere. Quindi ha confuso alcuni che hanno sentito Jon chiamato i numeri di Internet "zar". Non si resero conto che la comunità aveva conferito il titolo a Jon per affetto e profondo apprezzamento per aver portato ordine ai servizi infrastrutturali essenziali. In particolare, la comunità ha usato quel termine nella piena consapevolezza che Jon ha preso la sua posizione come una fiducia, piuttosto che come un'opportunità per il potere personale. Abbiamo sempre saputo che i suoi punti di vista provenivano da credenze legittime e non dovevamo mai preoccuparci che stesse in qualche modo prendendo in considerazione un vantaggio politico o personale. Potremmo non essere d'accordo con lui, ma abbiamo sempre saputo che prima eravamo spinti dalla preoccupazione che fosse fatta la cosa giusta.


6
Deve essere stato un concerto difficile per Jon. È qui che otteniamo l'espressione "Going Postel"? :-p
tudor

5
Jon Postel è uno dei miei eroi di vecchia data. Era sempre nel backend, mantenendo gli scienziati più famosi che lavoravano insieme per un obiettivo comune. Il padre della governance di Internet.
Frank Thomas,

4
"Non ci sono molti appuntamenti online prima della metà degli anni '90" - Non scherzo, match.com non è stato registrato fino al 1998. No? ... Prenderò il cappotto.
Anonimo

1
Un nuovo post di NANOG conferma che si trattava di ordinarie assegnazioni "successive disponibili".
Grawity,

30

Perché aveva senso in quel momento? :-D

Ricorda, quando sono stati assegnati gli intervalli di indirizzi IP privati, c'erano diversi problemi che gli ingegneri di rete dovevano affrontare: alcuni dei router più potenti all'epoca avevano circa la potenza della CPU e la memoria RAM dei calcolatori grafici tascabili di oggi - e alcuni di quelli oggi girano ancora attorno a router di un anno (ricordo che quando la velocità della CPU fu misurata in kilohertz e la memoria RAM fu misurata in kilobyte, non i giga * come sono oggi!). Internet stava crescendo rapidamente, IPv4lo spazio degli indirizzi era limitato e sembrava che si sarebbe esaurito entro il 2000 circa, eccetera. Pertanto, molti intervalli di indirizzi IP erano già stati assegnati e non volevano chiedere alle aziende di restituire gli intervalli di indirizzi IP solo per poterli riassegnare a intervalli privati. Volevano anche provare a semplificare il più possibile la collaborazione delle aziende con le gamme private: poche aziende avrebbero collaborato se avessero dovuto investire un sacco di soldi per far sì che le loro reti potessero far fronte a una o due dozzine di gamme / IP indirizzi qua e là.

Questa parte è certamente una supposizione da parte mia, ma basata in gran parte sia sulla logica che sull'esperienza nella creazione di reti. Probabilmente hanno raccolto un elenco di tutti i numeri di rete non assegnati e hanno cercato un modello distintivo che soddisfacesse i criteri desiderati: una singola classe A (i numeri di rete che hanno un bit alto di binario 0xxxxxxx nel numero di rete erano Classe A), 16 Classe B (numeri di rete 10xxxxxx binari) e 256 Classe C (numeri di rete 110xxxx binari). Anche gli indirizzi di classe B e C devono essere consecutivi . (La scelta per 16 e 256 era probabilmente parzialmente arbitraria - dopo aver fatto queste cose per un po ', tendi a iniziare a pensare con poteri di 2 - e probabilmente parzialmente perché era ciò che potevano trovare che era disponibile per la prenotazione.)

Da questo, probabilmente hanno selezionato gli intervalli finali tra quegli indirizzi disponibili che consentirebbero ai produttori di router di eseguire un semplice test bit-saggio sull'indirizzo per determinare se instradare / inoltrare / rilasciare il pacchetto. Ci sono anche alcune proprietà dei bit pattern che posso vedere aiutando anche a costruire tabelle NAT compatte. L'indirizzo 10.xyz è ovvio, poiché deve corrispondere a un solo numero di rete. Da 172.16.yz a 172.32.yz si ha il modello secondo cui se si crea una tabella con quattro bit di ordine inferiore incrociati facendo riferimento ai quattro bit di ordine superiore, l'intero intervallo si riempie su una singola riga della tabella, senza suddividere in due righe - cioè, il secondo ottetto è sempre 0001xxxx (binario). In 192.168.yz, il binario per 168 è 10101000, ovvero i tre bit inferiori sono sempre 0 e i 5 bit superiori alternano 1 e 0.

Mentre questi possono apparire arbitrari, se hai mai eseguito una programmazione in linguaggio macchina o una decodifica del microcodice, questo tipo di pattern ti consente di testare solo pochi bit per effettuare una determinazione privata / pubblica senza dover prima decodificare l'intero indirizzo IP. Ciò consentirebbe ai router di elaborare rapidamente tali indirizzi senza dover mantenere in memoria ampie tabelle di ricerca. Pertanto, il router potrebbe reinserire un pacchetto di rete privata sulla rete privata senza prima decodificarlo completamente, eliminando preziosi cicli di clock dalla velocità del router e della rete.

Se sei curioso, guarda come la trasmissione seriale dei dati (come una UART) gestisce ogni byte di dati: può inviare / ricevere solo un singolo bit alla volta, alla velocità del clock di controllo, e di solito inquadra i dati in bit aggiuntivi come bit di parità e "sincronizzazione". Sarebbe troppo dispendioso in termini di tempo per provare a calcolare cose come la parità su un intero byte in una sola volta, quindi mantiene invece un bit speciale che ogni ciclo di clock. Quel bit viene modificato dal bit successivo che viene spostato in / out dal registro di invio / ricezione. Non appena l'intero byte viene inviato / ricevuto, il valore lasciato nel bit di parità è già corretto senza doverlo ricalcolare. Il concetto è più o meno "fai il lavoro nello stesso momento in cui stai facendo qualcos'altro", nel caso di un chip seriale, sta calcolando la parità allo stesso tempo che sta inviando / ricevendo. Per un router / switch,

Inoltre, questa È solo una logica / ipotesi da parte mia, basata su 25 anni di questo tipo di lavoro. Non so se sapremo mai i motivi esatti dietro i numeri finali scelti in quanto non ricordo documenti / RFC / ecc. dare sempre la logica completa. Il più vicino che ho visto sono solo alcuni commenti che suggeriscono che le gamme scelte dovrebbero rendere relativamente facile ed efficiente per le aziende utilizzarle con il minimo sforzo / investimento / reingegnerizzazione.


6
Ciò non sembra spiegare la scelta di 168 in particolare. Non riesco a vedere alcun motivo per cui 10101000 sarebbe più facile da decodificare rispetto a 10101010 o 10101001 - in entrambi i casi è necessario abbinare tutti gli 8 bit prima di sapere che l'indirizzo appartiene alla rete privata. Intuitivamente sembra più probabile che 192.168 sia stato semplicemente il primo blocco di dimensioni appropriate che era disponibile al momento dell'allocazione, rispetto al particolare modello di bit 10101000 in qualche modo più facile da decodificare rispetto ad altri modelli della stessa lunghezza.
Henning Makholm,

@HenningMakholm, le moderne apparecchiature di rete utilizzano molti ASIC, circuiti integrati specifici dell'applicazione, che eseguono l'elaborazione su input in hardware. un semplice registro potrebbe essere implementato nell'hardware per verificare un modello di bit comune, in modo tale che sia necessaria solo un'istruzione di assemblaggio per analizzarlo. Non sto dicendo che i pensieri di CM sono ciò che i progettisti di rfc1918 stavano pensando (non possiamo sapere perché non includevano queste informazioni), ma è una possibilità intrigante.
Frank Thomas,

2
@FrankThomas: Stai dicendo che la corrispondenza per 168 sarebbe più facile da produrre un circuito ASIC, rispetto alla corrispondenza per qualche altra costante a 8 bit? Non sono un progettista di hardware, ma lo trovo difficile da credere.
Henning Makholm,

2
Nel protocollo non è richiesto che i router elaborino queste reti in alcun modo speciale, quindi quasi tutte queste risposte sono irrilevanti. Ricorda che RFC 1918 non specificava NAT e prevedeva che questi indirizzi fossero puramente interni, senza alcun modo di raggiungere Internet. NAT è arrivato un po 'più tardi, e non è stato realmente specificato fino a RFC 2663.
Michael Hampton,

2
@Frank Non ho fatto molto con Verilog o VHDL da un pò di tempo, ma non credo che la tua logica sia vera. Almeno il modo ovvio (ed efficiente) su come implementerei la parità nell'hardware non si preoccupa di alcun modello. Ci sono alcuni ISA che possono generare solo schemi specifici per gli immediati logici (ARMv8 per nominarne uno davvero nuovo), ma questo è tutto.
Voo,

21

In Internet primordiale , la rete ora indicata 10.0.0.0/8 sono stati destinati al ARPANET . Quando IETF e IANA si sono dati da fare per assegnare intervalli di indirizzi privati, ARPANET era in bancarotta e il suo precedente spazio di indirizzi era disponibile per uso privato.

Le altre due gamme hanno reso disponibili reti di Classe B e Classe C per IP privati, oltre alla già citata Classe A.


15

Perché 192 inizia con 11xxxxxx in binario, indicando una rete di classe C. È il numero più basso che inizia con due 1 consecutivi. La Classe A ha 0 come bit di ordine più alto e la Classe B ha 10.

RFC 1918 che definisce gli intervalli IP privati, non chiarisce su questo punto, quindi non esiste una risposta definitiva sul perché abbiano scelto .168 per il blocco a 16 bit, ma credo che ciò sia dovuto al fatto che l'RFC non è stato rilasciato fino al 1996, dopo che un numero enorme di registrazioni aveva già avuto luogo. poiché 192 è il primo blocco a 8 bit nelle allocazioni di classe C, è probabile che molti degli indirizzi siano già stati presi. 168 potrebbe essere stato il primo disponibile.

Inoltre, tieni presente che alcune di queste scelte sono arbitrarie. Notare che l'intervallo rfc1918 di classe B è 172.16 - 172.31? Non riesco a pensare al motivo di 172, ma sono abbastanza sicuro che abbiano scelto di usare 16 classi B, quindi avevano un blocco di 1 milione di indirizzi contigui (1048576).

A volte i protocolli sono proprio così. qualcuno doveva fare una scelta e ce l'hanno fatta. per un po ', il kernel Linux era limitato a un massimo di 1024 CPU per sistema, e alla fine hanno dovuto emettere una patch, dopo che alcuni supercomputer avevano problemi. chiunque abbia deciso di usare 1024 probabilmente non aveva buone ragioni per farlo se non che avesse bisogno di un valore, e 1024 è bello e rotondo.


1
Un buon punto In particolare combinato con lo sfondo del post di Darth Androids e forse alcune informazioni aggiuntive sui primi bit delle altre classi.
Hennes,

9
Ma perché 192.168?
user253751

14

Questo è un residuo di Classful Networking , in cui l'intervallo di indirizzi IPv4 è stato suddiviso in classi:

  • Classe A: 0.0.0.0 - 127.255.255.255 / 255.0.0.0
  • Classe B: 128.0.0.0 - 191.255.255.255 / 255.255.0.0
  • Classe C: 192.0.0.0 - 223.255.255.255 / 255.255.255.0
  • Classe D: 224.0.0.0 - 239.255.255.255 (multicast)
  • Classe E: 240.0.0.0 - 255.255.255.255 (riservato)

Da allora siamo passati (nel 1993) al Classless Inter-Domain Routing , tuttavia le classi hanno ancora la loro eredità in vari luoghi (la rete 127 è "home / loopback" - 127.0.0.1 chiunque ?, 192.168.X è comune per la casa router, la rete 10 è comune in più hardware di rete "enterprisy" e il multicast è ancora multicast.


16
L'interrogante sembra chiedersi, tuttavia, perché queste particolari reti in ogni classe sono state scelte, come ha fatto questa persona su un altro sito del WWW e questa persona ha fatto su un altro StackExchange , a cui la risposta non risponde. user46971 ha colpito l'unghia sulla testa.
JdeBP,

1
Quella risposta SE è così buona che penso che forse questa domanda dovrebbe essere migrata e quindi contrassegnata come duplicata. In realtà si tratta più della rete che dell'uso generale del computer.
sinceramente il

3

La RFC spiega il motivo per cui abbiamo scelto tre intervalli rispettivamente da "Classe A, B e C": il CIDR era stato specificato ma non era stato ampiamente implementato. C'era una quantità significativa di attrezzature là fuori che era ancora "di classe".

Per quanto ricordo la scelta delle gamme particolari è stata la seguente:

10/8: l'ARPANET era appena stato spento. Uno di noi lo ha suggerito e Jon lo ha considerato un buon riutilizzo di questo blocco di indirizzi "storico". Abbiamo anche sospettato che "net 10" potrebbe essere stato codificato in alcuni punti, quindi riutilizzarlo per lo spazio degli indirizzi privati ​​piuttosto che nel routing inter-AS potrebbe avere il leggero vantaggio di mantenere tale stupidità locale.

172.16 / 12: il più basso non allocato / 12 nello spazio di classe B.

192.168 / 16: il più basso non allocato / 16 nel blocco 192/8 di classe C.

In sintesi: IANA ha assegnato questo spazio proprio come avrebbe fatto per qualsiasi altro scopo. Come IANA, Jon era molto coerente a meno che non ci fosse davvero una buona ragione per essere creativi.

Daniel (coautore di RFC1918)

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.