12.03 漫話:是時候說說到底什麼是 IPv4 和 IPv6 了

漫話:是時候說說到底什麼是 IPv4 和 IPv6 了

作者 | 漫話編程

本文經授權轉載自漫話編程(ID:mhcoding)

漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了

2019年11月25日,負責英國、歐洲、中東和部分中亞地區互聯網資源分配的歐洲網絡協調中心(RIPE NCC)宣佈,其最後的 IPv4 地址空間儲備池在 11 月 25 日 UTC + 1 15:35 完全耗盡,所有 43 億個 IPv4 地址已分配完畢。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

其實,早在20世紀80年代後期開始,全球已經開始意識到這個問題將會發生。IPv6的研發及佈署,主要就是為了解決這個問題。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了

什麼是IPv4?

IPv4是Internet Protocol version 4的縮寫,中文翻譯為互聯網通信協議(TCP/IP協議)第四版,通常簡稱為網際協議版本4。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

IPv4使用32位(4字節)地址,因此地址空間中只有4,294,967,296(2^32) 個地址。

IPv4地址可被寫作任何表示一個32位整數值的形式,但為了方便人類閱讀和分析,它通常被寫作點分十進制的形式,即四個字節被分開用十進制寫出,中間用點分隔。

所以,通常IPv4地址的地址格式為nnn.nnn.nnn.nnn,如:

<code>192.168.1.255
/<code>

因為在點分十進制的表達形式下,共有4個字節的IP地址被分位四段,每一段就有一個字節,而一個字節有8位,那麼,8位能表示的數字範圍是 0 - 255。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

所以,一個IPv4的地址,格式為nnn.nnn.nnn.nnn,其中 0<=nnn<=255,而每個 n 都是十進制數。可省略前導零。

IPv4報文格式

我們知道,在TCP/IP 五層協議模型中,一次網絡請求要先後經過應用層->傳輸層->網絡層->數據鏈路層->物理層。

而在請求過程中,一個請求數據也會從應用層到物理層經過層層包裝,每一層把上一層的數據報文包裝後加上一層頭部信息之後再傳給下一層。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

所以,IPv4作為網絡層協議,在其報文結構中,同樣包含了IP首部和數據部分。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

其中,IPv4的首部長度是可變的,範圍在20-60字節之間。

首部

IPv4報文的首部包含14個字段,其中13個是必須的,1個是可選的。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

上圖是一張IPv4報文的首部格式,可以看到,IPv4首部中包含的內容還是很多的,比如版本號,首部長度,標識符,分片偏移,存活時間,協議等。

由於這部分不是本文的重點,這裡就不對報文頭展開詳細介紹了,讀者可以參照上圖自行學習下。

數據

報文中,除了首部以外,還有一個最重要的部分那就是數據部分,數據字段不是首部的一部分,因此並不被包含在首部檢驗和中。

前面說過,網絡層會把傳輸層的報文封裝成數據,並添加上首部之後傳遞給鏈路層。

所以,IPv4的報文中數據部分就是傳輸層的協議報文內容,如TCP、UDP等。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了

為什麼IPv4會枯竭?

IP地址的全球性管理機構為互聯網號碼分配局(IANA),其下有五個局域網際網絡註冊管理機構(RIR)

在理論上,IPv4最多可以提供2^32 (約42.9億)個IP地址。不過,一些地址是為特殊用途所保留的,如約1800萬個專用網絡和約2.7億個多播地址,同樣減少了可在互聯網上路由的地址數量。

隨著地址不斷被分配給終端用戶,IPv4地址枯竭問題也在隨之產生。

中國是世界上互聯網用戶數量最多的國家,但人均只有0.45個IPv4地址。在IPv4的環境下,我國用戶上網地址需要動態分配,人與地址沒有固定的對應關係,用戶溯源難,帶來互聯網安全和監管隱患。

所以,為了解決這個問題,IPv6誕生了。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了

什麼是IPv6?

IPv6是Internet Protocol version 6的縮寫,中文翻譯為互聯網通信協議(TCP/IP協議)第6版,通常簡稱為網際協議版6。IPv6具有比IPv4大得多的編碼地址空間,用它來取代IPv4主要是為了解決IPv4地址枯竭問題,同時它也在其他方面對於IPv4有許多改進。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

IPv6具有比IPv4大得多的編碼地址空間。這是因為IPv6採用128位的地址,而IPv4使用的是32位。因此新增的地址空間支持2^128 個地址,具體數量為340,282,366,920,938,463,463,374,607,431,768,211,456個(不知道有沒有人能把這個數讀出來?)

有人說IPv6的地址數可能比全世界的沙子還要多,足以解決目前IPv4地址量不足的問題。

IPv6二進位制下為128位長度,以16位為一組,每組以冒號“:”隔開,可以分為8組

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

IPv6文本格式為 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中每個 x 都是十六進制數,表示 4 位。例如:

<code>2001:0db8:86a3:08d3:1319:8a2e:0370:7344
/<code>

IPv6的報文格式

和IPv4一樣,IPv6的報文中同樣包含首部和數據部分。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

和IPv4不同的是,IPv6報文的首部是40個字節的固定長度。

