【摘要】? ? 在IPv4地址資源嚴(yán)重不足的當(dāng)下,IPv6的應(yīng)用越來越受到重視。在部署基于IPv6的網(wǎng)絡(luò)環(huán)境時(shí),IP地址規(guī)劃與分配是整個(gè)網(wǎng)絡(luò)部署的基礎(chǔ)。使用DHCPv6動(dòng)態(tài)主機(jī)分配可以解決IPv6網(wǎng)絡(luò)中客戶端IPv6地址分配問題。以無狀態(tài)的DHCPv6為例,探討DHCPv6的工作機(jī)制、網(wǎng)絡(luò)環(huán)境搭建、網(wǎng)絡(luò)設(shè)備配置與測(cè)試,并運(yùn)用思科PT軟件進(jìn)行測(cè)試與分析,取得了預(yù)期效果。
【關(guān)鍵詞】? ? IPv6? ? DHCPv6? ? 地址規(guī)劃? ? 無狀態(tài)
一、無狀態(tài)DHCPv6工作機(jī)制
在基于IPv6的網(wǎng)絡(luò)應(yīng)用部署中,DHCPv6服務(wù)作為基礎(chǔ)配置,用來實(shí)現(xiàn)IP地址自動(dòng)分配。在DHCPv6的幾種部署方式中,無狀態(tài)DHCPv6應(yīng)用較為典型。[1]
在配置無狀態(tài)DHCPv6時(shí),需要配置路由器通告RA消息中的管理標(biāo)記和選項(xiàng)標(biāo)記,以定義路由器RA消息包含的IPv6參數(shù)選項(xiàng)。具體標(biāo)記設(shè)置為M flag=0,O flag=1,表示應(yīng)用的是無狀態(tài)DHCPv6。如果客戶端同時(shí)希望獲得DNS服務(wù)器地址信息之類的其它配置參數(shù)時(shí),則需要將O標(biāo)記設(shè)置為1。[2]圖1顯示了無狀態(tài)DHCPv6工作過程。
當(dāng)客戶端選擇設(shè)置為DHCPv6動(dòng)態(tài)獲取時(shí),客戶端向路由器以組播方式發(fā)出DHCP請(qǐng)求報(bào)文 。當(dāng)路由器收到客戶端請(qǐng)求時(shí),路由器提供RA報(bào)文,以組播方式向組內(nèi)節(jié)點(diǎn)發(fā)送。在此通告消息中,將M標(biāo)記置為0,O標(biāo)記置為1??蛻舳耸盏酵ǜ?,將RA通告消息中提供的IPv6地址前綴與客戶端本地MAC地址生成的EUI-64接口ID組合,形成IPv6地址。最后與DHCPv6服務(wù)器進(jìn)行協(xié)商和確認(rèn),獲取其他的配置參數(shù),如域名服務(wù)器地址信息[3]。
二、DHCPv6配置與仿真
(一)構(gòu)建DHCPv6網(wǎng)絡(luò)拓?fù)?/p>
在思科PT模擬器中,構(gòu)建網(wǎng)絡(luò)拓?fù)?。該網(wǎng)絡(luò)由路由器、服務(wù)器及客戶端主機(jī)組成,交換機(jī)作為網(wǎng)絡(luò)連接設(shè)備。拓?fù)鋱D如圖2所示。
(二)DHCPv6配置
Router(config)#hostname R1-lcp? ? ?//配置主機(jī)名
R1-lcp(config)#ipv6 unicast-routing? ? //啟用IPv6路由功能
R1-lcp(config)#ipv6 dhcp pool IPv6-LCP? ? //定義IPv6地址池
R1-lcp(config-dhcpv6)#dns-server 2022:70:10:10::2? ? //配置地址池參數(shù)
R1-lcp(config-dhcpv6)#domain-name lcp-dhcptest.net? ? ?//配置參數(shù)包括域名
R1-lcp(config-dhcpv6)#exit
R1-lcp(config)#interface g0/0
R1-lcp(config-if)#ipv6 address 2022:70:10:10::1/64? ?//配置接口IPv6地址
R1-lcp(config-if)#ipv6 dhcp server IPV6-LCP? ? ?//配置DHCPv6接口
R1-lcp(config-if)#ipv6 nd other-config-flag? ? ? ?//配置標(biāo)記信息O的值為1
R1-lcp(config-if)#end
三、測(cè)試與分析
將R1路由器作為無狀態(tài)DHCPv6服務(wù)器,配置完成后,進(jìn)行無狀態(tài)DHCPv6的驗(yàn)證測(cè)試。
(一)無狀態(tài)DHCPv6路由器端驗(yàn)證
此時(shí),路由器R1-lcp充當(dāng)DHCPv6服務(wù)器,使用show ipv6 dhcp pool命令查看地址池情況。
R1-lcp#show ipv6 dhcp pool
DHCPv6 pool: IPv6-LCP
DNS server: 2022:70:10:10::2
Domain name: lcp-dhcptest.net
Active clients: 0
地址池里列出了DHCPv6 pool名稱、DNS server地址、包含的域名及維護(hù)的活動(dòng)客戶端數(shù)量?;顒?dòng)客戶端數(shù)量為0表明目前在DHCPv6服務(wù)器里沒有處于活動(dòng)連接的客戶端狀態(tài)。
(二)客戶端測(cè)試
打開客戶端IP地址配置選項(xiàng),將IPv6地址配置選項(xiàng)設(shè)置為DHCP自動(dòng)獲取。在CLI命令行中使用ipv6config /all命令檢查客戶端主機(jī)本地接口狀況及參數(shù)配置。
C:\>ipv6config /all
FastEthernet0 Connection:(default port)
Connection-specific DNS Suffix..: lcp-dhcptest.net
Physical Address................: 00C0.F540.6A99
Link-local IPv6 Address.........: FE80::2C0:F5FF:FE40:6A99
IPv6 Address....................: 2022:70:10:10:2C0:F5FF:FE40:6A99
Default Gateway.................: FE80::230:F2FF:FE76:D201
DNS Servers.....................: 2022:70:10:10::2
DHCPv6 IAID.....................: 658063988
DHCPv6 Client DUID..............: 00-01-00-01-15-BB-44-70-00-C0-F5-40-6A-99
Bluetooth Connection:
Connection-specific DNS Suffix..:
Physical Address................: 000C.CF92.6458
Link-local IPv6 Address.........: ::
IPv6 Address....................: ::
Default Gateway.................: ::
DNS Servers.....................: ::
DHCPv6 IAID.....................: 658063988
DHCPv6 Client DUID..............: 00-01-00-01-15-BB-44-70-00-C0-F5-40-6A-99
結(jié)果顯示已經(jīng)獲取到IPv6地址,IPv6地址為2022:70:10:10:2C0:F5FF:FE40:6A99。
(三) EUI-64格式IPv6地址生成
EUI-64是一種IPv6地址格式生成規(guī)范,由IEEE定義[4]。它的構(gòu)造規(guī)范是,將主機(jī)48位即6字節(jié)本地MAC地址,通過添加2個(gè)字節(jié)的特殊字段映射為為64位,作為IPv6地址的的主機(jī)接口ID部分,而主機(jī)的IPv6前64位前綴由本地路由器提供。
本例中,客戶端主機(jī)的MAC地址為00C0.F540.6A99。首先,在第3字節(jié)和第4字節(jié)之間即F540中間插入FFFE后,變?yōu)?4位地址00C0.F5FF.FE40.6A99。然后,再將第1字節(jié)次低位取反。第1字節(jié)次低位值為0,取反后變?yōu)?,因此第1字節(jié)的值就變?yōu)槭M(jìn)制的02,最終EUI-64的值是2C0:F5FF:FE40:6A99,與路由器分配的64位前綴2022:70:10:10組合在一起,形成的完整的128位IPv6地址是2022:70:10:10:2C0:F5FF:FE40:6A99。
(四)客戶端與DNS服務(wù)器連通性測(cè)試
C:\>ping 2022:70:10:10::2
Pinging 2022:70:10:10::2 with 32 bytes of data:
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
測(cè)試結(jié)果表明客戶端與DNS服務(wù)器連通性正常。
(五)測(cè)試與HTTP 服務(wù)器連通性
在DNS服務(wù)器上建立一條域名映射記錄:假定主機(jī)域名為web.lcp.net,映射的IPv6地址為2022:70:10:10::2,按圖3中所示設(shè)置Type類型[5]。
繼續(xù)使用ping命令測(cè)試與HTTP 服務(wù)器連通性。
C:\>ping web.lcp.net
Pinging 2022:70:10:10::2 with 32 bytes of data:
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
Reply from 2022:70:10:10::2: bytes=32 time<1ms TTL=128
結(jié)果表明,用域名測(cè)試與HTTP服務(wù)器連通性正常,域名均能正確解析。
(六)HTTP服務(wù)器訪問測(cè)試
測(cè)試HTTP服務(wù)器訪問,首先保證在服務(wù)器上已安裝啟用HTTP服務(wù)功能。打開模擬的Web瀏覽器,訪問server上配置好的HTTP服務(wù)器。在URL地址欄輸入:http://web.lcp.net。瀏覽器回顯結(jié)果如圖4所示。
顯示結(jié)果表明客戶端能正常訪問HTTP服務(wù),并將網(wǎng)頁結(jié)果回傳給瀏覽器。
四、結(jié)束語
DHCPv6是基于IPv6的動(dòng)態(tài)主機(jī)配置協(xié)議,可以為客戶端主機(jī)提供透明的IPv6地址租用服務(wù)。在基于IPv6的業(yè)務(wù)環(huán)境中部署無狀態(tài)的DHCPv6服務(wù)器時(shí),需要注意對(duì)IPv6地址前綴部分進(jìn)行合理規(guī)劃,并將固定的全局IPv6地址分配給DHCPv6,同時(shí)配置好地址池以及額外的參數(shù)選項(xiàng)[6]。使用網(wǎng)絡(luò)配置與檢測(cè)工具可以檢驗(yàn)DHCPv6服務(wù)器的工作狀況,客戶端與服務(wù)器連接及訪問情況,實(shí)現(xiàn)一個(gè)基于IPv6的包含DHCP服務(wù)器、DNS服務(wù)器、HTTP服務(wù)器的完整構(gòu)建,以及對(duì)全網(wǎng)服務(wù)器的正常訪問。
參? 考? 文? 獻(xiàn)
[1]余駿華,鄧國(guó)強(qiáng).基于DHCPv6的校園網(wǎng)IPv6準(zhǔn)入控制方案研究[J].教育信息技術(shù),2018(11):78-80.
[2] Vachon B,Johnson A.思科網(wǎng)絡(luò)技術(shù)學(xué)院教程第6版路由和交換基礎(chǔ)[M].北京:人民郵電出版社,2018(01).
[3]李治西.淺談IPV6地址獲取方式[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020(05):30-31.
[4] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)第8版[M].北京:電子工業(yè)出版社,2021(06).
[5]董曉軍.雙棧網(wǎng)絡(luò)下返回最優(yōu)解析結(jié)果的DNS機(jī)制[J].中國(guó)新通信,2020,22(21):49-50.
[6]黃盛林,呂鋒昌,王偉.SAVI DHCPv6數(shù)據(jù)報(bào)文源地址驗(yàn)證方法研究[J].計(jì)算機(jī)應(yīng)用研究,2017,34(01):166-169.
李春平(1971.11-),男,漢族,湖北孝感,碩士,高級(jí)工程師,研究方向:融合網(wǎng)絡(luò)、網(wǎng)絡(luò)安全。