Dlaczego Grupa Robocza ds. Inżynierii Internetowej (IETF) wybrała 192.168/16
prywatną klasę adresów IP, a nie coś innego?
Dlaczego konkretnie 192.168/16
i 10/8
a 172.16/12
, a nie 145.243/16
na przykład?
Czy istnieje powód, dla którego adresy IP zostały wybrane jako standard prywatnych adresów IP w porównaniu do wszystkich innych możliwości?
networking
ip-address
Chrząszcz
źródło
źródło
Odpowiedzi:
Wiem, kto wybrał te zakresy adresów. Niestety, on nie żyje, więc nie mogę zapytać go dokładnie, dlaczego je wybrał, ale mogę zgadnąć.
Nie ma wielu randek internetowych przed połową lat 90., kiedy Internet naprawdę zaczął się rozwijać. Historia Internetu istnieje przede wszystkim w dokumentach RFC, które ją definiują i pochodzą z 1969 r. , Na początku ARPANET. Dzięki nim możesz obserwować postępy w Internecie od rozwijającej się sieci kilku prymitywnych komputerów mainframe, zaprojektowanych przez jedne z najbardziej błyskotliwych umysłów tamtych czasów, do sieci, w której trudno sobie wyobrazić życie bez dzisiaj.
Ta odpowiedź prawie w całości wywodzi się z tych RFC, a w niewielkiej części z mojego osobistego doświadczenia, jakie miałem w Internecie w tej erze.
Po pierwsze, IETF nie wybrał tych zakresów adresów IP ani żadnych innych. Przydzielanie adresów specjalnego zastosowania jest obecnie i zawsze było zadaniem Urzędu ds . Przydzielonych numerów internetowych .
IANA zawsze była rolą , a nie konkretną organizacją, i ta rola zmieniła ręce dokładnie raz. Obecnie jest w posiadaniu ICANN, ale od 1972 r. Do jego śmierci w 1998 r., Kiedy ta organizacja została utworzona w celu zastąpienia go, IANA była zasadniczo jednym człowiekiem, Jonem Postelem . Oczywiście po raz pierwszy nazwał rolę cara numerów gniazd , co było dla niego koniecznym zadaniem, ponieważ trzeba było to zrobić. Skończył z praktycznie każdą liczbą, którą można przypisać: adresami, numerami protokołów, portami, nazywacie to, głównie dlatego, że był gotów to zrobić, i zanim Internet otworzył się na handel publicznyrobił to od ponad 20 lat. Przypisał numery, a rejestr internetowy (wówczas SRI-NIC, który został rozszerzony do rozproszonej kolekcji rejestrów na całym świecie) opublikował je.
Ostatni RFC z SRI wykazujący listę przypisań adresów internetowych to RFC 1166 z 1990 roku. Jest to bardzo długa lista, więc nie powinno dziwić, że dane te zostały przeniesione do internetowych baz danych. Porównując go do swojego poprzednika RFC 1117 pokazuje tempo ekspansji Internetu nawet wtedy, na wiele lat przed otwarciem go dla publiczności.
Teraz jesteśmy w stanie nieco lepiej zrozumieć zakresy adresów w RFC 1918 . To właściwie druga wersja RFC; pierwszym był RFC 1597 , opublikowany prawie dwa lata wcześniej w marcu 1994 r. W jego mało znanym obaleniu, RFC 1627 , przedstawiono współczesne argumenty przeciwko prywatnym przestrzeniom adresowym. RFC 1627 wspomina także o tym, kto przypisał trzy przestrzenie adresowe.
Zostały one przydzielone przez IANA, czyli Jona Postela, na prośbę autorów RFC 1597, a jeśli wierzyć w skargę w RFC 1627, zrobił to raczej kanałami zwrotnymi niż zwykłymi otwartymi procesami. Widać, że sam RFC 1597 przeszedł bezpośrednio do statusu RFC bez zwykłych poprzednich wersji roboczych , dlatego też został zatwierdzony kanałami wstecznymi, ponownie przez Postela, który był wówczas także redaktorem RFC . Tak więc ostateczne udzielenie odpowiedzi na to pytanie może być niemożliwe.
Teraz, dlaczego wybrał te trzy zakresy adresów, pozwolę sobie zwrócić uwagę na RFC 1166 i 1117 z SRI, które miały dotychczasowe przypisania zakresu adresów IP. W obu z nich zauważysz, że sieć 10 była nadal przydzielona do nieistniejącego ARPANET, który został zamknięty w 1990 roku . Postel, w swojej roli IANA, wiedziałby, że ten zakres nie był już używany i można go ponownie przypisać. Zakładam, że Postel wybrał sieć 10, ponieważ wiedział, że będzie ona dostępna i nieużywana.
Podobnie oczekuję, że Postel wybrał 192.168, ponieważ w momencie dokonywania wyboru była to kolejna dostępna lub prawie następna dostępna sieć, którą można przypisać z poprzedniej przestrzeni klasy C. Prawdopodobnie nie da się tego udowodnić w ten czy inny sposób, ale tempo przypisywania adresów pokazane w RFC zdecydowanie sugeruje, że byłyby w tym ogólnym sąsiedztwie około 1993-1994, kiedy zadania zostały wykonane. (Adresy z 192.159 zostały przypisane w 1992 roku . Brak dostępnych dat dla zadań w 192.160-192.167, ponieważ zostały one w pewnym momencie przeniesione do RIPE.)
Odpowiedź na to pytanie dla 172.16-172.31 jest trudniejsza. Nic, co nie znalazłem, sugeruje, dlaczego wybrano ten zakres. Zadania w dawnej przestrzeni klasy B nie osiągnęły jeszcze tak wysokiego poziomu, o ile się orientuję. Mogę jedynie spekulować, że IANA rzuciła rzutką w tarczę, rzuciła kostką lub w inny sposób wyciągnęła numer ze swoich dolnych regionów.
Wreszcie uwaga na temat Jona Postela. Pomimo pozornego sposobu, w jaki ten RFC został w pełni ukształtowany bez (początkowego) wkładu ze strony społeczności, nie mam na myśli sugerowania tego i nie należy tego interpretować, ponieważ Jon Postel w jakiś sposób spełnił rolę IANA słabo lub niesprawiedliwie. Był jednym z najsilniejszych wpływów na wczesny Internet i nadal odczuwasz ten wpływ dzisiaj, za każdym razem, gdy dostrzegasz za kulisami maszynerię internetową, ale zawsze był zainteresowany prawidłowym wykonaniem tej pracy. Cytat z jednego wspomnienia :
źródło
Bo to wtedy miało sens? :-RE
Pamiętaj, że kiedy przydzielono zakresy prywatnych adresów IP, inżynierowie sieci musieli zmierzyć się z kilkoma problemami: niektóre z najmocniejszych routerów w tym czasie miały mniej więcej mocy procesora i pamięci RAM niż dzisiejsze kalkulatory grafów kieszonkowych - i niektóre z tych, które dziś nadal krążą wokół routerów z ubiegłych lat (pamiętam, kiedy szybkość procesora była mierzona w kilohercach, a pamięć RAM była mierzona w kilobajtach, a nie tak jak w dzisiejszych gigach!). Internet szybko się rozwijał, IPv4przestrzeń adresowa była ograniczona i wyglądało na to, że zabraknie jej do 2000 roku, i tak dalej. Tak więc wiele zakresów adresów IP zostało już przypisanych i nie chcieli oni prosić firm o zwrócenie zakresów adresów IP tylko po to, aby mogli ponownie przypisać je do zakresów prywatnych. Chcieli również ułatwić firmom współpracę z prywatnymi zasięgami - niewiele firm współpracowałoby, gdyby musiały zainwestować dużo pieniędzy, aby ich sieci mogły poradzić sobie z jednym lub dwoma tuzinami adresów IP adresy tu i tam.
Ta część jest wprawdzie zgadywana z mojej strony, ale w dużej mierze oparta zarówno na logice, jak i doświadczeniu w konfigurowaniu sieci. Prawdopodobnie zebrali oni listę wszystkich nieprzypisanych numerów sieci i szukali wyróżniającego się wzoru, który spełniałby pożądane kryteria: Jedna pojedyncza klasa A (numery sieci, które mają wysoki bit binarny 0xxxxxxx w numerze sieci, to klasa A), 16 adresów klasy B (numery sieci 10xxxxxx binarne) i 256 adresów klasy C (numery binarne 110xxxx). Adresy klasy B i C również powinny być następujące po sobie. (Wybór dla 16 i 256 był prawdopodobnie częściowo arbitralny - po zrobieniu tego przez pewien czas zaczynasz myśleć w potęgach 2 - i prawdopodobnie częściowo dlatego, że to, co można znaleźć, było dostępne do rezerwacji.)
Z tego prawdopodobnie wybrali końcowe zakresy spośród dostępnych adresów, które pozwoliłyby producentom routerów przeprowadzić prosty bitowy test adresu, aby ustalić, czy należy skierować / przekazać / upuścić pakiet. Są też pewne właściwości wzorców bitów, które widzę, pomagając w tworzeniu zwartych tabel NAT. Adres 10.xyz jest oczywisty, ponieważ musi pasować tylko do jednego numeru sieci. 172.16.yz do 172.32.yz ma wzór, że jeśli zbudujesz tabelę z czterema bitami niższego rzędu, odwołującymi się do czterech bitów wyższego rzędu, cały zakres zostanie wypełniony w jednym rzędzie tabeli, bez podziału na dwa rzędy - to znaczy, drugi oktet to zawsze 0001xxxx (binarnie). W 192.168.yz wartością binarną dla 168 jest 10101000 - to znaczy, że trzy niższe bity mają zawsze wartość 0, a wyższe 5 bitów na przemian 1 i 0.
Chociaż mogą się wydawać arbitralne, jeśli kiedykolwiek wykonałeś programowanie w języku maszynowym lub dekodowanie mikrokodu, tego rodzaju wzorce pozwalają przetestować tylko kilka bitów w celu ustalenia wartości prywatnej / publicznej bez konieczności najpierw dekodowania całego adresu IP. Umożliwiłoby to routerom szybkie przetwarzanie takich adresów bez konieczności utrzymywania obszernych tabel odnośników w pamięci. W ten sposób router może wypchnąć pakiet sieci prywatnej z powrotem do sieci prywatnej bez pełnego pełnego dekodowania go, goląc cenne cykle zegara od prędkości routera i sieci.
Jeśli jesteś ciekawy, sprawdź, w jaki sposób szeregowa transmisja danych (jak UART) obsługuje każdy bajt danych: może wysyłać / odbierać tylko jeden bit na raz, z prędkością zegara sterującego, i zwykle ramkuje dane w dodatkowe bity, takie jak bity parzystości i „synchronizacji”. Byłoby zbyt czasochłonne, aby spróbować obliczyć rzeczy takie jak parzystość na cały bajt jednocześnie, więc zamiast tego zachowuje specjalny bit, który ma każdy cykl zegara. Ten bit jest modyfikowany przez następny bit, który zostaje przesunięty do / z rejestru wysyłania / odbierania. Gdy tylko cały bajt zostanie wysłany / odebrany, wartość pozostająca w bicie parzystości jest już poprawna bez konieczności jej ponownego obliczania. Koncepcja polega mniej więcej na tym, że „wykonuj pracę w tym samym czasie, co robisz coś innego”, w przypadku układu szeregowego oblicza parzystość w tym samym czasie, gdy wysyła / odbiera. W przypadku routera / przełącznika
Poza tym jest to po prostu logika / zgadywanie z mojej strony, oparte na 25 latach wykonywania tego rodzaju pracy. Nie wiem, czy kiedykolwiek poznamy dokładne przyczyny ostatecznych liczb wybranych, ponieważ nie pamiętam żadnych dokumentów / RFC / itp. zawsze podając pełne uzasadnienie. Najbliższe, jakie widziałem, to tylko kilka uwag sugerujących, że wybrane zakresy powinny sprawić, że firmy będą stosunkowo łatwe i wydajne w użyciu przy minimalnym wysiłku / inwestycji / przebudowie.
źródło
W pierwotnym Internecie sieć oznaczona teraz 10.0.0.0/8 została przydzielona do ARPANET . Zanim IETF i IANA zaczęły przypisywać prywatne zakresy adresów, ARPANET był nieczynny, a jego poprzednia przestrzeń adresowa była dostępna do prywatnego użytku.
Pozostałe dwa zakresy udostępniły sieci klasy B i klasy C dla prywatnych adresów IP, oprócz wyżej wymienionej klasy A.
źródło
Ponieważ 192 zaczyna się od 11xxxxxx w systemie binarnym, co oznacza sieć klasy C. Jest to najniższa liczba rozpoczynająca się od dwóch kolejnych 1. Klasa A ma 0 jako bity najwyższego rzędu, a klasa B ma 10.
RFC 1918, która definiuje prywatne zakresy adresów IP, nie wyjaśnia tego, więc nie ma ostatecznej odpowiedzi na pytanie, dlaczego wybrali .168 dla 16-bitowego bloku, ale sądzę, że było tak, ponieważ RFC został wydany dopiero w 1996 roku, po dokonaniu już ogromnej liczby rejestracji. ponieważ 192 jest pierwszym 8-bitowym blokiem w przydziałach klasy C, prawdopodobne jest, że wiele adresów zostało już zajętych. 168 mógł być pierwszym dostępnym.
Pamiętaj również, że niektóre z tych wyborów są arbitralne. Zauważ, że zakres rfc1918 klasy B to 172.16 - 172.31? Nie mogę wymyślić przyczyny 172, ale jestem pewien, że wybrali 16 klas B, więc mieli blok 1 miliona sąsiadujących adresów (1048576).
Czasami protokoły są właśnie w ten sposób. ktoś musiał dokonać wyboru i dokonali tego. przez pewien czas jądro Linuksa było ograniczone do maksymalnie 1024 procesorów na system, i ostatecznie musieli wydać łatkę, po tym, jak niektóre superkomputery miały problemy. ktokolwiek zdecydował się użyć 1024, prawdopodobnie nie miał dobrego powodu, aby to zrobić, poza tym, że potrzebował wartości, a 1024 jest ładny i okrągły.
źródło
Jest to pozostałość po Classful Networking , w której zakres adresów IPv4 został podzielony na klasy:
Od tego czasu przeszliśmy (w 1993 r.) Na bezklasowe routing międzydomenowy , jednak klasy nadal mają swoje dziedzictwo w różnych miejscach (sieć 127 to „home / loopback” - 127.0.0.1 ktoś ?, 192.168.X jest wspólne dla domu routery, sieć 10 jest powszechna na bardziej sprzętowym sprzęcie sieciowym, a multiemisja jest nadal multiemisją.
źródło
RFC wyjaśnia powód, dla którego wybraliśmy trzy zakresy odpowiednio z „klasy A, B i C”: CIDR został określony, ale nie został szeroko wdrożony. Istniała znaczna ilość sprzętu, który wciąż był „elegancki”.
O ile pamiętam, wybór poszczególnych zakresów przebiegał następująco:
10/8: ARPANET właśnie został wyłączony. Jeden z nas to zasugerował, a Jon uznał to za dobre ponowne wykorzystanie tego „historycznego” bloku adresu. Podejrzewaliśmy również, że „sieć 10” mogła być w niektórych miejscach zakodowana na stałe, więc ponowne użycie jej w prywatnej przestrzeni adresowej zamiast w routingu między AS może mieć niewielką zaletę utrzymania takiej głupoty na poziomie lokalnym.
172.16 / 12: najniższe nieprzydzielone / 12 w obszarze klasy B.
192.168 / 16: najniższy nieprzydzielony / 16 w klasie C blok 192/8.
Podsumowując: IANA przydzieliła to miejsce tak, jak by to miało miejsce w jakimkolwiek innym celu. Jako IANA Jon był bardzo konsekwentny, chyba że istniał naprawdę dobry powód do kreatywności.
Daniel (współautor RFC1918)
źródło