張 毅
摘要:文章主要闡述了IPv6地址結(jié)構、地址類型及其管理機制。在IPv6地址管理方面采用層次化路由選擇策略,支持QoS路由協(xié)議,將地址解析通過鄰居發(fā)現(xiàn)協(xié)議來實現(xiàn),新增了無態(tài)地址的自動配置,使得網(wǎng)絡地址的重新編號變得更加簡單快速。
關鍵詞:IPv4;IPv6;IP地址;地址管理
1引言
目前IP網(wǎng)絡的基本協(xié)議是IPv4協(xié)議,IPv4地址是32位,約43億個IP地址。但是全球互聯(lián)網(wǎng)的迅猛發(fā)展仍導致了IP地址資源的緊張,而且下一代語音、數(shù)據(jù)、視頻融合的通信網(wǎng)絡對網(wǎng)絡的安全、質(zhì)量和移動性都提出了更高的要求,而目前IPv4在地址空間、端到端的IP連接、服務質(zhì)量、網(wǎng)絡安全和移動性等方面都暴露出了不足,極大地限制了IP網(wǎng)絡的進一步發(fā)展。為克服IPv4的這些不足,IETF下一代網(wǎng)絡協(xié)議IPng工作組于制定了IPv6。 IPv6所提供的巨大的地址空間以及所具有的諸多優(yōu)勢和功能,使其成為構筑下一代網(wǎng)絡的重要基礎,從提出至今獲得了普遍關注和廣泛認可。
2IPv6地址
2.1 IPv6 地址空間
IPv6的主要改變就是地址長度為128bit,這樣可以有2128個IP地址。128位地址所形成的地址空間大于3.4×1038,可見IPv6徹底解決了 IPv4地址不足的難題[1]。在可預見的很長時期內(nèi),它能夠為所有可以想象出的網(wǎng)絡設備提供一個全球唯一的地址。足以使一個大企業(yè)將其所有的設備如計算機、打印機甚至尋呼機等聯(lián)入Internet而不必擔心IP地址不足。
2.2 IPv6 地址語法
IPv6巨大的地址空間還必須使維護互聯(lián)網(wǎng)的人易于閱讀和操作這些地址。因此采用IPv4所用的點分十進制記法就不方便了。由RFC 1884規(guī)定的標準語法把IPv6的IP地址分為8個地址節(jié),每節(jié)包含16個地址位,以4個十六進制數(shù)書寫,節(jié)與節(jié)之間用冒號分隔,通常這種記法叫冒號十六進制(colon hexadecimal notation,簡寫為colon hex)[1]。例如將前面所給出的點分十進制數(shù)記法的值改為冒號十六進制記法就變?yōu)椋?8E6:8C64:FFFF:FFFF:0000:1180:960A:FFFF。
2.3 IPv6地址類型
IPv6將128bit的地址空間分為兩大部分。第一部分是可變長度的類型前綴,第二部分是地址的其余部分,其長度也是可變的。圖1表示了IPv6地址結(jié)構。
IPv6地址的類型由第一部分的可變長格式類型前綴確定。每一種前綴表示一種類別的地址。IPv6定義了三種類型的地址:單播(Unicast)地址、多播地址(multicast)、任播(anycast) 地址[2]。單播用來標識單一接口的地址。發(fā)送到單播地址的數(shù)據(jù)包被送到由該地址標識的接口。多播地址用來標識一組接口的地址(通常分屬不同節(jié)點)。發(fā)送到多播地址的數(shù)據(jù)包被送到由該地址標識的每個接口。任播(anycast) 地址用來標識一組接口的地址。大多數(shù)情況下,這些接口屬于不同的節(jié)點。發(fā)送到任意播送地址的數(shù)據(jù)包被送到由該地址標識的其中一個接口。在IPv6中沒有廣播地址,其功能由多播地址代替。在IPv6中,除特別指出外,全0或全1的值都可以合法地用在任一字段中。
3IPv6的地址管理機制
如前所述,與IPv4相比,IPv6在地址結(jié)構上具有明顯的不同,這必然影響到相應的地址管理,包括路由選擇、地址解析和地址配置等,這些管理機制主要定義在IPv6鄰居發(fā)現(xiàn)(Neighbor Discovery)[2]協(xié)議和控制消息協(xié)議(ICMPv6)中[2]。
3.1 IPv6的路由選擇
IPv6地址資源的擴大必然增加路由選擇的困難,而路由選擇問題屬于OSI參考模型網(wǎng)絡層的核心問題,基本作用是在網(wǎng)絡中為分組報文選擇一條或一組適當?shù)霓D(zhuǎn)發(fā)路徑。在IPv6的分組報頭中定義了128it源地址和目的地址;一般情況下,路由器就根據(jù)IPv6分組報頭所提供的這2個IP地址和所采用的路由協(xié)議進行路由接受、調(diào)度、查尋、計算和轉(zhuǎn)發(fā)。由于IPv6地址具有聚類性,因此IPv6所采用的路由協(xié)議必須支持這一特性。原IPv4中支持CIDR尋址的路由協(xié)議,包括域內(nèi)路由協(xié)議(如RIP和OSPF等)和域間路由協(xié)議(如IDRP和BGP-4等)等,均要經(jīng)過一定的修改,以支持IPv6的地址機制,如RIPng、OSPFv6或IDRPv2等[2];利用鄰居發(fā)現(xiàn)協(xié)議,以ICMPv6信息性消息報文格式定期或按需發(fā)送和接收路由器請求消息和路由器宣告消息,從而進行路由表的建立、維護和更新,對鄰居路由器進行定位。另外,在IPv6中也支持人工指定路由,在其擴展報頭中有一個路由報頭(routing header),用來指定分組報文到達目的地址前必須經(jīng)過的中間路由器。
3.2 IPv6的地址解析
在IPv4中網(wǎng)絡地址解析主要采用ARP(Address Resolution Protocol)或RARP(Reverse ARP)協(xié)議來完成,進行IP地址和MAC地址之間的映射和轉(zhuǎn)發(fā)。而在IPv6中是通過鄰居發(fā)現(xiàn)來實現(xiàn)地址解析和路由器發(fā)現(xiàn)的功能[2]。鄰居發(fā)現(xiàn)協(xié)議集成了原IPv4中的ARP、RDISCP(Router DISCovery Protocol)和ICMP重定向消息(redirection message)等[2],以ICMPv6分組格式進行消息廣播和確認,包括路由器請求和路由器宣告、鄰居請求、鄰居發(fā)現(xiàn)和鄰居宣告消息以及重定向消息。其中鄰居請求、鄰居確認和鄰居宣告消息就是用來進行地址解析和防止地址沖突的,源節(jié)點發(fā)送鄰居請求消息以獲得相鄰節(jié)點或目標節(jié)點的鏈路層地址,同時發(fā)送節(jié)點可將本地的鏈路層地址傳送給目標節(jié)點;源節(jié)點也可通過廣播鄰居確認消息來完成地址解析操作,該消息發(fā)送到特定的目標多播地址,要求返回目標節(jié)點的鏈路層地址;目標節(jié)點接收到鄰居請求消息或鄰居確認消息后,在其單播鄰居宣告消息中響應鏈路層地址,而源節(jié)點發(fā)送的鄰居宣告消息可作為對鄰居確認消息的響應。網(wǎng)絡節(jié)點也可以發(fā)送非鄰居確認的宣告消息,說明鏈路層的變化。
3.3 IPv6地址的自動配置
在IPv6中網(wǎng)絡地址既可以是手工配置,也可以是自動配置。當采用地址自動配置時又分為無態(tài)和有態(tài)2種類型,有態(tài)地址自動配置可采用DHCPv6 (IPv6的動態(tài)主機配置協(xié)議)協(xié)議[2],DHCPv6仍采用客戶機/服務器模式來構造,在局部網(wǎng)絡范圍內(nèi)對單播IP地址進行動態(tài)的分配和管理,但與原DHCPv4相比進行了多方面的改進,如重新定義了DHCP消息名稱與類型,新增了重新配置類和中繼類消息,刪除了應答消息DHCPACK和DHCPNAK,并統(tǒng)一和簡化了消息的報頭,以支持IPv6地址結(jié)構和管理機制的新特點。而無態(tài)自動配置服務是IPv6新增的,對移動主機來說非常重要。IPv6 協(xié)議可為任意主機生成一個“本地 IP地址”,這個地址內(nèi)嵌一個以太網(wǎng)卡地址,由于MAC地址是全球唯一的,這樣IP地址就不會重復,IPv6的自動配置功能正是基于這種唯一IP地址的概念。
4結(jié)論
綜上所述,IPv6在地址結(jié)構上與IPv4相比完全不同,地址長度增加了3倍,極大地豐富了IP地址空間;采用分層結(jié)構化的單播地址,取消了廣播地址,擴展了多播地址,新增了任播地址;在地址管理方面擴展了鄰居發(fā)現(xiàn)服務,集成了路由器發(fā)現(xiàn)、地址解析和無態(tài)地址自動配置,并對原IPv4的DHCP協(xié)議進行了改進;這種管理機制可有效地提高路由效率,支持QoS業(yè)務和移動主機單播IP地址的快速配置。
參考文獻:
[1]謝稀仁.計算機網(wǎng)絡(第四版)[M].北京:電子工業(yè)出版社,2004(10):176,237-238.
[2]Joseph Davies(美).理解IPv6[M].北京:清華大學出版社,2004(3):8,40-54,150.