一種用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡及其流量疏導方法
【技術領域】
[0001]本發(fā)明屬于通信技術領域,尤其涉及一種用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡及其流量疏導方法。
【背景技術】
[0002]電力通信網(wǎng)中的子站與電力通信網(wǎng)中的主站之間的數(shù)據(jù)通信采用的是傳統(tǒng)的分布式網(wǎng)絡架構(gòu)。傳統(tǒng)封閉式的網(wǎng)絡架構(gòu)無法實現(xiàn)云計算等新服務的快速發(fā)展與部署。由于缺少全局網(wǎng)絡視圖,服務質(zhì)量也無法完全保證。軟件定義網(wǎng)絡利用全局網(wǎng)絡資源,通過開放可編程的接口實現(xiàn)按需服務部署,從而得到廣泛青睞。
[0003]但是,在現(xiàn)有軟件定義網(wǎng)絡架構(gòu)中,流表項的idle_timeout值設置較小,即經(jīng)過idle_timeout秒后,未能與數(shù)據(jù)包相匹配的流表項將快速過期。在這種情況下,若有數(shù)據(jù)包到達交換機,即使是與該數(shù)據(jù)包相匹配的流表項,也因被刪除而需重新建立,從而產(chǎn)生過大的處理延遲。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有方法存在的不足,本發(fā)明提供一種用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡及其流量疏導方法。
[0005]本發(fā)明所采用的技術方案是這樣實現(xiàn)的:
[0006]—種用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡,包括客戶終端,還包括一個集中式控制器和多個支持OpenFlow協(xié)議的交換機;
[0007]所述集中式控制器,用于與多個支持OpenFlow協(xié)議的交換機建立連接關系;向各交換機發(fā)送消息要求各交換機向其發(fā)送他們各自的物理特征和功能信息;對各交換機的屬性進行設置并刪除所有的流表項;根據(jù)交換機收集的鏈路信息,獲取整個網(wǎng)絡的拓撲;根據(jù)用戶請求信息及網(wǎng)絡拓撲,通過OpenFlow協(xié)議為每條數(shù)據(jù)流建立全局最短路徑;要求所述路徑上的交換機發(fā)送實時流量統(tǒng)計信息;根據(jù)動態(tài)流量統(tǒng)計信息,調(diào)整idle_timeout值,實現(xiàn)流量疏導;
[0008]所述交換機,用于與集中式控制器建立連接關系;將其物理特征和功能信息發(fā)送給集中式控制器;根據(jù)鏈路層發(fā)現(xiàn)協(xié)議將鏈路信息發(fā)送給集中式控制器;將用戶的請求信息發(fā)送給集中式控制器;應集中式控制器的要求,將流量統(tǒng)計信息發(fā)送給集中式控制器;
[0009]所述的用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡的流量疏導方法,包括如下步驟:
[0010]步驟1:集中式控制器與各支持OpenFlow協(xié)議的交換機之間協(xié)商雙方支持的OpenFlow協(xié)議版本,以建立連接關系;
[0011]步驟2:集中式控制器向各交換機發(fā)送消息要求各交換機向其發(fā)送他們各自的物理特征和功能信息;
[0012]步驟3:各交換機應集中式控制器要求向集中式控制器發(fā)送他們各自的物理特征和功能信息;
[0013]步驟4:集中式控制器對各交換機的屬性進行設置;
[0014]步驟5:集中式控制器對各交換機進行初始化設置,即刪除所有的流表項;
[0015]步驟6:各交換機根據(jù)鏈路層發(fā)現(xiàn)協(xié)議將鏈路信息發(fā)送給集中式控制器;
[0016]步驟7:根據(jù)交換機收集的鏈路信息,獲取整個網(wǎng)絡的拓撲;
[0017]步驟8:第一個收到用戶請求信息的交換機將其收到的用戶請求信息發(fā)送給集中式控制器;
[0018]步驟9:根據(jù)用戶請求信息及網(wǎng)絡拓撲,通過OpenFlow協(xié)議為用戶請求建立全局最短路徑;
[0019]步驟10:集中式控制器要求所述路徑上的交換機發(fā)送實時流量統(tǒng)計信息;
[0020]步驟11:根據(jù)動態(tài)流量統(tǒng)計信息,集中式控制器調(diào)整idle_timeout值,實現(xiàn)流量疏導;
[0021]方法為:先對匹配流表項的數(shù)據(jù)包數(shù)量進行統(tǒng)計,當數(shù)據(jù)包數(shù)量超過給定閾值后,提高流表項idle_timeout的值使其大于數(shù)據(jù)包間隔時間,而無需重新建立流表項,即可實現(xiàn)數(shù)據(jù)包與流表項匹配;
[0022]本發(fā)明的有益效果是:本發(fā)明將軟件定義網(wǎng)絡應用于電力數(shù)據(jù)通信中,使得電力數(shù)據(jù)通信獲得了全局網(wǎng)絡視圖,服務質(zhì)量得到較高質(zhì)量保證。又針對用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡提出一種流量疏導方法,動態(tài)設置idle_time0Ut值,由此,縮減了通信數(shù)據(jù)包處理延遲,提高了具有大規(guī)模數(shù)據(jù)通信量的電力數(shù)據(jù)通信的效率。
【附圖說明】
[0023]圖1為本發(fā)明實施方式的用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡拓撲示意圖;
[0024]圖2為本發(fā)明實施方式的軟件定義網(wǎng)絡工作原理圖;
[0025]圖3為本發(fā)明實施方式的流表項結(jié)構(gòu)示意圖;
[0026]圖4為本發(fā)明實施方式的用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡的流量疏導方法流程圖;
[0027]圖5為本發(fā)明實施方式的流量疏導方法中idle_timeout值調(diào)整方法示意圖;
[0028]圖6為本發(fā)明實施方式采用用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡的流量疏導方法與未采用流量疏導方法的平均通信延遲對比圖。
【具體實施方式】
[0029]下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步詳細說明。
[0030]本實施方式的用于電力數(shù)據(jù)通信的軟件定義網(wǎng)絡,如圖1所示,包括客戶終端主機1和主機2,還包括一個集中式控制器和7個支持OpenFlow協(xié)議的交換機;其中主機1負責發(fā)送數(shù)據(jù)包而主機2負責接收數(shù)據(jù)包。主機1相當于電力通信網(wǎng)中的子站,主機2相當于電力通信網(wǎng)中的主站,利用主機1和主機2模擬電力通信網(wǎng)中主站和子站之間的通信。其中,本實施方式的集中式控制器采用的是Ν0Χ ;采用OpenvSwitch,結(jié)合KVM虛擬化平臺生成七個支持OpenFlow協(xié)議的虛擬交換機。本實施方式中的Ν0Χ控制器、主機1和主機 2 的 IP 地址分別為 192.168.100.100,192.168.100.1,192.168.100.2。七個支持OpenFlow協(xié)議的虛擬交換機依次為BrO,Brl,Br2,Br3,Br4,Br5,Br6,它們的IP地址依次為 192.168.100.20,192.168.100.21,192.168.100.22,192.168.100.23,192.168.100.24,192.168.100.25,192.168.100.26。
[0031]軟件定義網(wǎng)絡中的數(shù)據(jù)轉(zhuǎn)發(fā)是基于流的操作。交換機按照流表項的規(guī)則來轉(zhuǎn)發(fā)數(shù)據(jù)包,所有的網(wǎng)絡控制功能由Ν0Χ控制器中的網(wǎng)絡應用來完成。如圖2所示,Ν0Χ控制器主要包括Ν0Χ的核心模塊和網(wǎng)絡應用模塊。其中核心模塊主要包括:線程庫模塊;事件調(diào)度模塊;應用部署模塊;0penFlOW數(shù)據(jù)的解析與封裝模塊;連接管理模塊等。其中,線程庫模塊用于提供操作系統(tǒng)的線程操作。事件調(diào)度模塊負責將產(chǎn)生的事件調(diào)度給相應的應用,以便對事件做出相應的處理。應用部署模塊負責協(xié)調(diào)各個應用之間的部署執(zhí)行。OpenFlow數(shù)據(jù)包的解析與封裝模塊用于解析與封裝OpenFlow協(xié)議數(shù)據(jù)包。連接管理模塊負責控制器與交換機之間的連接建立。網(wǎng)絡應用模塊主要包括:存儲應用;發(fā)現(xiàn)應用;主機跟蹤應用;認證應用;拓撲應用;路由應用;監(jiān)控應用;生成樹應用;流量疏導應用等。存儲應用用于存儲交換機的基本信息。發(fā)現(xiàn)應用負責發(fā)現(xiàn)底層交換機,通過Packet_0Ut消息命令交換機發(fā)送LLDP包進而發(fā)現(xiàn)鏈路,并拋出link event事件。主機跟蹤應用用于對接入網(wǎng)絡的主機進行跟蹤。認證應用負責跟蹤網(wǎng)絡中主機和交換機的位置。拓撲應用用于保存網(wǎng)絡中目前激活的鏈路結(jié)構(gòu)。負責維護和更新整個底層物理網(wǎng)絡的拓撲。路由應用用于利用動態(tài)最短路徑算法計算出節(jié)點之間的路徑。監(jiān)控應用負責收集和保持網(wǎng)絡中的交換機、流表、隊列以及端口的統(tǒng)計信息。生成樹應用模塊是選路模塊必不可少的底層模塊。在OpenFlow網(wǎng)絡中,控制器可以通過Port_mod消息對交換機的物理端口進行設置,可以使該端口對廣播包進行丟棄。這意味著即使交換機收到對數(shù)據(jù)包的洪泛的命令,該數(shù)據(jù)包也僅僅是從確定的幾個端口發(fā)送出去,而不是交換機上的所有端口,這樣就避免了廣播風暴。流量疏導應用用于利用多流統(tǒng)計消息動態(tài)統(tǒng)計匹配數(shù)據(jù)包的個數(shù),當流表項匹配數(shù)據(jù)包的個數(shù)超過預設的閾值時,修改Idle_timeout的值進而減少流表重建立的時間,降低數(shù)據(jù)傳輸?shù)亩说蕉藭r延。
[0032]流表由很多個流表項組成,每個流表項就是一個轉(zhuǎn)發(fā)規(guī)則。進入交換機的數(shù)據(jù)包通過查詢流表來獲得轉(zhuǎn)發(fā)的目的端口。流表項如圖3所示,由頭域、計數(shù)器和操作組成。其中,頭域是個十元組,是流表項的標識;計數(shù)器用來計數(shù)流表項的統(tǒng)計數(shù)據(jù);操作標明了與該流表項匹配的數(shù)據(jù)包應該執(zhí)行的操作。0F安全通道連接OpenvSwitch交換機和Ν0Χ控制器。Ν0Χ控制器通過這個接口控制和管理OpenvSwitch交換機,同時控制器接收來自交換機的事件并向交換機發(fā)