Protokoły sieciowe
Transkrypt
Protokoły sieciowe
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 Działanie IGMP Źródło: http://en.wikipedia.org/wiki/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