摘 要:隨著Internet技術(shù)的發(fā)展,IPv6協(xié)議將取代IPv4協(xié)議成為下一代互聯(lián)網(wǎng)協(xié)議,IPv6協(xié)議具有許多新的特性與功能,如提供更大的地址空間、支持網(wǎng)絡(luò)節(jié)點(diǎn)的無(wú)狀態(tài)地址自動(dòng)配置等,因而提高了因特網(wǎng)的擴(kuò)展性、可管理性。典型的IPv6主機(jī)單播地址由全局路由前綴、子網(wǎng)ID和64位接口ID組成,接口ID由主機(jī)自動(dòng)生成,全局路由前綴和子網(wǎng)ID可以通過(guò)路由通告消息得到。介紹了在Windows XP環(huán)境下由48位MAC地址生成接口ID的轉(zhuǎn)換算法,借助網(wǎng)絡(luò)上捕獲的數(shù)據(jù)報(bào)分析了主機(jī)獲得全局路由前綴的過(guò)程。
關(guān)鍵詞:無(wú)狀態(tài)地址自動(dòng)配置;接口ID;路由器請(qǐng)求;路由器宣告
IPv6協(xié)議是下一代互聯(lián)網(wǎng)的核心協(xié)議,他解決了IPv4協(xié)議所暴露的諸多缺陷,如地址稀缺、路由表龐大、對(duì)移動(dòng)設(shè)備支持不足等。IPv6協(xié)議的一個(gè)突出特點(diǎn)是支持網(wǎng)絡(luò)節(jié)點(diǎn)的地址自動(dòng) 配置,這極大地簡(jiǎn)化了網(wǎng)絡(luò)管理者的工作。
1IPv6地址格式及地址配置方式
一個(gè)典型的IPv6主機(jī)單播地址由3部分組成:全局路由前綴、子網(wǎng)ID和接口ID(64位)。全局 路由前綴用來(lái)識(shí)別分配給一個(gè)站點(diǎn)的一個(gè)地址范圍。子網(wǎng)ID也稱為子網(wǎng)前綴,一個(gè)子網(wǎng)ID與 一個(gè)鏈接相關(guān)聯(lián),以識(shí)別站點(diǎn)中某個(gè)鏈接。接口ID用來(lái)識(shí)別鏈接上的某個(gè)接口,在該鏈接上是惟一的。
IPv6地址配置可以分為手動(dòng)地址配置和自動(dòng)地址配置2種方式。自動(dòng)地址配置方式又可以分為無(wú)狀態(tài)地址自動(dòng)配置和有狀態(tài)地址自動(dòng)配置2種。在無(wú)狀態(tài)地址自動(dòng)配置方式下,網(wǎng)絡(luò)接口接收路由器宣告的全局地址前綴,再結(jié)合接口ID得到一個(gè)可聚集全局單播地址。在有狀態(tài)地址自動(dòng)配置的方式下,主要采用動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP),需要配備專門的DHCP服務(wù)器,網(wǎng)絡(luò)接口通過(guò)客戶機(jī)/服務(wù)器模式從DHCP服務(wù)器處得到地址配置信息。
2接口ID的生成
在無(wú)狀態(tài)地址自動(dòng)配置方式下,接口ID通常可以通過(guò)EUI64轉(zhuǎn)換算法得到。接口ID由48位MAC地址轉(zhuǎn)換得到。EUI64是IEEE定義的一種基于64位的擴(kuò)展惟一標(biāo)示符。他是IEEE指定的公共24位制造商標(biāo)示和制造商為產(chǎn)品指定的40位值的組合。在IPv6地址中,接口ID的長(zhǎng)度為64位,他由48位的以太網(wǎng)MAC地址轉(zhuǎn)換得到,下面介紹EUI64轉(zhuǎn)換算法。
48位以太網(wǎng)MAC地址的格式固定為:
其中,c位表示廠商ID,m位表示廠商編號(hào)ID,g位表示是單個(gè)主機(jī)還是某個(gè)組。轉(zhuǎn)換算法需將g位前的一位求反,并在c位和m位(MAC地址的第3和第4個(gè)字節(jié))之間插入2個(gè)字節(jié)FFFE,則接口ID為:
Windows XP下主機(jī)地址自動(dòng)配置示例如圖1所示。
(1) Linklayer address是MAC地址(0007951a0669)。
(2) preferred linklocal通過(guò)自動(dòng)配置得到主機(jī)鏈路本地地址。其中,fe80是鏈路本地地址的固定前綴,207:95ff:fe1a:669為從MAC地址轉(zhuǎn)換得到的接口ID。
3全局路由前綴的獲得
網(wǎng)絡(luò)節(jié)點(diǎn)為獲得他的全局路由前綴,向與他相連的路由器發(fā)出路由器請(qǐng)求RS(Router Solic itation)消息,網(wǎng)絡(luò)上捕獲的路由器請(qǐng)求消息如圖2所示。
該RS消息的類型字段值133,表明這是一個(gè)路由器請(qǐng)求消息,消息的源地址是網(wǎng)絡(luò)節(jié)點(diǎn)的本 地鏈路地址,由于這是一個(gè)路由器請(qǐng)求消息,目的地址是FF02::2(所有路由器多播地址)。
路由器收到網(wǎng)絡(luò)節(jié)點(diǎn)的RS消息后,向該節(jié)點(diǎn)回送路由器宣告RA(Router Advertisement)消 息。RA消息如圖3所示。RA消息的源地址是路由器的IPv6地址,目的地址是網(wǎng)絡(luò)節(jié)點(diǎn)的本地 鏈路地址,消息的類型字段值134,表明這是一個(gè)路由通告消息,消息的選項(xiàng)字段給出全局 路由前綴1::。網(wǎng)絡(luò)節(jié)點(diǎn)在獲得全局路由前綴后,與接口ID結(jié)合形成他的全局IPv6地址。至 此,網(wǎng)絡(luò)節(jié)點(diǎn)的無(wú)狀態(tài)地址自動(dòng)配置過(guò)程結(jié)束。
4結(jié)語(yǔ)
使用EUI 64轉(zhuǎn)換算法得到的接口ID是隨機(jī)器硬件固定的,也是全局惟一的。該算法實(shí)現(xiàn)簡(jiǎn)單,是一種重要的接口ID自動(dòng)生成算法,目前Windows,Linux操作系統(tǒng)在對(duì)主機(jī)生成接口ID時(shí),均使用EUI 64轉(zhuǎn)換算法。作為對(duì)該算法的一種改進(jìn),RFC3041又引入了一種隨機(jī)地址機(jī)制,他包含了用一組隨機(jī)數(shù)字代替由MAC地址轉(zhuǎn)換的接口ID。該地址具有一定的生存周期,隨著生存周期的結(jié)束,該地址會(huì)自動(dòng)更換,較好地解決了節(jié)點(diǎn)的Internet訪問(wèn)活動(dòng)被跟蹤的問(wèn)題。
參考文獻(xiàn)
[1]周 遜.IPv6下一代互聯(lián)網(wǎng)的核心[M].北京:電子工業(yè)出版社,2003.
[2]RFC2460 Internet Protocol, Version 6 (IPv6)Specification[S].
[3]IP Consortium Test Suite, Internet Protocol Version 6Technical Document,2002-01,University of New Hampshire, InterPerablity Lab.
[4]IP version 6 group (IPv6)http://www.ietf.org/html.charters/ipv6arter.html.2003-9-25.
[5]RFC2463 Internet Control Message Protocol(ICMPv6) for the IPv6 Specification.
[6]Silvia Hagen.IPv6精髓[M].技橋,譯.北京:清華大學(xué)出版社,2004.
作者:宋曉宇,邱澤陽(yáng)(蘭州交通大學(xué)甘肅 蘭州730070) 來(lái)源:現(xiàn)代電子技術(shù)