两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種用于SDN網絡的路徑確定方法及裝置與流程

文檔序號:11930140閱讀:256來源:國知局
一種用于SDN網絡的路徑確定方法及裝置與流程

本發(fā)明涉及信息與通信技術領域,特別是涉及一種用于SDN網絡的路徑確定方法及裝置。



背景技術:

SDN(Software Defined Network,軟件定義網絡)是一種新型網絡架構,其原理是通過將網絡設備控制面與數據面分離開來,從而實現網絡流量的靈活控制。

在SDN網絡中,網絡功能通常集中到一個中心化的控制器上,控制器可掌握整個網絡的網絡狀態(tài)。其中,網絡狀態(tài)通常包括:SDN網絡中包括的交換機的個數,各交換機的開關狀態(tài),SDN網絡中包括的鏈路的數量,各鏈路具體的連接方式,各鏈路當前的利用率等。

通常情況下,在SDN網絡中,從一臺交換機到另一臺交換機的轉發(fā)路徑不是唯一的。因此,當從一臺交換機發(fā)送某個數據包到另一臺交換機時,需要控制器為該數據包選擇轉發(fā)路徑。并且,針對任兩臺交換機,其不同的轉發(fā)路徑對應的能量損耗是不同的。因此,控制器在選擇轉發(fā)路徑時,可以選擇一條能耗最小的轉發(fā)路徑,以達到節(jié)能的效果。

現有技術中提供了一種利用SDN技術進行流量控制的TER(Traditional energy saving routing,傳統(tǒng)節(jié)能路由)方法,該方法只考慮了轉發(fā)路徑上的交換機的開啟能耗和占用轉發(fā)帶寬產生的能耗,并沒有考慮其他因素產生的能耗。因此,TER方法的計算結果不夠準確,根據TER方法得到的轉發(fā)路徑并不一定是能耗最小的轉發(fā)路徑。



技術實現要素:

本發(fā)明實施例的目的在于提供一種用于SDN網絡的路徑確定方法及裝置,在計算SDN網絡中耗能最小的路徑時,既考慮了轉發(fā)路徑上的交換機的開啟能耗和占用轉發(fā)帶寬產生的能耗,又考慮了控制路徑上的交換機的開啟能耗和占用控制帶寬產生的能耗,從而能夠確定能耗最小的轉發(fā)路徑。

為達到上述目的,本發(fā)明實施例提供了一種用于SDN網絡的路徑確定方法,應用于控制器,所述方法包括:

獲取目標流請求中包括的第一標識信息和第二標識信息,根據所述第一標識信息確定起始交換機,根據所述第二標識信息確定終點交換機;

對所述起始交換機進行標記,將所述起始交換機確定為當前被標記交換機;

判斷當前被標記交換機是否為終點交換機;

如果否,查找當前被標記交換機的未被標記的近鄰交換機,計算各近鄰交換機的激活能耗;根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗;對激活能耗最小的近鄰交換機進行標記;繼續(xù)執(zhí)行所述判斷當前被標記交換機是否為終點交換機的步驟。其中,交換機的激活能耗包括從所述起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑占用轉發(fā)帶寬產生的能耗;

如果是,確定所述終點交換機的當前最小激活能耗,并將該當前最小激活能耗對應的轉發(fā)路徑確定為從所述起始交換機到終點交換機的最小能耗轉發(fā)路徑。

優(yōu)選地,所述根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗的步驟,包括:

判斷當前計算得到的目標近鄰交換機的激活能耗是否小于所述目標近鄰交換機已存儲的激活能耗;所述目標近鄰交換機為各近鄰交換機中任意一個;

如果是,將當前計算得到的目標近鄰交換機的激活能耗確定為所述當前最小激活能耗;

如果否,將已存儲的激活能耗確定為所述當前最小激活能耗。

優(yōu)選地,所述獲取目標流請求中包括的第一標識信息和第二標識信息之前,所述方法還包括:

接收多個流請求;

獲取各流請求中包括的占用帶寬;

將占用帶寬最大的流請求確定為目標流請求。

優(yōu)選地,所述方法還包括:

確定所述最小能耗轉發(fā)路徑中的所有交換機的最短控制路徑;

開啟所述最小能耗轉發(fā)路徑中的所有未開啟交換機,以及各交換機的最短控制路徑中的所有未開啟交換機。

優(yōu)選地,任一交換機i的激活能耗ECP(i)的計算公式為:

其中,所述Ebase為各交換機的開啟能耗,所述μ(i)為所述交換機i的狀態(tài)值,所述μ(x)為所述交換機i的控制路徑中任一交換機的狀態(tài)值,所述Xi為該控制路徑中所有交換機的集合,所述Yi為該控制路徑中鏈路的集合,所述Eavg為鏈路每占用單位控制帶寬的能耗,ρ(y)為該控制路徑中各鏈路的狀態(tài)值,為控制帶寬。

