Dlaczego potrzebujemy IPv6?

44

To będzie pytanie dla początkujących, ale nie jestem całkiem pewien, dlaczego tak naprawdę potrzebujemy IPv6. AFAIK, historia jest następująca:

W dawnych czasach, gdy komputerów było mało, 32-bitowe adresy IP wystarczały wszystkim. W tych czasach maska ​​podsieci była niejawna. Następnie liczba komputerów wzrosła i 32 bity zaczęły być niewystarczające.

Tak więc maska ​​podsieci zaczęła być jawna. Zasadniczo wzrosła wielkość adresu IP.

Moje pytanie brzmi: jaka jest wada kontynuacji adresowania za pomocą masek podsieci? Na przykład, gdy stają się one niewystarczające, czy nie możemy kontynuować korzystania z „masek podsieci” itp.?

Rozumiem, że zajmuje więcej miejsca niż oryginalny IPv4 (i może niewiele różni się od IPv6), ale czy jawne maski podsieci nie są wystarczającym rozwiązaniem? Jeśli nie, dlaczego są niewystarczającym rozwiązaniem?

Utku
źródło
13
Ostrzeżenie: wydaje się, że termin „maska ​​podsieci” jest tutaj używany w niewłaściwy sposób. Maska podsieci to np. 255.255.255.0Itd. Mówi się tutaj o czymś innym: maskaradzie, lepiej znanej jako NAT (Network Address Translation).
Sander Steffann,
@SanderSteffann Właściwie tak. Później zrozumiałem, że nie użyłem właściwej terminologii. Edytuj pytanie. Nie jestem całkowicie pewien, które warunki są poprawne w użyciu. (Szczególnie część „maska ​​podsieci-podsieć”)
Utku,
To było trochę dużo, więc umieściłem w odpowiedzi :)
Sander Steffann,
Nikt nie wspomina, o ile łatwiej jest IPv6 niż praca w sieci.
Jacob Evans,
1
Jednym z problemów związanych z pytaniami dotyczącymi IPv6 jest to, że można znaleźć wiele quasi-religijnych fanatyzmów. Zazwyczaj odpowiadam na pytania IPv6 tylko komentarzami, aby nie dopuścić, by fanatycy zaszkodzili mojej reputacji. Prawda jest taka, że ​​IPv6 może się przyzwyczaić lub nie. Ma zbyt wiele niedociągnięć, aby był to pewny zakład, i istnieją inne opcje.
Kevin Keane,

Odpowiedzi:

80

Mylą się tutaj dwie rzeczy:

  • adresowanie klasowe vs CIDR
  • Maskarada / NAT

Przejście od adresowania klasowego do bezklasowego routingu między domenowego (CIDR) było ulepszeniem, które sprawiło, że dystrybucja adresów do dostawców usług internetowych i organizacji była bardziej wydajna, a tym samym wydłużyła żywotność IPv4. W adresowaniu klasowym organizacja otrzyma jeden z następujących:

  • sieć klasy A (a / 8 w kategoriach CIDR, z maską sieci 255.0.0.0)
  • sieć klasy B (a / 16 w kategoriach CIDR, z maską sieci 255.255.0.0)
  • sieć klasy C (a / 24 w kategoriach CIDR, z maską sieci 255.255.255.0)

Wszystkie te klasy zostały przydzielone ze stałych zakresów. Klasa A zawierała wszystkie adresy, w których pierwsza cyfra zawierała się w przedziale od 1 do 126, klasa B od 128 do 191, a klasa C od 192 do 223. Trasy między organizacjami zostały zakodowane na stałe w protokołach.

W dniach, w których organizacja potrzebowała np. 4000 adresów, istniały dwie opcje: dać im 16 bloków klasy C (16 x 256 = 4096 adresów) lub dać jeden blok klasy B (65536 adresów). Ponieważ rozmiary są zakodowane na stałe, 16 oddzielnych bloków klasy C musiałoby być kierowanych osobno. Tak wielu dostało blok klasy B, zawierający znacznie więcej adresów, niż faktycznie potrzebowali. Wiele dużych organizacji otrzymałoby blok klasy A (16 777 216 adresów), nawet gdy potrzebnych byłoby tylko kilkaset tysięcy. To zmarnowało wiele adresów.

CIDR usunął te ograniczenia. Klasy A, B i C już nie istnieją (od ± 1993), a routing między organizacjami może odbywać się na dowolnym przedrostku (chociaż coś mniejszego niż a / 24 zazwyczaj nie jest akceptowane, aby zapobiec dużej liczbie małych bloków zwiększających rozmiar tabel routingu ). Od tego czasu możliwe było trasowanie bloków o różnych rozmiarach i przydzielanie ich z dowolnej części przestrzeni adresowej klasy ABC poprzedniej klasy. Organizacja potrzebująca 4000 adresów mogłaby otrzymać / 20, czyli 4096 adresów.

