計算機網絡資料:IPv6基礎知識1_第1頁
計算機網絡資料:IPv6基礎知識1_第2頁
計算機網絡資料:IPv6基礎知識1_第3頁
計算機網絡資料:IPv6基礎知識1_第4頁
計算機網絡資料:IPv6基礎知識1_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

IPv6基礎知識

第1章IPv6入門

在完成本章的學習之后,讀者應該能夠完成以下任務;

?描述IPv4(因特網協議第4版)及當前Internet的缺陷,并及描述IPv6是如何改善上述缺

陷的;

?描述IPv4地址短缺的問題是如何通過網絡地址轉換(NAT)技術來緩解的,并描述端到端通

信所存在的弊端;

?列舉出IPv6的特性,并分別進行描述;

?列舉出IPv4和IPv6的主要區(qū)別,并分別進行描述;

?介紹部署IPv6的原因及其商業(yè)價值。

1.1IPv4的局限

自RFC791(1981年)發(fā)布以來,當前的IP版本(即第4版或IPv4)再未發(fā)生過什么本質

上的變化。事實證明,IPv4是一個功能強大、部署簡單且可交互的協議。它經受住了網絡規(guī)模由局

部互聯到全局互聯這一重大變遷的考驗。這是對IPv4最初設計方案的莫大肯定。

然而,IPv4最初的設計方案并沒有把下列情況考慮在內。

(1)Internet的爆炸式增長與IPv4地址空間行將耗竭:雖然IPv4的32位地址空間支持多達

4,294,967,296個地址,但是己經分配和正在分配出去的地址占據了大量的地址空間,使得公共

IPv4地址的數量只剩下了區(qū)區(qū)幾億個。結果是,公共IPv4地址己經變得相當有限,于是很多個人

乃至單位只好使用NAT技術來將少量的公共IPv4地址映射為大量的私有IPv4地址。盡管NAT

可以實現對于公共IPv4地址空間的復用,但這項技術違背了Internet協議設計之初的基本原則,

即所有網絡節(jié)點都擁有一個獨立的全局可達的地址,因此,這項技術無法為所有類型的網絡應用實

現真正的端到端連接。此外,各類連接Internet的設備與應用影響力越來越大,這就注定了IPv4

的地址空間終將耗盡。

(2)人們需要用更容易的方法配置網絡

絕大多數當前的IPv4實施方案都需要使用下列兩種方法之一來實現:手動進行配置或使用一

種狀態(tài)化地址配置協議(如DHCP[動態(tài)主機配置協議])來配置。隨著計算機和各類IP設備的

用戶越來越多,人們需要用一種更簡單且更加自動化的方式來配置地址和動態(tài)路由配置協議一一動

態(tài)路由配置協議不能依賴管理DHCP架構來進行配置。

(3)網絡層對于安全性的需求

私有通信是通過注入Internet這種公共媒介來實現的,因此需要通過加密服務來確保數據在

傳輸的過程中不會遭到竊取或篡改。盡管目前有一個現成的標準可以為IPv4數據包提供安全性保

障(稱為IP安全,或者IPSec),但這是一項IPv4可選標準,于是一些其他的安全解決方案便大

行其道,這些解決方案中有很多都是私有的。

(4)人們需要協議能夠更好地支持數據優(yōu)先級區(qū)分和實施傳輸

雖然對數據進行優(yōu)先級區(qū)分和實施傳輸的標準(人們常稱之為QoS[服務質量])存在于

IPv4協議中,但對于實時流量的支持需要依賴于IPv4中一個己成為歷史的8比特位字段一一

TOS(服務類型)字段以及負載的標識符(identification)來實現,這一般還需要借助UDP(用戶

數據報協議)和TCP(傳輸控制協議)協議的端口號。不幸的是,IPv4的TOS字段功能比較有限,

而且隨著時間的演進,這個字段經歷了重定義,并且對于它們的功能擁有許多不同的解釋。當前的

IPv4標準使用TOS字段來定義DSCP(差分服務代碼點),這個值是由發(fā)送數據的節(jié)點進行設定的,

在其后的傳輸過程中,路由器會根據這個值來執(zhí)行區(qū)分優(yōu)先級的傳輸和處理。止匕外,如果IPv4數

據包負載經過了加密,那么TCP或UDP端口的負載標識符就無法再使用了。

為了能夠解決上述問題及其他相關問題,IETF指定了一系列協議和標準,稱為IP版本6

(IPv6)o這個新的F版本(曾被稱為下一代IP[IPng])吸取了很多改善IPv4協議的推薦方法。

它盡可能從設計上降低了對上層和底層協議可能產生的影響,并避免人們隨意為其添加新的特性。

1.2IPv4地址空間受限的后果

由于IPv4的地址相對比較稀缺,人們只得通過部署NAT來復用IPv4的私有地址空間。在一

些配置方案中,在客戶端和Internet之間甚至存在多級NAT結構。盡管NAT的確能夠讓更多的客

戶端連接到Internet中,但是它也會造成流量瓶頸,并對某些類型的通信造成困難。

讓我們考慮一下NAT的運行方式并解釋一下為什么網絡地址轉換是一種擴展性不強的臨時替

代方案,而且這種方案會對端到端的通信造成不良影響。

例如,如果某個小企業(yè)使用了192.16800/24這個私有IPv4地址前綴作為公司的內網地址,而

Internet服務提供商為其分配的公共IPv4地址為19o這個企業(yè)于是在網絡的邊緣部署

了NAT,將所有位于/24的私有地址都映射為19的公有地址。于是,NAT會

動態(tài)選擇TCP或UDP端口來將內部數據流映射為外部數據流。圖1-1所示為這個配置的示例。

如果一臺私有主機分配到了IPv4地址192」68.0.10,這臺主機使用Web瀏覽器來連接位于

