Friday, November 22, 2019

IPv6與IPv4協議的比較

1、概述

互聯網已經成為現代社會信息基礎設施的重要組成部分,在國民經濟發展和社會進步中起着舉足輕重的作用,同時也成為當今高科技發展的重要支撐環境,互聯網的巨大成功有目共睹。

現在被全球廣泛使用的互聯網協議IPv4是 “互聯網協議第四版”,已經有30年的歷史。從技術上看,儘管IPv4在過去的應用具有輝煌的業績,但是現在看來已經露出很多弊端。

全球範圍內WLAN、2.5G、3G無線移動數據網絡的發展加快了以互聯網為核心的通信模式的形成,由於移動通信用戶的增長要比固定網用戶快得多,特別是各種具有聯網功能的移動終端的迅猛發展,考慮到隨時隨地的、任何形式、直接的個人多媒體通信的需要,現有的IPv4已經遠遠不能滿足網絡市場對地址空間、端到端的IP連接、服務質量、網絡安全和移動性能的要求。因此人們寄希望於新一代的IP協議來解決以上問題。

IPv6協議正是基於這一思想提出的,它是“互聯網協議第六版”的縮寫。在設計IPv6時不僅僅擴充了IPv4的地址空間,而且對原IPv4協議各方面都進行了重新考慮,做了大量改進。除了提出龐大的地址數量外,IPv6與IPv4相比,還有很多的工作正在進行以期得到更高的安全性、更好的可管理性,對QoS和多播技術的支持也更為良好。下面的章節將從幾個主要的方面探討一下IPv6與IPv4的區別。

2、IPv4與IPv6協議的比較

2.1  報頭格式

IPv4報頭如表1所示,包含20bit+選項,13個字段,包括3個指針。

表1 IPv4報頭

IPv6報頭由基本報頭+擴展報頭鏈組成,其中基本報頭如表2所示,包含 40bit,8個字段。

表2 IPv6報頭

IPv4和IPv6報頭格式主要區別如下。

IPv6報頭採用基本報頭+擴展報頭鏈組成的形式,這種設計可以更方便地增添選項以達到改善網絡性能、增強安全性或添加新功能的目的。

2.1.1  固定的IPv6基本報頭

IPv6基本報頭被固定為40bit,使路由器可以加快對數據包的處理速度,提高了轉發效率,從而提高網絡的整體吞吐量,使信息傳輸更加快速。

2.1.2 簡化的IPv6基本報頭

IPv6基本報頭中去掉了IPv4報頭中陰影部分的字段,其中段偏移和選項和填充字段被放到IPv6擴展報頭中進行處理。

去掉報頭校驗(Header Checksum,中間路由器不再進行數據包校驗,去掉此字段的原因有三:一是因為大部分二層鏈路層已經對數據包進行了校驗和糾錯控制,鏈路層的可靠保證使得三層網絡層不必再進行報頭校驗;二是端到端的四層傳輸層協議也有校驗功能以發現錯包;三是報頭校驗需隨着TTL值的變化在每一跳重新進行計算,增加包傳送的時延。

IPv6基本報頭中去掉與IP分片相關的域,使得路由器無需再對數據包進行分片,而分片工作由源終端設備根據最大傳輸單元 MTU路徑發現來進行。這樣IPv6的數據包可以遠遠超過64kbit/s,應用程序可以利用MTU,獲得更快、更可靠的數據傳輸。

2.1.3  IPv6報頭新增流標記宇段

IPv6協議不僅保存了IPv4報頭中的業務類別字段,而且新增了流標記字段,使得業務可以根據不同的數據流進行更細的分類,實現優先級控制和QoS保障,極大地改善了IPv6的服務質量。

2.1.4  IPv6報頭採用128bit地址長度

這是IPv4與IPv6最主要的區別。IPv4採用32bit長度,理論上可以提供大約43億個IP地址,這麼多的IP地址似乎可以滿足網絡連接的需要,但事實上網絡中任意交換機和交換機任意端口均需一個獨立地址,為此網絡缺乏足夠地址滿足各種潛在的用戶。

IPv6採用128bit長度,相對IPv4,增加了296倍的地址空間。按保守方法估算IPv6實際可分配的地址,整個地球的每平方米面積上仍可分配1000多個地址。這樣幾乎可以不受限制地提供IP地址,從而確保了端到端連接的可能性。表3給出IPv4和 IPv6的可用地址空間。

表3 IPv4和IPv6的可用地址空間

2.2 IP地址分配

IPv4地址分配初期採用基於類別的方式,有3類主要方式:A、B和C 以及2種特殊的網絡地址D和E。

*類型A地址:其中前7bit用於網絡標識,後24bit用於主機標識,A類地址可容納128個網絡,任意 A類網絡中可包括16777216個主機。

*類型B地址:其中前14bit用於網絡標識,後16bit用於主機標識,B類地址可容納 16384個網絡,任意B類網絡中可包括16384個主機。

*類型C地址:其中前21bit用於網絡標識,後8bit用於主機標識,C類地址可容納2097152個網絡,任意C類網絡中可包括256主機。

A、B、C類地址用於標識某一網絡節點的接口,稱為單播地址,D類地址不是用於標識單一的接口,而是用於標識多個網絡節點接口的集合。E類地址是預留地址。

A類網絡地址是用於標識世界上最大型的網絡,除了其中少量的預留和可重新分配的地址,A類地址目前已經分配完畢。B類地址也將使用殆盡。

IPv4基於上述類別處理的管理方式限制了實際可使用的地址,例如一個擁有300個用戶的網絡期望採用一個B類地址,然而如果實際分配一個B類地址則用戶擁有了65536個地址域,這遠遠超過用戶需要的地址空間,造成地址的大量浪費。

為解決這種地址分配方式的弱點,IETF通過了無類域間路由選擇(CIDR,Class Inter-Domain Routin)方案。CIDR方案取消了IPv4協議中地址類別分配方式,可以任意設定網絡號和地址號的邊界,即根據網絡規模的需要重新定義地址掩碼,這樣可為用戶提供聚合多個C類的地址。但是CIDR方案的不足之處是必須在知道網絡掩碼後才能確定地址中網絡編號和主機編號。

IPv6協議可根據用戶的需要進行層狀地址分配,這和IPv4採用塊狀地址分配是不同的,後者方式導致某些地址無法使用。在IPv6的分層地址分配方式中,高級網絡管理部門可為下級網絡管理部門劃分地址分配區域,下級網絡管理部門則可為更下層的管理部門進一步劃分地址分配區域。

IPv6將用戶劃分成3 種類型。

(1)使用企業內部網絡和Internet;

(2)目前使用企業內部網絡,將來可能會用到Internet:

(3) 通過家庭、飛機場、旅館以及其他地方的電話線和Internet網絡互聯。

IPv6協議為這些用戶提供了不同地址分配方式。

(1)4 種類型的點到點通信/單播地址;用於標識單一網絡設備接口,單播通信傳播的分組可傳送到地址標識的接口。

(2)改進的多播地址格式;用於標識歸屬於不同節點的設備接口集合,多播通信傳送的分組可發送到地址標識的所有接口,這種地址方式是非常有用的。例如,可將網絡中發送的新消息傳送給所有登記的用戶。特殊的多播地址可限制在特定網絡鏈路或特定的系統組中進行通信。IPv6協議沒有定義廣播地址,但可使用多播地址替代。

(3)新的任意播(Anycast)地址格式;IPV6協議中引入了任意播地址,用於標識屬於不同節點的設備接口集合,任意播傳送的分組可發送到地址標識的某一接口,接收到信息的接口通常是最近距離的網絡節點,這種方式可提高路由選擇的效率,網絡節點可通過地址表示通信過程傳輸路由可經過的中間跳數,即信息傳輸路由可不必由路由器決定。

2.3 路由協議

IP網路由協議主要包括域內路由協議和域間路由協議。

2.3.1  域內路由協議

目前IP網域內路由協議主要採用IS-IS和OSPF兩種。其中OSPF用來交換IPv4路由信息的版本叫IS-IS用來交換IPv6路由信息的版本叫OSPFv3;IS-IS用來交換IPv4路由協議的版本叫IS-IS,用來交換IPv6路由協議的版本叫IS-ISv6。

(1) OSPFv3與OSPFv2的區別

OSPFv3(RFC 2740)與OSPFv2(RFC 2328)相比在原理上並沒有根本的區別,OSPFv3仍採用鏈路狀態LSA數據庫,並保持鄰接路由器之間的同步。但由於從IPv4到IPv6上地址長度的變化,為了支持IPv6地址格式,OSPFv3對OSPFv2協議進行了許多修改。從路由協議標準化進程看,OSPFv3協議已較為成熟,已有定型的 RFC2740協議。OSPFv3 提高了通用性,使網絡可以適應不斷變化的要求。這使複雜的網絡得以簡化,並且它採取了一些增強措施以保證升級方便地進行,OSPFv3還進行了優化並且安全性也得到了提高。

OSPFv3的主要目的是“開發一種獨立於任何具體網絡層的路由協議”。為實現這一目的,C)St’FV3的內部路由器信息被重新進行了設計。與過去的版本不同,()SF·Fv3不向位於數據包和鏈路狀態公告(LSA)起始位置的報頭插入基於IP的數據。 C)St’Fv3利用獨立於網絡協議的信息來執行過去需要IP報頭數據的關鍵任務,如識別發布路由數據的LSA。

除了改變報頭數據外,OSPFv3 還對LSA所發揮的作用進行了重新定義。在OSPFv3中,公告網絡拓撲和IPv6數據的任務被分配到新的和已有的LSA中。

OSPFv3增加了多種可選功能,如多播OSPFv3,以實現通用性。為了達到這一目的,OSPFv3擴展了網絡設備用來公告使能的功能選項數據域。多數OSPFv3路由器間信息中都包含選項域,運行OSPFv3的設備可以支持多達24種可選功能,而以前的版本只能支持8種功能。

為了簡化複雜的容錯網絡的建設,OSPFv3引入了Instance ID和R-bit選項。作為每個OSPFv3包頭的一個組件,Instance ID不再依賴於過去需要的複雜的認證方案或訪問清單,就可以控制共享物理網絡和OSPF域的路由器之間的通信。除了Instance ID外,OSPFv3還可以通過R-bit使服務器這類最終系統具有有效的冗餘性。

OSPFv3與過去的協議的不同之處在於它通過提供非本身固有的安全性來簡化消息的結構。通過利用IPv6包的安全子包頭的集成系統,OSPFv3消息可以被認證和加密,而這在以前是需要增加獨立複雜的協議才能實現的功能。

OSPFv3提供了更強的功能,並且它具有很大的通用性,從而可以很方便地支持新型網絡協議。新的特性簡化了網絡設備和運行,在使用OSPFv3的情況下,升級將不再那麼麻煩。

(2)IS-ISv6與IS—ISv4的區別

另一個被運營商廣泛使用的連接狀態協議是ISISforIPv6。我們知道ISIS是IS標準路由協議(ISO/IEC10589),最初用於支持CLNS網絡的動態協議。由於ISIS的設計非常有利於新功能的擴展,它首先擴展了IPv4路由協議的功能(RFC1195),有人將這種既能為CLNS服務,也能為IP服務的協議叫做Integrated ISIS。

依照類似的方法,ISIS也可以通過簡單的擴展來處理IPv6的路由信息。支持IPv6 的IS-IS協議標準草案已經經過多次討論修改,目前,還未正式形成RFC標準,只有draft-ietf-isis-ipv6.txt標準草案。  Draft-ietf-isis-ipv6.txt草案通過在IS-IS數據包(Hello、LSP和SNP)中引入以下可變長度的數據域(TLV),從而使其支持IPV6路由功能,這一設計只需要對IS-IS路由協議進行少量的修改即可使它支持IPv6 odraft-ietf-isis-ipv6.txt只增加了有關IPv6的TLV,在鄰居數據庫、拓撲數據庫的建立和維護上基本保持了ISO10589 和RFCl195的模式。因此,CLNS IFV4和IPv6具有相同的拓撲結構。也就是說,draft-ietf-isis-ipv6.txt要求IPv4和IPv6的網絡是完全重合的。我們將這種實現稱為ISIS for IPv6單一拓撲模式。

很快人們認識到單一拓撲模式對IPv4和IPv6網絡完全重合的要求限制了 IPv6網絡的部署。顯然IPv6的規模和覆蓋範圍都將大於老一代IPv4網絡,部分網絡將只具有IPv6屬性,例如,部分網絡只有IPv6地址而沒有 IPv4地址。這時ISIS for IPv6單一拓撲模式就可能導致一些IPV4的數據報文錯誤地被轉發到這部分IPv6網絡,造成路由的混亂和麻煩,無法滿足IPv4、IPV6不同擴展範圍的需要。ISIS for IPv6多重拓撲模式(draft-ietf-isis-wg-multi-topology)是針對這一問題的解決方案,它通過使用IPv4 IPv6不同的拓撲去除了兩個網絡必須一致的限制。多重拓撲模式為IPv4和IPV6網絡建立不同的拓撲數據庫,分別進行spf最短路徑優先算法的計算,為IPv4和IPv6提供相互獨立的路由子系統,使IPv6網絡的建設擺脫IPv4的限制,為IPv6網絡的成長打開了發展空間。