本發(fā)明實施例還提供了一種用于SDN網絡的路徑確定裝置,應用于控制器,所述裝置包括:

第一獲取模塊,獲取目標流請求中包括的第一標識信息和第二標識信息,根據所述第一標識信息確定起始交換機,根據所述第二標識信息確定終點交換機;

第一確定模塊,用于對所述起始交換機進行標記,將所述起始交換機確定為當前被標記交換機;

判斷模塊,用于判斷當前被標記交換機是否為終點交換機;

計算模塊,用于當所述判斷模塊判斷結果為否時,查找當前被標記交換機的未被標記的近鄰交換機,計算各近鄰交換機的激活能耗;根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗;對激活能耗最小的近鄰交換機進行標記;觸發(fā)所述判斷模塊;交換機的激活能耗包括從所述起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑占用轉發(fā)帶寬產生的能耗;

第二確定模塊,用于當所述判斷模塊判斷結果為是時,確定所述終點交換機的當前最小激活能耗,并將該當前最小激活能耗對應的轉發(fā)路徑確定為從所述起始交換機到終點交換機的最小能耗轉發(fā)路徑。

優(yōu)選地,所述計算模塊,包括:

判斷單元,用于判斷當前計算得到的目標近鄰交換機的激活能耗是否小于所述目標近鄰交換機已存儲的激活能耗;所述目標近鄰交換機為各近鄰交換機中任意一個;

第一確定單元,用于當所述判斷單元判斷結果為是時,將當前計算得到的目標近鄰交換機的激活能耗確定為所述當前最小激活能耗;

第二確定單元,用于當所述判斷單元判斷結果為否時,將已存儲的激活能耗確定為所述當前最小激活能耗。

優(yōu)選地,所述裝置還包括:

接收模塊,用于接收多個流請求;

第二獲取模塊,用于獲取各流請求中包括的占用帶寬;

第三確定模塊,用于將占用帶寬最大的流請求確定為目標流請求。

優(yōu)選地,所述裝置還包括:

第四確定模塊,用于確定所述最小能耗轉發(fā)路徑中的所有交換機的最短控制路徑;

開啟模塊,用于開啟所述最小能耗轉發(fā)路徑中的所有未開啟交換機,以及各交換機的最短控制路徑中的所有未開啟交換機。

優(yōu)選地,任一交換機i的激活能耗ECP(i)的計算公式為:

其中,所述Ebase為各交換機的開啟能耗,所述μ(i)為所述交換機i的狀態(tài)值,所述μ(x)為所述交換機i的控制路徑中任一交換機的狀態(tài)值,所述Xi為該控制路徑中所有交換機的集合,所述Yi為該控制路徑中鏈路的集合,所述Eavg為鏈路每占用單位控制帶寬的能耗,ρ(y)為該控制路徑中各鏈路的狀態(tài)值,為控制帶寬。

本發(fā)明實施例提供的一種用于SDN網絡的路徑確定方法及裝置,通過獲取目標流請求中的第一標識信息和第二標識信息,確定對應的起始交換機與終點交換機,對起始交換機進行標記,判斷當前被標記交換機是否為終點交換機;如果否,查找當前被標記交換機的未被標記的近鄰交換機,計算各近鄰交換機的激活能耗;根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗;對激活能耗最小的近鄰交換機進行標記;繼續(xù)執(zhí)行判斷當前被標記交換機是否為終點交換機的步驟;如果是,確定終點交換機的當前最小激活能耗,并將該當前最小激活能耗對應的轉發(fā)路徑確定為從所述起始交換機到終點交換機的最小能耗轉發(fā)路徑。

本實施例中,在計算交換機的激活能耗時,考慮了從起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑占用轉發(fā)帶寬產生的能耗;而現有方法只考慮了轉發(fā)路徑上的交換機的開啟能耗和占用轉發(fā)帶寬產生的能耗,并沒有考慮SDN控制功能產生的能耗,因此,本實施例的計算過程相比現有方法的計算過程更適用于SDN帶內模式,計算結果更加準確,可以確定能耗更小的轉發(fā)路徑,進一步優(yōu)化SDN網絡,使整個網絡更加節(jié)能。

附圖說明

為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的用于SDN網絡的路徑確定方法的流程圖;

圖2為本發(fā)明實施例提供的SDN網絡的網絡拓撲示意圖;

圖3為圖1中根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗的流程圖;

圖4為本發(fā)明實施例提供的控制路徑優(yōu)化方法的流程圖;

圖5為本發(fā)明實施例提供的能耗比率隨交換機數量的變化曲線圖;

圖6為本發(fā)明實施例提供的能耗值隨連通度參數的變化柱形圖;

圖7為本發(fā)明實施例提供的能耗值隨流請求數量的變化柱形圖;

圖8為本發(fā)明實施例提供的能耗值隨流請求密度的變化柱形圖;

