IPv6 4 Neighbor Discovery

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Jacek.Swiatowiak@lan-net.pl

Tajemnice protokołu IPv6


Cześć 4
Protokół Neighbor Discovery

(podziór protokołu ICMPv6)

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Kilka słów o mnie:

MCSE+M, MCSE+S

MCTS: Forefront Client and Server, ISA 2006

MCTS: SQL 2005

MCTS: Vista, Windows 7

MCTS: Business Desktop Deployment, BDD

MCTS: Office Communications Server 2007

MCTS: SBS 2008, EBS 2008

MCTS: Exchange 2007, 2010

MCTS: Windows Server Virtualization,

MCTS: Windows Server 2008 R2, Desktop Virtualization


MCITP: Windows Server 2008, Server Administrator
MCITP: Windows Server 2008, Enterprise Administrator
MCITP: SQL 2005, Database Administrator
MCITP: Exchange Server 2007, Enterprise Messaging Administrator
MCITP: Exchange Server 2010, Enterprise Messaging Administrator
MCITP: Windows Server 2008 R2, Virtualization Administrator 2008 R2
MCITP: Windows 7, Enterprise Desktop Administrator
MSA: Office Communications Server 2007

– U.C.Voice

MVP: Forefront

od października 2010

Strefa eksperta ATE

2008 - 2010

2/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Rok 2001 !!!!!!!!!!!!!!

3/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Inżynieria Internetu Przyszłości

Projekt jest współfinansowany ze środków Unii Europejskiej poprzez Europejski
Fundusz Rozwoju Regionalnego w ramach Programu Operacyjnego
Innowacyjna Gospodarka na lata 2007-2013:

• Priorytet 1 - Badania i rozwój nowoczesnych technologii.
• Działanie 1.1 - Wsparcie badań naukowych dla budowy gospodarki opartej na wiedzy.
• Poddziałanie 1.1.2 - Strategiczne programy badań naukowych i prac rozwojowych.


Numer projektu: POIG.01.01.02-00-045/09-00.
Czas realizacji: 01.01.2010 - 31.12.2012.

http://www.iip.net.pl

4/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Inżynieria Internetu Przyszłości

Projekt dotyczy opracowania i przetestowania infrastruktury i usług dla nowych generacji sieci
Internet, tj. Internetu IPv6 i Internetu Przyszłości (ang. Future Internet). Oczekuje się, iż nowe
generacje Internetu (jeden z głównych priorytetów badawczych w ramach Programów
Ramowych Unii Europejskiej) przyczynią się istotnie do rozwoju cywilizacyjnego w Europie
powodując, że z ich możliwości będą korzystały wszystkie lub prawie wszystkie obszary
ludzkiej aktywności.

Celem projektu w ramach Internetu IPv6 jest opracowanie metodyki dla ewolucyjnego
zastąpienia w sieci krajowej obecnej wersji IP (IPv4) przez protokół IPv6 oraz
zaproponowanie nowych rozwiązań sieciowych i usług wynikających z IPv6.

Celem

projektu w ramach Internetu Przyszłości jest opracowanie i przetestowanie propozycji

nowej architektury opartej na wirtualizacji zasobów wraz z nowymi mechanizmami i
algorytmami dotyczącymi istotnych aspektów działania sieci. Projekt stawia sobie również za
cel stworzenie środowiska krajowej sieci testowej dla Internetu IPv6 i Internetu Przyszłości,
pozwalającego na prowadzenie działalności badawczo-rozwojowej opartej na weryfikacji
eksperymentalnej.

5/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Inżynieria Internetu Przyszłości

Projekt jest realizowany przez konsorcjum, w którego skład wchodzą wiodące
uczelnie techniczne, instytuty Polskiej Akademii Nauk i instytuty branżowe.

Politechnika Warszawska
Instytut Łączności - Państwowy Instytut Badawczy
Politechnika Wrocławska
Politechnika Poznańska
Poznańskie Centrum Superkomputerowo-Sieciowe (Instytut Chemii
Bioorganicznej PAN)
Instytut Informatyki Teoretycznej i Stosowanej Polskiej Akademii Nauk
Politechnika Śląska
Politechnika Gdańska
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie

6/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Sesje

Zagadnienia adresacji

– odbyła się 11 listopada 2011

Datagram IPv6

– odbyła się 25 listopada 2011 r.

Protokół ICMPv6 – odbyła się 1 grudnia 2011

Protokół Neighbor Discovery – 15 grudnia 2011

Zagadnienia automatycznej adresacji
Technologie migracji
Tunelowanie 6to4
Tunelowanie ISATAP
Tunelowanie TEREDO
Zagadnienia dodatkowe

7/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Poprzednia sesja

Wstęp
Podprotokoły ICMPv6
Typy komunikatów ICMPv6
Nagłówek protokołu ICMPv6
Komunikaty błędów protokołu ICMPv6
Komunikaty informacyjne ICMPv6
Komunikat błędu ICMPv6 - Miejsce docelowe nieosiągalne - Destination
Unreachable
Komunikat błędu ICMPv6 - Datagram za duży - Packet Too Big
Komunikat błędu ICMPv6 - Przekroczenie czasu - Time Exceeded
Komunikat błędu ICMPv6 - Problem z parametrem - Parameter Problem
Komunikaty informacyjne ICMPv6 - Echo Request oraz Echo Reply