的Web服務器,那么這個私有主機就會創(chuàng)建以下這個IPv4數據包。

?目的地址:

?源地址:0

?目的TCP端口:80

?源TCP端口:1025

然后,這個IPv4數據包就會被發(fā)送給NAT,而NAT會將出站數據包的源地址和源TCF端口

號轉換為:

0

Web服務器

ffi1-1NAT示例

圖1-1NAT示例

NAT會將{0TCP1025)與{19TCP5000}之間的映射關系保存在一個

本地轉換表中,以備將來調用。

轉換后的IPv4數據包會在互聯網中進行傳輸,Web服務器會發(fā)送響應消息,這個消息隨后被NAT

接收到。這個接收到的消息包含的信息為:

?目的地址:

?源地址:131.07.47.119

?目的TCP端口:5000

.源TCP端口:80

NAT會查找轉換表,并找出初始數據包發(fā)送過來時所創(chuàng)建的那個條目,然后根據這個條目來轉

換數據包的目的地址和目的TCP端口,并將數據包發(fā)送給主機0。發(fā)送出去的數據包包

含的信息為:

?目的地址:0

?源地址:

?目的TCP端口:1025

?源TCP端口:80

對于NAT的出站數據包,它的源IPv4地址(私有地址)會被映射為ISP分配的地址(公有地址),

而它的源TCP/UDP端口號則會被映射為不同的TCP/UDP端口號。對于NAT的入站數據包,它的

目的IPv4地址(公有地址)會被映射為原先的內部地址(私有地址),而它的目的TCP/UDP端口

號則會被映射回原先的TCP/UDP端口號。

一般的網絡地址轉換依靠如下方法實現。

?地址轉換:轉換IPv4頭部的IPv4地址。

?端口轉換:轉換TCP頭部的TCP端口號或UDP頭部的UDP端口號。地址和端口轉換會降

低NAT的轉發(fā)性能,這是因為NAT必須為每個數據包分別執(zhí)行上述額外的操作。因此,NAT往往

不會被部署在大型環(huán)境中。不過,最新開發(fā)的標準(如運營商級NAT[CGN])承諾可以將NAT

擴展到大型企業(yè)或ISP環(huán)境中。

若要修改IPv4包中除了地址以及端口以外的內容,NAT需要執(zhí)行額外的處理過程,同時還需

要額外的一個程序組件,叫做NAT編輯器(NATeditor)。不過,萬維網(WWW)上傳輸的

HTTP(超文本傳輸協議)流量不需要NAT編輯器,因為所有的HTTP傳輸僅僅需要進行地址和

TCP端口轉換。然而,以下情況都需要使用到NAT編輯器。

?IPv4地址、TCP端口或UDP端口存儲在有效負載的其他地方。例如,FTP(文件傳輸協議)的

FTPPORT命令會把用點分十進制表示的IPv4地址存儲在FTP頭部。因此,如果NAT沒有正確

地為FTP端口命令轉換FTP頭部的IPv4地址并調整數據流中的TCP序列號,那么會發(fā)生連接問

題或數據傳輸問題。

?非TCP或UDP標識的數據流。例如,PPTP(點對點隧道協議)就不會使用TCP或UDP

來傳輸數據。它是使用GRE(通用路由封裝)的頭部,及GRE頭部的CallID字段來標識數據流

的。因此,如果NAT沒有正確地轉換GRE頭部中的CallID字段,也會發(fā)生連接問題。

大多數傳輸都能過穿越NAT技術,因為數據包要么只需進行地址或端口轉換就可以滿足轉換需

求,要么就會有NAT編輯器來正確地修改有效負載。不過,仍然有些傳輸是無法穿越NAT的。比

如,如果需要轉換的數據位于數據包中加密的部分,就無法對其進行轉換。因為,地址或端口轉換

會破壞IPSec保護的數據包的完整性。目前,IPSecNAT-T(NAT-Traversal)技術可以對某幾類

IPSec保護的數據包進行NAT轉換,它是當前的互聯網標準。

除此之外,NAT還存在一個問題,那就是它會對對等體之間的應用造成影響。在對等體之間進行

通信的過程中,每一個對等體扮演的角色既是客戶端,又是服務器,并且都會向對端發(fā)起通信。如

果其中某個對等體在NAT身后,那么它有出現了兩個地址:一個是在NAT身后的地址(即私有地

址):另一個是在NAT前的地址(即公有地址)。

請看下面一個簡單的網絡拓撲,在這個配置中NAT就會導致對等體之間的應用出現問題。圖1-2

所示為一個在邊緣部署了NAT的內聯網。

主機B

圖1-2NAT與對等體到對等體的應用

由于所有主機都運行了對等體間的應用,因此主機A就可以向主機B(直連)與主機C發(fā)起會

話。但是,主機A無法將主機B的公有地址和端口號告知主機C,因為主機A自己也不知道。

同樣,主機C也無法發(fā)起與主機A或主機B的會話,因為沒有現成的轉換條目可以將入站的連

接請求數據包轉換為主機A的私有地址和端口號。即使有轉換表,主機C也不一定能發(fā)起與主機

A與主機B的會話,因為在它看來,這兩臺主機使用的是同一個IPv4地址。

更麻煩的一點是,目前很多Internet對等體都位于NAT的身后。為了解決這個問題,對等體間應

用或多方通信應用(multiple-partyapplication)就必須有能力感知到NAT的存在,或者它們必須

使用某些NAT穿越技術,而這無疑會讓問題變得更加復雜。同樣,一些可以感知NAT的程序都

會使用一臺回聲服務器(echoserver)來自動發(fā)現自己的地址和端口號,但為了在Internet上部署

和維護回聲服務器,獨立軟件供應商(IndependentSoftwareVendor,ISV)就不得不增加開支。

NAT只是延長IPv4公有地址壽命的權宣之計,而不是IPv4公有地址空間問題的最終解決方案。

NAT只有在客戶端設備位于NAT之后,需要向服務器發(fā)起會話,建立客戶端/服務器模式的通信時,

才能很好地發(fā)揮其復用私有地址空間的功效。而大部分服務器設備仍需要明確的公用地址。服務器

也可以置于NAT之后,但是這樣的話,就必須為NAT手動配置一個靜態(tài)的轉換條目表,以便將入

站數據包轉換給服務器的內部地址和端口。由于在對等體之間的通信中,每個點既是客戶端又是服

務端,因此,被NAT分隔在兩邊的對等體就未必能夠正確地進行傳輸,因此這些應用必須具備可

感知NAT的能力。

1.3IPv6的特性

下面對IPv6協議的特性進行了歸納:

?全新的數據包頭部格式;

?廣大的地址空間;

?無狀態(tài)和狀態(tài)化的地址配置;

?對于IPSec頭部的支持;

?對于按照優(yōu)先級傳輸的支持更加完善;

?全新的鄰居節(jié)點交互協議;

?擴展性更強。

1.3.1全新的數據包頭部格式

IPv6頭部格式經過了全新的設計,其目的是提高處理頭部信息的速度。為了實現這目的,

一些不重要的字段和擴展字段都被放到了IPv6頭部之后的擴展頭部中。由于IPv6頭部信息、得

到了簡化,因此中間路由器就能夠更高效地處理這些信息了。

IPv4和IPv6頭部不能同時使用。IPv6不是兼容了IPv4的超集。因此,主機和路由器必須采用一

個IPv4和IPv6通用的實施方法才能同時識別和處理這兩類數據包頭部。新的IPv6的基本頭部只

有IPv4的兩倍大,卻提供了4倍于IPv4地址的位數。

1.3.2廣大的地址空間

IPv6的源地址和目標地址的長度為128位(16字節(jié))。雖然128位的地址已經能夠表示出超過3.4

X1038種組合,但IPv6巨大的地址空間仍然被設計為可以進行多層子網劃分與地址分配,以滿足

從Internet主干網到某個公司子網的不同需求。

即使不包括目前己分配給主機的那部分地址,IPv6仍然有大量地址可供將來使用。而有了如此廣

大的可用地址空間,NAT這類地址轉換技術就再無用武之地了。

1.3.3無狀態(tài)和狀態(tài)化的地址配置

為了簡化配置,IPv6同時支持狀態(tài)化化地址配置(如存在IPv6的DHCP[即DHCPv6]服務器

的情況)和無狀態(tài)地址配置(如沒有DHCPv6的情況)。在無狀態(tài)地址配置中,鏈路上的主機可以

使用鏈路的IPv6地址(稱為本地鏈路地址)、IPv6過渡地址以及用本地路由器發(fā)布的前綴生成的地

址,來自動配置自己的地址。

無狀態(tài)和狀態(tài)化的地址配置可以同時使用。即使在沒有路由器的情況下,同一鏈路上的主機仍然

可以使用本地鏈路地址來自動配置自己的地址,并在沒有人工設置的情況下進行通信。本地鏈路各

地址能在數秒內完成配置,并立即和鏈路上相鄰節(jié)點進行通信。相比之下,一些用DHCP的IPv4

主機則必須等上幾分鐘的時間才能完成DHCP的配置和自己的IPv4地址配置。

1.3.4對于IPSec頭部的支持

完整的IPv6協議必須支持IPSec頭部。這就為網絡保護方面的需求提供了標準化的解決方案,

也為不同IPv6協議程序之間的互操作提供了便利。IPSec包含兩類擴展頭部和一個協商安全參數

的協議。認證頭部(AuthenticationHeader,AH)的作用是負責確保數據的完整性,并對數據進行

認證,同時保護(除了IPv6頭部中必然會在傳輸中改變的那些擴展字段之外的)整個IPv6包。封

裝安全負載(EncapsulatingSecurityPayload,ESP)頭部和尾部則負責保障數據的完整性和機密性,

對數據進行認證,同時保護ESP封裝的負載。用來協商單播通信的IPSec安全設定值的協議往往

是IKE(Internet密鑰交換)協議。

然而,處理IPSec頭部無法從本質上確保IPv6更加安全。IPv6數據包可以無需IPSec的保護;

反之,IPSec也不是部署IPv6所必需使用的協議。止匕外,IPv6標準不需要使用某種程序來支持某

些特定的加密方法、哈希方法或協商協議(如IKE)o

1.3.5對于按照優(yōu)先級傳輸的支持更加完善

IPv6頭部通過新的字段定義了如何處理和識別數據流。數據流會通過一個“通信類別(Traffic

Class)”字段進行排序,這有點像在IPv4中指定DSCP。IPv6頭部中的“流標簽(FlowLabel)”

字段使路由能夠識別并對那些屬于某個流的數據包(源和目的間的一系列數據包)進行特殊處理。由

于這些流量是通過IPv6頭部中的信息進行標識的,因此即使包負載通過IPSec和ESP進行了加密,

也能實現有序發(fā)送。

1.3.6全新的鄰居節(jié)點交互協議

IPv6中的鄰居節(jié)點發(fā)現協議是一系列用于管理鄰居節(jié)點(相同鏈路上的節(jié)點)間交互的IPv6

Internet控制消息協議(InternetControlMessageProtocolforIPv6,ICMPv6)消息。鄰居節(jié)點發(fā)現協

議使用的是擁有高效的組播①和單播鄰居節(jié)點發(fā)現消息,這個協議取代了地址解析協議CARP)

(基于組播)、ICMPv4路由發(fā)現和ICMPv4重定向消息、,是這些協議的擴展和延伸。

