Dlaczego kończą się adresy IPv4?

59

Rozumiem, że kończy nam się (lub już zabrakło?) Adresów IPv4, ale tak naprawdę nie rozumiem, dlaczego tak jest. Obecnie każdy dom ma własny adres IPv4 (przydzielany dynamicznie, ale nadal każdy ma adres). Dlaczego miasto (na przykład) nie może mieć tylko jednego adresu IPv4, a wszystkie domy w tym mieście byłyby w prywatnej sieci tego miasta? Wtedy to jedno miasto będzie mogło przypisać adresy z zakresu 0.0.0.1do 255.255.255.254.

Jestem pewien, że moje zrozumienie jest błędne, w przeciwnym razie adresy IPv4 nie zabrakłyby. Co jest nie tak z moim zrozumieniem?

Loreno
źródło
24
Jak zatem rozróżnić dwa domy w następnym mieście, kiedy chcesz połączyć się z jednym konkretnym domem?
Chrylis
12
Nie można użyć adresu „specyficznego dla miasta”, aby odróżnić pojedynczy dom w tym mieście od innego domu w tym mieście.
WGroleau,
3
Powiązane pytanie o awarię serwera .
kasperd
11
Alan Campbell - w IPv4 adres MAC (adres warstwy 2) nie przejdzie poza segment sieci lokalnej. Za każdym razem, gdy pakiet przechodzi przez router (urządzenie warstwy 3), wszystkie warstwy protokołu poniżej IP są odrzucane i ponownie tworzone. W nagłówku IPv4 nie ma miejsca na adres MAC.
telcoM
2
Pamiętaj, że twoje „rozwiązanie” nie zapobiega „wyczerpaniu się” adresów IPv4, to tylko sposób na poradzenie sobie z tym.
Frank Hopkins,

Odpowiedzi:

151

Niedobór adresów IPv4

Według Vinta Cerfa (ojca IP) rozmiar 32-bitowego adresu IPv4 został wybrany dowolnie. Własność intelektualna była eksperymentem rządowym / akademickim, a obecny publiczny Internet nigdy nie był przewidziany. Paradygmat IP polegał na tym, że każde podłączone urządzenie będzie miało unikalny adres IP (wszystkie pakiety wysyłane między urządzeniami IP będą łączone kompleksowo ze źródłowego adresu IP do docelowego adresu IP), a wiele protokołów korzystających z adresu IP zależy od każdego urządzenia posiadający unikalny adres IP.

Zakładając, że moglibyśmy użyć każdego możliwego adresu IPv4 *, istnieje tylko 4 294 967 296 możliwych adresów IPv4, ale (we wrześniu 2018 r.) Obecna populacja świata wynosi 7 648 290 361. Jak widać, nie ma wystarczającej liczby możliwych adresów IPv4, aby każda osoba mogła mieć nawet jeden, ale wiele osób ma komputer, drukarkę, telefon komórkowy, tablet, konsolę do gier, smart TV itp., Z których każdy wymaga adresu IP i co nawet nie wpływa na potrzeby biznesowe dotyczące adresów IP. Jesteśmy także u progu Internetu Rzeczy (Internet of Things), gdzie każde urządzenie potrzebuje adresu IP: żarówki, termostaty, termometry, mierniki deszczu i systemy zraszaczy, czujniki alarmowe, urządzenia, pojazdy, otwieracze do bram garażowych, systemy rozrywki, obroże dla zwierząt domowych i kto wie co jeszcze.


* Istnieją bloki adresów IPv4, których nie można użyć do adresowania hosta. Na przykład multiemisja ma blok 268 435 456 adresów, których nie można użyć do adresowania hosta. IANA prowadzi rejestr adresów specjalnych IPANA IANA IPv4 pod adresem https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml w celu udokumentowania wszystkich bloków adresów specjalnych i ich celów .


IANA (Internet Assigned Numbers Authority) zabrakło bloków adresów IPv4, aby przypisać do RIR (regionalnych rejestrów internetowych), które mają zostać przypisane w ich odpowiednich regionach, a RIR zabrakło teraz również adresów IPv4 do przypisania w każdym regionie. Dostawcy usług internetowych (ISP) i firmy, które chcą lub potrzebują adresów IPv4, nie mogą już uzyskiwać adresów IPv4 z RIR i muszą teraz próbować kupować adresy IPv4 od firm, które mogą mieć dodatkowe (w miarę pogłębiania się niedoborów adresów IPv4 cena adresów IPv4 idzie w górę).

Nawet jeśli wszystkie adresy IPv4, które są zarezerwowane do specjalnych celów i nie mogą być używane do adresowania hosta, zostały udostępnione do użytku, nadal bylibyśmy w tej samej pozycji, ponieważ po prostu nie ma wystarczającej liczby adresów IPv4 z powodu ograniczonego rozmiaru adresów IPv4.

Łagodzenie niedoboru adresu IPv4

IANA i RIR skończyłyby się adresy IPv4 wiele lat wcześniej, zanim zrobiłyby to, gdyby IANA i IETF (Internet Engineering Task Force) nie podjęły działań zaradczych w związku z brakiem adresów IPv4. Jednym ważnym ograniczeniem było wycofanie klas sieci IPv4 na rzecz CIDR (Classless Inter-Domain Routing). Adresowanie klasowe dopuszcza tylko trzy przypisane rozmiary sieci (16 777 216, 65 536 lub 256 wszystkich adresów hosta na sieć), co oznacza, że ​​wiele adresów jest marnowanych (firma potrzebująca tylko 300 adresów hosta musiałaby mieć przydzieloną sieć klasową, która ma 65 536 możliwych hostów adresy, marnując ponad 99% adresów w klasowej sieci),

Zdecydowanie złagodzenie, które miało największy wpływ na wydłużenie czasu życia IPv4, to użycie prywatnego adresowania i wariantu NAT (Network Address Translation) o nazwie NAPT (Network Address Port Translation), co większość ludzi ma na myśli, gdy odnoszą się do NAT lub PAT (PAT jest terminem specyficznym dla dostawcy dla NAPT). Niestety, NAPT jest brzydkim obejściem, które łamie paradygmat IP od końca do końca, i które psuje protokoły, które zależą od unikalnego adresowania IP, wymagające jeszcze bardziej brzydkich obejść.

NAT / NAPT

Koncepcja NAT jest dość prosta: zastępuje źródłowy i docelowy adres IPv4 w nagłówku pakietu, gdy pakiet przechodzi przez urządzenie NAT. W praktyce wymaga obliczeń, ponieważ nagłówek IPv4 ma pole obliczane w celu sprawdzenia integralności nagłówka IPv4, a wszelkie zmiany wprowadzone w nagłówku IPv4 wymagają ponownego obliczenia pola, a niektóre protokoły transportowe w pakiecie danych mają również swoje własne obliczone pola, które muszą zostać ponownie obliczone, przy użyciu zasobów obliczeniowych w urządzeniu NAT, które mogłyby zostać wykorzystane do przekazywania pakietów.

W podstawowym NAT urządzenie NAT ma pulę adresów IPv4, których używa do zamiany źródłowych adresów IPv4 nagłówków pakietów dla pakietów IPv4 wysyłanych z sieci wewnętrznej do sieci zewnętrznej i utrzymuje tablicę tłumaczeń w celu przetłumaczenia docelowe adresy IPv4 ruchu zwracanego z sieci zewnętrznej w celu dostarczenia pakietów z powrotem do właściwych hostów w sieci wewnętrznej. Wymaga to również zasobów na urządzeniu NAT, aby zbudować i utrzymywać tablicę translacji oraz przeprowadzać wyszukiwania tablic. Takie wykorzystanie zasobów może spowolnić przekazywanie pakietów, ponieważ zasoby używane przez NAT są pobierane z zasobów, które mogłyby być wykorzystane do przekazywania pakietów.

NAPT przenosi Basic NAT dalej, tłumacząc także adresy protokołów transportowych (porty) dla TCP i UDP oraz identyfikatory zapytań dla ICMP. Tłumacząc również adresy warstwy transportowej, NAPT pozwala na użycie jednego zewnętrznego adresu IPv4 dla wielu wewnętrznych adresów IPv4 hosta. NAPT wymaga jeszcze więcej zasobów niż Basic NAT, ponieważ wymaga osobnej tabeli dla każdego protokołu warstwy transportowej, a także musi wykonywać obliczenia integralności protokołów transportowych.

Korzystanie z prywatnego adresowania IPv4, które może być ponownie wykorzystane w wielu sieciach (być może zauważyłeś, że większość sieci domowych / domowych domyślnie używa tej samej sieci 192.168.1.0/24, która znajduje się w jednym z przydzielonych przez IANA zakresów prywatnych adresów IPv4) , wraz z NAPT, pozwala użytkownikom biznesowym i domowym na używanie jednego zewnętrznego (publicznego) adresu dla dużej sieci wewnętrznej (prywatnie zaadresowanej). Oszczędza to wiele, wiele adresów IPv4 (kilkakrotnie łączną liczbę możliwych adresów IPv4) i wydłużyło żywotność IPv4 daleko poza punkt, w którym zawaliłby się bez NAPT. NAPT ma kilka poważnych wad:

  • NAPT łamie paradygmat IP od końca do końca i działa tylko z TCP, UDP i ICMP, łamiąc inne protokoły transportowe. Istnieją również protokoły warstwy aplikacji, które używają protokołu TCP lub UDP, które są uszkodzone przez NAPT, mimo że TCP i UDP nominalnie działają z NAPT. Inne zabezpieczenia, np. STUN / TURN, mogą być dostępne dla niektórych protokołów warstwy aplikacji, ale mogą zwiększyć koszty i złożoność.
  • NAPT jest bardzo zasobochłonny, spowalnia przekazywanie pakietów w porównaniu do tego, co jest możliwe bez użycia jakiejkolwiek formy NAT. Niektórzy dostawcy dodają dedykowany sprzęt, aby ograniczyć potrzebę kradzieży zasobów z przekazywania pakietów, ale wiąże się to z dodatkowymi kosztami, rozmiarem, złożonością i zużyciem energii.
  • Podczas korzystania z NAPT ruch inicjowany spoza sieci NAPT nie może być dostarczany do sieci wewnętrznej, ponieważ w tabeli tłumaczeń nie ma wpisu tłumaczenia, który jest dodawany przez ruch inicjowany wewnątrz. Pojedynczy zewnętrzny (publiczny) adres jest skonfigurowany na urządzeniu NAT i zakłada się, że wszelkie pakiety z tym docelowym adresem IPv4 i brakiem wpisu źródłowego adresu IPv4 w tabeli translacji protokołu transportowego są dla urządzenia NAPT, a nie sieć wewnętrzna. W przypadku tego problemu istnieje ograniczenie, zwane Port Forwarding.
  • Przekazywanie portów zasadniczo konfiguruje ręcznie ręczny stały wpis w tabeli translacji, aby umożliwić inicjowany z zewnątrz ruch, który jest kierowany do określonego protokołu transportowego i adresu, aby protokół był dostarczany do określonego hosta wewnętrznego. Ma to tę wadę, że pozwala tylko jednemu hostowi wewnętrznemu być celem dla określonego protokołu i adresu transportowego. Na przykład, jeśli w sieci wewnętrznej znajduje się wiele serwerów WWW, tylko jeden z serwerów WWW może być widoczny na porcie TCP 80 (domyślny dla serwerów WWW).
  • Ponieważ niedobór adresów IPv4 jest tak poważny, usługodawcom internetowym (dostawcom usług internetowych) brakuje adresów publicznych, aby przypisać je swoim klientom. Dostawcy usług internetowych nie mogą już uzyskiwać więcej adresów publicznych, więc przyjęli pewne środki zaradcze, które szczególnie krzywdzą użytkowników domowych / mieszkaniowych. Dostawcy usług internetowych chcą zarezerwować swoją cenną pulę adresów publicznych dla klientów biznesowych, którzy są gotowi zapłacić za przywilej uzyskania adresów publicznych. Aby to zrobić, dostawcy usług internetowych zaczynają teraz przypisywać adresy prywatne lub współdzielone swoim klientom domowym / mieszkalnym, a dostawcy usług internetowych używają NAPT na swoich routerach, aby ułatwić korzystanie z wielu adresów prywatnych lub współdzielonych na jednym adresie publicznym. Stwarza to sytuację, w której sieć domowa / mieszkalna stoi za dwoma tłumaczeniami NAPT (ISP NAPT dla klienta NAPT),
  • Wiele osób popełnia błąd, utożsamiając NAPT i bezpieczeństwo, ponieważ wewnętrznych hostów nie można bezpośrednio adresować z zewnątrz. To fałszywe poczucie bezpieczeństwa. Ponieważ zapora sieciowa łącząca sieć z publicznym Internetem jest wygodnym miejscem do uruchamiania NAPT, po prostu dezorientuje sytuację. Stwarza to niebezpieczne wrażenie, że sam NAPT jest zaporą ogniową, a prawdziwa zapora ogniowa jest niepotrzebna. Bezpieczeństwo sieci pochodzi z zapór ogniowych, które domyślnie blokują cały ruch inicjowany z zewnątrz, pozwalając tylko na ruch, na który jest wyraźnie skonfigurowane, aby umożliwić, może przeprowadzić głęboką kontrolę zawartości pakietu, aby usunąć niebezpieczne ładunki pakietów. Niektóre osoby nie zdają sobie sprawy z tego, że bez zapory ogniowej, sprzętowej lub programowej, na zewnątrz lub wbudowanej w urządzenie NAPT w celu ochrony urządzenia NAPT, samo urządzenie NAPT jest podatne na atak. W przypadku naruszenia bezpieczeństwa urządzenia NAPT, ono, a przez to osoba atakująca, ma pełny dostęp do prywatnie zaadresowanej wewnątrz sieci. Pakiety inicjowane z zewnątrz, które nie pasują do tabeli translacji, są kierowane do samego urządzenia NAPT, ponieważ to właśnie urządzenie jest adresowane adresem zewnętrznym, więc urządzenie NAPT może zostać bezpośrednio zaatakowane.

Rozwiązanie problemu braku adresu IPv4

IETF przewidział niedobór adresów IPv4 i stworzył rozwiązanie: IPv6, który wykorzystuje 128-bitowe adresy, co oznacza, że ​​istnieje 340 3402 366 920,938,463,463,374,607,431,768,211,456 możliwych adresów IPv6. Prawie niewyobrażalna liczba adresów IPv6 eliminuje potrzebę NAPT (IPv6 nie ma żadnych standardów NAT, podobnie jak IPv4, a eksperymentalny NAT RFC IPv6 specjalnie zabrania NAPT), przywracając oryginalny paradygmat end-to-end IP. Łagodzenie niedoboru adresu IPv4 ma na celu przedłużenie żywotności IPv4, aż IPv6 stanie się wszechobecny, w którym to momencie IPv4 powinien zanikać.

Ludzie tak naprawdę nie mogą pojąć liczb wielkości używanych w IPv6. Na przykład standardowa sieć IPv6 używa 64 bitów dla każdej części sieci i hosta adresu sieciowego. To 18 446,744,073,709,551,616 możliwych sieci IPv6 / 64 i ta sama (ogromna) liczba adresów hostów dla każdej z tych sieci. Aby spróbować zrozumieć tak dużą liczbę, rozważ narzędzia, które skanują wszystkie możliwe adresy w sieci. Jeśli takie narzędzie może skanować 1 000 000 adresów na sekundę (mało prawdopodobne), wykonanie skanowania w jednej sieci IPv6 / 64 zajęłoby 584 542 lata. Obecnie tylko 1/8 całkowitej przestrzeni adresowej IPv6 jest przydzielona na globalne adresy IPv6, co działa na 2 305 843 009 213 693 952 standardowych sieci IPv6 / 64, a jeśli populacja świata wynosi 21 miliardów w roku 2100 (nieco realistyczna liczba), każdy z tych 21 miliardów ludzi może mieć 109 802 048 standardowych sieci IPv6 / 64, przy czym każda sieć ma 18 446,744,073,709,551,616 możliwych adresów hosta. Niestety (dziesięciolecia) braku adresów IPv4 tak głęboko zakorzeniło zachowanie adresów u ludzi, że wiele osób po prostu nie może sobie pozwolić na ich odejście i próbują zastosować je do IPv6, co jest bezcelowe i w rzeczywistości szkodliwe. IPv6 jest tak naprawdę zaprojektowany do marnowania adresów.

IETF miał również tę zaletę, że spojrzał na nią z perspektywy czasu i poprawił IP (w IPv6), usuwając funkcje IPv4, które nie działały dobrze, ulepszając niektóre funkcje IPv4 i dodając funkcje, których IPv4 nie miał, tworząc nowe i ulepszone IP . Ponieważ IPv6 jest protokołem całkowicie odrębnym od IPv4, można go uruchamiać równolegle z IPv4, ponieważ przejście z IPv4 na IPv6. Hosty i urządzenia sieciowe mogą jednocześnie obsługiwać zarówno IPv4, jak i IPv6 na tym samym interfejsie (podwójny stos), a każde z nich jest niewidoczne dla drugiego; nie ma interferencji między tymi dwoma protokołami.

Problem z IPv6 polega na tym, że w rzeczywistości jest to zupełnie inny protokół, który jest niezgodny z wszechobecnym IPv4, a wiele osób zaradza brakowi adresu IPv4 jako „wystarczająco dobrym”. W rezultacie jest ponad 20 lata od momentu ustandaryzowania protokołu IPv6, a teraz mamy prawdziwą trakcję w korzystaniu z protokołu IPv6 (raporty Google, od września 2018 r., światowe przyjęcie IPv6 na poziomie ponad 20%, a wskaźnik przyjęcia IPv6 w USA wynosi ponad 35%). Powodem, dla którego ostatecznie przechodzimy na IPv6 jest to, że po prostu nie ma już nieużywanych adresów IPv4 do przypisania.