圖9為本發(fā)明實施例提供的用于SDN網絡的路徑確定裝置的結構示意圖;

圖10為圖9中計算模塊的結構示意圖。

具體實施方式

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

在SDN網絡中,當終端A發(fā)送一個數據包到終端B時,該數據包中通常會包括終端A要傳送的具體內容信息,以及起始交換機(終端A連接的交換機)的物理地址、終點交換機(終端B連接的交換機)的物理地址以及該數據包的占用帶寬。該數據包首先達到起始交換機,起始交換機會將起始交換機的物理地址、終點交換機的物理地址以及占用帶寬以流請求的形式,發(fā)送給控制器,控制器接收到該流請求后,可以根據起始交換機的物理地址、終點交換機的物理地址以及占用帶寬為數據包選擇一條轉發(fā)路徑,并為該轉發(fā)路徑中的每個交換機計算轉發(fā)該數據包所需要的流表規(guī)則。然后,控制器把這個流表規(guī)則下發(fā)給轉發(fā)路徑上的所有交換機,以使轉發(fā)路徑上的各交換機按照流表規(guī)則轉發(fā)該數據包。

控制器將流表規(guī)則下發(fā)給轉發(fā)路徑上的某一個交換機之前,需要通過控制路徑對該交換機進行激活??刂破骷せ钅硞€交換機時,需要保證該交換機對應的控制路徑中所有交換機處于開啟狀態(tài),然后通過控制路徑下發(fā)流表規(guī)則和一些控制信號來激活該交換機。因此,在激活轉發(fā)路徑中的交換機時,該交換機對應的控制路徑也是要產生能耗的。

由上述可知,要實現數據包從用戶A傳輸到用戶B,不僅要保證起始交換機和終點交換機之間的轉發(fā)路徑上所有的交換機都處于開啟狀態(tài),還要保證該轉發(fā)路徑上每個交換機對應的控制路徑上所有交換機都處于開啟狀態(tài)??刂破髟跒槟骋粩祿x擇不同的轉發(fā)路徑時,所需要激活的控制路徑也不同。選擇不同的轉發(fā)路徑將導致整個SDN網絡為轉發(fā)該數據包所需的能耗不同,因此,在選擇能耗最小的轉發(fā)路徑時,需要考慮該轉發(fā)路徑中所有交換機的控制路徑產生的能耗。

為了達到上述目的,本發(fā)明實施例提供了一種用于SDN網絡的路徑確定方法及裝置,下面首先對本發(fā)明實施例提供的用于SDN網絡的路徑確定方法進行介紹。

圖1為本發(fā)明實施例提供的用于SDN網絡的路徑確定方法的流程圖,該方法應用于SDN網絡中的控制器,該方法包括:

S110,獲取目標流請求中包括的第一標識信息和第二標識信息,根據所述第一標識信息確定起始交換機,根據所述第二標識信息確定終點交換機。

具體地,當控制器只接收到一條流請求時,可以將該流請求作為目標流請求。標識信息可以為目標流請求中攜帶的交換機的物理地址。進一步地,第一標識信息為起始交換機的物理地址,第二標識信息為終點交換機的物理地址??刂破骺筛鶕髡埱笾袛y帶的起始交換機的物理地址獲知要發(fā)送數據包的終端連接的起始交換機,根據終點交換機的物理地址獲知數據包要發(fā)送到的終端連接的終點交換機。

可選地,當控制器接收到多條流請求時,還可以從所有的流請求中選出一條作為目標流請求。為了解決該問題,在步驟S110之前,所述方法還包括:

A1、接收多個流請求;

A2、獲取各流請求中包括的占用帶寬;

A3、將占用帶寬最大的流請求確定為目標流請求。

具體地,流請求中還包括對應的數據包的占用帶寬,當控制器接收到多條流請求時,控制器獲取每個流請求中的占用帶寬,并按照占用帶寬從大到小的順序對每個流請求進行排序,以形成隊列,控制器將隊列中的第一個流請求作為目標流請求。當控制器為隊列中第一個流請求選擇轉發(fā)路徑后,將第二個流請求作為目標流請求,并為其選擇轉發(fā)路徑,按此方法,可依次為接收到的所有流請求選擇相應的轉發(fā)路徑。

S120,對所述起始交換機進行標記,將所述起始交換機確定為當前被標記交換機。

S130,判斷當前被標記交換機是否為終點交換機。

具體地,上述當前被標記交換機表示的是最新被標記的交換機。當控制器在獲知接收到的某條流請求中對應的起始交換機后,對該起始交換機進行標記,并判斷起始交換機是否為終點交換機。

S140,如果否,查找當前被標記交換機的未被標記的近鄰交換機,計算各近鄰交換機的激活能耗;根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗;對激活能耗最小的近鄰交換機進行標記;繼續(xù)執(zhí)行所述判斷當前被標記交換機是否為終點交換機的步驟;交換機的激活能耗包括從所述起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑占用轉發(fā)帶寬產生的能耗。

