Rozgłaszanie prefiksu IPv6 w systemie Windows Server 2003
Wstep
Rozgłaszanie prefiksu w sieci LAN
Rozgłaszanie domyślnego routingu
Wstęp
Windows Server 2003 może pełnić rolę routera IPv6. Dzieki pełnej obsłudze komunikatu Router Advertisement protokołu Neighbor Discovery jest w stanie rozgłaszać w sieci lokalnej informacje o trasach routingu, prefiksach oraz inne dodatkowe informacje.
Komputer z systemem Windows Server 2003 może działać, jako router dla tras statycznych IPv6. Przekazywanie datagramów IPv6 bazuje na tablicy routing protokołu IPv6.
Uwaga informacyjna
Rodzina Windows Server 2003 oraz Windows XP nie wspierają protokołów routingu dynamicznego IPv6.
|
Rozgłaszanie prefiksu w sieci LAN
KROK PIERWSZY - Rozgłaszanie prefiksu w sieci LAN
Rozgłaszanie domyślnego routingu
KROK DRUGI - Rozgłaszanie domyślnego routingu w sieci LAN
Uwaga informacyjna
Jeżeli router R1 z omawianego scenariusza nie będzie miał zdefiniowanej na swoim interfejsie zewnętrznym (INTERNET) domyślnego routingu, w przypadku systemów Windows, nie będzie rozgłaszał siebie w sieci LAN jako domyślnego routera za pomocą komunikatów Router Advertisement.
Należy teraz zapewnić rozgłaszanie komunikatów Router Advertisement w sieci LAN oraz włączyć przekazywanie pakietów przez interfejsy. Polecenia pokazano na rysunku 6.
|
Uwaga informacyjna
Należy również włączyć przekazywanie datagramów dla interfejsu o nazwie INTERNET, gdyż ruch musi przechodzić dwukierunkowo pomiędzy oboma interfejsami:
Netsh interface ipv6 set interface „INTERNET” forward=enable
|
Protokół Neighbor Discovery
Wstęp
Porównanie protokołu ND z rozwiązaniami istniejącymi w IPv4
Formaty komunikatów protokołu Neighbor Discovery
Opcje protokołu Neighbor Discovery
Komunikaty protokołu Neighbor Discovery
Wykorzystanie komunikatów protokołu Neighbor Discovery
Wstęp
Węzły (hosty i routery) używają protokołu rozpoznawania sąsiedztwa ND do określania adresów warstwy łącza danych dla sąsiadów podłączonych do tego samego łącza. Hosty używają tego protokołu do znajdowania sąsiednich routerów, które zgodzą się przesyłać ich datagramy. Protokół jest używany przez węzły do śledzenia stanu dostępności swoich sąsiadów i do wykrywania zmian adresów warstwy łącza danych.
Uwaga informacyjna
Więcej informacji dotyczących protokołu Neighbor Discovery opisanych jest w dokumencie RFC 4861.
|
- Rozpoznawania routerów (ang. Router Discovery) – umożliwiający hostowi lokalizowanie routerów, które dołączone są do tego samego łącza co host.
- Rozpoznawania prefiksu (ang. Prefix Discovery) – umożliwiający hostowi znalezienie zbioru prefiksów adresów określających, które węzły docelowe dołączone są to tego samego łącza, co host (węzły używają prefiksów do rozróżniania węzłów docelowych dostępnych bezpośrednio poprzez łącze od tych, które są dostępne poprzez router).
- Rozpoznawania parametrów (ang. Parameter Discovery) – umożliwiający węzłowi otrzymanie informacji o parametrach łącza, takich jak MTU dla łącza lub parametrów sieci Internet, takich jak wartość ograniczająca liczbę przeskoków umieszczaną w wysyłanych datagramach.
- Automatycznej konfiguracji adresów (ang. Address Autoconfiguration) – umożliwiający węzłowi automatyczne konfigurowanie adresów dla jego interfejsów.
- Odwzorowania adresów (ang. Address Resolution) – umożliwiający węzłowi określanie adresu warstwy łącza danych węzłów docelowych, które dołączone są tego samego łącza (tj. sąsiadów), jeśli dany jest tylko ich adres IP.
- Określania węzła następnego przeskoku (ang. Next-hop Determination) – odwzorowujący docelowe adresy IP w adresy IP węzłów sąsiednich, do których należy skierować ruch wysyłany na dany adres docelowy. Węzłem następnego przeskoku może być router lub sam węzeł docelowy.
- Wykrywania braku dostępu do sąsiadów (ang. Neighbor Unreachability Detection) –umożliwiający węzłowi stwierdzenie braku dostępu do sąsiada. Jeśli sąsiadem jest router, wtedy węzeł może użyć domyślnego routera alternatywnego.
- Wykrywaniaduplikatów adresów (ang. Duplicate Address Detection) – umożliwiający węzłowi określenie czy adres, którego chciałby dla siebie użyć, nie jest już używany przez inny węzeł.
- Przekierowania (ang. Redirect)– umożliwiający routerowi informowanie hosta o tym, że istnieje inny węzeł pośredni, który oferuje lepsze przesyłanie datagramów wysyłanych na określony adres docelowy.
- Router Solicitation – gdy interfejs przestaje być dostępny, host może wysłać tę wiadomość, która jest żądaniem niezwłocznego wygenerowania wiadomości – Router Advertisement(host nie musi czekać na wiadomość Router Advertisement, która w „normalnych warunkach” wysyłana jest okresowo).
- Router Advertisement – routery ogłaszają swoją obecność informując o łączach, do których są podłączone oraz o innych parametrach. Wiadomości ogłoszeniowe wysyłane są okresowo lub w odpowiedzi na wiadomość Router Solicitation. Wiadomość Router Advertisement zawiera informację o prefiksach, które są używane przez węzły do określania, czy router znajduje się na tym samym łączu, a także do konfiguracji adresów; zawiera także sugerowaną wartość ograniczającą liczbę przeskoków.
- Neighbor Solicitation – wiadomość wysyłana w celu określenia adresu warstwy łącza danych dla węzła sąsiedniego lub do sprawdzenia, czy węzeł sąsiedni jest wciąż dostępny za pomocą adresu warstwy łącza danych, przechowywanego w pamięci podręcznej. Wiadomość ta używana jest także przez mechanizm wykrywania duplikatów adresów.
- Neighbor Advertisement – odpowiedź na wiadomość Neighbor Solicitation. Węzeł może także wysłać wiadomość Neighbor Advertisement, która nie jest odpowiedzią informującą o zmianie adresu warstwy łącza danych.
- Redirect – wiadomość używana przez routery do informowania hostów o tym, że istnieje inny węzeł pośredni, który oferuje lepsze przesyłanie datagramów wysyłanych na określony adres docelowy.
- Zmianę adresu warstwy łącza danych – węzeł, który wie, że jego adres warstwy łącza danych zmienił się, może wysłać na adres multicastowy do wszystkich węzłów kilka wiadomości Neighbor Advertisement umożliwiających szybką zmianę tych adresów warstwy łącza danych z pamięci podręcznej, które przestały być aktualne. Wysyłanie tych wiadomości jest opcjonalne i służy tylko poprawie wydajności. Dopiero algorytm wykrywania braku dostępu do sąsiadów zapewnia, że wszystkie węzły na pewno zostaną poinformowane o nowym adresie, chociaż opóźnienie może być w tym przypadku większe.
- Równoważenieruchu wchodzącego – węzły z więcej niż jednym interfejsem podłączonym do tego samego łącza mogą chcieć zrównoważyć ich obciążenie. W tych węzłach jeden sterownik sieciowy może traktować kilka interfejsów, jako jeden logiczny interfejs posiadający kilka adresów warstwy łącza danych. Równoważenie ruchu wprowadza się poprzez umożliwienie routerom pominięcia adresu źródłowego warstwy łącza danych w wiadomościach Router Advertisement, i w ten sposób wymuszenie na sąsiednich węzłach używania wiadomości Neighbor Solicitation do uzyskania informacji o adresie warstwy łącza danych routera. W zależności od tego, który węzeł wysłał żądanie wysyłana w odpowiedzi wiadomość Neighbor Advertisement może zawierać różne adresy warstwy łącza danych.
Porównanie protokołu ND z rozwiązaniami istniejącymi w IPv4
- Mechanizm rozpoznawania routerów należy teraz do zbioru podstawowych protokołów. Hosty nie muszą już ingerować w protokoły doboru tras.
- Wiadomości Router Advertisement mogą przenosić adresy warstwy łącza danych. Nie ma potrzeby wymiany dodatkowych komunikatów do rozwiązywania adresów warstwy łącza danych.
- Wiadomości Router Advertisement przenoszą prefiksy adresów dla łącza. Nie ma potrzeby istnienia oddzielnego mechanizmu do konfigurowania maski podsieci (netmask).
- Wiadomości Router Advertisement umożliwiają automatyczną konfigurację adresów.
- Routery mogą ogłaszać hostom wartość MTU w danym łączu. Istnieje wtedy pewność, że wszystkie węzły używają tej samej wartości MTU dla łącza.
- Przekierowania zawierają adres warstwy łącza danych węzła następnego skoku; po otrzymaniu przekierowania oddzielna konwersja adresu nie jest potrzebna.
- Z jednym łączem może być skojarzonych kilka prefiksów. Domyślnie, hosty otrzymują informacje o wszystkich prefiksach określających łącza, do których są dołączone, z wiadomości Router Advertisement. Czasami jednak routery mogą być skonfigurowane tak, by pomijać niektóre lub wszystkie prefiksy w swoich wiadomościach ogłoszeniowych. W takim przypadku hosty zakładają, że węzły docelowe nie są podłączone do tego samego łącza i ruch skierowany do nich wysyłają do routerów. Jeśli zachodzi potrzeba (tj. węzeł docelowy jest dołączony do tego samego łącza, co nadawca), router może przekierować taki ruch.
- W przeciwieństwie do protokołu IPv4, odbiorca wiadomości Redirect w wersji IPv6 zakłada, że nowy węzeł następnego przeskoku jest podłączony do tego samego łącza. W protokole IPv4, host ignorował przekierowania określające węzeł następnego przeskoku, który – według maski sieciowej łącza – nie był podłączony do tego samego łącza, co host. Mechanizm przekierowania ma być użyteczny w łączach, w których węzły nie są w stanie lub nie powinny poznać wszystkich prefiksów węzłów docelowych dołączonych do tych łączy.
- Mechanizm wykrywania braku dostępu do sąsiadów w znaczący sposób poprawia odporność na błędy występujące podczas dostarczania datagramu (awarii routerów, awarii części łączy lub gdy występują hosty, które zmieniły swoje adresy warstwy łącza danych). Na przykład węzły ruchome mogą przenieść się poza łącze bez straty możliwości połączenia, która mogłaby być spowodowana brakiem zmian w pamięci podręcznej protokołu konwersji adresów (ARP).
- W przeciwieństwie do protokołu konwersji adresów (ARP), protokół rozpoznawania sąsiedztwa wykrywa błędy na łączach odcinające jeden kierunek łącza (używając do tego mechanizmu wykrywania dostępu do sąsiadów) i w ten sposób unika kierowania ruchu do sąsiadów, z którymi połączenie dwustronne jest niemożliwe.
- W odróżnieniu od protokołu rozpoznawania routerów dla IPv4 (IPv4 Router Discovery) wiadomości Router Advertisement nie zawierają pola preference. Pole preference nie jest potrzebne w przypadku routerów działających niestabilnie, mechanizm wykrywania braku dostępu do sąsiadów wykryje niedziałające routery i przełączy na routery działające.
- Użycie adresów lokalnych łączy do jednoznacznego identyfikowania routerów (przez wiadomości Router Advertisement i Redirect) umożliwia hostom utrzymanie połączenia z routerem w przypadku, gdy miejscu w sieci zostają przydzielone nowe globalne prefiksy.
- Umieszczenie konwersji adresów na poziomie protokołu ICMP sprawia, że protokół rozpoznawania sąsiedztwa jest bardziej niezależny od medium niż protokół ARP oraz można go użyć ze standardowymi mechanizmami uwierzytelniania i bezpieczeństwa dla IPv6.
Format komunikatów protokołu Neighbor Discovery
Każdy nagłówek komunikatu protokołu Neighbor Discovery (ND) zawiera 8-bitowe pola Typ i Kod, 16-bitową sumę kontrolną ICMPv6, kilka specjalnych pól oraz kilka zdefiniowanych wartości pole Opcje. Kolejne wersje protokołu mogą definiować nowe wartości pola opcji. Odbiorca musi „po cichu” ignorować opcje, które nie są przez niego zaimplementowane, i kontynuować dalsze przetwarzanie komunikatu. Komunikaty protokołu ND są wysyłane, jako komunikaty ICMP o typach 133 do 137.
Opcje protokołu Neighbor Discovery
Typ
|
Opcja
|
1
|
Source Link-Layer Address – Adres warstwy łącza danych źródła
|
2
|
Target Link-Link Address – Adres warstwy łącza danych celu
|
3
|
Prefix information – Informacja o prefiksie
|
4
|
Redirected Header – Przekierowanie nagłówka
|
5
|
MTU – Wartość MTU
|
Opcje Source/Target Link-Layer Address
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
8-bitowy identyfikator typu opcji. Aktualnie zdefiniowane opcje przedstawia tabela poniżej
|
Długość
|
Długość opcji (zawiera pola Typ i Długość) w 8-oktetowych jednostkach. (przykładowo długość dla IEEE 802 = 1)
|
Link-Layer Address
|
Adres warstwy łącza danych (o zmiennej długości – z uwzględnieniem kolejności i wielkości poszczególnych pól).
|
Typ
|
Specyfikacja
|
1
|
Source Link-Layer Address – Adres warstwy łącza danych źródła
|
2
|
Target Link-Layer Address - Adres warstwy łącza danych celu
|
Opcja Prefix Information
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
3
|
Długość
|
4
|
Prefix Length
|
8-bitowa liczba bez znaku. Określa ilość bitów prefiksu. Wartość z przedziału 0 do 128;
|
L
|
1-bitowa flaga (on-link). Ustawiona oznacza, że prefiks może zostać użyty do określenia adresu łącza typu on-link. Gdy nie jest ustawiona, nie można zakładać żadnych właściwości prefiksu.
|
A
|
1-bitowa flaga autonomicznej konfiguracji adresów (ang. autonomous address-configuration). Ustawiona oznacza, iż prefiks może zostać użyty do autonomicznej konfiguracji adresów.
|
Zarezerwowane
|
Pole obecnie niewykorzystywane.
|
Valid Lifetime
|
32-bitowe pole – czas życia prefiksu determinującego adresy łącza typu on-link, w stosunku do czasu wysłania datagramu. Wartość 0xffffffff reprezentuje nieskończoność. Opcja wykorzystywana do automatycznej konfiguracji adresów.
|
Preferred Lifetime
|
32-bitowe pole – czas życia determinującego adresy łącza generowane poprzez automatyczną konfiguracje adresów, w stosunku do czasu wysłania datagramu. Wartość 0xffffffff reprezentuje nieskończoność.
|
Prefix
|
Adres IP lub prefiks adresu IP. Pole (długość prefiksu) zawiera liczbę bitów prefiksu. Pozostałe bity w prefiksie powinny zostać wyzerowane przez nadawcę i ignorowane przez odbiorcę. Router nie powinien wysyłać tej opcji dla prefiksów dla łącza lokalnego, jednocześnie host powinien ignorować takie opcje.
|
Uwaga informacyjna
On-link – oznacza adres przypisany do interfejsu na określonym łączu. Węzeł może być on-link, gdy: jego prefiks jest zgodny z prefiksem łącza; sąsiadujący router zdefiniuje go, jako cel komunikatu Redirect; komunikat Neighbor Advertisement został otrzymany dla podanego adresu, jakkolwiek wiadomość typu Neighbor Discovery została otrzymana z tego adresu;
Off-link – oznacza sytuację przeciwną do on-link.
|
Opcja Redirected Header
Opcja wykorzystywana jest w komunikatach przekierowujących i zawiera cały datagram lub jego część podlegająca przekierowaniu. Opcja ta musi być ignorowana przez inne komunikaty protokołu Neighbor Discovery.
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
4
|
Długość
|
Długość opcji w jednostkach 8-bajtowych
|
Zarezerwowane
|
Pole niewykorzystywane, musi być inicjowane przez nadawcę zerami a ignorowane przez odbiorcę.
|
Naglówek IP + DANE
|
Okrojony oryginalny datagram IP zapewniający nieprzekroczenie wartości 1280 bajtów przez komunikat.
|
Opcja MTU
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
5
|
Długość
|
1
|
Zarezerwowane
|
16-bitowe niewykorzystywane pole – musi być inicjowane przez nadawcę zerami a ignorowane przez odbiorcę.
|
MTU
|
32-bitowa liczba bez znaku. Zawiera zalecane MTU dla danego łącza.
|
Komunikaty protokołu Neighbor Discovery
Protokół ND definiuje pięć typów komunikatów:
- Router Solicitation
- Router Advertisement
- Neighbor Solicitation
- Neighbor Advertisement
- Redirect
Router Solicitation
Pole
|
Przeznaczenia pola oraz wartość pola
|
Adres źródłowy
|
Adres IP przypisany do interfejsu wysyłającego komunikat lub adres nieokreślony, gdy interfejs nie posiada adresu IP.
|
Adres docelowy
|
Przeważnie adres multicastowy wszystkich routerów.
|
Hop Limit
|
255
|
Authentication Header
|
Jeżeli wymagane jest uwierzytelnianie przesyłanych wiadomości, wówczas należy zastosować nagłówek weryfikacji autentyczności.
|
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
133
|
Kod
|
0
|
Suma kontrolna
|
Suma kontrolna ICMPv6.
|
Zarezerwowane
|
Pole niewykorzystywane, musi być inicjowane przez nadawcę zerami, a ignorowane przez odbiorcę.
|
Typ
|
Specyfikacja
|
Source Link-Layer Address
|
Adres źródłowy warstwy łącza danych nadawcy komunikatu. Opcja ta nie może być dołączana, jeżeli adres źródłowy jest nieokreślony.
|
Router Advertisement
Pole
|
Przeznaczenia pola oraz wartość pola
|
Adres źródłowy
|
Adres IP przypisany do interfejsu wysyłającego komunikat.
|
Adres docelowy
|
Przeważnie adres źródłowy zawarty w komunikacie Router Solicitation, który żądał wygenerowania komunikatu Router Advertisement lub adres multicastowy wszystkich węzłów.
|
Hop Limit
|
255
|
Authentication Header
|
Jeżeli wymagane jest uwierzytelnianie przesyłanych wiadomości, wówczas należy zastosować nagłówek weryfikacji autentyczności
|
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
134
|
Kod
|
0
|
Suma kontrolna
|
Suma kontrolna ICMPv6
|
Cur Hop Limit
|
8-bitowa liczba bez znaku. Oznacza bieżący limit liczby etapów. Wartość domyślna, która powinna być w polu Limit skoków nagłówka wychodzącego datagramu IP. Wartość 0 oznacza wartość nieokreśloną przez router.
|
M
|
1-bitowa flaga Managed Address Configuration – zarządzana konfiguracja adresów. Wybrana została ręczna autokonfiguracja adresów (statefull).
|
O
|
1-bitowa flaga Other Statefull Configuration – zarządzana konfiguracja, w trybie statefull, informacjami innymi niż adres.
|
Zarezerwowane
|
Pole niewykorzystywane, musi być inicjowane przez nadawcę zerami a ignorowane przez odbiorcę
|
Router Lifetime
|
16-bitowa liczba bez znaku określa czas życia routera domyślnego w sekundach. Maksymalna wartość odpowiada 18,2 godzinom. Wartość 0 oznacza, że router nie jest routerem domyślnym i nie powinien pojawić się na liście routerów domyślnych, nie tyczy się to informacji w pozostałych polach czy opcjach. Opcje, które wymagają limitów czasowych posiadają odpowiednie własne pola.
|
Reachable Time
|
32-bitowa liczba bez znaku określa (w milisekundach) okres czasu, przez jaki zakłada się, że sąsiad jest osiągalny. Jest on liczony od chwili otrzymania potwierdzenia osiągalności. Parametr ten jest używany prze algorytm detekcji nieosiągalności sąsiadów. Wartość zero oznacza wartość nieokreśloną przez dany router.
|
Retrans Timer
|
32-bitowa liczba bez znaku określa (w milisekundach) odstęp czasu pomiędzy retransmisjami komunikatu Neighbor Solicitation. Wartość zero oznacza wartość nieokreśloną przez dany router.
|
Typ
|
Specyfikacja
|
Source Link-Layer Address
|
Adres źródłowy warstwy łącza danych nadawcy komunikatu. Opcja ta nie może być dołączana, jeżeli adres źródłowy jest nieokreślony. Routery mogą pominąć tą opcję w celu umożliwienia dzielenia danych wchodzących pomiędzy wiele interfejsów sieciowych.
|
MTU
|
Wartość używana tylko w przypadku łączy o zmiennej wartości MTU.
|
Prefix Information
|
Zawiera prefiksy, które są używane na danym łączu lub/i do autokonfiguracji adresów. Routery wyszczególniają wszystkie prefiksy na danym łączu (za wyjątkiem prefiksu lokalnego łącza), dlatego hosty o wielu łączach (ang. multihomed hosts) mają pełną informację o prefiksach na poszczególnych łączach, do których są podłączone.
|
Neighbor Solicitation
Pole
|
Przeznaczenia pola oraz wartość pola
|
Adres źródłowy
|
Adres IP przypisany do interfejsu wysyłającego komunikat lub adres nieokreślony (w przypadku, gdy proces detekcji przydzielonych już adresów jest w toku).
|
Adres docelowy
|
Multicastowy adres skrócony węzła (ang. solicited-node) lub adres docelowy.
|
Hop Limit
|
255
|
Authentication Header
|
Jeżeli wymagane jest uwierzytelnianie przesyłanych wiadomości, wówczas należy zastosować nagłówek weryfikacji autentyczności.
|
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
135
|
Kod
|
0
|
Suma kontrolna
|
Suma kontrolna ICMPv6.
|
Zarezerwowane
|
Pole niewykorzystywane, musi być inicjowane przez nadawcę zerami a ignorowane przez odbiorcę.
|
Typ
|
Specyfikacja
|
Source Link-Layer Address
|
Adres źródłowy warstwy łącza danych nadawcy komunikatu. Opcja ta nie może być dołączana, jeżeli adres źródłowy jest nieokreślony. Dla poszukiwania adresów multicastowych opcja ta jest wymagana, ale można ją zastosować także do poszukiwania adresów unicastowych.
|
Neighbor Advertisement
Pole
|
Przeznaczenia pola oraz wartość pola
|
Adres źródłowy
|
Adres IP przypisany do interfejsu wysyłającego komunikat.
|
Adres docelowy
|
Dla rozgłoszeń wymuszonych (ang. Solicitated Advertisement) adres źródłowy komunikatu wywołującego komunikat Neighbor Advertisement. Jeżeli adres źródłowy jest nieokreślony, to jest to multicastowy adres wszystkich węzłów.
|
Hop Limit
|
255
|
Authentication Header
|
Jeżeli wymagane jest uwierzytelnianie przesyłanych wiadomości, wówczas należy zastosować nagłówek weryfikacji autentyczności.
|
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
136
|
Kod
|
0
|
Suma kontrolna
|
Suma kontrolna ICMPv6.
|
R
|
1-bitowa flaga routera (ang. Router flag). Ustawiona wskazuje, że nadawca jest routerem. Bit R używany jest przez algorytm detekcji nieosiągalności sąsiada do identyfikacji routera, który zmienił swoją funkcję na hosta.
|
S
|
1-bitowa flaga wymuszenia (ang. Solicited flag). Ustawiona oznacza, że odpowiedź, ogłoszenie zostało przesłane w odpowiedzi na komunikat Neighbor Solicitation. Bit S używany jest do potwierdzenia osiągalności dla algorytmu detekcji nieosiągalności sąsiada. Nie może być ustawiona w rozgłoszeniach multicastowych i w rozgłoszeniach unicastowych niewymuszonych.
|
O
|
1-bitowa flaga unieważnienia (ang. Override flag). Ustawiona wskazuje, że rozgłoszenie powinno unieważnić pozycje w pamięci Neighbor cache i zaktualizować znajdujące się tam adresy warstwy łącza danych. Jeżeli flaga O nie jest ustawiona, adresy warstwy łącza danych nie zostaną zaktualizowane; są jednak aktualizowane pozycje w Neighbor Cache, dla których nieznany jest adres warstwy łącza danych. Flaga nie powinna być ustawiana w rozgłoszeniach wymuszonych dla adresów anycastowych i wymuszonych rozgłoszeniach Proxy.
|
Zarezerwowane
|
Pole niewykorzystywane, musi być inicjowane przez nadawcę zerami a ignorowane przez odbiorcę.
|
Target Address
|
Dla rozgłoszeń wymuszonych pole Adres docelowy z komunikatu Neighbor Solicitation, który wywołał komunikat. Dla rozgłoszeń niewymuszonych: jest to adres warstwy łącza danych, który się zmienił. Adres docelowy nie może być adresem multicastowym.
|
Typ
|
Specyfikacja
|
Target Link-layer
|
Adres warstwy łącza danych celu, tj. twórcy rozgłoszenia lub Address odpowiedzi. Opcja musi zostać dołączona, gdy warstwa łącza danych posiada adres i komunikat jest odpowiedzią na komunikat multicastowy lub w przypadku odpowiedzi na komunikat unicastowy Neighbor Solicitation. Opcja musi być dołączona również w odpowiedzi na komunikaty multicastowe Neighbor Solicitation w celu uniknięcia ich nieskończonej rekursji (gdy w odpowiadającej warstwie odbiorcy, brak jest pozycji w pamięci Neighbor cache, która mogłaby być zwrócona w komunikacie Neighbor Solicitation). Jeżeli odpowiedź jest generowana na żądanie adresu unicastowego, opcja może być pominięta, gdyż nadawca ma prawidłowy adres łącza danych, ale nie może prawidłowo wysłać komunikatu żądania. Jednakże załączanie adresu warstwy łącza danych w tym przypadku jest nadmiarowe, ale służy zabezpieczeniu się przed przypadkiem, gdy nadawca usunął już wpis w swojej pamięci podręcznej czekając na odpowiedź z poprzedniego żądania.
|
Redirect
Pole
|
Przeznaczenia pola oraz wartość pola
|
Adres źródłowy
|
Adres IP przypisany do interfejsu wysyłającego komunikat.
|
Adres docelowy
|
Adres IP przypisany do interfejsu wysyłającego komunikat.
|
Hop Limit
|
255
|
Authentication Header
|
Jeżeli wymagane jest uwierzytelnianie przesyłanych wiadomości, wówczas należy zastosować nagłówek weryfikacji autentyczności.
|
Pole
|
Przeznaczenia pola oraz wartość pola
|
Typ
|
136
|
Kod
|
0
|
Suma kontrolna
|
Suma kontrolna ICMPv6.
|
Zarezerwowane
|
Pole niewykorzystywane – musi być inicjowane przez nadawcę zerami a ignorowane przez odbiorcę.
|
Target Address
|
Docelowy adres IP lepszego węzła pierwszego kroku, dla komunikatów ICMP. Gdy cel jest aktualnym końcowym punktem komunikacyjnym, tj. punktem docelowym jest sąsiad, pole Przekierowany adres przeznaczenia zawiera taką samą wartość jak pole Adres docelowy. W innym przypadku cel jest routerem pierwszego kroku i Adres docelowy musi jednoznacznie go identyfikować, tj. być adresem typu link-local.
|
Przekierowany Adres przeznaczenia
|
Adres IP przeznaczenia (ang. Destination), które jest przekierowywane do celu.
|
Typ
|
Specyfikacja
|
Target Link-layer Address
|
Adres warstwy łącza danych celu.
|
Redirect Header
|
Jak najwięcej danych datagramu IP, który wywołał komunikat Redirect, ale nie więcej niż 1280 oktetów.
|
Wykorzystanie komunikatów Neighbor Discovery
- Rozwiązywaniem adresów - Address resolution – w tym z mechanizmem odkrywania zduplikowanych adresów
- Odkrywaniem routera - Router discovery – włączając w to odkrywanie prefiksów i innych parametrów
- Odkrywaniem niedostępności sąsiadów
- Przekierowaniem do innego (lepszego) routera
- Neighbor cache - przechowuje adresy IP sąsaidów będących w stanie on-link, odpowiadajace im adresy warstwy łacza danych ora zstan dostepnośći danego sąsiada. Neighbor cache jest odpowiednikiem ARP cache w protokole IPv4.
- Destination cache - przechowuje informacje o sposobie dostarczania datagramów do określonych adresów IP.
- Prefix list - przechowuje listę prefiksów on-link. Każdy z wpisów określa zakres adresów IP związanych z danym prefiksem. Lista ta jest rozgłąszana za pomocąkomunikatu Router Advertisement message.
- Default router list - przechowuje listę adresów IP routerów on-link, które to rozgłaszały komunikaty Router Advertisement messages mogą być, zatem traktowane, jako routery domyślne.
Uwaga informacyjna
Implementacja IPv6 w systemach Microsoft wykorzystuje tablicę routing zamiast listy prefiksów oraz listy domyślnych routerów.
|
Address Resolution
W punkcie tym przedstawiono poszczególne czynności wykonywane podczas autokonfiguracji węzła. Proces autokonfiguracji jest możliwy tylko na węzłach mogących mieć przypisane adresy multicastowe i rozpoczyna się zaraz po inicjalizacji interfejsu (np. podczas startu systemu). Węzły (zarówno hosty jak i rutery) rozpoczynają proces autoconfiguracji od wygenerowania adresów lokalnych łącza dla każdego z interfejsów. Adres lokalny łącza jest tworzony poprzez dodanie do identyfikatora interfejsu prefiksu określającego łącza lokalne.
Tworzenie adresów lokalnych-łącza
- Interfejs jest inicjowany po raz pierwszy.
- Interfejs jest reinicjowanany po chwilowym uszkodzeniu lub został ponownie zainicjowany po chwilowym wyłączeniu przez system nadzoru.
- Interfejs jest po raz pierwszy podłączany do łącza.
- Interfejs staje się dostępny po wyłączeniu go przez system nadzoru.
Detekcja przydzielonych już adresów
- Proces detekcji przydzielonych adresów nie obejmuje adresów anycastowych.
- Każdy adres unicastowy powinien być testowany indywidualnie
Procedura detekcji podwójnych adresów wykorzystuje komunikaty Neighbor Solicitation i Neighbor Advertisement. Jeżeli podwójny adres został odkryty podczas tej procedury, adres taki nie może zostać przydzielony do interfejsu. Jeżeli adres jest związany z identyfikatorem interfejsu,, nowy identyfikator musi zostać przydzielony interfejsowi, lub wszystkie adresy IPv6 musza zostać manualnie skonfigurowane. Metoda detekcji nie jest jednak całkowicie wiarygodna, gdyż możliwe jest przydzielenie dwóch identycznych adresów, np. gdy łącze było uszkodzone w czasie trwania procedury detekcji podwójnych adresów.