IPv6下CDN和网络的最佳实践
在工業(yè)和信息化部發(fā)布的《關(guān)于開(kāi)展2019年IPv6網(wǎng)絡(luò)就緒專(zhuān)項(xiàng)行動(dòng)的實(shí)施意見(jiàn)》中對(duì)CDN提升IPv6業(yè)務(wù)承載能力提出了明確的要求。自 2019年初,騰訊云 CDN 啟動(dòng)了全國(guó)范圍內(nèi)的 IPv6 加速節(jié)點(diǎn)建設(shè)計(jì)劃,截止現(xiàn)在已完成了全國(guó)各省份三大運(yùn)營(yíng)商,總計(jì) 100+ 加速節(jié)點(diǎn)全覆蓋。
2020年07月03日,騰訊云計(jì)算(北京)有限責(zé)任公司CDN(靜態(tài)資源加速、流媒體加速、文件下載加速)、ECDN(全站加速)、SCDN(安全加速)產(chǎn)品通過(guò)了IPv6 Enabled CDN Logo 認(rèn)證測(cè)試!
一. IPv6基礎(chǔ)知識(shí)
1.概念
IPv6是英文“Internet Protocol Version 6”(互聯(lián)網(wǎng)協(xié)議第6版)的縮寫(xiě),是互聯(lián)網(wǎng)工程任務(wù)組(IETF)設(shè)計(jì)的用于替代IPv4的下一代IP協(xié)議,其地址數(shù)量號(hào)稱(chēng)可以為全世界的每一粒沙子編上一個(gè)地址。
IPv4最大的問(wèn)題在于網(wǎng)絡(luò)地址資源不足,嚴(yán)重制約了互聯(lián)網(wǎng)的應(yīng)用和發(fā)展。IPv6的使用,不僅能解決網(wǎng)絡(luò)地址資源數(shù)量的問(wèn)題,而且也解決了多種接入設(shè)備連入互聯(lián)網(wǎng)的障礙。
2.組成
◎IPv6的地址長(zhǎng)度為128位,是IPv4地址長(zhǎng)度的4倍。IPv4點(diǎn)分十進(jìn)制格式不再適用,采用十六進(jìn)制表示。
◎冒分十六進(jìn)制表示法:格式為X:X:X:X:X:X:X:X,其中每個(gè)X表示地址中的16b,以十六進(jìn)制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
◎0位壓縮表示法:在某些情況下,一個(gè)IPv6地址中間可能包含很長(zhǎng)的一段0,可以把連續(xù)的一段0壓縮為“::”。但為保證地址解析的唯一性,地址中”::”只能出現(xiàn)一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
◎內(nèi)嵌IPv4地址表示法:為了實(shí)現(xiàn)IPv4-IPv6互通,IPv4地址會(huì)嵌入IPv6地址中,此時(shí)地址常表示為:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六進(jìn)制表示,而最后32b地址則使用IPv4的點(diǎn)分十進(jìn)制表示,例如::192.168.0.1與::FFFF:192.168.0.1
IPv6報(bào)文的整體結(jié)構(gòu)分為IPv6報(bào)頭、擴(kuò)展報(bào)頭和上層協(xié)議數(shù)據(jù)3部分。
◎IPv6報(bào)頭是必選報(bào)文頭部,長(zhǎng)度固定為40B,包含該報(bào)文的基本信息;
◎擴(kuò)展報(bào)頭是可選報(bào)頭,可能存在0個(gè)、1個(gè)或多個(gè),IPv6協(xié)議通過(guò)擴(kuò)展報(bào)頭實(shí)現(xiàn)各種豐富的功能;
◎上層協(xié)議數(shù)據(jù)是該IPv6報(bào)文攜帶的上層數(shù)據(jù),可能是ICMPv6報(bào)文、TCP報(bào)文、UDP報(bào)文或其他可能報(bào)文。
3.地址類(lèi)型
IPv6協(xié)議主要定義了三種地址類(lèi)型:單播地址(Unicast Address)、組播地址(Multicast Address)和任播地址(Anycast Address)。與原來(lái)在IPv4地址相比,新增了“任播地址”類(lèi)型,取消了原來(lái)IPv4地址中的廣播地址,因?yàn)樵贗Pv6中的廣播功能是通過(guò)組播來(lái)完成的。
◎單播地址:用來(lái)唯一標(biāo)識(shí)一個(gè)接口,類(lèi)似于IPv4中的單播地址。發(fā)送到單播地址的數(shù)據(jù)報(bào)文將被傳送給此地址所標(biāo)識(shí)的一個(gè)接口。
◎組播地址:用來(lái)標(biāo)識(shí)一組接口(通常這組接口屬于不同的節(jié)點(diǎn)),類(lèi)似于IPv4中的組播地址。發(fā)送到組播地址的數(shù)據(jù)報(bào)文被傳送給此地址所標(biāo)識(shí)的所有接口。
◎任播地址:用來(lái)標(biāo)識(shí)一組接口(通常這組接口屬于不同的節(jié)點(diǎn))。發(fā)送到任播地址的數(shù)據(jù)報(bào)文被傳送給此地址所標(biāo)識(shí)的一組接口中距離源節(jié)點(diǎn)最近(根據(jù)使用的路由協(xié)議進(jìn)行度量)的一個(gè)接口。
4.使用協(xié)議
地址配置協(xié)議:
 IPv6使用兩種地址自動(dòng)配置協(xié)議,分別為無(wú)狀態(tài)地址自動(dòng)配置協(xié)議(SLAAC)和IPv6動(dòng)態(tài)主機(jī)配置協(xié)議(DHCPv6)。
