Wprowadzenie do IPv6 dla administratora IPv4 [zamknięte]


26

Znam dość dobrze IPv4, ale nigdy nie musiałem używać IPv6 i nigdy tak naprawdę nie miałem na nim klasy ani nie czytałem sensownej dokumentacji.

Czy ktoś może wskazać mi dobre wprowadzenie (w trybie online lub w książce) do IPv6 dla administratora IPv4. Jestem głównie systemem Windows niż UNIX, ale mogę postępować zgodnie z większością wyjaśnień dotyczących systemu UNIXy.


Pytania dotyczące edukacji zawodowej są nie na temat w zmienionym FAQ .
sysadmin1138

Odpowiedzi:



39

Napisałem to w zeszłym roku jako wewnętrzny dokument referencyjny, gdy niektórzy z naszych inżynierów się zdezorientowali, gdy poprosili o podanie adresów IPv6 w DNS. Nie zwracałem się konkretnie do DNS, ale większość obaw dotyczyła formatu adresów, a nie „rozumienia” ich działania. Może przyda się także innym:


Pierwszą rzeczą do potwierdzenia jest to, że osoby dodające IPv6 wyglądają brzydko. Oni robią.

Ale myślę, że dzieje się tak tylko dlatego, że nie jesteśmy przyzwyczajeni do radzenia sobie z nimi i nie rozumiemy, co one oznaczają na bardzo niskim poziomie, jak w przypadku adresów IPv4. Myślę, że zajmie to trochę czasu, aby się z nimi pogodzić, ale musimy gdzieś zacząć.

Inną ważną rzeczą do zapamiętania jest to, że adresy IPv4 to liczby 32-bitowe, a adresy IPv6 to liczby 128-bitowe. Gdy router trasuje lub filtruje zaporę ogniową, robi to na podstawie tego numeru. To, jak człowiek decyduje się na wyświetlenie tej liczby, jest całkowicie arbitralne i jest w większości tylko tradycją. Cały ten e-mail wyjaśnia, w jaki sposób ludzie wybierają te liczby - maszyny to nie obchodzi, to wszystko dla nich.

Adres IPv4 ma 32 bity lub cztery bajty. To, co uważamy za „rzeczywisty” adres IP, to po prostu metoda, która stała się standardem do reprezentowania tego ciągu bitów, rozdzielania bitów na 4 8-bitowe grupy, reprezentowania każdego 8 bitów jako liczby dziesiętnej i rozdzielania tych liczb dziesiętnych na okres. Weźmy losowy adres IP 172.30.154.249. Gdy router „myśli” o tym adresie IP, naprawdę myśli o tym w ten sposób:

10101100000111101001101011111001

Które możemy przetłumaczyć na naszą własną formę:

10101100 = 172

00011110 = 30

10011010 = 154

11111001 = 249

Czasami możesz też zobaczyć te zapisane jako liczby dziesiętne:

10101100000111101001101011111001 = 2,887,686,905

