作者:王曉明、康乾
IPv6是英文“Internet Protocol Version 6”(互聯(lián)網(wǎng)協(xié)議第6版)的縮寫,用于替代IPv4的下一代IP協(xié)議。本文從實(shí)際家庭網(wǎng)絡(luò)環(huán)境出發(fā),探索分析實(shí)際家庭寬帶網(wǎng)絡(luò)中設(shè)備的IPv6分配情況及原理。
Part 01●??背景?●
2021年,工信部和中央網(wǎng)信辦聯(lián)合印發(fā)《IPv6流量提升三年專項(xiàng)行動(dòng)計(jì)劃(2021-2023年)》,強(qiáng)調(diào)“新開通家庭寬帶、企業(yè)寬帶和專線業(yè)務(wù)應(yīng)支持IPv6”,對(duì)于運(yùn)營商而言,隨著IPv6的發(fā)展和演進(jìn),上到業(yè)務(wù)、內(nèi)容,下到終端,都面臨一些調(diào)整,其中,終端設(shè)備能否具備IPv6的能力是完成行動(dòng)計(jì)劃的關(guān)鍵因素之一。
Part 02●??家庭場景的組網(wǎng)現(xiàn)狀?●
對(duì)于新開通的家庭寬帶用戶,運(yùn)營商將派遣工作人員安裝智能網(wǎng)關(guān)(光貓)完成入戶安裝及調(diào)試工作,智能網(wǎng)關(guān)作為寬帶的入口,其LAN側(cè)支持下掛路由器或終端設(shè)備。從相關(guān)規(guī)范來看,中國移動(dòng)目前入庫的家庭網(wǎng)關(guān)均支持IPv6地址的獲取及分發(fā)能力,但由于家庭場景的組網(wǎng)存在個(gè)性化的差異,實(shí)際終端側(cè)還無法100%覆蓋IPv6能力。
圖1 “中國移動(dòng)智能家庭網(wǎng)關(guān)技術(shù)規(guī)范”-IPv6地址管理要求
在家庭網(wǎng)絡(luò)中,家庭寬帶中網(wǎng)絡(luò)潛在場景主要有以下 5 種:
(1)設(shè)備直連光貓,光貓為路由模式,這種場景下設(shè)備向光貓獲取 IPv4/IPv6地址;
(2)設(shè)備接入路由器,光貓為路由模式,這種場景下路由器向光貓獲取 IPv6前綴,由路由器向下掛設(shè)備分配 IPv6 地址;
(3)設(shè)備接入路由器,光貓為橋接模式,這種場景下路由器向通過 PPPoE撥號(hào),申請(qǐng) IPv6 前綴,由路由器向下掛設(shè)備分配 IPv6 地址;
(4)設(shè)備接入路由器,光貓為路由模式,路由器不支持 IPv6,這種場景下路由器向光貓獲取 IPv4 地址,下掛設(shè)備無法獲取 IPv6 地址;
(5)設(shè)備接入路由器,光貓為橋接模式,路由器不支持 IPv6,這種場景下路由器通過 PPPoE 撥號(hào)獲取 IP 地址,下掛設(shè)備無法獲取 IPv6 地址。
其中場景2是最典型的家寬網(wǎng)絡(luò)環(huán)境,場景4和5因路由器不支持IPv6,下掛的智能家居設(shè)備無法分配到IPv6地址。因此,路由器的IPv6能力對(duì)家庭場景的IPv6推進(jìn)有很大的影響。
那么,如何通過智能網(wǎng)關(guān),向路由器、終端分配IPv6地址呢?這里將結(jié)合IPv6的概念來詳細(xì)說明。
Part 03●??IPv6概念說明?●
3.1 DHCP-PD
DHCP-PD(Prefix Delegation,前綴分配)是DHCPv6的擴(kuò)展,傳統(tǒng)的DHCPv6將地址等網(wǎng)絡(luò)配置參數(shù)從服務(wù)器端傳遞給IPv6客戶主機(jī),而DHCPv6-PD實(shí)現(xiàn)前綴分配,即PD服務(wù)器端將一個(gè)子網(wǎng)范圍的前綴地址段以及DNS等其他網(wǎng)絡(luò)配置信息下發(fā)給PD客戶端,這就意味PD服務(wù)器下發(fā)的是一個(gè)“子網(wǎng)地址段”,而不是具體可以直接供主機(jī)使用的IPv6地址。
3.2 SLAAC(IETF RFC4862)
SLAAC(Stateless Address Autoconfiguration,無狀態(tài)地址自動(dòng)配置)。SLAAC技術(shù)是自動(dòng)獲取IP地址的技術(shù),在IPv6中,除了配置使用DHCPv6外,還支持使用SLAAC技術(shù)獲取IPv6地址,以達(dá)到設(shè)備即插即用的效果。
SLAAC的實(shí)現(xiàn)依托于NDP協(xié)議中的RS報(bào)文和RA報(bào)文。在IPv6的NDP協(xié)議中,共有五種報(bào)文,而RS報(bào)文,即Router Solicitation,路由器請(qǐng)求報(bào)文,RA報(bào)文,即Router Advertisement,路由器公告報(bào)文。
Part 04●??家庭寬帶IPv6地址分配?●
結(jié)合家庭中的組網(wǎng)環(huán)境,BRAS是IPv6地址的分配者,能根據(jù)設(shè)備能力和實(shí)際配置規(guī)模設(shè)置地址池大小。
圖2 家庭寬帶IPv6地址分配流程
針對(duì)家庭寬帶設(shè)備類型,BRAS通過SLAAC方式,向PC終端分配/64的IPv6地址,向家庭網(wǎng)關(guān)分配WAN口/64地址,LAN口/60地址。實(shí)際配置中,各省公司可根據(jù)業(yè)務(wù)發(fā)展和設(shè)備配置情況,配置地址池容量。
家庭網(wǎng)關(guān)下掛設(shè)備,其WAN口通過SLAAC或DHCPv6協(xié)議配置IPv6地址,具體方式視廠商實(shí)現(xiàn)而定。LAN口前綴在第64位和家庭網(wǎng)關(guān)LAN口前綴存在一些差異,相當(dāng)于路由器基于/64前綴再次進(jìn)行了細(xì)分,便于向下分配前綴地址,分配方式支持手動(dòng)配置、SLAAC和DHCPv。
終端設(shè)備接入路由器后,通過手動(dòng)配置、SLAAC或DHCPv6獲取IPv6地址。
Part 05●??抓包分析?●
如上所述,終端接入家庭寬帶網(wǎng)絡(luò)中時(shí),涉及到了幾個(gè)重要IPv6地址的知識(shí),通過抓包分析能清晰理解IPv6地址的分配步驟。
步驟1:終端設(shè)備剛接入家庭網(wǎng)絡(luò),設(shè)備還未分配ipv6地址,因此結(jié)合終端mac地址生成一個(gè)本地鏈路地址,該地址為tentative狀態(tài),即未經(jīng)地址沖突檢測(cè)后,通過::/128發(fā)起組播,鏈路上所有的節(jié)點(diǎn)都會(huì)收到NS報(bào)文,實(shí)現(xiàn)地址沖突檢測(cè)過程。若收到其它站點(diǎn)回應(yīng)的NA,證明該地址不可用。抓包發(fā)現(xiàn)確實(shí)沒有該響應(yīng)包。
圖3 生成本地鏈路地址
步驟2:結(jié)合本地前綴,主機(jī)生成的本地鏈路地址fe80::818:5ed6:27bc:59bd,向路由器發(fā)起RS消息申請(qǐng)RA,向鏈路中所有路由器通知本地IPv6路由器需要RA;
圖4? RS請(qǐng)求
步驟3:從路由器反饋RA信息包括前綴、MTU、DNS服務(wù)器信息;
運(yùn)營商前綴:2409:8a28:ec1:a080::/64,Valid Lifetime:7200s,Preferred Lifetime:3600s
圖5 RA響應(yīng)
主機(jī)基于將反饋的RA信息,生成全局單播IPv6地址(GUA),除64位的網(wǎng)絡(luò)前綴之外,還需要一個(gè)64為接口ID來創(chuàng)建全局單播地址。
步驟4:配置后,主機(jī)需要驗(yàn)證IPv6地址是唯一的,這里主機(jī)會(huì)采用一種特殊構(gòu)造的多播地址發(fā)送ICMPv6鄰居請(qǐng)求消息,該地址稱為請(qǐng)求節(jié)點(diǎn)組播地址,復(fù)制主機(jī)最后24位,來確定地址唯一,上述過程稱為DAD(重復(fù)地址檢測(cè))。
圖6 IPv6地址重復(fù)檢測(cè)
至此,終端設(shè)備完成IPv6地址的獲取。
Part 06●??總結(jié)?●
本文從實(shí)際家庭網(wǎng)絡(luò)環(huán)境出發(fā),探索分析實(shí)際家庭寬帶網(wǎng)絡(luò)中設(shè)備的IPv6分配情況及原理,下篇將探討IPv6實(shí)際可用性和安全分析,敬請(qǐng)期待。