999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于標簽的SDN控制邏輯更新策略研究

2016-12-26 08:14:32楊艷梅
計算機應用與軟件 2016年11期
關鍵詞:機制

楊艷梅 盧 菁

(上海理工大學光電信息與計算機工程學院 上海 200093)

?

基于標簽的SDN控制邏輯更新策略研究

楊艷梅 盧 菁

(上海理工大學光電信息與計算機工程學院 上海 200093)

為減少控制邏輯更新導致的網絡時延,改進基于標簽的兩階段更新策略中的等待機制。改進后的機制中,控制器依次向新轉發路徑上的所有交換機安裝新的控制邏輯,轉發路徑上的入口交換機為數據流打上標簽(設置VLAN id),出口交換機去掉標簽,中間交換機根據數據流是否設置了標簽來決定是否發送packet_in。在Open vSwitch中實現了該機制,并通過Mininet仿真實驗驗證了該機制的可行性和有效性。

軟件定義網絡 控制邏輯更新 端到端時延 丟包 Open vSwitch

0 引 言

軟件定義網絡SDN[1],是一種新型網絡創新架構,其核心思想是將網絡設備控制平面與數據平面分離開來。數據平面只負責轉發數據;控制平面向數據平面下發控制邏輯,同時又向業務平面(應用程序)提供API;業務平面通過這些接口來集中配置、管理網絡設備。

目前基于OpenFlow的SDN 技術在數據中心等特定領域已有部署應用。然而 SDN 這種管控分離架構和OpenFlow協議本身都還不是很成熟,面臨著許多還未解決的問題[1,2],如轉發平面的設計問題、控制平面的可擴展性、控制邏輯的一致性等。本文針對控制邏輯的一致性這一問題進行研究。

在SDN中,為了實現路由切換、負載均衡、網絡維護等,需要更新各交換機上的控制邏輯,并確保控制邏輯的一致性。該一致性包含三個方面:首先是一個應用業務產生的控制邏輯要一致,即確保多條控制邏輯之間不能沖突,而且要確定多條控制邏輯的更新順序[3];其次是多個應用業務同時更新一個交換機的控制邏輯時,如何保證所有控制邏輯不沖突[4];再次是將一條控制邏輯更新到各個網絡設備時,如何保證該控制邏輯在各網絡設備上的一致性。本文將對最后一個問題進行研究。

1 相關研究

控制邏輯更新時,要保證數據流只能按照新的控制邏輯或者只能按照舊的控制邏輯來處理,而不能同時被新舊兩種控制邏輯處理。這個一致性更新問題的成果主要有基于時間的更新和基于標簽的兩階段更新。

文獻[5]提出了一種基于平均時延的一致性解決方案。該方案中,SDN控制器維護網絡拓撲和所有網絡節點間的平均時延,然后根據時延計算出控制邏輯在各個交換機上的安裝時刻以避免控制邏輯的不一致。文獻[6]首先對所有交換機進行時鐘同步;然后把控制邏輯依次下發到各交換機,同時告訴交換機加載該控制邏輯的時刻——在一條轉發路徑上,后面的交換機要比前面的交換機先加載。該機制被納入最新的OpenFlow 1.5規范。

基于標簽的兩階段更新[7]利用不同的VLAN標簽來標識新舊兩種控制邏輯。第一階段將新的控制邏輯下發到除入口交換機以外的其他后續交換機。第二階段是等第一階段完成之后再把新的控制邏輯下發到入口交換機。入口交換機為新進入的數據流打上新的標簽,后續交換機根據不同的標簽而用新舊兩種控制邏輯轉發數據流,出口交換機再把標簽去掉。等舊控制邏輯上的數據流都離開網絡之后,刪除舊的控制邏輯,至此完成整個更新操作。文獻[8]為減少兩階段更新過程中新舊控制邏輯所占流表空間,用通配符標簽對新舊控制邏輯進行合并。

OpenFlow協議[9]用TCP來確保發出的控制邏輯能到達對端,對控制邏輯的更新都是采用異步方式。當一條控制邏輯成功安裝在交換機上時不會給SDN控制器返回確認消息,只有安裝失敗或沖突時才會返回錯誤報告消息。因此兩階段更新等待機制很難實現,只能維護最大網絡時延,以及控制器和交換機之間的最大網絡時延,等一定時間再做下一步操作[5];而這個最大時延的維護相對復雜。文獻[6]需要同步交換機的時鐘,可以解決第一個等待問題,但第二個等待還是沒能很好解決。

減少兩階段更新中的第一個等待時間,可以更快地建立新的轉發路徑,交換機或控制器所需緩存的數據包也就越少,一定程度上可以減少端到端時延和丟包。為了盡快建立新的轉發路徑,本文對文獻[7]的兩階段更新機制TPU(Two Phase Update)的等待機制進行了修改,提出一種改進的基于標簽兩階段更新方案ETPU(Enhanced Two Phase Update)。

2 控制邏輯更新方案

圖1為一校園網宿舍區拓撲圖,從左到右依次為核心路由器、分流交換機、防火墻交換機、核心交換機、匯集交換機和接入交換機。為實現負載均衡,將一數據流的轉發路徑由S1->S3->S4->S5更新為S1->S3->S4->S6。

圖1 網絡拓撲圖

首先,控制器為該數據流計算新的轉發路徑,同時將新的控制邏輯依次下發到所有交換機(按照S1->S3->S4->S6的順序)。入口交換機(S1)為數據流執行PUSH操作,打上新的VLAN標簽(如原VLAN id加1,VLAN id占12 Bit),出口交換機執行POP操作把VLAN標簽去掉。新的數據包有可能在新的控制邏輯之前到達后續的交換機(如S3),該交換機根據匹配字段查找控制邏輯時將會失敗,通常交換機會往控制器發Packet-In消息去請求控制邏輯。

這時對OpenFlow交換機的行為加以修改:如果查找失敗的數據包中包含VLAN標簽,則認為VLAN標簽為控制器所設置,該數據包已經被控制器處理過,控制器已經為該數據包建立了轉發路徑。該交換機為轉發路徑上的一個節點,新的控制邏輯還沒有到達該交換機,因此該交換機僅緩存數據包并等待新的控制邏輯,而不發送Packet-In消息;新的控制邏輯成功安裝之后再根據新的控制邏輯來轉發緩存的數據包。

其次,針對何時刪除舊的控制邏輯這一問題,多數文獻是等待一個網絡時延之后由控制器發控制報文去刪除。本文曾嘗試獲取各交換機基于控制邏輯所處理的數據包個數,然后進行比較,進而判斷數據包是否已離開出口交換機。實驗表明其在某些網絡拓撲場景下可行,而有些場景下獲取數據包個數的控制報文往返用時反而大于最大網絡時延,而且網絡負載重時丟包嚴重,仍需依靠超時機制。為此,本文也將采用等待一定時間之后由控制器依次發送控制報文去刪除舊的控制邏輯的方法。不同的是等待時間變為從發完新控制邏輯開始等待最大網絡時延加上控制器到新轉發路徑上初始交換機的時延。

Open vSwitch的實現分為用戶空間進程和內核模塊,如圖2所示。內核模塊維護一張精確匹配的快速轉發表,根據該流表實現對數據包的快速處理。用戶空間進程(ovs-vswitchd)接收控制器下發的控制邏輯,維護一張包含通配符的流表和一張精確匹配的慢路徑轉發表,并將該精確匹配的慢路徑轉發表映射到內核空間的快路徑流表。

圖2 Open vSwitch消息處理流程圖

Open vSwitch對一個新的數據包的處理流程如下:

1) 從網卡收到一個數據包;

2) 內核空間函數ovs_dp_process_received_packet()(datapath/datapath.c),查找流表并執行相應action;

3) 若沒匹配到控制邏輯,則通過netLinks將該數據包傳到用戶空間;