交換機的開啟能耗為開啟交換機后,交換機處于工作狀態(tài)產生的能耗。本實施例中,可以預先設定所有交換機的開啟能耗均相同,則任一交換機i的激活能耗ECP(i)的計算公式可以表示為:

其中,Ebase為各交換機的開啟能耗,μ(i)為交換機i的狀態(tài)值,μ(x)為交換機i的控制路徑中任一交換機的狀態(tài)值,Xi為該控制路徑中所有交換機的集合,Yi為該控制路徑中鏈路的集合,Eavg為鏈路每占用單位控制帶寬的能耗(如每占用一兆帶寬產生的能耗),ρ(y)為該控制路徑中各鏈路的狀態(tài)值,為控制帶寬。

舉例而言,當交換機i的控制路徑中的某個交換機處于開啟狀態(tài)時,μ(x)=0,該交換機處于關閉狀態(tài)時,μ(x)=1;當控制路徑中某條鏈路兩端的交換機均處于開啟狀態(tài)時,ρ(y)=0,反之,ρ(y)=1。

具體地,交換機的激活能耗包括從所述起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑中未開啟的轉發(fā)鏈路占用轉發(fā)帶寬產生的能耗。

舉例而言,圖2為本發(fā)明實施例提供的SDN網絡的網絡拓撲示意圖,設起始交換機為交換機1,終點交換機為交換機5,圖中實線表示的是物理鏈路(即控制路徑和轉發(fā)路徑共享的鏈路),虛線表示的是邏輯的控制鏈路(即控制路徑所在的鏈路)。

對于交換機1而言,其控制路徑為“控制器-交換機2-交換機1”,為了激活交換機1,則要求交換機2處于開啟狀態(tài),設當前網絡中處于開啟狀態(tài)的交換機為交換機1和交換機2。

對于路徑“交換機1-交換機2-交換機3”而言,交換機3的激活能耗包括交換機3所在控制路徑(“控制器-交換機2-交換機3”)中所有處于未開啟狀態(tài)交換機的開啟能耗(由于交換機2已經開啟,則此時只包含交換機3的開啟能耗),該控制路徑占用控制帶寬產生的能耗(即交換機2和交換機3之間的鏈路占用控制帶寬產生的能耗),以及交換機1到該交換機3間的轉發(fā)路徑占用轉發(fā)帶寬產生的能耗(即交換機1和交換機2之間的鏈路、交換機2和交換機3之間的鏈路占用轉發(fā)帶寬產生的能耗)。

對于路徑“交換機1-交換機4”而言,交換機4的激活能耗包括交換機4所在控制路徑(“控制器-交換機2-交換機3-交換機4”)中所有處于未開啟狀態(tài)交換機的開啟能耗(由于交換機2已經開啟,則此時只包含交換機3和交換機4的開啟能耗),該控制路徑占用控制帶寬產生的能耗(即交換機2和交換機3之間的鏈路、交換機3和交換機4之間的鏈路占用控制帶寬產生的能耗),以及交換機1到該交換機4間的轉發(fā)路徑占用轉發(fā)帶寬產生的能耗(即交換機1和交換機4之間的鏈路占用轉發(fā)帶寬產生的能耗)。

優(yōu)選地,圖3為圖1中根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗的流程圖,包括:

S141、判斷當前計算得到的目標近鄰交換機的激活能耗是否小于所述目標近鄰交換機已存儲的激活能耗;如果是,執(zhí)行步驟S142;如果否,執(zhí)行步驟S143。

具體地,目標近鄰交換機為各近鄰交換機中任意一個。當控制器計算某一個目標近鄰交換機的激活能耗后,會存儲該激活能耗(此時為之前已經存儲的激活能耗);在多次循環(huán)后,有可能會再次計算得到該目標近鄰交換機的激活能耗(此時為當前計算得到的目標近鄰交換機的激活能耗),兩次的計算結果并不一定相同,此時需要比較二者的大小。

S142、將當前計算得到的目標近鄰交換機的激活能耗確定為所述當前最小激活能耗。

S143、將已存儲的激活能耗確定為所述當前最小激活能耗。

具體地,如果當前計算得到的目標近鄰交換機的激活能耗小于已經存儲的激活能耗,則說明采用當前的激活能耗對應的轉發(fā)路徑消耗的能量更少,此時將當前計算得到的目標近鄰交換機的激活能耗確定為當前最小激活能耗。

如果當前計算得到的目標近鄰交換機的激活能耗不小于已經存儲的激活能耗,則說明采用已存儲的激活能耗對應的轉發(fā)路徑消耗的能量更少,此時將已存儲的激活能耗確定為當前最小激活能耗。

下面以圖2為例,具體說明步驟S140的具體實現過程。

如圖2所示,當判斷出當前被標記交換機1不為終點交換機5,則查找當前被標記交換機1的未被標記的近鄰交換機(此時為交換機2和交換機4)。此時交換機2的轉發(fā)路徑為“交換機1-交換機2”,由于交換機1、交換機2、交換機1和交換機2之間的鏈路均開啟,則交換機2的激活能耗包括交換機1和交換機2間的鏈路占用轉發(fā)帶寬產生的能耗。交換機4的激活能耗包括交換機3和交換機4的開啟能耗,交換機2和交換機3之間的鏈路、交換機3和交換機4之間的鏈路占用控制帶寬產生的能耗,交換機1和交換機4之間的鏈路占用轉發(fā)帶寬產生的能耗。

根據上述可知,交換機2的激活能耗小于交換機4的激活能耗,則對交換機2進行標記。將當前計算得到的交換機2的激活能耗確定為交換機2的最小激活能耗(此時可認為已經存儲的交換機2的激活能耗為無窮大)。繼續(xù)判斷當前被標記交換機2是否為終點交換機。

當判斷出當前被標記交換機2不為終點交換機5,則查找當前被標記交換機2的未被標記的近鄰交換機(此時為交換機3)。此時交換機3的轉發(fā)路徑為“交換機1-交換機2-交換機3”,由于交換機1、交換機2、交換機1和交換機2之間的鏈路均開啟,則交換機3的激活能耗包括交換機3的開啟能耗,交換機1和交換機2間的鏈路、交換機2和交換機3間的鏈路占用轉發(fā)帶寬產生的能耗,交換機2和交換機3間的鏈路占用控制帶寬產生的能耗。

對交換機3進行標記,將當前計算得到的交換機3的激活能耗確定為交換機3的最小激活能耗(此時可認為已經存儲的交換機3的激活能耗為無窮大)。繼續(xù)判斷當前被標記交換機3是否為終點交換機。

當判斷出當前被標記交換機3不為終點交換機5,則查找當前被標記交換機3的未被標記的近鄰交換機(此時為交換機4和交換機5)。此時交換機4的轉發(fā)路徑為“交換機1-交換機2-交換機3-交換機4”,由于交換機1、交換機2、交換機1和交換機2之間的鏈路均開啟,則交換機4的激活能耗包括交換機3和交換機4的開啟能耗,交換機2和交換機3間的鏈路、交換機3和交換機4間的鏈路占用控制帶寬產生的能耗,交換機1和交換機2間的鏈路、交換機2和交換機3間的鏈路、交換機3和交換機4間的鏈路占用轉發(fā)帶寬產生的能耗。由于當前計算得到的交換機4的激活能耗大于之前存儲的激活能耗,因此,仍然將之前存儲的激活能耗作為交換機4的當前最小激活能耗。

此時交換機5的轉發(fā)路徑為“交換機1-交換機2-交換機3-交換機5”,由于交換機1、交換機2、交換機1和交換機2之間的鏈路均開啟,則交換機5的激活能耗包括交換機3和交換機5的開啟能耗,交換機2和交換機3之間的鏈路、交換機3和交換機5之間的鏈路占用控制帶寬產生的能耗,交換機1和交換機2之間的鏈路、交換機2和交換機3之間的鏈路、交換機3和交換機5之間的鏈路占用轉發(fā)帶寬產生的能耗。將當前計算得到的交換機5的激活能耗確定為交換機5的最小激活能耗(此時可認為已經存儲的交換機5的激活能耗為無窮大)。

此處交換機4的激活能耗小于交換機5的激活能耗,則標記交換機4,繼續(xù)判斷當前被標記交換機4是否為終點交換機5。

當判斷出當前被標記交換機4不為終點交換機5,則查找當前被標記交換機4的未被標記的近鄰交換機(此時為交換機5)。此時交換機5的轉發(fā)路徑為“交換機1-交換機4-交換機5”,由于交換機1和交換機2均開啟,則交換機5的激活能耗包括交換機3、交換機4和交換機5的開啟能耗,交換機2和交換機3間的鏈路、交換機3和交換機4間的鏈路、交換機3和交換機5間的鏈路占用控制帶寬產生的能耗,交換機1和交換機4間的鏈路、交換機4和交換機5間的鏈路占用轉發(fā)帶寬產生的能耗。由于當前計算得到的交換機5的激活能耗大于之前存儲的激活能耗,因此,仍然將之前存儲的激活能耗作為交換機5的當前最小激活能耗。

對交換機5進行標記,繼續(xù)判斷交換機5是否為終點交換機5。

S150,確定所述終點交換機的當前最小激活能耗,并將該當前最小激活能耗對應的轉發(fā)路徑確定為從所述起始交換機到終點交換機的最小能耗轉發(fā)路徑。

舉例而言,當交換機5為終點交換機5時,此時控制器已經存儲著關于交換機5的當前最小激活能耗,即步驟S140中的轉發(fā)路徑“交換機1-交換機2-交換機3-交換機5”對應的激活能耗,因此可將該轉發(fā)路徑確定為從起始交換機到終點交換機的最小能耗轉發(fā)路徑。