◎無(wú)狀態(tài)地址自動(dòng)配置協(xié)議(SLAAC)不需要服務(wù)器對(duì)地址進(jìn)行管理,主機(jī)直接根據(jù)網(wǎng)絡(luò)中的路由器通告信息與本機(jī)MAC地址結(jié)合計(jì)算出本機(jī)IPv6地址,實(shí)現(xiàn)地址自動(dòng)配置,包括4個(gè)基本步驟:
01.鏈路本地地址配置,主機(jī)計(jì)算本地地址
02.重復(fù)地址檢測(cè),確定當(dāng)前地址唯一
03.全局前綴獲取,主機(jī)計(jì)算全局地址
04.前綴重新編址,主機(jī)改變?nèi)值刂?/p>
◎IPv6動(dòng)態(tài)主機(jī)配置協(xié)議(DHCPv6)由DHCPv6服務(wù)器管理地址池,用戶(hù)主機(jī)從服務(wù)器請(qǐng)求并獲取IPv6地址及其他信息,達(dá)到地址自動(dòng)配置的目的。DHCPv6在IPv4場(chǎng)景下的DHCP的基礎(chǔ)上,進(jìn)行了一定的改進(jìn)與擴(kuò)充。其中包含3種角色:
◎DHCPv6客戶(hù)端:用于動(dòng)態(tài)獲取IPv6地址、IPv6前綴或其他網(wǎng)絡(luò)配置參數(shù);
◎DHCPv6服務(wù)器:負(fù)責(zé)為DHCPv6客戶(hù)端分配IPv6地址、IPv6前綴和其他配置參數(shù);
◎DHCPv6中繼:若服務(wù)器和客戶(hù)端不在同一鏈路范圍內(nèi),則需要DHCPv6中繼進(jìn)行轉(zhuǎn)發(fā)。
路由協(xié)議:
 與IPv4相同,IPv6路由協(xié)議同樣分成內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)與外部網(wǎng)關(guān)協(xié)議(EGP),其中IGP包括由RIP變化而來(lái)的RIPng,由OSPF變化而來(lái)的OSPFv3,以及IS-IS協(xié)議變化而來(lái)的IS-ISv6。EGP則主要是由BGP變化而來(lái)的BGP4+。
5.優(yōu)勢(shì)特點(diǎn)
與IPV4相比,IPV6具有以下優(yōu)勢(shì):
 01.更大的地址空間:
 IPv4規(guī)定IP地址長(zhǎng)度:32,
 最大地址個(gè)數(shù):2^32;
 IPv6規(guī)定IP地址長(zhǎng)度:128,
 最大地址個(gè)數(shù):2^128。
02.更小的路由表:
 IPv6的地址分配遵循聚類(lèi)(Aggregation)的原則,路由器能在路由表中用一條記錄(Entry)表示一片子網(wǎng),大大減小了路由器中路由表的長(zhǎng)度,提高了路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度。
03.增強(qiáng)的組播支持以及對(duì)流的控制
 網(wǎng)絡(luò)上的多媒體應(yīng)用有了長(zhǎng)足發(fā)展的機(jī)會(huì),為服務(wù)質(zhì)量(QoS,Quality of Service)控制提供了良好的網(wǎng)絡(luò)平臺(tái)。
04.支持自動(dòng)配置
 網(wǎng)絡(luò)(尤其是局域網(wǎng))的管理更加方便快捷。
05.更高的安全性
 用戶(hù)可以對(duì)網(wǎng)絡(luò)層的數(shù)據(jù)進(jìn)行加密并對(duì)IP報(bào)文進(jìn)行校驗(yàn),在IPV6中的加密與鑒別選項(xiàng)提供了分組的保密性與完整性,極大地增強(qiáng)了網(wǎng)絡(luò)的安全性。
06.允許擴(kuò)充
 如果新的技術(shù)或應(yīng)用需要時(shí),IPV6允許協(xié)議進(jìn)行擴(kuò)充。
07.更好的頭部格式
 IPV6使用新的頭部格式,其選項(xiàng)與基本頭部分開(kāi),如果需要,可將選項(xiàng)插入到基本頭部與上層數(shù)據(jù)之間,簡(jiǎn)化和加速了路由選擇過(guò)程。
