Protokoły sieciowe
ICMP
Internet Control Messaging Protocol Protokół komunikacyjny sterowania siecią Internet. Działa na warstwie IP (bezpośrednio zaimplementowany w IP) Zastosowanie: Diagnozowanie problemów występujących podczas transmisji. W odróżnieniu od TCP i UDP nie jest stosowany do transmisji dnaych ICMP zdefiniowany jest w dokumencie RFC 792 Przykładowe zastosowanie ping, traceroute, tracert
Przykłady zastosowań Zbytnie obciążenie routera lub hosta, gdy nie jest w stanie przyjąć więcej informacji służy ograniczeniu napływu informacji do routera Znalezienie przez router lepszej trasy do hosta docelowego - przesłanie do nadawcy nowej trasy Brak możliwości osiągnięcia adresata ostatni route przesyła odpowiednia wiadomość do nadawcy Po przetworzeniu przez router lub hosta pakietu o TTL=0.
Budowa pakietu Najczęstsze typy i komunikaty Typy dla PING 0 Echo Replay (odpowiedź echa) 8 Echo request (Żądanie echa) 3 Destination Unreachable (Cel nie osiągalny) gdy host docelowy jest nie osiągalny z różnych powodów (następny slajd) 4 Source Quench (Wstrzymanie przesyłania danych) gdy router jest przeciążony 5 Redirect (Przekierowanie) - gdy router zna lepszą trasę do miejsca przeznaczenia 11 Time Exceeded (Przekroczony czas) gdy TTL osiągnie 0
Powody nie osiągalności hosta 0 sieć nieosiągalna 1 host nieosiągalna 2 protokół nieosiągalny 3 nieosiągalny port adresata 4 Wymagana fragmentacja, lecz ustawiony zakres fragmentowania 5 Informacje źródłowe o wyborze trasy dostarczone, lecz nie osiągalne
Narzędzia obsługujące ICMP PING echo request hostźródłowy wysyła komunikat do hosta zdalnego i czeka na odpowiedź, na tej podstawie wyznaczane są różne statystyki TRACERT/TRACEROUTE bazuje na wysyłaniu komunikatów echo request (PING) stopniowo zwiększając wartość TTL począwszy od 1. Dzięki komunikatowi Time Exceeded (Przekroczony czas) z każdego z routerów będącego na trasie do hosta docelowego dostaje odpowiedź, co pozwala na analizą jakości łącza oraz liczby routerów na trasie do komputera docelowego.
IGMP
Internet Group Managemant Protocol Protokół zarządzania transmisją grupową Metody transmisji Unicast transmisja bezpośrednia pomiędzy dwoma hostami Brodcast transmisja rozsiewcza informacje przesyłane są do wszystkich komputerów w sieci Multicast transmisja grupowa informacja przesyłana jest bezpośrednio do grupy użytkowników, którzy danych informacji potrzebują
Cele transmisji grupowej Zmniejszenie ruchu w sieci Zmniejszenie obciążenia serwera Dostarczanie informacji jedynie hostom które ich wymagają Wykorzystanie klasy D adresów IP (224.0.0.0 239.255.255.255) Przykład Transmisja strumieni wideo (youtube,metacafe etc.)
Współpraca IGMP z klientem Host powiadamia router, że chce przyłączyć się do odpowiedniej grupy Host dynamicznie wiąże IP z adresem grupowym, zarezerwowanym dla danej aplikacji, oraz z zarezerwowanym adresem Ethernetowym Przyłączenie do grupy wysłanie pakietu z flagą: Host Membership Report z adresem IP grupy
Współpraca IGMP z routerami Router okresowo wysyła pakiet IGMP z ustawionym TTL = 1 w celu sprawdzenia przynależności hostów do grupy Jeśli host jest zainteresowany dalszym członkostwem odpowiada chęcią dalszej przynależności Jeśli host jest nie zainteresowany członkostwem w grupie nie odpowiada na zapytani, wówczas usuwany jest z grupy
Współpraca IGMP z routerami. Cd. Przesyłanie danych grupowych między routerami realizowane przez protokoły miedzyrouterowego adresowania grupowego: PIM (Protocol Independent Multicast Protocol) protokół adresowania grupowego niezależnego od protokołu MOSPF (Multicast Extension to OSPF) rozszerzenie protokołu OSPF o adresowanie grupowe DVMRP (Distance Vector Multicast Routing Protocol) protokół adresowania grupowego na podstawie wektora odległości
Źródło: http://en.wikipedia.org/wiki/igmp Działanie IGMP
Automatyczna konfiguracja IP
Korzyści z automatycznej konfiguracji IP Brak konieczności ręcznej konfiguracji urządzeń Ograniczenie możliwości powstawania konfliktów adresów IP Brak konieczności ręcznego konfigurowania adresów bramy i DNS Ułatwienie przenoszenia urządzeń pomiędzy podsieciami Centralne zarządzanie urządzeniami sieciowymi Automatyzacja większa niezawodność
RARP do konfiguracji adresów IP Przydzielanie adresów IP do hostów możliw poprzez RARP (Reverse Address Resolution Protocol translacja adresów MAC na IP) wykorzystanie RARP poprzez przypisanie do danego adresu MAC określonego adresu IP. Problemy z RARP RARP pozwala jedynie na przydzielenie adresu hosta (brak dodatkowych informacji typu adres bramy, adres dns itp) Nie można go stosować w sieciach w których adresy MAC przydzielane są dynamicznie
BootP BootP Bootstarp Protocol (Bootstrap proces ładowania początkowego) Pierwszy protokół automatycznej konfiguracji Może rozwiązywać adresy IP nie koniecznie w jednym segmencie (transmisja przez router) Ograniczony do statycznych środowisk Następcą DHCP
BootP Sposób działania Klient ustawia własny adres IP na 0.0.0.0 i wysyła datagram UDP na adres rozgłaszania na port 67 żądając adresu IP BOOTREQUEST ustawiając Liczbę skoków = 0; Liczba sekund = 0 Serwer na podstawie odebranego pakietu analizuje i jego adresu MAC dokonuje przeszukania własnej bazy mapowań MAC->IP i znajduje odpowiadający mu adres IP i plik konfiguracyjny, Serwer dokonuje modyfikacji i odpowiedniego wpisu do protokołu ARP Jeżeli serwer nie znajdzie odpowiedniego wpisu wówczas przekazuje zapytanie dalej do kolejnego serwera BootP, przy czym każdy kolejny serwer sprawdza parametry "liczba skoków" przekroczyła skonfigurowane maksimum "liczba sekund" przekroczyła dopuszczalną wartość Jeśli to nastąpi pakiet jest odrzucany jeśli nie i nie jesteśmy w stanie rozwiązać adresu MAC informacja przesyłana jest do kolejnego serwera BootP Na podany adres MAC serwer odsyła odpowiedź BOOTREPLY (port 68) informując klienta o jego adresie IP, adresie bramy oraz adresie pliku konfiguracyjnego TFTP Klient odbiera pakiet, ustawia odpowiednie parametry (IP,Brama) Klient łączy się przez protokół TFTP z podanej lokalizacji pobiera plik konfiguracyjny dla pozostałych usług.
BootP budowa ramki
Opis pakietu Operacja - kod operacji, możliwe wartości to: BOOTREQUEST [1], BOOTREPLY [2] typ sprzętu - liczba z zakresu 1-28 oznaczająca typ sprzętu (karty sieciowej). Dla sieci ethernetowej przyjmuje wartość 1. długość HA - długość adresu sprzętowego używanego do identyfikacji urządzeń sieciowych ilość skoków - zliczanie pośrednich ruterów biorących udział w transmisji pakietu Xid - wybierany losowo przez klienta identyfikator (w sytuacji, gdy serwer nie będzie w stanie 'zrozumieć' adresu sprzętowego klienta (wyśle odpowiedź na broadcast), xid będzie jedynym sposobem rozpoznania odpowiedzi kierowanej do klienta) ilość sekund - mierzony w sekundach czas, jaki upłynął od momentu pierwszego wysłania przez klienta wiadomości typu BOOTREQUEST Flagi - zdefiniowane w RFC 1542 adres IP klienta - ustawia klient, jeśli zna przydzielony adres IP - ustawia serwer adres IP serwera - ustawia serwer adres IP bramki - ustawia serwer adres sprzętowy klienta - ustawia klient nazwa serwera - ustawia serwer plik startowy - ustawia serwer
Wady protokołu BootP BootP poularny w środowiskach statycznych (liczba komputerów nie zmienia się często), problemy administracyjne w środowiskach dynamicznych (gdzie istnieje dużo urządzeń przenośnych/mobilnych) Wzrost rozmiaru pliku konfiguracyjnego w przypadku środowisk dynamicznych (każde urządzenie musi mieć swój dedykowany wpis w pliku inicjalizującym) W środowiskach dynamicznych konieczność częstej aktualizacji pliku konfiguracyjnego
DHCP
DHCP Dynamic Host Configuration Protokol protokół dynamicznej konfiguracji hostów Brak ograniczeń protokołu BootP DHCP wprowadza czasowe dzierżawy adresów! Budowa pakietu podobna do budowy pakietu BootP DHCP może być rutowany jeśli routery obsługują routing BootP
Budowa pakietu
Opis pól Operacja - Typ nagłówka. 1 = BOOTREQUEST, 2 = BOOTREPLY Typ sprzętu - Liczba z zakresu 1-28 oznaczająca typ sprzętu (karty sieciowej). Dla sieci ethernetowej przyjmuje wartość 1. Długość adresu sprzętowego - Oznaczenie długości używanego adresu sprzętowego np. 6 dla Ethernetu 10 Mbps. Ilość skoków- Pole jest opcjonalne. Zlicza ilość pośrednich routerów biorących udział w transmisji pakietu. Identyfikator transakcji xid - Wybierany losowo przez klienta identyfikator (w sytuacji, gdy serwer nie będzie w stanie "zrozumieć" adresu sprzętowego klienta. Wyśle odpowiedź na broadcast, a xid będzie jedynym sposobem rozpoznania odpowiedzi kierowanej do klienta). Ilość sekund - Mierzony w sekundach czas, jaki upłynął od momentu pierwszego wysłania przez klienta wiadomości typu BOOTREQUEST. Flagi - W tej chwili używany tylko 1 bit (BROADCAST flag). Pozostałe 15 bitów jest zarezerwowane na zastosowanie w przyszłości. Adres IP klienta - Pole nieobowiązkowe. Wypełniane w przypadku np. odświeżania adresu. Przydzielony adres IP klienta - Trzy możliwości przydzielania adresu: ręcznie (na podstawie MAC), automatycznie (kolejność zgłaszania) i dynamicznie (tylko na pewien okres czasu). Adres IP serwera - Ustawiane przez serwer. Adres IP bramki- Ustawiane przez serwer. Adres sprzętowy klienta - Adres MAC klienta. Nazwa serwera- Pole opcjonalne. Nazwa hosta serwera. Plik startowy - Używany w mechanizmie ciasteczek (Magic Cookie). Opcje - Zestaw ponumerowanych opcji 0-254. RFC 1533
Proces dzierżawy DHCP Klient po uruchomieniu wysyła żądanie dzierżawy (DHCPDISCOVERY) stan inicjacji Wszystkie serwery odbierające powyższy komunikat odpowiadają (DHCPOFFER) - przejście klienta w stan wyboru i wybranie jednej z ofert Klient wysyła komunikat żądania do określonego serwera (DHCPREQUEST) stan żądania Serwer odsyła komunikat potwierdzenia (DHCPACK), pakiet ten zawiera adres IP i pozostałe informacje komunikacyjne Klient dokonuje własnej konfiguracji i wchodzi w stan powiązania. W stanie powiązania do kontroli dzierżawy klient używa liczników wygaśnięcia, odnowienia i ponowienia dzierżawy Po upływie 50% czasu dzierżawy lub po jej ukończeniu klient wysyła prośbę odnowienia dzierżawy (DHCPREQUEST) do serwera który adres wydzierżawił przejście w stan odnowienia dzierżawy. Klient może sam zakończyć dzierżawę poprzez komunikat (DHCPRELEASE) Serwer akceptuje żądanie (DHCPACK) lub odrzuca (DHCPNACK) po odrzuceniu klient wchodzi w stan inicjacji Jeśli klient nie dostanie odpowiedzi do upływu 87.5% okresu dzierżawy klient wysyła komunikat żądania (DHCPREQUEST) do wszystkich serwerów DHCP, jeśli dostanie odpowiedź to wraca do stanu powiązania
Dzierżawy Adres IP przyznawany jest jedynie na określony czas okres dzierżawy Dzięki dzierżawom adresy niewykorzystane (gdy dzierżawa się zwolni) można na nowo przydzielić innemu hostowi Okres dzierżawy to minuty/godziny/dni Dobór okresu dzierżawy zależy od środowiska gdy często następują zmiany środowisko dynamiczne (np.. kawiarenka internetowa) okres dzierżawy krótki, gdy środowisko statyczne okres dzierżawy odpowiednio długi
Opcje zakresu i serwera DHCP Zakres DHCP (DHCP scope) pula dostępnych dla serwera DHCP adresów IP (lista adresów które może przydzielać) Zakres składa się dodatkowo z: Nazwa zakresu Pełny zakres adresów IP Maska podsieci Okres dzierżawy Rezerwacje Przesunięcie czasu czas UCT Router lista adresów IP routerów dostępnych w sieci Serwer czasu lista adresów IP serwerów czasu Serwery DNS lista dostępnych serwerów DNS Nazwa domeny itp