Warum hat die IETF 192.168 / 16 speziell als private IP-Adressklasse ausgewählt?

90

Warum hat sich die Internet Engineering Task Force (IETF) 192.168/16für eine private IP-Adressklasse entschieden und nicht für etwas anderes?

Warum speziell 192.168/16und 10/8und 172.16/12und nicht 145.243/16zum Beispiel?

Gibt es einen Grund, warum diese IP-Adressen als Standard für private IP-Adressen ausgewählt wurden, über alle anderen Möglichkeiten hinweg?

Cornbeetle
quelle
32
RFC 1918 enthält keine Erklärung, warum speziell diese Netzwerke ausgewählt wurden, Akash. Daher die Frage des Fragestellers.
JdeBP
1
Ich habe mich geirrt, dass dies nicht zu beantworten ist. Ich konnte Ihre Frage anhand von RFCs fast vollständig beantworten. Aber 1918 ist nicht das wichtigste für die Beantwortung der Frage ...
Michael Hampton

Antworten:

89

Ich weiß, wer diese Adressbereiche gewählt hat. Leider ist er tot, deshalb kann ich ihn nicht genau fragen, warum er sie ausgewählt hat, aber ich kann einige gut informierte Vermutungen anstellen.

Es gibt nicht viel Online-Dating vor Mitte der 1990er Jahre, als das Internet wirklich in Fahrt kam. Welche Geschichte das Internet hat, ist vor allem in den RFCs zu sehen, die es zu Beginn des ARPANET definieren, die bis ins Jahr 1969 zurückreichen . Durch sie können Sie den Fortschritt des Internets von einem Netzwerk aus wenigen primitiven Großrechnern, die von einigen der brillantesten Köpfe der Zeit entworfen wurden, bis zu dem Netzwerk verfolgen, das wir uns heute kaum vorstellen können.

Diese Antwort stammt fast ausschließlich aus diesen RFCs und zu einem kleinen Teil aus meiner persönlichen Erfahrung, als ich in dieser Zeit im Internet war.


Erstens hat die IETF diese oder andere IP-Adressbereiche nicht ausgewählt. Die Vergabe von Sondernutzungsadressen ist derzeit und seit jeher Aufgabe der Internet Assigned Numbers Authority .

Die IANA war schon immer eine Rolle und keine bestimmte Organisation, und diese Rolle hat genau einmal den Besitzer gewechselt. Derzeit wird es von ICANN gehalten, aber von 1972 bis zu seinem Tod im Jahr 1998, als diese Organisation gegründet wurde, um ihn zu ersetzen, war IANA im Wesentlichen ein Mann, Jon Postel . Natürlich nannte er zuerst die Rolle des Zaren der Socket-Nummern , eine notwendige Aufgabe, die er selbst übernahm, weil sie erledigt werden musste. Er war der Zar praktisch jeder Nummer, die zugewiesen werden konnte: Adressen, Protokollnummern, Ports, Sie nennen es, vor allem, weil er dazu bereit war, und als das Internet für den öffentlichen Handel geöffnet wurdeer hatte es über 20 Jahre lang getan. Er vergab die Nummern und veröffentlichte sie im Internetregister (damals SRI-NIC, dies wurde auf eine weltweit verteilte Sammlung von Registern ausgeweitet ).

Der letzte RFC von SRI mit einer Liste von Zuweisungen von Internetadressen war RFC 1166 aus dem Jahr 1990. Es handelt sich um eine sehr lange Liste, sodass es nicht verwunderlich ist, dass diese Daten in Online-Datenbanken verschoben wurden. Vergleicht man es mit seinem Vorgänger RFC 1117, so zeigt sich die Ausbreitungsrate des Internets bereits Jahre bevor es der Öffentlichkeit zugänglich wurde.