需要說明的是,交換機的激活能耗并不是一個固定的值,它取決于當前計算的轉發(fā)路徑上,該交換機是否開啟,該交換機的控制路徑上的網交換機又是否開啟。

本發(fā)明實施例提供的一種用于SDN網絡的路徑確定方法,通過獲取目標流請求中的第一標識信息和第二標識信息,確定對應的起始交換機與終點交換機,對起始交換機進行標記,判斷當前被標記交換機是否為終點交換機;如果否,查找當前被標記交換機的未被標記的近鄰交換機,計算各近鄰交換機的激活能耗;根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗;對激活能耗最小的近鄰交換機進行標記;繼續(xù)執(zhí)行判斷當前被標記交換機是否為終點交換機的步驟;如果是,確定終點交換機的當前最小激活能耗,并將該當前最小激活能耗對應的轉發(fā)路徑確定為從所述起始交換機到終點交換機的最小能耗轉發(fā)路徑。

本實施例中,在計算交換機的激活能耗時,考慮了從起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑占用轉發(fā)帶寬產生的能耗;而現有方法只考慮了轉發(fā)路徑上的交換機的開啟能耗和占用轉發(fā)帶寬產生的能耗,并沒有考慮SDN控制功能產生的能耗,因此,本實施例的計算過程比現有方法的計算過程更適用于SDN帶內模式,計算結果更加準確,可以確定能耗更小的轉發(fā)路徑,進一步優(yōu)化SDN網絡,使整個網絡更加節(jié)能。

優(yōu)選地,當控制器接收到多條流請求時,在為每條流請求選擇最小能耗的轉發(fā)路徑時,還需要考慮轉發(fā)路徑中的鏈路是否能夠滿足流請求中的占用帶寬的大小,如果不滿足,則需要為流請求選擇其他的轉發(fā)路徑。

每個交換機的控制路徑是唯一的,但是控制器到每個交換機的路徑不是唯一的,因此需要選擇一條能耗最小的路徑作為控制路徑,以進一步降低SDN網絡的能耗,為了解決該問題,該方法還包括:

B1、確定所述最小能耗轉發(fā)路徑中的所有交換機的最短控制路徑。

B2、開啟所述最小能耗轉發(fā)路徑中的所有未開啟交換機,以及各交換機的最短控制路徑中的所有未開啟交換機。

本實施例中,確定某一個交換機的最短控制路徑的方法,可以按照控制器到該交換機的跳數進行選取得到,優(yōu)選為選擇跳數最少的路徑作為最短控制路徑。例如,假設交換機2的控制路徑可以為“控制器-交換機7-交換機8-交換機2”或者“控制器-交換機9-交換機2”,則選擇路徑“控制器-交換機9-交換機2”作為交換機2的最短控制路徑。

具體地,當控制器接收到一條或多條流請求時,為各流請求完成最小能耗轉發(fā)路徑的選擇后,開啟SDN網絡中所有最小能耗轉發(fā)路徑中的所有未開啟交換機,以及各最小能耗轉發(fā)路徑種的各交換機對應的最短控制路徑中的所有未開啟交換機,然后按照圖4所示的方法,優(yōu)化各控制路徑。圖4為本發(fā)明實施例提供的控制路徑優(yōu)化方法的流程圖,該方法的原理為:

對SDN網絡中的所有交換機進行分類,將處于開啟狀態(tài)的交換機添加到集合V1中,將處于關閉狀態(tài)的交換機添加到集合V2中;判斷集合V1和集合V2是否均為空;如果集合V1和集合V2不均為空,則判斷集合V1中是否所有交換機完成一次查找,如果集合V1中所有交換機未完成一次查找,則選擇集合V1中的某一個交換機,查找該交換機對應的最短控制路徑,如果查找成功,則保存該交換機對應的最短控制路徑,然后在集合V1中刪除該交換機并繼續(xù)判斷集合V1中是否所有交換機完成一次查找,如果查找失敗,則選擇集合V1中的另一個交換機進行查找;如果集合V1中所有交換機完成一次查找,則判斷集合V2中是否所有交換機完成一次查找;如果集合V2中所有交換機未完成一次查找,則選擇集合V2中的某一個交換機,查找該交換機對應的最短控制路徑,如果查找成功,則保存該交換機對應的最短控制路徑,然后在集合V2中刪除該交換機并繼續(xù)判斷集合V2中是否所有交換機完成一次查找,如果查找失敗,則選擇集合V2中的另一個交換機進行查找;如果集合V2中所有交換機完成一次查找,則繼續(xù)判斷集合V1和集合V2是否均為空,直至集合V1和集合V2均為空。當集合V1和V2均為空后,從所有保存的最短控制路徑中,選擇各流請求對應的最小能耗轉發(fā)路徑中各交換機的最短控制路徑,確保這些最短控制路徑中的交換機處于開啟狀態(tài),休眠其他的交換機,控制路徑優(yōu)化完成。

