250 likes | 410 Views
Implementacja klienta i serwera DHCPv6 dla systemów: Linux (Tomasz Mrugalski) Windows 2000 (Marek Senderski). Promotor: prof. dr hab. inż. Józef Woźniak Opiekun: mgr inż. Jacek Światowiak. Obecne rozwiązanie: IPv4 (cz.1). Standard opracowany ponad 20 lat temu
E N D
Implementacja klienta i serwera DHCPv6 dla systemów:Linux (Tomasz Mrugalski)Windows 2000 (Marek Senderski) Promotor: prof. dr hab. inż. Józef Woźniak Opiekun: mgr inż. Jacek Światowiak
Obecne rozwiązanie: IPv4 (cz.1) • Standard opracowany ponad 20 lat temu • Kończąca się przestrzeń adresowa (32bity – 4.294.967.296 adresów), próby złagodzenia problemu: • Routing bezklasowy (CIDR) • Translacja adresów (NAT) • Duże obciążenie routerów (zmienny rozmiar nagłówka, liczenie sum kontrolnych) • Brak wsparcia dla QoS
Obecne rozwiązanie: IPv4 (cz.2) • Brak wsparcia dla ochrony kryptograficznej • Wielość standardów • Nieobowiązkowa obsługa • Brak wsparcia dla dużych pakietów (jumbogramy) • Fragmentacja pakietów • Sztywna konfiguracja (upadek routera odcina stacje)
Rozszerzona przestrzeń adresowa (128 bitów – 1023 na m2 powierzchni ziemi) Wsparcie dla mobilności Obowiązkowe wsparcie bezpieczeństwa Stały rozmiar nagłówka (40 bajtów) Hierarchiczny sposób podziału przestrzeni adresowej prefiksy zamiast klas podział adresu na sieć i identyfikator hosta Różne zakresy ważności adresów Host, link, site, ogranisation, global 2 tryby automatycznej adresacji: stanowy i w trybie stateless Jakość usług (QoS): priorytety, etykietowanie strumieni Dynamiczne odkrywanie i zmiana routerów IPv6 (cz.1) Zalety:
IPv6 (cz.2) PROBLEMY: • Brak wygodnej możliwości ręcznej konfiguracji (kto zapamięta 3ffe:832:112::5468:ad45:dba8:cb1?) • Dużo bardziej rozbudowane standardy • Standard na dziesięciolecia • tysiące stron dokumentacji • WNIOSKI: • Ręczna konfiguracja jest żmudna, wymaga wiele pracy i jest podatna na błędy • Potrzebne są zautomatyzowane metody • DHCPv6 jest rozwiązaniem powyższych problemów
Autokonfiguracja w IPv6: Stateless • Generacja adresów lokalnych łącza • Brak możliwości określania jakichkolwiek parametrów • Komunikacja ograniczona do segmentu sieci (laboratorium, sala) • Bez dodatkowych protokołów niewystarczające do automatycznego podłączenia do sieci • Stanowi dobrą podstawę do dalszej automatycznej konfiguracji na wyższych poziomach
Autokonfiguracja w IPv6: Statefull • Przyznawanie adresów z dowolnego zakresu ważności (np. globalny) • Konfiguracja serwerów domenowych (DNS) • Konfiguracja strefy czasowej • W zasadzie dowolne opcje • obecnie w fazie standaryzacji 9 opcji • Brak konfiguracji routera • to realizuje protokół Router Renumbering • Konfiguracją statefull zajmuje się protokół DHCPv6
Klienci DHCPv6 Przekaźnik Dynamic Host Configuration Protocol for IPv6 • Zastosowanie – automatyczny przydział adresów i innych parametrów konfiguracyjnych • Protokół typu klient – serwer (+przekaźniki) Serwer Klienci DHCPv6 DHCPv6
DHCPv6 a modele sieci ISO/OSI TCP/IP
DHCPv6 a TCP/IPv6 • Działa w oparciu o UDP • Klienty – port 546 UDP • Serwery i przekaźniki – port 547 UDP • Używane (ogólnie znane) adresy • FF02::1:2 - multicastowy adres o zasięgu łącza używany przez klienta do komunikacji z sąsiadującymi przekaźnikami i serwerami • FF05::1:3 - multicastowy adres o zasięgu miejsca używany przez przekaźniki do komunikacji z serwerami w przypadku, gdy przekaźnik chce wysłać wiadomość do wszystkich serwerów albo nie zna unicastowego adresu serwera
DHCPv6 – kilka uwag • Wymiana informacji między klientem i serwerem ma postać transakcji tj. pytania klienta i odpowiedzi serwera • Każda transakcja identyfikowana przez TransactionID (ustalany przez klienta) • Za retransmisję komunikatów odpowiedzialny jest klient
Czas w DHCPv6 • Złożona struktura czasowa • Liczniki: T1, T2 • Czasy życia: Prefered lifetime, valid lifetime • Problemy z retransmisjami
Etapy pracy • Pogłębienie znajomości nowej rodziny protokołów IPv6 • Zapoznanie się ze standardami dotyczącymi DHCPv6 • Projektowanie • Implementacja • Testowanie i walidacja • Zebranie i określenie wniosków • Przygotowanie propozycji laboratorium
Proces odświeżania adresówi parametrów u innych serwerów T1 T 2
DHCPv6: demonstracja Przykład laboratorium • Pkt.7: Start serwera (Linux) • Start klienta (Windows) • SOLICIT, ADVERTISE, REQUEST, REPLY • Pkt.8: Odświeżanie adresu • RENEW,REPLY • Pkt.9: Symulacja awarii sieci/serwera • RENEW, REBIND, … • Odnowienie połączenia • RENEW zamiast REBIND • Pkt.10: Wyłączenie klienta • RELEASE, REPLY
Implementacja – założenia • Rozbudowana konfiguracja serwera • Preferencje, wiele klas adresowych do jednego interfejsu, rezerwacja adresów dla konkretnych klientów itd. • Zerowa konfiguracja klienta • out-of-the-box (błyskawiczna instalacja) • Nieobowiązkowa możliwość konfiguracji klienta • request,require,default,prepends,appends • Przenośność • Obecnie Windows 2000/XP i rodzina systemów Linux 2.4.x, przeniesienie na inne środowiska wymaga zaimplementowania tylko kilku niskopoziomowych funkcji
Implementacja – założenia • Technologie przyszłości • IPv6, XML • Przejrzysta architektura • Model obiektowy • Prostota rozbudowy • Rozszerzalność • dodatkowe opcje (np. serwer czasu, DNS, serwery NIS/NIS+…) • Otwartość • licencja GNU GPL
Windows vs Linux Windows Zalety: • Obszerna dokumentacja • Przyjazne środowisko programistyczne • Stabilność Wady: • niepełna dokumentacja • Powolne narzędzia (400MHz Linux około 2 razy szybszy od 1GHz Windows) • Brak bezpieczeństwa • Kosztowny, monopolistyczna polityka Microsoftu (wymagane uaktualnienia) Linux Zalety: • Obszerna, kompletna dokumentacja • Dostęp do kodów źródłowych • Olbrzymia dostępna baza kodu (społeczność OpenSource) • Stabilność • Szybkość • Bezpieczeństwo • Niezawodność • Skalowalność • darmowy, otwarta licencja Wady: „Linux IS user-friendly, it just chooses his friends wisely”
Windows i Linux z punktu widzenia implementacji DHCPv6 Windows Zalety: • Dobra dokumentacja odnośnie usług • Dobra dokumentacja gniazd IPv6 • Bogate informacje o IPv6 • Obsługa adresów dynamicznych Wady: • Brak opisu metod operacji na interfejsach sieciowych • Niepełne wsparcie dla IPv6 (Windows2000 – wymagany patch) • Kosztowne wsparcie techniczne Linux Zalety: • Obszerna, kompletna dokumentacja wraz ze źródłami • Dostęp do kodów źródłowych kernela • Stabilne API • Bardzo dobre, sprawdzone wsparcie dla IPv6 (od roku 1997) • Gotowy zestaw bibliotek Wady: • Brak obsługi adresów dynamicznych • Brak wsparcia technicznego
Wspierane/wykorzystane standardy • IP Version 6 Addressing Architecture (RFC 2373) • IPv6 Multicast Address Assignments (RFC 2375) • Internet Protocol, Version 6 (IPv6) Specification (RFC 2460) • IPv6 Stateless Address Autoconfiguration (RFC 2462) • Extensible Markup Language 1.0 W3C Recomendation • Dynamic Host Configuration Protocol for IPv6 (RFC 3315) Windows Standardy związane z usługami systemowymi Linux Usługi POSIX
Implementacja klienta i serwera DHCPv6 dla systemów:Linux (Tomasz Mrugalski)Windows 2000 (Marek Senderski) Dziękujemy za uwagę