Jetzt können wir die Adressbereiche in RFC 1918 etwas besser verstehen . Dies ist eigentlich die zweite Version des RFC. Das erste war RFC 1597 , das fast zwei Jahre zuvor im März 1994 veröffentlicht wurde. In seiner wenig bekannten Widerlegung RFC 1627 wurden die zeitgenössischen Argumente gegen private Adressräume dargelegt. RFC 1627 erwähnt zufällig auch, wer die drei Adressräume zugewiesen hat.

Sie wurden von IANA, d. H. Jon Postel, auf Ersuchen der Autoren von RFC 1597 zugeteilt, und wenn die Beschwerde in RFC 1627 zu vermuten ist, hat er dies eher über Rückkanäle als über die üblichen offenen Prozesse getan. Sie können sehen, dass RFC 1597 selbst ohne die üblichen vorherigen Internet-Entwürfe direkt in den RFC-Status überging , so dass es auch über die Back-Channels genehmigt wurde, wiederum von Postel, der zu dieser Zeit auch RFC-Editor war . Daher ist es möglicherweise nie möglich, diese Frage endgültig zu beantworten.

Lassen Sie mich nun, warum er diese drei Adressbereiche ausgewählt hat, Ihre Aufmerksamkeit auf die RFCs 1166 und 1117 von SRI lenken, die die damals aktuellen IP-Adressbereichszuweisungen hatten. In beide werden Sie feststellen , dass Netzwerk 10 noch an die zugewiesenen wurde nicht mehr existierende ARPANET, das war im Jahr 1990 stillgelegt . In seiner Rolle als IANA würde Postel wissen, dass dieser Bereich nicht mehr verwendet wird und neu zugewiesen werden kann. Ich gehe davon aus, dass Postel Netzwerk 10 ausgewählt hat, weil er wusste, dass es verfügbar und nicht in Gebrauch ist.

In ähnlicher Weise erwarte ich, dass Postel 192.168 auswählte, da es sich zum Zeitpunkt seiner Auswahl um das nächste verfügbare oder fast das nächste verfügbare Netzwerk handelte, das aus dem früheren Class-C-Bereich zugewiesen wurde. Dies kann wahrscheinlich nicht auf die eine oder andere Weise bewiesen werden, aber das Tempo der Adresszuweisungen in den RFCs legt den Schluss nahe, dass sie sich zwischen 1993 und 1994 in dieser allgemeinen Umgebung befunden hätten, als die Zuweisungen vorgenommen wurden. (Adressen in 192.159 wurden 1992 zugewiesen . Für die Zuweisungen in 192.160-192.167 sind keine Daten verfügbar, da diese zu einem bestimmten Zeitpunkt RIPE neu zugewiesen wurden.)

Die Beantwortung dieser Frage für 172.16-172.31 ist schwieriger. Nichts, was ich finden konnte, deutet darauf hin, warum dieser Bereich ausgewählt wurde. Soweit ich feststellen kann, waren die Aufgaben im ehemaligen Raum der Klasse B noch nicht annähernd so hoch. Ich kann nur spekulieren, dass IANA einen Pfeil auf eine Dartscheibe geworfen, gewürfelt oder auf andere Weise die Zahl aus seinen Untergebieten gezogen hat.


Zum Schluss noch ein Hinweis zu Jon Postel. Trotz der offensichtlichen Art und Weise, wie dieser RFC vollständig ohne (anfänglichen) Input der Community zustande kam, will ich dies nicht implizieren, und dies sollte nicht so ausgelegt werden, dass Jon Postel die IANA-Rolle auf irgendeine Weise schlecht oder unfair ausgeführt hat. Er war einer der stärksten Einflüsse auf das frühe Internet, und Sie spüren diesen Einfluss immer noch, wenn Sie einen Blick hinter die Kulissen des Internets werfen, aber es ging ihm immer darum, die Arbeit richtig zu machen. Um aus einer Erinnerung zu zitieren :

