IPV6 使用兩種不同機制來支持即插即用網絡連接。第一種機制的示例是啟動協(xié)議( BOOTP ),后來又設計了動態(tài)主機配置協(xié)議( DHCP ),允許IP節(jié)點從特殊的BOOTP服務器或DHCP服務器獲取配置信息。但是這些協(xié)議支持所謂的“狀態(tài)自動配置”,即服務器必須保持每個節(jié)點的狀態(tài)信息,并管理這些保存的信息。不論對于為許多個人用戶服務的I S P,還是雇員經常在各部門間流動的大型機構,DHCP都是ipv4網絡配置的重要工具。
狀態(tài)自動配置與無狀態(tài)自動配置
DHCP的問題在于,作為狀態(tài)自動配置協(xié)議,它要求安裝和管理DHCP服務器,并要求接受DHCP服務的每個新節(jié)點都必須在服務器上進行配置。很簡單,DHCP服務器保存著它要提供配置信息的節(jié)點列表,如果節(jié)點不在列表中,該節(jié)點就無法獲得IP地址。DHCP服務器還保持著使用該服務器的節(jié)點的狀態(tài),因為該服務器必須了解每個IP地址使用的時間,以及何時IP地址可以進行重新分配。
狀態(tài)自動配置的問題在于,用戶必須保持和管理特殊的自動配置服務器以便管理所有“狀態(tài)”,即所容許的連接及當前連接的相關信息。對于有足夠資源來建立和保持配置服務器
的機構,該系統(tǒng)可以接受;但是對于沒有這些資源的小型機構,工作情形較差。至少對于大多數(shù)個人或小型機構,無狀態(tài)自動配置是較好或較容易的解決方案。這種機制允許個人節(jié)點能夠確定自己的IP配置,而不必向服務器顯式請求各節(jié)點的信息。
實際上,至少在理論上且進行了某些假定的情況下,無狀態(tài)自動配置規(guī)程相對容易實現(xiàn)。首先,如果使用IEEE EUI-64鏈路層地址(見第6章),用戶就可以確信自己的主機I D是唯一的。因此,節(jié)點要完成的工作是確定自己的鏈路層地址并計算出EUI - 6 4地址,然后確定自己的IPV6網絡地址。向最近的路由器詢問是確定網絡地址的一種方法,這就是IPV6中無狀態(tài)自動配置的實現(xiàn)方式。
最后,根據IPV6中的定義,狀態(tài)自動配置和無狀態(tài)自動配置可以共存并可一起操作。后續(xù)章節(jié)中將涉及正在制訂中的DHCP的更新版本,稱為DHCPV6。兩種類型自動配置方法的合作比單獨使用其中一種更易于實現(xiàn)互聯(lián)網絡連接的即插即用。例如,使用無狀態(tài)自動配置,節(jié)點可以很快確定自己的IP地址,而且一旦獲得此信息,它就可以與DHCP服務器交互以獲得所要求的其他網絡配置值。實際上,DHCPV6很可能要依靠IPV6無狀態(tài)自動配置來簡化某些情況下的狀態(tài)配置。
如果使用無狀態(tài)自動配置要簡單很多,那么為什么還要使用狀態(tài)自動配置呢?此問題的答案取決于構造網絡的機構的要求。無狀態(tài)自動配置對得到IP地址的節(jié)點提供最低程度的監(jiān)視。任一節(jié)點可以連接到鏈路,通過路由器向能實現(xiàn)無狀態(tài)自動配置的節(jié)點發(fā)出的通告來獲知網絡和子網信息,并構造有效的鏈路地址。但是,如果有DHCP服務器的支持,機構可以更緊密地控制網絡可配置的節(jié)點。只有由網絡管理員明確授權的節(jié)點才能通過DHCP服務器來配置。
IPv6無狀態(tài)自動配置
RFC1971(IPv6無狀態(tài)地址自動配置)中描述了IPV6的無狀態(tài)自動配置。該R F C還在更新,大多數(shù)修改是對原規(guī)范的澄清或細化,例如對潛在的路由器否認服務攻擊的處理方法等。無狀態(tài)自動配置過程要求節(jié)點采用如下步驟:首先,進行自動配置的節(jié)點必須確定自己的鏈路本地地址(如IEEE EUI-64 地址);然后,必須驗證該鏈路本地地址在鏈路上的唯一性;最后,節(jié)點必須確定需要配置的信息。該信息可能是節(jié)點的IP地址,或者是其他配置信息,或者兩者皆有。如果需要IP地址,節(jié)點必須確定是使用無狀態(tài)自動配置過程還是使用狀態(tài)自動配置過程來獲得。
無狀態(tài)自動配置要求本地鏈路支持組播,而且網絡接口能夠發(fā)送和接收組播。完成自動配置的節(jié)點首先將其鏈路本地地址(如IEEE EUI-64地址)追加到鏈路本地前綴之后。這樣,節(jié)點就可以開始工作:它可以使用IPV6與同一網絡鏈路上的其他節(jié)點通信,只要同一鏈路沒有其他節(jié)點使用與之相同的EUI-64地址,該節(jié)點的IPV6地址就是可用的。
但是,在使用該地址之前,節(jié)點必須先證實起始地址在本地鏈路是唯一的,即,節(jié)點必須確定同一鏈路上沒有其他節(jié)點使用與之相同的EUI-64地址。大多數(shù)情況下不會出現(xiàn)這個問題,大多數(shù)使用網絡接口卡(如以太網適配器或令牌環(huán)適配器)的節(jié)點都有唯一的4 8位MAC地址;而對于通過點到點鏈路連接的節(jié)點,鏈路上只有一個端節(jié)點。但是,其他網絡媒體可能沒有唯一的MAC地址,某些網絡接口卡也可能錯誤地使用了它們無權使用的MAC地址。此時,節(jié)點必須向它打算使用的鏈路本地地址發(fā)送鄰居請求報文。如果得到響應,試圖自動配置的節(jié)點就得知該地址已為其他節(jié)點所使用,它必須以其他方式來配置。
如果沒有路由器為網絡上的節(jié)點服務,即,如果本地網絡孤立于其他網絡,則節(jié)點必須尋找配置服務器來完成其配置;否則,節(jié)點必須偵聽路由器通告報文。這些報文周期性地發(fā)往所有主機的組播地址(見第6章),以指明諸如網絡地址和子網地址等配置信息。節(jié)點可以等待路由器的通告,也可以通過發(fā)送組播請求給所有路由器的組播地址
來請求路由器發(fā)送通告。一旦收到路由器的響應,節(jié)點就可以使用響應的信息來完成自動配置。
BOOTP和DHCP
1985年,BOOTP首先在RFC951(自舉協(xié)議)中描述,該協(xié)議的最初目的是允許工作站向本地服務器詢問他們自己的IP地址、某服務器主機的地址以及自舉執(zhí)行文件的名稱。對于某些應用,如無盤工作站從網絡服務器上裝入全部軟件的情況,BOOTP的功能足夠了;但是對于很多其他應用,如將個人機連接到ipv4網絡,BOOTP的功能不足。其問題在于除BOOTP提供的信息之外,P C的TCP/IP網絡軟件需要更多的信息,如主機名字、域名、子網掩碼及D N S服務器地址等。
到1993年,描述DHCP的RFC1531( 動態(tài)主機配置協(xié)議)得以發(fā)布。以BOOTP的報文結構為基礎,DHCP增加了一些機制,用于傳送將主機連接到ipv4 所需要的全部IP 配置信息。DHCP的功能與ipv4網絡地址相對不足有關。例如,得到一個C類網絡地址的機構最多有2 5 4 個地址來分配給用戶。對于某些應用,這些地址很充足,例如一個花店中,連網的計算機不太可能超過幾十臺。但是,對于有數(shù)百名雇員的企業(yè),尤其如果連接到網絡的計算機超過250 臺時,就可能產生地址分配的問題。
DHCP增加了在有限時期內向節(jié)點分配地址的能力。這意味著,對于較大型網絡,如果同時連接的節(jié)點數(shù)不超過254,C類網絡是足夠的。ISP很愿意使用DHCP,因為這樣他們所服務的用戶數(shù)不再受限于他們控制的地址數(shù),只要在任一時刻只有一部分用戶連接到該IP,其他用戶就不會浪費額外的未使用的IP地址。
DHCPv6
當然,與處理IP地址的其他協(xié)議相同,DHCP必須升級以支持IPV6地址。DHCPV6正在制訂中。很顯然,它不僅是為支持更長地址而進行的表面更新,由于IPV6中增加了無狀態(tài)自動配置,對于DHCPV6,使用這個新能力將很有好處。
使用無狀態(tài)自動配置,節(jié)點至少自動擁有了本地連接能力,DHCP也不再是提供一些其他基本配置參數(shù)所必需的方法。默認路由器不是配置的一部分,因為通過偵聽路由器通告,任何節(jié)點都可以自行確定自己的默認路由器。
新的DHCP能支持各種新特性,例如:
• 配置動態(tài)更新DNS的能力,可以反映網絡當前狀態(tài)。
• 地址非難,即地址分配即將失效的狀態(tài),該機制可用于對網絡進行動態(tài)重新編號
來源:ZDNet