通過IPv6網(wǎng)絡(luò)地址完成“即插即用”
在前文中我們對IPv6的一些特點做了具體的介紹,大家肯定對這些有一些印象。那么今天我們主要對IPv6網(wǎng)絡(luò)地址的自動配置進行一個說明。也就是它的即插即用功能。這個方便使用的功能是如何實現(xiàn)的呢?這也是通過IPv6網(wǎng)絡(luò)地址來完成的。
IPv6如何實現(xiàn)“即插即用”?
“即插即用”是指無需任何人工干預(yù),就可以將一個節(jié)點插入IPv6網(wǎng)絡(luò)并在網(wǎng)絡(luò)中啟動,IPv6網(wǎng)絡(luò)地址使用了兩種不同的機制來支持即插即用網(wǎng)絡(luò)連接:啟動協(xié)議(BOOTstrap Protocol,BOOTP)和動態(tài)主機配置協(xié)議(DHCP)。這兩種機制允許IP節(jié)點從特殊的BOOTP服務(wù)器或DHCP服務(wù)器獲取配置信息。這些協(xié)議采用“狀態(tài)自動配置”(Stateful Autoconfiguration),即服務(wù)器必須保持每個節(jié)點的狀態(tài)信息,并管理這些保存的信息。
狀態(tài)自動配置的問題在于,用戶必須保持和管理特殊的自動配置服務(wù)器以便管理所有“狀態(tài)”,即所容許的連接及當(dāng)前連接的相關(guān)信息。對于有足夠資源來建立和保持配置服務(wù)器的機構(gòu),該系統(tǒng)可以接受;但是對于沒有這些資源的小型機構(gòu),工作情形較差。
除了狀態(tài)自動配置,IPv6還提供什么自動配置服務(wù)?
除了狀態(tài)自動配置,IPv6網(wǎng)絡(luò)地址還采用了一種被稱為無狀態(tài)自動配置(Stateless Auto Configuration)的自動配置服務(wù)。RFC2462中描述了IPv6的無狀態(tài)自動配置。無狀態(tài)自動配置要求本地鏈路支持組播,而且網(wǎng)絡(luò)接口能夠發(fā)送和接收組播包。無狀態(tài)自動配置過程要求節(jié)點采用如下步驟:
首先,進行自動配置的節(jié)點必須確定自己的鏈路本地地址;
然后,必須驗證該鏈路本地地址在鏈路上的唯一性;
最后,節(jié)點必須確定需要配置的信息。
該信息可能是節(jié)點的IP地址,或者是其他配置信息,或者兩者皆有。如果需要IP地址,節(jié)點必須確定是使用無狀態(tài)自動配置過程還是使用狀態(tài)自動配置過程來獲得。
具體地說,在無狀態(tài)自動配置過程中,主機首先通過將它的網(wǎng)卡MAC地址附加在鏈路本地地址前綴1111111010之后,產(chǎn)生一個鏈路本地單播地址(IEEE已經(jīng)將網(wǎng)卡MAC地址由48位改為了64位。如果主機采用的網(wǎng)卡的MAC地址依然是48位,那么IPv6網(wǎng)絡(luò)地址通過網(wǎng)卡驅(qū)動程序會根據(jù)IEEE的一個公式將48位MAC地址轉(zhuǎn)換為64位MAC地址)。接著主機向該地址發(fā)出一個鄰居發(fā)現(xiàn)請求(Neighbor Discovery Request),以驗證地址的唯一性。
如果請求沒有得到響應(yīng),則表明主機自我配置的鏈路本地單播地址是唯一的。否則,主機將使用一個隨機產(chǎn)生的接口ID 組成一個新的鏈路本地單播地址。然后,以該地址為源地址,主機向本地鏈路中所有路由器多點傳送一個路由器請求(Router Solicitation)來請求配置信息,路由器以一個包含一個可聚集全球單播地址前綴和其它相關(guān)配置信息的路由器宣告(Router Advertisement)作為響應(yīng)。主機用它從路由器得到的全球地址前綴加上自己的接口ID,自動配置全球地址,然后就可以與Internet中的其它主機通信了。
如果沒有路由器為網(wǎng)絡(luò)上的節(jié)點服務(wù),也就是本地網(wǎng)絡(luò)孤立于其他網(wǎng)絡(luò),則節(jié)點必須尋找配置服務(wù)器來完成其配置;否則,節(jié)點必須偵聽路由器宣告報文。這些報文周期性地發(fā)往所有主機的組播地址,以指明諸如網(wǎng)絡(luò)地址和子網(wǎng)地址等配置信息。節(jié)點可以等待路由器宣告,也可以通過發(fā)送組播請求給所有路由器的組播地址來請求路由器發(fā)送宣告。一旦收到路由器的響應(yīng),節(jié)點就可以使用響應(yīng)的信息來完成自動配置。
使用IPv6網(wǎng)絡(luò)地址的無狀態(tài)自動配置,無需手動干預(yù)就能夠改變網(wǎng)絡(luò)中所有主機的IP地址。例如,當(dāng)企業(yè)更換了聯(lián)入Internet的ISP時,將從新ISP處得到一個新的可聚集全球地址前綴。ISP把這個地址前綴從它的路由器上傳送到企業(yè)路由器上。由于企業(yè)路由器將周期性地向本地鏈路中的所有主機多點傳送路由器宣告,因此企業(yè)網(wǎng)絡(luò)中所有主機都將通過路由器宣告收到新的地址前綴,此后,它們就會自動產(chǎn)生新的IP地址并覆蓋舊的IP地址。