2.3. IPv6 的位址格式 ?

前文提到 IPv6 的位址為128位元. 這麼高的位元數換算成一般十進位數字表示法的話, 長度將達到10的39次方:

2^128-1: 340282366920938463463374607431768211455

這麼長的數字或位址將很難記得住. 而且, IPv6的位址是逐位定位的(就像IPv4, 但這個觀點不是公認的). 所以透過十六進制表示法能更好地表示這些數字. 將每 4 位元(也叫做"nibble")表示為數字(0-9)或字符 a-f(10-15). 這種表示法可以將IPv6的地址長度縮減到可用32個字符來表示.

2^128-1: 0xffffffffffffffffffffffffffffffff

這種表示法仍然不是很方便. (因為這樣一長串看下來很容易就會混淆或遺漏了單個十六進制數字), 所以IPv6的設計者將地址形式定為每16位元就用"冒號"區分開來. 此外, 開頭的"0x"(在程式設計當中用來表示十六進制數值)也被省略了:

2^128-1: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

如此一來, 一個可用的地址(請參考之後提到的地址類型)如下:

3ffe:ffff:0100:f101:0210:a4ff:fee3:9566

為了簡化, 每個16位元區塊中高位元的0可以被省略:

3ffe:ffff:0100:f101:0210:a4ff:fee3:9566 -> ¬ 3ffe:ffff💯f101:210:a4ff:fee3:9566

連續值為0的16位元位址區塊可以用"::"表示. 但是在一個IPv6位址當中只能使用這種簡寫一次, 否則就不再是唯一表示的位址了:

3ffe:ffff💯f101:0:0:0:1 -> 3ffe:ffff💯f101::1

簡化得最短的 IPv6 本地位址:

0000:0000:0000:0000:0000:0000:0000:0001 -> ::1

也有一種方法叫做簡潔 (compact, base85 coded) 表示法. 定義於 RFC 1924 / IPv6簡潔位址表示法 (定於1996年四月一日), 但從沒有被廣泛使用過, 可能只是個愚人節笑話. 但還是給個例子:

ipv6calc --addr_to_base85 3ffe:ffff:0100:f101:0210:a4ff:fee3:9566

Itu&-ZQ82s>J%s99FJXT

資訊: ipv6calc 是一個IPv6地址格式的計算和轉換的計劃, 您可以在 ipv6calc 首頁中找到: http://www.deepspace6.net/projects/ipv6calc.html 鏡像站: http://mirrors.bieringer.de/www.deepspace6.net/projects/ipv6calc.html