下圖是IPv6報文的首部的結構,IPv6定義了一種新的分組格式,目的是為了最小化路由器處理的消息標頭。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

從圖中可以看出,和IPv4相比,IPv6的頭部內容少了很多。

同樣是網絡層協議,IPv6和IPv4一樣,都封裝了傳輸層的報文內容作為自己的數據。這一點是沒有任何差異的,所以我們可以說,在報文上,IPv6和IPv4的主要區別是報文頭的區別。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了

IPv4 VS IPv6

介紹完了IPv4和IPv6,我們再來整體看下這兩種協議之間的區別。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

地址

  • IPv4長度為 32 位(4 個字節)

    • IPv4 地址的文本格式為 nnn.nnn.nnn.nnn,其中 0<=nnn<=255,而每個 n 都是十進制數。可省略前導零。最大打印字符數為 15 個,不計掩碼;

  • IPv6長度為 128 位(16 個字節)

    • IPv6 地址的文本格式為 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中每個 x 都是十六進制數,表示 4 位。可省略前導零。可在地址的文本格式中使用一次雙冒號(::),用於指定任意數目的 0 位。例如,::ffff:10.120.78.40 表示 IPv4 映射的 IPv6 地址。

地址解析協議

  • IPv4 使用 ARP 來查找與 IPv4 地址相關聯的物理地址(如 MAC 或鏈路地址);

  • IPv6 使用因特網控制報文協議版本 6(ICMPv6)將這些功能嵌入到 IP 自身作為無狀態自動配置和鄰節點發現算法的一部分。因此,不存在類似於 ARP6 之類的東西。

IP 報頭

  • IPv4根據提供的 IP 選項,有 20-60 個字節的可變長度;

  • IPv6的報文頭是 40 個字節的固定長度。沒有 IP 報頭選項;

  • 通常,IPv6 報頭比 IPv4 報頭簡單。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

安全性

  • IPv6預設有IPSec,來提升安全性;

  • 相較之下,IPv4的IPSec則需要額外開啟。

地址類型

  • IPv4 地址分為三種基本類型:單點廣播地址、多點廣播地址和廣播地址;

  • IPv6 地址分為三種基本類型:單點廣播地址、多點廣播地址和任意廣播地址。有關描述,請參閱 IPv6 地址類型。

專用地址和公用地址

  • IPv4除由 IETF RFC 1918 指定為專用的三個地址範圍 10…;

  • (10/8)、172.16.0.0 至 172.31.255.255 (172.16/12) 和 192.168.. (192.168/16) 之外,所有 IPv4 地址都是公用的。專用地址域通常在組織內部使用。專用地址不能通過因特網路由;

  • IPv6 有類似的概念,但還有重要差別。地址是公用或臨時的,先前稱為匿名地址。請參閱 RFC 3041。與 IPv4 專用地址不同,臨時地址可進行全局路由;

  • 動機也不一樣:IPv6 臨時地址要在它開始通信時屏蔽其客戶機的身份(涉及隱私)。臨時地址的生存期有限,且不包含是鏈路(MAC)地址的接口標識。它們通常與公用地址沒有區別。

相比IPv4,IPv6主要有以下幾個方面的優點

  • 1.更大的地址空間。IPv4中規定IP地址長度為32,即有2^32 -1個地址。而IPv6中IP地址的長度為128,即有2^128 -1個地址;

  • 2.更小的路由表。IPv6的地址分配遵循聚類原則,這使得路由器能在路由表中用一條記錄表示一片子網,大大減少了路由器中路由表的長度,提高了路由器轉發數據包的速度;

  • 3.增強的組播支持以及對流的支持。這使得網絡上的多媒體應用有了長足發展的機會,為服務質量控制提供了良好的網絡平臺,加入了對自動配置的支持。這是對DHCP的改進和擴展,使得網絡的管理更加方便和快捷;

  • 4.更高的安全性。在使用ipv6的網絡中用戶可以對網絡層的數據進行加密並對IP報文進行校驗,這極大地增強了網絡安全。

有人做了一個形象的總結,那就是『多快好省』

漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了

IPv4向IPv6的轉換

一方面因為IPv4的枯竭,另一方面也因為IPv6的"多快好省",越來越多的企業開始選擇使用IPv6。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

那麼,想要把IPv4網絡轉換到IPv6網絡,需要做什麼呢?

首先,可以明確的事,IPv6並不是IPv4協議的的升級,而是一個全新的協議,二者之間是無法互相兼容的

為了保障IPv4向IPv6的順利演進,國際互聯網工程任務組(IETF)成立專門工作組進行研究,形成了三類技術方案:雙棧技術、隧道技術、協議轉換技術(NAT-PT)。

雙棧技術

IPv4 和 IPv6 有功能相近的網絡層協議,都是基於相同的硬件平臺,同一個主機同時運行 IPv4 和 IPv6 兩套協議棧,具有 IPv4/IPv6 雙協議棧的結點稱為雙棧節點,這些結點既可以收發 IPv4 報文,也可以收發 IPv6 報文。它們可以使用 IPv4 與 IPv4 結點互通,也可以直接使用 IPv6 與 IPv6 結點互通。雙棧節點同時包含 IPv4 和 IPv6 的網絡層,但傳輸層協議(如 TCP 和 UDP)的使用仍然是單一的。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

 圖源:https://inews.gtimg.com/newsapp_bt/0/10497932033/1000

