Sposób statyczny polega na przydzieleniu przez administratora sieci komputerowej stałego adresu dla konkretnego interfejsu. Adres taki musi potem zostać przypisany do konkretnego interfejsu przez użytkownika danej stacji roboczej. Takie podejście wymaga od administratora, jak i użytkownika wzajemnej komunikacji. Wymaga też bezwzględnego przestrzegania zasad określonych dla poprawnych adresów IP.
Lepszym rozwiązaniem jest przydzielanie adresów IP w sposób dynamiczny. Wśród wielu protokołów, które są do tego celu używane można wyróżnić: ARP/RARP BOOTP DHCP Protokoły te zostaną omówione dokładniej na następnych slajdach.
O ile MAC adres nadawcy ramki jest znany, o tyle adres odbiorcy może być nieznany. Przed wysłaniem ramki pole przeznaczone na ten adres musi zostać uzupełnione.
Zadaniem protokołu ARP jest zatem odwzorowanie 32 bitowego adresu IP (w IPv4) w 48 bitowy adres sprzętowy.
Adresy sprzętowy przechowywany jest w tablicy ARP, która jest swego rodzaju pamięcią podręczną. Przed wysłaniem ramki host sprawdza tablicę ARP, czy znajduje się już tam adres hosta docelowego. Jeśli jest już tam ten adres wpisany, to ramka jest wysyłana.
Natomiast jeśli nie ma tam wpisanego MAC adresu to komputer X wysyła żądanie przesłania MAC adresu komputera Y, na adres rozgłoszeniowy 255.255.255.255. Pakiet taki zostanie odebrany przez wszystkie komputery w sieci. Komputer Y, którego adres IP został przypisany do poszukiwanego MAC adresu odpowie poprzez wysłanie swojego adresu sprzętowego. Adres ten zostanie wpisany w tablicę ARP hosta X, który wysyłał żądanie ARP. Dla zmniejszenia nakładów potrzebnych do ustalenia MAC adresu komputera X, który żądał przesłania adresu również komputer Y, który odpowiedział wysyłając swój adres sprzętowy zapisuje sobie adres fizyczny komputera X.
Gdyby za każdym razem, każdy komputer wysyłał taki żądanie na adres rozgłoszeniowy, to nastąpiłoby znaczne obciążenie sieci. Z tego względu algorytm ten ma kilka udoskonaleń. Jednocześnie z przesłaniem żądania ARP wszystkie komputery, które to żądanie otrzymały zapisują sobie MAC adres nadawcy takiego żądania (komputera X) do tablicy ARP oraz odpowiedź komputera Y. Zwykle pierwsze zapytanie ARP jest wysyłane tuż po uruchomieniu komputera. Gdy poszukiwanego komputera nie ma w sieci lokalnej na zapytanie odpowiada router podając MAC adres swojego interfejsu.
Poszczególne pola pakietu mają następujące znaczenie: Typ sprzętu - 2B - określa typ interfejsu sieciowego stosowanego przez nadawcę. W przypadku interfejsu Internet wpisana jest tam wartość 1. Typ protokołu - 2B - podaje typ protokołu, który wysłał żądanie (odpowiedź). W przypadku protokołu IP wpisana jest tam wartość 0x0800. HLen - 1B - Długość adresu sprzętowego, w przypadku protokołu Ethernet 48 bitów. PLen - 1B - długość adresu protokołu warstwy sieciowej (L3), który został wyspecyfikowany w polu Typ protokołu. W przypadku IPv4 32 bity.
Adres sprzętowy nadawcy (ang. Sender hardwer address) - MAC adres urządzenia nadającego. Adres protokołowy nadawcy - logiczny adres urządzenia nadającego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu. Adres sprzętowy odbiorcy - podaje MAC adres urządzenia docelowego, pod warunkiem, że jest znany przez nadawcę. Adres protokołowy odbiorcy - logiczny adres urządzenia docelowego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu.
W przypadku wysyłania pakietu ARP na adres rozgłoszeniowy w pole adresu sprzętowego wpisywana jest wartość sprzętowego adresu rozgłoszeniowego. W przypadku protokołu Ethernet jest to wartość MAC FF:FF:FF:FF:FF:FF.
Innym bardzo uciążliwym mankamentem jest identyfikowanie hosta tylko po MAC adresie. Zatem jest bezużyteczny w sieciach, w których adresy sprzętowe są przydzielane w sposób dynamiczny.
Protokół ten ma obecnie marginalne znaczenie również ze względu na fakt, że nie zwraca wielu innych, bardzo potrzebnych informacji o sieci. Rozwinięciem tego protokołu są BOOTP oraz DHCP, które zastąpiły RARP.
Protokół BOOTP używa w warstwie transportowej do komunikacji protokołu UDP.
Op - 1B - typ wiadomości, która będzie przesyłana. Może być to żądanie przesłania pakietu BOOTP (BOOTREQEST) lub odpowiedź na takie żądanie (BOOTREPLY). HType - 1B - typ adresu sprzętowego. HLen - 1B - długość adresu sprzętowego. Hops - określa liczbę serwerów, przez które komunikat był już przesyłany. Na początku klient ustawia wartość tego pola na 0. W czasie przesyłania tego komunikatu do kolejnych serwerów liczba ta (Hops) jest zwiększana o 1. XID - 4B - generowana losowo liczba całkowita, używana do identyfikacji żądania wysłanego przez klienta z odpowiedzią na to żądanie Sekundy - 2B - pole przechowujące czas wyrażony w sekundach od uruchomienia klienta. Nie używane - 2B - pole nie używane
Yiaddr - 4B - przydzielony adres klienta. Pole adresu ustawiane przez serwer. Siaddr - 4B - adres IP serwera, który jest używany w procesie uruchamiania. Giaddr - 4B - adres IP bramy. Chaddr - 16B - adres sprzętowy klienta. Nazwa serwera - 64B - pole ustawiane przez serwer. Nazwa pliku ładującego - 128B. Plik używany przy starcie. Dane specyficzne dla producenta.
Standard tego protokołu został opublikowany w roku 1993 w dokumencie RFC 2131.
Do współpracy z nowszą wersją protokołu IPv6 został opracowany protokół DHCPv6. Standard tego protokołu został opublikowany w dokumencie RFC 3315
Oprócz dostarczania adresu IP protokół DHCP został zaprojektowany również do przekazywania innych cennych parametrów konfiguracyjnych. Te dodatkowe funkcjonalności zostały opisane w dokumencie RFC 2132.
Alokacja ręczna – adres IP dla klienta jest przydzielany przez administratora. Protokół DHCP przesyła adres do klienta. Alokacja automatyczna – protokół DHCP przypisuje klientowi stały adres IP. Alokacja dynamiczna – protokół DHCP dzierżawi klientowi adres IP na pewien ograniczony odcinek czasu.
DHCP Offer - oferta DHCP DHCP Request - żądanie DHCP DHCP Acknowledge - odpowiedź na żądanie
Po uruchomieniu stacji klienckiej rozpoczyna się faza inicjacji. Klient rozgłasza w sieci komunikat poszukiwania serwera DHCP (DHCPDISCOVER). Jeśli serwer DHCP znajduje się w innej sieci, to musi być zapewnione przesyłanie tego komunikatu przez router. Serwery, które otrzymały komunikat DHCPDISCOVER i mogą przydzielić adres IP wysyłają komunikat oferty DHCPOFFER. W komunikacie tym zawarte są: adres IP i dane konfiguracyjne. Klient może otrzymać odpowiedzi od różnych serwerów musi zatem wybrać jedną z tych ofert. Po wybraniu oferty, klient wysyła do wybranego serwera komunikat żądania (DHCPREQUEST) prosząc o dane konfiguracyjne.
Klient po otrzymaniu potwierdzenia wchodzi w stan powiązania. W stanie tym klient ma przypisany adres IP danej sieci. Klient ma przypisane trzy liczniki czasu dla informacji o dzierżawie (wygaśnięcie, odnowienie, ponowne nawiązanie dzierżawy) Klient ma ustawione parametry dzierżawy i w zależności od tych parametrów po upływie 50% czasu dzierżawy lub też dopiero po upłynięciu dzierżawy próbuje odnowić dzierżawę. Wysyła w tym celu do serwera udzielającego dzierżawy adresu IP komunikat DHCPREQUEST. Możliwe jest też zwolnienie adresu IP przed czasem. Klient wysyła wtedy komunikat DHCPRELEASE.
Jeśli klient nie otrzyma od serwera odpowiedzi w określonym czasie, to przechodzi do rozgłaszania komunikatu DHCPREQUEST do wszystkich serwerów DHCP. Jeśli klient otrzyma pozytywną odpowiedź to przechodzi do stanu powiązania.
Klient wysyła komunikat DHCPDISCOVER Serwer(y) odpowiadają komunikatem DHCPOFFER Klient po wybraniu oferty wysyła komunikat DHCPREQUEST Serwer potwierdza wysyłając komunikat DHCPACK
Różnica występuje tylko na dwóch polach: Pole Flagi — 2B - jest odpowiednikiem nie używanego pola w pakiecie BOOTP, w którym wszystkie bity pola mają wartość 0. W pakiecie DHCP najstarszy bit tego pola ma wartość 1, zaś wszystkie pozostałe mają wartość 0. Wartość najbardziej znaczącego bitu oznacza komunikat rozgłoszeniowy. Klient DHCP może zażądać od serwera DHCP wysłania odpowiedzi przy pomocy komunikatu rozgłoszeniowego IP. Pole Opcje — 64B jest odpowiednikiem pola Dane producenta w komunikatach BOOTP. Pole to zawiera dodatkowe dane konfiguracyjne, takie jak: okres dzierżawy, maska podsieci dla lokalnej sieci, adres IP serwera czasu, adres IP serwera domeny oraz rozmiar pliku inicjującego.
Pozostałe pola mają takie samo znaczenie jak w BOOTP
Maska podsieci (kod opcji 1) — przedstawia maskę podsieci dla danej podsieci fizycznej. Przesunięcie czasu (kod opcji 2) — oznacza czas UCT (Universal Coordinated Time) w sekundach. Router (kod opcji 3) — wymienia adresy IP wszystkich routerów dostępnych w podsieci. Serwery czasu (kod opcji 4) — wymienia adresy IP wszystkich serwerów czasu dostępnych dla klienta.
Serwery DNS (kod opcji 6) — wymienia adresy IP wszystkich serwerów DNS dostępnych dla klienta. Serwery dziennika (kod opcji 7) — wymienia adresy IP wszystkich serwerów dziennika dostępnych dla klienta. Serwery cookie (kod opcji 8) — wymienia adresy IP wszystkich serwerów cookie dostępnych dla klienta. Serwery LPR (kod opcji 9) — wymienia adresy IP wszystkich serwerów drukarek wierszowych (Line PRinter) dostępnych dla klienta.
Serwery lokalizacji zasobów (kod opcji 11) — wymienia adresy IP wszystkich serwerów lokalizacji zasobów dostępnych dla klienta. Nazwa hosta (kod opcji 12) — przedstawia nazwę klienta, która może mieć długość do 63 bajtów. Rozmiar pliku inicjującego (kod opcji 13) — przedstawia rozmiar domyślnego pliku inicjującego klienta.
Nazwa domeny (kod opcji 15) — przedstawia nazwę domeny DNS, która powinna być użyta przez klienta do rozwiązania nazwy DNS hosta. Serwer wymiany (kod opcji 16) — przedstawia adres IP serwera wymiany dostępnego dla klienta. Główna ścieżka dostępu (kod opcji 17) — przedstawia ścieżkę do dysku systemowego klienta. Ścieżka do rozszerzeń (kod opcji 18) — oznacza plik zawierający informacje, podobnie jak pole danych producenta w komunikacie odpowiedzi BOOTP. Plik można pobrać za pomocą TFTP.
1. Klient DHCP wysyła przez port 68 TCP żądanie parametrów konfiguracyjnych. 2. Brama przekazująca przechwytuje żądanie i rozpoznaje podsieć, do której zadanie trzeba przesłać. 3. W docelowej podsieci jeden lub kilka serwerów DHCP odbierze rozgłoszenie i może odpowiedzieć klientowi, przekazując parametry konfiguracyjne (w tym podając dostępny adres IP). 4. Brama przekazująca DHCP/BOOTP przesyła odpowiedzi do klienta, który wybiera jedną z nich. Następnie klient wysyła komunikat żądania od odpowiedniego serwera i otrzymuje dzierżawę, która ponownie zostaje przekazana przez bramę.
Metoda statyczna wymaga kontaktu użytkownika z administratorem w celu uzyskania parametrów do pliku konfiguracyjnego. Metody automatycznego pozyskiwania adresu takie jak RARP, BOOTP, czy DHCP mogą to zadanie ułatwić. Obecnie najszerzej jest stosowana metoda DHCP. Wraz z wprowadzaniem IPv6 będzie również stosowany protokół DHCPv6