Jak i dlaczego wszystkie urządzenia w domu udostępniają jeden adres IP
Jeśli jesteś jak większość ludzi, dostawca usług internetowych przekazuje Ci jeden adres IP, a router udostępnia go wszystkim podłączonym urządzeniom w domu.
To faktycznie narusza zasadę end-to-end, na którą zaprojektowano Internet. Jednak do pokonania jest tylko tyle adresów IP - kończymy.
Publiczne adresy IP są ograniczonym zasobem
Istnieje mniej niż 4,2 miliarda dostępnych adresów IPv4. Innymi słowy, na świecie jest więcej podłączonych urządzeń, niż jest dla nich unikalny, publiczny adres IP. W Internecie brakuje adresów IPv4, mimo że je reglamentujemy.
Zamiast dostawcy usług internetowych przypisującego unikalny publiczny adres IP do każdego urządzenia w domu - potrzebowałbyś dodatkowego adresu IP za każdym razem, gdy kupiłeś nowy komputer, tablet, smartfon, konsolę do gier lub cokolwiek innego - Twój dostawca usług internetowych zazwyczaj przypisuje ci jeden adres IP.
Publiczne lub prywatne adresy IP
Router jest podłączony bezpośrednio do Internetu i ma przypisany publiczny adres IP (który może się zmieniać z czasem). Router jest następnie odpowiedzialny za udostępnienie publicznego adresu IP między innymi komputerami i podłączonymi urządzeniami w domu.
Router przypisuje lokalne adresy IP do podłączonych urządzeń. To pozwala im komunikować się między sobą za routerem w domu. Jednak tych lokalnych adresów IP nie można uzyskać z Internetu. Innymi słowy, twój publiczny adres IP może być podobny do 23.24.35.63. Każda osoba w Internecie może próbować połączyć się z tym adresem i dotrzeć do routera. Prywatny adres IP twojego komputera może być podobny do 192.168.1.100. Gdy ktoś w Internecie próbuje połączyć się z tym adresem, jego komputer wyszuka adres 192.168.1.100 w swojej sieci lokalnej.
Jeśli to trochę zagmatwane, spróbuj pomyśleć o biurowcu. Adres budynku biurowego może być 500 Fake Street, Fake Town, USA. Każdy może wysyłać pocztę na ten adres z dowolnego miejsca na świecie - ten adres jest równoznaczny z adresem publicznym. Biuro w budynku biurowym może być "Pokój 203." Podobnie jak lokalne adresy IP, "Pokój 203" nie jest globalnie unikalnym adresem - jest używany w wielu budynkach biurowych. Nie możesz adresować poczty bezpośrednio do Pokoju 203, jeśli mieszkasz po drugiej stronie świata. Musisz adresować pocztę do samego budynku biurowego.
Translacja adresów sieciowych (NAT) i przekazywanie portów
Gdy łączysz się z czymś w Internecie - na przykład na stronie internetowej - komputer wysyła pakiety przez router. Router modyfikuje pakiety i przypisuje unikalny port do każdego połączenia wychodzącego na routerze. Kiedy witryna lub inny serwer odsyła dane do Ciebie, wysyła dane z powrotem do tego konkretnego portu, a router wie, że powinien wysłać dane z powrotem do tego samego urządzenia, które zainicjowało oryginalne połączenie. W ten sposób routery obsługują ruch internetowy na wielu komputerach jednocześnie za pomocą jednego adresu IP i wiedzą, gdzie powinien iść cały ruch.
Może się to jednak zepsuć w przypadku nieoczekiwanego ruchu przychodzącego. Na przykład, jeśli ktoś spróbuje połączyć się z adresem IP routera samodzielnie, router nie ma pojęcia, gdzie powinien wysłać ten ruch. Router może wykonać tylko ruch i odrzucić go. Zasadniczo oznacza to, że twój router działa jak rodzaj zapory, odrzucając niepożądany ruch przychodzący.
Jeśli chcesz odbierać ten ruch przychodzący, możesz skonfigurować przekazywanie portów na routerze. Na przykład możesz powiedzieć routerowi, że korzystasz z serwera Minecraft na porcie 25565 pod konkretnym lokalnym adresem IP. Gdy router odbiera połączenie na porcie 25565, wie, że powinien przekazać ten ruch do lokalnego adresu IP, który podałeś. Dlatego przekazywanie portów jest niezbędne dla aplikacji, które działają jako serwery i otrzymują niepożądany ruch przychodzący spoza sieci lokalnej.
Dwie możliwe transakcje futures
Jak wspomnieliśmy powyżej, pomimo racjonowania wyczerpujemy adresy IP IP4. Na dłuższą metę każde urządzenie będzie miało swój własny adres IP. W krótkim czasie możesz nie mieć nawet własnego publicznego adresu IP.
- Adresy IPv6 dla każdego urządzenia: IPv4 ma mniej niż 4,2 miliarda adresów, ale IPv6 może zaoferować 2128 możliwe adresy IP. Wolfram Alpha może nam pomóc umieścić tę ogromną liczbę w perspektywie: To 340282366920938463463374607431768211456 różnych adresów IP lub około 5010000000000000000000000000000 unikatowych adresów IP dla każdej osoby na świecie. Gdy IPv6 stanie się bardziej rozpowszechniony i zastąpi IPv4, możemy przypisać każdemu podłączonemu urządzeniu unikatowy adres IP w Internecie.
- Translator NAT w trybie Carrier-Grade: W krótkim okresie niektórzy dostawcy usług internetowych usiłują zapewnić klientom adresy IPv4. Translator NAT to rozwiązanie proponowane przez niektórych dostawców usług internetowych. Dostawca usług internetowych korzystający z translatora NAT na poziomie operatora zachowałby dla siebie swoje publiczne adresy IP. Używałby NAT (podobnie jak router domowy) do przekazywania lokalnych adresów IP wszystkim swoim klientom. Klienci nie mieliby własnego unikalnego publicznego adresu IP w Internecie i nie mogliby korzystać z oprogramowania serwerowego wymagającego przekierowania portów lub bezpośrednich połączeń.
Internet nigdy nie był zaprojektowany dla tak wielu podłączonych urządzeń, a domowe routery z technologiami NAT są jedynym powodem, dla którego możemy podłączyć tak wiele urządzeń bez migracji do IPv6.
Image Credit: Matt J Newman w serwisie Flickr, Bob Mical w serwisie Flickr, webhamster w serwisie Flickr, Jemimus on Flickr