雙棧技術的優點:

  • 處理效率高、無信息丟失;

  • 互通性好、網絡規劃簡;

  • 充分發揮 IPv6 協議的所有優點,更小的路由表、更高的安全性等;

  • 資源佔用多,運維複雜。

雙棧技術的缺點:

  • 無法實現 IPv4 和 IPv6 互通;

  • 對網絡設備要求較高,內部網絡改造牽扯比較大,週期性相比較較長。

隧道技術

隧道技術指將另外一個協議數據包的報頭直接封裝在原數據包報頭前,從而可以實現在不同協議的網絡上直接進行傳輸,這種機制用來在 IPv4 網絡之上連接 IPv6 的站點,站點可以是一臺主機,也可以是多個主機。隧道技術將 IPv6 的分組封裝到 IPv4 的分組中,或者把 IPv4 的分組封裝到 IPv6 的分組中,封裝後的 IPv4 分組將通過 IPv4 的路由體系傳輸或者 IPv6 的分組進行傳輸。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

 圖源:https://inews.gtimg.com/newsapp_bt/0/10497932035/1000

隧道技術的優點:

  • 無信息丟失;

  • 網絡運維相比較簡單;

  • 容易實現,只要在隧道的入口和出口進行修改。

隧道技術的缺點:

  • 隧道需要進行封裝解封裝,轉發效率低;

  • 無法實現 IPv4 和 IPv6 互通;

  • 無法解決 IPv4 短缺問題;

  • NAT 兼容性不好。

協議轉換技術

協議轉換技(NAT-PT)附帶協議轉換器的網絡地址轉換器。是一種純 IPv6 節點和 IPv4 節點間的互通方式,所有包括地址、協議在內的轉換工作都由網絡設備來完成。NAT-PT 包括靜態和動態兩種,兩者都提供一對一的 IPv6 地址和 IPv4 地址的映射,只不過動態 NAT-PT 需要一個 IPv4 的地址池進行動態的地址轉換。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了

 圖源:https://inews.gtimg.com/newsapp_bt/0/10497932041/1000

NAT-PT 技術的優點:

  • 不需要進行 IPv4、IPv6 節點的升級改造

NAT-PT 技術的缺點:

  • IPv4 節點訪問 IPv6 節點的實現方法比較複雜,網絡設備進行協議轉換、地址轉換的處理開銷較大一般在其他互通方式無法使用的情況下使用

雙棧技術、隧道技術、協議轉換技術在IPv4向IPv6過渡期間互相配合、協同工作,解決了過渡期間的IPv4與IPv6的共存和互通問題,保障了IPv4向IPv6的平滑演進。

有了以上的切換方法、切換原則和技術保障,以及順應互聯網的發展趨勢,國家正積極推動IPv6的部署。

中國互聯網信息中心(CNNIC)的第44次《中國互聯網絡發展狀況統計報告》指出,截止2019年6月,我們國家的IPv6地址數量為50286塊/32,已躍居全球第一位;IPv6活躍用戶數達1.3億,大概佔我國互聯網用戶的15%。

漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了

IPv6對中國的影響

中國比發達國家晚接入互聯網20年,是互聯網行業的後來者,雖然在互聯網產品和互聯網應用上是大國,但我們的操作系統還是國外的,我們在核心技術上仍有差距,想要在IPv4環境下進行技術創新,中國幾乎沒有什麼機會了。

但是在IPv6上,我們跟發達國家起步差不多,我們是有機會的。

在IPv4時代,中國是沒有根服務器的,新增幾乎不可能。但是,由中國下一代互聯網國家工程中心牽頭髮起的“雪人計劃”已在全球完成25臺IPv6根服務器架設,其中在中國境內就部署了其中的4臺,打破了中國過去沒有根服務器的困境。

另外,國際互聯網有八千多個標準,在IPv4時代,中國只提了中文編碼標準。但目前中國就IPv6提出了一百多個標準,可以說IPv6為中國互聯網發展打開了一個新的創新空間。

所以,伴隨著IPv4的枯竭,IPv6的大量投入使用,中國在國際互聯網的地位一定會變得愈加重要!

漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了
漫话:是时候说说到底什么是 IPv4 和 IPv6 了漫话:是时候说说到底什么是 IPv4 和 IPv6 了

https://www.hollischuang.com/archives/1889

https://new.qq.com/rain/a/20191013A081LI https://www.upyun.com/tech/article/411/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20IPv4%20%E5%88%B0%20IPv6%20%E7%9A%84%E8%BF%87%E6%B8%A1%E6%8A%80%E6%9C%AF.html

作者:漫話編程,是一個通過漫畫+音頻的形式講解枯燥的編程知識的公眾號。致力於讓編程變得更有樂趣。

【End】

漫话:是时候说说到底什么是 IPv4 和 IPv6 了


分享到:


相關文章: