Politechnika Lubelska
****
Nowa generacja
protokołu IP
****
Grupa dziekańska : ED 7.3
Wykonał : Krzysztof Białas
Data wykonania : 1997.12.01
Wersja 6 protokołu IP (Internet protocol) rozwiąże większość problemów, ale tylko w przypadku, gdy się zrozumie sposób jego użycia.
Pojawienie się protokołu Ipv6 powoduje, że producenci intensywnie pracują nad zmianą kodu routerów i hostów. Projektanci żądają bliższych informacji, próbując dostosować się do wszystkich zmian. Wkrótce trzeba będzie zrewidować już ustalone plany we własnym przedsiębiorstwie.
Powszechnie wiadomo o znacznym rozszerzeniu pola adresowego protokołu IPv6, ale to nie wystarcza, by przystąpić do jego implementacji. Należy zwrócić uwagę na nowe, rozszerzone formaty i pola własności konfiguracyjne i zabezpieczenia. Nie można pominąć dodatkowych rodzajów ruchu w sieci, które w sposób zasadniczy, które w sposób zasadniczy zmieniają rozumienie przenoszenia głosu wideo.
Większość produktów z IPv6 w tym roku nie ujrzy światła dziennego, ale nowa wersja protokołu tak znacznie różni się od swojego poprzednika, że warto zawczasu zapoznać się z jego własnościami.
Skąd się wzięła potrzeba zdefiniowania protokołu IP? Pierwsza jego specyfikacja - RFC - pojawiła się w 1981 r. Jednak jego korzenie sięgają wczesnych lat siedemdziesiątych, kiedy to realizowano projekt ARPANet. Od tego czasu protokół IP doczekał się implementacji na niemal wszystkich rodzajach platform sprzętowych i oprogramowania systemowego, a co najważniejsze zakończyły się one sporym sukcesem. Dopiero ogromny rozwój Internetu ujawnił kilka wad oryginalnego projektu.
Pole adresowe o długości 32 bitów może co prawda teoretycznie zidentyfikować ponad 4 miliardy systemów, ale zdefiniowane klasy adresów znacznie ograniczają tę liczbę.
Ponadto w poprzednich wersjach protokołu IP nie przewidziano odpowiedniego poziomu zabezpieczeń i wspomagania przepływu informacji w czasie rzeczywistym, wymaganego w sytuacjach, takich jak przenoszenie głosu przez Internet.
I. Kryteria projektowe
Wśród kryteriów projektowych można wymienić następujące
Skalowność. IP musi zapewnić identyfikację i adresowanie 1012 systemów i 109 odrębnych sieci.
Elastyczność topologiczna. Architektura routingu i protokoły IP muszą zapewnić tworzenie różnych topologii sieci. Ekspansja, rozwój i technologie sieci Internet nie mogą opierać się na jednej topologii, na przykład topologii drzewa
Przejście do wersji 6. Protokół musi zapewnić bezkonfliktowe przejście z obecnie obowiązującego protokołu IPv6.
Niezależność od mediów transmisji. Protokół musi pracować w środowisku różnych mediów transmisji stosowanych w sieciach LAN, MAN, WAN, z prędkościami od kilku bit/s do setek Gbit/s. Mówiąc krótko, IP nie może być zorientowany na jeden rodzaj technologii.
Automatyczne konfigurowanie hostów i routerów.
Operacje zabezpieczające. Protokół IP musi zapewnić zabezpieczenie warstwy sieciowej.
Mobilność. Protokół musi zapewnić mobilność hostów, sieci i intersieci.
Elastyczność. Protokół musi odpowiadać przyszłemu zapotrzebowaniu na nowe usługi, które już niedługo będą niezbędne w intersieci.
Spełnienie wszystkich ww. kryteriów w zaprojektowaniu protokołu jest raczej niemożliwe, w związku z tym przygotowane zostały trzy podstawowe projekty:
Ogólna architektura protokołu IP - CATNIP (Common Architecture for Generation Internet Protocol).
TCP i UPD z powiększonymi adresami - TUBA (TCP and UPD with Bigger Addres).
SIPP (Simple Internet Protocol Plus).
Po zebraniu najlepszych własności z wymienionych wyżej trzech wariantów otrzymano produkt, który dzisiaj jest określany mianem IPv6.
Porównanie pakietów IPv4 z IPv6.
Następną po obecnej wersji 4 protokołu IP jest wersja 6 a nie 5. Wynika to z faktu przypisania wersji 5 do Internet Stream protocol Version 2 (ST2)-eksperymentalnego protokołuopracowanego jako dodatek do IP obsługujący transmisję w czasie rzeczywistym dla danych multimedialnych.
Celem projektu protokołu IPv6 jest spełnienie pewnego zbioru wymagań. Najbardziej istotne są udoskonalenia systemu adresowania (który używa 128 bitów w miejsce 32) oraz format pakietu, który pozwala umieszczać opcje w nagłówkach rozszerzających. Zapewnia to optymalizację przepływu pakietów przez routery, ponieważ każdy host i router badając nagłówki może trafnie dobrać funkcje sterujące przepływem pakietów.
Inne funkcje wspomagają koncepcję „zainstaluj i pracuj” (plug and play), dzięki której nowe węzły w sieci mogą otrzymać parametry i własne adresy bez absorbowania w każdym przypadku serwera. Przewidziano również wspomaganie dla przepływów w czasie rzeczywistym (głos i wideo). Umożliwia to w przyszłości Internetowi i sieciom intranet dostawę usług telefonicznych i telewizji kablowej.
Długość nagłówka protokołu IPv6 wynosi 320 bitów (40 oktetów). Nagłówek dzieli się na 8 pól
Pole określające wersję protokołu ma 4 bity (6 na tym polu oznacza, że jest to nagłówek protokołu IPv6). Pole priorytetu ma również 4 bity, informacja tu zawarta wskazuje priorytet pakiet. Przykładowo uaktualnienia protokołów zarządzania siecią lub routingu mogą mieć przydzielony priorytet wyższy od poczty elektronicznej. W ten sposób pakiety o największym znaczeniu będą miały szansę na przejście przez zatłoczoną sieć.
24-bitowe pole etykiety przepływu (Flow Label) jest używane do identyfikowania transmisji danych, które wymagają specjalnej obsługi. Pomysł ten jest w fazie rozwoju i eksperymentu, lecz może byc użyty w sieci internet do wspomagania przesyłaniu danych w czasie rzeczywistym.
Pole długości ( Payload ) jest liczbą 16-bitową, która określa długość pakietu wyrażoną w oktetach (od 576 do 65535 bajtów).
Pole Hop Limit ma długość 8 bitów. Source Addres i Destination Addres zajmują pola o długości 128 bitów.
Porównując nagłówek IPv6 z nagłówkiem IPv4, widać, że pole priorytetu IPv6 jest podobne do pola pierwszeństwa (precedence) IPv4, funkcje pola Next Header są podobne do funkcji pola Protocol IPv4 oraz pole Hop Limit w IPv6 działa podobnie do pola Time to Live protokółu IPv4.
III. Nagłówki opcjonalne.
Adres protokołu IPv6 jest cztery razy dłuższy od adresu IPv4 oraz, że podstawowy nagłówek jest dwa razy dłuższy (40 bajtów w stosunku do 20 bajtów w protokole IPv4). Zwiększenie wydajności uzyskuje się przez optymalizacje operacji związanych z nagłówkiem pakietu i przesunięcie niektórych opcjonalnych funkcji do nagłówka rozszerzenia.
Jeśli na przykład jest żądana funkcja fragmentacji, to informacja o niej jest umieszczana w specjalnym nagłówku rozszerzenia. W ten sposób ogranicza się liczbę pól tylko do niezbędnych. Host wysyłający pakiet określa wymagane opcjonalne nagłówki rozszerzenia, które z kolei są badane przez routery.
Tak wiec pakiet IPv6 może mieć zero, jeden, lub większą liczbę nagłówków rozszerzających. Pole Next Header identyfikuje nagłówek, który przychodzi w następnej kolejności.
Zdefiniowano sześć opcjonalnych rozszerzających nagłówków:
Opcja Hop-by-Hop (skok po skoku) przenosi informację, która musi być sprawdzana i przetwarzana w każdym węźle wzdłuż drogi przesyłania pakietu, również w węźle docelowym
Opcja Destination (miejsce przeznaczenia) przenosi informacje, która wymaga sprawdzenia pakietu tylko w miejscu przeznaczenia. Obecnie brak jest przykładu na zastosowanie tej opcji, jednak w przyszłości będzie spełniać dziś trudne do przewidzenia wymagania.
Routing Header (nagłówek routingu) specyfikuje pośrednie węzły tworzące ścieżkę od źródła do miejsca przeznaczenia.
Fragmen Header (nagłówek routingu) jest używany przez węzeł źródłowy w celu dzielenia komunikatu na fragmenty, które mogą być przetwarzane przez znajdujące się po drodze routery.
Authentcation (legalizacja zapewnia integralność i legalizację danych, używając metod takich jak MD5 (Message Digest 5).
Encapsulating Security Payload (ESP) zapewnia poufność danych, przykładowo używając metody DES (Data Encryption Standard)
Strukturalizacja pakietu IPv6 w podstawowym nagłówku poprzedzającym opcjonalne nagłówki rozszerzające w przyszłości uprości dodawanie nowych własności i funkcji do tego protokołu
Rodzaje adresów w protokole IPv6.
Protokół IPv6 rozwiązuje problem wyczerpywania się adresów s sposób drastyczny: zwiększa przestrzeń adresową z 32 do 128 bitów. Zdefiniowane są trzy rodzaje adresów protokołu IPv6:
Unicast zapewnia komunikację typu punkt-punkt (point-to-point).
Anycast pozwala komunikować się z najbliższym urządzeniem z grupy urządzeń.
Multicast pozwala komunikować się z wieloma urządzeniami z grupy urządzeń.
Liczba adresów, które można otrzymać ze 128-bitowego pola adresowego, przekracza wyobraźnię:
2128= 3,4 1038 . Daje to ok. 1 miliarda adresów na 1 m2 powierzchni Ziemi. Jednak w praktyce wiele czynników zmniejsza te proporcje. Najbardziej pesymistyczne szacowania wskazują, że na 1m2 suchego lądu przypadnie ok. 50 000 adresów, co daje 5 adresów na 1 cm2.
Adres Anycast jest nowym typem adresu, który umożliwi na przykład komunikowanie się z najbliższym routerem. Router ten będzie mógł rozpowszechnić informację do innej grupy urządzeń. W ten sposób host wysyła zaktualizowane dane do jednego routera, który z kolei będzie odpowiedzialny za retransmisję tej informacji do wszystkich zgrupowanych adresów.
W przypadku adresu typu Multicast pole ogranicza zasięg pakietu, to znaczy określa, jak daleko ma dotrzeć. Przykładowo, używając adresu Multicast do telekonferencji w przedsiębiorstwie, można zapewnić, że pakiet z sieci lokalnej nie przedostanie się przez router i nie powędruje do sieci globalnej.
Każdy adres składa się z określonego przedrostka i adresu właściwego. Do chwili obecnej zdefiniowano około 48 przestrzeni adresowej, pozostawiając resztę do przyszłego wykorzystania.
Przedrostek zajmuje pierwsze 3-11 bitów 128-bitowego adresu. Niektóre przedrostki identyfikują adresy typu Unicast, inne Multicast. Jeszcze inne identyfikują specjalne tryby rozgłaszania, takie jak adresy użyte w określonym budynku czy przedsiębiorstwie.
Jako przykład niech posłuży format typu Unicast, przydzielony przez dostawcę usług jakiemuś przedsiębiorstwu. Niektóre pola, takie jak identyfikator podsieci (subnet II), może w tym przypadku przydzielić administrator lokalnej sieci.
Nowe funkcje wspomagające.
Rozwinięto nowe operacje protokołu, które wspomagają wymagania funkcjonalne IPv6. Najbardziej przekonującym przykładem są nagłówki Authentcation i ESD, które zapewniają warstwie zabezpieczenia (secure layer) protokołu IPv6 niezbędne wspomagania w przyszłej komercjalizacji Internetu.
Innym przykładem jest wymaganie dotyczące protokołu autokonfiguracji bez względu na przynależność państwową (Stateless Autoconfiguration Protocol), udostępniającego wiele własności typu „natychmiast przyłącz” (plug-and-play) wymaganych przez protokół IPv6.
Przypuśćmy, że ktoś wziął swój notebook w podróż i chce się podłączyć do sieci IPv6 swojego znajomego. Protokół autokonfiguracji zapewnia sposób, by notebook sam sobie przydzielił adres IPv6, który w części opiera się na jego adresie sieci LAN. Ponieważ adres adaptera LAN jest unikatowy, to przydzielony sobie adres IPv6 również będzie unikatowy, co zapobiegnie dublowaniu się adresów. Przy poprawnym funkcjonowaniu interwencja administratora nie będzie potrzebna.
Wymagane są również inne zmiany, uaktualnienia do protokołu RIP (Routing Information Protocol) OSPF (Open Shortest Path First), mające na celu dostosowanie do większych adresów, oraz zmiany w serwerze DNS (Domain Naming System) w celu dostosowania do zwiększonych rekordów adresowych.
Ogromną zaletą protokołu IPv6 jest 128-bitowe pole adresowe, które w porównaniu do protokołu IPv4 zwiększa wykładniczo liczbę obsługiwanych urządzeń. Przewiduje się, że w protokole IPv4 adresy wyczerpią się w przeciągu najbliższych 5-8 lat. I to właśnie jest jedną z przyczyn które zmuszą wielu użytkowników oraz przedsiębiorstwa na przejście z protokołu IPv4 na IPv6.