Istnieją inne przeszkody, wszystkie związane z kulturą IPv4, które po prostu trudno jest przeoczyć. Wiele osób boi się także IPv6, ponieważ dorastało i czuje się dobrze z IPv4, brodawkami i innymi. Na przykład adresy IPv6 wydają się duże i brzydkie w porównaniu z adresami IPv4, co wydaje się zniechęcać wiele osób. Rzeczywistość jest taka, że ​​IPv6 jest często łatwiejszy i bardziej elastyczny niż IPv4, szczególnie w zakresie adresowania, a wnioski wyciągnięte z IPv4 zostały zastosowane od samego początku.

Ron Maupin
źródło
10
To streszczenie jest tak świetne, że moim zdaniem jest to jeden z najlepszych tekstów na ten temat w Internecie! Wyjaśnione w łatwym do zrozumienia języku z prawdziwą intencją, aby rzeczywiście pomóc komuś to zrozumieć. Dziękuję bardzo Ron, wyraźnie rozumiesz to wszystko. Z twojej odpowiedzi wydaje się, że mój pomysł wykorzystania jednego adresu IP w wielu domach jest faktycznie wykorzystywany. Ale najwyraźniej ma problemy z NAT, jak wyjaśniono. Jeśli wiele domów ma jeden adres IP, nie mogą na przykład hostować osobnych stron internetowych. Sądzę, że takie podejście byłoby dobre tylko dla osób, które przeglądają Internet bez hostingu
Loreno,
14
@Loreno, jest to w zasadzie jeden z dokumentów, które stworzyłem dla harcerzy zainteresowanych nauką inżynierii sieci. Harcerstwo obejmuje STEM (naukę, technologię, inżynierię i matematykę), i mam zamiar przeprowadzić wykład dla harcerzy w mojej okolicy.
Ron Maupin
7
Utworzono tutaj konto, aby głosować na to (i głosować + 🌟 pytanie, aby móc do niego wrócić).
Oliphaunt,
6
Ograniczenie to 128 bit może być rzeczywiście dobry pomysł na dłuższą metę: xkcd.com/865 :)
Kolmar
5
Pokornie proponuję, aby każdy, kto popiera NAPT na poziomie CGN / Carrier, został zmuszony do napisania kodu przebijającego NAT w grach wideo dla kolekcji domowych routerów z 2000 roku.
mbrig
31

Odpowiedź Rona Maupina daje świetny przegląd niedoboru IPv4, ale chciałbym odpowiedzieć na tę część twojego pytania:

Dlaczego miasto (na przykład) nie może mieć tylko jednego adresu IP, a wszystkie domy w tym mieście byłyby w prywatnej sieci tego miasta. Wtedy to jedno miasto będzie mogło przypisać adresy z zakresu od 0.0.0.1 do 255.255.255.254.

Na pierwszy rzut oka dokładnie tak działa „NAT” (a dokładniej „maskowanie adresów IP”): konfigurowana jest prywatna sieć, która wygląda na zewnętrzny Internet jak pojedynczy host i kieruje ruch wewnętrzny do wielu różni użytkownicy. Istnieją jednak pewne ważne ograniczenia, które przeoczyłeś w swoim przykładzie:

  • Użytkownicy wewnętrzni nadal muszą mieć dostęp do zewnętrznego Internetu; jeśli przypiszesz adres 151.101.1.69 użytkownikowi wewnętrznemu w sieci, nie będziesz mógł uzyskać dostępu do networkengineering.stackexchange.com, ponieważ jest to adres, na którym jest on hostowany. W praktyce możesz więc używać tylko wewnętrznych adresów, które są zarezerwowane do tego celu .
  • Mniej oczywiste jest, że hosty na zewnątrz potrzebują jakiegoś sposobu na przekazanie ruchu użytkownikom wewnątrz, nawet jeśli tylko przeglądają internet. Wynika to z faktu, że połączenia IP nie są jak tunele: wysłanie pakietu do serwera WWW nie rezerwuje kabla na rozmowę, po prostu prosi serwer o odesłanie niektórych pakietów z powrotem. Jeśli serwer sieciowy wysyła tylko odpowiedzi na jeden adres publiczny, coś musi śledzić, który komputer wewnętrzny tego zażądał. Jeśli więcej niż jedna osoba w sieci wewnętrznej uzyskuje dostęp do tego samego serwera WWW, jedynym sposobem na śledzenie jest przypisanie każdemu połączeniu unikalnego dynamicznego numeru portu, do którego mają przejść odpowiedzi.

Istnieje około 18 milionów prywatnych adresów IPv4, ale tylko 65536 numerów portów. W rzeczywistości nie potrzebujesz unikalnego portu dla każdego połączenia, ponieważ możesz mieć tabelę przeglądową, która zawiera również adres zdalny, ale nadal istnieje ograniczenie, jak daleko można skalować bez problemów.

To powiedziawszy, NAT jest rzeczywiście jednym z największych powodów, dla których sieć IPv4 nie rozpadła się całkowicie z powodu braku adresu. Przypisanie adresu IP do każdego gospodarstwa domowego lub biura i nadanie im urządzenia do wykonywania translacji NAT pozwala na podłączenie o wiele większej liczby urządzeń, niż pozwalałby na to oryginalny projekt IPv4. Aby skalować dalej, stosuje się NAT klasy operatorskiej , w którym dostawca usług internetowych ma mniej adresów publicznych niż podłączone gospodarstwa domowe, prawdopodobnie wykorzystując dwie warstwy NAT do zarządzania trasowaniem pakietów do ich ostatecznego miejsca docelowego.

Ostatecznie wyciśnięcie każdej możliwej trasy z kilku pozostałych adresów jest po prostu wsparciem życia dla IPv4, aw pewnym momencie każdy adres zostanie zarezerwowany do użytku wewnętrznego, publicznego oblicza sieci NAT lub adresu publicznego serwera akceptującego niechciane połączenia.

IMSoP
źródło
13

Obecnie każdy dom ma swój własny adres IP. Dlaczego miasto (na przykład) nie może mieć tylko jednego adresu IP, a wszystkie domy w tym mieście byłyby w prywatnej sieci tego miasta?