Podsieci oznaczają podział przydzielonego bloku adresu na mniejsze bloki. Mniejsze bloki można następnie skonfigurować w sieciach fizycznych itp. To nie magicznie tworzy więcej adresów. Oznacza to tylko, że dzielisz swój przydział według sposobu, w jaki chcesz go wykorzystać.

To, co stworzyło więcej adresów, to Maskarada, lepiej znana jako NAT (Network Address Translation). Dzięki NAT jedno urządzenie z jednym adresem publicznym zapewnia łączność dla całej sieci, za którą stoją prywatne (wewnętrzne) adresy. Każde urządzenie w sieci lokalnej uważa, że ​​jest podłączone do Internetu, nawet jeśli tak naprawdę nie jest. Router NAT sprawdzi ruch wychodzący i zastąpi prywatny adres urządzenia lokalnego własnym adresem publicznym, udając, że jest źródłem pakietu (dlatego też był znany jako maskarada). Zapamiętuje, które tłumaczenia wykonał, aby w przypadku wszelkich powracających odpowiedzi mógł odłożyć oryginalny prywatny adres lokalnego urządzenia. Jest to ogólnie uważane za włamanie, ale zadziałało i pozwoliło wielu urządzeniom wysyłać ruch do Internetu przy użyciu mniejszej liczby adresów publicznych.

Możliwe jest umieszczenie za sobą wielu urządzeń NAT. Robią to na przykład dostawcy usług internetowych, którzy nie mają wystarczającej liczby publicznych adresów IPv4. ISP ma ogromne routery NAT, które mają kilka publicznych adresów IPv4. Klienci są następnie łączeni za pomocą specjalnego zakresu adresów IPv4 ( 100.64.0.0/10chociaż czasami używają również normalnych adresów prywatnych) jako adresu zewnętrznego. Następnie klienci ponownie mają router NAT, który korzysta z tego samego adresu, który otrzymują po zewnętrznej stronie i wykonuje NAT, aby połączyć całą sieć wewnętrzną, która używa normalnych adresów prywatnych.

Istnieje jednak kilka wad posiadania routerów NAT:

  • połączenia przychodzące: urządzenia za routerem NAT mogą nawiązywać tylko połączenia wychodzące, ponieważ nie mają własnego „prawdziwego” adresu do akceptowania połączeń przychodzących
  • przekierowanie portów: zwykle jest to mniejszy problem przez przekierowanie portów, gdzie routing NAT poświęca niektóre porty UDP i / lub TCP w swoim adresie publicznym urządzeniu wewnętrznemu. Router NAT może następnie przekazywać ruch przychodzący z tych portów do tego urządzenia wewnętrznego. To wymaga od użytkownika skonfigurowania przekazywania na routerze NAT
  • NAT klasy operatorskiej: to miejsce, w którym dostawca usług internetowych wykonuje NAT. Nie będziesz w stanie skonfigurować przekierowania portów, więc akceptacja połączeń przychodzących staje się (bit torrent, posiadanie własnego serwera VPN / web / mail / etc) niemożliwa
  • dzielenie losu: świat zewnętrzny widzi tylko jedno urządzenie: ten router NAT. Dlatego wszystkie urządzenia za routerem NAT mają podobny los. Jeśli jedno urządzenie za routerem NAT źle się zachowuje, to adres routera NAT trafia na czarną listę, blokując w ten sposób również każde inne urządzenie wewnętrzne
  • redundancja: router NAT musi pamiętać, które urządzenia wewnętrzne komunikują się za jego pośrednictwem, aby mógł wysyłać odpowiedzi do właściwego urządzenia. Dlatego cały ruch zestawu użytkowników musi przechodzić przez pojedynczy router NAT. Zwykłe routery nie muszą niczego pamiętać, dlatego łatwo jest tworzyć zbędne trasy. Z NAT tak nie jest.
  • pojedynczy punkt awarii: gdy router NAT zawiedzie, zapomina o całej istniejącej komunikacji, więc wszystkie istniejące połączenia przez nią zostaną zerwane
  • duże centralne routery NAT są drogie

Jak widać, zarówno CIDR, jak i NAT przedłużyły żywotność IPv4 o wiele lat. Ale CIDR nie może utworzyć więcej adresów, tylko bardziej efektywnie alokować istniejące. NAT działa, ale tylko w przypadku ruchu wychodzącego i przy wyższym ryzyku związanym z wydajnością i stabilnością oraz mniejszej funkcjonalności niż w przypadku adresów publicznych.

Właśnie dlatego wynaleziono IPv6: wiele adresów i adresów publicznych dla każdego urządzenia. Twoje urządzenie (lub zapora sieciowa przed nim) może sama zdecydować, które połączenia przychodzące chce zaakceptować. Jeśli chcesz uruchomić własny serwer poczty, co jest możliwe, i jeśli nie chcesz, aby ktoś z zewnątrz się z tobą łączył: to też jest możliwe :) IPv6 daje ci opcje, które posiadałeś przed wprowadzeniem NAT, i możesz z nich korzystać, jeśli chcesz.

Sander Steffann
źródło
1
Wow bardzo przez odpowiedź. Dzięki. Odnośnie NAT klasy operatorskiej: Stwierdziłeś, że bit torrent się skończy. Ale nie do końca mogłem zrozumieć, dlaczego tak się stanie. Mówiąc dokładniej, uważam, że powinno to zakończyć się nawet dzisiaj, jeśli tak jest. Pozwól, że wyjaśnię: Myślę, że wielu użytkowników domowych korzysta z routera NAT, co sprawia, że ​​myślę, że „pijawka” nie może pijawki od użytkownika, który korzysta z routera NAT, ponieważ pijawka nie zna adresu komputera, z którym ma się połączyć. Ponieważ pijawka nie byłaby w stanie znaleźć siewnika, oznaczałoby to koniec, gdyby bit torrent nawet dziś. Czy możesz mi to wyjaśnić?
Utku,
5
Przekazywanie portów może być skonfigurowane przez użytkownika w routerach domowych, aby zezwalać na połączenia przychodzące, lub lokalny klient BitTorrent korzysta ze specjalnego protokołu, aby router NAT automatycznie instalował przekazywanie portów. Router NAT klasy operatorskiej nie zezwala na takie przekierowanie portów. BitTorrent nadal działa bez połączeń przychodzących, ale nie jest tak dobry.
Sander Steffann,
4
@Utku, odpowiedź glib brzmi „nie”. oznacza to, że masz rację, że nie można ustanowić połączeń przychodzących do wielu bittorrentnych węzłów NAT. powiedziano, że ten węzeł może nawiązywać połączenia z innymi węzłami w sieci, a ponieważ dane przepływają w obu kierunkach przez połączenie, mogą one nadal przyczyniać się do sieci, propagując fragmenty, które jeden z ich elementów równorzędnych ma do innych.
Rob Starling,
3
Na bittorrent i NAT: patrz superuser.com/questions/104462/… . Podsumowanie: połączenia przychodzące piggyback na połączenie wychodzące; niektórzy klienci używają systemu przekazywania, aby zezwalać na połączenia przychodzące od nowego użytkownika przez połączenia ze współdzielonym węzłem równorzędnym. Jest to mniej wydajne, a otrzymasz niższe prędkości. Niemożliwe jest, aby wszystkie peery były za NAT bez przekierowania portów.
Timbo
2
na temat Fate Sharing, stosowna anegdota: techcrunch.com/2007/01/01/wikipedia-bans-qatar
njzk2
15

Protokół internetowy (IP) został zaprojektowany w celu zapewnienia łączności typu end-to-end.

32 bity adresu IPv4 pozwalają jedynie na około 4,3 miliarda unikalnych adresów. Następnie musisz odjąć kilka adresów dla rzeczy takich jak multiemisja, a matematyka pokazuje, że nigdy nie możesz wykorzystać pełnej pojemności podsieci, więc istnieje wiele zmarnowanych adresów.

Istnieje około dwa razy więcej ludzi niż dostępnych adresów IPv4, a wielu z nich korzysta z wielu adresów IP. Nie wpływa to nawet na potrzeby biznesowe dotyczące adresów IP.

Użycie NAT w celu zaspokojenia głodu adresu IP przerywa paradygmat połączenia end-to-end IP. Trudno jest ujawnić wystarczającą liczbę publicznych adresów IP. Zastanów się przez chwilę, co zrobiłbyś jako użytkownik domowy posiadający tylko jeden publiczny adres IP, jeśli chcesz zezwolić wielu urządzeniom korzystającym z tego samego protokołu i portu transportowego, powiedzmy dwa serwery sieciowe, które zgodnie z konwencją używają portu TCP 80, dostępny z publicznego Internetu. Możesz przekierować port TCP 80 na swoim publicznym adresie IP na jeden prywatny adres IP, ale co z drugim serwerem WWW? Ten scenariusz będzie wymagał przeskakiwania przez niektóre obręcze, do których typowy użytkownik domowy nie jest przygotowany. Pomyśl teraz o Internecie rzeczy(IoT), w którym możesz mieć setki lub tysiące urządzeń (żarówki, termostaty, termometry, czujniki deszczu i systemy zraszające, czujniki alarmowe, urządzenia, otwieracze drzwi garażowych, systemy rozrywki, obroże dla zwierząt domowych i kto wie, co jeszcze) , niektóre lub wszystkie z nich chcą korzystać z tych samych konkretnych protokołów transportowych i portów. Pomyśl teraz o firmach posiadających adres IP, które muszą zapewnić swoim klientom, dostawcom i partnerom łączność.

Protokół IP został zaprojektowany z myślą o łączności typu end-to-end, więc bez względu na to, ile różnych hostów korzysta z tego samego protokołu transportowego i portu, są one jednoznacznie identyfikowane przez ich adres IP. NAT to przełamuje i ogranicza IP w sposób, w jaki nigdy nie miał być ograniczony. NAT został po prostu stworzony jako sposób na przedłużenie żywotności IPv4 do momentu przyjęcia następnej wersji IP (IPv6).

IPv6 zapewnia wystarczającą liczbę adresów publicznych, aby przywrócić oryginalny paradygmat IP. IPv6 ma obecnie 1/8 adresów IPv6 w całym bloku adresów IPv6 zarezerwowanym dla globalnie rutowalnych adresów IPv6. Zakładając, że w 2100 r. Na Ziemi żyje 17 miliardów ludzi (co nie jest nierealne), obecny globalny zakres adresów IPv6 (1/8 bloku adresów IPv6) zapewnia ponad 2000/48 sieci dla każdego z tych 17 miliardów ludzi. Każda sieć / 48 ma 65 536/64 podsieci z 18 446,744,073,709,551,616 adresami w podsieci.

Ron Maupin
źródło
Więc NAT jest zasadniczo „łatką”, prawda? Łatka, która narusza podstawową zasadę internetu.
Utku
7
NAT można nazwać łatką, ale wielu nazywa to hackiem lub gorzej.
Ron Maupin
7
Twoje drugie zdanie jest ważne! NAT tworzy asymetrię między ludźmi, którzy potrafią zarządzać serwerami, a ludźmi, którzy nie mogą (łatwo). Jest to fundamentalne naruszenie podstawowych zasad demokracji w Internecie. To, czy komuś na tym zależy, jest oczywiście innym pytaniem. Większość ludzi, którzy siedzą za NAT, nie dba o to. Wielu dostawców treści zrobić starań, aby umieścić jak wielu ludzi, jak to możliwe za NAT, ponieważ wtedy mogą kontrolować (większość) Internet widzi.
Jörg W Mittag
1
@ JörgWMittag, „Większość ludzi, którzy siedzą za NAT, nie dba o to”. Dopóki ich nowa, błyszcząca gra wieloosobowa, aplikacja lub zabawka nie będą działać tak, jak się tego spodziewają, to na pewno im zależy. „Wielu dostawców treści stara się pozostawić jak najwięcej ludzi za NAT, ponieważ wtedy mogą kontrolować to, co… Internet.” Kontrola dostępu nie wymaga NAT. Można to zrobić równie łatwo (jeśli nie bardziej) bez NAT. NAT utrudnia wiele rzeczy dostawcom treści / usług oraz osobom, które znam, które prowadzą takie sieci, nie znam takiego, który używa NAT, jeśli mogą tego uniknąć.
YLearn
9

Mówiąc najprościej, nie ma już dostępnego adresu IPv4. Wszystkie (lub prawie wszystkie) dostępne adresy IPv4 zostały przydzielone. Eksplozja urządzeń IP, laptopów, telefonów, tabletów, kamer, urządzeń zabezpieczających itp. Itd. Zajęła całą przestrzeń adresową.

Ron Trunk
źródło
1
To nie do końca prawda, ogromna większość miejsca jest marnowana, ponieważ na początku nie była dobrze podsieciowa. Organizacje mają teraz wiele adresów, których nie używają jako adresy publiczne, ale ich zwrot wymagałby znacznego wysiłku w restrukturyzacji sieci.
JamesRyan
7
Tak, marnuje się dużo miejsca. Ale faktem jest, że dostępna przestrzeń jest wyczerpana.
Ron Trunk,
1
@JamesRyan Istnieje również cały zakres „klasy E”, który można (w dowolnym momencie) otworzyć dla ogólnego przypisania emisji pojedynczej. Dałoby to światu 16 więcej / 8 (około 134 milionów więcej adresów). Ale co wtedy? Wystarczy odłożyć „ostateczne wyczerpanie” wszystkich adresów. Tak więc niezależnie od liczby adresów IPv4, które zostaną odzyskane lub ponownie przydzielone, wyczerpanie jest nieuniknione. IPv6 to trwałe rozwiązanie.
Eddie,
3
@Eddie teoretycznie można otworzyć zakres „klasy E.” W praktyce 34 lata osób zakładających, że zasięg jest „zarezerwowany, nieużywany” oznacza, że ​​każdy, kto uzyska jeden z tych adresów, będzie miał ograniczoną łączność.
Mark
1
@Mark Zgoda. Chodziło mi po prostu o to, że istnieją kieszenie przestrzeni IPv4, które moglibyśmy wykorzystać, aby przedłużyć jej żywotność, ale po co zawracać sobie głowę, IPv6 jest nieuniknione. (Zdecydowanie nie mówiłem, że powinniśmy przedłużyć żywotność IPv4) .
Eddie,
4

Po pierwsze technika zmiennej maski podsieci stała się niewystarczająca. Dlatego ludzie wymyślili technikę translacji adresów sieciowych, w której można używać publicznego adresu IP do maskowania wielu prywatnych adresów IP. Nawet z tą techniką prawie nie mamy do przydzielenia adresu IP. NAT łamie także jedną z podstawowych zasad Internetu: zasadę end-to-end.

Dlatego głównym powodem korzystania z IPv6 jest to, że każdy będzie miał dostęp do tylu publicznych adresów IP, ile potrzebuje, a cała złożoność korzystania z NAT zniknie.

IPv6 zapewnia również inne funkcje, których nie będę szczegółowo omawiał: obowiązkowe zabezpieczenia na poziomie IP, umożliwiają automatyczną konfigurację adresów bezstanowych, nie więcej emisji tylko multiemisji i zapewnia bardziej wydajne przetwarzanie przez routery poprzez uproszczenie nagłówka. Również w dzisiejszych czasach urządzeń mobilnych ma wyraźne wsparcie dla mobilności w postaci mobilnego IPv6.

Jeśli chodzi o twoją propozycję użycia masek podsieci / podsieci: nie brzmi to wykonalnie, ponieważ jej wdrożenie spowodowałoby uszkodzenie wszystkich istniejących aplikacji i nie jest tak naprawdę eleganckie. Jeśli musisz coś zmienić, dlaczego nie wybrać czegoś nowego i dobrze przemyślanego.

dragosb
źródło
NAT nie został wymyślony z powodu braku adresów lub braku podsieci o zmiennej długości. Stało się popularne po prostu dlatego, że wielu dostawców usług internetowych pobiera więcej opłat za usługi „klasy biznesowej” z przydzieloną przestrzenią IP.
Alnitak,
1

Główna organizacja dystrybuująca IP do regionalnych organów jest całkowicie wyczerpana. ARIN - regionalna organizacja w USA była wyczerpana od kilku miesięcy. Jedynym organem regionalnym, który ma jeszcze kilka adresów IP, jest AfriNIC.

Istnieje wiele firm / organizacji, takich jak Ford, MIT itp., Które mają pełne zakresy adresów IP klasy A. Kiedy je nabyli, nikt nie sądził, że zabraknie nam tak szybko.

W tej chwili, aby kupić adresy IP, albo czekasz, aż firma przestanie działać i kupi ją na szarym rynku, albo spróbujesz kupić niewykorzystane adresy IP od innej firmy.

Adresy IP zaprojektowane dla regionu, nie mogą być używane w innym regionie. Cóż, mogą, ale jest wysoce odradzane (geo-IP).

W tej chwili wiele firm przygotowuje się do IPv6. Zmiana nie jest łatwa, ponieważ bardzo drogie jest kupowanie nowego sprzętu obsługującego pełne IPv6 dla tych, którzy mają 10 tysięcy serwerów.

użytkownik1052448
źródło
2
Adresy IP nie są w rzeczywistości „zaprojektowane dla regionu” - zostały arbitralnie przypisane do jednego z 5 kodów RIR (które w przybliżeniu odpowiadają pięciu kontynentom). W rzeczywistości dość często zdarza się, że bloki adresów IP są przenoszone (zwykle sprzedawane) z jednego RIR, który wciąż ma trochę (dziś tylko Afryka pozostała) do drugiego. GeoIP to tylko hack, a nie coś zaprojektowanego w protokole IP.
Kevin Keane