摘要:IPv6是下一代互聯(lián)網(wǎng)采用的核心協(xié)議。本文介紹了IPv6技術(shù)發(fā)展背景、新特性、地址空間、地址格式、地址表示方法、地址類型、地址范圍、IPv4到IPv6的過渡技術(shù),以及在國土資源部的具體應(yīng)用。
關(guān)鍵詞:IPv6 路由 無狀態(tài)的地址配置 雙協(xié)議棧技術(shù) 隧道技術(shù)
1 IPv6誕生的發(fā)展背景
Internet協(xié)議的第4版(IPv4)為TCR/IP族和Internet提供了基本的通信機(jī)制。IP技術(shù)已經(jīng)廣泛應(yīng)用了10多年,互聯(lián)網(wǎng)的影響已經(jīng)滲透到社會的各個(gè)方面,同時(shí),互聯(lián)網(wǎng)的發(fā)展也成為國家信息化和現(xiàn)代化建設(shè)的重要部分,并產(chǎn)生了重大的經(jīng)濟(jì)效益和社會效益。隨著Internet的指數(shù)增長,互聯(lián)網(wǎng)的體系結(jié)構(gòu)由NSFNET核心網(wǎng)絡(luò)演變?yōu)橛蒊SP(Internet Service,Provider互聯(lián)網(wǎng)絡(luò)提供商)運(yùn)營的分散的體系結(jié)構(gòu)。當(dāng)前互聯(lián)網(wǎng)面臨的一個(gè)嚴(yán)峻問題是地址消耗嚴(yán)重,即沒有足夠的地址來滿足全球的需要。IPv4的問題逐漸顯露出來,32位的IP地址空間枯竭、路由表急劇膨脹、路由選擇效率不高、對網(wǎng)絡(luò)安全和多媒體應(yīng)用的支持不夠,配置復(fù)雜,對移動性支持不好,很難開展端到端的業(yè)務(wù)等,這些問題已經(jīng)成為制約互聯(lián)網(wǎng)發(fā)展的重要障礙,而IETF開發(fā)的IPv6下一代網(wǎng)絡(luò)徹底、有效地解決了目前IPv4所存在的上述問題。
2 IPv6的新特性
(1)巨大的地址空間
IPv6的源地址和目標(biāo)地址都是128位的(16字節(jié)),幾乎可以不受限制地提供IP地址。128位可以表達(dá)超過3.4×1038種可能的組合,也就是說整個(gè)地球的每平方米面積上可以分配6.65×1023個(gè)IP地址,設(shè)計(jì)這種巨大的地址空間的目的是為了能更好的把路由器域名劃分出層次結(jié)構(gòu),并更好地反映出現(xiàn)代Internet的拓?fù)浣Y(jié)構(gòu),使尋址和路由層次的設(shè)計(jì)更具靈活性,允許使用多級的子網(wǎng)劃分和地址分配,涵蓋范圍從Internet骨干直到機(jī)構(gòu)組織內(nèi)部的各個(gè)子網(wǎng),這些正是基于IPv4的Internet所缺乏的。即便是算上目前已為主機(jī)分配的所有IP地址,IPv6仍然還有充足的地址可供今后使用。由于有絕對更多地可用地址,就不再需要一些節(jié)約地址的技術(shù),比如NAT轉(zhuǎn)換,這樣就可以全面建立端到端的連接了。
(2)新的協(xié)議頭格式
IPv6的協(xié)議頭采用一種新的格式,可最大程度地減少協(xié)議頭開銷。IPv6的報(bào)頭有一個(gè)基本包頭和多個(gè)擴(kuò)展包頭構(gòu)成,基本包頭具有40字節(jié)的固定長度,放置所有路由器都需要處理的信息。由于Internet上的絕大部分包都只是被路由器簡單地轉(zhuǎn)發(fā),因此固定的包頭長度有助于加快路由速度。為實(shí)現(xiàn)這個(gè)目標(biāo),IPv6包頭中字段的數(shù)量從IPv4中的12(包括選項(xiàng))個(gè),降到了8個(gè);中間路由器必須處理的字段從6個(gè)降到了4個(gè),這樣網(wǎng)絡(luò)中的中間路由器在處理這種簡化的IPv6協(xié)議頭時(shí),效率就更高;很少使用的字段,如支持拆分的字段,以及IPv4包頭中的選項(xiàng),被移到了IPv6包頭的擴(kuò)展包頭中。IPv6定義了多種擴(kuò)展包頭,能提供對多種應(yīng)用的強(qiáng)力支持,同時(shí)又為以后支持新的應(yīng)用提供了可能。IPv4頭和IPv6頭不具有互操作性。IPv6從功能上說,并不是IPv4的超集,也就是說它并不向下兼容IPv4。因此每臺主機(jī)或路由器都必須既實(shí)現(xiàn)IPv4,又實(shí)現(xiàn)IPv6協(xié)議,以便識別和處理兩種不同的協(xié)議頭。雖然新IPv6中的地址位數(shù)是IPv4地址位數(shù)的4倍,但是,新IPv6協(xié)議頭的長度僅是IPv4協(xié)議頭的2倍。
(3)有效地、分級的尋址和路由結(jié)構(gòu)
與IPv4地址空間的劃分準(zhǔn)則相似,IPv6地址空間也是基于地址中高位的值來進(jìn)行劃分的。高位和它們的固定值稱為格式前綴(FP)。根據(jù)格式前綴位的多少劃分IPv6地址空間,目前已分配的有為網(wǎng)絡(luò)服務(wù)接入點(diǎn)(NSAP)、可集聚全球單播地址、鏈路本地單播地址、站點(diǎn)本地單播地址和多播地址,當(dāng)前可被IPv6節(jié)點(diǎn)使用的單播地址集合由可集聚全球單播地址、鏈路本地單播地址和站點(diǎn)本地地址組成。IPv6中的全球地址中的字段創(chuàng)建了一個(gè)3層的拓?fù)浣Y(jié)構(gòu)。
IPv6使用全球地址的設(shè)計(jì)意圖是創(chuàng)建一個(gè)有效地、分層次的并且可以概括的路由結(jié)構(gòu),這種路由結(jié)構(gòu)是基于當(dāng)前存在的多級ISP體系而設(shè)計(jì)的。公共拓?fù)涫翘峁┙尤朔⻊?wù)的大大小小的ISP的集合。站點(diǎn)拓?fù)涫且粋(gè)機(jī)構(gòu)站點(diǎn)的內(nèi)部子網(wǎng)的集合。接口標(biāo)識符惟一地標(biāo)識了一個(gè)機(jī)構(gòu)站點(diǎn)的內(nèi)部子網(wǎng)上的一個(gè)接口。在采用IPv6的Internet中,骨干路由器具有更小的路由表,這種路由表對應(yīng)著全球ISP的路由結(jié)構(gòu)。
(4)有狀態(tài)和無狀態(tài)的地址配置
為簡化主機(jī)配置,IPv6既支持有狀態(tài)的地址配置(例如,在有DHCPv6服務(wù)器時(shí)的地址配置),也支持無狀態(tài)的地址配置(例如,在沒有DHCPv6服務(wù)器)。在無狀態(tài)的地址配置中,鏈路上的主機(jī)會自動地為自己配置適合于這條鏈路的IPv6地址(稱為鏈路本地地址),或者適合于IPv4和IPv6共存的IP地址,或者由本地路由器加上了前綴的IP地址。甚至在沒有路由器的情況下,同一鏈路上的所有主機(jī),也可以自動配置它們的鏈路本地地址,這樣不用手工配置也可以進(jìn)行通信。鏈路本地地址在一秒鐘之內(nèi)就能自動配置完成,因此同一鏈路上的節(jié)點(diǎn)的通信幾乎是立即進(jìn)行的。相比之下,一個(gè)使用DHCP的IPv4主機(jī)則要等上整整1分鐘:先放棄DHCP的配置,然后自己配置一個(gè)IPv4地址。
(5)內(nèi)置的安全性
IPv6協(xié)議支持IPSec,這就為網(wǎng)絡(luò)安全性提供了一種基于標(biāo)準(zhǔn)的解決方案,并且提高了不同IPv6實(shí)現(xiàn)方案之間的互操作性。IPSec由兩種不同類型的擴(kuò)展頭和一個(gè)用于處理安全設(shè)置的協(xié)議所組成。驗(yàn)證頭(AH)為整個(gè)IPv6數(shù)據(jù)包(除了在傳輸過程中IPv6頭必須改變的字段)提供了數(shù)據(jù)完整性、數(shù)據(jù)驗(yàn)證和重放保護(hù)。封裝安全報(bào)文(ESP)的頭和尾也為ESP封裝報(bào)文提供了數(shù)據(jù)完整性、數(shù)據(jù)驗(yàn)證、數(shù)據(jù)機(jī)密性和重放保護(hù)。在單播通信中用于處理IPSec的安全設(shè)置的協(xié)議通常是Internet密鑰交換協(xié)議(IKE)。
(6)更好的支持Qos
在多媒體應(yīng)用日益廣泛的今天,因特網(wǎng)提供對多媒體的支持將有重大意義。多媒體的一般特點(diǎn)是帶寬要求高、持續(xù)時(shí)間長。為此引人流的概念簡化因特網(wǎng)對多媒體的處理。流是特定源和目的地間的報(bào)文序列,源要求中間路由器對這些報(bào)文進(jìn)行特殊處理。一般來說,路由器收到流中報(bào)文后,根據(jù)流標(biāo)識符查找路由器中保存的流上下文,對流中的報(bào)文進(jìn)行同樣的處理,加快了報(bào)文處理速度。IPv4補(bǔ)充了對流的處理,例如使用資源預(yù)留協(xié)議(RSVP)預(yù)留資源進(jìn)行因特網(wǎng)上的音頻、視頻傳播。但是IPv4對流的處理有天生的缺陷,因?yàn)樵贗Pv4定義之初就沒有流的概念。IPv4定義的流包括源和目的IP地址、傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的端口號,路由器為了判斷一個(gè)報(bào)文是否屬于一個(gè)流,不但要看IP頭中的IP地址,還要分析TCP頭就UDP頭中的端口號,這不但違背了網(wǎng)絡(luò)分層的原則,而且加大了路由器的處理工作量。IPv6在設(shè)計(jì)之初就考慮了對流的支持。IP頭的格式里,有專門的20bit流標(biāo)簽域。主機(jī)發(fā)送報(bào)文時(shí),如果需要把報(bào)文放到流中傳輸,只需在流標(biāo)簽里填人相應(yīng)的流編號,否則在流標(biāo)簽里填零就作為一般的報(bào)文處理。路由器收到流的第一個(gè)報(bào)文時(shí),以流編號為索引建立處理上下文,流中的后續(xù)報(bào)文都按上下文處理。由于通信流是在IPv6協(xié)議頭中標(biāo)識的,因此,即使數(shù)據(jù)包有效載荷已經(jīng)用IPSec和ESP進(jìn)行了加密,仍然可以實(shí)現(xiàn)對Qos的支持。
(7)用新協(xié)議處理鄰節(jié)點(diǎn)的交互
IPv6中的鄰節(jié)點(diǎn)發(fā)現(xiàn)(Neighbor Discovery)協(xié)議是一系列的IPv6網(wǎng)絡(luò)控制報(bào)文協(xié)議(ICMPv6)報(bào)文,用來管理相鄰節(jié)點(diǎn)(在同一鏈路上的節(jié)點(diǎn))的交互。鄰節(jié)點(diǎn)發(fā)現(xiàn)協(xié)議用更加有效地多播和單播鄰節(jié)點(diǎn)發(fā)現(xiàn)報(bào)文,取代了地址解析協(xié)議(ARP)(基于廣播的)、ICMPv4路由器發(fā)現(xiàn),以及ICMPv4重定向報(bào)文。
(8)可擴(kuò)展性
IPv6可以很方便地實(shí)現(xiàn)功能地?cái)U(kuò)展,這主要通過在IPv6協(xié)議頭之后添加新的擴(kuò)展協(xié)議頭方式來實(shí)現(xiàn)。IPv4協(xié)議頭中的選項(xiàng)最多可以支持40個(gè)字節(jié)的選項(xiàng),而IPv6擴(kuò)展協(xié)議頭的長度只受到IPv6數(shù)據(jù)包長度的限制。
3 IPv6的地址空間
IPv6最明顯的特征是它使用更大的地址。IPv6使用128位地址,IPv4使用32位地址。32位地址空間允許4,294,967,296個(gè)可能的地址。128位地址空間允許340,282,366,920,938,463,463, 374,607,431, 768, 211, 456(3.4×1038)個(gè)可能的地址。
值得注意的是,使IPv6地址在長度上達(dá)到128位并不是說地球的每平方米能有6.5×1023個(gè)地址。更確切地說,將IPv6地址設(shè)計(jì)成較大尺寸,旨在進(jìn)一步細(xì)分成反映現(xiàn)代Internet拓?fù)浣Y(jié)構(gòu)的分層路由域。使用128位地址空間,在設(shè)計(jì)分層尋址和路由時(shí)能提供多個(gè)等級的層次和靈活性,而這一點(diǎn)恰恰是目前基于IPv4的Internet所缺乏的。
4 IPv6的地址格式
IPv6的地址由全局路由前綴、子網(wǎng)ID、接口ID三部分組成。其中全局路由前綴用于指定某一站點(diǎn),子網(wǎng)lD用于指定該站點(diǎn)內(nèi)的一條鏈路,接口ID用于指定鏈路上的某一接口。
作者:吳偉民 來源:國土資源信息化