Dokładnie tak robi już wielu dostawców usług internetowych od końca lat dziewięćdziesiątych.

W latach 90. istniały różne powody (nie brak IPv4). Jednak w 2012 r . Dostawca usług internetowych, w którym jestem klientem, zaczął to robić, ponieważ nie było już wystarczającej liczby adresów IPv4:

Mój dostawca używa „DS-Lite”, co oznacza, że ​​nowi klienci otrzymują szereg globalnych adresów IPv6 (dynamicznie przypisywanych) i mają tylko prywatny adres IPv4, jak go opisujesz.

Inni dostawcy usług internetowych używają „CGNAT” dokładnie tak, jak to opisujesz (bez IPv6).

Co jest nie tak z moim zrozumieniem?

Musisz zobaczyć, co nie jest możliwe przy użyciu NAT:

Jeśli chcesz obsługiwać jakiś serwer, zdecydowanie potrzebujesz unikalnego adresu IP. Należy pamiętać, że niektóre urządzenia w domu, do których można uzyskać dostęp ze smartfona, to „serwery”.

Przeprowadzono również badanie przeprowadzone przez Facebook Inc., które wykazało, że na szybkość połączenia ma wpływ fakt, że wielu klientów korzysta z jednego adresu IP.

I jest jeszcze jeden problem:

Ze względu na numery portów liczba połączeń, które jeden adres IP może ustanowić z określonym serwerem w tym samym czasie, jest ograniczona do około 60000.

Widziałem strony przesyłania strumieniowego wideo, które otworzyły jednocześnie 10 połączeń. Osiągnięto 6000 osób korzystających z tej samej strony i limit 60000.

A 60000 to teoretyczna granica; prawdziwy limit jest mniejszy.

Wtedy to jedno miasto będzie mogło przypisać adresy z zakresu od 0.0.0.1 do 255.255.255.254.

To na pewno nie zadziała:

Załóżmy, że chcesz uzyskać dostęp do tej witryny (networkengineering.stackexchange.com). Następnie musisz ustanowić połączenie z 151.101.129.69.

Gdyby w sieci lokalnej obejmował cały komputer o adresie 151.101.129.69, połączenie z „networkengineering.stackexchange.com” prawdopodobnie nie działałoby, ponieważ nie jest jasne, który z dwóch komputerów o tym samym adresie IP ma na myśli: Ten w sieci miejskiej czy poza siecią?

Oznacza to, że sieć ogólnomiejska musi wiedzieć, że 151.101.129.69 to adres poza tą siecią.

Dlatego można używać tylko adresów nieużywanych w światowym Internecie.

Tak poza tym:

Nawet w sieci prywatnej nie jest podłączony do Internetu nie możemy skorzystać z całej gamy 0.0.0.1-255.255.255.254:

W takich sieciach możemy używać adresów takich jak 151.101.129.69.

Jednak zakresy 0, 127 i 224-255 nie mogą być użyte, ponieważ zakresy te są obsługiwane specjalnie przez prawie wszystkie systemy operacyjne i urządzenia. Tak więc żaden wspólny system operacyjny nie pozwoli na to, aby komputer miał na przykład adres 127.10.11.12.

Martin Rosenau
źródło
Mała korekta, 3 zakresy sieci prywatnych to 10.0.0.0/8 (czyli 10.0.0.0-10.255.255.255), 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) i 192.168.0.0/16 (192.168.0.0- 192.168.255.255), z jeszcze mniejszą liczbą dostępnych adresów do przypisania ze względu na specjalne adresy sieciowe / sieciowe w zależności od sposobu, w jaki te zakresy są podsieci, zaczynając od 2 bez podsieci, a w przeciwnym razie 2 na podsieć.
htmlcoderexe
@htmlcoderexe Jeśli twój komentarz dotyczy ostatniej części mojej odpowiedzi: zredagowałem swoją odpowiedź, aby wyjaśnić, co oznaczało „prywatna sieć” w tej części. Jeśli sieć nie jest podłączona do Internetu (lub korzysta z serwera proxy opartego na HTTP), nie ma powodu, dla którego adres 151.101.129.69 (na przykład) nie może być użyty na komputerze lokalnym. Zakresy 0, 127 i 224–255 nie mogą być jednak stosowane.
Martin Rosenau
W ten sposób jest o wiele wyraźniej, przepraszam za nieporozumienie
htmlcoderexe
0

Warto również zauważyć, że wiele adresów IP IPv4 jest własnością firm hostingowych w chmurze lub odsprzedawców proxy i zostało mocno skażonych. Każdy, kto wynajmuje serwery proxy, z pewnością doświadczył problemów związanych ze zepsutym adresem IP.

Podczas gdy adresy IPv4 się skończą, wciąż jest ich więcej niż wystarczająco, aby je obejść i nadal możesz kupić ich bloki (do tysiąca), za kilka dolarów każdy.

McFlySoHigh
źródło
3
ROTFL. Kilka dolarów byłoby około 14-15 + opłata za pośrednika adresu. A / 24 (i potrzebujesz tego, aby móc trasować go przez Internet) wynosi około 5000 USD.
Jens Link
1
Powiedziałem, że są sprzedawane w ilościach „1000” za kilka dolarów każda. Ale ostatni raz patrzyłem na koszt kilka lat temu. Osobiście wynajmuję proxy, które kosztują około 1-5 USD miesięcznie w zależności od ilości i jakości. Virgin proxy z nieużywanymi adresami IP kosztuje około 15 USD za 1 miesięcznie, ale ilość może dać ci głębokie zniżki. Oto aktualne ceny bloków: arin.net/fees/fee_schedule.html
McFlySoHigh
3
Nie jestem pewien, co rozumiesz przez „skażony” tutaj.
IMSoP,
1
Nadużywane przez osoby prowadzące farmy botów z różnych powodów, eksploracji danych, skrobania stron internetowych, tworzenia kont masowych, kupowania przedmiotów „limit na klienta”, w zasadzie jeśli wynajmujesz złe serwery proxy, które zostały poważnie wykorzystane, dostaniesz bardzo trudne , wielostopniowe captchas i recaptcha, nawet dla prostego wyszukiwania w google.com. Adresy IP, w tym całe bloki adresów IP, są często blokowane przez główne witryny, media społecznościowe itp., Co czyni je bezużytecznymi. Przez skażenie mam na myśli niemożność użycia. Dlatego koszt wynajęcia dziewiczych serwerów proxy jest 5-10 razy wyższy niż cena prywatnego serwera proxy. Wspólne proxy = najtańsze.
McFlySoHigh,
1
Na przykład Limeproxies.com ma najtańsze dziewicze adresy IP, limeproxies.com/pricing.php - jednak są one bardzo restrykcyjne, jeśli chodzi o sposób ich używania - nalegając, abyś umieścił na białej liście każdą domenę / adres IP, z którym się połączysz . Nie pozwalają też na umieszczanie na białej liście konkretnych witryn, takich jak Nike, Ticketmaster itp. Musisz za to kupić adresy IP z certyfikatem „Nike.com”, z wysoką ceną.
McFlySoHigh,
0