2.3.2  域間路由協議

BGP4(RFC1771)是目前被所有IS,運營商廣泛使用的IPv4外部路由協議,BGP4是一個路徑矢量協議,它的基本功能是在自治系統間自動交換無環路的路由信息,通過交換帶有自治區域號(AS)序列屬性的路由可達信息,來構造自治區域的拓撲圖,從而消除路由環路並實施用戶配置的策略。

BGP特點:

*距離矢量協議;

*傳輸協議:TCP,端口號:17;

*支持CIDR(無類別域間選路);

*路由更新只發送增量路由;

*豐富的路由過濾和路由策略。

支持IPV4的BGP經歷了4個版本:RFC 1105(BGPl),RFC 1163(BGP2),RFC 1267(BGP3),和目前廣泛使用的RFC1771(BGP4)。支持IPv6的域間路由協議是BGP4+,在BGP4+上支持IPv6的路由器必須符合RFC 2858和RFC2545。利用BGP4+實現ISP網絡之間的互通。

在IPV4環境中,BGP4是一種廣泛使用的用於自治域之間路由傳播的路徑矢量路由協議。在隨後定義的一系列標準中使得BGP4的功能更加強大,可以用於承載多種協議:MPLS-VPN、 Multicast等協議均是通過BGP4進行工作的。在RFC 2545(Use of BGP4 Multiprotocol Extensions for IPv6 Inter-Domain Routing)中描述了如何使用MP_REACH_NLRI來傳達IPv6的可達信息。

2.4 域名解析

IPv6網絡中的DNS與IPv4的DNS在體系結構上是一致的,都是採用樹型結構的域名空間。雖然IPv4協議與IPv6協議是存在着相當大區別的兩套協議,但這並不意味着需要單獨兩套DNS體系,相反在DNS的體系和域名空間上兩者必須是一致的,IPv4和IPv6共同擁有統一的域名空間。在IPv4到IPv6的過渡階段,域名可以同時對應於多個IPv4和IPv6的地址。隨着IPv6網絡的普及,IPv6地址將逐漸取代IPv4地址。

可聚集全局單播地址是目前主要應用的IPv6地址,因IPv6可聚集全局單播地址是在全局範圍內使用的地址,必須進行層次劃分及地址聚集。下面就以IPv6 DNS系統對這類地址的解析過程來介紹IPv6 DNS系統的解析原理。

IPv6全局單播地址的分配方式如下:頂級地址聚集機構TLA(即大的ISP或地址管理機構)獲得大塊地址,負責給次級地址聚集機構NLA(中小規模ISP)分配地址,NLA給站點級地址聚集機構SLA(子網)和網絡用戶分配地址。IPv6地址的層次性在DNS中通過地址鏈技術可以得到很好的支持。

2.4.1 正向解析

IPv4的地址正向解析的資源記錄是“A”,而IPv6地址的正向解析目前有兩種資源記錄,即“AAAA”和“A6”記錄。其中“AAAA”較早提出,它是對IPv4協議“A” “錄的簡單擴展,由於IP地址由32bit擴展到128bit擴大了4倍,所以資源記錄由“A”擴大成4個“A”。但“AAAA”用來表示域名和IPv6 地址的對應關係,並不支持地址的層次性。

AAAA資源記錄類型用來將一個合法域名解析為IPv6地址,與IPv4所用的A資源記錄類型相兼容。之所以給這新資源記錄類型取名為AAAA,是因為128bit的IPv6地址正好是32bit IPv4地址的4倍。

“A6” 是在RFC 2874基礎上提出,它是把一個IPv6地址與多個“A6”記錄建立聯繫,每個“A6”記錄都只包含了IPv6地址的一部分,結合後拼裝成一個完整的 IPv6地址。“A6”記錄支持一些“AAAA”所不具備的新特性,如地址聚集,地址更改(Renumber)等。

“A6”記錄根據可聚集全局單播地址中的TLA、NLA和SLA項目的分配層次把128bit的IPv6的地址分解成為若干級的地址前綴和地址後綴,構成了一個地址鏈。每個地址前綴和地址後綴都是地址鏈上的一環,一個完整的地址鏈就組成一個IPv6地址。這種思想符合IPv6地址的層次結構,從而支持地址聚集。