Część praktyczna – manualne zarządzanie adresami IPv6 oraz
routingiem statycznym.

8/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Agenda











Wstęp
Mechanimzmy Neighbor Discovery
Komunikaty Neighbor Discovery
Format komunikatów protokołu Neighbor Discovery
Opcje protokołu Neighbor Discovery
Opcja Source/Target Link-Layer Address
Opcja Prefix Information
Opcja Redirected Header
Opcja MTU
Opcja Router Information
Komunikat Router Solicitation
Komunikat Router Advertisement
Komunikat Neighbor Solicitation
Komunikat Neighbor Advertisement
Komunikat Redirect
Przykład procesu odkrywania routera i prefiksu
Przykład procesu rozwiązywania adresów

Przykład praktyczny – konfiguracja DNS oraz
mechanimzy rozwiązywania nazw

9/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Wstęp

Węzły (hosty i routery) używają protokołu rozpoznawania sąsiedztwa -

Neighbor

Discovery

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.

Protokół Neighbor Discovery – zdefiniowany jest w RFC 4861 – wrzesień 2007
Oraz uaktualnienie w RFC 5942 - IPv6 Subnet Model: The Relationship between
Links and Subnet Prefixes

– lipiec 2010

10/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Mechanizmy Neighbor Discovery

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.

11/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Mechanimzmy Neighbor Discovery

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.

Wykrywania duplikató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.

12/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikaty Neighbor Discovery

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.

13/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

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.

Typ Informacja
133

Zapytanie Routera - Router Solicitation

134

Odpowiedź Routera - Router Advertisement

135

Zapytanie Sąsiada – Neighbor Solicitation

136

Odpowiedź Sąsiada – Neighbor Advertisement

137

Przekierowanie - Redirect

Tabela 1

. Komunikaty protokołu Neighbor Discovery

14/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcje protokołu Neighbor
Discovery

Komunikaty protokołu Neighbor Discovery mogą zawierać zero lub więcej opcji.
Część z nich może wystąpić wielokrotnie w tym samym komunikacie. Wszystkie
opcje mają ustalony format przedstawiony na rysunku poniżej. Opcje kodowane
są w formacie TLV - Type-Length-Value.

Typ

Opcja

RFC

1

Source Link-Layer Address – Adres warstwy łącza danych źródła

4861

2

Target Link-Link Address – Adres warstwy łącza danych celu

4861

3

Prefix information – Informacja o prefiksie

4861

4

Redirected Header – Przekierowanie nagłówka

4861

5

MTU – Wartość MTU

4861

7

Advertisement Interval (Mobile IPv6) – nie jest tu omawiana

3775

8

Home Agent Information (mobile IPv6) – nie jest tu omawiana

3775

24

Route Information

4191

Podstawowe opcje protokołu Neighbor Discovery
zdefiniowane są w dokumencie RFC 4861.

15/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja Source/Target
Link-Layer Address

Opcja

adres warstwy łącza danych źródła

zawiera adres warstwy łącza danych

nadawcy komunikatu. Jest wykorzystywana w komunikatach Neighbor Solicitation,
Router Solicitation i Router Advertisement.

Opcja

adres warstwy łącza danych celu

zawiera adres warstwy łącza danych

odbiorcy komunikatu. Wykorzystywana jest w komunikatach Neighbor
Advertisement
i Redirect.

Obie opcje powinny być „po cichu” ignorowane w

komunikatach innego typu.

Obie opcje mają ten sam format przedstawiony na rysunku. Opcja Source Link-
Layer Address nie jest dołączana, kiedy adres źródłowy komunikatu ND jest
nieokreślony (::).

16/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja 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).

Tabela 2.

Znaczenie pól opcji Source/Target Link-Layer Address

Tabela 3.

Opcje komunikatów

Typ Specyfikacja

1

Source Link-Layer Address – Adres warstwy łącza danych źródła

2

Target Link-Layer Address - Adres warstwy łącza danych celu

17/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja Source/Target
Link-Layer Address

Przykład. Wykorzystanie opcji Source Link-Layer Address


Frame:
+ Ethernet: Etype = IPv6
+ Ipv6: Next Protocol = ICMPv6, Payload Length = 32
- Icmpv6: Neighbor Solicitation, Target = FE80:0:0:0:260:97FF:FEAA:BBCC

MessageType: Neighbor Solicitation, 135(0x87)

- NeighborSolicitation:

Code: 0 (0x0)
Checksum: 3893 (0xF35)
Reserved: 0 (0x0)
TargetAddress: FE80:0:0:0:260:97FF:FEAA:BBCC

-

SourceLinkLayerAddress

:

Type: Source Link-Layer Address, 1(0x1)
Length: 1, in unit of 8 octets
Address: 00-10-5A-BB-110-C4

18/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja Prefix Information

Opcja

Prefix Information

dostarcza hostom informacji o prefiksach typu „on-

link” oraz prefiksów przeznaczonych do autokonfiguracji. Opcja występuje tylko
w komunikacie Router Advertisement

i dlatego powinna być „po cichu”

ignorowana w komunikatach innego typu. Opcja może wielokrotnie
występować w komunikacie Router Advertisement.

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;


Off-link

– oznacza sytuację przeciwną do on-link.

19/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Pole

Przeznaczenia pola oraz wartość pola

Typ

Pole 8-bitowe – Ma wartość 3

Długość

Pole 8-bitowe – Ma wartość 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 flag ). 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 (Autonomous flag). Ustawiona oznacza, iż prefiks
może zostać użyty do autonomicznej konfiguracji adresów.

R

1-bitowa flaga wykorzystywana w mobile IPv6 (Router Adress Flag). Zdefiniowana w RFC 3775.

S

1-bitowa flaga związana z uaktualnianiem prefiksów zdefiniowanych dla danej lokalizacji. Więcej
informacji w drafcie “Site Prefixes in Neighbor Discovery.”

Zarezerwowane 1

4-bitowe pole. 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ść.

Zarezerwowane 2

24-bitowe pole. Pole obecnie niewykorzystywane.

Site Prefix Length

8-bitowe pole wskazujące na długość prefiksu dla określonej lokalizacji. Więcej informacji w drafcie “Site
Prefixes in Neighbor Discovery.”

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.

Opcja Prefix Information

20/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja Prefix Information

Przykład. Wykorzystanie opcji Prefix Information


Frame:
+ Ethernet: Etype = IPv6
+ Ipv6: Next Protocol = ICMPv6, Payload Length = 96
- Icmpv6: Router Advertisement

MessageType: Router Advertisement

, 134(0x86)

+ RouterAdvertisement:
- SourceLinkLayerAddress:

Type: Source Link-Layer Address, 1(0x1)
Length: 1, in unit of 8 octets
Address: 00-B0-D0-11-22-55

+ MTU:
+ PrefixInformation:
-

PrefixInformation:

Type: Prefix Information, 3(0x3)
Length: 4, in unit of 8 octets
PrefixLength: 64 (0x40)

- Flags: 192 (0xC0)

L: (1.......) On-Link determination allowed
A: (.1......) Autonomous address-configuration
R: (..0.....) Not router Address
S: (...0....) Not a site prefix
P: (....0...) Not a router prefix
Rsv: (.....000)
ValidLifetime: 4294967295 (0xFFFFFFFF)
PreferredLifetime: 4294967295 (0xFFFFFFFF)
Reserved: 0 (0x0)
Prefix: FD46:1A5D:2FDE:2:0:0:0:0

21/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

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

Pole 8-bitowe – Ma wartość 4

Długość

Długość opcji w jednostkach 8-bajtowych

Zarezerwowa
ne

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.

22/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja Redirected Header

Przykład. Wykorzystanie opcji Redirect Header



Frame:
+ Ethernet: Etype = IPv6
+ Ipv6: Next Protocol = ICMPv6, Payload Length = 128
- Icmpv6: Redirect, Target = FE80:0:0:0:2B0:D0FF:FE12:3456

MessageType: Redirect

, 137(0x89)

- Redirect:

Code: 0 (0x0)
Checksum: 31003 (0x791B)
Reserved: 0 (0x0)
TargetAddress: FE80:0:0:0:2B0:D0FF:FE12:3456
DestAddress: 2001:DB8:0:0:0:0:0:10

-

RedirectedHeader

:

Type: Redirected Header, 4(0x4)
Length: 11, in unit of 8 octets
Reserved: 0 (0x0)

- InvokingPacket: Next Protocol = ICMPv6, Payload Length = 40
- Versions: IPv6, Internet Protocol, DSCP 0

