成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

UCloud基于P4交換機的云平臺網絡實踐

云計算
為解決SDN交換機OpenFlow流表條目有限的問題,UCloud開始采用DPDK技術的網關集群來替代SDN交換機。經過實踐檢驗的各種DPDK網關,越來越多地出現在UCloud的云平臺中,為用戶提供更快速的網絡能力。

自2012年UCloud成立起,虛擬網絡始終是IaaS產品的一個核心組件,也經過了多次演進。演進中我們始終思考的是:如何在不增加用戶成本的情況下為用戶提供更可靠、更快速的網絡。而答案則是要求技術團隊不斷采用新技術,來同時滿足租戶隔離、轉發能力、穩定性等多種需求。

[[237371]]

我們最早的SDN方案在轉發面是采用Open vSwitch(以下簡稱OVS)來實現,控制面是自研的控制器。期間亦首先采用盛科的SDN交換機,來解決物理機(bare metal)和公有云之間的互訪需求。為解決SDN交換機OpenFlow流表條目有限的問題,UCloud開始采用DPDK技術的網關集群來替代SDN交換機。經過實踐檢驗的各種DPDK網關,越來越多地出現在UCloud的云平臺中,為用戶提供更快速的網絡能力。

DPDK的不足

隨著2017年25G網絡開始迅速被采用,對UCloud的虛擬網絡又提出了更高的挑戰。在此背景下,DPDK也逐漸暴露出了一些不足:

  • 基于DPDK的應用可以達到很高的包轉發速率,但這是通過多服務器、多核負載均衡實現的。且負載均衡算法通常是由硬件交換機或者網卡實現的,并不能被軟件定義。如果網絡中出現單個大象流,無法被硬件交換機或者網卡的負載均衡算法很好的分發,就會造成單根網線或者單個CPU Core出現擁塞,對業務造成巨大影響。
  • 隨著網絡帶寬從10G向25G、40G、50G、100G的演進,DPDK需要更強力的CPU才能夠達到線速,而更強力的CPU通常價錢也很昂貴,不利成本。特別是單Core的主頻越高,價格越貴,且主頻增加和價格增加是非線性關系。

兩個被排除的方案

2017年中UCloud開始對新的SDN硬件卸載方案做評估。

首先進入我們視野的是基于VXLAN VTEP的解決方案。此類方案通常由交換機廠商提供包括SDN Controller在內的整套解決方案,比較適合私有云的環境部署。但缺點也很顯而易見:封閉、非標準化、無法定制。通常用戶只能通過北向廠商特有的API方式和此類方案進行交互。且此類方案通常只支持10w左右的虛擬網絡MAC地址,很難滿足UCloud的業務需要。此外UCloud對基于Ethernet Over GRE(Linux GRETAP)的Overlay封裝有需求,但沒有一家硬件交換機支持該Overlay協議。

接下來我們又把目光投向了支持OpenFlow 1.3協議的硬件交換機。經過一番預研和測試,我們發現支持OpenFlow 1.3協議的硬件交換機和OVS間存在著巨大的GAP。實際上不可能把我們的OpenFlow流表移植到硬件交換機上。除了同樣不支持Ethernet Over GRE協議外,我們OVS上使用的Flow Based Tunneling特性也沒有硬件交換機支持。

P4進入視野

2017年Q4,我們開始預研Barefoot的支持P4的可編程交換機(Tofino芯片),很快發現了它能夠很好地滿足我們的需求。

提到P4和Barefoot就不能不提Nick Mckeown教授。2007年Nick和伙伴們一起創立了Nicira Networks公司,也幾乎標志著“軟件定義網絡(SDN)”這個產業的誕生。Nicira作為OpenFlow的大本營,接連發布了NOX和Open vSwitch作為OpenFlow的重要組件。

2012年VMware收購Nicira后,Nick認為SDN的第二步則是發展為它專門優化的硬件設備,又和同伴共同發起了對數據包進行處理的編程語言P4(Programming Protocol-Independent Packet Processors),幫助網絡用戶擺脫芯片硬件廠商各種協議的制約。

P4在設計上具備如下優點:

  • 可靈活定義轉發設備數據處理流程,且可以做到轉發無中斷的重配置。
  • 轉發設備協議無關轉發。
  • 設備無關性。

2013年Nick成立了Barefoot Networks公司,致力于開發基于P4的網絡芯片Tofino和軟件開發套件Capilano,并幫助P4社區發展壯大。

Barefoot支持P4的可編程交換機(基于Tofino芯片),具備如下優點:

相對DPDK更高的轉發性能

  • 1.8T ~ 6.5T線速轉發
  • 更低時延
  • 單線***100G,避免單線擁塞
  • 轉發性能可預期,DPDK的轉發性能隨業務模型可能變化

相對其他硬件交換機,更開放

  • 可編程能力強,轉發面p4lang定制開發
  • ***解決Ethernet Over GRE和Flow Based Tunneling的問題
  • 開發效率高
  • 控制面可通過Apache Thrift、gRPC接口遠程管理
  • 操作系統采用 Open Network Linux(基于Debian)
  • 生態圈:P4 Runtime、Stratum

P4 Switch架構

控制面實現

UCloud基于P4交換機的云平臺網絡實踐

最初我們準備修改Barefoot提供的switch.p4來實現我們的功能,但嘗試閱讀代碼后發現switch.p4雖然完整的包含交換機所需要的功能,但很多特性我們并不需要,所以我們沒有選擇修改、裁剪switch.p4,而是自己從頭開始寫一個更符合自身需求的控制面。

NOS這層參考我們之前開發DPDK程序的經驗,完全通過Linux來實現。P4代碼會把所有非Ethernet Over GRE封裝的報文當做控制報文送到CPU口。CPU口在Linux上就是一個虛擬網卡,報文再通過Kernel轉發到hostif的虛擬網卡上。hostif的虛擬網卡上配置IP地址,ARP學習等功能都通過Linux Kernel來實現。Quagga等Userspace的程序就通過hostif虛擬網卡上的IP和上級路由器跑BGP,再將學習到的路由寫到Kernel的路由表。我們直接開發的APP模塊以bf_switchd插件的方式加載,通過netlink接口學習Kernel的ARP表、路由表,調用P4代碼編譯后生成的API寫入Tofino芯片。

Controller這一層最早我們是通過P4編譯器生成的Apache Thrift接口將數據下發到bf_switchd,然后寫入Tofino芯片。但通過簡單的性能測試發現,由于Apache Thrift接口設計的限制,每次RPC調用只能配置一條數據,因此需要配置大量數據時性能很不理想。為此我們在APP模塊中啟動了gRPC server,重新定義了批量下發配置的接口,將配置下發速度提升了8倍。未來我們計劃將控制面演進到P4 Runtime和Stratum。

Sharding

P4可編程交換機的PPS或者BPS性能很強能夠線速轉發,對比DPDK,制約單機性能的瓶頸主要出現在交換機的DRAM和TCAM上。畢竟DPDK跑在X86服務器上內存64G起步,512G也不稀奇,而交換機芯片上的內存資源就相對要少很多。

為了突破單臺交換機的資源瓶頸,我們設計了將數據按租戶分片的方案,從而實現了水平擴展的目標。

UCloud基于P4交換機的云平臺網絡實踐

首先采用64口P4可編程交換機作為接入層,主要實現數據分片和灰度發布的能力。例如采用VNI的后6位分為64個分片,為每個分片指定一個下一跳地址,從而達到整個集群的資源水平擴展的能力。

強灰度能力

傳統上網絡設備通常采用主備、或者主主的方式部署,當需要升級的時候將全部流量切到一半設備上,另外一半設備下線升級,升級完成后再重新加入集群分擔一半的流量。這種升級方式簡單粗放,在UCloud我們提出了更高的要求。我們軟件行業的現狀就是不論花多大的成本去測試,真正的用戶行為總是不可能被窮盡的,缺陷總是會有的,這時我們***的安全網就是“灰度發布”。在現網真實環境作為***測試的同時,通過控制變更范圍盡可能的減少風險;一旦真的有缺陷快速回滾,***程度的降低影響面。在UCloud我們堅定的在每個產品上采用按賬號灰度發布,即使是在虛擬網絡設備上。

我們將灰度發布交換機軟件的能力Buildin在Access層:

  1. 當需要升級交換機軟件時,將預留灰度交換機安裝新版本軟件;
  2. 按照灰度賬號定義新的數據分片,指定灰度交換機同步新的數據分片;
  3. 按照VNI+源地址或VNI+目的地址配置灰度規則按VM的粒度將流量切換到灰度交換機處理;
  4. 切換完成后立刻自動回歸測試,Ping檢測各種場景下的網絡互通性是否正常;
  5. 測試通過則逐步增加灰度的VM地址,直到整個VPC的流量全部切換到灰度交換機;
  6. 再切換一個新的VPC,直到所有分片內的VPC都切換到新的交換機下;
  7. 舊的交換機下線清洗,安裝新版本軟件,直到整個集群完成升級。

通過這種傳統網絡設備完全不同的升級方式,在SDN軟件快速迭代的背景下,有力地保障了SDN網絡的可靠性。

P4 Switch應用

  • P4可編程交換機在UCloud規劃的使用場景包括:
  • 支持租戶的增強交換和路由
  • 物理機接入虛擬網絡
  • 一致性哈希ECMP負載均衡
  • 流量限速與計費
  • ARP代理
  • 等等

目前UCloud已經采用P4可編程交換機完成了新一代交換網關UXR的開發和測試工作,同時部署了一個地域并切換灰度流量進行驗證。

總結

Barefoot的Tofino芯片在2018年初量產后,P4可編程交換機開始逐漸出現在市場上,但仍是一個新興事物。不可否認目前確實還有一些不足之處,但UCloud確實看到它和之前的交換機相比,能給軟件工程師***的自由度。

在6月27日Barefoot CEO Craig Barratt先生一行來UCloud總部的技術交流中,大家也認為通過緊密合作,能夠產生更加貼切需求、切實解決痛點的可定制解決方案。我們相信憑借持續的技術演進,可以不斷為云平臺用戶提供更快速更強大的網絡能力,就像Barefoot主頁所說,We can now finally say “Software is eating the network”。

參考鏈接:

  • P4: https://p4.org/
  • Barefoot: https://www.barefootnetworks.com/
  • Quagga: https://www.quagga.net/
  • DPDK: https://dpdk.org/
  • Open vSwitch: https://openvswitch.org/

 

責任編輯:未麗燕 來源: 51CTO.com
相關推薦

2015-07-02 09:46:55

OpenFlowOpenStackSDN

2010-01-18 15:22:47

交換機MAC地址

2010-02-04 09:51:53

虛擬交換機

2013-05-15 16:06:01

華為交換機虛擬化網絡

2011-03-02 15:10:57

數據中心云計算

2014-01-14 11:17:55

華為核心交換機核心交換機華為

2011-07-20 10:24:33

2023-06-12 11:49:40

網絡交換機局域網

2013-06-07 15:32:03

超云

2010-03-15 10:03:49

軟交換機技術

2023-08-14 17:03:42

2011-05-27 11:05:10

光纖交換機

2011-05-27 11:16:18

光纖交換機

2015-08-18 14:21:13

云平臺網絡評測

2016-01-09 14:54:57

2010-01-14 10:43:18

交換機配置交換機種類

2010-01-05 10:14:39

交換機配置TRUNK

2017-05-23 13:57:42

交換機方法網絡

2015-06-10 10:52:36

云計算交換機云網絡

2010-03-15 16:41:30

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产成人午夜av影院武则天 | 欧美一区在线视频 | 精品国产一区二区三区久久久蜜月 | 久久久一区二区三区 | 成人精品免费视频 | 国产电影一区二区在线观看 | 欧美精品一二三区 | 久久综合伊人 | 91黄在线观看 | 久久久精品网站 | 人人做人人澡人人爽欧美 | 日一区二区 | 作爱视频免费观看 | 欧美精品一区二区三区在线播放 | 日韩电影在线 | 日韩一区二区在线视频 | 久久久久久国产精品免费免费狐狸 | 黄色在线免费观看 | 欧美一区二区 | 蜜臀久久99精品久久久久野外 | 精品欧美一区二区三区 | 欧美人妖网站 | 一区二区在线免费观看视频 | 久久成人免费 | 国产电影一区二区在线观看 | 久久网一区二区 | 在线视频99| 中文字幕视频在线 | 欧美精品一区二区免费 | 色秀网站| 亚洲精品黄色 | 亚州精品天堂中文字幕 | 亚洲欧美日韩精品久久亚洲区 | 日韩在线欧美 | 亚洲vs天堂 | 中文字幕在线不卡 | 亚洲三区视频 | 超碰3| www精品美女久久久tv | 欧美精品一区在线 | 在线成人精品视频 |