Verwaltung und Operationen haben keinen Ruhm. Ganz im Gegenteil. Die Leute bemerken, wenn es schlecht gemacht wird, aber loben selten, wenn es gut gemacht wird. Menschen in Verwaltungspositionen werden oft zu kleinen Bürokraten. Da der Job so wenig Belohnung bietet, machen sie ihn künstlich zu einer Basis der Macht. So hat es einige verwirrt, die Jon als die Internetnummern "Zar" bezeichnet hörten. Sie erkannten nicht, dass die Gemeinde Jon den Titel aus Zuneigung und tiefer Wertschätzung verlieh, weil er wesentliche Infrastrukturdienste in Ordnung gebracht hatte. Insbesondere die Community verwendete diesen Begriff in vollem Wissen, dass Jon seine Position als Vertrauen und nicht als Chance für persönliche Macht einnahm. Wir wussten immer, dass seine Ansichten aus legitimen Überzeugungen stammten und wir mussten uns nie Sorgen machen, dass er in irgendeiner Weise über politische oder persönliche Vorteile nachdachte. Wir waren uns vielleicht nicht einig mit ihm, aber wir wussten immer, dass die Sorge, dass das Richtige getan werden könnte, uns zuerst antreibt.

Michael Hampton
quelle
6
Das muss ein harter Auftritt für Jon gewesen sein. Erhalten wir hier den Ausdruck "Going Postel"? :-p
Tudor
5
Jon Postel ist einer meiner langjährigen Helden. Er war immer im Backend und hielt die bekannteren Wissenschaftler zusammen, um ein gemeinsames Ziel zu erreichen. Der Vater der Internet Governance.
Frank Thomas
4
"Es gibt nicht viel Online-Dating vor Mitte der 1990er Jahre" - Kein Scherz, match.com wurde erst 1998 registriert. Nein? Ich hole meinen Mantel.
Anonym
1
Ein neuer NANOG-Eintrag bestätigt, dass es sich um normale "nächste verfügbare" Zuweisungen handelt.
Grawity
30

Weil es damals Sinn machte? :-D

Denken Sie daran, als die privaten IP-Adressbereiche zugewiesen wurden, gab es einige Probleme, mit denen sich die Netzwerkingenieure auseinandersetzen mussten: Einige der leistungsstärksten Router hatten zu dieser Zeit ungefähr so ​​viel CPU-Leistung und RAM-Speicher wie die heutigen Taschenrechner - und einige von denen laufen heute noch Kreise um Router von gestern (ich erinnere mich, als die CPU-Geschwindigkeit in Kilohertz und der RAM-Speicher in Kilobyte gemessen wurden, nicht wie heute!). Das Internet wuchs schnell, das IPv4Der Adressraum war begrenzt und es sah so aus, als würde er im Jahr 2000 oder so ausgehen. Daher wurden bereits viele IP-Adressbereiche zugewiesen, und sie wollten Unternehmen nicht darum bitten müssen, die IP-Adressbereiche zurückzugeben, nur um sie privaten Bereichen neu zuweisen zu können. Sie wollten auch versuchen, Unternehmen die Arbeit mit den privaten Bereichen so einfach wie möglich zu machen - nur wenige Unternehmen hätten kooperiert, wenn sie viel Geld in die Bewältigung von ein oder zwei Dutzend Bereichen / IP in ihre Netzwerke investiert hätten Adressen hier und da.

Dieser Teil ist zwar eine Vermutung, basiert aber größtenteils auf Logik und Erfahrung beim Einrichten von Netzwerken. Sie haben wahrscheinlich eine Liste aller nicht zugewiesenen Netzwerknummern zusammengestellt und nach einem Unterscheidungsmuster gesucht, das die gewünschten Kriterien erfüllt: Eine einzelne Klasse A (Netzwerknummern mit einem hohen Bit von 0xxxxxxx binär in der Netzwerknummer waren Klasse A), 16 Adressen der Klasse B (Netzwerknummern 10xxxxxx binär) und 256 Adressen der Klasse C (Netzwerknummern 110xxxx binär). Die Adressen der Klassen B und C sollten ebenfalls fortlaufend sein . (Die Wahl für 16 und 256 war wahrscheinlich teilweise willkürlich - nach einer Weile denken Sie in der Regel mit Zweierpotenzen - und wahrscheinlich teilweise, weil es das war, was das zur Reservierung zur Verfügung stehende Fundstück war .)

Daraus haben sie wahrscheinlich die endgültigen Bereiche aus den verfügbaren Adressen ausgewählt, anhand derer Routerhersteller einen einfachen bitweisen Test der Adresse durchführen können, um zu bestimmen, ob das Paket weitergeleitet / weitergeleitet / verworfen werden soll. Es gibt auch einige Eigenschaften der Bitmuster, die beim Erstellen kompakter NAT-Tabellen hilfreich sind. Die 10.xyz-Adresse ist offensichtlich, da sie nur mit einer Netzwerknummer übereinstimmen muss. 172.16.yz bis 172.32.yz haben das Muster, dass, wenn Sie eine Tabelle mit vier niederwertigen Bits erstellen, die auf die vier höherwertigen Bits verweisen, der gesamte Bereich über eine einzelne Zeile der Tabelle gefüllt wird, ohne in zwei Zeilen aufgeteilt zu werden Das heißt, das zweite Oktett ist immer 0001xxxx (binär). In 192.168.yz ist die Binärdatei für 168 10101000 - das heißt, die unteren drei Bits sind immer 0, und die oberen 5 Bits wechseln sich mit 1 und 0 ab.

Obwohl dies willkürlich erscheinen mag, können Sie mit diesen Mustern, falls Sie jemals Maschinensprachenprogrammierungen oder Mikrocode-Decodierungen durchgeführt haben, nur einige wenige Bits testen, um eine private / öffentliche Bestimmung vorzunehmen, ohne zuerst die gesamte IP-Adresse decodieren zu müssen. Dies würde es Routern ermöglichen, solche Adressen schnell zu verarbeiten, ohne umfangreiche Nachschlagetabellen im Speicher verwalten zu müssen. Auf diese Weise kann der Router ein privates Netzwerkpaket an das private Netzwerk zurückschieben, ohne es zuerst vollständig zu dekodieren, wodurch die Geschwindigkeit des Routers und des Netzwerks erheblich verringert wird.

Wenn Sie neugierig sind, schauen Sie sich an, wie serielle Datenübertragung (wie ein UART) verarbeitet jedes Datenbyte: Es kann jeweils nur ein einzelnes Bit mit der Geschwindigkeit der steuernden Uhr senden / empfangen und die Daten in der Regel in zusätzliche Bits wie Parität und "Sync" -Bits einrahmen. Es wäre zu zeitaufwendig zu versuchen, Dinge wie die Parität für ein ganzes Byte auf einmal zu berechnen, daher behält es stattdessen ein spezielles Bit bei, das für jeden Taktzyklus gilt. Dieses Bit wird durch das nächste Bit geändert, das in das Sende- / Empfangsregister verschoben wird. Sobald das gesamte Byte gesendet / empfangen wurde, ist der im Paritätsbit verbleibende Wert bereits korrekt, ohne dass er neu berechnet werden muss. Das Konzept besteht mehr oder weniger darin, "die Arbeit zur gleichen Zeit zu erledigen, zu der Sie etwas anderes tun". Bei einem seriellen Chip wird die Parität zur gleichen Zeit berechnet, zu der gesendet / empfangen wird. Für einen Router / Switch

Außerdem ist dies nur eine logische Vermutung von meiner Seite, basierend auf 25 Jahren, in denen ich diese Art von Arbeit gemacht habe. Ich weiß nicht, ob wir jemals die genauen Gründe für die endgültigen Zahlen kennen werden, da ich mich an keine Papiere / RFCs / etc. Erinnere. jemals die volle Begründung geben. Das Nächste, was ich gesehen habe, sind nur einige Kommentare, die darauf hindeuten, dass die ausgewählten Bereiche es für Unternehmen relativ einfach und effizient machen sollten, sie mit minimalem Aufwand / Investition / Umgestaltung zu verwenden.

