由於互聯網的快速發展與普及,原有的IPV4地址已不能滿足網絡用戶的需求,雖然NAT可以緩解IPV4地址的耗盡,但NAT破壞了網絡環境的開放、透明以及端到端的特性,因此IPV6地址協議應運而生。IPV6協議使用128位地址替代32位的IPV4地址,這樣大約可以產生340萬億億億億(3.4*1038)個可用的地址。此數目可以滿足公共IP地址需求。本文作爲IPV6入門,主要介紹IPV6地址和IPV6報文格式相關內容。
IPV6優點
1、更大地址空間:128位的地址空間可以滿足星球上每個人
2、無需NAT:保障端到端通信
3、沒有廣播地址:包括單播、多播、任意播
4、支持移動性和安全性:有助於確保遵循移動IP標準和Ipsec標準
5、更簡單的報文提高了路由器的效率
6、接口標識:從接口的數據鏈路層
IPV6新特性
1、每個接口多個地址
2、鏈路本地地址:交換路由更新時,IGP將link-local地址作爲下一跳地址
3、無狀態自動配置:一個IPV6設備根據本身分配一個獨特link-local IPV6的地址
4、獨立或不獨立於提供商的編址
IPV6地址
1、IPV6地址由128位組成,使用8個16位段來表示,每個16位段使用十六進制數字表示即每4個十六進制爲一組,之間使用英文冒號:分開
2、格式爲:x:x:x:x:x:x:x:x x代表4個十六進制位,舉例:2035:0001:2BC5:0000:0000:087C:0000:000A
3、IPV6地址包括兩部分:前綴+本地標識
4、前綴:通過在IPV6地址後面加一個斜線/,再跟一個十進制的數字來標識一個IPV6地址的起始位由多少位是前綴位,一般前綴爲64位,如:3ffe:1994:100:a::/64
5、接口標識:從接口的數據鏈路層地址直接派生出接口標識,該標識是全局唯一。長度爲64位,根據MAC地址動態創建。
6、特殊的IPV6地址如下表:
IPV6地址 | 描述 |
::/0 | 缺省路由 等同於IPV4 |
::/128 | 未指定地址 不能分配給真實的網絡接口 |
::1/128 | 本地的環回地址 等同於IPV4的 |
FE80::/10 | 鏈路本地單播地址 等同於Windows自動配置的IP地址169.254.x.x |
FF00::/8 | 組播地址 |
其他地址 | 全局單播地址 001(當前分配的)即:2xxx::/4或者3xxx::/4 其餘的爲未分配的全球單播地址 |
IPV6地址簡寫規則:
1、在4個十六進制位組成的字段中,可以省略前導0;如:09C0=9C0 0000=0
2、在每個地址中,可使用一對冒號(::)來表示任意數量的連續的0,;如:ff02:0000:0000:0000:0000:0000:0000:0005=ff02::5
注:一個地址中只能出現一對冒號,否則無法唯一確定地址
IPV6地址類型
地址類型 | 描述 |
單播 | 一個地址標識單個接口 發送給單播地址的分組將傳輸到該地址標識接口 |
多播 | 一個多播地址標識位於不同設備上的一組接口 發送給多播地址的分組將傳輸到該地址標識的所有接口 多播地址不會作爲源地址出現 |
任意播 | 一個地址分配給多個接口 這些接口代表不同的節點 將分組發送到任意播組中最近接口(第一個鄰居),其他情況根據路由協議的度量值確定 |
全球單播地址格式: 網絡部分提供一臺設備到下行專用數據鏈路的定位,主機部分提供這條數據鏈路上該設備的標識 。16位的子網ID字段可以提供65536(216)個不同的子網
全球路由選擇前綴(48) | 子網ID(16) | 接口ID (64) |
本地單播地址:使用範圍限定在單條鏈路上的地址。唯一性只在所在的鏈路有效,相同的地址也可能存在於另一條鏈路上,因此此地址離開所在的鏈路是不可路由的。鏈路本地單播地址的起始10位是1111111010(FE80::/10)
IPV6單播地址分配方法:
說明:每個接口只能有一個鏈路本地地址
僅僅配置一個全局單播地址也會在接口上創建一個鏈路本地地址(EUI-64)
接口上可以配置多個IPV6地址。IPV4和IPV6地址可以同時配置
以太網的接口ID是基於接口的48位MAC地址中間插入16位的0XFFFE
多播地址格式
多播前綴:8位 | 標記:4位 | 範圍:4位 | 組ID:112 |
說明:標記位:前3位保留爲0,第4位:0-永久的公認的地址;1-暫時的地址
範圍:包括:節點本地-0X1、鏈路本地-0X2、地區本地-0X5、組織本地-0X8、全球-0XE、保留-0XF 0X0
組ID:前面80位設置爲0,只使用後面的32位
常見的.公認IPV6多播地址:都屬於永久的鏈路本地的範圍;
地址 | 多播組 |
FF02::1 | 所有的節點 |
FF02::2 | 所有的路由器 |
FF02::5 | OSPFv3路由器 |
FF02::6 | OSPFv3指定路由器 |
FF02::9 | RIPng路由器 |
FF02::A | EIGRP路由器 |
FF02::B | 移動代理 |
FF02::C | DHCP服務器/中繼代理 |
FF02::D | 所有的PIM路由器 |
IPV6包頭格式
說明:
版本:4位,0110表明版本6
流量類別:8位,類似於IPV4中的TOS字段
流標籤:20位,設置目的是允許爲特定的業務流打上標籤,可以提供更精細的服務類別區分的顆粒,在平衡業務流量通過多條路徑時可以確保屬於同一流的數據包能夠總是轉發到相同路徑上,在發起一個數據包時,加上合適的流標籤字段,路由器能夠識別一條流,而不必一 一查找數據包頭部,目前路由器忽略此字段
有效載荷長度:用來封裝數據包所封裝的有效載荷長度,IPV6數據包頭部長度爲40字節
下一報頭:指出IPV6數據包頭部後面的報頭,與IPV4包中的協議字段類似
跳數限制:類似於IPV4中的TTL字段,衡量一個數據包到達目的地的路徑中所能跨越的最大路由器跳數的工具
源地址和目的地址:128位長度
可選項:包含拓展報頭,提供可選功能,如:分段、源路由選擇或認證、目的地可選項、TCP/IP協議等,在下一個報文字段中是否有擴展報頭
IPV6報頭 | 路由選擇擴展報頭 | 分段擴展報頭 | 認證擴展報頭 | 上層協議報頭 | 數據 |