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