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