SDN控制器關鍵效能指標及測試方法—Vecloud

Vecloud發表於2020-11-18

在這裡插入圖片描述
在SDN技術中,Controller是重中之重的產品。Controller的主要功能,通過南向介面管理下面連線的裝置資源(VM、vSwitch、NFV),通過北向介面根據租戶的需求,劃分不同的資源給某一租戶。Controller進行各租戶的資源的拓撲管理和路由計算。Controller接收vSwitch上報的Packet_In報文,根據各租戶的拓撲、報文業務流程和路由,計算出最優轉發路徑,形成表項下發給相關裝置指導各個租戶的報文轉發。
對Controller的效能測試主要包括以下幾點。
Controller是SDN網路中最繁忙的大腦,所有的控制平面的處理都是它進行的,其他裝置(一般是vSwitch)把無法處理的報文都通過Packet_In報文上送給Controller處理。如果把選購Controller比喻選購電腦的話,那麼Packet_In處理速度相當於電腦CPU的主頻速度。
測試組網如圖所示,測試單臺或者一個region內兩臺叢集控制器的Packet_In處理速度,可以使用Ixia測試儀器埠或者華三通訊的效能測試套件OVSSimulator和Controller進行連線。OVSSimulator測試工具也是基於Java開發的,和開源的SDN
Controller效能測試工具Cbench有類似功能,執行在高效能伺服器上,模擬N個vSwitch和VM(一般1000-2000個vSwitch)向Controller傳送測試報文。測試的報文最主要是兩類:ARP請求報文和IP資料包文。當Controller收到ARP請求報文後,會查詢自己拓撲和ARP表項,給出回應,併傳送Packet_Out報文告訴vSwitch。當Controller收到IP資料包文後,會查詢路由表,給出回應,並下發表項給vSwitch指導其轉發。
由於Controller和vSwitch之間Openflow會話是通過TCP協議建立的,因此如果打入的packet_in報文的速率超過Controller的效能時,Controller上報文緩衝區就會慢慢變小,為了防止緩衝區溢位,就會存在TCP抑制現象,Controller會通過TCP協議通知傳送端降低傳送速率,那麼實際發包速率是達不到設定的速率的,因此存在TCP抑制的情況下,不能用設定的packet_in報文傳送速率來計算Controller
pacekt_in報文的處理效能。經過多次驗證,pacekt_in效能測試方法固化為:打入一定速率的packet_in報文,計算這些報文全部packet_out需要多少時間,然後再用報文總數除以這個時間得出報文處理速率,即packet_in效能。
現在主流的Controller,包括華三通訊的Controller都是基於JAVA語言開發的。因此執行Controller的伺服器的效能高低對Controller的效能有很大的影響。影響較大的包括:CPU頻率、Controller實際使用的執行緒數[c01]
、介面上送的埠頻寬(GE、10GE、還是聚合介面)。
實際使用的執行緒數:我司Controller可以定義VCE使用的執行緒數是固定的處理器執行緒數,還是總的處理器執行緒數減去某個值。比如,Controller軟體定義了處理Packet_in的執行緒數為22個,那麼在24處理器執行緒的伺服器上,實際使用的就是22個執行緒,但是在8處理器執行緒的伺服器上,實際使用的就是8個執行緒。
Controller做為整個SDN網路的大腦,必須有可靠的備份恢復機制,從鏈路故障、單點故障都有快速的檢測和切換機制來保證使用者業務。我司的Flare
Controller採用叢集設計,多個regeion組成一個叢集,每個region裡面有主備Controller。SDN網路典型的業務測試組網圖如圖3所示。
需要使用的H3C SDN Overlay網路虛擬化技術元件如下:
1、SDN Controller:H3C VCF Controller ,提供SDN
Overlay網路的管理部署視窗,北向開放雲控制系統REST介面實現和Openstack雲等平臺的對接,南向通過Openflow/NETCONF/OVSDB實現對物理或虛擬的網路裝置進行統一部署配置和轉發策略下發。SDN控制器通過叢集技術實現高可靠性,並支援叢集成員的平滑擴容/縮減。支援Vxlan網路和Vlan網路兩種型別網路的建立部署。
2、Vxlan VTEP:H3C s1020v vSwitch,支援標準的Openflow和OVSDB,被H3C VCF
控制器統一管理,作為VM接入Overlay網路的虛擬交換機,接受VCF控制器的統一配置和策略下發,實現出入VM流量的轉發。同時支援Vxlan型別網路轉發和Vlan型別網路的轉發。Vlan型別網路租戶虛機在S1020v
vSwitch上走傳統轉發流程。
3、VxLAN GW:H3C
S6800交換機,提供物理實體伺服器接入Overlay網路的VTEP裝置,支援NETCONF&Openflow,接受VCF控制器的統一配置和策略下發,實現出入物理伺服器的流量轉發。
4、Vxlan IP GW:H3C
S12500-F高階交換機,支援Openflow和NETCONF,接受VCF控制器統一配置和策略下發,作為Overlay網路閘道器,即虛擬網路的VM以及S6800下掛的物理伺服器的物理閘道器,實現虛擬網路和非虛擬網路(Internet)之間的流量轉發。H3C
SDN Overlay方案支援多個S12500-F裝置組成閘道器組備份,Overlay網路資訊在閘道器組內同步,閘道器組對Overlay網路提供統一的VTEP
IP地址,Overlay網路無需感知具體的GW成員裝置,當一個閘道器成員故障,流量在Underlay網路自動切換到另一個閘道器成員上。閘道器之間無需協議互動各自狀態,閘道器成員的狀態由控制器統一管理,控制器同時部署閘道器組內所有成員裝置且保證資料的一致性,真正實現閘道器組裝置的無狀態遷移。閘道器組VTEP
IP地址由各個閘道器組成員通過傳統的路由協議釋出到Underlay網路,天然支援Overlay網路業務流量在Underlay網路上的ECMP負載分擔。同時H3C
SDN Overlay方案支援多個VXLAN IP GW閘道器組之間的負載分擔,靈活承載Overlay網路的擴容。
如圖所示,虛線代表的管理網路就是控制平面,控制平面的恢復要測試如下內容:
Region內主控制器故障倒換到備控制器時間
vSwitch從感知主控制器故障切換到被控制器時間
叢集內主Leader控制器故障倒換到備Leader控制器時間
在採用Vxlan的Overlay解決方案中,資料平面的故障恢復時間要測試如下內容:
vSwitch和VM遷移至其他物理伺服器時間
GW主備倒換流量中斷時間;
VxLAN IP GW 單臺GW故障;
VxLAN IP GW 故障恢復。
一臺控制器管理的裝置和VM數量是有限的,大規模的組網,需要管理的裝置和VM更多,就需要Controller叢集。叢集核心機制是通過同時執行多個具備完整控制平面能力的實體並保持實體間的資料同步,達到在主用實體故障時備用實體快速接替工作的效果。叢集是高可靠性之一,也是Controller測試的重點和難點。難點在於怎樣在各種情況下,保證叢集各節點的資料的一致性,同時保證實時訊息反映資料的變化過程,是實時準確的備份到各個節點。同時實時資料的備份需要佔用大量的計算資源,有些資料採用批量訊息進行備份,實時備份和批量備份一般使用不同的通道,多通道資料傳送不能嚴格保序,使得批量訊息的時效性問題可能影響資料的正確性,這也是測試的難點之一。
一般來說叢集有如下一些效能指標,單控制器管理Openflow裝置數量、控制器叢集管理Openflow裝置數量以及Controller新建會話效能。
裝置及主機學習能力:SDN控制器要和所有管理的裝置建立Openflow會話,維持vSwitch埠和VM埠狀態,IP地址等資訊。
SDN
Controller的核心還是在於裝置的拓撲管理和路由路徑的計算能力。這些協議和傳統的路由協議型別。目前來看,主要是Openflow、BGP、arp、DHCP、DLDP、Netconf、PECP、SNMP等協議。這一塊和傳統的路由器所支援的協議差不多,也是華三通訊優勢之一。
安全防護能力有兩個方面的防護要求:
第一個是伺服器層面的安全防護能力,Controller程式現在一般基於Java開發,執行在Linux作業系統的宿主伺服器上,因此防範宿主伺服器遭受攻擊,這個安全技術和其他的Linux伺服器的防範技術相同。
第二個層面是針對Controller程式的攻擊,這個攻擊比如利用大量合法有效報文讓Controller進行無效的計算和浪費資源,影響Controller的效能,這個攻擊防範計算,華三通訊移植和創新了大量的傳統路由器和交換機的防攻擊技術在Controller中。比如傳統的arp攻擊行為,在VM上可能依然存在,Controller及OVS怎樣協作完成arp攻擊行為的識別和處理。
除了綜上所述的四方面關鍵效能指標,對於SDN Controller南北向介面的相容性、豐富性和易用性也是需要考慮的因素。對於SDN
Controller的選擇,Packet_in效能是一個重要的效能引數,由於現在主流Controller都基於Java語言開發,其效能和執行伺服器的效能有很大關係,各主流廠家的控制器經過各自努力比較容易先後都會達到相同數量級。但是對於Controller的可靠性技術,拓撲管理和路徑計算,這些效能指標都類似傳統路由器交換機的主要衡量指標,網路廠商在這些具有天然優勢。
理念層面主要有:iperf、Cbench、sFlow。
iperf是一款測試網路效能的工具,基於伺服器和客戶端模式,可以測試兩個虛擬機器之間的TCP和UDP頻寬質量,提供網路延時抖動、資料包丟失等資訊。
Cbench是一款測試openflow控制器效能的工具,模擬一定數量的交換機連線控制器,傳送packet-in訊息,並等待控制器下發flow-mod訊息,以此來衡量控制器的效能。
Cbench有兩種工作方式,分別是latency和throughput。latency指Cbench傳送一個packet_in訊息並等待控制器回覆匹配的flow
mod訊息,如此反覆,統計每秒鐘收到的flow
mod數量。throughput指Cbench一直髮送packet_in訊息直到控制器快取滿了為止,計算返回的flow
mod的數量,統計每秒控制器處理事務的數量。
sFlow是一種網路流量分析協議,sFlow流量監控工具監測裝置埠進行資料流隨機取樣,並且提供各介面的流量資訊。sFlow分為sFlow
agent和sFlow collector。sFlow內嵌在網路裝置中,獲取裝置的實時資訊後封裝成sFlow報文傳送給sFlow
collector。collector作為遠端伺服器,負責彙總、分析sFlow報文並且生成流量報告。
sFlow可以提供完整的第二層到第四層甚至全網範圍內的實時流量資訊,而且適用於超大網路流量環境下的流量分析,能夠詳細、實時地為使用者分析網路流量的效能、趨勢以及可能存在的問題。且幾乎不會對被統計的裝置造成任何負擔、管理成本極低。
Vecloud在全球的資料中心節點30個,POP節點超過200個,服務的大客戶超過300個,涉及金融、網際網路、遊戲、AI、教育、製造業、跨國企業等行業領域。http://www.vecloud.com/products/msp.html

相關文章