IPv6
Z Wikipedii
IPv6 / IPNG (ang. Internet Protocol version 6 / Internet Protocol Next Generation) – najnowsza wersja protokołu IP, będąca następcą IPv4, do którego stworzenia przyczynił się w głównej mierze problem małej, kończącej się ilości adresów IPv4. Dodatkowymi zamierzeniami było udoskonalenie protokołu IP: eliminacja wad starszej wersji, wprowadzenie nowych rozszerzeń (uwierzytelnienie, kompresja i inne), zminimalizowanie czynności wymaganych do podłączenia nowego węzła do Internetu (autokonfiguracja).
Warto zaznaczyć, iż IPv6 stanowi tylko jedna warstwę w modelu OSI – nie ingeruje on w inne warstwy, np. aplikacyjną, co pozwala działać istniejącym już protokołom zasadniczo "bezboleśnie".
Pierwsze dokumenty RFC opisujące protokół IPv6 powstały w 1995 roku. W latach 1996-2006 w infrastrukturę Internetu wdrażany był projekt 6BONE w formie eksperymentalnej sieci działającej w oparciu o IPv6. Po zamknięciu tego projektu niektórzy dostawcy usług internetowych (ISP) rozpoczęli produkcyjne dostarczanie IPv6 "w kabelku" tak samo jak obecnie IPv4; spora część szkieletu sieci IPv6 opiera się jednak jeszcze na tunelach wykorzystujących poprzednią wersję protokołu (tzw. tunelowanie IPv6-in-IPv4). Najprostszą metodą zestawienia takiego tunelu jest obecnie mechanizm 6to4.
IPv6 opisują dokumenty RFC 1883 i RFC 1884.
Spis treści |
[edytuj] Adresowanie hostów
W protokole IPv4, przestrzeń adresowa opisywana była za pomocą 32 bitów, pozwalając zaadresować 232 ≈ 4,3×109 węzłów, co odpowiada liczbie 8,42 adresów/km² powierzchni Ziemi. W protokole IPv6 rozmiar tej przestrzeni został zwiększony do 128 bitów co daje 2128 ≈ 3,4×1038 kombinacji. Odpowiada to liczbie 6,7×1017 adresów/mm² powierzchni Ziemi.
Adres reprezentowany jest w postaci heksadecymalnej, z dwukropkiem co 16 bitów, np. 2001:0db8:0000:0000:0000:0000:1428:57ab.
Dozwolone jest skrócenie jednego bloku zer na podwójny dwukropek, początkowe zera w grupach również mogą być opuszczane, w związku z czym poniższe sposoby zapisu są prawidłowe i równoznaczne sobie:
2001:0db8:0000:0000:0000::1428:57ab 2001:0db8:0:0:0:0:1428:57ab 2001:0db8:0:0::1428:57ab 2001:0db8::1428:57ab 2001:db8::1428:57ab
Sekwencja ostatnich 4 bajtów adresu może być również zapisania w postaci adresu IPv4, z wykorzystaniem kropek jako separatorów: adres ::ffff:1.2.3.4 jest równoznaczny adresowi ::ffff:102:304.
Gdy jest to wymagane, do adresu może być dołączona maska sieci w notacji CIDR, np. 2002:0db8:1234::/48. Jeżeli natomiast zachodzi potrzeba podania portu docelowego (np. w adresie URL), adres IPv6 otaczany jest nawiasami kwadratowymi, np.:
http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443/
[edytuj] Adresy specjalne
Następujące adresy i grupy adresów posiadają specjalne, zarezerwowane znaczenie:
- ::/128 - adres nieokreślony (zawierający same zera).
- ::1/128</128 - loopback, adres wskazujący na host lokalny.
- ::/96 - pula zarezerwowana dla zachowania kompatybilności z protokołem IPv4 (pierwsze 96 bitów stanowią 0, pozostają 32 bity na adresy w formacie IPv4).
- ::ffff:0:0/64 - jw., ale pozwala wykorzystywanie komunikację według protokołu IPv6 w sieci IPv4.
- 2001:db8::/32 - pula wykorzystywana w przykładach i dokumentacji - nigdy nie będzie wykorzystywana.
- fc00::/7 — pula lokalnych unikalnych adresów IPv6 typu unicast (adresatem jest jeden węzeł), wykorzystywane w komunikacji pomiędzy paroma podsieciami bez możliwości komunikacji w sieci Internet.
- fe80::/10 - pula link-local określa adresy w obrębie jednego łącza fizycznego (np. segmentu sieci Ethernet). Pakiety z tej puli nie są przekazywane poza podsieć, jej działanie jest analogiczne do automatycznie konfigurowanych adresów z puli 169.254.0.0/16 w IPv4.
- fec0::/10 - pula site-local określa adresy w obrębie jednej lokalnej organizacji. Obecnie nie zaleca się wykorzystywanie tej puli, przyszłe implementacje IPv6 nie będą musiały obsługiwać tej puli.
- ff00::/8 - pula multicastowa używana do komunikacji multicast.
W protokole IPv6 nie występuje pojęcie komunikacji broadcastowej (dane rozsyłane do wszystkich węzłów w danej podsieci). Aby wysyłać dane do wielu odbiorców jednocześnie, należy korzystać z komunikacji multicastowej.
[edytuj] Budowa datagramu
Bity | 0-3 | 4-7 | 8-11 | 12-15 | 16-19 | 20-23 | 24-27 | 28-31 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Wersja | Priorytet | Etykieta przepływu | |||||||||||||||||||||||||||||
32 | Długość danych | Następny nagłówek | Limit przeskoków | |||||||||||||||||||||||||||||
64 | Adres źródłowy (128 bitów) |
|||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||
128 | ||||||||||||||||||||||||||||||||
160 | ||||||||||||||||||||||||||||||||
192 | Adres docelowy (128 bitów) |
|||||||||||||||||||||||||||||||
224 | ||||||||||||||||||||||||||||||||
256 | ||||||||||||||||||||||||||||||||
288 |
[edytuj] Autokonfiguracja
Dla podsieci będących LAN-em przydzielana jest pula adresów z maską /64 co umożliwia tworzenie unikalnych numerów IP w oparciu o (niepowtarzalne) numery sprzętowe MAC; adres taki (dla adresu MAC 11:22:33:44:55:66
) będzie miał postać: 64bitowy_prefiks_sieci:1322:33FF:FE44:5566
(pierwsza część adresu MAC zwiększana jest o 2, w środku wstawiane jest FFFE). 64 bitowy prefiks sieci jest informacją rozgłaszaną przy pomocy ICMPv6 przez routery; natomiast jeżeli host nie uzyskał wspomnianego prefiksu w jego miejsce wstawiane jest fe80::
(czyli fe80:0000:0000:0000
) - taki adres nazywa się "link-local" (nie jest on routowany do sieci zewnętrznych, jednak zawsze (także gdy prefiks został uzyskany) może być używany wewnątrz sieci lokalnej). Oczywiście nadal możemy korzystać z przydziału IP przez DHCP oraz ręcznego przydziału IP.
[edytuj] Typy adresów
- 3ffe::/16 – Adresy testowej sieci 6BONE. (adresy zostały wycofane 6 czerwca 2006 w związku z zakończeniem działania 6BONE).
- 2001::/24 – Adresy produkcyjne, przydzielane przez np. RIPE
- 2002::/24 – Adresy typu V6toV4. Są to adresy wygenerowane na podstawie istniejących IPv4, dostępne dla każdego użytkownika.
[edytuj] Linki zewnętrzne
- RFC 1883 Internet Protocol, Version 6 (IPv6) Specification
- RFC 1884 IP Version 6 Addressing Architecture
- http://www.6bone.pl/ - testowa sieć 6BONE w Polsce.
- http://www.pl.ipv6tf.org/ - Polska Grupa Robocza IPv6 (Polish IPv6 Task Force)
- http://www.mobile-ipv6.org/ - Mobile IP dla systemu Linux
[edytuj] Tunel brokery obecne w Polsce
- http://www.6bone.pl/ - testowa sieć 6BONE (projekt zamknięty 06.06.2006).
- http://min.waw.cdp.pl/ - IPv6 w Crowley
- http://www.ipv6.cbr.tpsa.pl/ - Testowa sieć "Centrum Badawczo Rozwojowego" TP S.A. (już nie działa)
[edytuj] Tunel brokery na świecie
- http://tunnelbroker.net/ - Adresy produkcyjne - Hurricane Electric - USA
- http://sixxs.net - Adresy produkcyjne - sixxs.net - Holandia
- http://www.xs26.net/ - Adresy produkcyjne - Sieć XS26 - Czechy
- http://tb.ipv6.btexact.com/ - Adresy produkcyjne - British Telecommunications - Wielka Brytania
Warstwa aplikacji
ADSP • APPC • AppleTalk • AFP • DAP • DLC • DNS(53) • ed2k • FTAM • FTP(20,21) • HTTP(80) • HTTPS(443) • IMAP(143) • IRC(194,529) • Named Pipes • NCP(524) • NetBIOS(137,138,139) •
NWLink • NBT • NNTP(119) • NTP(123) • PAP • POP3(110) • RPC • SNMP(161,162) • SMTP(25) • SMB • SSL/TLS • SSH(22) • TDI • Telnet(23) • X.400 • X.500 • XDR • ZIP
(Cyfry w nawiasach oznaczają numery portu)
Warstwa transportowa
AEP • ATP • NBP • NetBEUI • RTMP • RTP • SPX • TCP • UDP
Warstwa sieciowa
ARP • IP • ICMP • IPsec • NAT • NWLink • NetBEUI • DDP
Warstwa dostępu do sieci
10BASE-T • 802.11 WiFi • ADSL • Ethernet • EtherTalk • Fibre Channel • ISDN • LocalTalk • NDIS • ODI • PPP • RS-232 •
SLIP • Token Ring • TokenTalk • V.90