同時,用戶在改變ISP時,要隨ISP改變而改變其擁有的IPv6地址。如果手工修改用戶子網中所有在DNS中註冊的地址,是一件非常繁瑣的事情。而在用“A6”記錄表示的地址鏈中,只要改變地址前綴對應的ISP名字即可,可以大大減少DNS中資源記錄的修改。並且在地址分配層次中越靠近底層,所需要改動的越少。

2.4.2 反向解析

IPv6反向解析的記錄和IPv4一樣,是 “PTR”,但地址表示形式有兩種。一種是用“.”分隔的半字節十六進制數字格式(Nibble Format),低位地址在前,高位地址在後,域後綴是“IP6.INT.”。另一種是比特串(Bit–string)格式,以“\[”開頭,十六進制地址(無分隔符,高位在前,低位在後)居中,地址後加“]”,域後綴是“IP6.ARPA.”。半字節十六進制數字格式與“AAAA”對應,是對IPv4 的簡單擴展。二進制串格式與“A6”記錄對應,地址也象“A6”一樣,可以分成多級地址鏈表示,每一級的授權用“DNAME”記錄。和“A6”一樣,二進制串格式也支持地址層次特性。

總之,以地址鏈形式表示的IPv6地址體現了地址的層次性,支持地址聚合和地址更改。但是,由於一次完整的地址解析分成多個步驟進行,需要按照地址的分配層次關係到不同的DNS服務器進行查詢。所有的查詢都成功才能得到完整的解析結果。這勢必會延長解析時間,出錯的機會也增加。因此,需要進一步改進DNS地址鏈功能,提高域名解析的速度才能為用戶提供理想的服務。

2.5 自動配置

IPv6協議中引入了自動配置(“即插即用”)功能,一個主機進行 Internet網絡登記後,位置或配置發生變化時只需進行很少的改動即可進行工作,這樣可大幅度降低網絡管理者的配置和地址映射管理,移動工作者也可方便地在任何地方任何時間接入到Internet網絡。

IPv6協議中自動配置功能無需採用動態主機配置協議(DHCP,Dynamic Host ConfigurationProtoco1)。IPv6協議可為任意主機生成一個“本地IP地址”,這個地址內嵌一個以太網卡地址,由於MAC地址是全球唯一的,這樣IP地址就不會重複,IPv6的自動配置功能正是基於這種唯一IP地址的概念。

2.6 安全

IPv4中存在一系列的安全性漏洞,應用程序只能通過本身的私有性和認證性操作機制完成安全性操作。IPv6協議給出兩個備選項用於解決這個問題:一個是“安全性操作”選項,另一個是“IPv6加密安全頭部”選項。由於不同的用戶或不同應用環境有不同的安全性操作,IPv6協議允許分別或組合使用這兩個備選項,以提供不同優先級別的網絡服務性能。

IPv6協議明確要求實現SEC target=_blank class=qqx_gjz>IPSec,從而從根本上保證了互聯網通信的安全性,有望解決基於IPv4協議的互聯網的安全性。IPSec可以在傳輸模式(Transport Mode)和隧道模式(Tunnel Mode)兩種模式下工作,滿足不同類型的安全性的需求。它主要包括以下幾個組成部分:

*認證報頭AH(Authemication Header):只用於認證。

*安全凈荷封裝ESP(Enleapsulating Security Payload):加密+認證。

* 互聯網密鑰交換IKE(Internet Key Exchange):實現密鑰的管理和交換,如ISAKMP和Oakley。

由於 IPv6數據包頭的擴展包頭中提供IPSEC加密功能,因此主機可以進行端到端的加密,以提供端到端的安全性。對於提供虛擬專網服務的運營商來說,可以提供IPSEC數據加密服務,提高數據的安全性。

3、總結

本文主要從IP報頭格式、 IP地址分配方式、路由協議、域名解析、自動配置和安全等幾個主要方面對IPv4和IPv6進行了比較。

綜上所述,IPv4地址耗盡並不是部署和升級到IPv6的唯一理由,IPv6協議可滿足下一個世紀的高性能、可擴展性的網絡互聯,並可解決IPv4協議中存在的許多問題。新技術支持新應用,新應用推動新技術的標準化和商業化,IPv6的商業應用將迎來明媚的曙光。

本文來自:太平洋電腦網

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.