一種sdn數(shù)據(jù)平面帶狀態(tài)轉(zhuǎn)發(fā)處理器的制造方法
【技術(shù)領(lǐng)域】
[OOOU 本發(fā)明設(shè)及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體地說,設(shè)及一種SDN數(shù)據(jù)平面帶狀態(tài)轉(zhuǎn)發(fā)處理 器。
【背景技術(shù)】
[000引 軟件定義網(wǎng)絡(luò)SDN(Software-DefinedNetworking)在2010年由美國(guó)斯坦福大學(xué)NickMcKeown教授和加州大學(xué)伯克利分校ScottShenker教授等共同提出,其出發(fā)點(diǎn)是通 過對(duì)網(wǎng)絡(luò)控制的抽象重新構(gòu)建一個(gè)轉(zhuǎn)發(fā)平面和控制平面分離的網(wǎng)絡(luò)體系,支持網(wǎng)絡(luò)功能的 不斷演進(jìn)。
[0003] 軟件定義網(wǎng)絡(luò)將計(jì)算機(jī)體系結(jié)構(gòu)思想引入網(wǎng)絡(luò)研究領(lǐng)域,開放性是軟件定義網(wǎng)絡(luò) 的本質(zhì)特性。通過網(wǎng)絡(luò)設(shè)備的開放、控制平面的開放和協(xié)議實(shí)現(xiàn)的開放,使得網(wǎng)絡(luò)不再是一 個(gè)封閉的系統(tǒng),從而實(shí)現(xiàn)網(wǎng)絡(luò)體系結(jié)構(gòu)的持續(xù)演進(jìn)。軟件定義網(wǎng)絡(luò)的基本思想是不應(yīng)無限 制地縱容網(wǎng)絡(luò)復(fù)雜度的增加,網(wǎng)絡(luò)復(fù)雜度已經(jīng)越來越難W掌控,需要對(duì)網(wǎng)絡(luò)進(jìn)行抽象,W屏 蔽底層復(fù)雜度,為上層提供簡(jiǎn)單高效的配置與管理。SDN的基本特征有:控制與轉(zhuǎn)發(fā)分離, 控制平面與轉(zhuǎn)發(fā)平面之間的開放接口,邏輯上的集中控制。
[0004] 化enFlow協(xié)議由斯坦福大學(xué)于2008年提出?;痚nFlow的基本思想是將傳統(tǒng)網(wǎng) 絡(luò)設(shè)備中的快速報(bào)文轉(zhuǎn)發(fā)部分(數(shù)據(jù)平面)和邏輯路由決策部分(控制平面)進(jìn)行分離, 數(shù)據(jù)平面駐留在網(wǎng)絡(luò)設(shè)備內(nèi)部,而控制平面則從網(wǎng)絡(luò)設(shè)備移出集中至控制服務(wù)器,雙方通 過標(biāo)準(zhǔn)化的消息接口來進(jìn)行通信。同時(shí),在數(shù)據(jù)平面設(shè)計(jì)了新的硬件形式----流表(Flow T油le),作為網(wǎng)絡(luò)設(shè)備數(shù)據(jù)平面的抽象模型,提供給外界進(jìn)行使用,則外界可管控的數(shù)據(jù)平 面統(tǒng)一為FlowT油le形式;在控制平面,網(wǎng)絡(luò)設(shè)備的控制邏輯采用集中式分析、計(jì)算和運(yùn) 行,通過標(biāo)準(zhǔn)化的消息方式將控制指令發(fā)送給網(wǎng)絡(luò)設(shè)備,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程控制,W完 成傳統(tǒng)分布式網(wǎng)絡(luò)運(yùn)行模式下的基本功能,如報(bào)文接收、報(bào)文轉(zhuǎn)發(fā)、修改轉(zhuǎn)發(fā)表、獲取設(shè)備 狀態(tài)等。
[0005] 化enFlow協(xié)議數(shù)據(jù)平面"匹配+動(dòng)作"的轉(zhuǎn)發(fā)處理范式雖然能夠滿足一些協(xié)議的 需求,但仍然具有較大的局限性?;痚nFlow交換機(jī)只能提供對(duì)報(bào)文的匹配處理功能,不能支 持對(duì)狀態(tài)信息的處理。在現(xiàn)有的化enFlow架構(gòu)中,狀態(tài)信息只能在控制器上處理。由于交 換機(jī)和控制器通信帶寬和控制器處理能力的瓶頸,把所有的狀態(tài)信息都在控制器上處理會(huì) 帶來性能和可擴(kuò)展性的問題。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明所解決的技術(shù)問題之一是在SDN數(shù)據(jù)平面實(shí)現(xiàn)對(duì)數(shù)據(jù)報(bào)文/流、連接和網(wǎng) 絡(luò)狀態(tài)信息的處理,解決在交換機(jī)和控制器通信帶寬和控制器處理能力存在瓶頸的條件 下,存在的網(wǎng)絡(luò)性能受限的缺陷。
[0007] 本發(fā)明提供了一種SDN數(shù)據(jù)平面帶狀態(tài)轉(zhuǎn)發(fā)處理器,包括:
[000引狀態(tài)處理模塊,其包括為多種應(yīng)用協(xié)議設(shè)置的狀態(tài)表,所述狀態(tài)表用于記錄數(shù)據(jù) 包、數(shù)據(jù)流、連接或網(wǎng)絡(luò)的狀態(tài)信息,并記錄對(duì)狀態(tài)表進(jìn)行維護(hù)的狀態(tài)表操作指令、實(shí)現(xiàn)報(bào) 文流轉(zhuǎn)的控制指令和對(duì)報(bào)文進(jìn)行處理的處理指令;
[0009] 策略模塊,其包括與狀態(tài)表對(duì)應(yīng)的狀態(tài)轉(zhuǎn)移策略表,所述狀態(tài)轉(zhuǎn)移策略表為SDN 網(wǎng)絡(luò)中多種應(yīng)用協(xié)議預(yù)先存儲(chǔ)狀態(tài)轉(zhuǎn)移規(guī)則和報(bào)文處理規(guī)則;
[0010] 其中,所述狀態(tài)處理模炔基于數(shù)據(jù)平面發(fā)生的事件和當(dāng)前狀態(tài)查詢狀態(tài)轉(zhuǎn)移策略 表,根據(jù)所述狀態(tài)轉(zhuǎn)移策略表確定狀態(tài)表操作指令,更新所述狀態(tài)表中記錄的數(shù)據(jù)包、數(shù)據(jù) 流、連接或者網(wǎng)絡(luò)的狀態(tài)信息,并根據(jù)所述狀態(tài)轉(zhuǎn)移策略表確定相應(yīng)的控制指令和報(bào)文處 理指令來對(duì)數(shù)據(jù)包或數(shù)據(jù)流進(jìn)行處理。
[0011] 在一個(gè)實(shí)施例中,所述狀態(tài)處理模塊將到達(dá)的數(shù)據(jù)流與狀態(tài)表項(xiàng)進(jìn)行匹配,判斷 該數(shù)據(jù)流的當(dāng)前狀態(tài),根據(jù)數(shù)據(jù)包攜帶的事件查詢所述狀態(tài)轉(zhuǎn)移策略表,得到數(shù)據(jù)流的下 一狀態(tài)和相應(yīng)的控制指令或者報(bào)文處理指令。
[0012] 在一個(gè)實(shí)施例中,所述狀態(tài)處理模塊根據(jù)SDN控制器下發(fā)的狀態(tài)表操作指令對(duì)狀 態(tài)表進(jìn)行維護(hù)。
[0013] 在一個(gè)實(shí)施例中,所述狀態(tài)表中設(shè)置與應(yīng)用協(xié)議相應(yīng)的匹配域、狀態(tài)域和指令域, 所述匹配域的內(nèi)容表示針對(duì)應(yīng)用協(xié)議設(shè)定的報(bào)文匹配區(qū)域,所述狀態(tài)域的內(nèi)容表示數(shù)據(jù) 包、數(shù)據(jù)流、連接或者網(wǎng)絡(luò)的狀態(tài)信息,所述狀態(tài)表的指令域中包括控制指令、狀態(tài)表操作 指令和報(bào)文處理指令。
[0014] 在一個(gè)實(shí)施例中,所述狀態(tài)轉(zhuǎn)移策略表中設(shè)置當(dāng)前狀態(tài)域、事件域、下一狀態(tài)域和 指令域,所述事件域的內(nèi)容表示數(shù)據(jù)平面到達(dá)的數(shù)據(jù)包、數(shù)據(jù)流所攜帶的事件,或者連接、 網(wǎng)絡(luò)發(fā)生的事件,所述策略表的指令域中包括控制指令、狀態(tài)操作指令和報(bào)文處理指令。
[0015] 在一個(gè)實(shí)施例中,所述狀態(tài)處理模塊根據(jù)到達(dá)的報(bào)文查詢所述狀態(tài)轉(zhuǎn)移策略表, 對(duì)狀態(tài)表中的表項(xiàng)進(jìn)行更新,或者根據(jù)SDN控制器發(fā)送的狀態(tài)表操作指令對(duì)狀態(tài)表中的表 項(xiàng)進(jìn)行更新。
[0016] 在一個(gè)實(shí)施例中,所述狀態(tài)表中設(shè)置空閑時(shí)限域和硬連接時(shí)限域,所述空閑時(shí)限 域記錄表項(xiàng)沒有報(bào)文匹配的時(shí)間,所述硬超連接時(shí)限域記錄表項(xiàng)建立的時(shí)間,在空閑時(shí)間 或者硬連接時(shí)間的值超過預(yù)設(shè)闊值的情況下,刪除狀態(tài)表的表項(xiàng)。
[0017] 在一個(gè)實(shí)施例中,根據(jù)SDN控制器下發(fā)的初始化命令預(yù)先配置所述狀態(tài)表中的匹 配域。
[001引在一個(gè)實(shí)施例中,根據(jù)SDN控制器下發(fā)的初始化命令預(yù)先配置所述狀態(tài)轉(zhuǎn)移策略 表中的當(dāng)前狀態(tài)域、事件域、下一狀態(tài)域和策略表指令域的值,構(gòu)建與應(yīng)用協(xié)議相應(yīng)的有限 狀態(tài)機(jī)。
[0019] 本發(fā)明的實(shí)施例能夠在SDN數(shù)據(jù)平面處理數(shù)據(jù)包、數(shù)據(jù)流、連接和網(wǎng)絡(luò)狀態(tài)信息。 其中,轉(zhuǎn)發(fā)處理器FP能夠通過狀態(tài)表ST查詢和存儲(chǔ)數(shù)據(jù)流或者報(bào)文的狀態(tài)信息,對(duì)到達(dá)的 事件(包括到達(dá)的報(bào)文或SDN控制器下發(fā)的配置信息)作出相應(yīng)的處理。SDN控制器對(duì)轉(zhuǎn) 發(fā)處理器FP擁有完全控制權(quán)。
[0020] 轉(zhuǎn)發(fā)處理器FP提供可編程接口,可W靈活擴(kuò)展報(bào)文處理動(dòng)作,實(shí)現(xiàn)對(duì)報(bào)文頭部或 負(fù)載的處理,支持對(duì)報(bào)文4至7層信息的處理,進(jìn)一步增強(qiáng)數(shù)據(jù)平面的可編程性。
[002USDN控制器根據(jù)不同的應(yīng)用協(xié)議通過初始化指令配置狀態(tài)轉(zhuǎn)移策略表,預(yù)先設(shè)定 數(shù)據(jù)平面狀態(tài)轉(zhuǎn)移的有限狀態(tài)機(jī)和相關(guān)指令。
[0022] 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利 要求書W及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【附圖說明】
[0023] 附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí) 施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中: