it-swarm.com.de

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

Warum hat die Internet Engineering Task Force (IETF) 192.168/16 als Klasse für private IP-Adressen ausgewählt und nichts anderes?

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

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

89
Cornbeetle

Weil es damals Sinn machte? :-D

Denken Sie daran, als die privaten IP-Adressbereiche zugewiesen wurden, gab es einige Probleme, mit denen sich Netzwerktechniker auseinandersetzen mussten: Einige der leistungsstärksten Router verfügten damals über etwa so viel CPU-Leistung und RAM Speicher wie die heutigen Taschenrechner --und einige von denen drehen sich heute noch 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, der IPv4 -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 jedoch weitgehend 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 alle aufeinanderfolgend sein. (Die Wahl für 16 und 256 war wahrscheinlich teilweise willkürlich - nach einer Weile fängt man an, in Potenzen von 2 zu denken - und wahrscheinlich teilweise, weil es das war, was der finden konnte verfügbar für die Reservierung.)

Daraus wählten sie wahrscheinlich die endgültigen Bereiche aus den verfügbaren Adressen aus, die es den Routerherstellern ermöglichen würden, einen einfachen bitweisen Test der Adresse durchzuführen, um zu bestimmen, ob das Paket weitergeleitet, verworfen oder verworfen werden soll. Es gibt auch einige Eigenschaften der Bitmuster, die beim Erstellen kompakter NAT - Tabellen hilfreich sind. Die 10.x.y.z-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.y.z ist die Binärzahl 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 zu haben. Auf diese Weise kann der Router ein privates Netzwerkpaket an das private Netzwerk zurückschicken, 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 die serielle Datenübertragung (wie ein UART ) mit jedem Datenbyte umgeht: Sie kann nur senden/empfangen Jeweils ein einzelnes Bit mit der Geschwindigkeit des steuernden Takts und umrahmt normalerweise die Daten mit zusätzlichen Bits wie Paritäts- und "Synchronisierungs" -Bits. Es wäre zu zeitaufwändig, zu versuchen, Dinge wie die Parität für ein ganzes Byte auf einmal zu berechnen, und stattdessen wird bei jedem Taktzyklus ein spezielles Bit beibehalten. 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 können Sie eine höhere Leistung erzielen, wenn er die IP-Adresse bereits decodiert, wenn jedes Bit der Adresse von der Leitung eingeht, und möglicherweise bereits weiß, wohin das Paket als nächstes gesendet werden soll, bevor es überhaupt vollständig aus dem Netzwerk eingelesen wurde Kabel!

Auch dieses IS ist nur Logik/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 Unternehmen relativ einfach und effizient machen sollten, sie mit minimalem Aufwand/Investition/Umgestaltung zu verwenden.

30
C. M.

Im ursprünglichen Internet wurde das jetzt mit 10.0.0.0/8 bezeichnete Netzwerk dem ARPANET . 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 war für den privaten Gebrauch verfügbar.

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.

21
user46971

Weil 192 mit 11xxxxxx in binär 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 auf, daher gibt es keine endgültige Antwort darauf, warum sie .168 für den 16- Bitblock, aber ich gehe davon aus, dass dies daran lag, dass der RFC erst 1996 veröffentlicht wurde, nachdem bereits eine große Anzahl 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.

Denken Sie auch daran, 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 dazu, außer dass er einen Wert brauchte, und 1024 ist nett und rund.

15
Frank Thomas

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 seitdem (1993) zu klassenlosem 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 bei Heimroutern üblich, das 10-Netzwerk ist bei Netzwerkhardware üblicher, und Multicast ist immer noch Multicast.

14
Darth Android

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, weshalb die Wiederverwendung für den privaten Adressraum anstelle des Inter-AS-Routings den leichten Vorteil haben könnte, dass eine solche Dummheit lokal bleibt.

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)

3