4) 用戶空間的ovs-vswitchd調用handle_miss_upcalls()(ofproto/ofproto-dpif.c)對其進行處理,查找是否有與flow精確匹配的規則;

5) 如果不存在,則調用handle_flow_miss_common()向控制器發送packet_in;

6) 控制器向交換機中添加一條新的控制邏輯;

7) 將該規則同時保存到用戶空間和內核空間的流表;

8) 發送緩存的數據包;

9) 查找流表并做相應操作;

10) 把數據包從相應的端口發出去。

本文的做法是在第4步和第5步之間加一步:檢查數據包中是否設置了VLAN id。如設置則認為該數據包已經被控制器處理過,控制器已經為該數據流建立了轉發路徑。該交換機是轉發路徑上的一個節點,控制邏輯還沒有到達該交換機,因此不再發送packet_in,而是把數據包緩存起來等待新的控制邏輯。如不存在VLAN id則表明是新的數據流,然后執行第5步。

3 仿真分析

為了驗證本文方案的可行性,用Mininet網絡仿真平臺對該方案和文獻[7]中的兩階段更新機制分別進行仿真實驗,然后從控制邏輯更新時的網絡時延和丟包個數這兩個方面進行分析。

Mininet是一個極為輕量級的網絡仿真平臺,支持OpenFlow協議,可以通過OpenFlow協議連接外部的Open vSwitch和SDN控制器。本實驗中,基于POX網絡控制器來編寫控制邏輯更新算法;基于Open vSwitch1.9版本的代碼進行修改,在交換機中實現第2節中的機制。

仿真網絡拓撲如圖1所示,其中核心交換機(S5,S6)左邊的所有鏈路參數設置為bw=10,delay=1 ms,max_queue_size=40,loss=0,其中帶寬(bw)為10 Mbits/sec;核心交換機(S5,S6)右邊的所有鏈路參數為bw=5,delay=2 ms,max_queue_size=20,loss=0。為了測時延和丟包個數,我們分別在H1、H2和控制器上用tcpdump來抓包,并用Linux網絡性能測試工具iperf從H1發UDP包到H2。包的大小為1470 Bytes,發包速率為2 Mbits/sec,發包持續時間為10秒,每組執行10次取平均值。時延包括控制邏輯的更新周期和更新時影響到的包的平均時延,更新周期為從開始發新的控制邏輯到發完最后一條后刪除舊控制邏輯為止;丟包個數為10秒內的丟包個數。文獻[7]和本文的更新周期、端到端時延都受網絡規模的影響,因此將用圖1中的兩種路徑更新來分別比較更新周期和時延:P1=[S4,S5,S8,S10] 更新為P1′=[S4,S6,S8,S10];P2=[S1,S2,S4,S5,S8,S10]更新為P2′=[S1,S3,S4,S6,S8,S10]。

3.1 時 延

通過在交換機上抓包發現網絡最大時延為8.1 ms(S1到S11),控制器到交換機的最大時延為7.1 ms(C到S11)。時延仿真結果如表1所示,其中前兩行為控制器觸發的更新時延,后兩行為交換機觸發的更新時延,單位為毫秒(ms)。

表1 ETPU和TPU更新周期及時延

控制器觸發控制邏輯更新時,ETPU的更新周期為最大網絡時延,而TPU的更新周期需要加上控制器到交換機的最大網絡時延。在圖1的網絡拓撲下,本文方案的更新機制對數據包傳輸幾乎沒有影響,只比穩定狀態下多了0.1 ms。這是因為更新操作是由控制器觸發的,沒有packet_in的延時。P1->P1'時,新的規則到達S4時,發往后續交換機的控制邏輯更新報文也到達了S4,所以S4幾乎同時轉發出去數據包和控制報文,后續交換機也是如此;P2->P2'時,后續交換機先于S1安裝好新的控制邏輯,所以不存在額外的時延。TPU的端到端時延也不受影響,因為它是先在后續交換機上更新好新的控制邏輯。這時并不可轉發新的數據包,只有當入口交換機安裝了新的控制邏輯之后才會有新的數據流被轉發。

當鏈路故障,比如把鏈路狀態設為down,由交換機觸發控制邏輯更新時,ETPU的更新周期和控制器觸發的更新相比則多了將控制邏輯下發到初始交換機的時延,因為是從收到packet_in開始計算;TPU的更新周期不變。ETPU中數據流的端到端時延和控制器觸發的更新相比多了packet_in的時延和初始交換機安裝新控制邏輯的時延;而TPU則增加了packet_in的時延、初始交換機安裝新控制邏輯的時延和控制器到交換機的最大網絡時延。ETPU比TPU少了控制器到交換機的最大網絡時延。

3.2 丟 包

控制器觸發的控制邏輯更新不影響網絡的時延和丟包,因此只比較交換機觸發的更新對丟包的影響。iperf的發包速率分別為2 Mbits/sec和5 Mbits/sec,10秒鐘發包的總數分別為1701和4250個。同樣采用上述兩種路徑更新,其結果如表2所示。更新前后兩種機制下數據包的傳輸都是一樣的,所以兩種機制下丟包個數的差別主要是控制邏輯更新過程的不同所致。可以看出,iperf發包慢時,兩者差別不大;但當發包速率較大、網絡負載較重時,交換機要緩存的數據包個數也較多;同時由于TP建立好新轉發路徑用時較長,所以丟包個數也較多。

表2 ETPU和TPU的丟包個數

4 結 語

SDN中控制邏輯的更新通常需要更新轉發路徑上的多個交換機,本文提出的ETPU能有效縮短由交換機觸發的新建轉發路徑所用時間,降低控制邏輯更新對數據包轉發的影響,即降低端到端時延和丟包率。仿真實驗結果表明,當網絡負載重時,ETPU效果更加明顯。本文機制不僅適用于控制邏輯更新,同樣也適用于為數據流建立初始轉發路徑。缺點是需要用一個標志位(本文用VLAN id)來標識數據流是否已經被控制器處理過,入口交換機設置該標志位,出口交換機再將其去掉。雖有失通用性,但實現簡單有效。

[1] 張朝昆,崔勇,唐翯祎,等.軟件定義網絡(SDN)進展研究[J].軟件學報,2015,26(1):62-81.

[2] Nunes B A A,Mendonca M,Nguyen X N,et al.A survey of software-defined networking:Past,present,and future of programmable networks[J].IEEE Communications Surveys and Tutorials,2014,16(3):1617-1634.

[3] Xin Jin,Hongqiang Harry Liu,Rohan Gandhi,et al.Dynamic scheduling of network updates[C]//Proceedings of the 2014 ACM conference on SIGCOMM,2014:539-550.

[4] Canini M,Kuznetsov P,Levin D,et al.Software transactional networking:Concurrent and consistent policy composition[C]//Proceedings of the 2nd ACM SIGCOMM Workshop on Hot Topics Software Defined Network,2013:1-6.

[5] 宋海權,郭進,侯孟書,等.基于網絡時延的SDN邏輯一致性策略研究[J].電子科技大學學報,2014,43(5):730-735.

[6] Mizrahi T,Saat E,Moses Y.Timed consistent network updates[C]//ACM SIGCOMM Symposium on SDN Research (SOSR),2015:326-339.

[7] Mark Reitblatt,Nate Foster,Jennifer Rexford,et al.Abstractions for network update[C]//Proceedings of the ACM SIGCOMM 2012 conference on Applications,technologies,architectures, and protocols for computer communication,2012:323-334.

[8] Luo Shouxi,Yu Hongfang,Li Lemin.Consistency is Not Easy:How to Use Two-phase Update for Wildcard Rules[J].IEEE Communications Letters,2015,19(3):347-350.

[9] Open Networking Foundation(ONF).Openflow switch specification,version 1.5.0[EB/OL].[2014-12-19].https://www.opennetworking.org/.

RESEARCH ON LABEL-BASED SDN CONTROL LOGIC UPDATE POLICY

