另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機(jī)械的或其它的形式連接。
[0139]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本發(fā)明實(shí)施例方案的目的。
[0140]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以是兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0141]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分,或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0142]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種軟件定義網(wǎng)絡(luò)中路由控制的方法,其特征在于,包括: 開放流控制器OFC接收開放流交換機(jī)OFS上報(bào)的數(shù)據(jù)包; 所述OFC根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包,其中,所述關(guān)鍵值包括數(shù)據(jù)包特征值; 若所述數(shù)據(jù)包為重復(fù)包,所述OFC向所述OFS下發(fā)所述數(shù)據(jù)包,并指示所述OFS匹配已存儲的流表處理所述數(shù)據(jù)包或者指示所述OFS從對應(yīng)的端口傳輸所述數(shù)據(jù)包; 若所述數(shù)據(jù)包不是重復(fù)包,所述OFC計(jì)算所述數(shù)據(jù)包的路由策略,并根據(jù)所述路由策略向所述OFS下發(fā)流表,以便于所述OFS根據(jù)下發(fā)的流表處理所述數(shù)據(jù)包。
2.根據(jù)權(quán)利要去I所述的方法,其特征在于,所述OFC根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包,包括: 所述OFC將所述數(shù)據(jù)包的特征值與所述關(guān)鍵值中的數(shù)據(jù)包特征值進(jìn)行比較,以確定所述數(shù)據(jù)包是否命中緩存; 若所述數(shù)據(jù)包命中緩存,所述OFC確定所述數(shù)據(jù)包為重復(fù)包; 若所述數(shù)據(jù)包沒命中緩存,所述OFC確定所述數(shù)據(jù)包不是重復(fù)包。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述關(guān)鍵值還包括處理時(shí)刻,所述OFC根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包,包括: 所述OFC將所述數(shù)據(jù)包的特征值與所述關(guān)鍵值中的數(shù)據(jù)包特征值進(jìn)行比較,以確定所述數(shù)據(jù)包是否命中緩存; 若所述數(shù)據(jù)包命中緩存,所述OFC確定當(dāng)前時(shí)刻與所述關(guān)鍵值中的處理時(shí)刻之間的時(shí)間間隔是否小于或等于預(yù)設(shè)的時(shí)間值,所述預(yù)設(shè)的時(shí)間值為小于或等于流表有效時(shí)間的時(shí)間值; 若所述時(shí)間間隔小于或等于所述預(yù)設(shè)的時(shí)間值,所述OFC確定所述數(shù)據(jù)包為重復(fù)包;若所述數(shù)據(jù)包沒命中緩存,或者所述時(shí)間間隔大于所述預(yù)設(shè)的時(shí)間值,所述OFC確定所述數(shù)據(jù)包不是重復(fù)包。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述關(guān)鍵值還包括處理時(shí)刻和計(jì)數(shù)器值,所述OFC根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包,包括: 所述OFC將所述數(shù)據(jù)包的特征值與所述關(guān)鍵值中的數(shù)據(jù)包特征值進(jìn)行比較,以確定所述數(shù)據(jù)包是否命中緩存; 若所述數(shù)據(jù)包命中緩存,所述OFC確定當(dāng)前時(shí)刻與所述關(guān)鍵值中的處理時(shí)刻之間的時(shí)間間隔是否小于或等于預(yù)設(shè)的時(shí)間值,并確定所述關(guān)鍵值中的計(jì)數(shù)器值是否為零,所述預(yù)設(shè)的時(shí)間值為小于或等于流表有效時(shí)間的時(shí)間值; 若所述時(shí)間間隔小于或等于所述預(yù)設(shè)的時(shí)間值,且所述計(jì)數(shù)器值不為零,所述OFC確定所述數(shù)據(jù)包為重復(fù)包,并將所述關(guān)鍵值中的計(jì)數(shù)器值減一; 若所述數(shù)據(jù)包沒命中緩存,或者所述時(shí)間間隔大于所述預(yù)設(shè)的時(shí)間值,或者所述計(jì)數(shù)器值為零,所述OFC確定所述數(shù)據(jù)包不是重復(fù)包。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述預(yù)設(shè)的時(shí)間值為根據(jù)OFS對OFC下發(fā)的消息的響應(yīng)時(shí)間確定的時(shí)間值。
6.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其特征在于,所述特征值包括源媒體接入控制MAC地址、目的MAC地址、源互聯(lián)網(wǎng)協(xié)議IP地址、目的IP地址、源端口號、目的端口號或虛擬局域網(wǎng)VLAN標(biāo)識及優(yōu)先級中的一種或多種。
7.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述緩存是基于最近最少使用LRU算法維護(hù)的固定大小的緩存。
8.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述OFC根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包,包括: 所述OFC的多線程分配器根據(jù)所述數(shù)據(jù)包的特征值分配線程,以便于所述OFC在所述線程上,根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包。
9.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,若所述數(shù)據(jù)包不是重復(fù)包,所述OFC計(jì)算所述數(shù)據(jù)包的路由策略之后,所述方法還包括: 所述OFC在所述緩存中存儲所述數(shù)據(jù)包的關(guān)鍵值。
10.一種開放流控制器,其特征在于,包括接收單元、確定單元、處理單元和發(fā)送單元,其中, 所述接收單元,用于接收開放流交換機(jī)OFS上報(bào)的數(shù)據(jù)包; 所述確定單元,用于根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包,其中,所述關(guān)鍵值包括數(shù)據(jù)包特征值; 若所述數(shù)據(jù)包為重復(fù)包,所述發(fā)送單元用于向所述OFS發(fā)送所述數(shù)據(jù)包,以及所述處理單元用于指示所述OFS匹配已存儲的流表處理所述數(shù)據(jù)包或者指示所述OFS從對應(yīng)的端口傳輸所述數(shù)據(jù)包; 若所述數(shù)據(jù)包不是重復(fù)包,所述處理單元用于計(jì)算所述數(shù)據(jù)包的路由策略,以及所述發(fā)送單元用于根據(jù)所述路由策略向所述OFS下發(fā)流表,以便于所述OFS根據(jù)下發(fā)的流表處理所述數(shù)據(jù)包。
11.根據(jù)權(quán)利要求10所述的開放流控制器,其特征在于,所述確定單元具體用于,將所述數(shù)據(jù)包的特征值與所述關(guān)鍵值中的數(shù)據(jù)包特征值進(jìn)行比較,以確定所述數(shù)據(jù)包是否命中緩存;若所述數(shù)據(jù)包命中緩存,確定所述數(shù)據(jù)包為重復(fù)包;若所述數(shù)據(jù)包沒命中緩存,確定所述數(shù)據(jù)包不是重復(fù)包。
12.根據(jù)權(quán)利要求10所述的開放流控制器,其特征在于,所述關(guān)鍵值還包括處理時(shí)刻,所述確定單元具體用于,將所述數(shù)據(jù)包的特征值與所述關(guān)鍵值中的數(shù)據(jù)包特征值進(jìn)行比較,以確定所述數(shù)據(jù)包是否命中緩存;若所述數(shù)據(jù)包命中緩存,確定當(dāng)前時(shí)刻與所述關(guān)鍵值中的處理時(shí)刻之間的時(shí)間間隔是否小于或等于所述預(yù)設(shè)的時(shí)間值,所述預(yù)設(shè)的時(shí)間值為小于或等于流表有效時(shí)間的時(shí)間值;若所述時(shí)間間隔小于或等于所述預(yù)設(shè)的時(shí)間值,確定所述數(shù)據(jù)包為重復(fù)包;若所述數(shù)據(jù)包沒命中緩存,確定所述數(shù)據(jù)包不是重復(fù)包。
13.根據(jù)權(quán)利要求10所述的開放流控制器,其特征在于,所述關(guān)鍵值還包括處理時(shí)刻和計(jì)數(shù)器值,所述確定單元具體用于,將所述數(shù)據(jù)包的特征值與所述關(guān)鍵值中的數(shù)據(jù)包特征值進(jìn)行比較,以確定所述數(shù)據(jù)包是否命中緩存;若所述數(shù)據(jù)包命中緩存,確定當(dāng)前時(shí)刻與所述關(guān)鍵值中的處理時(shí)刻之間的時(shí)間間隔是否小于或等于預(yù)設(shè)的時(shí)間值,并確定所述關(guān)鍵值中的計(jì)數(shù)器值是否為零,所述預(yù)設(shè)的時(shí)間值為小于或等于流表有效時(shí)間的時(shí)間值;若所述時(shí)間間隔小于或等于所述預(yù)設(shè)的時(shí)間值,且所述計(jì)數(shù)器值不為零,確定所述數(shù)據(jù)包為重復(fù)包,并將所述關(guān)鍵值中的計(jì)數(shù)器值減一;若所述數(shù)據(jù)包沒命中緩存,或者所述時(shí)間間隔大于所述預(yù)設(shè)的時(shí)間值,或者所述計(jì)數(shù)器值為零,確定所述數(shù)據(jù)包不是重復(fù)包。
14.根據(jù)權(quán)利要求12或13所述的開放流控制器,所述預(yù)設(shè)的時(shí)間值為根據(jù)所述OFS對所述開放流控制器下發(fā)的消息的響應(yīng)時(shí)間確定的時(shí)間值。
15.根據(jù)權(quán)利要求11至13中任一項(xiàng)所述的開放流控制器,其特征在于,所述特征值包括源媒體接入控制MAC地址、目的MAC地址、源互聯(lián)網(wǎng)協(xié)議IP地址、目的IP地址、源端口號、目的端口號或虛擬局域網(wǎng)VLAN標(biāo)識及優(yōu)先級中的一種或多種。
16.根據(jù)權(quán)利要求10至13中任一項(xiàng)所述的開放流控制器,其特征在于,所述緩存是基于最近最少使用LRU算法維護(hù)的固定大小的緩存。
17.根據(jù)權(quán)利要求10至13中任一項(xiàng)所述的開放流控制器,其特征在于,還包括: 分配單元,用于根據(jù)所述數(shù)據(jù)包的特征值分配線程; 所述確定單元具體用于,在所述線程上根據(jù)緩存中存儲的關(guān)鍵值,確定所述數(shù)據(jù)包是否為重復(fù)包。
18.根據(jù)權(quán)利要求10至13中任一項(xiàng)所述的開放流控制器,其特征在于,所述開放流控制器還包括: 存儲單元,若所述數(shù)據(jù)包不是重復(fù)包,在所述開放流控制器計(jì)算所述數(shù)據(jù)包的路由策略之后,用于在所述緩存中存儲所述數(shù)據(jù)包的關(guān)鍵值。
【專利摘要】本發(fā)明公開了一種軟件定義網(wǎng)絡(luò)中路由控制的方法和開放流控制器。該方法包括:開放流控制器OFC接收開放流交換機(jī)OFS上報(bào)的數(shù)據(jù)包;OFC根據(jù)緩存中存儲的關(guān)鍵值,確定數(shù)據(jù)包是否為重復(fù)包,其中,關(guān)鍵值包括數(shù)據(jù)包特征值;若數(shù)據(jù)包為重復(fù)包,OFC向OFS下發(fā)數(shù)據(jù)包,并指示OFS匹配已存儲的流表處理數(shù)據(jù)包或者指示OFS從對應(yīng)的端口傳輸數(shù)據(jù)包;若數(shù)據(jù)包不是重復(fù)包,OFC計(jì)算數(shù)據(jù)包的路由策略,并根據(jù)路由策略向OFS下發(fā)流表,以便于OFS根據(jù)下發(fā)的流表處理數(shù)據(jù)包。本發(fā)明實(shí)施例的方法中,如果數(shù)據(jù)包為重復(fù)包,就直接向OFS下發(fā)該數(shù)據(jù)包,并指示OFS匹配已存儲的流表處理該數(shù)據(jù)包。這樣,對于重復(fù)包,OFC可以僅計(jì)算一次路由策略,從而降低了OFC的計(jì)算量。
【IPC分類】H04L12-861, H04L12-813
【公開號】CN104734988
【申請?zhí)枴緾N201310719020
【發(fā)明人】滿波, 李晨吉
【申請人】杭州華為數(shù)字技術(shù)有限公司
【公開日】2015年6月24日
【申請日】2013年12月23日
【公告號】WO2015096574A1