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:
sliwak
Inne pliki z tego folderu:
Sieci Komputerowe Dla Każdego.rar
(8461 KB)
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)
Inne foldery tego chomika:
! cisco
ADMINISTROWANIE SIECIAMI
ASA
Budowa sieci
CBT Nugget Archive Server 2009 Cisco
Zgłoś jeśli
naruszono regulamin