IPv6無狀態(tài)地址自動(dòng)配置機(jī)制分析
IPv6作為下一代互聯(lián)網(wǎng)協(xié)議,解決了目前使用的IPv4協(xié)議所存在的諸多不足與缺陷,如地址稀缺、路由表龐大等。其中的一個(gè)突出特點(diǎn)就是無狀態(tài)地址自動(dòng)配置,這很大程度上減輕了網(wǎng)絡(luò)工作者的工作負(fù)擔(dān)。
1.IPv6地址格式及地址配置方式
一個(gè)典型的IPv6主機(jī)單播地址由3部分組成:全局路由前綴、子網(wǎng)ID和接口ID(64位)。全局路由前綴用來識(shí)別分配給一個(gè)站點(diǎn)的一個(gè)地址范圍。子網(wǎng)ID也稱為子網(wǎng)前綴,一個(gè)子網(wǎng)ID與一個(gè)鏈接相關(guān)聯(lián),以識(shí)別站點(diǎn)中某個(gè)鏈接。接口ID用來識(shí)別鏈接上的某個(gè)接口,在該鏈接上是惟一的。
IPv6地址配置可以分為手動(dòng)地址配置和自動(dòng)地址配置2種方式。自動(dòng)地址配置方式又可以分為無狀態(tài)地址自動(dòng)配置和有狀態(tài)地址自動(dòng)配置2種。在IPv6無狀態(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ò)接口通過客戶機(jī)/服務(wù)器模式從DHCP服務(wù)器處得到地址配置信息。
2.接口ID的生成
在IPv6無狀態(tài)地址自動(dòng)配置方式下,接口ID通常可以通過EUI64轉(zhuǎn)換算法得到。接口ID由48位MAC地址轉(zhuǎn)換得到。EUI64是IEEE定義的一種基于64位的擴(kuò)展惟一標(biāo)示符。他是IEEE指定的公共24位制造商標(biāo)示和制造商為產(chǎn)品指定的40位值的組合。在IPv6地址中,接口ID的長度為64位,他由48位的以太網(wǎng)MAC地址轉(zhuǎn)換得到。
3.全局路由前綴的獲得
網(wǎng)絡(luò)節(jié)點(diǎn)為獲得他的全局路由前綴,向與他相連的路由器發(fā)出路由器請求RS(RouterSolicitation)消息。該RS消息的類型字段值133,表明這是一個(gè)路由器請求消息,消息的源地址是網(wǎng)絡(luò)節(jié)點(diǎn)的本地鏈路地址,由于這是一個(gè)路由器請求消息,目的地址是FF02::2(所有路由器多播地址)。
路由器收到網(wǎng)絡(luò)節(jié)點(diǎn)的RS消息后,向該節(jié)點(diǎn)回送路由器宣告RA(RouterAdvertisement)消息。RA消息如圖3所示。RA消息的源地址是路由器的IPv6地址,目的地址是網(wǎng)絡(luò)節(jié)點(diǎn)的本地鏈路地址,消息的類型字段值134,表明這是一個(gè)路由通告消息,消息的選項(xiàng)字段給出全局路由前綴1::。網(wǎng)絡(luò)節(jié)點(diǎn)在獲得全局路由前綴后,與接口ID結(jié)合形成他的全局IPv6地址。至此,IPv6無狀態(tài)地址自動(dòng)配置過程結(jié)束。
4.結(jié)語
使用EUI64轉(zhuǎn)換算法得到的接口ID是隨機(jī)器硬件固定的,也是全局惟一的。該算法實(shí)現(xiàn)簡單,是一種重要的接口ID自動(dòng)生成算法,目前Windows,Linux操作系統(tǒng)在對(duì)主機(jī)生成接口ID時(shí),均使用EUI64轉(zhuǎn)換算法。作為對(duì)該算法的一種改進(jìn),RFC3041又引入了一種隨機(jī)地址機(jī)制,他包含了用一組隨機(jī)數(shù)字代替由MAC地址轉(zhuǎn)換的接口ID。該地址具有一定的生存周期,隨著生存周期的結(jié)束,該地址會(huì)自動(dòng)更換,較好地解決了節(jié)點(diǎn)的Internet訪問活動(dòng)被跟蹤的問題。



