Version: (0110............................) IPv6, Internet Protocol,6(0x6)
DSCP: (....000000......................) Differentiated services codepoint 0
ECT: (..........0.....................) ECN-Capable Transport not set
CE: (...........0....................) ECN-CE not set
FlowLabe: (............00000000000000000000) 0
PayloadLength: 40 (0x28)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 128 (0x80)
SourceAddress: FE80:0:0:0:260:8FF:FEAA:BBCC
DestinationAddress: 3000:0:0:0:0:0:0:10
OriginalIPPayload: Binary Large Object (40 Bytes

23/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja MTU

Opcja wykorzystywana jest przez komunikat Router Advertisement w celu
zapewnienia tej samej wartości MTU na danym łączu (funkcjonalność Path
MTU).

Opcja ta musi być „po cichu” ignorowana przez inne komunikaty protokołu

Neighbor Discovery.

Pole

Przeznaczenia pola oraz wartość pola

Typ

Pole 8-bitowe – Ma wartość 5

Długość

Pole 8-bitowe – Ma wartość 1

Zarezerwowa
ne

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.

24/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja MTU

Przykład. Wykorzystanie opcji MTU


Frame:
+ Ethernet: Etype = IPv6
+ Ipv6: Next Protocol = ICMPv6, Payload Length = 96
- Icmpv6:

Router Advertisement

MessageType: Router Advertisement, 134(0x86)

+ RouterAdvertisement:
- SourceLinkLayerAddress:

Type: Source Link-Layer Address, 1(0x1)
Length: 1, in unit of 8 octets
Address: 00-B0-D0-AA-11-22

-

MTU

:
Type: MTU, 5(0x5)
Length: 1, in unit of 8 octets
Reserved: 0 (0x0)
MTU: 1500 (0x5DC)

+ PrefixInformation:
+ PrefixInformation:

25/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja Router Information

Opcja wykorzystywana jest przez komunikat Router Advertisement w celu
poinformowania hosta odbiorczego aby ten dodał do swojej lokalnej tabeli
routingu dodatkowe wpisy.

Więcej informacji znajduje się w RFC 4191.

Komputery wykorzystujące systemu Windows Server 2008 (2008 R2), Windows Seven, Windows Vista,
Windows XP oraz Windows Server 2003 działające jako routery IPv6 w przypadku braku zdefiniowanego
routera

domyślnego, który jest w sieci lokalnej rozgłaszany; będą wysyłać opcje Route Information

wewnątrz komunikatu Router Advertisements w celu informowania hostów o podsieciach do których są
podłączone.

Opcja wykorzystywana jest w celu zapewniani lepszego i szybszego wyboru
trasy [router] przez host źródłowy.

26/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Opcja Router Information

Pole

Przeznaczenia pola oraz wartość pola

Typ

Pole 8-bitowe – Ma wartość 24

Długość

Pole 8-bitowe. Zależne od długości pola Prefix Length. Jeżeli długość prefiksu równa się zero –
pole ma wartość 1. Jeżeli prefiks zawiera się pomiędzy 1 a 65, długość pola Prefix Length ma
64-bity zaś pole Długość ma wartość = 2. Jeżeli prefiks jest dłuższy niż 64 wówczas pole
Prefiks ma 128 bitów, zaś ople Długość ma wartość 3.

Prefix Length

Pole 8-bitowe. Określa długość prefiksu w zakresie od 0 do 128 bitów

Zarezerwowane 1

3-bitowe niewykorzystywane pole – musi być inicjowane przez nadawcę zerami a ignorowane
przez odbiorcę.

Preference

2-bitowe pole. Wskazuje na preferencje przy wyborze danej trasy przez hosta źródłowego. W
przypadku wielu tras prowadzących do tej samej lokalizacji możliwe są następujące
kombinacje. 01 (High – preferencja wysoka ), 00 (Medium – preferencja średnia), 11 (Low –
preferencja niska).

Zarezerwowane 2

3-bitowe niewykorzystywane pole – musi być inicjowane przez nadawcę zerami a ignorowane
przez odbiorcę.

Route Lifetime

32-bitowe pole. Określa czas ważności danej trasy w sekundach. Wartość 0xFFFFFFFF
reprezentuje nieskończoność.

Prefix

Określa prefiks dla danej trasy. Pole może mieć wartość 0, 64 lub 128 bitów zależną od pola
Prefix Length. Długość prefiksu określa ile starszych bitów wykorzystywanych jest do
podejmowania decyzji o trasie. Wszystkie pozostałe bity muszą być ustawione na wartość zero.

27/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Router Solicitation

Host wysyła komunikat Router Solicitation, w celu określenia dostępnych routerów
na łączu. Komunikat jest żądaniem szybkiego wygenerowania przez router
komunikatu Router Advertisement,

aby nie czekać na periodyczne rozgłaszanie

informacji przez routery.

Pole

Przeznaczenia pola oraz wartość pola

Typ

8-bitowe pole. Ma wartość 133

Kod

8-bitowe pole. Ma wartość 0

Suma kontrolna

Suma kontrolna ICMPv6.

Zarezerwowane

Pole niewykorzystywane, musi być inicjowane przez nadawcę
zerami, a ignorowane przez odbiorcę.

Tabela . Znaczenie pól nagłówka ICMPv6

Tabela.

Dostępne opcje dla komunikatu Router Solicitation

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.

28/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Router Solicitation

Przykład. Wykorzystanie komunikatu Router Solicitation


Frame:
+ Ethernet: Etype = IPv6
+ Ipv6: Next Protocol = ICMPv6, Payload Length = 16
- Icmpv6:

Router Solicitation

MessageType: Router Solicitation, 133(0x85)

- RouterSolicitation:

Code: 0 (0x0)
Checksum: 19232 (0x4B20)
Reserved: 0 (0x0)

- SourceLinkLayerAddress:

Type: Source Link-Layer Address, 1(0x1)
Length: 1, in unit of 8 octets
Address: 00-B0-D0-11-22-33

29/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Router Advertisement

Router wysyła komunikat Router Advertisement w określonych chwilach czasu
lub w odpowiedzi na komunikat Router Solicitation

. Komunikat wysyłany jest w

celu przekazania parametrów łącza, jak prefiksy, czy wartość MTU.

Tabela.

Dostępne opcje dla komunikatu Router Advertisement

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.

30/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Router Advertisement

Pole

Przeznaczenia pola oraz wartość pola

Typ

8-bitowe pole. Ma wartość 134

Kod

8-bitowe pole. Ma wartość 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). Wartość 1 oznacza, iż wybrana została zarządzalna
autokonfiguracja adresów (w trybie statefull).

O

1-bitowa flaga (Other Statefull Configuration). Wartość 1 oznacza, iż host musi wykorzystać opcje
rozgłaszane przez ten komunikat w celu konfiguracji innych parametrów niż adres.

H

1-bitowa flaga (Home Agent). Wykorzystywane przez mobile IPv6. Więcej informacji w RFC 3775

