IPv6協議:IPv4的終極進化,你要知道的概念、地址和報文
大家好,我是IT售前工程師Bernie。
自1981年9月開始,IPv4開始大行其道。作為互聯網通信協議的第四個版本,在長達30多年的時間裡,IPv4一直作為網絡層的核心。
它是一種無連接的協議,即:通信的兩台設備不需要事先建立好一條穩定的連接通道,系統只需要選定路線做傳輸即可。
IPv4好用是好用,但隨著互聯網高速發展,連接數呈現指數級暴增。32位的IPv4最多只能提供大概43億個地址(2的32次方,4294967296),2011年9月,43億個IPv4地址被使用完了!
於是,IPv6走向前台。IPv6號稱“可以為地球上每一粒沙標註地址”,這話聽著有點大,實際上是有道理的。因為它有128位長度,可以提供的地址數量也就是2的128次方(3.4028237e+38,256萬億億億億)。
IPv6的發展時間線
- 1992年,IETF(互國際互聯網工程任務組)提出關於下一代IP地址的發展建議,並形成白皮書。
- 1994年,用於定義IPv6的RFC(Request For Comments,需求文件)發表,並且確定了IPv4和IPv6並行使用的指導方針。
- 2003年,IETF發布IPv6的測試網絡(6bone網絡),驗證IPv4向IPv6遷移的方案可行性。
- 2009年,用於驗證IPv6協議的6bone網絡架構開始在全球39個國家的260個組織施行。
- 2011年,大部分服務器、計算機的操作系統都支持IPv6。
- 2012年,世界互聯網協會舉辦IPv6紀念日,全球IPv6網絡正式啟動。
- 2017年,我國印發《推進互聯網協議第六版(IPv6)規模部署行動計劃》,各大企業紛紛加入轟轟烈烈的升級計劃。
地址表示
與IPv4採用“點分十進制”不同,IPv6採用的是“冒分十六進制”,整個地址包含網絡前綴和接口標識兩個方面。網絡前綴就是網絡的ID,接口標識就是主機ID,IPv6有3種表示方法。
① 冒分16進制
格式:x:x:x:x:x:x:x:x,每個X表示地址中的16b,以十六進製表示
舉例:
5BCD:E901:23C5:6789:AEC7:E
② 0位压缩
如果一个IPv6地址中间包含连续的一段0,可以把连续的一段0压缩为“::”。
举例:AB00:0:0:0:0:0:0:1101 → AB00::1101
③ 内嵌IPv4
IPv6地址可以嵌入一段IPv4:前96位是v6地址,后32位是v4地址 x:x:x:x:d.d.d.d
举例:::192.168.10.1 ::FF:169.167.3.1
地址类型
IPv6协议的地址类型有三种:单播地址(Unicast Address)、组播地址(Multicast Address)和任播地址(Anycast Address)。
需要注意的是:IPv4地址的广播地址在IPv6中取消了,IPv6用组播替代了。
单播地址
跟IPv4地址中大单播地址一样,用来唯一地标识某一个端口。发送到单播地址的数据报文将被传送给此地址所标识的一个端口。
比如:采用单播地址通信,PC1就可以在同一个交换机下的端口中唯一找到PC2进行通信。
组播地址
用来标识一组端口,发送到组播地址的数据报文被传送给此地址所标识的所有接口。
比如,采用组播地址方式,PC1可以跟PC2/3/4同时通信。
任播地址
发送到任播地址的数据报文被传送给此地址所标识的一组端口中距离源节点最近的一个端口。
注意:这里说的距离是根据路由协议计算出来的,不是物理长度的地址。
IPv6报头
IPv6的报文的整体结构包括报头、扩展报头和上层的协议数据。报头包括如图的以下内容。
- Version:四位版本号,IPv6对应的是6
- Traffic Class:流量等级,主要是QoS的等级
- 流标签:标识同一个流里面的报文内容
- 数据长度:当前IPv6包头后面包含的字节数,也包含扩展报头
- 下一报头:当前报头后面接的报文的报头类型
- 跳数限制:转发一次就做自减,类似于IPv4的TTL
1.6. IPv6与IPv4的对比
与IPv4相比,IPv6可不是数量多这么简单。它还有很多的优点,比如支持QoS网络质量等级、可以做路由聚合提高路由的转发效率等等。列举一小部分区别如下。
1.7. 总结
以上是对IPv6的简要介绍,管中窥豹,很多技术细节没有谈到。比如IPv6的编址技术、重要的基础协议ICMPv6等。
2023年,互联网技术、物联网技术迅猛发展,全球移动连接数已突破55亿,IP地址也超过了42.9亿个。这两个数量都已经超过了IPv4地址总数,但对于IPv6来说这个数量还不够塞牙缝的。有了IPv6,我们再也不必担心连接数过多的情况。