Tajemnice protokołu IPv6
Jacek Światowiak
Jacek.Swiatowiak@lan-net.pl
Tajemnice protokołu IPv6
Cześć 2
Datagram IPv6
Rdzeniowa część protokołu IPv6
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
Tajemnice protokołu IPv6
Jacek Światowiak
Rok 2001 !!!!!!!!!!!!!!
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
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.
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
Tajemnice protokołu IPv6
Jacek Światowiak
Sesje
Zagadnienia adresacji
– odbyła się 11 listopada 2011 roku
Datagram IPv6
Protokół ICMPv6 – zmiana terminu na 1 grudnia !!!!
Protokół Neighbor Discovery
Zagadnienia automatycznej adresacji
Technologie migracji
Tunelowanie 6to4
Tunelowanie ISATAP
Tunelowanie TEREDO
Zagadnienia dodatkowe
Tajemnice protokołu IPv6
Jacek Światowiak
Ograniczenia protokołu IPv4
NAT
Nowe funkcjonalności
Obiekty i ich nazewnictwo w kontekście protokołu IPv6
Problemy sieciowe, które miało rozwiązać wprowadzenie protokołu IPv6
IPv6 w sieciach LAN
Zagadnienia adresacji
Typy adresów
Model adresowania
Reprezentacja adresów
Kompresja zer
Prefiks adresów IPv6
Adresy IPv6 typu unicast
Globalne adresu unicastowe
Unicastowe adresy lokalnego przeznaczenia
Adresy lokalne łącza - Link-Local Adres
Adresy lokalne miejsca - Site-Local Adres
Identyfikator Zone ID dla adresów lokalnych
Unikalne lokalne adresy IPv6 typu unicast
Adresy IPv6 specjalnego przeznaczenia
Adresy IPv6 typu multicast
Identyfikator interfejsu w adresie IPv6
Agenda
– poprzedniej siesji
Tajemnice protokołu IPv6
Jacek Światowiak
Agenda
Stosy protokolarne
Nazewnictwo
Przykład enkaspulacji
Nagłówki datagramu
Nagłówki rozszerzeń IPv6
Opcje nagłówków rozszerzeń IPv6
Nagłówek opcji międzywęzłowych - Hop-by-Hop
Nagłówek opcji miejsc przeznaczenia - Destination Options Header
Nagłówek routingu
Nagłówek fragmentacji
Brak następnego nagłówka
Tajemnice protokołu IPv6
Jacek Światowiak
Stosy protokolarne
Tajemnice protokołu IPv6
Jacek Światowiak
Nazewnictwo danych na warstwach
Tajemnice protokołu IPv6
Jacek Światowiak
Przykład enkaspulacji
Tajemnice protokołu IPv6
Jacek Światowiak
Specyfikacja IPv6
http://www.ietf.org
RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification
– grudzień 1998
RFC 5059 - Deprecation of Type 0 Routing Headers in IPv6
– grudzień 2007
RFC 5722 - Handling of Overlapping IPv6 Fragments
– grudzień 2009
RFC 5871 - IANA Allocation Guidelines for the IPv6 Routing Header
– maj 2010
RFC 6398 - IP Router Alert Considerations and Usage
– październik 2011
RFC 6436 - Rationale for Update to the IPv6 Flow Label Specification
– Listopad 2011
RFC 6437 - IPv6 Flow Label Specification
– Listopad 2011
RFC 6438 - Using the IPv6 Flow Label for Equal Cost Multipath Routing and Link
Aggregation in Tunnels
– Listopad 2011
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówki datagramu
IPv4
IPv6
Tajemnice protokołu IPv6
Jacek Światowiak
Frame:
+ Ethernet: Etype = IPv6
- Ipv6: 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
FlowLabel: (............00000000000000000000) 0
PayloadLength: 40 (0x28)
NextProtocol: ICMPv6, 58(0x3a)
HopLimit: 128 (0x80)
SourceAddress: FE80:0:0:0:260:97FF:FE02:752A
DestinationAddress: FE80:0:0:0:260:97FF:FE02:324D
+ Icmpv6: Echo request, ID = 0x0, Seq = 0x18
Przechwycony nagłówek datagramu IPv6
Nagłówek datagramu
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówki rozszerzeń IPv6
Wartość
(dziesiętnie)
Typ następnego nagłówka
0
Hop-by-Hop Options Header
6
TCP
17
UDP
41
Encapsulated IPv6 Header
43
Routing Header
44
Fragment Header
46
Resource ReSerVation Protocol
50
Encapsulating Security Payload
51
Authentication Header
58
ICMPv6
59
No Next Header
60
Destination Options Header
Tajemnice protokołu IPv6
Jacek Światowiak
Kolejność nagłowków rozszerzeń
1. Hop-by-Hop Options header
2. Destination Options header (for intermediate destinations when the Routing header is present)
3. Routing header
4. Fragment header
5. Authentication header
6. Encapsulating Security Payload header
7. Destination Options header (for the final destination)
Tajemnice protokołu IPv6
Jacek Światowiak
Opcje nagłówków rozszerzeń IPv6
Option Type 0 - Opcja Pad1
Option Type 1 - Opcja PadN
Option Type 5
– Router Alert Option
Option Type 194
– Jumbo Payload
Nagłówek opcji - ogólnie
RFC 2711, IPv6 Router Alert Option,
Październik 1999
RFC 2675, IPv6 Jumbograms,
Sierpień 1999
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek opcji międzywęzłowych -
Hop-by-Hop
Dokumenty RFC 2460, 2675 i 2711
określają następujące opcje dla nagłówka
Hop-by-Hop :
Pad1
PadN
Jumbo Payload
Router Alert
Nagłówek Hop-by-Hop jest wykorzystywany do przenoszenia dodatkowych
informacji, które muszą być analizowane przez każdy węzeł. Nagłówek ten jest
identyfikowany poprzez wartość 0 (zero) umieszczoną w polu Następny
Nagłówek podstawowego nagłówka IPv6.
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek opcji międzywęzłowych -
Hop-by-Hop
Frame:
+ Ethernet: Etype = IPv6
- Ipv6: Next Protocol = ICMPv6, Payload Length = 32
+ Versions: IPv6, Internet Protocol, DSCP 0
PayloadLength: 32 (0x20)
NextProtocol: HOPOPT, IPv6 Hop-by-Hop Option, 0(0)
HopLimit: 1 (0x1)
SourceAddress: FE80:0:0:0:2B0:D0FF:FEA0:412B
DestinationAddress: FF02:0:0:0:0:1:FFBB:41A2
- HopbyHopHeader:
NextHeader: ICMPv6
ExtHdrLen: 0(8 bytes)
- OptionRouterAlert:
- OptionType: Router Alert
Action: (00......) Skip over this option
C: (..0.....) Option Data does not change en-route
OptionType: (...00101) Router Alert
OptDataLen: 2 bytes
Value: Datagram contains a Multicast Listener Discovery message, 0 (0x0)
- OptionPadN:
- OptionType: PadN
Action: (00......) Skip over this option
C: (..0.....) Option Data does not change en-route
OptionType: (...00001) PadN
OptDataLen: 0 bytes
OptionData: 0 bytes
+ Icmpv6: Multicast Listener Report
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek opcji miejsc przeznaczenia -
Destination Options Header
Nagłówek Opcji miejsc przeznaczenia jest wykorzystywany do przenoszenia
opcjonalnych informacji, które muszą być analizowane tylko przez węzeł/węzły
przeznaczenia. Nagłówek ten jest identyfikowany przez wartość 60 umieszczoną w
polu
Następny Nagłówek poprzedzającego nagłówka.
Jedynymi opcjami dozwolonymi do
wykorzystania dla podstawowej wersji
protokołu IPv6 są opcje Pad1 i PadN
omówione wcześniej.
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek routingu
Nagłówek trasowanie - Routing jest wykorzystywany przez węzeł źródłowy
IPv6
do podania jednego lub więcej węzłów, które powinny być „odwiedzone”
na drodze do węzła docelowego. Nagłówek ten jest identyfikowany przez
wartość 43 umieszczona w polu Następny Nagłówek poprzedzającego
nagłówka.
Mobile IPv6 wykorzystuje routing typu 2.
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek routingu
W przykładzie 1 zaprezentowano przechwycony
nagłówek routingu typu 0. Przesyłany jest tu
komunikat Echo Request protokołu ICMPv6 wysłany z
adresu źródłowego
FEC0::2:2B0:D0FF:FEAA:BBCC do
FEC0::2:260:97FF:FEBB:CCDD poprzez węzeł pośredni
FEC0::1:260:8FF:FEEE:AABB
Frame:
+ Ethernet: Etype = IPv6
- Ipv6: Next Protocol = ICMPv6, Payload Length = 64
+ Versions: IPv6, Internet Protocol, DSCP 0
PayloadLength: 64 (0x40)
NextProtocol: IPv6 Routing header, 43(0x2b)
HopLimit: 127 (0x7F)
SourceAddress: FEC0:0:0:2:2B0:D0FF:FEAA:BBCC
DestinationAddress: FEC0:0:0:2:260:97FF:FEBB:CCDD
- RoutingHeader:
NextHeader: ICMPv6
ExtHdrLen: 2(24 bytes)
RoutingType: 0 (0x0)
SegmentsLeft: 1 (0x1)
Reserved: 0 (0x0)
RouteAddress: FEC0:0:0:1:260:8FF:FEEE:AABB
+ Icmpv6: Echo request, ID = 0x0, Seq = 0x3d1a
Dokument RFC 5095
(grudzień 2007)
uznaje
za przestarzałe wykorzystanie
nagłówka Routing Type 0, co oznacza, iż
nowe implementacje nie musza wspierać
tego typu nagłówka rozszerzeń.
IPv6 w systemie Windows Vista będzie
prawidłowo akceptował i przetwarzał
przychodzące datagramy z ustawionym
typem 0 routingu. Ze względów
bezpieczeństwa ten typ routingu nie
powinien być wykorzystywany.
IPv6 systemie Windows Server 2008
oraz Windows Vista z Service Pack 1
oraz wszystkie późniejsze „po cichu”
ignorują tego typu datagramy.
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek fragmentacji
Nagłówek Fragmentacja jest wykorzystywany przez węzeł źródłowy IPv6 do
wysyłania datagramów większych niż MTU danej trasy. Nagłówek ten jest
identyfikowany przez wartość 44 w polu Następny Nagłówek poprzedzającego
nagłówka.
Pole nagłówka
Przeznaczenie
Następny nagłówek
Jak dla głównego nagłówka IPv6
Zarezerwowane
8-bitowe pole. Aktualnie nadawca ma ustawiać tam same zera,
które mają być ignorowane przez odbiorcę
Offset fragmentu
13-bitowa liczba bez znaku. Podaje przesunięcie danych
następujących po tym nagłówku, wyrażone w 8-oktetowych
jednostkach, względem początku części podzielnej oryginalnego
datagramu.
Res
2 bity zarezerwowane, zera (jak dla pola Zarezerwowane)
M
1 – informuje, że należy się spodziewać kolejnych datagramów.
0 – datagram jest ostatnim fragmentem danych
Identyfikacja
Jednoznacznie identyfikuje datagramy podzielone na fragmenty w
procesie ich ponownego łączenia
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek fragmentacji
Frame:
+ Ethernet: Etype = IPv6
- Ipv6: Next Protocol = ICMPv6, Payload Length = 1456
+ Versions: IPv6, Internet Protocol, DSCP 0
PayloadLength: 1456 (0x5B0)
NextProtocol: IPv6 Fragment header, 44(0x2c)
HopLimit: 128 (0x80)
SourceAddress: FE80:0:0:0:210:5AFF:FEAA:BBCC
DestinationAddress: FE80:0:0:0:250:DAFF:FEBB:CCDD
- FragmentHeader:
NextHeader: ICMPv6
Reserved: 0 (0x0)
- FragmentInfor:
FragmentOffset:
2896(0XB50)
Reserved: (.............00.)
M: (...............1) More fragments
Identification:
5 (0x5
)
FragmentData: Binary Large Object (1448 Bytes)
W przykładzie przedstawiono przechwycony nagłówek fragmentacji,
o zawartości identyfikowanej numerem 5 i pozycji startowej
zaczynającej się od 2896 bajtu oryginalnego datagramu.
Tajemnice protokołu IPv6
Jacek Światowiak
Fragmentacja
Sposób podziału datagramu
Proces reasemblacji
Tajemnice protokołu IPv6
Jacek Światowiak
Brak następnego nagłówka
Wartość 59 w polu Następny Nagłówek nagłówka IPv6 lub któregoś z
następnych nagłówków rozszerzenia oznacza, że po tym nagłówku nie
następuje kolejny nagłówek.
Jeśli pole Całkowita długość datagramu IP nagłówka IPv6 określa obecność
pakietów/segmentów poza końcem nagłówka, którego pole Następny
Nagłówek zawiera wartość 59, to te bajty muszą być przenoszone bez
zmian, jeżeli datagram jest przesyłany danej.
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek uwierzytelniania -
Authentication Header
Nagłówek uwierzytelniania zdefiniowany jest w RFC 4302, jako część
architektury bezpieczeństwa protokołów internetowych zdefiniowanej w RFC
4301.
Nagłówek Uwierzytelniania (AH) jest wykorzystywany w celu zapewnienia
bezpołączeniowej integralności danych przesyłanych w datagramie IP. Nagłówek
ten jest identyfikowany przez wartość 51 umieszczoną w polu Następny
Nagłówek poprzedzającego nagłówka. Należy dodać, iż nagłówek
uwierzytelniania nie zapewnia poufności przesyłanych danych.
Tajemnice protokołu IPv6
Jacek Światowiak
Nagłówek bezpieczeństwa enkapsulacji –
Encapsulating Security Payload Header
Nagłówek bezpieczeństwa enkapsulacji – ESP (ang. Encapsulating Security
Payload
) (patrz rysunek 44) jest przeznaczony do zapewnienia integralności i
poufności danych. Odbywa się to za pomocą enkapsulacji całych datagramów IP
lub tylko danych protokołów warstw wyższych. ESP może być wykorzystywany
pojedynczo lub w kombinacji na nagłówkiem Uwierzytelniania (AH).
Więcej informacji w zakresie nagłówka (protokołu) ESP, dla celów zapewnienia
poufności, uwierzytelniania i integralności znajduje się w dokumencie RFC 4303.
Tajemnice protokołu IPv6
Jacek Światowiak
Dziękuję za uwagę…
W następnej części: ICMPv6