Adresacja fizyczna i logiczna IP i MAC
IP (Internet Protocol) jest bezpołączeniowym protokołem warstwy sieciowej (warstwa 3 modelu ISO/OSI) odpowiedzialnym za transport danych w sieci od nadawcy do odbiorcy. Jest to jeden z podstawowych mechanizmów wykorzystywanych w Internecie i służy zazwyczaj jako wspólna platforma dla innych protokołów wyższych warstw.
Funkcje protokołu IP są następujące:
enkapsulacja pakietów w ramki, które transmitowane są przez fizyczną infrastrukturę sieciową,
udostępnianie podstawowych usług dostarczania tych pakietów,
zapewnienie fragmentacji (podział pakietu na mniejsze części, które będą akceptowane przez każdą sieć i defragmentacji pakietów (ponowne złożenie podzielonego pakietu)
Protokół IP stosuje logiczną adresację sieci, która jest niezależna od adresów fizycznych MAC (Medium Access Control) przypisanych do konkretnych urządzeń sieciowych. Dzięki temu możliwe jest tworzenie logicznych topologii sieci niezwiązanych z połączeniami fizycznymi, a także adresowanie jednego interfejsu sieciowego kilkoma różnymi adresami IP.
Adres IP:
Najważniejszym warunkiem pracy komputera w sieci lokalnej/Internecie jest posiadanie adresu sieciowego. Adresy sieciowe zawsze mają wartość liczbową. Można je wyrażać w systemie liczenia o podstawie 2 (dwójkowym - np. 01000011.00010010.01101110.00011010), 10 (dziesiętnym - np. 67.18.110.26), a nawet 16 (szesnastkowym - np. 43:12:6E:1A).
Zespół IETF — architekci sieci Internet i protokołu IP — wybrał identyfikację stacji i sieci IP za pomocą adresów liczbowych, przyjaznych dla komputera. Każda sieć/komputer w Internecie ma własny, niepowtarzalny adres liczbowy - najczęściej podawany w formacie dziesiętnym - np. 67.18.110.26 - nazwanym: adres IP / numer IP.
Pierwotna, 4. wersja protokołu IP (IPv4) oparła się na 32-bitowych adresach dwójkowych (np. 01000011.00010010.01101110.00011010). Każdy adres składa się z czterech rozdzielonych kropkami liczb 8-bitowych. noszących nazwę oktetów. Liczby dwójkowe są bardzo przyjazne dla komputera, ale niezbyt przyjazne dla użytkownika. Zabezpieczono się więc bardziej intuicyjnym - dziesiętnym systemem adresowania (dziesiętnym - np. 67.18.110.26).
32-bitowa architektura adresowa protokołu IPv4 spowodowała teoretyczną możliwość obsługi 4 294 967 296 adresów IP. Liczba ta początkowo wydawała się absurdalnie nadmierna. W różny sposób marnowano adresy, m.in. gromadząc i nie wykorzystując ich dużych bloków, przypisując nieodpowiednie maski podsieci itp. - co przyczyniło się w chwili obecnej do prawie całkowitego wyczerpania wolnych adresów IP - czyli braku możliwości większej rozbudowy sieci Internet.
Na ukończeniu jest nowa, 6. wersja protokołu IP (IPv6), cechująca się radykalnie odmienną architekturą adresową i reprezentacją adresów jako sekwencją liczb rozdzielanych dwukropkami. Adres IPv6 będzie składał się ze 128 bitów przy wykorzystaniu całkowicie nowego, efektywnego podziału na klasy. Niestety rozpowszechnienie nowej wersji zajmie prawdopodobnie kilka lat, dlatego nadal obowiązującym standardem jest protokołu IPv4.
Konwersja przyjaznych dla komputerów adresów dwójkowych na system dziesiętny gwarantowała ich lepsze rozumienie przez ludzi. Zdefiniowano notację dziesiętną z kropkami, w której każdy oktet jest przedstawiany w postaci liczby dziesiętnej z zakresu 0 - 255, a poszczególne oktety rozdzielane są kropkami. Wynika stąd, że adresy IP mieszczą się w zakresie od 0.0.0.0 do 255.255.255.255. Obie te wartości (0.0.0.0 i 255.255.255.255) są jednak zarezerwowane — nie można ich przypisywać żadnym systemom końcowym.
Adresy IP podzielono na klasy przystosowane do obsługi sieci dużych, średnich i małych. Różnica między klasami tkwi w liczbie bitów przydzielonej adresowi sieci i adresowi stacji. Istnieje pięć następujących klas adresów IP: klasa A, klasa B, klasa C, klasa D, klasa E.
Każdy adres IP składa się z dwóch części — adresu sieci i adresu stacji. Poszczególne klasy adresów charakteryzują się odmiennymi liczbami obsługiwanych sieci i stacji.
Adresy klasy A:
Adresy klasy A przeznaczono do obsługi bardzo dużych sieci. Ponieważ zapotrzebowanie na takie sieci było minimalne, zaprojektowana architektura znacznie ograniczała liczbę dopuszczalnych sieci klasy A, jednocześnie maksymalizując liczbę dopuszczalnych w nich stacji.
W adresie IP klasy A adres sieci zajmuje pierwszy oktet, natomiast adres stacji pozostałe trzy. Pierwszy bit adresu klasy A, odpowiadający wartości dziesiętnej 128, jest zawsze równy 0. Ogranicza to największą liczbę sieci IP klasy A do 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127. Korzystając z siedmiu bitów oktetu, nie można oznaczyć większej liczby sieci. Ostatnie 24 bity (3 liczby w notacji dziesiętnej z kropkami) adresu klasy A są adresem stacji. Dopuszczalny zakres adresów klasy A sięga od 1.0.0.0 do 126.255.255.255.
Ponieważ pierwszy oktet adresu klasy A przechowuje numer sieci, a pozostałe niepowtarzalny adres stacji w danej sieci, w opisie numerów sieci adresy stacji zwyczajowo zastępuje się zerami.
Adres 127.0.0.0 również powinien być adresem sieci klasy A, jednak jest zarezerwowany do testowania stacji i nie można go przypisać żadnej sieci. Patrząc z Szerszego punktu widzenia, jest to dość rozrzutne rozwiązanie, wyłączające z użycia znaczącą część puli adresowej IP.
Każda sieć klasy A może obsługiwać 16 777 214 stacji. Wartość tę oblicza się, podnosząc 2 do potęgi 24, a następnie odejmując 2. Ostatnie działanie jest konieczne, gdyż adres stacji złożony z samych zer jest zarezerwowany do identyfikacji sieci, natomiast adres złożony z samych jedynek do rozgłaszania (broadcast) w tej sieci.
Klasa A - zakres od 1.0.0.0 do 126.255.255.255
Sieć (7 bitów) Komputery (24 bity)
0 |
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
Adresy klasy B:
Adresy klasy B przeznaczono do obsługi sieci dużych i średnich. Dopuszczalny zakres adresów stacji klasy B sięga od 128.1.0.0 do 191.255.255.255. Fundament matematyczny tej klasy jest dość prosty. Pierwsze dwa oktety adresu IP klasy B oznaczają numer sieci, a pozostałe dwa numer stacji. Pierwsze dwa bity pierwszego oktetu adresu klasy B wynoszą 10 (dwójkowo), natomiast pozostałe są dowolne. Wartość pierwszego oktetu adresu klasy B mieści się więc w zakresie od 128 do 191 (128 + 32+16 + 8 + 4 + 2+1).
Ostatnich 16 bitów (2 oktety) określa dopuszczalne adresy stacji. Każda sieć klasy B może obsługiwać 65 534 stacje. Wartość tę oblicza się, podnosząc 2 do potęgi 16, a następnie odejmując 2 (dla wartości zarezerwowanych przez protokół IP).
Z podobnego obliczenia matematycznego wynika możliwość zdefiniowania co najwyżej 16 382 sieci klasy B.
Klasa B - zakres od 128.1.0.0 do 191.255.255.255
Sieć (14 bitów) Komputery (16 bitów)
1 |
0 |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
Adresy klasy C:
Adresy klasy C przeznaczono do obsługi dużej liczby małych sieci. Klasę tę można uważać za przeciwieństwo klasy A. W adresie klasy A pierwszy oktet określa sieć, a pozostałe trzy - stacje, natomiast w adresie klasy C pierwsze trzy określają sieć, a ostatni - stacje.
Pierwsze trzy bity pierwszego oktetu adresu klasy C wynoszą 110, tj. dziesiętnie 128 + 64 = 192. Jest to dolna granica przestrzeni adresowej klasy C. Trzeciemu bitowi, o wartości 0, odpowiada wartość dziesiętna 32. Zatem górna granica przestrzeni adresowej klasy C wynosi 255 - 32 = 223. Dopuszczalny zakres adresów klasy C wynosi więc 192.0.0.0 -223.255.255.255.
Ostatni oktet adresuje stacje. Każda sieć klasy C może obsługiwać 254 stacje (teoretycznie 256, ale numery 0 i 255 są zarezerwowane). Maksymalnie może istnieć 2 097 150 sieci klasy C.
Wartości 0 i 255 są w adresowaniu stacji IP zarezerwowane. Adresy IP, których II wszystkie oktety stacji mają wartość 0, identyfikują sieć lokalną. Adresy IP, których wszystkie oktety stacji mają wartość 255, obsługują rozgłaszanie do wszystkich systemów końcowych w sieci o danym numerze.
Klasa C - zakres od 192.0.0.0 do 223.255.255.255
Sieć (21 bitów) Komputery (8 bitów)
1 |
0 |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
Adresy klasy D:
Adresy klasy D służą do multiemisji (multicast) w sieciach IP. Mechanizmy tej transmisji mają ograniczone zastosowanie. Adres multiemisji jest niepowtarzalnym adresem sieciowym, kierującym pakiety do z góry zdefiniowanych grup adresów IP. Jedna stacja może przesyłać jeden strumień, datagramów, kierowany do wielu odbiorców jednocześnie. Jest to mechanizm znacznie bardziej wydajny od tworzenia oddzielnego strumienia dla każdego odbiorcy. Ponieważ multiemisje umożliwiają istotne zmniejszenie ruchu w sieci, długo były uważane za pożądaną cechę sieci IP. Protokół IPv6 szeroko wykorzystuje ten mechanizm.
Przestrzeń adresowa klasy D, podobnie do innych, jest matematycznie ograniczona. Pierwsze cztery bity adresu klasy D wynoszą 1110, co odpowiada wartości dziesiętnej 128 + 64 + 32 = 224. Wyzerowanie czwartego bitu powoduje górne ograniczenie przestrzeni adresowej klasy D do 255 - 16 = 239. Przestrzeń ta ma więc zakres 224.0.0.0 -239.255.255.254.
Pełne wyszczególnienie czterech oktetów na górnej granicy oznacza, że adresowanie multiemisji nie korzysta z podziału na numer sieci i numer stacji. Adresy tej klasy nie obsługują transmisji do konkretnych sieci ani stacji.
Adresy klasy D obsługują dostarczanie datagramów multiemisji w sieciach prywatnych do grup adresów IP systemów końcowych. Nie ma potrzeby odróżniania adresów sieci i stacji. Cała przestrzeń adresowa identyfikuje grupy adresów IP klasy A. B lub C. Obecnie proponuje się inne rozwiązania multiemisji IP, pozwalające uniknąć złożoności przestrzeni adresowej klasy D.
Adresy klasy E:
Adresy klasy E zespół IETF zarezerwował do własnych badań. Nie można korzystać z nich w Internecie. Pierwsze cztery bity adresu klasy E wynoszą 1111, co daje zakres poprawnych adresów 240.0.0.0 - 255.255.255.255. Ponieważ jest to klasa eksperymentalna, wykorzystywana tylko przez zespół IETF, nie będziemy jej omawiać.
Maska sieciowa (IPv4)
Jest to adres IP, który ma jedynki na pozycjach bitów odpowiadających adresom sieciowym i zera na pozostałych ( odpowiadających adresom hosta ). Klasa adresów sieciowych wyznacza maskę sieciową.
Adresy klasy A mają maskę
1111111100000000000000000000000
czemu w zapisie kropkowo-dziesiętnym odpowiada 255.0.0.0
Adresy klasy B
11111111111111110000000000000000
( 255.255.0.0 )
Adresy klasy C
11111111111111111111111100000000
( 255.255.255.0 )
Dla wygody używany jest najczęściej zapis kropkowodziesiętny. Należy jednak pamiętać że maska
( jak również adres IP ) zapisana jest stricte w postaci binarnej.
Należy również zauważyć, że zaczęto nadawać maski nie będące czysto maskami wg klasy adresów IP ( czyli takich, w których liczba jedynek jest wielokrotnością oktetów - liczby 8 ), lecz zwiększając liczbę jedynek przy takiej samej liczbie bitów (32).
Umożliwiło to uzyskanie maski np.
11111111111111111111111111100000
( 255.255.255.224 ) co pozwala na objęcie podsiecią 30 hostów.
Poniższa tabela przedstawia wszystkie możliwe podsieci dla zakresu od 2 do 254 hostów:
Liczba hostów
|
Maska podsieci |
|
|
Binarne |
Dziesiętne |
2 6 14 30 62 126 254 |
11111111111111111111111111111100 11111111111111111111111111111000 11111111111111111111111111110000 11111111111111111111111111100000 11111111111111111111111111000000 11111111111111111111111110000000 11111111111111111111111100000000 |
255.255.255.252 255.255.255.248 255.255.255.240 255.255.255.224 255.255.255.192 255.255.255.128 255.255.255.0 |
Adresy prywatne:
Z klasy adresowej A, B, C część adresów IP zarezerwowanych jest dla sieci lokalnych. Adresy te nie są widziane w Internecie - ani nie mogą być w nim używane. Adresy prywatne służą do identyfikacji jednego konkretnego komputera w danej sieci lokalnej. Ponieważ adresy te nie są widoczne w Internecie - mogą się powtarzać w różnych sieciach lokalnych nie powodując konfliktu:
- Adresy prywatne z klasy A: 10.0.0.0 - 10.255.255.255,
- Adresy prywatne z klasy B: 172.16.0.0 - 172.31.0.0,
- Adresy prywatne z klasy C: 192.168.0.0 - 192.168.255.0.
Adresy MAC (Media Access Control) są podzbiorem adresów warstwy 2 modelu OSI. Adres MAC ma długość 48 bitów i jest pokazany na rysunku Fizyczny adres... w postaci 12 cyfr hexadecymalnych. Składa się z dwóch podstawowych części: w pierwszej z nich zapisany jest kod producenta karty sieciowej, przydzielany przez IEEE (Institute of Electrical and Electronic Engineers), a w drugiej - unikatowy adres karty sieciowej tego producenta. W dolnej części rysunku pokazano adres rozgłoszeniowy (Broadcast Address) karty Ethernet, używany przy stosowaniu protokołu ARP do automatycznego odszukiwania adresów fizycznych stacji sieciowych i routerów. Adresem rozgłoszeniowym jest 48 jedynek zapisanych w sześciu bajtach adresu