Default Router
Preference (DRP)

Elementy zdefiniowane w RFC 4191. Wybór preferencji danego routera. 01 (High – preferencja wysoka ), 00
(Medium – preferencja średnia), 11 (Low – preferencja niska).

Zarezerwowane

3-bitowe 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.

Tabela . Znaczenie pól nagłówka

31/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Router Advertisement

Przykład. Wykorzystanie komunikatu Router Adventisement


Frame:
+ Ethernet: Etype = IPv6
+ Ipv6: Next Protocol = ICMPv6, Payload Length = 96
- Icmpv6:

Router Advertisement

MessageType: Router Advertisement, 134(0x86)

- RouterAdvertisement:

Code: 0 (0x0)
Checksum: 8095 (0x1F9F)
CurHopLimit: 0 (0x0)

- RouterAdvertisementFlag:

M: (0.......) Not managed address configuration
O: (.0......) Not other stateful configuration
A: (..0.....) Not a Mobile IP Home Agent
RouterPreference: (...00...) Medium,0(0x0)
Reserved: (.....000)
RouterLifetime: 0 (0x0)
ReachableTime: 0 (0x0)
RetransTimer: 0 (0x0)

+ SourceLinkLayerAddress:
+ MTU:
+ PrefixInformation:
+ PrefixInformation:

32/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Neighbor Solicitation

Węzły przesyłają komunikaty Neighbor Solicitation jako prośbę o adres
warstwy łącza danych adresata, dostarczając jednocześnie adresatowi swój
adres warstwy łącza danych. Komunikaty te wysyłane są na adres multicastowy,
gdy węzeł nie posiada adresu warstwy łącza danych adresata, lub na adres
unicastowy, gdy chce zbadać dostępność adresata.

Pole

Przeznaczenia pola oraz wartość pola

Typ

8-bitowe pole. Ma wartość 135

Kod

8-bitowe pole. Ma wartość 0

Suma kontrolna

Suma kontrolna ICMPv6.

Zarezerwowane

Pole niewykorzystywane, musi być inicjowane przez nadawcę zerami a
ignorowane przez odbiorcę.

Znaczenie pól nagłówka ICMPv6

33/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Neighbor Solicitation

Tabela.

Dostępne opcje dla komunikatu Neighbor Solicitation

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.

Przykład. Wykorzystanie komunikatu
Neighbor Solicitation

Frame:

- Ethernet: Etype = IPv6
+ DestinationAddress: 3333FF 112233
+ SourceAddress: 00105A BB120A2

EthernetType: IPv6, 34525(0x86dd)

- Ipv6: Next Protocol = ICMPv6, Payload Length = 32
+ Versions: IPv6, Internet Protocol, DSCP 0

PayloadLength: 32 (0x20)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 255 (0xFF)
SourceAddress: FE80:0:0:0:210:5AFF:FEAA:20A2
DestinationAddress: FF02:0:0:0:0:1:FF11:2233

- Icmpv6:

Neighbor Solicitation

, Target = FE80:0:0:0:260:97FF:FE11:2233

MessageType: Neighbor Solicitation, 135(0x87)

- NeighborSolicitation:

Code: 0 (0x0)
Checksum: 3893 (0xF35)
Reserved: 0 (0x0)
TargetAddress: FE80:0:0:0:260:97FF:FE11:2233

-

SourceLinkLayerAddress

:

Type: Source Link-Layer Address, 1(0x1)
Length: 1, in unit of 8 octets
Address: 00-10-5A-BB-12-A2

34/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Neighbor Advertisement

Węzeł wysyła komunikat Neighbor Advertisement w odpowiedzi na komunikat
Neighbor Solicitation

, aby szybko propagować informację o sąsiadach.

Tabela.

Dostępne opcje dla komunikatu Neighbor Advertisement

Typ

Specyfikacja

Target Link-
layer

Adres warstwy łącza danych celu, tj. twórcy rozgłoszenia lub adres
odpowiedzi.

35/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Neighbor Advertisement

Tabela.

Znaczenie pól ICMPv6

Pole

Przeznaczenia pola oraz wartość pola

Typ

8-bitowe pole. Ma wartość 136

Kod

8-bitowe pole. Ma wartość 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

29-bitowe 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.

36/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Neighbor Advertisement

Przykład. Wykorzystanie komunikatu Neighbor Advertisement


Frame:
+ Ethernet: Etype = IPv6
- Ipv6: Next Protocol = ICMPv6, Payload Length = 32
+ Versions: IPv6, Internet Protocol, DSCP 0

PayloadLength: 32 (0x20)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 255 (0xFF)
SourceAddress: FE80:0:0:0:260:97FF:FEAA:BBCC
DestinationAddress: FE80:0:0:0:210:5AFF:FEAA:20A2

- Icmpv6:

Neighbor Advertisement

, Target = FE80:0:0:0:260:97FF:FEAA:BBCC

MessageType: Neighbor Advertisement, 136(0x88)

- NeighborAdvertisement:

Code: 0 (0x0)
Checksum: 35244 (0x89AC)

- NeighborAdvertisementFlag: 1610612736 (0x60000000)

R: (0...............................) Not router
S: (.1..............................) Solicited
O: (..1.............................) Override
Rsv: (...00000000000000000000000000000)
TargetAddress: FE80:0:0:0:260:97FF:FEAA:BBCC

+ TargetLinkLayerAddress:

37/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Redirect

Routery wysyłają komunikaty typu Redirect, żeby informować hosty o lepszym
węźle pierwszego skoku (ang. First-hop) znajdującym się na ścieżce do adresata.
Host może zostać przekierowany do lepszego routera lub może zostać
poinformowany, że adresat jest sąsiadem (przez ustawianie adresu docelowego
(ang. Target Address

) ICMP równego przekierowanemu adresowi przeznaczenia

(ang. Destination Address)).

38/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Redirect

Pole

Przeznaczenia pola oraz wartość pola

Typ

8-bitowe pole. Ma wartość 136

Kod

8-bitowe pole. Ma wartość 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.

Tabela . Znaczenie pól ICMPv6

Tabela.

Dostępne opcje komunikatu Redirect

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
bajtów.

39/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Komunikat Redirect

Przykład. Wykorzystanie komunikatu Redirect


Frame:
+ Ethernet: Etype = IPv6
+ Ipv6: Next Protocol = ICMPv6, Payload Length = 128
- Icmpv6:

Redirect, Target

= FE80:0:0:0:2B0:D0FF:FEAA:BBCC

MessageType: Redirect, 137(0x89)

- Redirect:

Code: 0 (0x0)
Checksum: 31003 (0x791B)
Reserved: 0 (0x0)
TargetAddress: FE80:0:0:0:2B0:D0FF:FEAA:BBCC
DestAddress: 2001:DB8:0:0:0:0:0:10

- RedirectedHeader:

Type: Redirected Header, 4(0x4)
Length: 11, in unit of 8 octets
Reserved: 0 (0x0)

+ InvokingPacket: Next Protocol = ICMPv6, Payload Length = 40

40/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu odkrywania routera i
prefiksu

Host A ma Ethernetowy adres MAC 00-B0-D0-E9-41-43

Router 1 ma Ethernetowy adres MAC 00-10-FF-D6-58-C0

i odpowiadający mu adres lokalny łącza

FE80::210:FFFF:FED6:58C0.
Aby wysłać pakiet do celu będącego w stanie off-link host A musi dokonać odkrycia obecności routera.
Host A wysyła multicastowy komunikat Router Solicitation na adres FF02::2 jak pokazuje to rysunek.

41/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu odkrywania routera i
prefiksu

Przykład. Przechwycona komunikacja multicastowego komunikatu Router Solicitation

Frame:
- Ethernet: Etype = IPv6
+ DestinationAddress: 333300 000002
+ SourceAddress: 00B0D0 E94143

EthernetType: IPv6, 34525(0x86dd)

- Ipv6: Next Protocol = ICMPv6, Payload Length = 8
+ Versions: IPv6, Internet Protocol, DSCP 0

PayloadLength: 8 (0x8)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 255 (0xFF)

+ SourceAddress: 0:0:0:0:0:0:0:0

DestinationAddress: FF02:0:0:0:0:0:0:2

- Icmpv6:

Router Solicitation

MessageType: Router Solicitation, 133(0x85)

- RouterSolicitation:

Code: 0 (0x0)
Checksum: 31672 (0x7BB8)
Reserved: 0 (0x0)

FF02::2 - link-local scope all-routers multicast address


multicastowy lokalny adres łącza wszystkich routerów

42/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu odkrywania routera i
prefiksu

Router 1 mając zarejestrowany multicastowy adres skrócony 33-33-00-00-00-02
powiązany z adresem MAC interfejsu sieciowego, odbierze i przetworzy
komunikat Router Solicitation

. Router 1 odpowie, więc multicastowym

komunikatem Router Advertisement, zgodnie z rysunkiem.

43/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu odkrywania routera i
prefiksu

Przykład. Przechwycona komunikacja multicastowego komunikatu Router Advertisement

Frame:
- Ethernet: Etype = IPv6
+ DestinationAddress: 333300 000001
+ SourceAddress: 0010FF D658C0

EthernetType: IPv6, 34525(0x86dd)

- Ipv6: Next Protocol = ICMPv6, Payload Length = 88
+ Versions: IPv6, Internet Protocol, DSCP 28

PayloadLength: 88 (0x58)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 255 (0xFF)
SourceAddress: FE80:0:0:0:210:FFFF:FED6:58C0
DestinationAddress: FF02:0:0:0:0:0:0:1

- Icmpv6:

Router Advertisement

MessageType: Router Advertisement, 134(0x86)

- RouterAdvertisement:

Code: 0 (0x0)
Checksum: 24725 (0x6095)
CurHopLimit: 64 (0x40)

- RouterAdvertisementFlag:

M: (0.......) Not managed address configuration
O: (.0......) Not other stateful configuration
A: (..0.....) Not a Mobile IP Home Agent
RouterPreference: (...00...) Medium,0(0x0)
Reserved: (.....000)
RouterLifetime: 1800 (0x708)
ReachableTime: 0 (0x0)
RetransTimer: 0 (0x0)

- SourceLinkLayerAddress:

Type: Source Link-Layer Address, 1(0x1)
Length: 1, in unit of 8 octets
Address: 00-10-FF-D6-58-C0