Istnieją obiektywne i oparte na opiniach powody, i oczywiście najważniejszy powód - pieniądze.

Po pierwsze, IP jest zaprojektowane tak, aby zapewniało kompleksowe hosty o unikalnych adresach. Co w zasadzie oznacza - teoretycznie - że każde urządzenie (serwer, komputer, telefon) musi mieć własny indywidualny adres IP.

Dostępne są 4 miliardy adresów, które w zasadzie byłyby wystarczające dla wszystkich, ponieważ chociaż na planecie żyje prawie dwa razy więcej ludzi, przeważająca większość stara się zdobyć wystarczającą ilość jedzenia i i tak nie mogła sobie pozwolić na komputer w swoim życiu . Jednak wśród mniejszości, na które może sobie pozwolić , jest to raczej 15-20 urządzeń na osobę zawsze online, w tym niektóre kamery, lodówka, zdalnie sterowane oświetlenie i ogrzewanie oraz ... Twój toster . Który z nieznanego mi powodu musi być podłączony do Internetu.
To nie jest tak, że Internet rzeczy jest naprawdę czymś, co jest konieczne, ale został bardzo skutecznie wprowadzony na rynek i szeroko przyjęty w ciągu ostatniej dekady, więc jest rzeczywistością, a zatem prawdziwąkwestia. Co więcej, znaczna liczba adresów jest marnowana z dobrych powodów technicznych, a ogromna liczba adresów jest marnowana bez żadnego dobrego powodu (powrócę do tego później).

W praktyce istnieje taka rzecz zwana NAT, która robi dokładnie (lub prawie tak) to, co sugerujesz. Z technicznego punktu widzenia narusza to zasady projektowania własności intelektualnej, co jednak nie jest tak dużym problemem. Niemniej jednak, chociaż NAT działa dobrze i pod wieloma względami jest dobrą rzeczą, ma swoje ograniczenia (w szczególności może teoretycznie zwiększyć liczbę adresów maksymalnie o współczynnik 65535, a w praktyce znacznie mniej niż to) jest silnym pragnieniem wymarcia NAT. Najpilniejszy jest fakt, że NAT przesłania relację 1: 1 między adresem a urządzeniem. Co jest w rzeczywistości dobrą rzeczą, bo do cholery, właściwie tego nie chcesz, ale nie jest tak dobry dla niektórych osób, które mają coś do powiedzenia (takich jak organy ścigania). Innym powodem jest to, że NAT (który zwykle jest również zaporą ogniową) utrudnia niektóre aplikacje. W szczególności jeden host za NAT rozmawiający z innym za NAT jest kłopotliwy (nie jest to niemożliwe, po prostu trudniejsze do wdrożenia niż absolutnie konieczne).

Teraz w przypadku „typowego” przedsiębiorstwa (lub innej organizacji) z niektórymi osobami siedzącymi w szafach i komunikującymi się w sieci korporacyjnej lub przez VPN, i ewentualnie z pewnego rodzaju dostępem do Internetu, idealnym rozwiązaniem byłoby posiadanie np. Jednego adresu IP na piętro i NAT je wszystkie. Byłoby to nie tylko znacznie tańsze, ale również uczyniłoby to mniej oczywistym dla zewnętrznego obserwatora, który jest kim. Co więcej, byłoby to znacznie bardziej oczywiste dla administratora sieci. Oba są dobre. Niestety, w rzeczywistości wiele dużych firm i uniwersytetów w USA zarezerwowało ogromne zakresy adresów IP, tak aby każda maszyna, którą mogliby mieć, miała swój indywidualny adres. Zapytaj dlaczego? Nie mogłem powiedzieć

Najważniejszym powodem, dla którego „wyczerpujemy się”, jest silna motywacja do promowania IPv6. Podczas gdy IPv6 nie tylko usuwa pewne problemy i zapewnia pewne (choć nieliczne) pożądane funkcje, dodaje także mierzalny narzut na przewodzie (szczególnie, jeśli zaangażowanych jest kilka warstw, takich jak IP-over-PPPoE-over-ATM, jak ma to miejsce w przypadku wielu domowe połączenia internetowe), a klienci płacą za przepustowość mierzoną w bajtach na sekundę lub płacą za wolumen na bajt. Więc ... w obu przypadkach odejście od IPv4 jest bardzo pożądane, ponieważ jako dostawca albo potrzebujesz mniejszej sieci szkieletowej, albo możesz obciążyć klientów więcej za te same rzeczy.
Co doprowadziło do aktywnej promocji kryzysu, podając adresy takie jak słodycze (dopóki nie pozostało prawie żadnych). Pamiętam, nie tak dawno temu, kilka lat, gdy wynajmujesz serwer za 50 $, dostaniesz 5 takich adresów.