為了更直觀的描述本發(fā)明實施例提供的用于SDN網絡的路徑確定方法的節(jié)能效果,本實施例還提供了一個參數,用來估算整個網絡的能耗值。定義如下:

其中,E為整個網絡的能耗值,Vs為SDN網絡中所有交換機的集合,μ(k)為集合Vs中交換機k的狀態(tài)值,Es為SDN網絡中所有鏈路的集合,τ(j)為集合Es中鏈路j的利用率,σ為鏈路j的帶寬容量。

根據整個網絡的能耗值E以及交換機的激活能耗ECP,使用Brite拓撲生成器(此為現有的軟件)進行仿真實驗,將本實施例的方法(命名為ESR方法)、隨機路由的方法(即隨機選取一條路徑,這樣的路徑沒有考慮到能耗情況,所以是不節(jié)能的,命名為RR方法)和TER方法進行比較。假設控制網絡中每條鏈路的控制帶寬均為15M,實驗首先將Ebase設置為118.33,將Eavg設置為0.0023,得到如下圖5-圖8。

圖5為本發(fā)明實施例提供的能耗比率隨交換機數量的變化曲線圖。其中,橫坐標表示SDN網絡中的交換機數量,縱坐標表示能耗比率,在Brite拓撲生成器中,設置連通度參數β為0.3、交換機數量分別設置為10、50、100、150和200,并且輸入數量為交換機數量的50%、密度為60%的流請求。如圖5所示,曲線510、520和530分別為RR方法、TER方法和ESR方法對應的能耗比率隨交換機數量的變化曲線圖,曲線510、520和530對應的能耗比率逐漸降低,因此可知,本發(fā)明實施例提供的ESR方法較其他兩種方法更加節(jié)能。同時,從圖中可以看出,隨著交換機數量的增加,ESR方法的節(jié)能效果將會更加明顯,因此,該方法在大型網絡和高負載的情況下具有杰出的節(jié)能效果。

圖6為本發(fā)明實施例提供的能耗值隨連通度參數的變化柱形圖。其中,橫坐標表示連通度參數β,縱坐標表示能耗值,在Brite拓撲生成器中,設置交換機數量為100、連通度參數β分別為0.5、0.4、0.3、0.2和0.1,并且輸入數量為50、密度為60%的流請求。如圖6所示,在每一組柱形圖中,柱形圖610、620和630分別為RR方法、TER方法和ESR方法對應的能耗值的柱形圖,由圖中可知,隨著連通度參數β的減小,這三種方法的能耗值均減小,且對于同一個連通度參數,本發(fā)明實施例提供的ESR方法較其他兩種方法更加節(jié)能。

圖7為本發(fā)明實施例提供的能耗值隨流請求數量的變化柱形圖。其中,橫坐標表示流請求數量,縱坐標表示能耗值,在Brite拓撲生成器中,設置交換機的數量為100,連通度參數β為0.3,輸入密度為60%、數量分別為10、30、50、70和90的流請求。如圖7所示,在每一組柱形圖中,柱形圖710、720和730分別為RR方法、TER方法和ESR方法對應的能耗值的柱形圖,由圖中可知,隨著流請求數量的增加,這三種方法的能耗值均增大,但對于同一個流請求數量,本發(fā)明實施例提供的ESR方法較其他兩種方法更加節(jié)能。

圖8為本發(fā)明實施例提供的能耗值隨流請求密度的變化柱形圖。其中,橫坐標表示流請求密度,縱坐標表示能耗值,在Brite拓撲生成器中,設置交換機的數量為100,連通度參數β為0.3,輸入數量為50、密度分別為0、0.2、0.4、0.6和0.8的流請求。如圖8所示,在每一組柱形圖中,柱形圖810、820和830分別為RR方法、TER方法和ESR方法對應的能耗值的柱形圖,由圖中可知,流請求密度的增加,這三種方法的能耗值均減小,但對于同一個流請求密度,本發(fā)明實施例提供的ESR方法較其他兩種方法更加節(jié)能。

本發(fā)明實施例還提供了一種用于SDN網絡的路徑確定裝置,應用于控制器,圖9為本發(fā)明實施例提供的用于SDN網絡的路徑確定裝置的結構示意圖,該裝置用于執(zhí)行圖1所述的方法,其包括:

第一獲取模塊910,獲取目標流請求中包括的第一標識信息和第二標識信息,根據所述第一標識信息確定起始交換機,根據所述第二標識信息確定終點交換機;

第一確定模塊920,用于對所述起始交換機進行標記,將所述起始交換機確定為當前被標記交換機;

判斷模塊930,用于判斷當前被標記交換機是否為終點交換機;

