一種sdn中流表下發(fā)的方法和系統(tǒng)、of控制器和of交換的制造方法
【專利摘要】本發(fā)明公開了一種軟件定義網(wǎng)絡(luò)(SDN)中流表下發(fā)的方法和系統(tǒng)、OF控制器和OF交換機(jī),方法包括:OF交換機(jī)接收OF控制器發(fā)送的流表?xiàng)l目修改消息,所述消息中攜帶表號(hào)、流表?xiàng)l目和緩存標(biāo)記;依據(jù)所述緩存標(biāo)記的指示,所述OF交換機(jī)在自身的控制模塊保存所述流表?xiàng)l目修改消息中的表號(hào)和流表?xiàng)l目。通過本發(fā)明,實(shí)現(xiàn)了OF控制器能夠按需下發(fā)流表?xiàng)l目,并能緩解OF交換機(jī)路由流表?xiàng)l目容量指標(biāo)的壓力。
【專利說明】-種SDN中流表下發(fā)的方法和系統(tǒng)、OF控制器和OF交換機(jī)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件定義網(wǎng)絡(luò)(SDN,Software Defined Network)架構(gòu)網(wǎng)絡(luò)通信領(lǐng)域, 尤其涉及一種SDN中流表下發(fā)的方法。
【背景技術(shù)】
[0002] 由于現(xiàn)在的網(wǎng)絡(luò)暴露出了越來越多的弊病以及人們對(duì)網(wǎng)絡(luò)性能的需求越來越 高,因此不得不把很多復(fù)雜功能加入到路由器的體系結(jié)構(gòu)當(dāng)中,例如開放式最短路徑優(yōu)先 (OSPF,Open Shortest Path First)、邊界網(wǎng)關(guān)協(xié)議(BGP,Border Gateway Protocol)、組 播、區(qū)分服務(wù)、流量工程、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT, Network Address Translation)、防火墻、多 協(xié)議標(biāo)簽交換(MPLS,Multi-Protocol Label Switching)等等。這就使得路由器等交換設(shè) 備越來越臃腫而且性能提升的空間越來越小。
[0003] 然而與網(wǎng)絡(luò)領(lǐng)域的困境截然不同的是,計(jì)算機(jī)領(lǐng)域?qū)崿F(xiàn)了日新月異的發(fā)展。仔細(xì) 回顧計(jì)算機(jī)領(lǐng)域的發(fā)展,不難發(fā)現(xiàn)其關(guān)鍵在于計(jì)算機(jī)領(lǐng)域找到了一種簡(jiǎn)單可用的硬件底 層(x86指令集)。由于有了這樣一種公用的硬件底層,因此在軟件方面,不論是應(yīng)用程序 還是操作系統(tǒng)都取得了飛速的發(fā)展。現(xiàn)在很多主張重新設(shè)計(jì)計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的人士 認(rèn)為:網(wǎng)絡(luò)可以復(fù)制計(jì)算機(jī)領(lǐng)域的成功來解決現(xiàn)在網(wǎng)絡(luò)所遇到的所有問題。在這種思想 的指導(dǎo)下,將來的網(wǎng)絡(luò)必將是這樣的:底層的數(shù)據(jù)通路(交換機(jī)、路由器)是"啞的、簡(jiǎn)單的、 最小的",并定義一個(gè)對(duì)外開放的關(guān)于流表的公用的應(yīng)用程序編程接口(API,Application ProgrammingInterface),同時(shí)采用控制器來控制整個(gè)網(wǎng)絡(luò)。未來的研究人員就可以在控 制器上自由的調(diào)用底層的API來編程,從而實(shí)現(xiàn)網(wǎng)絡(luò)的創(chuàng)新。
[0004] 基于上述的理念,出現(xiàn)了軟件定義網(wǎng)絡(luò)(SDN, Software Defined Network), SDN的 核心技術(shù)為OpenFlow(開放流,簡(jiǎn)稱OF)協(xié)議,OpenFlow協(xié)議應(yīng)用架構(gòu)如圖1所示,通過將 網(wǎng)絡(luò)設(shè)備控制面(包含OpenFlow Controller)與數(shù)據(jù)面(包含OpenFlow Capable Switch) 分離開來,從而實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺(tái)。
[0005] OpenFlow協(xié)議用來描述控制器和交換機(jī)之間交互所用信息的標(biāo)準(zhǔn),以及控制器和 交換機(jī)的接口標(biāo)準(zhǔn)。協(xié)議的核心部分是用于OpenFlow協(xié)議信息結(jié)構(gòu)的集合。
[0006] OpenFlow流表(圖3所示)或經(jīng)過編排的多個(gè)流表級(jí)聯(lián)而成管道用來配置交換機(jī) 轉(zhuǎn)發(fā)路徑(圖2所示),流表?xiàng)l目由匹配字段、計(jì)數(shù)器和指令集等如下幾個(gè)字段構(gòu)成:
[0007]
【權(quán)利要求】
1. 一種軟件定義網(wǎng)絡(luò)SDN中流表下發(fā)的方法,其特征在于,該方法包括: 開放流OF交換機(jī)接收OF控制器發(fā)送的流表?xiàng)l目修改消息,所述消息中攜帶表號(hào)、流表 條目和緩存標(biāo)記; 依據(jù)所述緩存標(biāo)記的指示,所述OF交換機(jī)在自身的控制模塊保存所述流表?xiàng)l目修改 消息中的表號(hào)和流表?xiàng)l目。
2. 根據(jù)權(quán)利要求1所述SDN中流表下發(fā)的方法,其特征在于,所述流表?xiàng)l目修改消息中 還攜帶第一空閑老化周期。
3. 根據(jù)權(quán)利要求1所述SDN中流表下發(fā)的方法,其特征在于,在所述OF控制器發(fā)送流 表?xiàng)l目修改消息之前,該方法還包括: 所述OF交換機(jī)與所述OF控制器進(jìn)行流表緩存能力協(xié)商,所述OF交換機(jī)將自身是否支 持流表的緩存功能通知給所述OF控制器。
4. 根據(jù)權(quán)利要求3所述SDN中流表下發(fā)的方法,其特征在于,所述OF交換機(jī)與所述OF 控制器進(jìn)行流表緩存能力協(xié)商,包括: 所述OF交換機(jī)接收所述OF控制器發(fā)送的流表特征請(qǐng)求Multipart Table Features Request消息,消息中攜帶表號(hào); 所述OF交換機(jī)向所述OF控制器返回流表特征響應(yīng)Multipart Table Features Reply 消息,在所述Multipart Table Features Reply消息的流表特征能力屬性字段中攜帶流表 條目緩存能力標(biāo)記,用以指示是否支持對(duì)應(yīng)表號(hào)的流表的流表?xiàng)l目緩存功能。
5. 根據(jù)權(quán)利要求4所述SDN中流表下發(fā)的方法,其特征在于,所述流表特征能力屬性字 段中還攜帶支持緩存功能的流表默認(rèn)的第二空閑老化周期。
6. 根據(jù)權(quán)利要求1至5任一項(xiàng)所述SDN中流表下發(fā)的方法,其特征在于,該方法還包 括: 當(dāng)所述OF交換機(jī)的轉(zhuǎn)發(fā)模塊接收到報(bào)文時(shí),查詢所述轉(zhuǎn)發(fā)模塊的流表中是否存在匹 配的流表?xiàng)l目; 如果存在,則按照查詢匹配的流表?xiàng)l目進(jìn)行所述報(bào)文的轉(zhuǎn)發(fā); 如果不存在,則所述轉(zhuǎn)發(fā)模塊發(fā)送所述報(bào)文、表號(hào)、上送原因給所述OF交換機(jī)的控制 模塊;所述控制模塊根據(jù)接收的表號(hào)和自身保存的流表?xiàng)l目緩存標(biāo)記,在本地對(duì)應(yīng)的流表 中查詢緩存的流表?xiàng)l目,如果查詢到對(duì)應(yīng)的流表?xiàng)l目,則將查詢所得流表?xiàng)l目添加到所述 轉(zhuǎn)發(fā)模塊對(duì)應(yīng)的流表中,如果沒有查詢到對(duì)應(yīng)的流表?xiàng)l目,則將所述控制模塊接收到的報(bào) 文、表號(hào)、上送原因填充到報(bào)文入Packet-in消息中發(fā)送給所述OF控制器。
7. 根據(jù)權(quán)利要求6所述SDN中流表下發(fā)的方法,其特征在于,該方法還包括:根據(jù)所述 第二空閑老化周期對(duì)所述OF交換機(jī)的轉(zhuǎn)發(fā)模塊中緩存標(biāo)記指示可以緩存的流表?xiàng)l目進(jìn)行 空閑老化處理;根據(jù)所述OF控制器發(fā)送相應(yīng)流表?xiàng)l目時(shí)設(shè)置的所述第一空閑老化周期對(duì) 所述控制模塊緩存的相應(yīng)流表?xiàng)l目進(jìn)行空閑老化處理; 其中,所述第一空閑老化周期的時(shí)長(zhǎng)大于所述第二空閑老化周期的時(shí)長(zhǎng)。
8. -種軟件定義網(wǎng)絡(luò)SDN中流表下發(fā)的方法,其特征在于,該方法包括: 開放流OF控制器根據(jù)本地策略決定為下發(fā)的流表?xiàng)l目設(shè)置緩存標(biāo)記時(shí),向OF交換機(jī) 發(fā)送流表?xiàng)l目修改消息,所述消息中攜帶表號(hào)、流表?xiàng)l目和緩存標(biāo)記;所述緩存標(biāo)記用于指 示將所述流表?xiàng)l目緩存在所述OF交換機(jī)的控制模塊本地。
9. 根據(jù)權(quán)利要求8所述SDN中流表下發(fā)的方法,其特征在于,所述流表?xiàng)l目修改消息中 還攜帶第一空閑老化周期。
10. 根據(jù)權(quán)利要求8所述SDN中流表下發(fā)的方法,其特征在于,在所述OF控制器發(fā)送流 表?xiàng)l目修改消息之前,該方法還包括: 所述OF控制器與所述OF交換機(jī)進(jìn)行流表緩存能力協(xié)商,所述OF控制器獲知所述OF 交換機(jī)是否支持流表的緩存功能。
11. 根據(jù)權(quán)利要求10所述SDN中流表下發(fā)的方法,其特征在于,所述OF控制器與所述 OF交換機(jī)進(jìn)行流表緩存能力協(xié)商,包括: 所述OF控制器向所述OF交換機(jī)發(fā)送流表特征請(qǐng)求Multipart Table Features Request消息,消息中攜帶表號(hào); 所述OF控制器接收所述OF交換機(jī)返回的流表特征響應(yīng)Multipart Table Features Reply消息,在所述Multipart Table Features Reply消息的流表特征能力屬性字段中攜 帶流表?xiàng)l目緩存能力標(biāo)記,用以指示是否支持對(duì)應(yīng)表號(hào)的流表的流表?xiàng)l目緩存功能。
12. 根據(jù)權(quán)利要求11所述SDN中流表下發(fā)的方法,其特征在于,所述流表特征能力屬性 字段中還攜帶支持緩存功能的流表默認(rèn)的第二空閑老化周期。
13. 根據(jù)權(quán)利要求8至12任一項(xiàng)所述SDN中流表下發(fā)的方法,其特征在于,該方法還包 括: 當(dāng)所述OF控制器收到所述OF交換機(jī)發(fā)送的攜帶有報(bào)文、表號(hào)、上送原因的報(bào)文入 Packet-in消息時(shí),所述OF控制器解析所述Packet-in消息,將所述Packet-in消息中的報(bào) 文交由所述OF控制器的本地協(xié)議棧或應(yīng)用程序APP進(jìn)行處理。
14. 一種OF交換機(jī),其特征在于,包括控制模塊,用于接收OF控制器發(fā)送的流表?xiàng)l目修 改消息,所述消息中攜帶表號(hào)、流表?xiàng)l目和緩存標(biāo)記;依據(jù)所述緩存標(biāo)記的指示,保存所述 流表?xiàng)l目修改消息中的表號(hào)和流表?xiàng)l目在所述控制模塊本地。
15. 根據(jù)權(quán)利要求14所述OF交換機(jī),其特征在于,所述流表?xiàng)l目修改消息中還攜帶第 一空閑老化周期。
16. 根據(jù)權(quán)利要求14所述OF交換機(jī),其特征在于,所述控制模塊進(jìn)一步用于,在接收所 述流表?xiàng)l目修改消息之前,與所述OF控制器進(jìn)行流表緩存能力協(xié)商,將所述OF交換機(jī)自身 是否支持流表的緩存功能通知給所述OF控制器。
17. 根據(jù)權(quán)利要求16所述OF交換機(jī),其特征在于,所述控制模塊進(jìn)一步用于,接收所 述OF控制器發(fā)送的流表特征請(qǐng)求Multipart Table Features Request消息,消息中攜帶 表號(hào);向所述OF控制器返回流表特征響應(yīng)Multipart Table Features Reply消息,在所述 Multipart Table Features Reply消息的流表特征能力屬性字段中攜帶流表?xiàng)l目緩存能 力標(biāo)記,用以指示是否支持對(duì)應(yīng)表號(hào)的流表的流表?xiàng)l目緩存功能。
18. 根據(jù)權(quán)利要求17所述OF交換機(jī),其特征在于,所述流表特征能力屬性字段中還攜 帶支持緩存功能的流表默認(rèn)的第二空閑老化周期。
19. 根據(jù)權(quán)利要求14至18任一項(xiàng)所述OF交換機(jī),其特征在于,所述OF交換機(jī)還包括 轉(zhuǎn)發(fā)模塊,用于在接收到報(bào)文時(shí),查詢所述轉(zhuǎn)發(fā)模塊的流表中是否存在匹配的流表?xiàng)l目; 如果存在,則按照查詢匹配的流表?xiàng)l目進(jìn)行所述報(bào)文的轉(zhuǎn)發(fā); 如果不存在,則所述轉(zhuǎn)發(fā)模塊發(fā)送所述報(bào)文、表號(hào)、上送原因給所述OF交換機(jī)的控制 模塊;相應(yīng)的,所述控制模塊進(jìn)一步用于,根據(jù)接收的表號(hào)和自身保存的流表?xiàng)l目緩存標(biāo) 記,在本地對(duì)應(yīng)的流表中查詢緩存的流表?xiàng)l目,如果查詢到對(duì)應(yīng)的流表?xiàng)l目,則將查詢所得 流表?xiàng)l目添加到所述轉(zhuǎn)發(fā)模塊對(duì)應(yīng)的流表中,如果沒有查詢到對(duì)應(yīng)的流表?xiàng)l目,則將所述 控制模塊接收到的報(bào)文、表號(hào)、上送原因填充到報(bào)文入Packet-in消息中發(fā)送給所述OF控 制器。
20. 根據(jù)權(quán)利要求19所述OF交換機(jī),其特征在于,所述控制模塊進(jìn)一步用于,根據(jù)所述 第二空閑老化周期對(duì)所述OF交換機(jī)的轉(zhuǎn)發(fā)模塊中緩存標(biāo)記指示可以緩存的流表?xiàng)l目進(jìn)行 空閑老化處理;根據(jù)所述OF控制器發(fā)送相應(yīng)流表?xiàng)l目時(shí)設(shè)置的所述第一空閑老化周期對(duì) 所述控制模塊緩存的相應(yīng)流表?xiàng)l目進(jìn)行空閑老化處理; 其中,所述第一空閑老化周期的時(shí)長(zhǎng)大于所述第二空閑老化周期的時(shí)長(zhǎng)。
21. -種OF控制器,其特征在于,包括:發(fā)送模塊,用于根據(jù)本地策略決定為下發(fā)的流 表?xiàng)l目設(shè)置緩存標(biāo)記時(shí),向OF交換機(jī)發(fā)送流表?xiàng)l目修改消息,所述消息中攜帶表號(hào)、流表 條目和緩存標(biāo)記;所述緩存標(biāo)記用于指示將所述流表?xiàng)l目緩存在所述OF交換機(jī)的控制模 塊本地。
22. 根據(jù)權(quán)利要求21所述OF控制器,其特征在于,所述流表?xiàng)l目修改消息中還攜帶第 一空閑老化周期。
23. 根據(jù)權(quán)利要求21所述OF控制器,其特征在于,還包括:協(xié)商模塊,用于在所述發(fā)送 模塊發(fā)送流表?xiàng)l目修改消息之前,與所述OF交換機(jī)進(jìn)行流表緩存能力協(xié)商,所述協(xié)商模塊 獲知所述OF交換機(jī)是否支持流表的緩存功能。
24. 根據(jù)權(quán)利要求23所述OF控制器,其特征在于,所述協(xié)商模塊進(jìn)一步用于,向所述 OF交換機(jī)發(fā)送流表特征請(qǐng)求Multipart Table Features Request消息,消息中攜帶表號(hào); 接收所述OF交換機(jī)返回的流表特征響應(yīng)Multipart Table Features Reply消息,在所述 Multipart Table Features Reply消息的流表特征能力屬性字段中攜帶流表?xiàng)l目緩存能 力標(biāo)記,用以指示是否支持對(duì)應(yīng)表號(hào)的流表的流表?xiàng)l目緩存功能。
25. 根據(jù)權(quán)利要求24所述OF控制器,其特征在于,所述流表特征能力屬性字段中還攜 帶支持緩存功能的流表默認(rèn)的第二空閑老化周期。
26. 根據(jù)權(quán)利要求21至25任一項(xiàng)所述OF控制器,其特征在于,還包括接收處理模塊, 用于在收到所述OF交換機(jī)發(fā)送的攜帶有報(bào)文、表號(hào)、上送原因的報(bào)文入Packet-in消息時(shí), 解析所述Packet-in消息,將所述Packet-in消息中的報(bào)文交由所述OF控制器的本地協(xié)議 ?;驊?yīng)用程序APP進(jìn)行處理。
27. -種SDN中流表下發(fā)的系統(tǒng),其特征在于,包括權(quán)利要求14至20任一項(xiàng)所述的OF 交換機(jī)、以及權(quán)利要求21至26任一項(xiàng)所述的OF控制器, 所述OF控制器,用于根據(jù)本地策略決定為下發(fā)的流表?xiàng)l目設(shè)置緩存標(biāo)記時(shí),向所述OF 交換機(jī)發(fā)送流表?xiàng)l目修改消息,所述消息中攜帶表號(hào)、流表?xiàng)l目和緩存標(biāo)記; 所述OF交換機(jī),用于接收所述流表?xiàng)l目修改消息,依據(jù)所述緩存標(biāo)記的指示,在自身 的控制模塊保存所述流表?xiàng)l目修改消息中的表號(hào)和流表?xiàng)l目。
【文檔編號(hào)】H04L12/937GK104426815SQ201310379469
【公開日】2015年3月18日 申請(qǐng)日期:2013年8月27日 優(yōu)先權(quán)日:2013年8月27日
【發(fā)明者】梁乾燈, 尤建潔, 萬偉, 胡方偉 申請(qǐng)人:中興通訊股份有限公司