1) | 0.1.1.1; | 0.1.1.2; | 0.1.2.2; | 0.1.0.1; | 0.2.1.2; |
2) | 10.0.0.255; | 10.255.0.255; | 10.255.255.0; | 10.10.10.10; | 10.0.0.0; |
3) | 127.13.1.1; | 127.9.2.1; | 127.1.1.1; | 127.34.21.1; | 127.255.25.3; |
4) | 128.12.1.1; | 128.12.255.255; | 128.12.1.1; | 128.13.45.21; | 128.14.28.2; |
5) | 148.12.0.1; | 148.12.1.0 | 148.12.1.1; | 128.12.0.3; | 148.12.1.255; |
6) | 190.43.23.1; | 190.43.23.2; | 190.48.23.3; | 190.43.23.4; | 190.48.23.5; |
7) | 192.44.0.1; | 192.44.0.255; | 192.44.7.1; | 192.44.7.1; | 192.44.7.155; |
8) | 201.0.0.1; | 201.0.0.2; | 201.0.0.3; | 201.0.0.4; | 201.0.0.5; |
9) | 223.0.255.0; | 223.0.255.25; | 223.0.255.55; | 223.0.255.52; | 223.0.255.254; |
10) | 224.2.244.1; | 224.2.244.2; | 224.2.244.5; | 224.2.244.9; | 224.2.244.250; |
Adres IP jest 32-bitowym identyfikatorem, unikalnym w całej intersieci, który jest przyznawany administracyjnie. Adres IP dzieli się na dwie części:
Numer sieci pełni podobną rolę co numer kierunkowy w sieciach telefonicznych. Pozwala ustalić, czy dany adres jest osiągalny bezpośrednio w sieci lokalnej, czy za pośrednictwem rutera. Numer sieci jest związany z konkretnym łączem umożliwiającym bezpośrednią komunikację pomiędzy węzłami. Może być to segment ethernetu, albo łącze modemowe. Z tego powodu komputer musi mieć tyle adresów IP, do ilu sieci jest przyłączony, gdyż adres IP nie identyfikuje tak naprawdę węzła, lecz jego dołączenie do sieci.
Cała przestrzeń adresowa jest podzielona na pięć klas. Klasę adresu określają jego najstarsze bity. Klasa adresu decyduje o długości numeru sieci i węzła. Klasy A, B i C są wykorzystywane do zwykłej adresacji węzłów:
Klasa A posiada jednobajtowy numer sieci i trzy bajty przeznaczone na numer węzła. Najstarszym bitem adresu należącego do klasy A jest 0.
Klasa B przeznacza po dwa bajty na numer węzła i sieci. Dwa pierwsze bity adresu z klasy B to '10'.
Klasa C używa 24 bitów na numer sieci i ośmiu na numer węzła. Najwyższe bity adresu klasy C to '110'.
Klasa D jest używana do adresacji węzłów uczestniczących w komunikacji grupowej (ang. multicasting). Każdy adres z klasy D identyfikuje inną grupę węzłów i rozpoczyna się bitami '1110'. Adres z klasy D jest dynamicznie przypisywany za pomocą IGMP (ang. Internet Group Management Protocol) węzłom zgłaszającym akces do danej grupy. Symulator nie obsługuje rozsyłania grupowego oraz adresów klasy D.
Klasa E jest przeznaczona do badań i eksperymentów. Pakiety zawierające adresy, które rozpoczynają się bitami '1111' nie powinny być przetwarzane przez zwykłe węzły.
Porównanie klas adresowych zawiera poniższa tabela:
Klasa | Najwyższe bity | Liczba sieci w klasie | Maks. liczba węzłów w sieci |
Zakres adresów |
A | 0 | 126 | 16 777 214 | 1 - 126 |
B | 10 | 16384 | 65 534 | 128.0 - 191.255 |
C | 110 | 2 097 152 | 254 | 192.0.0 - 223.255.255 |
D | 1110 | nie dotyczy | nie dotyczy | 224.0.0.0 - 239.255.255.255 |
E | 1111 | nie dotyczy | nie dotyczy | 240.0.0.0 - 254.255.255.255 |
Wśrod adresów należących do klas A, B i C są adresy o specjalnym znaczeniu, którymi nie wolno adresować węzłów. Poniżej opisano je używając następującej konwencji do symbolizowania adresu IP:
<127, *> | pętla wewnętrzna. Pakiet z takim adresem nie powinien pojawić się w sieci; |
<0, 0> | dowolny węzeł w dowolnej sieci. Używany jako adres nadawcy przez węzły, które nie znają własnego adresu; |
<*, 0> | dowolny adres w pewnej sieci. Może być użyty jako adres nadawcy; |
<-1, -1> | adres rozgłoszeniowy o zasięgu lokalnym. Nie powinien być przekazywany przez rutery; |
<*, -1> | ukierunkowany adres rozgłoszeniowy - może być używany jako adres odbiorcy i oznacza wszystkie węzły w sieci o podanym numerze. |
Nagłówek datagramu IP ma conajmniej 20 bajtów i może zostać przedłużony przez opcje. Opcje IP mają bardzo ograniczone zastosowanie i nie będą tu omawiane.
0 | 4 | 8 | 16 | 19 | 31 |
Wersja | IHL | Rodzaj obsługi | Długość całkowita | ||||||||||||||||||||||||||||
Identyfikator | Flagi | Przesunięcie fragmentu | |||||||||||||||||||||||||||||
Czas życia (TTL) | Protokół | Suma kontrolna | |||||||||||||||||||||||||||||
Adres nadawcy | |||||||||||||||||||||||||||||||
Adres odbiorcy |
IHL | (ang. Internet Header Length) długość nagłówka w 32-bitowych słowach (jaka jest maksymalna długość nagłówka?); |
Rodzaj obsługi | pole służy do oznaczenia sposobu obsługi datagramu. Każdy bit oznacza inny rodzaj wymagań, np: małe opóźnienie, duża przepustowość, niezawodność; |
Długość całkowita | długość całego datagramu razem z nagłówkiem wyrażona w bajtach (jaka jest maksymalna długość pakietu IP?); |
Identyfikator | identyfikator pakietu służący do składania pakietu z fragmentów. Wszystkie fragmenty datagramu dziedziczą jego identyfikator; |
Flagi | 3 bity dotyczące fragmentacji:
|
Przesunięcie fragmentu | określa położenie fragmentu względem początku oryginalnego pakietu; |
Czas życia - TTL (ang. Time To Live) |
oznacza liczbę etapów, które pakiet może jeszcze przejść. Pole jest zmniejszane przez każdy ruter przesyłający pakiet. Jeśli po zmniejszeniu wartość pola osiągnie zero, pakiet jest usuwany; |
Protokół | identyfikator protokołu przenoszonego przez IP; |
Suma kontrolna | suma kontrolna nagłówka IP; |
Adres nadawcy | adres IP pierwotnego nadawcy datagramu; |
Adres odbiorcy | adres IP ostatecznego odbiorcy datagramu. |
Jak wspomniano powyżej, IP jest bezpołączeniowy. Może się więc zdażyć, że pakiety tworzące jeden strumień (np. kolejne części przesyłanego pliku) będą przesyłane różnymi drogami przez sieć. Każdy pakiet musi więc posiadać dokładny adres swego źródła i celu. Adres celu służy do wyznaczania trasy pakietu, a adres źródła - jako informacja, gdzie wysłać odpowiedź lub komunikat o spowodowanym przez pakiet błędzie.
ARP jest używany do tłumaczenia adresów internetowych na adresy sprzętowe używane przez sieci lokalne. ARP może pracować z tymi rodzajami sieci, które posiadają mechanizm rozgłaszania.
Zasada działania ARP polega na wymianie komunikatów żądanie - odpowiedź. Węzeł szukający adresu sprzętowego związanego z określonym adresem IP rozgłasza pakiet ,,Żądanie ARP''. Każdy węzeł dołaczony do sieci odbiera taki komunikat i jeśli stwierdzi, że szukany jest jego adres IP - zapisuje w pamięci adres sprzętowy i IP nadawcy i wysyła pakiet ,,Odpowiedź ARP''. Jeśli jednak żaden z węzłów nie odpowie na żądanie, komputer szukający adresu wyśle je ponownie po upłynięciu pewnego czasu (standardowo 1 s). Jeśli żadna z trzech kolejnych prób nie powiedzie się - adres jest uznawany za nieosiągalny.
ICMP jest
ścisle związany z IP, chociaż zaprojektowano go jako osobny
protokół. Podstawowym zadaniem ICMP jest powiadamianie o błędach
związanych z doręczaniem datagramów IP. ICMP posiada też kilka
rodzajów komunikatów informacyjnych, zgrupowanych w pary pytanie -
odpowiedź.
Nagłówki ICMP nie mają jednolitej struktury, ich zawartość zależy
od dwu ośmiobitowych pól:
Typy komunikatów informacyjnych:
echo i odpowiedź na echo używany do testowania osiągalności węzłów IP (program ping). Węzeł, który otrzymał komunikat ,,echo'' ma obowiązek wysłania odpowiedzi. prośba o informacje
i odpowiedź z informacjamisłuży do uzyskania adresu sieci. Przestarzałe prośba o maskę podsieci
i odpowiedź z maską podsiecisłuży do uzyskania maski podsieci. Przestarzałe prośba o znacznik czasu
i odpowiedź ze znacznikiem czasuzaprojektowane do synchronizacji czasu. Przestarzałe Komunikaty informacyjne ICMP z wyjątkiem pary echo - echo reply mają bardzo ograniczone zastosowanie, gdyż ich funkcje przejęły wyspecjalizowane protokoły: BOOTP i DHCP obsługują konfigurację maszyn bezdyskowych, a NTP jest najbardziej powszechnym protokołem synchronizacji czasu.
Komunikaty o błędach ICMP są reakcją na błędy powodujące zazwyczaj usunięcie pewnego datagramu IP. Komunikat o błędzie zawiera pierwsze 64 bajty (w tym nagłówek) pakietu, który spowodował błąd:
Bardzo ważną zasadą, wprowadzoną w celu zapobieżenia przeciążeniom sieci i lawinom pakietów jest zakaz wysyłania komunikatu o błędzie spowodowanym przez komunikat rozgłoszeniowy IP lub inny komunikat o błędzie ICMP.
odbiorca nieosiągalny
(ang. destination unreachable)Wysyłane przez ruter, który nie potrafi obsłużyć pakietu, gdyż nie zna drogi do jego odbiorcy, albo przez odbiorcę, który nie obsługuje przenoszonego przez IP protokołu lub usługi; przekroczenie terminu
(ang. time exceeded)wysyłany przez ruter, który usuwa pakiet z TTL=0, lub przez odbiorcę, który usuwa fragmenty niekompletnego pakietu z pamieci, gdyż upłynął termin ich złożenia; tłumienie nadawcy
(ang. source quench)służy do powiadomienia nadawcy pakietu o zatorze w sieci powodującym usunięcie pakietu. Jego wysłanie nie jest obligatoryjne. Komunikat powinien być wysyłany raz na kilkanaście lub kilkadziesiąt usuwanych pakietów pochodzących z danego źródła; kłopot z parametrami datagramu
(ang. parameter problem)wysyłany przez węzeł, który nie potrafi zinterpretować któregoś pola w nagłówku IP; przekierowanie
(ang. redirect)komunikat wysyłany przez pierwszy ruter na drodze pakietu, jeśli musi on wysłać pakiet przez ten sam interfejs, z którego go otrzymał.