計算模塊940,用于當所述判斷模塊930判斷結果為否時,查找當前被標記交換機的未被標記的近鄰交換機,計算各近鄰交換機的激活能耗;根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗;對激活能耗最小的近鄰交換機進行標記;觸發(fā)所述判斷模塊930;交換機的激活能耗包括從所述起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑占用轉發(fā)帶寬產生的能耗;

第二確定模塊950,用于當所述判斷模塊930判斷結果為是時,確定所述終點交換機的當前最小激活能耗,并將該當前最小激活能耗對應的轉發(fā)路徑確定為從所述起始交換機到終點交換機的最小能耗轉發(fā)路徑。

本發(fā)明實施例提供的一種用于SDN網絡的路徑確定裝置,通過獲取目標流請求中的第一標識信息和第二標識信息,確定對應的起始交換機與終點交換機,對起始交換機進行標記,判斷當前被標記交換機是否為終點交換機;如果否,查找當前被標記交換機的未被標記的近鄰交換機,計算各近鄰交換機的激活能耗;根據當前計算得到的各近鄰交換機的激活能耗,得到各近鄰交換機的當前最小激活能耗;對激活能耗最小的近鄰交換機進行標記;繼續(xù)執(zhí)行判斷當前被標記交換機是否為終點交換機的步驟;如果是,確定終點交換機的當前最小激活能耗,并將該當前最小激活能耗對應的轉發(fā)路徑確定為從所述起始交換機到終點交換機的最小能耗轉發(fā)路徑。

本實施例中,在計算交換機的激活能耗時,考慮了起始交換機到該交換機間的轉發(fā)路徑上所有未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟交換機的開啟能耗,該轉發(fā)路徑上各交換機的控制路徑中未開啟的控制鏈路占用控制帶寬產生的能耗以及該轉發(fā)路徑占用轉發(fā)帶寬產生的能耗;而現有方法只考慮了轉發(fā)路徑上的交換機的開啟能耗和占用帶寬產生的能耗,并沒有考慮SDN控制功能產生的能耗,因此,本實施例的計算過程相比現有方法的計算過程更適用于SDN帶內模式,計算結果更加準確,可以確定能耗更小的轉發(fā)路徑,進一步優(yōu)化SDN網絡,使整個網絡更加節(jié)能。

圖10為圖9中計算模塊的結構示意圖,用于執(zhí)行圖3所示的方法,所述第一確定模塊920包括:

判斷單元921,用于判斷當前計算得到的目標近鄰交換機的激活能耗是否小于所述目標近鄰交換機已存儲的激活能耗;所述目標近鄰交換機為各近鄰交換機中任意一個;

第一確定單元922,用于當所述判斷單元921判斷結果為是時,將當前計算得到的目標近鄰交換機的激活能耗確定為所述當前最小激活能耗;

第二確定單元923,用于當所述判斷單元921判斷結果為否時,將已存儲的激活能耗確定為所述當前最小激活能耗。

優(yōu)選地,所述裝置還包括:

接收模塊,用于接收多個流請求;

第二獲取模塊,用于獲取各流請求中包括的占用帶寬;

第三確定模塊,用于將占用帶寬最大的流請求確定為目標流請求。

優(yōu)選地,所述裝置還包括:

第四確定模塊,用于確定所述最小能耗轉發(fā)路徑中的所有交換機的最短控制路徑;

開啟模塊,用于開啟所述最小能耗轉發(fā)路徑中的所有未開啟交換機,以及各交換機的最短控制路徑中的所有未開啟交換機。

本實施例中,在確定了目標流請求對應的最小能耗轉發(fā)路徑后,可進一步確定該最小能耗轉發(fā)路徑中所有交換機對應的最短控制路徑,進一步降低SDN網絡的能耗。

優(yōu)選地,任一交換機i的激活能耗ECP(i)的計算公式為:

其中,其中,所述Ebase為各交換機的開啟能耗,所述μ(i)為所述交換機i的狀態(tài)值,所述μ(x)為所述交換機i的控制路徑中任一交換機的狀態(tài)值,所述Xi為該控制路徑中所有交換機的集合,所述Yi為該控制路徑中鏈路的集合,所述Eavg為鏈路每占用單位控制帶寬的能耗,ρ(y)為該控制路徑中各鏈路的狀態(tài)值,為控制帶寬。

需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。

本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。

以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
体育| 绥化市| 独山县| 汾西县| 阳谷县| 大英县| 东乡| 饶阳县| 宝丰县| 随州市| 宁南县| 威宁| 内丘县| 嘉兴市| 六枝特区| 大方县| 台北县| 长海县| 临安市| 全南县| 卫辉市| 郁南县| 平南县| 江口县| 四会市| 堆龙德庆县| 山阴县| 阜新| 江达县| 梁平县| 儋州市| 南丰县| 襄垣县| 佛坪县| 什邡市| 微山县| 夏津县| 龙里县| 余姚市| 潜江市| 上林县|