1.3.7可擴展

只要在IPv6頭部后面添加擴展頭部,就可以輕松地對IPv6進行擴展。這不像IPv4頭部中的可

選字段那樣只支持40字節(jié),IPv6擴展頭部的大小僅受限于IPv6數據包自身的大小。

1.4IPv4和IPv6的對比

表1-1羅列顯示了IPv4和IPv6間的一些主要差異。

表i/iPv4與IPv6間的差異

IPv4IPv6

源地址和1目的地址長度均為32位(4字節(jié))源地址和目的地址長度均為128位(16字節(jié))。

對IPSec頭部的支持為可選對IPSec頭部的支持為必需。

當前的IPv4頭部中,沒有為路由器對數據包按照優(yōu)IPv6頭部為路由器對數據包按照優(yōu)先級發(fā)送提供了

先級發(fā)送提供標識標識,即流標識字段。

主機和路由器都要對數據包進行分片,因而會降低路僅主機會對數據包進行分片

由器的性能

對于鏈路層的數據包大小沒有要求,并且必須將數據鏈路層必須支持1280字節(jié)的數據包,且能重組1500

包重組為576字節(jié)字節(jié)的包。

頭部中包含校驗和頭部中沒有校驗和。

頭部包含可選項所有可選項都被轉移到了IPv6擴展頭郁。

ARP使用組播ARP請求幀(ARPRequestframe)來ARP請求幀被組播的鄰居節(jié)點請求消息所取代。

將IPv4地址解析為鏈路層地址

使用Internet組管理協議(InternetGroupIGMP被組播偵聽發(fā)現(MLD)信息所取代。

ManagementProtocol,IGMP)來管理本地子網成員

使用ICMP路由發(fā)現(RouterDiscovery)消息來判斷ICMPv4路由發(fā)現被ICMPv6路由請求和路由通告

最佳默認網關的IPv4地址,且為可選功能(ICMPv6RouterSolicitationandRouter

Advertisement)消息所取代,且為必備功能。更多

內容請參閱第6章

IPv6沒有廣播地址的概念。它使用的是鏈路本地范圍所有

用廣播地址將流覆發(fā)送到子網的所有W點

行點組播地址。更多內容請參閱第3章

不需要手動配置,也不需要IPv6的DHCP來進行配置。更

必須手動配置或通過IPv4的DHCP進行配置

多見容請參閱第8章

使用域名系統(DomainNameSystem.DNS)中的卜:機地址使用DNS中的AAAA記錄來將主機名映射為IPv6地址。

(A)資源記錄來將主機名映射為IPv4地址更多內容請參閱第9章

使用在INADDR-ARPADNS域中的指針資源記錄來將IPv4使用IP6-ARPADNS域中的指針資源記錄來將IPv6地址映

地址映射為上機名射為主機名°更多內容請參閱第9章

1.5IPv6的術語

以下所列網絡要素和概念的基本術語可以為后續(xù)的章節(jié)打下基礎。圖1-3所示為一個IPv6

網絡。

IPv6常見的術語和概念定義如下:

?節(jié)點:一切運行IPv6應用的設備,包括路由器和主機。

?路由器:能夠將不是明確發(fā)給自己的IPv6數據包轉發(fā)出去的節(jié)點。在IPv6網絡中,路由器也

應通告自己的狀態(tài)和主機的配置信息。

?主機:無法將不是發(fā)給自己的IPv6數據包轉發(fā)出去的節(jié)點(非路由器的節(jié)點)。主機一般是IPv6

流量的源或目的,主機會悄悄丟棄掉那些不是發(fā)給自己的流量。

?上層協議:使用IPv6作為傳輸協議的協議。比如網絡層協議(如ICMPv6)和傳輸層協議(如

TCP與UDP)。但應用層協議如FTP與DNS則不在此列,因為它們是借助TCP和UDP進行傳

輸的。

?鏈路:由路由器分隔開的,使用相同的64位IPv6地址前綴的網絡接口的集合?!版溌贰钡牧硪?/p>

重含義指的是子網和網段。許多鏈接層技術已經按照IPv6進行定義,包括一些典型的LAN技術

(如以太網和IEEE802.11無線網)和廣域網(WAN)技術(如點對點協議[PPP]和幀中繼)。

另外,IPv6數據包能夠通過將IPv6數據包封裝在IPv4或IPv6頭部的手段,作為IPv4或IPv6網絡

在邏輯鏈路上進行傳輸。

?網絡:指兩個或兩個以上通過路由器連接的子網。網絡的另一重含義指互聯網(Internet)。

?鄰居:指與一鏈路相連的節(jié)點。由于IPv6擁有鄰居節(jié)點發(fā)現功能,因此鄰居節(jié)點的概念在IPv6

網絡中格外重要。因為IPv6鄰居節(jié)點發(fā)現功能可以解析出鄰居的鏈路層地址,同時能發(fā)現并監(jiān)視

鄰居節(jié)點的可達性。

?接口:表示與物理或邏輯鏈路相連的附件。物理接口的例子是網絡適配器。邏輯接口的例子是

“隧道”接口,它的作用是把IPv6數據包封裝在IPv4頭部中并通過“隧道”用IPv4網絡進行發(fā)送。

?地址:指在IPv6層指定給接口或接口集的,能夠充當IPv6數據包的源或目的的標識符。

?數據包:在IPv6層,包含了IPv6頭部和負載的協議數據單元(ProtocolDataUnit,PDU)。

鏈路MTU:鏈路所能傳輸的最大傳輸單元(MaximumTransmissionUnit,MTU),即最大的IPv6

包的字節(jié)數。由于最大幀的大小包含了鏈路層介質的頭部和尾部字節(jié)數,因此鏈路MTU不等于鏈