Damon
źródło
Jakie byłyby trudności z usługodawcą internetowym korzystającym z części przestrzeni adresowej IPv4 do mostkowania IPv4-iPv6 i mówiącym, że jeśli urządzenie IPv4 klienta wysyła żądanie DNS dotyczące adresu, który ma publiczny adres IPv6 (ale nie IPv4), to przypisać mapować „lokalny” adres IPv4 na zdalny adres IPv6 i przetłumaczyć żądania połączenia z tym lokalnym adresem IPv4 na żądania połączenia ze zdalnym adresem IPv6?
supercat
@ superupat: Poza pracą dodatkową i brakiem korzyści płynących ze wzrostu ruchu, nie widzę powodu, dla którego nie byłoby to łatwe. Po prostu marudzenie na temat niedoboru IPv4, a następnie po prostu sprzedaż IPv6 jest znacznie bardziej dochodowe. Wielki szum marketingowy, ponieważ jest to coś nowego (i nie jest to nawet IPv5, to IPv6, więc musi być dwa razy lepszy). Żadnej dodatkowej pracy, większego ruchu i więcej martwienia się o inne rzeczy (np. Zarządzanie adresami, po prostu wyciągnij podsieć / 56 lub / 64, która nigdy się nie zmienia, i gotowe). Poza tym routery potrzebują mniej krzemu, aby były tańsze ...
Damon
2
Byłem gotów głosować za tym, aż doszedłem do fraz takich jak „dobre dla niektórych osób, które mają coś do powiedzenia (np. Organy ścigania)” i „kryzys jest aktywnie promowany, podając adresy takie jak cukierki”, które sprawiają, że brzmi to tak, jakby wszystko było spisek. Era rozdawania adresów, takich jak słodycze, miała miejsce we wczesnym Internecie, zanim zlikwidowano niedobór; od tego czasu podjęto czynny wysiłek, aby odzyskać bloki „klasy A” i podzielić je za pomocą CIDR, właśnie dlatego, że potrzebujemy adresów, aby uzyskać więcej połączeń punkt-punkt.
IMSoP
@IMSop: Twoja opinia może się różnić, ale egzekwowanie prawa jest z pewnością jednym z głównych powodów IPv6. NAT na poziomie dostawcy, który istnieje w niektórych krajach, znacznie utrudnia identyfikację osób (a raczej ich poszczególnych urządzeń) i oznacza znacznie więcej problemów z utrzymaniem po stronie dostawcy. Nie stanowi to problemu dla 5 lub 10 urządzeń w twoim domu, jeśli „NAT” oznacza przejście przez twoje indywidualne połączenie IP, ponieważ i tak należą one do jednej (lub kilku) osób. Ale na pewno jest to problem w niektórych obszarach. Z mojej strony nie było wzmianki o spisku. Tylko tyle, że istnieje duże zainteresowanie komercyjne.
Damon
2
@Damon Pewnie, NAT utrudnia życie organom ścigania; Chodzi o to, że utrudnia to życie także wszystkim innym . Na przykład transfer plików peer-to-peer - tak daleko od organów ścigania lub interesu komercyjnego, jak to możliwe - musi mieć dodatkową złożoność do obsługi połączeń NAT i CGNAT. Nigdy nie widziałem renomowanego źródła, które powiedziałoby, że organy ścigania wywierają nacisk na kogokolwiek, aby przeszedł na IPv6, a jeśli cokolwiek, co podejrzewam, interesy handlowe generalnie bagatelizują problem, ponieważ wprowadzenie IPv6 byłoby kosztowne.
IMSoP
-4

Loreno:

1) Twoje intuicyjne pytanie „Dlaczego miasto (na przykład) nie może mieć tylko jednego adresu IP, a wszystkie domy w tym mieście byłyby po prostu w prywatnej sieci tego miasta? Wtedy to jedno miasto byłoby w stanie przypisać adresy z zasięgu Od 0.0.0.1 do 255.255.255.254. ” faktycznie działałoby, gdyby adresy IP były odpowiednio administrowane. Niestety Internet zaczął się bez wizji światowej infrastruktury komunikacyjnej, a następnie rozwinął się tak szybko, że działania naprawcze nie były w stanie rozwiązać problemów. - Tak jak powiedzieli.

2) Kilka lat temu nasz zespół odważył się rozwiązać ten problem z powodu ciekawości opartej na naszej wiedzy telefonicznej. Wymyśliliśmy rozwiązanie o nazwie EzIP (fonetyczne dla Easy IPv4), które może rozszerzyć każdy adres publiczny IPv4 o krotnie 256 mln (Million) (o wiele więcej, niż się spodziewałeś). Złożyliśmy wniosek do IETF:

https://tools.ietf.org/html/draft-chen-ati-adaptive-ipv4-address-space-03

A prezentacja graficzna może szybciej przekazać ten pomysł:

https://www.avinta.com/phoenix-1/home/EzIPenhancedInternet.pdf

3) Schemat EzIP nie tylko rozwiązuje problem braku adresu IP, ale także zapewnia możliwość zwiększenia wydajności Internetu. Proszę spojrzeć na powyższe artykuły, a następnie możemy omówić dalej.

Abe (14.10.2018 22:27)

Abraham Chen
źródło
3
Obecnie nie ma dostępnego oprogramowania i sprzętu do implementacji tego. Prawdopodobnie nigdy nie będzie z powodu fundamentalnych wad widocznych np. W dyskusjach na forach OpenWTR
Josef
5
Obawiam się, że twoje „rozwiązanie” niewiele rozwiązuje. Wymaga tyle zmian w sieci i aplikacjach, co wdrożenie IPv6, ale jest znacznie bardziej ograniczony, więc nie ma zastosowania do ogólnego wdrożenia. A jeśli dotyczy to określonych aplikacji, możesz to zrobić na poziomie aplikacji, nie wymagając żadnych zmian w infrastrukturze.
jcaron
2
EzIP wygląda tak samo trudno wdrożyć jak IPv6, dlaczego mielibyśmy używać EzIP zamiast tylko IPv6? Problem z IPv6 polega na tym, że całe istniejące oprogramowanie (a czasem sprzęt) musi zostać zaktualizowane. Jak EzIP to rozwiązuje? Być może jest to trochę łatwiejsze, ponieważ większość routerów nie musi być aktualizowana, ale nadal pozostawia wszystkie serwery.
user253751,
2
Niezależnie od zalet, ta propozycja jest spóźniona o około 25 lat: każdy inwestujący w wsparcie dla tego schematu adresowania i routingu mógłby zamiast tego zainwestować w jeden z wielu sprawdzonych mechanizmów tunelowania i przejścia IPv6.
IMSoP
2
Kwestionowany jest również schemat zaproponowany przez kogoś, kto niedawno był w stanie zainstalować OpenWRT po raz pierwszy.
Josef,
-5

