硬核科普:從IPv4到IPv6
IPv4又稱互聯(lián)網(wǎng)通信協(xié)議第四版,是網(wǎng)際協(xié)議開(kāi)發(fā)過(guò)程中的第四個(gè)修訂版本,也是此協(xié)議第一個(gè)被廣泛部署的版本。IPv4是互聯(lián)網(wǎng)的核心,也是使用最廣泛的網(wǎng)際協(xié)議版本。
IPv4使用32位地址,2019年11月26日,全球所有43億個(gè)IPv4地址已分配完畢,這意味著沒(méi)有更多的IPv4地址可以分配給ISP和其他大型網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供商。
IPv4最大的問(wèn)題在于網(wǎng)絡(luò)地址資源不足,嚴(yán)重制約了互聯(lián)網(wǎng)的應(yīng)用和發(fā)展,IPv6的地址長(zhǎng)度為128位,是IPv4地址長(zhǎng)度的4倍。IPv6的使用,能夠解決網(wǎng)絡(luò)地址資源數(shù)量的問(wèn)題。此外,IPv6 在安全性、路由地址、自動(dòng)配置、移動(dòng)性和 QoS 方面也增強(qiáng)了一些功能。
IPV4與IPV6之間的區(qū)別
什么是 IPv4
IPv4在網(wǎng)絡(luò)層工作,負(fù)責(zé)識(shí)別 IP 地址上給出的主機(jī),并相應(yīng)地在網(wǎng)絡(luò)中或在各種網(wǎng)絡(luò)之間路由數(shù)據(jù)包。
目前互聯(lián)網(wǎng)大多都使用的是 IPv4 尋址方案。IPv4 地址有 32 位尋址空間,可以連接 2^32 = 43 億臺(tái)設(shè)備。
IPv4 報(bào)頭
- 版本:IPv4 的版本號(hào)為 4。
- 報(bào)頭長(zhǎng)度:顯示報(bào)頭的大小。
- DSCP:代表區(qū)分服務(wù)代碼字段,用于構(gòu)建數(shù)據(jù)包。
- 總長(zhǎng)度:它表示包頭的大小加上數(shù)據(jù)包的大小。
- 標(biāo)識(shí):如果數(shù)據(jù)包在傳輸期間被分片,則使用該字段為每個(gè)分片分配相同的編號(hào)以便幫助構(gòu)建原始數(shù)據(jù)包。
- 標(biāo)志:用于表示分片過(guò)程。
- 分片偏移:對(duì)包含分片的上層數(shù)據(jù)包的IP包賦予序號(hào)。
- TTL:為了避免網(wǎng)絡(luò)中出現(xiàn)循環(huán)的可能性,在每個(gè)數(shù)據(jù)包的傳輸過(guò)程中都設(shè)置了TTL值,該值表示數(shù)據(jù)包可以經(jīng)過(guò)的跳數(shù)。每跳TTL值減1,當(dāng)TTL值為0時(shí),報(bào)文將被丟棄。
- 協(xié)議:表示它用于傳輸數(shù)據(jù)的協(xié)議。TCP 的協(xié)議號(hào)為 6,UDP 的協(xié)議號(hào)為 17。
- 首部檢驗(yàn)和:該字段用于錯(cuò)誤檢測(cè)。
- 源IP地址:保存源端主機(jī)的IP地址。長(zhǎng)度為 32 位。
- 目的IP地址:保存目的主機(jī)的IP地址。長(zhǎng)度為 32 位。
IPv4 尋址模式
(1) 尋址方式分為三種:
單播尋址模式:在這種模式下,發(fā)送方只能將 IP 數(shù)據(jù)包發(fā)送到一個(gè)目標(biāo)終端主機(jī)。目的主機(jī)的 IP 地址包含在報(bào)頭的 32 位目的地址 IP 字段中。
廣播尋址模式:在這種模式下,數(shù)據(jù)包被廣播或發(fā)送到網(wǎng)絡(luò)中存在的所有主機(jī)終端設(shè)備。廣播 IP 地址為 255.255.255.255。當(dāng)接收主機(jī)解析這個(gè)地址時(shí),所有的數(shù)據(jù)包都會(huì)被接收。
組播尋址模式:此模式是前兩種模式的混合,即發(fā)送的數(shù)據(jù)包既不指向單個(gè)主機(jī)也不指定段上的所有主機(jī)。在該數(shù)據(jù)包中,目標(biāo)地址包含一個(gè)以224.xxx開(kāi)頭的特殊地址,可以被多個(gè)主機(jī)接收。
服務(wù)器發(fā)送由多個(gè)服務(wù)器接收的數(shù)據(jù)包。每個(gè)網(wǎng)絡(luò)都有一個(gè)為代表網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào)保留的 IP 地址和一個(gè)為廣播地址保留的 IP 地址,它代表該網(wǎng)絡(luò)中的所有主機(jī)。
(2) 分層尋址方案:
32 位 IP 地址包含網(wǎng)絡(luò)、子網(wǎng)和與其相連的主機(jī)的 IP 地址信息。單個(gè)IP地址可以包含有關(guān)網(wǎng)絡(luò)及其子網(wǎng)絡(luò)以及最終主機(jī)的信息。
(3) IPv4 私有 IP 地址: 私有IP地址是一段保留的IP地址。只在局域網(wǎng)中使用,在Internet上是不使用的。因此,路由器和交換機(jī)等網(wǎng)絡(luò)設(shè)備在傳輸過(guò)程中會(huì)丟棄私有IP地址的數(shù)據(jù)包。
NAT轉(zhuǎn)換可以把私有IP轉(zhuǎn)換成公網(wǎng)IP地址,這樣就可以和Internet連接。
(4) IPv4 環(huán)回 IP 地址:
地址塊127.0.0.0/8被保留作環(huán)回通信用。此范圍中的地址絕不應(yīng)出現(xiàn)于主機(jī)之外,發(fā)送至此地址的報(bào)文被作為同一虛擬網(wǎng)絡(luò)設(shè)備上的入站報(bào)文(環(huán)回),主要用于檢查TCP/IP協(xié)議棧是否正確運(yùn)行和本機(jī)對(duì)本機(jī)的鏈接。
為什么需要IPv6
- IPv4 提供的地址空間只有43億個(gè),目前已經(jīng)完全耗盡。
- IPv4 不提供安全的傳輸模式。
- IPv4 不支持自動(dòng)配置功能。
- QoS 功能不達(dá)標(biāo)。
什么是 IPv6
IPv6是互聯(lián)網(wǎng)工程任務(wù)組(IETF)設(shè)計(jì)的用于替代IPv4的下一代IP協(xié)議,其地址數(shù)量號(hào)稱可以為全世界的每一粒沙子編上一個(gè)地址。IPv6的使用,不僅能解決網(wǎng)絡(luò)地址資源數(shù)量的問(wèn)題,而且也解決了多種接入設(shè)備連入互聯(lián)網(wǎng)的障礙。
IPv6的特點(diǎn)
(1) 地址數(shù)量多:設(shè)計(jì) IPv6 的主要原因是 IPv4 地址的短缺。IPv6 有128位地址,共支持 2^128 個(gè)(接近 3.4*10^38)個(gè)地址,足以在未來(lái)許多年內(nèi)連接大量的設(shè)備。
(2) 地址自動(dòng)配置:IPv6主機(jī)連接到IPv6網(wǎng)絡(luò)時(shí),可以通過(guò)ICMPv6消息自動(dòng)配置自己的地址。這是對(duì)DHCP協(xié)議的改進(jìn)和擴(kuò)展,使得網(wǎng)絡(luò)(尤其是局域網(wǎng))的管理更加方便和快捷。
(3) 組播:IPv6的組播支持以及對(duì)流的支持要強(qiáng)于IPv4。
(4) 更高的安全性:在使用IPv6網(wǎng)絡(luò)中,用戶可以對(duì)網(wǎng)絡(luò)層的數(shù)據(jù)進(jìn)行加密并對(duì)IP報(bào)文進(jìn)行校驗(yàn),這極大地增強(qiáng)了網(wǎng)絡(luò)安全。
(5) 路由表更?。篒Pv6的地址分配一開(kāi)始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網(wǎng),大大減小了路由器中路由表的長(zhǎng)度,提高了路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度。
(6) 移動(dòng)性:MIPv6(Mobile IPv6 )允許移動(dòng)節(jié)點(diǎn)在保持現(xiàn)有連接的同時(shí)任意改變其在IP網(wǎng)絡(luò)中的位置。
MIPv6實(shí)現(xiàn)了完整的IP層的移動(dòng)性。特別是面對(duì)移動(dòng)終端數(shù)量劇增,只有MIPv6才能為每個(gè)設(shè)備分配一個(gè)永久的全球IP地址。由于MIPv6很容易擴(kuò)展、有能力處理大規(guī)模移動(dòng)性的要求,所以它將能解決全球范圍的網(wǎng)絡(luò)和各種接入技術(shù)之間的移動(dòng)性問(wèn)題。
(7) 服務(wù)質(zhì)量(QoS)提高:服務(wù)質(zhì)量是多種因素的綜合問(wèn)題。從協(xié)議的角度來(lái)看,移動(dòng)IPv6的頭標(biāo)增加了一個(gè)流標(biāo)記域,20位長(zhǎng)的流標(biāo)記域使得任何網(wǎng)絡(luò)的中間點(diǎn)都能夠確定并區(qū)別對(duì)待某個(gè)IP地址的數(shù)據(jù)流。
IPv6 報(bào)頭
IPv6 標(biāo)頭為 40 字節(jié),由以下字段組成:
- 版本:表示協(xié)議版本,值為6。
- 流量等級(jí):8 位,表示用于路由報(bào)文使用的服務(wù)類型。
- 流標(biāo)簽:20位。用來(lái)標(biāo)識(shí)同一個(gè)流里面的報(bào)文。該字段在實(shí)時(shí)流媒體傳輸中非常有用。
- 載荷長(zhǎng)度:16 位。表明該IPv6包頭部后包含的字節(jié)數(shù),包含擴(kuò)展頭部。
- 下一報(bào)頭:8 位,該字段用來(lái)指明報(bào)頭后接的報(bào)文頭部的類型,若存在擴(kuò)展頭,表示第一個(gè)擴(kuò)展頭的類型,否則表示其上層協(xié)議的類型,它是IPv6各種功能的核心實(shí)現(xiàn)方法。
- 跳數(shù)限制:8 位,用于禁止數(shù)據(jù)包在系統(tǒng)中無(wú)限循環(huán)。這與 IPv4 標(biāo)頭中的 TTL 類似。在每一跳,跳數(shù)限制的值降為 1,當(dāng)它達(dá)到 0 時(shí),數(shù)據(jù)包將被丟棄。
- 源地址:128位,表示網(wǎng)絡(luò)源主機(jī)的地址。
- 目的地址:也是128位,表示網(wǎng)絡(luò)數(shù)據(jù)包的接收主機(jī)地址。
擴(kuò)展頭部:IPv6報(bào)文中不再有“選項(xiàng)”字段,而是通過(guò)“下一報(bào)頭”字段配合IPv6擴(kuò)展報(bào)頭來(lái)實(shí)現(xiàn)選項(xiàng)的功能。使用擴(kuò)展頭時(shí),將在IPv6報(bào)文下一報(bào)頭字段表明首個(gè)擴(kuò)展報(bào)頭的類型,再根據(jù)該類型對(duì)擴(kuò)展報(bào)頭進(jìn)行讀取與處理。每個(gè)擴(kuò)展報(bào)頭同樣包含下一報(bào)頭字段,若接下來(lái)有其他擴(kuò)展報(bào)頭,即在該字段中繼續(xù)標(biāo)明接下來(lái)的擴(kuò)展報(bào)頭的類型,從而達(dá)到添加連續(xù)多個(gè)擴(kuò)展報(bào)頭的目的。在最后一個(gè)擴(kuò)展報(bào)頭的下一報(bào)頭字段中,則標(biāo)明該報(bào)文上層協(xié)議的類型,用以讀取上層協(xié)議數(shù)據(jù)。
IPv6 尋址模式
IPv6協(xié)議主要定義了三種尋址模式:?jiǎn)尾ぶ纺J?、組播尋址模式和任播尋址模式。與原來(lái)在IPv4相比,IPv6 引入了一種新的尋址方式,稱為任播尋址。
在這種尋址模式下,多個(gè)接口(主機(jī))被分配了相同的任播 IP 地址。當(dāng)主機(jī)希望與配備任播 IP 地址的主機(jī)通信時(shí),它會(huì)發(fā)送單播消息。在復(fù)雜的路由機(jī)制的幫助下,單播消息被傳遞到在路由成本方面最接近發(fā)送方的主機(jī)。
地址結(jié)構(gòu)
IPv6的地址長(zhǎng)度為128位,采用十六進(jìn)制表示。
例如:3C0B:0000:2667:BC2F:0000:0000:4669:AB4D
全球單播地址:
等同于IPv4中的公網(wǎng)地址,可以在IPv6 Internet上進(jìn)行全局路由和訪問(wèn)。這種地址類型允許路由前綴的聚合,從而限制了全球路由表項(xiàng)的數(shù)量。
鏈路本地地址和唯一本地地址都屬于本地單播地址,在IPv6中,本地單播地址就是指本地網(wǎng)絡(luò)使用的單播地址,也就是IPV4地址中局域網(wǎng)專用地址。每個(gè)接口上至少要有一個(gè)鏈路本地單播地址。
鏈路本地地址(FE80::/10): 僅用于單個(gè)鏈路(鏈路層不能跨VLAN),不能在不同子網(wǎng)中路由。結(jié)點(diǎn)使用鏈路本地地址與同一個(gè)鏈路上的相鄰結(jié)點(diǎn)進(jìn)行通信。例如,在沒(méi)有路由器的單鏈路IPv6網(wǎng)絡(luò)上,主機(jī)使用鏈路本地地址與該鏈路上的其他主機(jī)進(jìn)行通信。
結(jié)構(gòu)如下圖所示:
唯一本地地址: 唯一本地地址是本地全局的,它應(yīng)用于本地通信,但不通過(guò)Internet路由,將其范圍限制為組織的邊界。 地址規(guī)格如下圖所示:
IPv6 地址的范圍:
IPv6 應(yīng)用實(shí)例
示例 1:
印度鐵路的物流和供應(yīng)鏈:印度鐵路是印度最大的物流和供應(yīng)鏈網(wǎng)絡(luò)的例子,因?yàn)樗刻爝\(yùn)送數(shù)以百萬(wàn)計(jì)的貨物和包裹,這些貨物和包裹會(huì)穿越該國(guó)的幾個(gè)邦。
由于IPv4的地址已經(jīng)耗盡,使用 IPv4 構(gòu)建不斷擴(kuò)張的供應(yīng)鏈變得困難。IPv6 的大地址空間和自動(dòng)配置功能有助于跟蹤系統(tǒng)中的貨車和包裹的狀態(tài)。借助此功能,最終用戶還可以跟蹤其商品的狀態(tài)。
物流數(shù)據(jù)庫(kù)可以通過(guò)在線系統(tǒng)進(jìn)行維護(hù),24*7全天候監(jiān)控,從而有助于減少延遲交貨和被盜或丟失貨物的情況。
示例 2:
智能交通系統(tǒng):印度一直在努力管理各個(gè)城市的交通系統(tǒng),大城市的情況更糟。為了克服這個(gè)問(wèn)題,我們需要對(duì)交通系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控和管理,尤其是公共汽車、校車、救護(hù)車和消防隊(duì)等公共服務(wù)車輛。
IPv6提供了ITS實(shí)現(xiàn)所需要的移動(dòng)IPv6、大地址空間和增強(qiáng)的安全模型等特性。救護(hù)車、校車和消防隊(duì)可以配備生物傳感器、無(wú)線電話和攝像機(jī),讓定位和監(jiān)控這些車輛變得容易,對(duì)于最終用戶來(lái)說(shuō),也可以很容易地訪問(wèn)它們并使用它們。
IPv6平臺(tái)通過(guò)在交通高峰期調(diào)測(cè)各種傳感器和監(jiān)控軟件,實(shí)現(xiàn)對(duì)交通狀況的實(shí)時(shí)監(jiān)控和管理,提供實(shí)時(shí)的交通狀況視圖。
結(jié)論
在互聯(lián)網(wǎng)誕生之初,IPv4 被廣泛使用,但由于全球聯(lián)網(wǎng)的設(shè)備越來(lái)越多,地址空間已經(jīng)耗盡。因此,具有無(wú)限地址能力并具有自動(dòng)配置、移動(dòng)性等高級(jí)特性的IPv6技術(shù)應(yīng)運(yùn)而生。
盡管從IPv4過(guò)渡到IPv6并不是很容易,大部分組織也仍在使用IPv4技術(shù),但隨著5G、工業(yè)互聯(lián)網(wǎng)等新技術(shù)的持續(xù)演進(jìn),萬(wàn)物互聯(lián)已成為未來(lái)網(wǎng)絡(luò)發(fā)展的主要方向,IPv6網(wǎng)絡(luò)應(yīng)用的優(yōu)勢(shì)更多體現(xiàn)在工業(yè)互聯(lián)網(wǎng)及智能家居領(lǐng)域,IPv6與工業(yè)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)、人工智能等融合應(yīng)用將成為未來(lái)信息社會(huì)的基石。