FF02::1 link-local scope all-nodes
multicast address


multicastowy lokalny

adres łącza

wszystkich

węzłów

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu odkrywania routera i
prefiksu cd…


-

PrefixInformation

:

Type: Prefix Information, 3(0x3)
Length: 4, in unit of 8 octets
PrefixLength: 64 (0x40)

- Flags: 192 (0xC0)

L: (1.......) On-Link determination allowed
A: (.1......) Autonomous address-configuration
R: (..0.....) Not router Address
S: (...0....) Not a site prefix
P: (....0...) Not a router prefix
Rsv: (.....000)
ValidLifetime: 2592000 (0x278D00)
PreferredLifetime: 604800 (0x93A80)
Reserved: 0 (0x0)
Prefix:

2001:DB8:0:F282:0:0:0:0

-

PrefixInformation

:

Type: Prefix Information, 3(0x3)
Length: 4, in unit of 8 octets
PrefixLength: 64 (0x40)

- Flags: 192 (0xC0)

L: (1.......) On-Link determination allowed
A: (.1......) Autonomous address-configuration
R: (..0.....) Not router Address
S: (...0....) Not a site prefix
P: (....0...) Not a router prefix
Rsv: (.....000)
ValidLifetime: 2592000 (0x278D00)
PreferredLifetime: 604800 (0x93A80)
Reserved: 0 (0x0)
Prefix:

FD5A:29F1:D005:F282:0:0:0:0



Należy zwrócić uwagę, iż w komunikacie Router Advertisement
rozgłaszane są dwa prefiksy 2001:DB8:0:F282::/64 oraz
FD5A:29F1:D005:F282::/64. Zarówno dla prefiksu globalnego jak i
unikalnego lokalnego wykorzystywany jest ten sam identyfikator
podsieci (F282).

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu
rozwiązywania adresów

Host A ma adres MAC 00-10-5A-AA-20-A2

i odpowiadający mu adres lokalny łącza

FE80::210:5AFF:FEAA:20A21
Host B ma adres MAC 00-60-97-02-6E-A5

i odpowiadający mu adres lokalny łącza

FE80::260:97FF:FE02:6EA5
Aby wysłać pakiet do hosta B, host A musi wykonać procedurę rozstrzygania
adresu, aby poznać adres warstwy łącza danych hosta B. Bazując na adresie IPv6
hosta B, host A wysyła komunikat Neighbor Solicitation na multicastowy adres
skrócony węzła B: FF02::1:FF02:6EA5 zgodnie z rysunkiem.

46/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu

rozwiązywania adresów

Przykład. Przechwycony multicastowy komunikat Neighbor Solicitation

Frame:
- Ethernet: Etype = IPv6
+ DestinationAddress: 3333FF 026EA5
+ SourceAddress: 00105A AA20A2

EthernetType: IPv6, 34525(0x86dd)

- Ipv6: Next Protocol = ICMPv6, Payload Length = 32
+ Versions: IPv6, Internet Protocol, DSCP 0

PayloadLength: 32 (0x20)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 255 (0xFF)
SourceAddress: FE80:0:0:0:210:5AFF:FEAA:20A2
DestinationAddress: FF02:0:0:0:0:1:FF02:6EA5

- Icmpv6:

Neighbor Solicitation

, Target = FE80:0:0:0:260:97FF:FE02:6EA5

MessageType: Neighbor Solicitation, 135(0x87)

- NeighborSolicitation:

Code: 0 (0x0)
Checksum: 3893 (0xF35)
Reserved: 0 (0x0)
TargetAddress: FE80:0:0:0:260:97FF:FE02:6EA5

- SourceLinkLayerAddress:

Type: Source Link-Layer Address, 1(0x1)
Length: 1, in unit of 8 octets
Address: 00-10-5A-AA-20-A2

47/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu
rozwiązywania adresów

Host B, mając zarejestrowany multicastowy adres skrócony 33-33-FF-02-6E-A5
powiązany z adresem MAC interfejsu sieciowego, odbierze i przetworzy
komunikat Neighbor Solicitation

. Host B odpowie, więc unicastowym

komunikatem Neighbor Advertisement, zgodnie z rysunkiem.

48/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu
rozwiązywania adresów

Przykład. Przechwycony unicastowy komunikat Neighbor Advertisement

Frame:
- Ethernet: Etype = IPv6
+ DestinationAddress: 00105A AA20A2
+ SourceAddress: 00105A 026EA5

EthernetType: IPv6, 34525(0x86dd)

- Ipv6: Next Protocol = ICMPv6, Payload Length = 32
+ Versions: IPv6, Internet Protocol, DSCP 0

PayloadLength: 32 (0x20)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 255 (0xFF)
SourceAddress: FE80:0:0:0:260:97FF:FE02:6EA5
DestinationAddress: FE80:0:0:0:210:5AFF:FEAA:20A2

- Icmpv6:

Neighbor Advertisement

, Target = FE80:0:0:0:260:97FF:FE02:6EA5

MessageType: Neighbor Advertisement, 136(0x88)

- NeighborAdvertisement:

Code: 0 (0x0)
Checksum: 35244 (0x89AC)

- NeighborAdvertisementFlag: 1610612736 (0x60000000)