CM
quelle
6
Das scheint die Wahl von 168 nicht besonders zu erklären. Ich kann keinen Grund erkennen, warum 10101000 einfacher zu dekodieren wäre als 10101010 oder 10101001 - in beiden Fällen muss man alle 8 Bits abgleichen, bevor man weiß, dass die Adresse zum privaten Netzwerk gehört. Intuitiv scheint es wahrscheinlicher zu sein, dass 192.168 einfach der erste Block geeigneter Größe war, der verfügbar war, als die Zuordnung vorgenommen wurde, als das bestimmte Bitmuster 10101000 irgendwie leichter zu decodieren war als andere Muster derselben Länge.
Henning Makholm
@HenningMakholm, moderne Netzwerkausrüstung verwendet viele ASICs, anwendungsspezifische integrierte Schaltkreise, die die Verarbeitung von Eingaben in Hardware durchführen. Ein einfaches Register könnte in Hardware implementiert werden, um nach einem gemeinsamen Bitmuster zu suchen, so dass nur eine Montageanweisung erforderlich ist, um es zu analysieren. Ich sage nicht, dass CMs Gedanken das sind, was die Designer von rfc1918 dachten (wir können nicht wissen, weil sie diese Informationen nicht aufgenommen haben), aber es ist eine faszinierende Möglichkeit.
Frank Thomas
2
@FrankThomas: Wollen Sie damit sagen, dass die Anpassung für 168 einfacher wäre, eine ASIC-Schaltung für zu erzeugen, als die Anpassung für eine andere 8-Bit-Konstante? Ich bin kein Hardware-Designer, aber ich finde das schwer zu glauben.
Henning Makholm
2
Das Protokoll schreibt nicht vor, dass Router diese Netzwerke auf besondere Weise verarbeiten müssen. Daher ist fast die gesamte Antwort irrelevant. Denken Sie daran, dass in RFC 1918 kein NAT angegeben wurde, und dass diese Adressen rein intern sein sollten, ohne dass ein Zugriff auf das Internet möglich wäre. NAT kam etwas später und wurde erst nach RFC 2663 spezifiziert.
Michael Hampton
2
@Frank Ich habe lange nicht mehr viel mit Verilog oder VHDL gemacht, aber ich glaube nicht, dass deine Logik wahr ist. Zumindest der offensichtliche (und effiziente) Weg, wie ich Gleichheit in Hardware implementieren würde, kümmert sich nicht um Muster. Es gibt einige ISAs, die nur bestimmte Muster für logische Direktzugriffe generieren können (ARMv8, um ein wirklich neues zu nennen), aber das war's auch schon.
Voo
21

Im ursprünglichen Internet wurde das mit 10.0.0.0/8 bezeichnete Netzwerk dem ARPANET zugeordnet . Zu dem Zeitpunkt, als die IETF und die IANA die Aufgabe hatten, private Adressbereiche zuzuweisen, war ARPANET nicht mehr funktionsfähig und der frühere Adressraum stand für die private Nutzung zur Verfügung.

Die anderen beiden Bereiche machten Netze der Klassen B und C zusätzlich zu den oben genannten Netzen der Klasse A für private IPs verfügbar.

user46971
quelle
15

Weil 192 mit 11xxxxxx im Binärformat beginnt und ein Klasse-C- Netzwerk anzeigt . Es ist die niedrigste Zahl, die mit zwei aufeinanderfolgenden Einsen beginnt. Klasse A's haben 0 als höchstwertiges Bit und Klasse B's haben 10.

RFC 1918, der die privaten IP-Bereiche definiert, klärt diesen Punkt nicht, daher gibt es keine endgültige Antwort darauf, warum sie .168 für den 16-Bit-Block gewählt haben, aber ich gehe davon aus, dass dies der Fall war, weil RFC erst 1996 veröffentlicht wurde nachdem bereits eine Vielzahl von Registrierungen stattgefunden hatte. Da 192 der erste 8-Bit-Block in der Klasse-C-Zuordnung ist, wurden wahrscheinlich viele der Adressen bereits vergeben. 168 war möglicherweise der erste, der verfügbar war.

