Internet Protocol - czym jest IP i jak działa?

Protokół IP

Pierwsza oficjalna dokumentacja IP miała miejsce w 1974 roku, w opublikowanym przez Vint’a Cerf’a oraz Bob’a Kahn’a (nazywanych “rodzicami internetu”) artykule pt. "A Protocol for Packet Network Intercommunication". Był to efekt kilku lat prac nad projektem ARPANET, protoplastą dzisiejszego “neta”.

Głównym zadaniem Internet Protocol jest:

  • adresowanie
  • routing.

Adresowanie w IP

Adresowanie to proces przypisywania każdemu urządzeniu w sieci unikatowego identyfikatora. W zależności od wersji protokołu, takie identyfikatory wyglądają inaczej.

Na ten moment bardziej rozpoznawalny jest 32-bitowy IPv4 składający się z 4 liczb dziesiętnych oddzielonych kropkami (np. 192.168.0.1).

W przypadku wersji szóstej (128 bit), jest to trochę bardziej skomplikowane. Przykładem takiego adresu może być: “2001:0db8:85a3:0000:0000:8a2e:0370:7334”, ale warto pamiętać, że dla skrócenia zapisu czasami zamienia się grupę zer, pojedynczym zerem lub podwójnym dwukropkiem: “2001:db8:85a3::8a2e:370:7334”.

Adres IP może być prywatny (w przypadku wewnętrznych sieci, jak np. ta w Twoim domu, pracy) lub publiczny (służący do rozpoznawania urządzeń w internecie). Ze względu na ograniczoną pulę adresów IPv4 (który powstał w 1981 roku), stworzono nowszy standard IPv6 (1998) aby sprostać rosnącej ilości urządzeń podpiętych do internetu.

Maska podsieci

Używana jest do określenia która część adresu odnosi się do sieci, a która do konkretnego urządzenia w niej. Najcześciej spotykaną w domowych konfiguracjach jest “255.255.255.0” i oznacza ona, że 3 pierwsze segmenty zarezerwowane są dla identyfikacji sieci, a ostatni dla urządzenia.

Przykład 1: w adresie 192.168.1.15 przy masce podsieci 255.255.255.0, 192.168.1 to adres sieci, a .15 identyfikuje urządzenie.

Przykład 2: w adresie 192.168.1.17 przy masce podsieci 255.255.0.0, 192.168 to adres sieci, a 1.17 identyfikuje urządzenie - to znaczy, że mamy większą pulę dostępnych adresów!

Przykład 3: w adresie 192.168.1.16 przy masce podsieci 255.255.255.192, 192.168.1 to adres sieci, a .16 identyfikuje urządeznie. W tym przypadku mamy ograniczoną pulę względem pierwszego przykładu.

Sposoby przypisywania adresów

Do przypisywania adresów wewnątrz sieci służy DHCP (Dynamic Host Configuration Protocol), ale można zrobić to też ręcznie (ryzykując potencjalne duplikaty adresów dla różnych urządzeń). Po wyczerpaniu się puli adresów, nowe urządzenia nie będą mogły się przypisać do sieci, póki żaden z adresów nie zostanie zwolniony. Większość urządzeń wysyła prośbę o odnowienie “dzierżawy” adresu po upływie połowy jej czasu.

Routing w IP

Routing w IP odpowiada za dostarczanie pakietów danych z jednego adresu do innego, za pomocą sieci komputerowych (zwykle wielu różnych, po drodze przechodząc przez masę urządzeń).

Postaram się opisać ten mechanizm w 6 kluczowych krokach (niektóre są opcjonalne). Dzięki temu łatwiej Ci będzie zrozumieć główne scenariusze, które mogą się wydarzyć w trakcie routingu IP oraz za co tak dokładnie odpowiada.

Opis przykładu

Przykładem będzie wysłanie prostej wiadomości tekstowej przez komunikator. Ta wiadomość to “cześć”. Taka wiadomość ma 5 znaków więc używając standardowego kodowania ASCII, będzie ważyć 5 bajtów. Sam standardowy nagłówek IP waży 20 bajtów więc do kupy mamy ich 25. Piszę o tym dlatego, że w tym przykładzie nie uwzględniamy jeszcze istnienia TCP, który pozwala dzielić większe wiadomości na pakiety (o tym później). Mamy więc do wykorzystania około 1500 bajtów, co jest najczęściej spotykanym limitem rozmiaru pakietu (MTU - Maximum Transmission Unit) w sieciach Ethernet.

Krok 1 - Tworzenie i wysłanie wiadomości

Piszesz wiadomość, klikasz “wyślij” i z Twojego komputera wychodzi pakiet danych, a następnie trafia do routera. Ten pakiet musi zawierać publiczny adres IP adresata.

Krok 2 - Router decyduje o dalszej trasie

Kiedy trafi do routera, urządzenie to decyduje za pomocą tablicy routingu, jaka powinna być dalsza trasa wiadomości. Ustala to na przykład przy pomocy protokołu OSPF, który dzięki komunikowaniu się z innymi routerami w sieci, ustala optymalną trasę danych, uwzględniając obciążenie, awarie i inne czynniki. Ciekawostka - OSPF używa algorytmu Dijkstry do ustalani najkrótszej drogi pakietu. Tego samego algorytmu używają często systemy nawigacji GPS.

Krok 3 - Podróż przez wiele routerów

Internet to siec wielu połączonych sieci. To znaczy, że nim nasze dane trafią na docelowe urządzenie, miną najprawdopodobniej więcej niż 1 router (chyba, że to lokalne połączenie). Takie przechodzenie między nimi nazywa się ”skokami”. W każdym z nich powtarza się decydowanie o najszybszej ścieżce przy pomocy preferowanych protokołów lub za pomocą ręcznie konfigurowanych tablic routingu.

Krok 4 - Jesteśmy na miejscu

Ostatni router odbiera informację i kieruje ją prosto na urządzenie docelowe.

Tagi:



Podobne artykuły

4 min. czytania

Jak działa i skąd się wziął internet

Niekiedy można mieć wrażenie, że internet jest z nami od zawsze. Czy wiemy jednak jak i kiedy powstał? Jakie są podstawy jego działania?

3 min. czytania

TCP/IP - zrozumieć potężny duet

We wcześniejszym artykule przyjrzeliśmy się temu jak działa samo IP. Jednak to dopiero ich duet nazywany jest początkiem rewolucji internetowej. Czym jest TCP (...

4 min. czytania

HTTP, wszystko co musisz wiedzieć

Do czego służy najbardziej znany wśród webdeveloper’ów protokół? Czym się różnią jego wersje? Wszystkie niezbędne informacje w jednym artykule.

5 min. czytania

Typy zapytań HTTP

Wiesz co to GET i POST, ale czy używałeś TRACE albo CONNECT? Używać PUT czy PATCH? Odpowiemy sobie dzisiaj na te pytania.