IPv6 address auto-configuration for wireless mobile ad hoc networks

Transkrypt

IPv6 address auto-configuration for wireless mobile ad hoc networks
Gdańsk, 12.09.2016 r.
prof. dr hab. inż. Józef Woźniak, prof. zw. PG
Wydział Elektroniki, Telekomunikacji i Informatyki
Katedra Teleinformatyki
Politechnika Gdańska
Recenzja pracy doktorskiej mgr inż. Moniki Grajzer "IPv6 Address Auto-Configuration for Wireless
Mobile Ad Hoc Networks"
1. Jakie zagadnienie naukowe jest rozpatrzone w pracy (teza rozprawy) i czy zostało ono
dostatecznie jasno sformułowane przez Autora? Jaki charakter ma rozprawa (teoretyczny,
doświadczalny, inny)?
Rosnąca liczba urządzeń przenośnych - smartfonów, tabletów, ipadów - wyposażonych w
interfejsy bezprzewodowe pozwalające na dostęp do Internetu stanowi ogromne wyzwanie dla
projektantów nie tylko Internetu Przyszłości ale i współczesnych rozwiązań tej sieci, w
szczególności w kontekście ich jednoznacznej identyfikacji oraz lokalizacji, zwłaszcza w
przypadku szybkich zmian tychże. Konieczne procedury rejestracji urządzeń oraz wymagane
wówczas zmiany w ich konfiguracji wymuszają nowe zasady – zwykle bezstanowe
pozyskiwania adresów IPv6.
Sieciami, których znaczenie będzie niewątpliwie rosło są sieci grupujące różne urządzenia,
często przemieszczające się i realizujące przekazy bez konieczności wykorzystywania
specjalnie do tego celu udostępnionej infrastruktury. Są to liczne rozwiązania związane z
Internetem Rzeczy, obejmujące zarówno duże sieci sensorowe, jak też rozległe instalacje do
komunikacji typu M2M. Z uwagi na przewidywaną masowość tego typu rozwiązań konieczne
staje się, co słusznie zauważa Doktorantka, opracowanie automatycznych ale jednocześnie
efektywnych i wiarygodnych metod konfiguracji sieci oraz metod zarządzania adresacją w tego
typu instalacjach - traktowanych jednocześnie jako ważne elementy Internetu. Głównym
przedmiotem zainteresowania Autorki są przy tym mobilne, bezprzewodowe sieci ad hoc
(MANET - Mobile Ad-hoc Networks), wykorzystujące protokół IP wersji 6 (IPv6) i
charakteryzujące się zmienną topologią.
Dla sieci tych, pomimo rosnącego zainteresowania nimi, nie opracowano dotychczas
efektywnych mechanizmów automatycznej konfiguracji adresów IPv6.
Głównym celem rozprawy jest zatem zaproponowanie autorskiej metody automatycznej
konfiguracji adresów IPv6 w bezprzewodowych sieciach MANET, w szczególności
opracowanie nowego protokołu sieciowego wykorzystującego środowisko IPv6, który
zaoferowałby wydajną i niezawodną usługę detekcji duplikacji adresów.
Sformułowana przez Autorkę teza rozprawy jest w wersji anglojęzycznej następująca:
It is possible to define a network protocol, which would provide a reliable Duplicate Address
Detection service in IPv6-based multihop MANET networks while minimizing protocol
overhead and keeping latency levels acceptable from the practical usage perspective.
Mając na uwadze zarówno tezę jak i cel rozprawy, związane z opracowaniem efektywnej i
niezawodnej
metody Automatycznej Autokonfiguracji Adresów (AAA)
Autorka
zaproponowała nowy protokół Neighbor Discovery ++ (ND++), będący rozszerzeniem
jednego z kluczowych protokołów IPv6, tj. protokołu Neighbor Discovery (ND). Protokół
ND++ dedykowany jest do pracy w mobilnych bezprzewodowych sieciach ad hoc.
Opracowany przez Doktorantkę protokół zapewnia szereg istotnych cech jak: unikatowość
przydzielanych adresów, wykrywanie duplikatów adresów IPv6 czy ograniczanie narzutu
protokolarnego.
Zaproponowane w pracy rozwiązania zostały zweryfikowane eksperymentalnie z
wykorzystaniem opracowanego do tego celu symulatora.
Teza i cele badawcze zostały sformułowane w sposób nie budzący zastrzeżeń.
Praca ma charakter teoretyczno - eksperymentalny, z dominującymi akcentami praktycznymi.
2. Czy w rozprawie przeprowadzono w sposób właściwy analizę źródeł (literatury światowej,
stanu wiedzy i zastosowań w przemyśle) świadczący o dostatecznej wiedzy Autora? Czy
wnioski z przeglądu źródeł sformułowano w sposób jasny i przekonywujący?
W tekście rozprawy Autorka przytacza 120 pozycji literaturowych, w tym 11 prac własnych, w
większości przypadków (9) współautorskich (z wyjątkiem draftu dokumentu IETF i zgłoszenia
patentowego US).
Analiza źródeł jest przeprowadzona właściwie a wyciągane przez Doktorantkę wnioski
poprawne.
Nasuwa się jednak parę uwag.
Bibliografia jest obszerna i zawiera odwołania do szeregu publikacji o zróżnicowanym
pochodzeniu (publikacje naukowe, dokumentacje techniczne, drafty IETF oraz standardy
RFC). Świadczy to o dobrym przygotowaniu doktorantki do rozważanego w pracy problemu
badawczego oraz o szerokim podejściu do badanego zagadnienia.
Wydaje się jednak, że brakuje odwołań, do niektórych istotnych publikacji. Z racji rozważania
sieci typu ad hoc w wykazie literatury zdecydowanie brakuje RFC5889 "IP addressing model
in Ad Hoc Networks", który to dokument definiuje model konfiguracji IPv4 i IPv6 w sieciach
ad hoc. Wydaje się on być " dość" kluczową pozycją w tej tematyce, przynajmniej w zakresie
dokumentów IETF.
W ocenie recenzenta, w pracy brakuje też bardziej jednoznacznego nawiązania do zamkniętej
już grupy roboczej autoconf w IETF: https://datatracker.ietf.org/wg/autoconf/charter/. Grupa
ta dość żywiołowo dyskutowała nad różnymi rozwiązaniami i pomiędzy jej założeniem w 2004
i zamknięciem w 2011 na publiczną listę dyskusyjną zostało wysłanych prawie 2600
wiadomości. Niestety wyniki jej działania są raczej skromne i zawierają jedno RFC,
wspomniane wyżej RFC5889.
Praca powołuje się na szereg draftów IETF, nad którymi prace zostały zarzucone, czasem
bardzo dawno temu. Przykładem mogą być referencje o numerach: 113 (prace zarzucono w
2006) lub 24 (prace zarzucono w 2008).
W pracy zabrakło odwołań do nowszych prac prowadzonych w IETF. Przykładowo, Autorka
powołując się na publikacje [20,89,114] kilkukrotnie wspomina, że adresy MAC są często
zduplikowane. Zjawiska duplikacji rzeczywiście się zdarzają, ale są niezwykle rzadkie. Dla
poparcia sformułowań Autorki należałoby przytoczyć wiarygodne dane. Dodatkowo od wielu
lat istnieje szereg innych metod generowania adresów IPv6, które nie są oparte o adresy MAC.
Tutaj warto wspomnieć o RFC7217 oraz rekomendacji jego powszechnego stosowania
(https://tools.ietf.org/html/draft-ietf-6man-default-iids-15), która wydaje się zbliżać do
publikacji w formie RFC. Nawet pomijając te w miarę nowe prace (toczą się one od 2014),
istnieją dużo starsze publikacje, np. RFC4941 z 2007 roku. Są one w powszechnym użyciu (np.
w systemach windows). RFC4941 postuluje użycie losowych identyfikatorów o długości 64
bitów. Autorka w Tabeli 4.1 sama przyznaje, że prawdopodobieństwo kolizji w takim
przypadku jest rzędu od 10^-19 do 10^-12. To najwyższe prawdopodobieństwo jest dla
ogromnych, nieistniejących w praktyce sieci składających się z 10000 urządzeń.
3.Czy Autor rozwiązał postawione zagadnienia, czy użył właściwej do tego metody i czy przyjęte
założenia są uzasadnione?
Autorka wywiązała się dobrze ze sformułowanego w pracy zadania badawczego, którego
głównym celem było opracowanie nowego protokołu do wykrywania duplikatów adresów
IPv6, przeznaczonego do pracy w mobilnych sieciach ad hoc oraz analiza zaproponowanego
rozwiązania. Użycie do weryfikacji tezy i głównych celów badawczych pracy narzędzi
symulacyjnych jest poprawne i w pełni uzasadnione.
4. Na czym polega oryginalność rozprawy, co stanowi samodzielny i oryginalny dorobek Autora, jaka
jest pozycja rozprawy w stosunku do stanu wiedzy czy poziomu techniki reprezentowanych przez
literaturę światową?
Praca zawiera szereg ciekawych wyników. Na szczególne uznanie zasługuje fakt
sformułowania rozwiązania w postaci jednolitego, zwartego dokumentu i przesłanie go do
IETF, jako tzw. internet draft.
Taki sposób prezentacji najbardziej praktycznej części pracy powoduje, że możliwa jest
kontynuacja prac nad proponowanym rozwiązaniem przez innych członków społeczności,
nawet w przypadku, gdyby autorka nie kontynuowała prac w tym zakresie.
Istotnym osiągnięciem jest rzeczywista implementacja proponowanego rozwiązania,
omówiona w rozdziale 5. Implementacja rozwiązania w kernelu FreeBSD stanowi ogromną
wartość praktyczną i pokazuje, że proponowane rozwiązanie jest możliwe do implementacji w
praktyce. Użycie kernela FreeBSD, jako platformy referencyjnej, było trudnym
przedsięwzięciem i trud włożony w taką implementację zasługuje na duże uznanie.
Dodatkowym atutem są eksperymenty praktyczne, szczegółowo opisane w rozdziale 5.
Mnogość przetestowanych topologii, analiza zawartości pakietów za pomocą narzędzi typu
wireshark oraz prosta, ale przejrzysta wizualizacja skłaniają ku stwierdzeniu, że weryfikacja
doświadczalna została przeprowadzona sumiennie i z wymaganą starannością.
Kolejną silną stroną pracy jest symulator proponowanego rozwiązania. Analiza
zróżnicowanych topologii w połączeniu z różnym rozkładem i liczbą węzłów daje możliwość
wychwycenia silnych i słabych stron proponowanego rozwiązania.
5. Czy Autor wykazał umiejętność poprawnego i przekonywującego przedstawienia uzyskanych
przez siebie wyników (zwięzłość, jasność, poprawność redakcyjna rozprawy)?
Redakcja pracy nie budzi istotnych zastrzeżeń. Pewne uwagi można sformułować odnośnie sposobu
prezentacji kilku fragmentów pracy. Pewnym mankamentem rozprawy jest (w ocenie recenzenta) brak
wykazu stosowanych w niej skrótów. Utrudnia to śledzenie wszystkich fragmentów pracy.
Jak zostało to już podkreślone wcześniej na szczególne uznanie zasługuje fakt sformułowania
rozwiązania w postaci jednolitego, zwartego dokumentu i przesłanie go do IETF jako tzw.
internet draft. Potraktowanie w ten sposób najbardziej praktycznej części pracy powoduje, że
możliwa jest kontynuacja prac nad proponowanym rozwiązaniem przez innych członków
społeczności, nawet w przypadku, gdyby autorka nie kontynuowała prac w tym zakresie.
Szkoda, że od czasu publikacji w roku 2011 inni członkowie IETF wykazali niewielkie (wydaje
się, że wręcz żadne) zainteresowanie tym rozwiązaniem, a sama autorka nie kontynuowała prac
nad draftem.
Opublikowany draft aspirował do bycia zaadoptowanym przez nieistniejącą już grupę autoconf.
Na liście dyskusyjnej można znaleźć 4 maile dotyczące propozycji (wszystkie pochodzą od
autorki) - https://mailarchive.ietf.org/arch/search/?email_list=autoconf&q=grajzer.
W swej pracy Autorka wspomina się o dokonanych modyfikacjach (ND++_v2 oraz
ND++_v3). Nie jest jednak jasne, czy zmiany te zostały uwzględnione w opublikowanym
drafcie. Ze względu na to, że opublikowano tylko jedną wersję draftu w 2011 roku bez żadnych
późniejszych zmian, należy domniemywać, że nie.
Praca sprawia dobre wrażenie. Widać ogromny wkład pracy włożony w jej opracowanie,
zwłaszcza w części związanej z praktyczną implementacją w kernelu FreeBSD oraz rozdziale
poświęconym symulatorowi.
Analizując zawartość pracy można jednakże odnieść wrażenie, że doktorat rozciągnął się
nieco w czasie. Brakuje bowiem w pracy nawiązania do nowszych prac prowadzonych w IETF.
Praca została napisana starannie i nie znalazłem w zasadzie żadnych literówek. Może poza
jedną. W języku angielskim funkcjonuje konstrukcja former...latter. Z jakiegoś powodu Pani
Grajzer zawsze używała w niej letter zamiast latter. Błąd powtórzony jest czterokrotnie.
W pracy pojawiają się też nieco wątpliwe (co najmniej dyskusyjne) stwierdzenia, w tym
wspominające o tym, że IPv6 było projektowane z myślą o sieciach przewodowych.
6. Jakie są słabe strony rozprawy i jej główne wady?
Praca obok wielu niewątpliwie mocnych stron i zalet ma też pewną liczbę uchybień i
niedociągnięć różnej natury:
Jak podkreślono to już wcześniej na szczególną uznanie zasługuje fakt sformułowania
rozwiązania w postaci jednolitego, zwartego dokumentu i przesłanie go do IETF jako tzw.
internet draft.
Szkoda jednak, że od czasu publikacji w roku 2011 zarówno sama Autorka jak i inni członkowie
IETF wykazali niewielkie zainteresowanie tym rozwiązaniem, a sama Autorka nie
kontynuowała prac nad draftem.
Warto wspomnieć o złożeniu wniosku patentowego, co wydaje się podnosić wartość
osiągniętych rezultatów. Kłóci się to jednak nieco z intencją publikacji jako standardu w ramach
IETF. Często pojawienie się dodatkowych uwarunkowań związanych z np. patentami lub
podobnym konstrukcjami z zakresu własności intelektualnej, powoduje, że prace w IETF są
wstrzymywane, o ile właściciel patentu jasno nie określi, że nie będzie dochodził swoich praw
ze względu na użycie jego patentu. Autorka takiej deklaracji nie zgłosiła (brak tzw. zgłoszenia
IPR).
Praca napisana jest starannie, choć zdarzają się pewne nieco mniej fortunne sformułowania,
np. w sekcji 1.1 pojawia się, wspomniane już poprzednio, stwierdzenie "since IPv6 is designed
mainly for fixed network environments", a przecież IPv6 używane jest przez setki milionów
urządzeń przenośnych.
Inny przykład to ilustracja 4.1 pokazująca klasyczny 40 bajtowy nagłówek IPv6 z adnotacją
"10 bits IPv6 header". (Bez wątpienia kompresja całego nagłówka IPv6 do 10 bitów byłaby
wielkim osiągnięciem).
Adresy w IPv6 pełnią kilka ról, ale jedną z nich jest identyfikator węzła. Nie do końca
wyjaśniona jest rola dodatkowego identyfikatora Random ID, który wydaje się, że ma
zwiększyć unikalność par (adres IPv6, Random ID). O ile intencje Autorki zostały dobrze
odczytane, to zabieg ten niewiele poprawia sytuację, ponieważ duplikacja adresów występuje
przy powtórzeniu samego adresu IPv6 i ewentualne różne wartości pola Random ID nie ratują
sprawy.
Brak jest jakichkolwiek odwołań do RFC4429 (optimistic Duplicate Address Detection (DAD)
for IPv6), pomimo tego, że standard ten jest dostępny od dekady.
W Sekcji 2.1 (przegląd dostępnych stanowych metod autokonfiguracji) Doktorantka wymienia
wady DHCPv6 w środowisku sieci ad hoc, jednak nie podaje informacji o alternatywnych
rozwiązaniach opracowanych w IETF. Przykładem mogą być mechanizmy Distributed Node
Consensus Protocol ( DNCP, RFC7787) oraz bazujący na nim HomeNetwork Configuration
Protocol (HNCP, RFC7788). Chociaż protokoły te były optymalizowane do budowanych w
sposób zupełnie dowolny sieci domowych, mechanizm osiągania konsensusu w protokole
DNCP byłby ciekawym obszarem analizy w środowisku sieci ad hoc.
Niektóre referencje są niepoprawne, np. odwołanie do [55] w pierwszym paragrafie sekcji 2.2
powinno wskazywać na [88] lub [106].
Koncepcja ND++ jest ciekawa. Posiada jednak kilka cech, które łatwo mogą zostać uznane za
wady. Na przykład do rozgłaszania wiadomości multihop Neighbor Solicitation (mNS)
używany jest adres all-nodes link-local address, który jak wskazuje nazwa ma zastosowanie
ograniczone do łącza. To z kolei powoduje, że węzły muszą implementować dedykowane
przetwarzanie, przypominające routing takich pakietów. Dodatkowym problemem jest to, że
pakiety mogą być wielokrotnie "forwardowane", w tym z powrotem do nadawcy. Autorka sama
to przyznaje na stronie 67, a nawet postuluje wprowadzenie losowych opóźnień aby częściowo
złagodzić ten problem. Z kolei próba wprowadzenia pamięci w węzłach w celu eliminacji
przesyłania duplikatów wprowadza elementy stanowości do z założenia bezstanowego
rozwiązania.
Odnosząc się do rozdziału 5 - prezentującego wyniki licznych eksperymentów praktycznych
wydaje się, że zabrakło analizy dla topologii full mesh (wzajemnej słyszalności wszystkich
węzłów), która mogłaby mieć tendencję do największej liczby retransmisji wiadomości,
powodując tzw. packet storm dla większych wartości HopLimit. Nie jest to jednak istotne
niedociągnięcie, gdyż kilka innych topologii (np. c oraz e) posiadają wiele węzłów o wysokim
stopniu sąsiedztwa.
Wykres 6.9c) pokazuje, że dla sieci złożonej ze 100 węzłów liczba rozsyłanych pakietów jest
zbliżona do 100 dla każdego zapytania DAD++. Dla porównania klasyczny mechanizm DAD
wymaga jednego pakietu. Powoduje to, że do utworzenia stuwęzłowej sieci wymagane byłoby
około 10^4 wiadomości, co nie jest wartością trywialną. Stoi to nieco w sprzeczności ze
sformułowanym wnioskiem na stronie 164 ("ND++ achieves very low protocol overhead").
Zastanawiający jest przy tym fakt uzależniania parametru HopLimit od przewidywanej liczby
węzłów w odwiedzanej sieci. Nie jest jasne, jak taka zależność mogłaby być zrealizowana w
praktyce. Czy użytkownik urządzenia miałby w jakiś sposób określać (zgadywać?), ile węzłów
sieci MANET jest (i pojawi się w czasie jego bytności) w jego okolicy?
Sieci MANET jako sieci z natury grupujące węzły przemieszczające się są siłą rzeczy narażone
na sytuacje, w których sieć ulega czasowej degradacji związanej z brakiem łączności każdego
z każdym przy określonej liczbie przeskoków. Szkoda, że w badaniach zabrakło scenariuszy
odnoszących się do takich przypadków i komentarzy odnośnie odporności opracowanych
rozwiązań protokolarnych na te i podobne kwestie.
7. Jaka jest przydatność rozprawy dla nauk technicznych?
Rozprawa ma charakter teoretyczno - doświadczalny, przy czym dominują aspekty praktyczne
- doświadczalne.
Opracowane i zweryfikowane przez Doktorantkę algorytmy mogą być (przynajmniej
teoretycznie) użyte do automatycznej konfiguracji adresów w rozległych mobilnych,
bezprzewodowych sieciach ad-hoc.
Można więc mówić o istotnym, chociaż raczej potencjalnym (zważywszy na zamknięcie prac
grupy IETF), znaczeniu wyników rozprawy dla nauk technicznych.
8. Do której z następujących kategorii recenzent zalicza rozprawę? .
a. niespełniająca wymagań stawianych rozprawom doktorskim przez
obowiązujące przepisy,
b. wymagająca wprowadzenia poprawek i ponownego recenzowania,
c. spełniająca wymagania,
d. spełniająca wymagania z wyraźnym nadmiarem,
e. wybitnie dobra, zasługująca na wyróżnienie.
Biorąc pod uwagę zarówno niewątpliwe zalety pracy, jak też jej mankamenty zaliczam
opiniowaną rozprawę do kategorii: spełniająca wymagania (przy czym jej zakres oraz kilka
pozycji z dorobku Autorki, istotnie podnoszą wartość rozprawy, zbliżając ją do kolejnej
kategorii). Zatem wnoszę o dopuszczenie rozprawy do publicznej obrony.