08.新的選項(xiàng)
 IPV6有一些新的選項(xiàng)來(lái)實(shí)現(xiàn)附加的功能
6.過(guò)渡技術(shù)
IPv6不可能立刻替代IPv4,因此在相當(dāng)一段時(shí)間內(nèi)IPv4和IPv6會(huì)共存在一個(gè)環(huán)境中。要提供平穩(wěn)的轉(zhuǎn)換過(guò)程,使得對(duì)現(xiàn)有的使用者影響最小,就需要有良好的轉(zhuǎn)換機(jī)制。IETF推薦了雙協(xié)議棧、隧道技術(shù)以及網(wǎng)絡(luò)地址轉(zhuǎn)換等轉(zhuǎn)換機(jī)制。
二.騰訊云CDN IPv6改造架構(gòu)設(shè)計(jì)
在國(guó)內(nèi)互聯(lián)網(wǎng)的客戶(hù)端和流量以 IPv4 為主的大環(huán)境下,騰訊云 CDN 提供平滑、安全的 IPv6 互聯(lián)網(wǎng)入口,配合客戶(hù)逐步完成端到端的 IPv6 改造。
在很長(zhǎng)的一段時(shí)間里,IPv6 與 IPv4 雙棧將同時(shí)運(yùn)行,隨著互聯(lián)網(wǎng)的 IPv6 用戶(hù)活躍數(shù)的持續(xù)增大,最終完成底層核心網(wǎng)絡(luò)向 IPv6 平滑過(guò)渡,IPv6 成為網(wǎng)絡(luò)主體,并且兼容存量的 IPv4 的業(yè)務(wù)。
 騰訊云CDN支持IPv6訪(fǎng)問(wèn)的架構(gòu)圖如下所示:
 
三.操作步驟詳解
1.接入并配置加速域名
01.登錄騰訊云CDN控制臺(tái),在左側(cè)邊欄目錄中選擇【域名管理】后,點(diǎn)擊【添加域名】。
 
 02.輸入待接入的加速域名,選擇【所屬項(xiàng)目】(可置為默認(rèn)),【源站類(lèi)型】選擇【自有源站】,并勾選【IPv6】,源站請(qǐng)?zhí)顚?xiě)有效的IPv6地址。域名配置完成后,可根據(jù)業(yè)務(wù)需要變更【緩存規(guī)則】等配置。
 
 03.待域名狀態(tài)變成 【已啟動(dòng)】,表示域名添加并上線(xiàn)成功。
 
2.測(cè)試并添加CNAME記錄
騰訊云CDN提供的CNAME格式為:
加速域名.cdn.dnsv1.com
可以通過(guò)Dig工具向當(dāng)?shù)豅ocalDNS查看CNAME解析的完整過(guò)程,并返回最終解析出的AAAA記錄,對(duì)應(yīng)的AAAA記錄應(yīng)該為CDN返回覆蓋當(dāng)?shù)氐倪吘壒?jié)點(diǎn)的IPv6地址,命令:
dig AAAA 加速域名
 
 登錄騰訊云解析控制臺(tái),單擊您所購(gòu)買(mǎi)的【域名】,在“記錄管理”頁(yè)面單擊【添加記錄】按鈕,為域名添加 CNAME 記錄,輸入如下內(nèi)容并保存:
◎主機(jī)記錄:即域名前綴,本例設(shè)為www
◎記錄類(lèi)型:CNAME
◎線(xiàn)路類(lèi)型:默認(rèn)
◎記錄值:加速域名.cdn.dnsv1.com
◎TTL:設(shè)置為默認(rèn)值“600s”
 
 【保存】成功后,對(duì)加速域名的訪(fǎng)問(wèn)將解析至騰訊云CDN節(jié)點(diǎn)。
3.測(cè)試IPv6源站
本例中,為加速域名配置的源站為部署在云服務(wù)器上的Nginx服務(wù),下面介紹如何驗(yàn)證源站已開(kāi)啟并監(jiān)聽(tīng)I(yíng)Pv6。
第一行inet6后的公網(wǎng)地址即為步驟一接入加速域名時(shí),所填寫(xiě)的源站IP
 
4.IPv6回源及節(jié)點(diǎn)訪(fǎng)問(wèn)
在支持IPv6的客戶(hù)端請(qǐng)求加速域名,可以看到請(qǐng)求成功解析至CDN節(jié)點(diǎn),節(jié)點(diǎn)將源站內(nèi)容緩存并正確返回。
curl -sv -6 加速域名了解更多關(guān)于IPv6及CDN知識(shí)關(guān)注騰訊云CDN公眾號(hào),技術(shù)干貨一手掌握!
 
總結(jié)
以上是生活随笔為你收集整理的IPv6下CDN和网络的最佳实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 企业必须关注的IPv6网络安全25问
- 下一篇: 三种CDN调度系统实现原理详解