Beachten Sie auch, dass einige dieser Optionen beliebig sind. Beachten Sie, dass der Bereich der RFC1918-Klasse B zwischen 172,16 und 172,31 liegt. Ich kann mir den Grund für 172 nicht vorstellen, aber ich bin mir ziemlich sicher, dass sie sich für die Verwendung von 16 Klassen-Bs entschieden haben, sodass sie einen Block mit 1 Million zusammenhängenden Adressen hatten (1048576).

Manchmal sind Protokolle genau so. Jemand musste eine Wahl treffen, und sie haben es geschafft. Für eine Weile war der Linux-Kernel auf maximal 1024 CPUs pro System beschränkt, und schließlich mussten sie einen Patch herausgeben, nachdem einige Supercomputer Probleme hatten. Wer sich für 1024 entschieden hat, hatte wahrscheinlich keinen guten Grund, außer dass er einen Wert brauchte, und 1024 ist nett und rund.

Frank Thomas
quelle
1
Ein guter Punkt. Besonders kombiniert mit dem Hintergrund von Darth Androids Beitrag und vielleicht ein paar zusätzlichen Informationen zu den ersten Bits der anderen Klassen.
Hennes
9
Aber warum 192.168?
user20574
14

Dies ist ein Überrest von Classful Networking , bei dem der IPv4-Adressbereich in Klassen unterteilt wurde:

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

Wir sind seit 1993 zum klassenlosen Inter-Domain-Routing übergegangen , aber die Klassen haben immer noch ihr Erbe an verschiedenen Orten (das 127-Netzwerk ist "home / loopback" - 127.0.0.1 anyone ?, 192.168.X ist für zuhause üblich Router, die 10 Netzwerk ist in mehr "enterprisy" Netzwerkhardware üblich, und Multicast ist immer noch Multicast.

Darth Android
quelle
16
Der Fragesteller scheint jedoch zu fragen, warum diese bestimmten Netzwerke in jeder Klasse ausgewählt wurden, wie dies diese Person auf einer anderen WWW-Site und diese Person auf einer anderen StackExchange- Site getan hat , die Ihre Antwort nicht anspricht. user46971 hat den Nagel auf den Kopf getroffen.
JdeBP
1
Diese SE-Antwort ist so gut, dass ich denke, dass diese Frage möglicherweise migriert und dann als Duplikat markiert werden sollte. Es geht wirklich mehr um Netzwerke als um die allgemeine Computernutzung.
Trlkly
3

Der RFC erklärt den Grund, warum wir drei Bereiche aus "Class A, B & C" ausgewählt haben: CIDR wurde spezifiziert, aber nicht umfassend implementiert. Es gab eine beträchtliche Menge an Ausrüstung, die immer noch "klasse" war.

Soweit ich mich erinnere, war die Auswahl der einzelnen Bereiche wie folgt:

08.10 .: Das ARPANET war gerade ausgeschaltet worden. Einer von uns schlug es vor und Jon betrachtete dies als eine gute Wiederverwendung dieses "historischen" Adressblocks. Wir hatten auch den Verdacht, dass "net 10" an einigen Stellen fest codiert sein könnte, sodass die Wiederverwendung für den privaten Adressraum und nicht für das Inter-AS-Routing den leichten Vorteil haben könnte, eine solche Dummheit lokal zu halten.

172.16 / 12: die niedrigste nicht zugewiesene / 12 in Klasse B Raum.

192.168 / 16: die niedrigste nicht zugewiesene / 16 in Klasse C Block 192/8.

Zusammenfassend: IANA hat diesen Speicherplatz wie für jeden anderen Zweck zugewiesen. Als IANA war Jon sehr konsequent, es sei denn, es gab einen wirklich guten Grund, kreativ zu sein.

Daniel (Mitautor von RFC1918)

Daniel Karrenberg
quelle