12. Zadania i protokoły warstwy sieciowej

12.2. Adresowanie IPv4

Jednym z kluczowych zadań warstwy sieciowej jest adresowanie. Adresowanie w sieciach IP jest bardzo podobne do adresowania, którego używamy na co dzień. Oczywiście na poziomie logicznym mechanizm adresowania jest inny. Hosty w sieci są pogrupowane w celu łatwego zarządzania i adresowania. Podobnie jak my mieszkamy na konkretnych ulicach miast pod konkretnymi adresami. Dzięki temu przesyłka z AliExpress bez problemu dotrze do odbiorcy. Najpierw statkiem do Polski, potem koleją do Twojego miasta, a potem samochodem na ulicę i numer domu. Jest to bardzo podobne do adresowania hosta. Pakiety wysyłane między sieciami najpierw docierają do sieci, do której należy host, a następnie są wysyłane do określonego hosta. Ten rodzaj adresowania nazywa się adresowaniem hierarchicznym, ponieważ najpierw odczytywana jest informacja ogólna, czyli w przypadku przesyłania danych, adres sieciowy, a następnie informacje szczegółowe, czyli adres IP konkretnego hosta.

W sieci komputerowej hosty mogą komunikować się ze sobą na trzy sposoby:

·         za pomocą transmisji pojedynczej,

·         za pośrednictwem multiemisji,

·         za pośrednictwem transmisji broadcast.

Transmisja unicast (pojedyncza) jest najbardziej powszechna i jest używana do typowego połączenia między dwoma hostami. Na przykład, gdy klient wysyła żądanie do serwera, używa do tego transportu emisji pojedynczej.

Korzystanie z transmisji multicast (multiemisji) może znacznie zmniejszyć zużycie przepustowości w sieci, ponieważ pojedynczy pakiet nie jest wysyłany do wielu hostów osobno, jak w przypadku transmisji unicast, ale wysyłany jest jeden pakiet, który może dotrzeć do wielu odbiorców jednocześnie.

Routery mogą używać multiemisji do wymiany informacji o routingu. W transmisji multicastowej wykorzystywana jest specjalna pula adresów, zwana adresami grupowymi, a w protokole IPv4 jest to zakres pokazany poniżej:

od 224.0.0.0 do 239.255.255.255

Broadcast z kolei wysyła pakiet do wszystkich hostów w danej sieci. Używany jest do tego specjalny adres, adres rozgłoszeniowy, z którego pakiety odebrane przez wszystkie pozostałe porty przyłączone do danej sieci (domeny rozgłoszeniowej). Ten rodzaj transportu jest najczęściej używany w sieciach lokalnych, a broadcast jest rzadko używany do komunikowania się z hostami poza daną siecią lokalną. W sieci lokalnej w warstwie łącza danych informacją rozgłoszeniową jest adres MAC, którego wszystkie bity mają wartości 1 (FF:FF:FF:FF:FF:FF).

Zakładając, że stacja A chce wysłać dane do stacji B, lecz nie zna jej adresu MAC, a wyłącznie adres IP. Stacja A wysyła wówczas ramkę rozgłoszeniową (broadcast), która zawiera adres IP stacji B, dociera on do wszystkich stacji w danej sieci. Wtedy stacja B po otrzymaniu ramki rozgłoszeniowej (tak jak wszystkie stacje) porównuje wysłany w ramce adres IP ze swoim i po stwierdzeniu, że są jednakowe, wysyła stacji A swój adres MAC – połączenie może zostać nawiązane.

W całej puli adresów IPv4 występują różne grupy adresów, tzw. specjalnego przeznaczenia. Są to adresy, które nie są używane do komunikacji WAN. Wśród tych specjalnych adresów znajdują się tak zwane adresy pętli zwrotnej. Adres pętli zwrotnej to nic innego jak własny adres. Oprócz prawidłowego adresu IP używanego do komunikacji, każdy komputer w sieci ma również przypisany swój własny adres, najczęściej jest to adres 127.0.0.1. Ponadto każdy adres w puli służy do weryfikacji konfiguracji IPv4 na hoście.

Innym specjalnym rodzajem adresu jest adres lokalny łącza. Te typy adresów są używane, gdy host powinien uzyskać adres IP z serwera DHCP, ale z jakiegoś powodu adres jest niedostępny. Host otrzyma wtedy adres z lokalnej puli adresów łącza. Transfery danych przy użyciu takich adresów mogą odbywać się tylko w sieci lokalnej, w której działają dane hosta. Istnieje również zestaw adresów specjalnych, adresy TEST-NET. Podobnie jak w przypadku adresów połączonych lokalnie, są one wykorzystywane wyłącznie do komunikacji w sieci lokalnej, w celach edukacyjnych. Można ich używać w dokumentacji lub przykładach, takich jak kursy online. Nie należy ich jednak używać na stałe. Specjalne zakresy adresów przedstawiono w poniższej tabeli:

Zakres adresów

Nazwa

127.0.0.1 – 127.255.255.254

Pętla zwrotna (Loopback)

169.254.0.1 – 169.254.255.254

Łącze lokalne (Local-Link)

192.0.2.0 – 192.0.2.254

Edukacyjne (Test-Net)