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)
IPv6 (cz.1)
• 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
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
Dynamic Host Configuration Protocol for IPv6
• Zastosowanie – automatyczny przydział adresów i innych parametrów konfiguracyjnych
• Protokół typu klient – serwer
Serwer DHCPv6Klienci
DHCPv6 KlienciDHCPv6
Przekaźnik
(+przekaźniki)
DHCPv6 a modele sieci
Fizyczna
Łącza danych Dostępudo sieci
Internetowa
Transportowa
Aplikacji
Aplikacji
Prezentacji
Sesji
Transportowa
Sieciowa
DHCPv6
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
Czas
T1 T2 Prefered Valid
Etapy pracy
1. Pogłębienie znajomości nowej rodziny protokołów IPv6
2. Zapoznanie się ze standardami dotyczącymi DHCPv6
3. Projektowanie
4. Implementacja
5. Testowanie i walidacja
6. Zebranie i określenie wniosków
7. Przygotowanie propozycji laboratorium
Proces odkrywania serwerów
SO LIC IT -szukam serw era,
który m oże …(przydzie lić adres 20::1)
ADVERTISE -Tu jestem , i m ogę…
(przydzie lić adres 20::1)
Proces przydzielania adresów
R EQ U EST -życzę sobie …(adresu 20::1)
R E P LY -O to co m o g ę, d la
c ie b ie z ro b ić ...(p rz yd z ie lić a d re s 2 0 ::1 )
Proces odświeżania adresówi parametrów
R EN EW -chcę odśw ieżyć …
(Adres 20::1)
R EPLY -odśw ieżam ...(adres 20::1)
T1
R EBIND -chcę odśw ieżyć …
(Adres 20::1)
Proces odświeżania adresówi parametrów u innych serwerów
R EN EW -chcę odśw ieżyć …
(Adres 20::1)
R EN E W -chcę odśw ieżyć …
(adres 20::1)
R EP LY -odśw ieżam ...(adres 20::1 )
T1 T 2
Proces zwalniania adresów
R ELEASE -chcę zw oln ić …
(Adres 20::1)
REPLY -zwoln iłem ...(adres 20::1)
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
DHCPv6: demonstracja
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
LinuxZalety:• 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
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)
Windows i Linux z punktu widzenia implementacji DHCPv6
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
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
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ę