Nie brakuje nam adresów IPv4.

Jaki jest dziś koszt adresu IPv4? Wygląda na to, że to około 18 USD: http://ipv4marketgroup.com/ipv4-pricing/

Pojedynczy IPv4 jest znacznie tańszy niż baryłka oleju. Potrzebuję 8 nowych baryłek oleju rocznie na mój samochód. Nie potrzebuję co roku 8 nowych adresów IPv4 - w rzeczywistości wystarczy mi jeden adres IPv4, a obecnie nie korzystam z żadnych serwerów, więc mogłem doskonale udostępnić adres za pośrednictwem NAT klasy operatorskiej.

W rzeczywistości, chociaż olej (w typowych zużywanych ilościach) jest znacznie, dużo droższy niż adresy IPv4 (w typowych potrzebnych ilościach), nawet nie brakuje nam oleju.

Jeśli kupisz adres IPv4, będziesz go mieć na zawsze (lub dopóki wierzący w IPv6 nie zastąpią IPv4 jako wybranego protokołu). Przy 5% stopie dyskontowej wynosi 0,9 USD rocznie. Płacę około 300 USD rocznie za moją łączność mobilną (czyli za NAT klasy operatorskiej) i około 300 USD rocznie za moją stałą łączność (to nie za NAT NAT klasy operatorskiej). Roczny koszt adresu IPv4 wynosi 0,3% rocznego kosztu połączenia z Internetem za pośrednictwem usług stacjonarnych lub mobilnych.

Istnieją technologie, takie jak TLS i HTTP proxy, które pozwalają na uruchamianie wielu serwerów za jednym adresem IPv4, identyfikowanym przez nazwy ich domen. I tak na przykład Internet przedmiotów (IoT) może doskonale skutkować wdrożeniem miliardów serwerów, znacznie więcej niż to, co mamy adresy IPv4. Większość nowych obecnie nieszyfrowanych protokołów jest zbudowanych na HTTP; większość nowych obecnie zaszyfrowanych protokołów jest zbudowanych na TLS. Oba mają sposoby określania nazwy DNS serwera, więc serwer proxy może działać i ukrywać wiele serwerów za jednym adresem IPv4. Protokoły, takie jak SSH, mogą uruchamiać serwery za niestandardowymi portami, a OpenSSH ma „komendę proxy”, więc proxy SOCKS / HTTP CONNECT może również obsługiwać wiele komputerów, na których można SSH za jednym adresem IPv4. Czy zapłaciłbym dodatkowo 18 USD za wygodę, że nie muszę określać niestandardowego portu lub polecenia proxy w mojej konfiguracji OpenSSH? Nie zrobiłbym tego.

Techniki takie jak niezależne mapowanie punktów końcowych pozwalają na dziurkowanie UDP i TCP, które mogą skonfigurować połączenie punkt-punkt między dwoma hostami za NAT, po prostu potrzebując zewnętrznego serwera do określenia, który port TCP / UDP NAT przypisany dla każdego punktu końcowego. NAT nie przerywa łączności typu end-to-end, wymaga jedynie osobnego serwera pomocniczego, aby ustalić, jaki numer portu przypisano NAT. Czy świat będzie potrzebował 4 miliardów takich serwerów pomocniczych? Nie, nie ma.

IPv6 jest religią. Wielu ludziom trudno uwierzyć, że Internet jutra może działać bez IPv6, podobnie jak trudno im uwierzyć, że społeczeństwo może działać bez religii.

juhist
źródło
6
Duża część światowej populacji nie ma jeszcze połączenia z Internetem, a nowe aplikacje wymagające adresów publicznych są wciąż opracowywane.
Teun Vink
11
Wszystkie rzeczy, które opisałeś, to sposoby obejścia tego, że brakuje nam adresów IPv4. To, czy te obejścia są lepsze czy gorsze niż przejście na IPv6, to inna debata, ale jeśli nie zabraknie adresów, nie potrzebowalibyśmy żadnej z tych rzeczy.
IMSoP
12
Dobry Boże, czy tak właśnie myślą ludzie? Czy rzeczywiście próbowałeś, aby rzeczy działały poprawnie z NAT, a zwłaszcza CGNAT? CGNAT oznacza w szczególności, że nie możesz uruchomić serwera, kropka. Wygląda na to, że mówisz „nie wpłynęło to na mnie osobiście, więc problem nie istnieje”. I „używajmy tych wszystkich niezwykle bolesnych obejść, aby udostępniać adresy zamiast po prostu mieć więcej adresów na początek (nawiasem mówiąc, nie są one bolesne, ponieważ nigdy nie musiałem ich używać)”.
user253751,
7
Na przykład NAT jest powodem, dla którego większość ludzi nie może używać SCTP. Z pewnością chciałbym wypróbować SCTP, ale nie mogę tego zrobić, ponieważ mój domowy router nie rozumie SCTP. Gdybym nie musiał używać NAT, aby uniknąć kryzysu IPv4, mój router nie musiałby tego rozumieć i mógłbym go po prostu użyć!
user253751
8
A tak przy okazji, to mniej więcej aukcja - ludzie, którzy są gotowi zapłacić więcej, otrzymają swoje adresy, a ludzie, którzy nie są, nie. Ten facet, który mieszka w Afryce i zarabia 10 dolarów miesięcznie? Tak, cóż, z takim nastawieniem nigdy nie będzie nigdy podłączony do Internetu - nie dlatego, że nie może poprowadzić przewodów, ale dlatego, że głosowałeś przeciwko temu, aby dać mu adres. Płacenie 18 USD za numer identyfikacyjny jest absurdalne (chyba że faktycznie wiąże się to z papierkową robotą wartą 18 USD, czego nie ma)
253751