路的最大幀的大小。鏈路MTU值等于鏈路層技術的最大負載。例如,使用以太網H封裝的以太

網,其最大以太網幀負載是1500字節(jié)。所以,鏈路MTU是1500字節(jié)。對于多鏈路層技術的鏈路

(如橋接鏈路),鏈路MTU是鏈路上的所有鏈路層技術的最小鏈路MTUo

?路徑MTU:在主機不對數據包進行分片的前提下,可以通過IPv6網絡的某條路徑在源和目的

間傳輸的最大IPv6包。路徑MTU往往等于路徑中所有鏈路的最小鏈路MTU。

圖1-4所示為支持IPv6的組織網絡及其與IPv4和IPv6Internet的關系。圖中所示站點為一個自

主操作的、基于IP的、連接到IPv6互聯網的網絡。組織網絡的尋址以及路由規(guī)則由該站點的網絡

設計師和管理員決定。一個組織可以有多個站點。連接到IPv6網絡的方式可以是以下兩種類型中

的任意一種。

?直連:用廣域網鏈路(如幀中繼或T載波)連接到IPv6Internet,并連到支持IPv6的

ISP(見圖1-4)。

,隧道:用IPv6-over-IPv4隧道連接到IPv61ntemet,另一端則連接到一臺IPv6隧道路由器。

圖1-4一個支持IPv6的網絡與IPv4和IPv6Internet

1.6部署IPv6

盡管IPv6協議提供了許多技術進步和創(chuàng)新,但對它的應用仍然需要來自商業(yè)角度的考驗,并由

終端用戶組織和ISP的IT職員進行部署。在網絡架構中部署支持本地IPv6的環(huán)境需要規(guī)劃并設計

好(它與IPv4的)并存性和遷移策略,以及軟硬件的安裝和維護方式。綜合考慮IT員工、軟硬件

資源、遷移所需時間等因素,特別是要考慮到其他更顯而易見的或者在短期內更有利可圖的新興技

術,這些對于評估是否在本地部署支持IPv6的網絡意義重大。

還有一點必須加以考慮,那就是Internet這項技術,從一個用于連接教育機構和美國政府部門的

近乎私有的網絡發(fā)展到如今,成為了一個不可或缺的全局通信媒介、一個提升商業(yè)組織與個人的效

率與產量的不可少的因素、一個全局經濟動力的重要組成部分。它必須持續(xù)發(fā)展。

為了繼續(xù)發(fā)展Internet和私有內部網,IPv4必將被取代。IPv4越早被取代,取而代之的協議就能

越早發(fā)揮出它們的優(yōu)勢。在下一節(jié)中,我們將闡述部署IPv6的關鍵技術及其商業(yè)利益。

1.6.1IPv6能解決地址耗盡問題

隨著Internet爆炸性的普及,許多通過Internet從事的商業(yè)活動應運而生,而這些商業(yè)活動又需

要不斷添加新的設備。而IPv4能夠為新設備提供的公有地址數量有限,并且還在不斷減少。因此,

IPv4己無力繼續(xù)支撐未來10年內計劃生產的網絡設備數量。盡管這些設備可以設定內部地址,但

地址和端口轉換會增加那些充當服務器、監(jiān)聽設備或執(zhí)行對等體功能設備的復雜性。而IPv6能夠

提供足夠支撐21世紀使用的地址空間,因此它可以解決IPv4的公有地址枯竭的問題。

過渡到IPv6具有巨大的商業(yè)利益,手機、PDA、機動車、各類設備,甚至每個人,都能分配到

多個全局可達的地址。由是,新增的網絡設備及它們所運行的軟件都能正常工作,既不存在在NAT

之后運行的限制,也不存在由此衍生出來的復雜結構和額外的經濟開銷。

1.6.2IPv6能解決地址空間不連續(xù)的問題

在IPv4中,針對家庭和企業(yè)網絡,有兩種不同的尋址規(guī)則。在家庭網絡中,Internet網關設備

(InternetGatewayDevice,IGD)會分配到一個公用IPv4地址,然后它為家用網絡中的所有主機

分配內部地址。企業(yè)可能有多個公有IPv4地址或一個公有地址域,在企業(yè)內部網分配的地址則可

以是公有地址、內部地址或兼而有之。

然而,公有IPv4地址和私有IPv4地址空間是不連續(xù)的:也就是說,在網絡層,沒有對稱的可達

性。只有當數據包既能向任意地址發(fā)送,又能從任意地址接收時,這個環(huán)境才具有對稱可達性。而

在IPv4中,沒有一個尋址規(guī)則能同時應用于這兩類網絡以達到無縫連接。不連續(xù)網絡需要借助中

間設備進行連接,如NAT或代理服務器。在IPv6中,家用網絡和企業(yè)網絡都可以分配到全局性地

址前綴,它們之間都能實現無縫連接并受到安全規(guī)則(如防火墻、認證技術)的保護。

1.6.3IPv6能解決Internet地址分配問題

Internet起初只是為了滿足美國教育機構和政府部門連接需求的一項發(fā)明而已。因此,在Internet

的早期,美國那些相連的站點根本不需要考慮地址匯總或地址需求量就能分配到IPv4地址前綴。

于是,歷史上通過這種方式分配地址的結果是,美國這一個國家擁有了過于龐大的公有IPv4地址

數量。

在IPv6中,公用地址前綴被分配到區(qū)域Internet注冊機構,然后它再按正常需求為其他ISP和

組織分配地址前綴。這種新的地址分配方式可以保證地址前綴能按照區(qū)域連接需求進行全局性的分

配,因而可以消除因歷史原因造成的分配不均。這使得Internet能夠成為真正的全局資源,而不是

“美國的Internet于是,全球所有組織都可以從中獲取到商業(yè)利益一即它們能獲得到充足的IPv6

地址空間,而不必像現在這樣為了從ISP或其他機構獲得IPv4公用地址空間前綴而花錢。

1.6.4IPv6能恢復端對端通信

對于那些依賴于監(jiān)聽技術的應用和那些基于對等體連接的應用來說,IPv4NAT存在一個技術性

的障礙,即通信對等體需要發(fā)現并通告自己的IPv4地址和端口。解決這個問題的臨時手段是在

Internet上部署回聲服務器(echoserver)或匯聚服務器(rendezvousserver),以提供公有地址或

端口的配置信息。

在IPv6中,由于人們己經無需再為節(jié)約公用地址空間而使用NAT,因此對應用程序和網關的開

發(fā)者來說,映射地址和端口所帶來的問題也隨之消失。更重要的是,數據包中的地址不會在傳輸時

發(fā)生改變,這使得Internet上主機間的端對端通信得以恢復。想象一下人們對點對點電話、視頻和

其他實時協作技術的迫切需要,以及下一波聯網設備有多少種點對點設備(如移動電話),我們就

可以發(fā)現恢復端到端的通信意義有多么巨大。

由于IPv6可以恢復全局尋址和端到端的連通性,因此基于adhoc連接的應用和基于對等體連接

的應用也不再存在任何障礙。止匕外,人們也無需再在Internet上部署回聲服務器。這給軟件開發(fā)商

帶來的商業(yè)利益是,基于對等體的應用程序開發(fā)起來更加容易了,這些程序可以共享信息、音樂

和媒體,或在沒有NAT轉換的障礙下進行協作。全局尋址和端到端連接還有一個好處,那就是用

戶可以遠程訪問家用網絡上的計算機,而無需再使用Internet上的中間設備進行遠程訪問。

1.6.5IPv6使用了限域地址和地址選擇

不同于IPv4地址,IPv6地址存在一個“作用域”,或者說是一個限定的網絡區(qū)域,在其內部保持

唯一性和相關性。例如,IPv6有一個相當于IPv4中公有地址的全局地址,以及一個唯一的類似于

IPv4私有地址的本地地址。一般的IPv4路由器不會區(qū)分公有地址和私有地址,它會把一個私有地

址尋址的數量包發(fā)送到Internet。而IPv6路由能區(qū)分IPv6地址的作用域,并且絕不會將作用域不正

確的數量包發(fā)送給接口。

很多種IPv6地址擁有不同的作用域。因此,當DNS域名查詢返回了多個IPv6地址時,發(fā)送方

必須能區(qū)分它們的類別,并在發(fā)起通信時選用匹配的作用域中最合適的地址對(源地址和目標地址)。

例如,對己分配了全局(公有)地址和本地鏈路地址的源和目的設備,發(fā)送方的IPv6主機絕不會

把全局目的用在本地鏈路上。IPv6發(fā)送方主機包含地址選擇邏輯,它可以判斷出在通信時應該選

用哪對地址。而且,地址選擇規(guī)則是可以進行配置的。于是,一個組織中就可以配置多個編址機制。

而無論編址機制有多少種,發(fā)送方主機總能選擇最佳的一組地址。相對來說,IPv4節(jié)點無法區(qū)分

地址類型,會把來自內部地址的流量發(fā)送給公有地址。

作用域地址的好處是,通過選擇作用域盡可能小的地址,用戶的流量就不會游離到地址的作用域

之外,因此用戶的網絡流量也就可以暴露給更少的惡意主機。標準化、為ISV內建地址選擇算法的

好處在于,人們無需開發(fā)和測試自己的地址選擇算法,而且能夠直接依靠劃分好的地址列表,因而

也可以降低軟件開發(fā)的成本。

1.6.6IPv6的發(fā)送效率更高

IPv6是IPv4的簡化高效版。除了按照優(yōu)先級發(fā)送的流量之外,發(fā)送IPv6包時處理的字段和需要

作出的決定都相對更少。與IPv4不同的是,IPv6頭部的大小是固定的(40字節(jié)),因此路由器就

能更快地處理IPv6數據包。另外,IPv6全局地址的地址結構是分級、可匯總的,因此,在組織機

構和Internet路由器的路由表中需要分析的路由也比較少。于是,流量就能夠以更高的數據傳輸率

進行發(fā)送,這使得未來使用多類型數量的高寬帶程序能夠更高效地運行。

1.6.7IPv6有安全性和移動性支持

IPv6是專為支持安全性(IPSec,需要支持AH和ESP頭部)和移動性(移動IPv6,可選)而設

計的。也許有人認為IPv4就具有這些屬性,但是它們在IPv4中是作為擴展屬性存在的,并不是IPv4

設計之處就考量在內的,因此也就存在一些結構和連接上的局限性。設計者在IPv6中有意加入安

全性和移動性標準使得安全性和移動性成為了IPv6中所定義的標準,因而它們的限制更少,在處

理當前和未來Internet用戶的通信需求時也更加可靠,同時具備更強大的可擴展性。

支持IPSec并使用全局唯一的地址空間,這樣做的商業(yè)利益在于,IPv6在端到端傳輸的數據包穿

越整個IPv6Internet時都可以為數據提供安全性保護。這與IPv4Internet中的IPSec不同,在IPv4環(huán)

境中,如果端點位于NAT之后,就必須進行修改,很多功能也會收到限制。而IPv6Internet中的IPSec

則可以在任意兩個端點之間發(fā)揮全部功能。

1.7習題

1.當前Internet的IPv4存在什么問題?

2.IPv6是如何解決這些問題的?

3.IPv6如何能夠對按照優(yōu)先級發(fā)送的方式提供更好的支持?

4.說出至少三種IPv6比IPv4更高效的情況。

5.說明為什么NAT妨礙了對等體間應用程序的正常運行?

6.當今部署IPv6的主要技術利益是什么?

7.當今部署IPv6的主要商業(yè)利益是什么?

第2章IPv6地址

本章主要內容

?描述IPv6地址空間,以及選擇128佳地址長度的原因:

?描述IPv6地址語法,包括零壓縮,壓縮和前綴:

?列舉并描述不同類型單播IPv6地址的功能:

?描述組播IPv6地址的格式:

?描述任播IPv6地址的功能:

,描述IPv6的接口標識符是如何決定的:

?描述如何在單播IPv6地址前綴的子網標識符部分進行位層面的子網劃分:

?列舉并比較IPv4地址和IPv6地址之間不同的編址概念。

3.1IPv6地址空間

IPv6最顯著的特點就是它的地址要大得多。IPv6地址的長度是128位,相當于32位的IPv4地

址長度的4倍。32位地址空間包含了232(即4294967296)個可用的地址。而128位地址空間則

包含了2口8(即340282366920938463463374607431768211456,34x1()38即340個1000的12次募)

個可用的地址。

在20世紀70年代末設計出IPv4地址空間時,人們還想不到這個地址空間會被耗盡。然而,定

義地址分配的管理流程并沒有預計到近來Internet上的主機會出現爆炸式的增長。因此,IPv4地址

空間終有一天會被耗盡,到了1992年,IPv4需要一種替代方案已是不爭的事實。

對IPv6而言,更加無法想象IPv6地址空間將會被耗盡。這個數字意味著,128位地址可以為地

球表面每平米的區(qū)域提供6.65x1023個地址。

IPv6采用128位的地址長度并不是為了讓地球表面每平方米都擁有6.65x1023個地址。實際上,

IPv6地址相對更大的空間是為了能將地址空間分隔成分層的單播路由域,而這種分層的單播路由域

可以反映現在Internet的拓撲結構。使用128位地址可以為設計多層單播編址及路由轉發(fā)提供更高

級別的層次性和靈活性,而這些正是基于IPv4的Internet所欠缺的。

巨大的IPv6地址空間很容易使人不知所措。但很快我們就會發(fā)現,這個分配給IPv6主機接口的

128位超大IPv6地址,其實是由64位的子網前綴和64位的接口標識符組成(即在子網空間和接口

空間之間平均分配)的。64位的子網前綴預留了足夠大的編址空間,這樣能滿足各個機構與Internet

服務提供商之間的編址需求,以及各個機構與Internet骨干網之間的編址需要。而64位的接口標

識符則可以滿足當前以及未來鏈路層MAC(MediaAccessControl,MAC)地址的需求。

3.2IPv6地址語法

IPv4地址使用點分十進制格式來表示。32位的地址每8位分成一段。這8位長的段換算成等值

的十進制數并用點隔開。對于IPv6地址,128位的地址每16位分成一段,每個16位的段換算成4

位的十六進制數并用冒號隔開。這種表示方法稱為冒號十六進制表示法。

如下是二進制形式的IPv6地址:

0010000000000001000011011011100000000000000000000010111100111011

0000001010101010000000001111111111111110001010001001110001011010

這個128位的地址被分隔為16位長的段:

0010000000000001000011011011100000000000000000000010111100111011

0000001010101010000000001111111111111110001010001001110001011010

每個16位長的段換算為十六進制的數值并用冒號分隔。結果如下:

2001:0DBB:0000:2F3B:02AA:00FF:FE28:9C5A

通過壓縮每個16位塊的前導零,可以更進一步簡化IPv6地址的表示方法。但是,每個塊必須至

少有一個數字。壓縮前導零之后,結果如下:

2001:DBB:0:2F3B:2AA:FF:FE28:9CSA

IPv6的數制選擇

IPv6使用的是十六進制(基數為16的數制系統),而不是十進制(基數為10的數制系統),這

是因為相對于十進制和二進制之間的轉換,十六進制和二進制之間的轉換更加方便。一個十六進制

數表示四位二進制數字。

在IPv4中,為了迎合人們習慣,IPv4地址使用十進制數,32位的地址用點號分隔為4個十進制

數。在IPv6中,如果也采取點分十進制表示法,那么就會出現有16個用點號分隔的十進制數。由

于IPv6的地址過大,因此這種表示方法也就不再迎合人們的習慣。由于終端系統的IPv6地址配置

一般是自動完成的,而終端用戶基本上不使用IPv6地址,而是用域名。因此,IPv6地址采用了更

適合計算機的表達方式,這種表示方式也更適合IPv6網絡的管理員,因為這些人能夠理解十六進

制數和二進制數的含義及相互間的關系。

3.2.1零位壓縮

某些IPv6地址有連續(xù)的幾串零。為了進一步精簡IPv6地址,當冒號十六進制格式中出現

連續(xù)幾段數值為0的16位段時,這些段可壓縮表示為::,即雙冒號。例如,鏈路本地地址

FE80:0:0:0:2AA:FF:FE9A:4CA2就可以精簡為FE80::2AA:FF:FE9A:4CA2。組播地址

FF02:0:0:0:0:0:0:2也可精簡為FF02::2。

::包含了多少段或位

直接數出壓縮后的地址包含幾段,并用8減去這個數,就可得到:所包含的段數。再用16乘以::

包含的段數,就可得到::所包含的位數。例如,地址FF02::2中有兩個段(“FF02”段和“2”段)。

因此:包含的段數為6,即8-2=6o而:包含的位數為96,即6xl6=96o一個地址只能進行一次壓

縮零位,否則就無法算出每個:包含的0段數或0位數。

3.2.2IPv6前綴

前綴是地址的一部分,這部分的值或者是固定的,或者是路由或子網的標識。IPv6子網和路由標

識的前綴的表示規(guī)則,與IPv4的無類域間路由CCIDR)表示法相同。IPv6前綴用“地址/前綴

長度”這一表示方法。

例如,2001:DB8:2A0:2F3B::/64表示一個子網前綴,2001:DB8:3F::/48表示一個匯總的路由前綴。

64位前綴用于表示連接了一些節(jié)點的子網。所有子網都有一個64位的前綴。任何少于64位的前綴

要么表示一條匯總的路由條目,要么是一段IPv6地址空間的地址范圍匯總。

IPv4中通常用一個等于前綴長度的點分十進制數作為子網掩碼。IPv6不使用子網掩碼,它僅支持

前綴長度表示法。

IPv6前綴只和路由或地址范圍相關,而和單個的單播地址無關。在IPv4中,通常使用帶前綴長

度的IPv4地址。例如,/24C(192,168.29.7,子網掩碼為255.2例.255.0)表示子網掩

碼長度為24的IPv4地址o因為IPv4地址已經不再是分類地址,所以不能按照分類子

網掩碼的方式,根據IPv4前8位的值判斷其子網歸屬。因此必須根據前綴長度來區(qū)分哪些位標識

的是子網,哪些位標識子網中的主機。由于IPv4中標識子網的位數是可變的,所以需要前綴長度

來區(qū)分子網前綴和主機IDo

不過,在常用的IPv6環(huán)境中,沒有可變長度子網前綴的表示法。在目前定義的單播IPv6地址

的單個IPv6子網層,用于區(qū)分子網的位數固定是64位,而用于區(qū)分子網中主機的位數也是64。

所以,盡管RFC4291支持在單播地址的表示中包含前綴長度,但實際上,單播IPv6地址的前綴

長度總是64位,不用表示出來。例如,IPv6單播地址2001:DB8::2AC4:2AA:FF:FE9A:8204不用表

示為200LDB8::2AC4:2AA:FF:FE9A:82D4/64o因為IPv6地址的子網前綴和接口標識符長度是五五

開的,也就是說2001:DB8::2AC4:2AA:FF:FE9A:82D4這個單播IPv6地址已經表明它自己的子網

前綴就是200l:DB8:0:0:2AC4::/64o

3.3IPv6地址的類型

IPv6地址分為三種類型。

?單播:單播地址標識的是此類型地址范圍內的單個接口。若在該區(qū)域內IPv6地址是唯一的,那

個這個IPv6網絡區(qū)域就稱為一個地址范圍。只要單播路由拓撲無誤,去往某個單播地址的數據包

就可以被發(fā)送到單一的接口。為了可以在這種環(huán)境中使用負載均衡系統,RFC4291支持在多個接

口上使用相同的地址,而這些接口在IPv6環(huán)境中會作為同一個接口出現。

?組播:組播地址標識的是相同或不同主機上的零到多個接口。只要組播路由拓撲無誤,去往某

個組播地址的數據包就可以被發(fā)送到該地址所標識的所有接口。

?任播:任播地址標識的是多個接日。只要任播路由拓撲無誤,去往某個任播地址的數據包就可

以被發(fā)送到所有配置為該地址的接口中,距離源最近的那個接口。最近的接口是指按路由距離計算

最近的接口。組播地址用于一對多的通信,因此組播數據流會被發(fā)送給多個接口。而任播地址則用

于一對多中之一的通信,因此它的數據流只會發(fā)送到單一接口。

無論在什么情況下,IPv6地址標識的都是接口,而不是節(jié)點。分配給節(jié)點任何一個接口的單播地

址都可以用來標識這個節(jié)點。

RFC4291沒有定義廣播地址。IPv4中所有類型的廣播地址在IPv6中都是用組播地址來實現的。

例如,IPv4的子網和有限廣播地址被替代為鏈路本地范圍所有節(jié)點組播地址FF02::1

3.4單播IPv6地址

以下地址類型為單播IPv6地址。

,全球單播地址。

?鏈路本地地址。

?站點本地地址。

?特殊地址。

過渡地址。

3.4.1全球單播地址

IPv6全球地址相當于IPv4的公有地址。這類地址在IPv6Internet上全球可路由,且全球可達。

根據設計,全球單播地址可以通過由高端路由設備執(zhí)行聚合或匯總。目前基于IPv4的Internet是單

級路由和多級路由的混合體,IPv6的Internet與此不同,它的設計基礎就是支持高效、多級的編址

方式和路由轉發(fā)。全球地址的范圍是整個IPv6Interneto

RFC4291將全球地址定義為不能作為非特定、loopback、鏈路本地單播或組播地址的地址。后面

幾種類型的地址我們會在本章的稍后進行介紹。圖3-1所示為RFC3587所定義的全球單播地址的

結構,這一地址結構正應用于當前的IPv6Internet中。

圖3-1RFC3587定義的全球單播地址結構

以下列表描述了全球單播地址中的字段。

?固定設置為001的部分:最高3位設置為001。

?全球路由前綴:為特定的組織站點指定的全球路由前綴。前3位固定值和后45位指定值共同組

成了一個分配給某組織機構獨立站點的48位站點前綴。站點指連接到IPv6Internet中的一個獨立運

作的IP網絡。站點的網絡技術人員和管理員負責為這個組織設置編址規(guī)則和路由策略。設置完成

后,IPv6Internet中的路由器就可以將匹配48位前綴的IPv6流量發(fā)送給該組織站點的路由器了。

?子網ID:子網ID是組織站點用來標識站點內的子網的比特位。該字段長度為16位。組織站點

可以使用這16位來創(chuàng)建出65536個子網,或者創(chuàng)建出多級編址方案以及高效路由轉發(fā)架構。通過

這16位設置子網可以帶來更大的靈活性,因此分配給組織的全球單播前綴就可以等同于一個IPv4A

類的公有地址前綴(假設

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論