我們知道,手工配置主機IP地址是一件非常繁瑣的事情,而管理分配給主機的靜態(tài)IP地址更是一項艱難的任務(wù),尤其當(dāng)主機IP地址需要經(jīng)常改動的時候。在IPv4中,動態(tài)主機配置協(xié)議(Dynamic Host Configuration Protocol,DHCP)實現(xiàn)了主機IP地址及其相關(guān)配置的自動設(shè)置。一個DHCP服務(wù)器擁有一個IP地址池,主機從DHCP服務(wù)器得到IP地址并獲得一些其他的相關(guān)信息,比如缺省網(wǎng)關(guān)、DNS服務(wù)器等等,從而實現(xiàn)了自動設(shè)置主機IP地址的目的。
IPng的一個重要目標便是支持“即插即用”,也就是說無需任何人工干預(yù),就可以將一個節(jié)點插入IPv6網(wǎng)絡(luò)并在網(wǎng)絡(luò)中啟動。為此,IPv6使用了兩種不同的機制來支持即插即用網(wǎng)絡(luò)連接。第一種機制的示例是啟動協(xié)議(BOOTstrap Protocol,BOOTP),另外一種是動態(tài)主機配置協(xié)議(DHCP),這兩種機制允許IP節(jié)點從特殊的BOOTP服務(wù)器或DHCP服務(wù)器獲取配置信息。但是這些協(xié)議采用所謂的“狀態(tài)自動配置”,即服務(wù)器必須保持每個節(jié)點的狀態(tài)信息,并管理這些保存的信息。
狀態(tài)自動配置的問題在于,用戶必須保持和管理特殊的自動配置服務(wù)器以便管理所有“狀態(tài)”,即所容許的連接及當(dāng)前連接的相關(guān)信息。對于有足夠資源來建立和保持配置服務(wù)器的機構(gòu),該系統(tǒng)可以接受;但是對于沒有這些資源的小型機構(gòu),工作情形較差。
除了狀態(tài)自動配置,IPv6還采用了一種被稱為無狀態(tài)自動配置(Stateless Auto Configuration)的自動配置服務(wù)。RFC1971中描述了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)卡驅(qū)動程序會根據(jù)IEEE的一個公式將48位MAC地址轉(zhuǎn)換為64位MAC地址)。接著主機向該地址發(fā)出一個被稱為鄰居發(fā)現(xiàn)(neighbor discovrey)的請求,以驗證地址的唯一性。如果請求沒有得到響應(yīng),則表明主機自我設(shè)置的鏈接本地單點廣播地址是唯一的。否則,主機將使用一個隨機產(chǎn)生的接口ID組成一個新的鏈接本地單點廣播地址。然后,以該地址為源地址,主機向本地鏈接中所有路由器多點廣播一個被稱為路由器請求(router solicitation)的配置信息請求,路由器以一個包含一個可聚集全局單點廣播地址前綴和其它相關(guān)配置信息的路由器公告響應(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)的信息來完成自動配置。
使用無狀態(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地址。
來源:www.ipv6.in