Klasy adresów IPv4 od A do E rozpoznawane po pierwszym bajcie w zapisie binarnym, adresy prywatne RFC 1918 i NAT, czyli translacja adresów na routerze domowym.
Historycznie adresy IPv4 podzielono na klasy, żeby z góry ustalić, ile bitów przypada na sieć, a ile na hosty. O klasie decyduje pierwszy bajt adresu – a dokładniej jego kilka pierwszych bitów w zapisie binarnym. Dziś stosuje się elastyczniejszy podział przy pomocy masek, ale klasy nadal pojawiają się w pytaniach.
Osobno wydzielono adresy prywatne. Nie są one routowane w internecie – można ich używać dowolnie w sieciach domowych i firmowych, bo nigdy nie trafią na zewnątrz. Dzięki temu ten sam adres 192.168.0.1 może istnieć w milionach mieszkań naraz.
Żeby urządzenie z adresem prywatnym mogło korzystać z internetu, router stosuje NAT – podmienia adres prywatny na swój publiczny i pamięta, komu odesłać odpowiedź.
Cztery zasady, które wystarczą do większości pytań:
192.14.56.10 i 192.168.0.1 mają ten sam pierwszy bajt, więc obydwa są klasy C – choć tylko drugi z nich jest adresem prywatnym.0, klasa B od 10, klasa C od 110, klasa D od 1110, klasa E od 1111. Po zamianie pierwszej liczby na osiem bitów odpowiedź widać od razu.10.x z klasy A, 172.16–31.x z klasy B, 192.168.x z klasy C. Adres spoza tych trzech zakresów jest publiczny, niezależnie od klasy.Rozwinięcia ogólnych skrótów sieciowych (LAN, WAN, ISP, RFC, IETF…) zbiera słownik skrótów sieciowych.
### Krok 1: zamień pierwszą liczbę na osiem bitów
Adres 131.125.94.11 – interesuje nas wyłącznie 131. Odejmujemy kolejne wagi bitów, od największej:
waga: 128 64 32 16 8 4 2 1 131 ≥ 128 → bit 1, zostaje 3 3 < 64 → bit 0 3 < 32 → bit 0 3 < 16 → bit 0 3 < 8 → bit 0 3 < 4 → bit 0 3 ≥ 2 → bit 1, zostaje 1 1 ≥ 1 → bit 1, zostaje 0 wynik: 131 = 10000011
Adres zaczyna się od bitów 10, więc należy do klasy B. Tak samo liczy się każdy inny pierwszy bajt: 191 to 10111111 (znowu 10 – klasa B, mimo że liczba jest bliska 192), a 192 to 11000000 (bity 110 – klasa C).
W praktyce nie trzeba zamieniać całego bajtu – wystarczą cztery progi: 128, 192, 224 i 240.
### Krok 2: odczytaj podział na sieć i host
Klasa mówi, ile bitów adresu opisuje sieć, a ile pojedynczy komputer w tej sieci:
0) + 7 bitów numeru sieci, czyli 2⁷ = 128 możliwości. Dwie pule są wyłączone z użytku (0.x i 127.x), więc zostaje 2⁷ − 2 = 126 sieci. Na hosty przypadają 24 bity: 2²⁴ − 2 = 16 777 214 hostów w jednej sieci.10) + 14 bitów sieci, czyli 2¹⁴ = 16 384 sieci, po 2¹⁶ − 2 = 65 534 hostów.110) + 21 bitów sieci, czyli 2²¹ = 2 097 152 sieci, po 2⁸ − 2 = 254 hostów.Odejmowane w każdej klasie dwa adresy to adres sieci (na miejscach hosta same zera) i adres rozgłoszeniowy (same jedynki) – rachunki na maskach opisuje hasło obliczanie adresu sieci i rozgłoszeniowego.
Ten sztywny podział był marnotrawstwem: firma potrzebująca 300 komputerów dostawała całą klasę B, czyli 65 534 adresy. Dlatego klasy zastąpił zapis bezklasowy z dowolną maską (CIDR) – opisany w haśle adresowanie IP i maski.
### Krok 3: sprawdź, czy adres jest prywatny
Norma RFC 1918 wydzieliła trzy pule adresów, których nie routuje żaden router w internecie:
10.0.0.0 – 10.255.255.255 (zapis 10.0.0.0/8) – 2²⁴ = 16 777 216 adresów, cała jedna sieć klasy A,172.16.0.0 – 172.31.255.255 (zapis 172.16.0.0/12) – 2²⁰ = 1 048 576 adresów, szesnaście sąsiednich sieci klasy B,192.168.0.0 – 192.168.255.255 (zapis 192.168.0.0/16) – 2¹⁶ = 65 536 adresów, 256 sieci klasy C.Razem 17 891 328 adresów, których każdy może użyć u siebie w domu. Poza tymi zakresami adres jest publiczny – również 172.32.0.1, choć zaczyna się tak samo jak pula prywatna.
Swój adres prywatny odczytasz poleceniem ipconfig (Windows) albo ip a (Linux, macOS). Adresu publicznego komputer nie zna – należy on do routera i przydziela go dostawca internetu.
### Krok 4: NAT, czyli jak dwa komputery dzielą jeden adres
W domu jest jeden adres publiczny, powiedzmy 83.24.117.6, a urządzeń kilka. Router pośredniczy: dla każdego wychodzącego połączenia podmienia adres nadawcy na własny publiczny i nadaje mu wolny numer portu źródłowego, który zapisuje w tablicy translacji razem z prawdziwym nadawcą. Odmiana NAT z portami nazywa się PAT albo maskaradą i to ona działa w każdym routerze domowym.
Laptop 192.168.1.10 i tablet 192.168.1.11 łączą się z tym samym serwerem 142.250.203.174 na porcie 443 i – przypadkiem – obydwa wybrały ten sam port źródłowy 52310. Router zapisuje:
192.168.1.10:52310 widziany na zewnątrz jako 83.24.117.6:40001,192.168.1.11:52310 widziany na zewnątrz jako 83.24.117.6:40002.Serwer odpowiada na 83.24.117.6:40001. Router zagląda do tablicy, widzi wpis 1, przepisuje adres odbiorcy z powrotem na 192.168.1.10:52310 i wysyła pakiet do laptopa. Odpowiedź na port 40002 trafi do tabletu. Bez numerów portów router nie miałby jak odróżnić tych dwóch rozmów.
Wynika stąd ważne ograniczenie: połączenie musi zacząć się od wewnątrz, bo dopiero wtedy powstaje wpis w tablicy. Pakiet przychodzący z internetu bez zaproszenia nie pasuje do żadnego wpisu i router go odrzuca. Żeby serwer w sieci domowej był dostępny z zewnątrz, trzeba ręcznie dodać przekierowanie portów – stały wpis w rodzaju „wszystko, co przyjdzie na port 25565 mojego adresu publicznego, oddaj komputerowi 192.168.1.20". Alternatywą jest tunel VPN. Samą translację wykonuje router.
Adres 127.0.0.1 to pętla zwrotna, wskazująca zawsze na własny komputer; opisuje ją hasło adresowanie IP i maski.
| Urządzenie w domu | Nadawca pakietu | Odbiorca pakietu |
|---|---|---|
| Laptop | 192.168.1.10:52310 | 142.250.203.174:443 |
| Tablet | 192.168.1.11:52310 | 142.250.203.174:443 |
| Ten sam pakiet za routerem | Nadawca po NAT | Odbiorca pakietu |
|---|---|---|
| Laptop | 83.24.117.6:40001 | 142.250.203.174:443 |
| Tablet | 83.24.117.6:40002 | 142.250.203.174:443 |
| Adres | Pierwszy bajt binarnie | Klasa | Prywatny czy publiczny | Uwaga |
|---|---|---|---|---|
| 10.0.0.5 | 00001010 | A | prywatny | początek puli 10.0.0.0/8 – cały pierwszy bajt 10 jest prywatny |
| 62.21.99.4 | 00111110 | A | publiczny | zwykły adres klasy A, jakich używa się w internecie |
| 127.0.0.1 | 01111111 | poza klasami | żadne z dwóch | pętla zwrotna; pula 127 jest wyłączona z użytku, stąd klasa A kończy się na 126 |
| 128.12.67.90 | 10000000 | B | publiczny | najmniejszy adres klasy B; zadanie z 2008 roku, odpowiedź Prawda |
| 131.125.94.11 | 10000011 | B | publiczny | poprawna odpowiedź w zadaniu z 2006 roku |
| 141.125.294.111 | – | brak | żadne z dwóch | 294 nie mieści się w bajcie, więc to w ogóle nie jest adres IPv4 |
| 172.16.0.1 | 10101100 | B | prywatny | początek puli 172.16.0.0/12 |
| 172.31.255.254 | 10101100 | B | prywatny | ostatni użyteczny adres tej samej puli prywatnej |
| 172.32.0.1 | 10101100 | B | publiczny | ten sam pierwszy bajt, a już poza pulą prywatną – częsta pułapka |
| 191.12.56.1 | 10111111 | B | publiczny | największy pierwszy bajt klasy B; zadanie z 2008 roku pytało o klasę C, odpowiedź Fałsz |
| 192.14.56.10 | 11000000 | C | publiczny | zadanie z 2008 roku pytało o klasę B, odpowiedź Fałsz; nie każdy adres od 192 jest prywatny |
| 192.168.0.1 | 11000000 | C | prywatny | typowy adres routera w sieci domowej |
| 201.93.93.93 | 11001001 | C | publiczny | dystraktor z zadania z 2006 roku – bity 110, więc klasa C |
| 224.0.0.9 | 11100000 | D | żadne z dwóch | multicast: adres grupy odbiorców, nie pojedynczego komputera |
| 240.0.0.1 | 11110000 | E | żadne z dwóch | pula zarezerwowana, nieprzydzielana urządzeniom |
| 255.255.255.255 | 11111111 | E z zakresu | żadne z dwóch | rozgłoszenie ograniczone – do wszystkich w tej samej sieci |
| Cecha | Adres prywatny | Adres publiczny |
|---|---|---|
| Kto go przydziela | administrator sieci lokalnej albo router przez DHCP | dostawca internetu z puli, którą sam otrzymał |
| Routowany w internecie | nie – routery odrzucają takie pakiety | tak |
| Unikatowość | tylko w obrębie jednej sieci lokalnej | w skali całego internetu |
| Zakresy | 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 | wszystko poza pulami prywatnymi i specjalnymi |
| Przykład | 192.168.0.1 | 83.24.117.6 |
| Dostępność z zewnątrz | tylko przez NAT, przekierowanie portów albo VPN | bezpośrednio |
| Koszt | darmowy, do dowolnego użytku | wliczony w abonament, stały adres zwykle za dopłatą |
| Ile ich jest | 17 891 328 adresów łącznie | reszta z 2³² adresów IPv4, pula już wyczerpana |
| Nazwa angielska | private address, RFC 1918 address | public address, globally routable address |
Klasa czytana z całego adresu. Do rozpoznania klasy służy wyłącznie pierwszy bajt. Adresy 192.14.56.10 i 192.168.0.1 różnią się wszystkim poza pierwszą liczbą, a klasę mają tę samą – C. Odwrotnie: 191.12.56.1 i 192.14.56.10 wyglądają niemal identycznie, a leżą po dwóch stronach granicy między klasą B a C.
„Wszystko od 192 jest prywatne." Prywatna jest dokładnie pula 192.168.0.0/16, a nie cała klasa C. 192.14.56.10 to normalny adres publiczny – i właśnie o niego pyta arkusz z 2008 roku. Ten sam błąd w drugą stronę: 10.0.0.5 jest prywatny, mimo że należy do klasy A.
172.32.x.x wzięte za adres prywatny. Pula prywatna z klasy B kończy się na 172.31.255.255. Drugi bajt musi mieścić się w przedziale 16–31; 172.15.x.x i 172.32.x.x są publiczne. To najczęściej mylona granica ze wszystkich trzech zakresów RFC 1918.
Liczby sieci i hostów podane bez odjęcia dwójki. Klasa A to nie 2⁷ = 128 sieci, tylko 126, i nie 2²⁴ hostów, tylko 16 777 214. Dwa adresy w każdej sieci są zajęte (sieć i rozgłoszenie), a w klasie A odpadają jeszcze pule 0.x i 127.x. Arkusz z 2014 roku uznał zdanie z „2⁷ adresów sieci i 2²⁴ adresów hostów" za fałszywe właśnie z tego powodu.
127.0.0.1 zaliczone do klasy A. Pierwszy bajt zaczyna się wprawdzie od bitu 0, ale cała pula 127 została wyjęta z puli użytkowej na pętlę zwrotną. Klasa A obejmuje więc numery sieci od 1 do 126 i to jest odpowiedź na pytanie, dlaczego zakres nie sięga do 127.
NAT mylony z zaporą sieciową. NAT to translacja adresów, a nie mechanizm bezpieczeństwa. To, że pakiet z zewnątrz nie ma pasującego wpisu w tablicy i przepada, jest skutkiem ubocznym, a nie regułą filtrowania. Za świadome blokowanie ruchu odpowiada zapora sieciowa.
0, B – 10, C – 110, D – 1110, E – 1111.10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 – razem 17 891 328 adresów.192.168.x.x.Pięć urządzeń widocznych w pewnej sieci szkolnej:
| Urządzenie | Adres IPv4 |
|---|---|
| Serwer szkolny | 150.254.30.7 |
| Drukarka | 172.20.10.4 |
| Router | 192.168.0.1 |
| Kamera | 10.0.0.44 |
| Grupa odbiorców | 224.0.0.251 |
Uzupełnij tabelę na podstawie tych adresów:
| Pytanie | Odpowiedź |
|---|---|
| Pierwszy bajt adresu serwera w zapisie binarnym | |
| Klasa adresu serwera | |
| Domyślna maska tej klasy | |
| Klasa adresu drukarki | |
| Czy adres drukarki jest prywatny (tak albo nie) | |
| Klasa adresu routera | |
| Ile hostów mieści jedna sieć klasy C | |
| Klasa adresu kamery | |
| Ile sieci daje klasa A | |
| Klasa adresu grupy odbiorców |
Żeby drukarka mogła pobrać aktualizację ze strony w internecie, router podmienia jej adres prywatny na swój adres publiczny – mechanizm ten nazywa się . Dwie rozmowy prowadzone w tym samym czasie router odróżnia po zapisanych w tablicy numerach .
Patrz tylko na pierwszą liczbę i porównaj ją z czterema progami: poniżej 128 to klasa A, 128–191 to B, 192–223 to C, 224–239 to D, od 240 w górę to E. Jeśli zadanie podaje definicję w postaci bitów (a CKE zwykle podaje), zamień pierwszą liczbę na osiem bitów i porównaj początek: 0, 10, 110, 1110, 1111.
Bo z 2⁷ = 128 możliwych numerów sieci dwa nie są przydzielane: numer 0 i numer 127. Zostaje 2⁷ − 2 = 126 sieci klasy A i to jest ta liczba, o którą pyta arkusz. Pula 127 jest zarezerwowana na pętlę zwrotną, opisaną w haśle adresowanie IP i maski.
10.0.0.0/8 to 2²⁴ = 16 777 216 adresów, 172.16.0.0/12 to 2²⁰ = 1 048 576 adresów, a 192.168.0.0/16 to 2¹⁶ = 65 536 adresów. Największa pula pochodzi z klasy A i dlatego używają jej duże sieci firmowe, a najmniejsza – z klasy C i wystarcza w domu.
Tak i zwykle mają. Adres 192.168.0.1 istnieje w milionach mieszkań naraz, bo pakiet z takim adresem nigdy nie wychodzi poza sieć lokalną – router podmienia go na swój publiczny. Unikatowy musi być tylko adres publiczny.
Sam NAT podmienia wyłącznie adres IP, więc w klasycznej postaci potrzebuje jednego adresu publicznego na jedno urządzenie. PAT dokłada do tego numer portu i dzięki temu dziesiątki urządzeń mieszczą się za jednym adresem. W routerach domowych działa właśnie PAT, choć w potocznym języku i w zadaniach mówi się po prostu „NAT".
Nie bezpośrednio. Potrzebne jest przekierowanie portów na routerze albo połączenie VPN – inaczej pakiet z zewnątrz nie pasuje do żadnego wpisu w tablicy translacji i router go odrzuca.
Prywatny pokazuje ipconfig w Windowsie albo ip a w Linuksie i macOS – to adres karty sieciowej, zwykle 192.168.x.x. Publicznego komputer nie zna, bo należy on do routera: trzeba zajrzeć na stronę statusu routera w pole „adres WAN" albo zapytać dowolnego serwisu w internecie, jaki adres widzi.
W praktyce zastąpił je podział bezklasowy z dowolną maską, w którym granica między częścią sieciową a hostową może wypaść w dowolnym miejscu – ćwiczy to hasło obliczanie adresu sieci i rozgłoszeniowego. Klasy zostały jako pojęcie historyczne i wciąż bywają sprawdzane na egzaminie. W adresowaniu IPv6 klas nie ma w ogóle.
Do tego hasła nie mamy jeszcze przypisanych pojedynczych zadań. Cały spis zadań maturalnych z tego działu jest tutaj:
Zagadnienia z tego samego obszaru matury – warto je powtórzyć razem: