摘要:隨著互聯網的發展,IPv4定義的有限地址空間將被耗盡,地址空間的不足必將影響互聯網的進一步發展。該文從理論上闡明了新一代互聯網協議IPv6的地址原理、特點及其實現機制,解決了困擾互聯網發展的“瓶頸”,有利于互聯網的持續和長久發展。
關鍵詞:互聯網協議;IPv6;單播;任意播;組播;地址配置
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2009)15-3916-03
IPv6 Address of the Realization of the Mechanism
HONG Miao
(Liuzhou City Vocational College, Liuzhou545005, China)
Abstract:Along with the Internet development , the IPv4 definition limited address space is exhausted ,the address space insufficiency will certainly to affect the Internet the further development. This article theoretically had expounded the new generation of internet agreement IPv6 address principle, the characteristic and its the realization mechanism, solved has puzzled the Internet to develop “the bottleneck”, was advantageous in Internet continuing with the long—time development..
Key words:Internet protocol ; Internet protocol version 6 ; Unicast ; Anycast ; Multicast ; Address configuration
1 引言
目前的互聯網協議為32位編碼的IPv4,可提供的IP地址大約為40多億個,其中的70%已分配光,全球將面臨嚴重的IP地址枯竭的危機。IPv6的地址是128位編碼,能產生2的128次方個IP地址,地址資源極其豐富。
以IPv6為技術基礎的下一代互聯網,不但可以實現現有IPv4網絡所提供的全部通信業務,還能體現IPv6價值和發展前景的創新業務。它的應用將使真正的數字化生活來臨。人們可以隨時、隨地用任何一種方式高速上網,任何可能的東西都會成為網絡化生活的一部分。
2 IPv6報頭結構
IPv6基本報頭格式比IPv4報頭簡單得多。在IPv4中有10個固定長度的域,2個地址空間和若干個選項;IPv6中只有6個域和2個地址空間。報頭的簡化使IP的某些工作方式發生了變化,因為所有報頭長度統一,所以不再需要報頭長度字段;IPv6中的分段只能由源節點進行,中間路由器不再進行任何分段,減輕了中間路由器的工作負荷;去掉IP頭校驗和并不影響可靠性,主要是因為頭校驗和將由更高層協議(TCP/UDP)負責。雖然IPv6基本報頭是IPv4報頭的2倍,但因其長度固定,故不需要消耗過多的內存容量;又因其要處理的域由IPv4的14個減少到8個,從而大大減少了路由器上的軟件處理內容。
圖1和圖2為IPv4與IPv6報頭格式的比較。
3 IPv6地址的表示形式
用文本方式表示的IPv6地址有四種規范的形式:
1) 優先選用的形式是X:X:X:X:X:X:X:X,其中X是8個16位地址段的十六進制值。例如:
FEDC:BA98:7654:4210: FEDC:BA98:7654:3210
1080:0: 0: 0:8:800:201c:417A
每一組數值前面的0可以省略。如0008寫成8。
2) 在分配某種形式的IPv6地址時,會發生包含長串0位的地址。為了簡化包含0位地址的書寫,可以使用“::”符號簡化多個0位的16位組。“::”符號在一個地址中只能出現一次。該符號也可以用來壓縮地址中前部和尾部的0。舉例如下:
1080:0: 0: 0:8:800:201c:417A單點傳送地址
FF01:0:0:0:0:0:0: 101多點傳送地址
0:0:0:0:0:0:0:1回環地址
0:0:0:0:0:0:0:0不確定地址
可用下面的壓縮形式表示:
1080:: 8:800:200C:417A單點傳送地址
FF01:: 101多點傳送地址
::1回環地址
:: 不確定地址
3) 在涉及IPv4和IPv6節點混合的節點環境時,有時需要采用另一種表達方式,即X:X:X:X:X:X:D. D. D. D,其中X是地址中6個高階16位段的十六進制值,(按照IPv 4標準表示)。例如:下面兩種嵌入IPv4地址的IPv6地址0:0:0:0:0:0:202.201.32.29和0:0:0:0:0:FFFF:202.201.32.30,將其寫成壓縮形式分別為::202.201.32.29和::FFFF. 202.201.32.30
4) 要在一個URL中使用文本IPv6地址,文本地址應該用符號“[“和”]”來封閉。例如文本IPv6地址FEDC:BA98:7654:3210: FEDC:BA98:7654:3210寫作URL示例為:http://[ FEDC:BA98:7654:3210: FEDC:BA98:7654:3210]:80/index.html。
4 IPv6地址類型
所有類型的 IPv6地址都被分配到接口,而不是節點。IPv6地址是單個或一組接口的128位標識符,有三種類型:
4.1 單播地址
單一接口的標識符。發往單播地址的包被送給該地址標識的接口。對于有多個接口的節點,它的任何一個單播地址都可以用作該節點的標識符。單播地址中有下列兩種特殊地址:
4.1.1 不確定地址
單播地址0:0:0:0:0:0:0:0稱為不確定地址。它不能分配給任何節點,不能在IPv6包中用作目的地址,也不能用在IPv6路由頭中。
4.1.2 回環地址
單播地址0:0:0:0:0:0:0:1稱為回環地址。節點用它來向自身發送IPv6包。它不能分配給任何物理接口。
4.2 任意播地址
一組接口(一般屬于不同節點)的標識符。發往任意播地址的包被送給該地址標識的接口之一(路由協議度量距離最近的)。IPv6任意播地址存在下列限制:
1) 任意播地址不能用作源地址,而只能作為目的地址;
2) 任意播地址不能指定給IPv6主機,只能指定給IPv6路由器。
4.3 組播地址
一組接口(一般屬于不同節點)的標識符。發住多播地址的包被送給該地址標識的所有接口。地址開始的11111111標識該地地址為組播地址。
IPv6中沒有廣播地址,它的功能正在被組播地址所代替。
5 IPv6中的地址配置
5.1 狀態自動配置
其工作過程大致如下:一個DHCP服務器擁有一個IP地址池,主機從DHCP服務器申請IP地址并獲得有關的配置信息(如缺省網關、DNS服務器等),由此達到自動設置主機IP地址的目的。
狀態自動配置的問題在于,用戶必須保持和管理特殊的自動配置服務器以便管理所有“狀態”,即所容許的連接及當前連接的相關信息。
5.2 無狀態自動配置
無狀態自動配置過程要求節點采用如下步驟:
1) 進行自動配置的節點必須確定自己的鏈路本地地址;
2) 必須驗證該鏈路本地地址在鏈路上的唯一性;
3) 節點必須確定需要配置的信息。該信息可能是節點的IP地址,或者是其他配置信息,或者兩者皆有。如果需要IP地址,節點必須確定是使用無狀態自動配置過程還是使用狀態自動配置過程來獲得。
具體地說,在無狀態自動配置過程中,主機首先通過將它的網卡MAC地址附加在鏈路本地地址前綴1111111010之后,產生一個鏈路本地單播地址(IEEE已經將網卡MAC地址由48位改為了64位。如果主機采用的網卡的MAC地址依然是48位,那么IPv6網卡驅動程序會根據IEEE的一個公式將48位MAC地址轉換為64位MAC地址)。接著主機向該地址發出一個鄰居發現請求,以驗證地址的唯一性。如果請求沒有得到響應,則表明主機自我配置的鏈路本地單播地址是唯一的。否則,主機將使用一個隨機產生的接口ID組成一個新的鏈路本地單播地址。然后,以該地址為源地址,主機向本地鏈路中所有路由器多點傳送一個路由器請求來請求配置信息,路由器以一個包含一個可聚集全球單播地址前綴和其它相關配置信息的路由器宣告作為響應。主機用它從路由器得到的全球地址前綴加上自己的接口ID,自動配置全球地址,然后就可以與Internet中的其它主機通信了。
如果沒有路由器為網絡上的節點服務,也就是本地網絡孤立于其他網絡,則節點必須尋找配置服務器來完成其配置;否則,節點必須偵聽路由器宣告報文。這些報文周期性地發往所有主機的組播地址,以指明諸如網絡地址和子網地址等配置信息。節點可以等待路由器宣告,也可以通過發送組播請求給所有路由器的組播地址來請求路由器發送宣告。一旦收到路由器的響應,節點就可以使用響應的信息來完成自動配置。
6 IPv6地址分配的原則
IPv6地址的規劃應盡可能和網絡層次相對應,是自頂向下的一種規劃。IPv6地址規劃應該是網絡整體規劃的一部分,即IPv6地址規劃要和網絡層次規劃、路由協議規劃、流量規劃等結合起來考慮。具體的IPv6地址分配將通常在工程實施時統一規劃實施,這里主要描述IP地址分配的原則:
1) 地址規劃采用扁平化的規劃思路,全網拓樸分為兩個層次:骨干網和城域網。
2) 各個骨干網絡或者特殊區域網絡按照業務量需求,在骨干區域分配不同的地址段。
3) 城域網,考慮IETF對IPv6地址空間的/48的分配建議,結合大城域網的地址空間需求,劃分為兩級:城域區域和站點區域,其中城域區域劃分為骨干區域到/48地址之間的地址空間,而站點區域,按照IFTF的建議,使用/48到/64之間的地址空間。
4) IPv6地址分配要盡量給每個區域分配連續的IP地址空間;在每個城域網中,相同的業務和功能盡量分配連續的IP地址空間,有利于路由聚合以及安全控制。
5) IPv6地址的規劃與劃分應該考慮到網絡的發展要求,即要充分考慮未來業務發展,預留相應的地址段。
6) IPv6地址的分配需要有足夠的靈活性,能夠滿足各種用戶接入如小區用戶、專線用戶等的需要。
7) 充分合理利用已申請的地址空間,提高地址的利用效率。
7 結論
相對于IPv4,IPv6有如下一些顯著的優勢:
1) 地址容量大大擴展,由原來的32位擴充到128位,支持更多級別的地址層次、更多的可尋址節點數以及更簡單的地址自動配置,徹底解決IPv4地址不足的問題。
2) 大容量的地址空間能夠真正的實現無狀態地址自動配置,使IPv6終端能夠快速連接到網絡上,無需人工配置,實現了真正的即插即用。
3) 報頭格式大大簡化,一些IPv4報頭字段被刪除或變為了可選項,以減少包處理中例行處理的消耗并限制IPv6報頭消耗的帶寬;從而有效減少路由器或交換機對報頭的處理開銷,這對設計硬件報頭處理的路由器或交換機十分有利。
4) 加強了對擴展報頭和選項部分的支持,這除了讓轉發更為有效外,還對將來網絡加載新的應用提供了充分的支持;IP報頭選項編碼方式的改變可以提高轉發效率,使得對選項長度的限制更寬松,且為將來引入新的選項提供了更大的靈活性。
5) 流標簽的使用讓我們可以為數據包所屬類型提供個性化的網絡服務,并有效保障相關業務的服務質量;標識流的能力使得標識屬于發送方要求特別處理(如非默認的服務質量獲“實時”服務)的特定通信“流”的包成為可能。
6) 認證與私密性:IPv6中指定了支持認證、數據完整性和(可選的)數據機密性的擴展功能。
7) IPv6在移動網絡和實時通信方面有很多改進。特別地,不像IPv4,IPv6具備強大的自動配置能力從而簡化了移動主機和局域網的系統管理。
顯然,IPv6的優勢中最為突出的是其大大地擴大了地址空間,恢復了原來因地址受限而失去的端到端連接功能,為互聯網的普及與深化發展提供了基本條件。當然,IPv6并非十全十美、一勞永逸,不可能解決所有問題。IPv6只能在發展中不斷完善,也不可能在一夜之間發生,過渡需要時間和成本,但從長遠看,IPv6有利于互聯網的持續和長久發展。
參考文獻:
[1] 黃智誠,陳少涌.計算機網絡技術基礎[M].冶金工業出版社.2003.8.
[2] Silvia Hagen.IPv6精髓[M].清華大學出版社.2004.5.
[3] Joseph Davies. Understanding IPv6[M].清華大學出版社.2004.3.
[4] 洛辛.TCP/IP透徹理解[M].電子工業出版社.2003.9.
[5] 吳丹,鐘佳,徐吉安.計算機通信網基礎[M]. 冶金工業出版社.2004.6.
[6] 鄔賀銓.計算機世界[J].2005.4.