IPv6 Protokol Internetowy Nastepnej Generacji.pdf
(
49 KB
)
Pobierz
259718 UNPDF
IPv6
Protokół Internetowy Nastepnej Generacji
Copyright 1999
Arkadiusz Miskiewicz <
misiek@pld.org.pl
>
Polish Linux Distribution Team
10 sierpnia 1999
Warunki dystrybucji
Kopiowanie w formie elektronicznej dozwolone wył acznie w niezmienionej
postaci, z zachowaniem informacji o autorze oraz warunkach dystrybucji.
Przedruk dozwolony wył acznie za pisemn a zgod a autora.
Streszczenie
Dokument ten prezentuje protokół IPv6. Przedstawia wymagane
oprogramowanie, sposoby konfiguracji i podł aczenia Linuxa do istniej acych sieci
wykorzystuj acych IPv6. Dokument zawiera takze wiele wskazówek, gdzie
szukac szczegółowych informacji i dodatkowego programowania.
1
c
2 TROCH E TEORII
1 Wstep
Aktualnie jednym z istotnych problemów Internetu jest brak wolnych adre-
sów IP. Problem ten jest czesciowo rozwi azywany poprzez stosowanie translacji
adresów (
NAT
). Globalnym rozwi azaniem tego problemu jest aktualnie rozwijana
nowa wersja protokołu internetowego -
IPv6
(znanego równiez jako
IPng
-
IP
Next Generation
). IPv6 poza rozwi azaniem problemu braku adresów wprowadza
wiele udogodnie n i ulepszen. Na dzien dzisiejszy dostepnych jest kilkanascie im-
plementacji IPv6 (s a to implementacje m.in. dla Linuxa, *BSD/KAME, Solarisa
oraz Windows 9x/NT). Osobiscie do pracy z IPv6 uzywam Linuxa oraz spora-
dycznie FreeBSD/KAME. Niniejszy artykuł uwzglednia głównie Linuxa.
2 Troche teorii
Adresy IPv6
składaj a sie z
128 bitów
(dla porównana adresy IPv4 składaj a
sie tylko z 32 bitów). Łatwo jest sprawdzic, ze liczba wszystkich adresów IPv6
to liczba 39 cyfrowa (dla IPv4 tylko 10 cyfrowa)! Przykładowy adres IPv6 wy-
gl ada tak:
3ffe:902:12::/48
(adres sieci). Domyslnie nie podane bity s a równe „0”
(np. „::” == „:0000:”). Nasz przykładowy adres podany z wykorzystaniem wszyst-
kich bitów wygl adał bedzie tak:
3ffe:0902:0012:0000:0000:0000:0000:0000/48
. „/48”
to długosc prefiksu
1
w bitach. Taka notacja zgodna jest ze
specyfikacj a CIDR
i dotyczy
równiez IPv4 (RFC1518 [1], RFC1519 [2], RFC1812 [3]).
W adresach IPv6
zasieg
(
scope
) adresu definiowany jest przez pocz atkowe bity ad-
resu i np. adresy rozpoczynaj ace sie od
fe80
: to adresy „
link-local
” - zasieg „
local
”.
Poza zasiegiem local istniej a takze:
host
,
site
,
global
. Po szczegółowe informacje odsyłam
do RFC2373 [7] oraz do dokumentacji zawartej w pakiecie iproute2 [13] o którym bedzie
mowa pózniej. Tutaj warto jedynie wspomniec, ze adresy z zasiegiem local s a widoczne
wył acznie w obrebie sieci do których podpielismy naszego Linuxa oraz do serwerów z
którymi nasz Linux ma poł aczenie (czy to bezposrenie czy przy pomocy tunelu).
Istotn a zalet a IPv6 jest
autokonfiguracja
(RFC2462 [11]). Hosty IPv6 wykorzystuj a
miedzy innymi protokół Neighbor Discovery (ND) pozwalaj acy im znalezc s asiaduj ace
routery i inne hosty. Dzieki ND serwery mog a sledzic, które routery lub serwery s a ak-
tywne i osi agalne, a nastepnie modyfikowac swe tablice routingu itp. Ponadto serwery
IPv6 próbuj a same skonfigurowac swe interfejsy. Istniej a dwie metody takiej konfigura-
cji:
stateless
- nie wymaga zadnego konfigurowania hosta i wymaga minimaln a konfi-
guracje routerów. Metoda ta pozwala hostom na wygenerowanie własnego adresu
1
prefiks okresla ilosc bitów i jest innym sposobem przedstawiania netmaski
2
2 TROCH E TEORII
na podstawie lokalnie dostepnych informacji i informacji rozgłaszanych przez ro-
utery
2
. Routery w tym przypadku rozgłaszaj a tylko
prefiks
sieci. Otrzymany od
routera prefiks jest nastepnie uwzgledniany podczas generowania adresów lokal-
nych interfejsów. Jesli router z jakiegos powodu nie rozgłasza odpowiednich infor-
macji, host moze wygenerowac automatycznie tylko adresy
link-local
co pozwala
na ograniczon a komunikacje wyznaczon a zasiegiem (scope) local.
stateful
- hosty uzyskuj a wszelkie potrzebne informacje z serwera, który zawiera
odpowiedni a baze danych. Metoda ta wykorzystuje DHCPv6.
Warto zaznaczyc, ze hosty mog a wykorzystywac równoczesnie obie metody do autokon-
figuracji. Mechanizm obsługi IPv6 pozwala takze na tworzenie dynamicznych tuneli dla
pakietów IPv6 w istniej acej infrastrukturze IPv4 pod warunkiem, ze adres zródłowy i do-
celowy pakietu to adres kompatybilny z IPv4. Wyrózniamy dwa rodzaje adresów IPv6
kompatybilnych z adresami IPv4:
standardowe - adresy tego typu maj a nastepuj acy format:
80 bitów
16 bitów
32 bity
0000..............................0000
0000
adres IPv4
tylko IPv4 (opisuj ace hosty które
nie wspieraj a
IPv6)
3
80 bitów
16 bitów
32 bity
0000..............................0000
FFFF
adres IPv4
Szczegóły opisane zostały w RFC1884 [4].
Do pozostałych zalet IPv6 nalezy zaliczyc takze zmiane formatu nagłówka pakietów
na nowy, pozwalaj acy bez wiekszych problemów dodawac w przyszłosci nowe opcje bez
powaznych zmian w samym nagłówku. IPv6 umozliwia takze na wysyłanie datagramów
zwanych
jumbogramami
o wielkosci wiekszej niz 65535 bajtów.
By móc wykorzystac IPv6 w obrebie dzisiejszego Internetu wykorzystuj acego nadal
protokół IPv4 stosuje sie
SIT
(
Simple Internet Transition
) do tunelowania pakietów IPv6
wewn atrz pakietów IPv4.
Istnieje ogólnoswiatowa, wirtualna siec bazuj aca na protokole IPv6. Jest to siec
6BONE
.
Wirtualna dlatego, ze bazuje nie na własnych, oddzielnych ł aczach ale wykorzystuje ist-
niej ace ł acza Internetu. Niemalze wszystkie poł aczenia pomiedzy wezłami sieci to tunele
SIT o których była mowa.
Struktura sieci składa sie z głównych wezłów -
pTLA
(
pseudo Top Level Aggregator
),
wezłów podrzednych -
pNLA
(
pseudo Next Level Aggregator
) oraz podpietych do nich
2
narzedziem wykorzystywanym do rozgłaszania prefiksu jest radvd
3
adresy tego typu znane s a jako adresy IPv6 mapowane do IPv4 (ang. IPv4-mapped IPv6 ad-
dress)
3
3 CZEGO POTRZEBA DO UZYWANIA IPV6 ?
pozostałych hostów (
leaf sites
). W Polsce jedynym na dzien dzisiejszy pTLA jest
ICM
(
Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego w Warsza-
wie
), a osob a zajmuj ac a sie sieci a 6bone w ICM jest
Rafał Maszkowski
<
rzm@icm.edu.pl
>.
3 Czego potrzeba do uzywania IPv6 ?
Przede wszystkim potrzebujemy
j adra Linuxa
najlepiej w najnowszej wersji stabil-
nej z serii 2.2 (dla bardziej odwaznych w wersji rozwojowej z serii 2.3). J adro nalezy
skompilowac z aktywnymi nastepuj acymi opcjami:
[*] Prompt for development and/or incomplete code/drivers
[*] Kernel/User netlink socket
<M> IP: tunneling
<M> The IPv6 protocol (EXPERIMENTAL)
[*] IPv6: enable EUI-64 token format
[*] IPv6: disable provider based addresses
Uwagi:
4 5
Oczywiscie powyzsze opcje mozna zarówno wkompilowac w j adro jak i pozostawic
w postaci ładowalnych modułów.
Kolejn a rzecz a, potrzebn a do kompilacji programów wykorzystuj acych IPv6 jest bi-
blioteka z nowymi funkcjami opisanymi m.in. w RFC2553[12]. Własciciele
glibc 2.1.1
(i nowszych) nie bed a mieli zadnych problemów, gdyz ich biblioteka zawiera wszystkie
6
potrzebne funkcje. Posiadacze biblioteki libc5 mog a skorzystac z „protezy” jak a jest
biblioteka
libinet6
zawarta w pakiecie
inet6-apps
autorstwa Craiga Metza. Osobiscie jed-
nak gor aco namawiam do zaktualizowania biblioteki do najnowszej, stabilnej wersji glibc
ze wzgledu na znaczne ułatwienie przy pózniejszych kompilacjach programów wykorzy-
stuj acych IPv6.
Do konfiguracji IPv6 mozemy wykorzystac jednen z dwóch pakietów oprogramo-
wania -
net-tools
lub
iproute2
. Odnosniki do miejsc gdzie mozna znalezc wspomniane
oprogramowanie znajdziesz na koncu artykułu. Ja wykorzystuje pakiet iproute2 i o nim
bedzie dalej mowa.
Kompilacja iproute2 w srodowisku wykorzystuj acym biblioteke glibc przebiega sto-
sunkowo bezbolesnie. W wyniku kompilacji otrzymujemy dwa programy - „
ip
” oraz „
tc
”.
Pierwszy słuzy do konfiguracji sieci IPv4/IPv6, natomiast drugim mozemy kontrolowac
algorytmy kolejkowania pakietów
7
(w tym takze IPv6) ale to juz temat na inny artykuł.
4
niektóre narzedzia konfiguracyjne takie jak iproute2 wykorzystuj a „netlink” do komunikacji
z j adrem
5
opcja IP: tunneling jest konieczna jesli chcemy tunelowac pakiety IPv6 w pakietach IPv4
6
prawie wszystkie, o czym pózniej
7
Linux oferuje pokazny wachlarz algorytmów pozwalaj acych na korzystanie z m.in. QoS (Qu-
ality Of Service)
4
4 KONFIGURACJA
Maj ac nowe, obsługuj ace IPv6 j adro oraz odpowiednie narzedzia mozemy przyst apic
do operacji jak a jest konfiguracja.
4 Konfiguracja
By sprawdzic czy IPv6 jest aktywne wystarczy wykonac komende: „
ip addr show lo
”.
# ip addr show lo
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope global lo
inet6 ::1/128 scope host
#
Jak widac IPv6 jest obecne - swiadczy o tym linijka „
inet6 ::1/128 scope host
”. Adres
„
::1
” jest adresem IPv6 interfejsu
loopback
. Jesli powyzsze polecenie nie pokazuje takiej
linijki to najpewniej skompilowałes IPv6 jako moduł. Wykonaj „
modprobe ipv6
” i po-
nownie sprawdz obecnosc adresu IPv6.
Działanie IPv6 mozna sprawdzic przy uzyciu np. ping6 z pakietu iputils
8
# ping6 -nc3 ::1
PING ::1(::1) from ::1 : 56 data bytes
64 bytes from ::1: icmp_seq=0 hops=64 time=0.2 ms
64 bytes from ::1: icmp_seq=1 hops=64 time=0.1 ms
64 bytes from ::1: icmp_seq=2 hops=64 time=0.1 ms
--- ::1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
#
Podobnie jak w IPv4 interfejsy sieciowe (np. eth0) mog a miec przypisanych wiele
adresów IPv6. Przegl adaj ac adresy na interfejsie ethernetowym (ip addr show eth0) za-
uwazysz zapewne adres o którym była juz mowa - link-local. Adresy te dla interfejsów
ethernet generowane s a automatycznie na podstawie identyfikatora interfejsu np. adresu
MAC karty sieciowej. Narzedzie „iproute2” w przeciwienstwie do „ifconfig” pozwala na
ogl adanie wszystkich adresów na danym interfejsie. Jedn a z interesuj acych mozliwosci
jest dodawanie kilku adresów IPv4/IPv6 do jednego interfejsu bez stosowania aliasów
(oczywiscie iproute2 pozwala na stosowanie aliasów jednak w rzeczywistosci zadko sie
t a opcje stosuje).
8
iputils maj a niewielki bł ad powoduj acy nie działanie
ping
a skompilowanego
egcs
’em. Łata
na te dolegliwosc znajduje sie na
http://cvsweb.pld.org.pl/
5
Plik z chomika:
jku1
Inne pliki z tego folderu:
Jak zbudować domową sieć.pdf
(572 KB)
Topologia sieci.pdf
(988 KB)
IPv6 Protokol Internetowy Nastepnej Generacji.pdf
(49 KB)
Bezpieczne protokoły.pdf
(171 KB)
Zapory sieciowe.pdf
(174 KB)
Inne foldery tego chomika:
Kurs Ubuntu Linux na co dzień
MS Excel
MS Office
Zgłoś jeśli
naruszono regulamin