一種隧道處理方法及系統(tǒng)、控制面設備、轉(zhuǎn)發(fā)面設備的制作方法
【專利摘要】本發(fā)明公開了一種隧道處理方法及系統(tǒng)、控制面設備、轉(zhuǎn)發(fā)面設備,其中,該方法包括:配置一組通用性的隧道封裝指令和解封裝指令,分別對應壓入指定封裝頭動作和彈出指定封裝頭的動作;根據(jù)隧道封裝指令和解封裝指令,分別執(zhí)行對應的壓入指定封裝頭動作和彈出指定封裝頭的動作。轉(zhuǎn)發(fā)面設備用于根據(jù)隧道封裝指令和解封裝指令,分別執(zhí)行對應的壓入指定封裝頭動作和彈出指定封裝頭的動作。采用本發(fā)明,針對隧道封轉(zhuǎn)和解封裝的隧道處理,能對轉(zhuǎn)發(fā)面設備做統(tǒng)一的轉(zhuǎn)發(fā)行為模型的業(yè)務配置控制,以精確控制轉(zhuǎn)發(fā)面設備的行為。
【專利說明】一種隧道處理方法及系統(tǒng)、控制面設備、轉(zhuǎn)發(fā)面設備
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件定義網(wǎng)絡(SDN, Software Defined Network)架構(gòu)網(wǎng)絡通信領(lǐng)域 的隧道處理技術(shù),尤其涉及一種開放流(OpenFlow)管道上的隧道處理方法及系統(tǒng)、控制面 設備、轉(zhuǎn)發(fā)面設備。
【背景技術(shù)】
[0002] 由于現(xiàn)在的網(wǎng)絡暴露出了越來越多的弊病以及人們對網(wǎng)絡性能的需求越來越高, 研究人員不得不把很多復雜功能加入到路由器的體系結(jié)構(gòu)當中,例如開放式最短路徑優(yōu)先 (0SPF)、邊界網(wǎng)關(guān)協(xié)議(BGP)、組播、區(qū)分服務、流量工程、網(wǎng)絡地址轉(zhuǎn)換(NAT)、防火墻、多 協(xié)議標簽交換(MPLS)功能等。這就使得路由器等交換設備越來越臃腫而且性能提升的空 間越來越小。
[0003] 然而,與網(wǎng)絡領(lǐng)域的困境截然不同的是,計算機領(lǐng)域?qū)崿F(xiàn)了日新月異的發(fā)展。仔細 回顧計算機領(lǐng)域的發(fā)展,不難發(fā)現(xiàn)其關(guān)鍵在于計算機領(lǐng)域找到了一個簡單可用的硬件底層 (x86指令集)。由于有了這樣一個公用的硬件底層,所以在軟件方面,不論是應用程序還是 操作系統(tǒng)都取得了飛速的發(fā)展。現(xiàn)在很多主張重新設計計算機網(wǎng)絡體系結(jié)構(gòu)的人士認為: 網(wǎng)絡可以復制計算機領(lǐng)域的成功來解決現(xiàn)在網(wǎng)絡所遇到的所有問題。在這種思想的指導 下,將來的網(wǎng)絡必將是這樣的:底層的數(shù)據(jù)通路(交換機、路由器)是"啞的、簡單的、最小 的",并定義一個對外開放的關(guān)于流表的公用的應用程序接口(API,Application Program Interface),同時采用控制器來控制整個網(wǎng)絡。未來的研究人員就可以在控制器上自由的 調(diào)用底層的API來編程,從而實現(xiàn)網(wǎng)絡的創(chuàng)新。
[0004] 基于上述的理念出現(xiàn)了 SDN架構(gòu),其最初是由美國斯坦福大學clean slate研 究組提出的一種新型網(wǎng)絡創(chuàng)新架構(gòu)。目前,其核心技術(shù)是開放流(OpenFlow)協(xié)議,基于 OpenFlow實現(xiàn)SDN架構(gòu),在SDN架構(gòu)中,交換設備的數(shù)據(jù)轉(zhuǎn)發(fā)面和控制面是分離的,因此網(wǎng) 絡協(xié)議和交換策略的升級只需要改動控制面,通過將數(shù)據(jù)轉(zhuǎn)發(fā)面和控制面的分離,實現(xiàn)了 對網(wǎng)絡流量的靈活控制,為核心網(wǎng)絡及應用的創(chuàng)新提供了良好的平臺。
[0005] 引入OpenFlow技術(shù)后的交換機,通常稱為OpenFlow交換機,其區(qū)別于傳統(tǒng)的交換 機,OpenFlow交換機將原來完全由交換機/路由器控制的報文轉(zhuǎn)發(fā)過程轉(zhuǎn)化為由OpenFlow 交換機和控制器來共同完成,實現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)和路由控制的分離??刂破骺梢酝ㄟ^事先規(guī) 定好的接口操作來控制OpenFlow交換機中的OpenFlow流表,從而達到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目 的,也就是說,基于OpenFlow的SDN架構(gòu)是在OpenFlow交換機上實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),而在控制 器上實現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)控制,從而實現(xiàn)了上述數(shù)據(jù)轉(zhuǎn)發(fā)面和控制層的分離。
[0006] 上述OpenFlow協(xié)議,是用來描述控制面設備(如0F配置點和控制器)和轉(zhuǎn)發(fā)面 設備(如OpenFlow交換機)之間交互所用信息的標準,以及控制面設備和轉(zhuǎn)發(fā)面設備的接 口標準。OpenFlow協(xié)議的核心部分是用于OpenFlow協(xié)議信息結(jié)構(gòu)的集合。
[0007] 上述OpenFlow流表(也稱為隧道信息流表)由很多個流表項組成,每個流表項就 是一個轉(zhuǎn)發(fā)規(guī)則。進入OpenFlow交換機的數(shù)據(jù)包通過查詢OpenFlow流表來獲得轉(zhuǎn)發(fā)的目 的端口。
[0008] OpenFlow流表或經(jīng)過配置的多個OpenFlow流表級聯(lián)而形成的OpenFlow管道,用 來配置交換機轉(zhuǎn)發(fā)路徑。如圖1所示為現(xiàn)有技術(shù)的報文流通過OpenFlow管道的示意圖,圖 1中TableO、Tablel?Tablen為多個OpenFlow流表,η為正整數(shù),多個OpenFlow流表級聯(lián) 所構(gòu)成的管道稱為所述OpenFlow管道。
[0009] 如圖2所示為現(xiàn)有技術(shù)基于每個OpenFlow流表的報文匹配處理過程,以TableO 為例,該過程包括:1)在TableO找到最高優(yōu)先級的匹配流表條目;2)應用指令集的指令: 修改報文或更新匹配的域;更新動作集;更新元數(shù)據(jù);3)匹配成功后將匹配數(shù)據(jù)和更新的 動作集發(fā)送給下一個流表Tablel。
[0010] 以下對現(xiàn)有的OpenFlow流表舉例描述如下:
[0011] OpenFlow流表由表1所示的匹配域、計數(shù)器和指令集等以下幾個字段構(gòu)成:
[0012]
【權(quán)利要求】
1. 一種隧道處理方法,其特征在于,該方法包括: 配置一組通用性的隧道封裝指令和解封裝指令,分別對應壓入指定封裝頭動作和彈出 指定封裝頭的動作; 根據(jù)隧道封裝指令和解封裝指令,分別執(zhí)行對應的壓入指定封裝頭動作和彈出指定封 裝頭的動作。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,執(zhí)行所述壓入指定封裝頭動作具體包括: 將指定封裝頭的長度和內(nèi)容的封裝頭壓入報文中。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,執(zhí)行所述彈出指定封裝頭的動作具體包 括:將指定長度的最外層封裝頭從報文中彈出。
4. 根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述封裝頭具體包括隧道頭、和/或 外層IP頭、和/或以太頭。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括:配置由多個開放流 OpenFlow流表級聯(lián)而成的OpenFlow管道; 任意一個OpenFlow流表由多個流表條目構(gòu)成,每一個流表條目至少包括匹配域、指令 集;其中,所述匹配域以隧道ID為匹配鍵值,所述匹配鍵值由上一級OpenFlow流表條目填 充到Meta的約定字段上;所述指令集至少包括所述隧道封裝指令和解封裝指令。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述隧道ID具體包括:配置隧道屬性的 接口 ID。
7. -種隧道處理系統(tǒng),其特征在于,該系統(tǒng)包括: 控制面設備,用于配置一組通用性的隧道封裝指令和解封裝指令,分別對應壓入指定 封裝頭動作和彈出指定封裝頭的動作; 轉(zhuǎn)發(fā)面設備,用于根據(jù)隧道封裝指令和解封裝指令,分別執(zhí)行對應的壓入指定封裝頭 動作和彈出指定封裝頭的動作。
8. 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)面設備,進一步用于執(zhí)行所述壓 入指定封裝頭動作時,將指定封裝頭的長度和內(nèi)容的封裝頭壓入報文中。
9. 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)面設備,進一步用于執(zhí)行所述彈 出指定封裝頭的動作時,將指定長度的最外層封裝頭從報文中彈出。
10. 根據(jù)權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述控制面設備,進一步用于配置所 述封裝頭具體包括隧道頭、和/或外層IP頭、和/或以太頭。
11. 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述控制面設備,進一步用于配置多個 OpenFlow流表,任意一個OpenFlow流表由多個流表條目構(gòu)成,每一個流表條目至少包括匹 配域、指令集;其中,所述匹配域以隧道ID為匹配鍵值,所述匹配鍵值由上一級OpenFlow流 表條目填充到Meta的約定字段上;所述指令集至少包括所述隧道封裝指令和解封裝指令; 所述轉(zhuǎn)發(fā)面設備,進一步包括由所述多個OpenFlow流表級聯(lián)而成的OpenFlow管道,進 入轉(zhuǎn)發(fā)面設備的報文根據(jù)所述OpenFlow管道上級聯(lián)的OpenFlow流表依序匹配執(zhí)行。
12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述隧道ID具體包括:配置隧道屬性 的接口 ID。
13. 根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述控制面設備,進一步包括: OF配置點,用于給一個轉(zhuǎn)發(fā)面設備的對應接口配置隧道屬性信息后,將配置的隧道屬 性信息通知控制器; 控制器,用于解析所述隧道屬性信息后添加具有壓入指定封裝頭和/或彈出指定封裝 頭的動作、和/或預置隧道封裝頭內(nèi)容的流表條目到所述OpenFlow流表中。
14. 根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述控制器,進一步用于對轉(zhuǎn)發(fā)面設備 上所述OpenFlow管道的所述多個OpenFlow流表的級聯(lián)流程進行預選配置并通知所述轉(zhuǎn)發(fā) 面設備; 所述轉(zhuǎn)發(fā)面設備,進一步用于在需要做封裝或解封裝的隧道處理情況下,所述進入 轉(zhuǎn)發(fā)面設備的報文根據(jù)所述OpenFlow管道上級聯(lián)的OpenFlow流表依序匹配執(zhí)行時,在 所述級聯(lián)流程中的一個OpenFlow流表匹配成功后,攜帶填有隧道ID的Meta跳轉(zhuǎn)到與該 OpenFlow流表級聯(lián)的后續(xù)一個OpenFlow流表上繼續(xù)匹配,匹配成功后根據(jù)流表條目中的 壓入指定封裝頭動作和彈出指定封裝頭的動作,分別執(zhí)行報文隧道頭的封裝和解封裝處 理。
15. 根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)面設備,進一步用于所述進入 轉(zhuǎn)發(fā)面設備的報文經(jīng)由OpenFlow管道處理結(jié)束或流表指令為執(zhí)行動作集Apply Actions 時,分別完成所述報文隧道頭的封裝和解封裝處理。
16. -種控制面設備,其特征在于,控制面設備,用于配置一組通用性的隧道封裝指令 和解封裝指令,分別對應壓入指定封裝頭動作和彈出指定封裝頭的動作。
17. -種轉(zhuǎn)發(fā)面設備,其特征在于,該轉(zhuǎn)發(fā)面設備,用于根據(jù)隧道封裝指令和解封裝指 令,分別執(zhí)行對應的壓入指定封裝頭動作和彈出指定封裝頭的動作。
【文檔編號】H04L12/70GK104243299SQ201310236650
【公開日】2014年12月24日 申請日期:2013年6月14日 優(yōu)先權(quán)日:2013年6月14日
【發(fā)明者】梁乾燈, 尤建潔, 梁亮, 陳勇 申請人:中興通訊股份有限公司