Mało kto celowo używa tego formularza (*), ale jest to historycznie poprawny sposób na pisanie adresu IPv4. W rzeczywistości ten formularz jest używany w RFC821, który zdefiniował SMTP w 1982 roku. Jeśli chcesz ręcznie kierować pocztę na określoną maszynę zamiast DNS, możesz użyć dwóch różnych rodzajów literałów. Pierwszą była znana forma „quad kropkowany” w nawiasach kwadratowych („użytkownik @ [172.30.154.249]”). Drugi używał postaci dziesiętnej adresu IP poprzedzonego znakiem funta („użytkownik @ # 2887686905”).

Wszystko to miało na celu zapewnienie podstaw do tłumaczenia twojej wiedzy o działaniu adresów IPv4 na adresy IPv6. Podobnie jak IPv4 jest liczbą 32-bitową, adresy IPv6 są liczbami 128-bitowymi. ARIN przypisał MOJEJ NIESAMOWITEJ FIRMIE (**) zakres IP 2311: FD67 / 32. Aby mieć przykład do pracy, zamierzam użyć adresu IP 2311: FD67 :: AC1E: 9AF9.

Oto ciąg bitów reprezentujący ten ip6:

00100011000100011111110101100111000000000000000000000000000000000000000000000000000000000000000010101100000111101001101011111001

Gdybyśmy reprezentowali te ciągi bitowe w sposób, w jaki robimy ciągi bitów IPv4 (konwertuj każdy 1-bajtowy fragment na dziesiętny, oddzielaj każdy kropką), otrzymalibyśmy:

35.17.253.103.0.0.0.0.0.0.0.0.172.30.154.249

To ma kilka problemów. Po pierwsze, wygląda to na funky numer IPv4, co nie jest dobre, chcesz solidnego sposobu na ich rozróżnienie. Po drugie, jest to dużo informacji, dużo liczb i dużo pustej przestrzeni. Tak więc oba problemy są rozwiązywane przez użycie innego separatora (dwukropek (:) zamiast kropki (.)) I przez powtarzanie bajtów w systemie szesnastkowym zamiast dziesiętnym. Tam, gdzie IPv4 dzieli 8-bitowe fragmenty, przedstawione w postaci dziesiętnej, kropkami, IPv6 dzieli 16-bitowe fragmenty, oddzielone dwukropkami. Oto rozkład naszego przykładowego adresu IP IPv6:

0010001100010001 = 2311

1111110101100111 = FD67

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

1010110000011110 = AC1E

1001101011111001 = 9AF9



2311:FD67:0:0:0:0:AC1E:9AF9

Wciąż jest w nim dużo białej przestrzeni, więc dopuszcza się, że największy ciąg zer można pominąć i przedstawić podwójnym dwukropkiem. Powyższy adres IP można zapisać:

2311:FD67::AC1E:9AF9

Nie widziałem tego zbyt często, ale rozumiem, że istnieje również zgrabna konwencja, która pozwala zapisywać ostatnie 32-bity jako prefiks-kropki, umożliwiając łatwe rozpoznawanie starszych adresów podczas migracji z IPv4 na IPv6 . Tak więc, jak zapewne zauważyłeś, mój przykładowy adres IPv6 kończy się tymi samymi 32 bitami, które w całości obejmują mój przykład IPv4. Jest to szczególnie przydatne, gdy piszesz w tym stylu. W takim przypadku mój adres IPv6 wyglądałby następująco:

2311:FD67::172.30.145.249

Aby powrócić do miejsca, w którym zacząłem od IPv6, wspomniałem, że przydzielono nam 2311: FD67 / 32. / 32 jest maską bitową, podobnie jak w adresach IPv4. W gruncie rzeczy oznacza to, że przydzielono nam statycznie pierwsze 32 z 128 bitów w adresie IPv4, który mogliśmy stworzyć. Ponieważ 2311: FD67 ma 32 bity, oznacza to, że każdy adres IP utworzony z tego zakresu zacznie się od tego.

Innymi słowy, tak jak 172.17 / 16 można traktować jako „każdy adres IP między 172.17.0.0 a 172.17.255.255”, 2311: FD67 / 32 można traktować jako „każdy adres IP między 2311: FD67: 0: 0: 0: 0: 0: 0 i 2311: FD67: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF ".

Myślę, że minie dużo czasu, zanim zaczniemy migrację do IPv6, ale mam nadzieję, że to wyjaśnienie pomoże ci czuć się bardziej komfortowo, korzystając z nich i odnosząc się do nich.

Ponownie, naprawdę ważne jest, aby zrozumieć, jedyne, o czym tutaj mówię, to dosłownie, jak zapisać adres IPv6. Wydaje się, że w schemacie numerowania routingu jest wiele inteligencji, których tak naprawdę nie mam jeszcze pojęcia, więc mogę teraz zająć się tym, jak to wygląda =).

(*) Widziałem już dziesiętną reprezentację IPv4 w debugowaniu oprogramowania, ale jestem prawie pewien, że to pomyłka lub lenistwo, myślę, że znacznie lepiej było w kodzie C wydrukować 32-bitową liczbę całkowitą szybciej niż było sformatuj kropkowany quad do drukowania.

(**) Zmieniłem nazwę mojej firmy i prefiks


2
Widziałem, że łącza SPAM używają adresu IP w postaci 2887686905 / some / link , więc nie możesz określić, dokąd prowadzi link.
Eddie

1
Myślę, że jedną z większych zmian w myśleniu w przypadku IPv6 będzie dynamiczne nazewnictwo i odkrywanie usług. Wielu sprośnych, brudnych administratorów DNS nie lubi dynamicznych zmian i nie rozumie wykrywania usług.
duffbeer703

„172.17 / 16” oznacza „172.0.0.17/16”. Musisz napisać „172.17.0.0/16”.
Teddy

3
Chciałem cię zapytać: jak, do cholery, masz 32-bitową maskę podsieci w publicznej przestrzeni IPv6? To niedorzeczne! Jaki jest sens przestrzeni adresowej IPv6, jeśli zamierzamy ją rozdzielić w tempie, w jakim wydaliśmy IPv4?
Łukasz nie ma imienia

Nie brałem udziału w zapytaniu o zasięg, więc nie znam szczegółów.
jj33



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.