R: (0...............................) Not router
S: (.1..............................) Solicited
O: (..1.............................) Override
Rsv: (...00000000000000000000000000000)
TargetAddress: FE80:0:0:0:260:97FF:FE02:6EA5

- TargetLinkLayerAddress:

Type: Target Link-Layer Address, 2(0x2)
Length: 1, in unit of 8 octets
Address: 00-60-97-02-6E-A5

49/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu przekierowania

Host A wysyła pakiet do będącego w stanie off-link węzła o adresie
FEC0::2:2AA:FF:FE99:9999

(nie pokazany na rysunku), wykorzystując router 1

jako domyślny router. Jednak zakładamy, że router 2 byłby lepszym rozwiązaniem.

50/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu przekierowania

Router 1 odbierze datagram od hosta A i „zauważy”, że jest on jego sąsiadem.
Dodatkowo host A oraz adres pierwszego skoku są również na tym samym łączu.
Na podstawie tabeli routingu router 1, przekieruje unicastowy pakiet do routera 2,
jak to pokazano na rysunku.

51/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład procesu przekierowania

Aby poinformować host A, że prawidłową trasą do adresu
FEC0::2:2AA:FF:FE99:9999

, jest trasa przez router 2, router 1 wyśle komunikat

Redirect

do hosta A informujący go o tym.

52/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład praktyczny

Rozwiązywanie nazw
DNS

– Domain Name System (RFC

LLMNR

– Link Local Multicast Name

Resolution

Przykład

53/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Dokumenty na których się opieramy:

Podstawy protokołu DNS zostały opisane w 1982 roku w dokumencie –
RFC 819 przez Jona Postela i Zaw-Sing Su. Dokumenty z 1983 r.

RFC

882 i RFC 883

były oficjalną specyfikacją DNS aż do roku 1989. Nowa,

aktualna specyfikacja DNS jest zawarta w RFC 1034 i RFC 1035.

Link-Local Multicast Name Resolution (LLMNR) - RFC 4795

– styczeń

2007

Przykład

54/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Zmiana zapytań do serwerów DNS po IPv6 – przeglądarki
internetowe

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic
es\Dnscache\Parameters


Dodać DWORD

AddrConfigControl = 0


Dla Firefox

about:config
network.dns.disableIPv6

– ustawićna false

Przykład

55/58

background image

Tajemnice protokołu IPv6

Jacek Światowiak

IPv6 a interfejsy

– klucz typu DWORD

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters
\DisabledComponents

Przykład

56/58

Ustawiony bit

Objaśnienie


Bit 0

Ustawienie wartości 1 – wyłącza wszystkie interfejsy tunelowe IPv6 (ISATAP, 6to4, oraz Teredo

Bit 1

Ustawienie wartości 1 – wyłącza wszystkie interfejsy tunelowe IPv6 6to4

Bit 2

Ustawienie wartości 1 – wyłącza wszystkie interfejsy tunelowe IPv6 ISATAP

Bit 3

Ustawienie wartości 1 – wyłącza wszystkie interfejsy tunelowe IPv6 Teredo

Bit 4

Ustawienie wartości 1 – wyłącza obsługę IPv6 na wszystkie interfejsach nie tunelowych, czyli interfejsach

LAN oraz PPP.

Bit 5

Ustawienie wartości 1 – Włącza preferencję protokołu IPv4 przed IPv6

Wartość klucza DisabledComponents

Objaśnienie


0x1

Wyłącza wszystkie interfejsy tunelowe

0x2

Wyłącza 6to4

0x4

Wyłącza ISATAP

0x8

Wyłącza Teredo

0xA

Wyłącza Teredo i 6to4

0x10

Wyłącza IPv6 w sieciach LAN i interfejsach PPP

0x11

Wyłącza IPv6 w sieciach LAN, interfejsach PPP oraz tunelach

0x20

Włącza preferencję protokołu IPv4 przed IPv6

0xFF

Wyłącza całkowicie obsługę IPv6, co skutkuje obsługą wyłącznie IPv4.

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Przykład

57/58

Dodamy serwer DNS na SRV1 dla domeny test.local oraz domen odwrotnych dla
podsieci: 192.168.1.X, 192.168.2.X, 192.168.3.X
oraz prefiksów IPv6 2001:db8:1::,2:: i 3::

background image

Tajemnice protokołu IPv6

Jacek Światowiak

Dziękuję za uwagę…

W następnej części: mechanizmy autokonfiguracji


Wyszukiwarka

Podobne podstrony:
Fatty Coon 03 Fatty Discovers Mrs Turtle's Secret
Lesley Jeffries Discovering language The structure of modern English
Discover Britain Quiz
5a 6 5 2 5 Lab Rozwiązywanie problemów związanych z trasami statycznymi IPv4 oraz IPv6
8203 1 Rover Discovery
IPv4 oraz IPv6, Prace - dokumenty
egan, greg neighbourhood watch FGMDQHWJEP56UGDJEKEZXZNJRXJROXI4ZHKSO6Q
8 2 5 4 Lab Identifying IPv6?dresses
Zizek The Neighbor
lab2 IPv6
Instrukcja obslugi wykrywacz metali Discoverer

więcej podobnych podstron