Yang Yanmei Lu Jing

(SchoolofOptical-ElectricalandComputerEngineering,UniversityofShanghaiforScienceandTechnology,Shanghai200093,China)

To reduce the end-to-end network delay caused by control logic update, we improved the waiting mechanism of label-based two-phase update policy. In the improved mechanism, the controller installs new control logic to all switches in new forwarding path in turn, the ingress switches on forwarding path label the data flow (setting VLAN id); the egress switches remove the label; and the middle switches, according to whether the labels are set on data flow, decide to send packet_in to controller or not. This scheme has been implemented in Open vSwitch, and has been verified through Mininet simulation experiment its feasibility and effectiveness.

Software defined network Control logic update End-to-end network delay Packet loss Open vSwitch

2015-09-01。楊艷梅,實驗師,主研領域:無線自組網絡,軟件定義網絡。盧菁,講師。

TP393.0

A

10.3969/j.issn.1000-386x.2016.11.023

猜你喜歡
機制
構建“不敢腐、不能腐、不想腐”機制的思考
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
“三項機制”為追趕超越蓄力
當代陜西(2018年9期)2018-08-29 01:21:00
丹鳳“四個強化”從嚴落實“三項機制”
當代陜西(2017年12期)2018-01-19 01:42:33
保留和突破:TPP協定ISDS機制中的平衡
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
氫氣對缺血再灌注損傷保護的可能機制
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
打基礎 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 亚洲精品动漫| 久久激情影院| 免费无码网站| 91无码国产视频| 日韩无码精品人妻| 99er精品视频| 国产精品人成在线播放| 成人午夜福利视频| 国产成人1024精品| 国产性精品| 国产麻豆精品久久一二三| 最新日本中文字幕| 欧美成人亚洲综合精品欧美激情 | 在线免费a视频| 亚洲v日韩v欧美在线观看| 国产激情无码一区二区免费| 精品自窥自偷在线看| 中国国语毛片免费观看视频| 中文字幕色站| 久久6免费视频| 激情六月丁香婷婷| 9cao视频精品| 欧美精品啪啪一区二区三区| 亚洲无码37.| 国产黄色视频综合| 亚洲国产中文综合专区在| 亚洲A∨无码精品午夜在线观看| 大学生久久香蕉国产线观看| 色婷婷狠狠干| 黄色国产在线| 欧美一级高清片久久99| 欧美精品高清| 久久久久国产精品免费免费不卡| 国产主播喷水| 欧美三级视频在线播放| 日本免费一级视频| 国产激情影院| 99re热精品视频中文字幕不卡| 亚洲—日韩aV在线| 99r在线精品视频在线播放| 日韩精品成人网页视频在线| 九色视频一区| 韩国v欧美v亚洲v日本v| 97se亚洲综合在线| 亚洲综合在线最大成人| 国产精品欧美亚洲韩国日本不卡| 亚洲精品日产AⅤ| 亚洲成人精品久久| a级毛片视频免费观看| 国产精品无码一区二区桃花视频| 日韩精品一区二区三区大桥未久| 国产精品999在线| 亚洲无码91视频| 国内99精品激情视频精品| 国产亚洲男人的天堂在线观看| 精品亚洲国产成人AV| 亚洲熟女中文字幕男人总站| 国产一区二区三区精品久久呦| av天堂最新版在线| 婷婷六月在线| 91在线视频福利| AV在线麻免费观看网站| 亚洲中文字幕23页在线| 国产精品深爱在线| 日本成人福利视频| 成人国产精品2021| 欧美色综合久久| 91热爆在线| 先锋资源久久| 国产91无码福利在线| 丁香六月综合网| 国产在线视频自拍| 国产精品自在线拍国产电影 | 亚洲国产成人久久77| 亚洲va视频| 人人妻人人澡人人爽欧美一区| 亚洲成人在线网| 成人一区在线| 日韩欧美一区在线观看| 67194在线午夜亚洲 | 免费毛片网站在线观看| 日韩乱码免费一区二区三区|