專訪騰訊秦振華:全球 IPv4 地址正式耗盡,我們該如何應對IPv6改造?

11 月 25 日,負責英國、歐洲、中東和部分中亞地區互聯網資源分配的歐洲網絡協調中心(RIPE NCC)宣佈,其最後的 IPv4 地址空間儲備池已經完全耗盡,所有 43 億個 IPv4 地址已分配完畢。這意味着沒有更多的 IPv4 地址可以分配給 ISP 和其他大型網絡基礎設施提供商。

IPv4 的後繼版本爲 IPv6,IPv6 的地址長度爲 128 位,是 IPv4 地址長度的 4 倍,最大地址個數爲2^128,可以很好的解決IPv4地址短缺的問題。從運營商到互聯網企業,從手機終端廠商到內容提供商,IPv6改造和所有企業都休慼相關。同時,開發者在開發APP、軟件開發工具包(SDK)以及服務器端程序時,都需要考慮支持IPv6訪問,具體改造內容涉及客戶端、接入層、存儲層等。

從2011年起,IPv6 技術在國家推進下全面進行。2018 年工業和信息化部發布了關於貫徹落實《推進互聯網協議第六版(IPv6)規模部署行動計劃》的通知,對各大運營商和公有云廠商提出了 IPv6 的改造目標:到 2018 年末,騰訊雲、金山雲、網宿科技、藍汛、帝聯科技完成內容分發網絡(CDN)IPv6 改造;雲服務平臺企業完成 50% 雲產品 IPv6 改造。到 2020 年末,上述企業完成全部雲產品 IPv6 改造。今年11月19日,中國通信學會在其官網上公佈了2019年中國通信學會科學技術獎的評選結果,騰訊雲和中國移動通信集團,中國信息通信研究院、以及華爲聯合申報的“移動互聯網IPv6技術攻關及規模應用”項目榮獲今年科學技術一等獎。

InfoQ採訪了騰訊雲資深產品經理、騰訊雲IPv6改造項目組成員秦振華,瞭解在IPv6改造中,騰訊雲遇到的問題和挑戰,希望他們的經驗能給大家帶來借鑑作用。

InfoQ:IPv4耗盡的事情,從10年前就開始說了,但通過哪些方法,延續到現在才正式耗盡?

秦振華:從2011 年起IPv4 地址就一直處於即將告罄狀態,互聯網地址管理機制只好採取限制申請數量、調配零散地址等方法幫助IPv4延續到現在。企業也只能通過NAT、LB等方式減少IPv4公網地址的使用。

InfoQ:IPv6改造,涉及到哪些類型的企業?(哪些企業必須面臨改造的問題?)對軟件的哪些層級會有影響?(應用層軟件是否有影響,普通程序員是否有感知?)

秦振華IP通信協議是互聯網的大動脈,IP通信協議的升級牽一髮而全身。從運營商到互聯網企業,從手機終端廠商到內容提供商,IPv6改造和所有企業都休慼相關

工業和信息化部在今年4月份《關於開展2019年IPv6網絡就緒專項行動的通知》中對於首批應該完成改造的企業已經做出了明確的指示,其中就包括:電信運營商、基礎電信企業數據中心、公有云廠商、CDN廠商、手機終端廠商、政府單位、高校、國有企業、網絡及安全設備廠商等。需要改造的內容覆蓋電信骨幹網絡、城域網、接入網、基礎電信企業數據中心網絡、公有云基礎網絡、CDN網絡、公有云所有產品、安全防護設備、手機終端、家庭路由器、官網、APP應用。

開發者在開發APP、軟件開發工具包(SDK)以及服務器端程序時,都需要考慮支持IPv6訪問,具體改造內容涉及客戶端、接入層、存儲層等

InfoQ:相對IPv4來說,IPv6有哪些優點?IPv6又會帶來哪些挑戰?

秦振華:相比IPv4,IPv6提供更廣闊的地址空間、更高效的轉發效率、更安全的通信機制以及更靈活的移動性等,而這些優勢正是支撐大數據和物聯網等下一代互聯網通信的必要條件。

1、IPv6解決地址空間問題:

IPv4的地址長度爲32字節,而IPv6地址長度爲128字節。IPv6的最大地址個數爲2^128,可以很好的解決IPv4地址短缺的問題,支撐物聯網海量終端的互聯需求。騰訊云爲每個VPC(爲雲上用戶分配的私有數據中心)分配一個/56的IPv6 CIDR,所以每個VPC下理論可以支撐2^72個網元節點。

2、IPv6提升轉發效率

IPv6地址充足,網絡傳輸的中間設備不再需要進行NAT(網絡地址轉換)處理,可以提升轉發性能和轉發效率。另一方面,IPv6取消了校驗,可以節省大量的計算開銷,也能進一步提升了轉發效率。

3、IPv6提升安全性

相比於IPv4,IPv6直接在報文頭中集成了IPsec安全加密機制,而IPSec可以保護所有運行於IP層上的所有協議在主機間進行安全傳輸,提升了網絡通信的安全性,同時也提升了網絡中間設備的轉發效率。

4、IPv6提升網絡可擴展性

IPv6還有一個殺手鐗,那就是IPv6路由擴展頭,天然爲移動互聯網而生。應用層的通信比如HTTP/HTTPS,是依賴TCP連接,而TCP連接又是依賴IP連接。如果IP地址改變,則應用層的連接很可能就中斷了。而IPv6可以通過把IP地址變更的信息(包括原來的IP地址) 攜帶到路由擴展頭傳遞到目的節點,這樣即使IP地址改變也可以實現應用層的連接不中斷。

IPv6有非常多的好處,但是同時也對技術上提出了更多的挑戰,尤其是IPv6地址長度更長,在報文封裝、轉發、存儲方面都會帶來難度。比如在SDN和Overlay網絡,雲服務器地址信息往往需要攜帶在Vxlan、GRE等包頭中,但是Vxlan、GRE的自身長度都小於128字節,無法再攜帶雲服務器的IPv6地址。而對於運維和安全管理來說,海量的IPv6地址存儲和查詢對系統性能都提出了更高的要求;以往在運維和安全管理,會提前錄入網段並進行裂解,但是發現IPv6很難對一個地址段進行裂解,比如一個/56的地址段,包含了海量的IPv6地址。

InfoQ:在騰訊的哪些地方,涉及到IPv6改造?騰訊組織了什麼樣的力量去做這個事情?

秦振華:大型雲計算平臺的IPv6改造是一個系統而複雜的工程:騰訊雲提供計算、存儲、私有網絡、數據庫、中間件、域名解析等上百種種產品,產品之間之間會有耦合依賴,我們IPv6改造可以總體分爲三個方面:

  1. 基礎設施的改造:包括了全球25個地域的公網出口、核心網絡設備、服務器、安全防護設備等。
  2. 基礎網管系統的改造:包括了IP地址管理系統、CMDB資產管理系統、網絡自動化配置系統、設備監控系統等10個大型網管系統改造。
  3. 雲產品的改造:計算、存儲、網絡、數據庫等100個子產品以及整體雲系統支撐的改造。

騰訊雲在18年年初成立了公司級的重大項目組,並從各個部門抽調項目經理和技術骨幹參與IPv6的改造,到目前參與IPv6改造的人員超過1000人。

InfoQ:騰訊雲的IPv6改造中,遇到過哪些問題和挑戰?

秦振華:IPv6改造最大的挑戰就是如何保證升級過程中做到客戶業務無感知。因爲IPv6升級不但要完成新建機房和線路的改造,更多的還是在存量機房和線路上改造。原系統和設備上已經承載了大量的應用和流量,升級過程中出現了任何的疏漏都可能影響客戶的業務。同時大型雲網系統,控制器系統管理着數百萬的雲主機,一旦控制面出現異常,那將會影響到所有騰訊雲客戶。

在實際升級過程中,我們也遇到了一些比較具體的問題:部分網絡設備在IPv6路由策略、奇偶路由、路由規格支持得不好,需要升級版本解決;而操作系統的IPv6功能仍需完善,比如所有的linux鏡像默認都沒有打開IPv6,有些鏡像開啓IPv6需要重啓網絡服務,而另一些鏡像開啓IPv6還需要重啓機器; 比如當下流行的Docker對IPv6的支持不完善. 另外,IPv6公網(包括運營商網絡、公有云網絡、CDN網絡)的覆蓋區域、路由策略仍在不斷的調整和優化。

InfoQ:目前騰訊雲IPv6改造的整體進展如何?有了什麼樣的一些關鍵成果?有什麼樣的突破?

秦振華:前幾天,中國通信學會公佈2019年“中國通信學會科學技術獎”評選結果,騰訊雲和中國移動、中國信通院、華爲的聯合項目《移動互聯網IPv6技術攻關及規模應用》榮獲一等獎大獎。我們在IPv6的技術創新和規模應用得到了認可,對我們整個IPv6改造團隊都是極大的激勵。

騰訊雲在18年初就啓動了All in IPv6的戰略,即全線產品啓動IPv6的改造,經過2年多的努力,目前已經完成了40多款基礎產品的IPv6改造,已正式上線的產品類型就包括雲服務器、私有網絡、子網、彈性網卡、負載均衡、內容分發、DDoS防護、域名解析、HTTPDNS等,已經完全可以支撐雲上應用實現端到端的IPv6通信。

另外,我們已經完成了北京、上海、廣州、成都、重慶等國內BGP出口的改造,完成了全球多個機房的IPv6改造。海外的BGP出口也在陸續改造中,爭取年底前開放海外的部分地域,助力出海用戶儘快接入IPv6用戶。

藉助於這次IPv6改造的契機,我們也對升級了我們的分佈式SDN網絡,基於IPv6開發了下一代SDN控制器,不但解決了IPv4/IPv6雙棧網絡的多場景通信以及雙棧環境下的子機遷移、Fallback機制等,同時也面向IPv6的下一代支撐網絡提供更加強大的管控能力,支撐千萬級的用戶VPC。面向IPv6的DDOS攻擊、CC攻擊和DNS劫持等安全問題,構建四維一體的雙棧智能防禦體系,自主研發支持IPv6的宙斯盾安全系統。通過雲平臺統一的API,將DDOS防護檢測、網絡虛擬防火牆、網關應用層安全代理、雲主機IPv6協議層安全進行統一聯動,構建四維一體的智能防禦系統,實現自動檢測、預警、隔離等全方位的安全防護。

在IPv6改造過程中,面對IPv6帶來的諸多挑戰,我們也積累了豐富的經驗。比如在Overlay網絡封裝支持IPv6方面,Overlay(比如Vxlan,GRE)等都無法封裝具有128bytes的IPv6地址,我們也通過映射技術很好的解決這個問題,並通過大規模分佈式的SDN控制器完美的解決了路由表和映射表的規格和性能問題。

InfoQ:未來還要重點解決哪些問題?

秦振華:雖然IPv6改造已經進入中場,但對於騰訊雲來說,這僅僅是一個開始,因爲我們即將迎來更大規模的IPv6用戶和IPv6流量的考驗。未來的重點工作之一是完善IPv6的自動化流程,這裏就包括兩個方面:一方面是底層能力的自動化,比如縮短新地域的IPv6上線交付時間,這裏就依賴運維管理系統的優化;另一方面是產品能力的自動化,比如鏡像全部默認開啓IPv6,比如完善DHCP等功能等等,來實現IPv6地址分配、修改、釋放的流程自動化閉環,降低雲上用戶的學習成本,增強用戶的使用體驗。讓複雜的IT系統變成像水和電一樣簡單易用,這也是公有云平臺的初心。另外還有一個重點工作是,打造IPv6生態,和客戶、合作伙伴、開發者一起推動IPv6應用到更多的領域和場景。騰訊雲已經通過IPv6爲賽事直播、智慧零售、在線遊戲、網絡購物等場景提供了服務,但是還有更多的領域需要我們去探索,尤其是物聯網場景。

InfoQ:對於其他要進行改造的企業,您有什麼建議嗎?

秦振華:爲了支撐我們雲上的用戶平滑升級,我們提供了NAT64負載均衡的過渡方案。用戶IPv4業務無需做任何改造,即可快速提供IPv6服務。但NAT64也存在一些侷限,比如只能升級被動訪問的業務,無法直接獲取到客戶端真實源IP等。

我們建議企業儘早投入雙棧IPv6的應用改造,儘早享受技術紅利給業務帶來的高效和便捷。隨着國家的大力推動,IPv6用戶和流量將會有爆發式的增長,如果不在平穩過渡期切入,後面流量上來了改造挑戰會更大。

在應用改造方面,騰訊自研業務(比如視頻、遊戲、新聞等)已經積累了比較豐富的經驗。我們建議可以分成3個階段分步實施:

第一階段可以先升級業務接入層(如nginx、socket)和APP客戶端支持IPv6/IPv4雙棧,後臺服務和周邊組件做少量的邏輯修改(如用戶IP地址存儲/IP地址庫調用等),業務接入層和後臺服務仍然通過IPv4通信,以便減少整體IPv6改造的工作量。在對外發布時,首先在測試環境充分驗證,然後通過Cname(AAAA+A記錄)的方式按省份按運營商逐步灰度和放量。

第二個階段逐步放量,灰度更多的省份和運營商直至全量,接入更多的IPv6用戶。

第三個階段,改造後臺服務和周邊組件,業務接入層和後臺服務通過IPv6/IPv4雙棧通信。

在APP客戶端改造方面可以參考Happy Eyeballs的機制進行修改(RFC8305 Happy Eyeballs Version 2: Better Connectivity Using Concurrency),即要保證IPv6優先IPv4連接,又要確保IPv6連接失敗的時候迅速切換到IPv4通信。另外,如果一些周邊組件平臺(比如廣告平臺)還未改造完,但有依賴客戶端地址,則可以通過旁路系統將ipv4地址也傳給服務器端。

2年前,國家和政府再次吹響IPv6的號角。這一次電信運營商、公有云廠商、CDN廠商、硬件設備商、內容提供商不再觀望和猶豫,大家攜手前行,守望相助,使得IPv6加速落地。我們也倡議更多的企業儘快加入進來,一起構建IPv6的生態,推動IPv6應用創新。如果企業在IPv6改造過程中遇到任何的問題,隨時歡迎來和我們交流切磋。

騰訊雲目前已經提供從雲服務器、負載均衡、內容分發到域名解析、DDoS防護的一站式IPv6解決方案,歡迎大家登錄騰訊雲官網體驗和使用。

嘉賓簡介

秦振華,騰訊雲資深產品經理,騰訊雲IPv6改造項目組成員。目前負責騰訊雲網絡產品的策劃工作,致力於推動IPv6、DPDK、智能網卡、100G等下一代網絡新技術的落地。(感謝「雲加社區」對本次採訪的支持,更多騰訊雲IPv6改造優化方案,可以關注「雲加社區」。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章