IPv6地址格式
IPv6的地址長度是128-bit (相對應的 IPv4 是 32-bit), 將這128位地址按每段16位划分為8個段, 將每一段轉換成十六進制數, 中間用冒號隔開, 就是IPv6地址的完整格式. 例如 fdfc:e92f:7272:0000:0001:2345:6789:abcd. 這個地址很長,可以用兩種方法進行壓縮:
省略前導零
將每一段的前導零省略, 但是每一段都至少留一個字符, 例如 fdfc:e92f:0:0:1:2345:6789:abcd
雙冒號代替連續零
如果一個IPv6地址中幾個連續的段都是0, 可以將連續的0簡化為:: , 每個地址中只能有一個:: , 例如 fdfc:e92f:7272::1:2345:6789:abcd
單播地址 Unicast IPv6 Addresses
可聚合全局單播地址 Aggregatable Global Unicast Addresses
相當於IPv4里面的global addresses, 前三個bit是001, 例如 2000::1:2345:6789:abcd
鏈路本地地址 Link-Local Addresses
用於同一個鏈路上的相鄰節點之間通信, 相當於IPv4里面的169.254.0.0/16地址. Ipv6的路由器不會轉發鏈路本地地址的數據包. 前10個bit是1111 1110 10, 由於最后是64bit的interface ID, 所以它的前綴總是FE80::/64, 例如 FE80::1
站點本地地址 Site-Local Addresses
對於無法訪問internet的本地網絡, 可以使用站點本地地址. 這個相當於IPv4里面的private address (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). 它的前10個bit是1111 1110 11, 它最后是16bit的Subnet ID和64bit的interface ID, 所以它的前綴是FEC0::/48. 在RFC3879中, 最終決定放棄單播站點本地地址, 放棄的理由是, 由於其固有的二義性帶來的單播站點本地地址的復雜性超過了它們可能帶來的好處, 它在RFC4193中被ULA取代.
唯一本地IPv6單播地址 ULA, Unique Local IPv6 Unicast Address
在RFC4193中標准化了一種用來在本地通信中取代單播站點本地地址的地址, ULA擁有固定前綴 FD00::/8, 后面跟一個被稱為全局ID的40bit隨機標識符.
未指定地址 Unspecified address
0:0:0:0:0:0:0:0 或者:: 當一個有效地址還不能確定時, 一般用未指定地址作為源地址, 未指定地址不能作為一個目標地址來使用.
回環地址 Loopback address
回環地址 ::1 用於標識一個回環接口, 可以使一個節點可以給自己發送數據包, 相當於IPv4的回環地址127.0.0.1
兼容IPv4的地址 IPv4-compatible address
形如::w.x,y.z 這里的w.x.y.z是IPv4公共地址的十進制點號表示法, 用於IPv6/IPv4節點們(同時支持)在使用僅支持IPv4的網絡上用IPv6的協議進行通信. 但是事實證明這種技術不是個好主意,RFC4291中廢棄了對這類地址的使用。
IPv4映射地址 IPv4-mapped address
形如::FFFF:w.x.y.z 這里的w.x.y.z是IPv4公共地址的十進制點號表示法, 用於一個僅支持IPv4的節點表現為一個IPv6的節點.
6 Over 4地址
[64bit-prefix]:0:0:WWXX:YYZZ, 其中 WWXX:YYZZ 是w.x.y.z IPv4公共地址的十進制點號表示法, 用於一個使用6to4協議的隧道機制的節點.
6 To 4地址
2002:WWXX:YYZZ:[SLA ID]:[Interface ID], 用於表示一個使用6to4協議的隧道機制節點.
IPv6多播地址 Multicast IPv6 Addresses
前8個bit為1111 1111,其中
FF01::到FF0F::的多播地址是保留專用地址
FF01::1 節點本地范圍所有節點多播地址
FF02::1 鏈路本地范圍所有節點多播地址
FF01::2 節點本地范圍所有路由器多播地址
FF02::2 鏈路本地范圍所有路由器多播地址
FF05::2 站點本地范圍所有路由器多播地址
為 IPv6 划分子網
在對 IPv6 地址空間進行子網划分時, 需要使用子網划分技術. 以一種允許將剩余地址空間的摘要和委派路由到 IPv6 Intranet 的不同部分的方式, 為 48 位全局地址前綴划分16位子網ID字段.
您不需要以任何特定的方式進行子網划分, 此處介紹的子網划分技術假定您是通過使用子網 ID字段的高序位划分其地址空間的可變部分來進行子網划分的. 雖然此方法有助於分層尋址和路由, 但此方法並不是非用不可. 例如在只有少數子網的小型組織中, 您可以通過為子網編號(從 0 開始), 輕松地為全局地址創建平面尋址空間。
判斷公網 IP 和內網 IP
公網IP
目前已分配 IPv6 的公網地址都是 2XXX: 開頭的, 非常好辨別. 其中
2002: 開頭的是 6to4 地址, 由用戶端設備自動建立, 通過隧道技術連接至 IPv6 互聯網, 不是運營商管理和分配的, 服務質量與運營商無關, 只要有 IPv4 公網地址且設備支持 6to4 協議, 且沒有被運營商封鎖就能建立.
2001: 開頭的是 6in4 地址, 是另一種隧道協議. he.net 提供的 IPv6 Tunnel Broker 服務就是采用這種協議.
通過以上兩種隧道技術獲得的地址也是公網 IPv6 地址, 只不過他們不是由運營商提供的, 而是用戶端設備把 IPv6 數據包封裝到 IPv4 的數據包中, 再通過第三方 Broker 服務器中轉來訪問 IPv6 互聯網, 速度通常比較慢.
如果你的 IPv6 地址以2XXX:開頭且不是2001 或者2002, 那么你的運營商已經提供原生 IPv6 網絡的接入了.
常見的內網IP段
::1 loopback 地址, 表示本機, 等價於 IPv4 中的127.0.0.1
fe80::/10 是 link local 地址段, 只在同一鏈路上有效, 不能跨網段通信, 類似於 IPv4 下的169.254.0.0/16.
fd00::/8 就是通常意義上的內網地址段了, 等價於 IPv4 的10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 這三個段. 如果要組建 IPv6 內網, 通常都是在這個大段里隨機挑選一個 /64、/56、或者 /48 的子網來用. 比如可以挑選 fd12:3456:789a:bcde::/64 作為局域網 IP 段.
fc00::/8 也是一個預留的內網地址段.
移動網絡實測IPv6
移動4G網絡
移動4G是支持IPv6的, 在移動設備上能獲得 2409:8xxx:2500:開頭的IPv6地址和10.151開頭的IPv4地址.
在移動設備上啟用Hotspot后, 下級設備連接獲得的IP地址為, 如果訪問外部IPv6地址, 對方看到的是Temporary IPv6 Address這個地址
Connection-specific DNS Suffix . :
IPv6 Address. . . . . . . . . . . : 2409:8xxx:2500:eb0:b85e:dxx0:e3fc:8e32
IPv6 Address. . . . . . . . . . . : fdad:48ab:3244::d0f
IPv6 Address. . . . . . . . . . . : fdfc:e92f:7272:4::d0f
Temporary IPv6 Address. . . . . . : 2409:8xxx:2500:eb0:485e:04:fc1b:5547 <--- This will be got by the server be visited
Link-local IPv6 Address . . . . . : fe80::b85e:dxx0:e3fc:8e32%13
IPv4 Address. . . . . . . . . . . : 192.168.43.64
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : fe80::966e:cbc0:c325:e566%13
192.168.43.1
移動寬帶
移動寬帶也支持IPv6, 在光貓路由器上的IPv6連接信息為
PPP 2_INTERNET_R_VID_10 GUA獲取方式 SLAAC GUA 2409:8a00:2407:1d81:7ac3:13ff:aa94:3bb9/64 DNS獲取方式 DHCPv6 DNS1 2409:8000:2000:0:170::1 DNS2 2409:8000:2000:0:70::1 DNS3 WAN MAC 78:C3:13:A4:BB:EE 前綴獲取方式 DHCPv6 獲取前綴 2409:8a00:2471:bec0::/60 網關獲取方式 SLAAC 網關 fe80::200:5eff:fe00:114
光貓的下一級設備, 獲得的IPv6連接信息為
Protocol: DHCPv6 client Prefix Delegated: fdfc:e91f:7272:4::/62 Address: 2409:8a00:2471:bec0:2276:93ff:f03d:5209/64 Address: fdfc:e91f:7272:0:2276:93ff:f03d:5209/64 Address: fdff:20d9:f316:0:2276:93ff:f03d:5209/64 Address: fdfc:e91f:7272::60e/128 Gateway: fe80::1 DNS 1: fdfc:e91f:7272::1 DNS 2: fe80::1 IPv6-PD: fdfc:e91f:7272:4::/62
其中2409:開頭的是外網訪問地址. 實測從移動4G的IPv6可以直接訪問移動寬帶的光貓下一級設備, 因為沒有可用的其他網絡的IPv6, 無法測試是否真正可以在公網使用.
