Słów kilka o adresacji IPv6
Trudno to było zrozumieć, ale dzięki jednej książce udało się to w końcu zrozumieć (rozdział 37). Adresacja jest skonstruowana jako osiem 4 bajtowych (znakowych) liczb w systemie hexadecymalnym oddzielonych znakiem dwókropka, czyli:
AA76:0000:0000:0000:0012:A322:FE33:2267
Przy czym założono, że każda liczba o wartości (ZERO) może być zastąpiona jedną cyfrą (ZERO):
AA76:0000:0000:0000:0012:A322:FE33:2267 AA76:0:0:0:12:A322:FE33:2267
Aby jeszcze uprościć, każdy ciąg zer może być zastąpiąny podwójmym dwukropiek:
AA76:0000:0000:0000:0012:A322:FE33:2267 AA76:0:0:0:12:A322:FE33:2267 AA76::12:A322:FE33:2267
Zapisanie adresu IPv4 w IPv6
0000:0000:0000:0000:0000:0000:ffff:10.20.30.40 ::ffff:10.20.30.40
Maski bitowe w adresacji IPv6
Jest dokładny sztywny podział, aby uprościć tablice routingu w routerach operatorów. Tak więc na każde końcowe połączenia przypisana jest maska /64 (nawet na połączenia PTP !!!). Całość jest opisane w RFC 4291, tak więc poniższa tabelka odwołuje się do tego RFC:
Address type |
Binary prefix |
IPv6 notation |
Section |
Unspecified |
00...0 (128 bits) |
::/128 |
2.5.2 |
Loopback |
00...1 (128 bits) |
::1/128 |
2.5.3 |
Multicast |
11111111 |
FF00::/8 |
2.7 |
Link-local unicast |
1111111010 |
FE80::/10 |
2.5.6 |
Global unicast |
(everything else) |
||
Maski a bity adresu IPv6
Network address range |
ffff:ffff:ffff:0000:0000:0000:0000:0000 |
pierwsze 48 bitów rezerwacja dla routingu |
Subnetting range |
0000:0000:0000:ffff:0000:0000:0000:0000 |
bity 49..54 (16 bitów) definiują sieci |
Device range |
0000:0000:0000:0000:ffff:ffff:ffff:ffff |
ostatnie 64 bity przeznaczone dla hostów |
Adresowanie IPv6 we FreeBSD
Jeżeli chodzi o przyznaną adresację dla serwera, to będzie to maska /64. Określenie dokładnie jednego hosta to jest maska /128. Zatem przykład konfiguracji w rc.conf:
ipv6_enable="YES"
ipv6_network_interfaces="em0"
ifconfig_em0_ipv6="inet6 2001:41D0:2:C7df::1 prefixlen 64"
ifconfig_em0_ipv6_alias0="inet6 2001:41D0:2:C7df::5 prefixlen 128"
ipv6_static_routes="ovhgw"
ipv6_route_ovhgw="2001:41D0:2:C7ff:ff:ff:ff:ff -prefixlen 128 -interface em0"
ipv6_defaultrouter="2001:41D0:2:C7ff:ff:ff:ff:ff"
