專利名稱:實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的方法和裝置。
背景技術(shù):
在Linux操作系統(tǒng)中,Linux協(xié)議棧作為控制平面的基礎(chǔ)平臺,再配合各個控制協(xié)議形成控制平面。該控制平面用于控制數(shù)據(jù)平面的報文轉(zhuǎn)發(fā)。而數(shù)據(jù)平面,基于不同網(wǎng)絡(luò)設(shè)備實現(xiàn)不同的報文轉(zhuǎn)發(fā),例如,路由設(shè)備通過軟件實現(xiàn)報文轉(zhuǎn)發(fā),而交換設(shè)備通過硬件芯片實現(xiàn)報文轉(zhuǎn)發(fā)。將數(shù)據(jù)平面和控制平面很好的結(jié)合起來,并且滿足控制、轉(zhuǎn)發(fā)相互分離的要求是關(guān)鍵。但是,在現(xiàn)有控制、轉(zhuǎn)發(fā)相互分離的系統(tǒng)中,數(shù)據(jù)平面和控制平面的功能模塊不明確, 存在重復(fù)開發(fā)問題,這會影響代碼復(fù)用和開發(fā)效率。
發(fā)明內(nèi)容
本發(fā)明提供了實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的方法和裝置,以避免數(shù)據(jù)平面和控制平面的功能模塊重復(fù)開發(fā),提高代碼復(fù)用度和開發(fā)效率。本發(fā)明提供的技術(shù)方案包括一種實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的方法,該方法應(yīng)用于控制平面和數(shù)據(jù)平面相互分離的系統(tǒng)中,所述控制平面和數(shù)據(jù)平面通過控制通道和數(shù)據(jù)通道連接;該方法包括控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存;數(shù)據(jù)平面中的數(shù)據(jù)單元根據(jù)保存的所述控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理;控制平面中的協(xié)議棧單元僅通過數(shù)據(jù)通道接收來自所述數(shù)據(jù)單元發(fā)送的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理。一種實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的裝置,該裝置應(yīng)用于控制平面和數(shù)據(jù)平面相互分離的系統(tǒng)中,所述控制平面和數(shù)據(jù)平面通過控制通道和數(shù)據(jù)通道連接;所述裝置包括數(shù)據(jù)平面中的數(shù)據(jù)單元、以及控制平面中的控制單元和協(xié)議棧單元;其中,所述控制平面中的控制單元通過控制通道向數(shù)據(jù)平面發(fā)送控制信息;所述數(shù)據(jù)平面中的數(shù)據(jù)單元接收并保存來自所述控制單元的控制信息,并在接收到報文時根據(jù)保存的控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理;所述控制平面中的協(xié)議棧單元僅通過數(shù)據(jù)通道接收來自所述數(shù)據(jù)單元的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文下發(fā)至所述數(shù)據(jù)單元。由以上技術(shù)方案可以看出,本發(fā)明中,控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存,數(shù)據(jù)平面中的數(shù)據(jù)單元根據(jù)保存的所述控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理,控制平面中的協(xié)議棧單元僅通過數(shù)據(jù)通道接收來自所述數(shù)據(jù)單元的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理,這顯然明確了數(shù)據(jù)平面和控制平面所執(zhí)行的操作,明確出了控制平面和數(shù)據(jù)平面中的單元具有的功能和所處的位置,這避免數(shù)據(jù)平面和控制平面的功能模塊實現(xiàn)代碼重復(fù)開發(fā),提高代碼復(fù)用度和開發(fā)效率;進一步地,本發(fā)明中,當(dāng)協(xié)議棧單元接收到來自所述數(shù)據(jù)單元的數(shù)據(jù)報文時,不再進行鏈路、入方向業(yè)務(wù)處理。這相比于現(xiàn)有技術(shù),進一步明確了數(shù)據(jù)平面和控制平面的功能,避免數(shù)據(jù)平面和控制平面的功能模塊重復(fù)開發(fā),提高代碼復(fù)用度和開發(fā)效率。
圖1為本發(fā)明實施例提供的裝置結(jié)構(gòu)圖;圖2為本發(fā)明實施例提供的流程圖;圖3為本發(fā)明實施例提供的裝置詳細結(jié)構(gòu)圖;圖4為本發(fā)明實施例提供的步驟101流程實現(xiàn)示意圖;圖5為本發(fā)明實施例提供的步驟102流程實現(xiàn)示意圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。本發(fā)明提供的裝置應(yīng)用于控制平面和數(shù)據(jù)平面相互分離的系統(tǒng)中,在該系統(tǒng)中, 所述控制平面和數(shù)據(jù)平面通過控制通道和數(shù)據(jù)通道連接。其中,所述控制平面主要用于對數(shù)據(jù)平面的控制,不再用于報文的轉(zhuǎn)發(fā)、和業(yè)務(wù)處理,其包括控制單元和協(xié)議棧單元。至于所述數(shù)據(jù)平面,其主要用于完成報文的轉(zhuǎn)發(fā)、處理, 其包括數(shù)據(jù)單元,具體如圖1所示的結(jié)構(gòu)?;趫D1所示的結(jié)構(gòu),則本發(fā)明提供的方法包括圖2所示的流程參見圖2,圖2為本發(fā)明實施例提供的流程圖。如圖2所示,該流程可包括以下步驟步驟201,控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存。該控制信息的流程為控制平面中的控制單元主動發(fā)起的。步驟202,數(shù)據(jù)平面中的數(shù)據(jù)單元根據(jù)保存的所述控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理。步驟203,控制平面中的協(xié)議棧單元僅通過數(shù)據(jù)通道接收來自所述數(shù)據(jù)單元發(fā)送的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理。本步驟203中,協(xié)議棧單元將數(shù)據(jù)報文放入緩存隊列具體為所述協(xié)議棧單元驗證數(shù)據(jù)報文的有效性,并在驗證有效后,對該數(shù)據(jù)報文進行協(xié)議處理比如UDP、TCP等協(xié)議處理,之后將處理后的報文放入緩存隊列。其中,所述緩存隊列具體實現(xiàn)時可為套接字 (Socket)緩存隊列??梢钥闯?,當(dāng)協(xié)議棧單元接收到來自所述數(shù)據(jù)單元的數(shù)據(jù)報文時,不再進行鏈路、 入方向業(yè)務(wù)處理。這相比于現(xiàn)有技術(shù),明確了數(shù)據(jù)平面和控制平面的功能,避免數(shù)據(jù)平面和控制平面的功能模塊重復(fù)開發(fā),提高代碼復(fù)用度和開發(fā)效率。至此,完成圖2所示的流程。優(yōu)選地,在本發(fā)明中,所述數(shù)據(jù)單元具體實現(xiàn)時可包括圖3所示的以下模塊接口模塊、鏈路模塊、業(yè)務(wù)模塊和路由模塊;所述控制單元具體實現(xiàn)時可包括圖3所示的以下模塊用于控制所述路由模塊的路由控制模塊、用于控制所述鏈路模塊的鏈路控制模塊、用于控制所述業(yè)務(wù)模塊的業(yè)務(wù)控制模塊、以及用于控制所述接口模塊的接口驅(qū)動模塊?;趫D3,則上述步驟101中,所述控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存可通過圖4所示。參見圖4,圖4為本發(fā)明實施例提供的步驟101流程實現(xiàn)示意圖。在圖4中,僅示出了控制信息的傳輸,數(shù)據(jù)通道沒有顯示。在圖4中,所述控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存包括所述接口驅(qū)動模塊通過控制通道向所述接口模塊發(fā)送控制信息,所述接口模塊接收來自所述接口驅(qū)動模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述鏈路控制模塊通過控制通道向所述來鏈路模塊發(fā)送控制信息,所述鏈路模塊接收來自所述鏈路控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述業(yè)務(wù)控制模塊通過控制通道向所述業(yè)務(wù)模塊發(fā)送控制信息,所述業(yè)務(wù)模塊接收來自所述業(yè)務(wù)控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述路由控制模塊通過控制通道向所述路由模塊發(fā)送控制信息,所述路由模塊接收來自所述路由控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存。需要說明的是,在本發(fā)明中,數(shù)據(jù)平面中不同的模塊需要的控制信息不同,下面以路由控制模塊通過控制通道向所述路由模塊發(fā)送控制信息為例描述控制信息的傳輸,其他控制信息傳輸原理類似對于路由控制模塊,其向所述路由模塊發(fā)送的控制信息為路由信息,具體通過以下步驟實現(xiàn)首先,路由控制模塊利用路由協(xié)議比如0SPF、BGP等協(xié)議學(xué)習(xí)到路由信息;之后,路由控制模塊將學(xué)習(xí)到的路由信息統(tǒng)一打包,之后通過控制通道將該打包后的路由信息下發(fā)至數(shù)據(jù)平面中的路由模塊。如此,當(dāng)路由模塊接收到打包后的路由信息后,即可形成轉(zhuǎn)發(fā)表項,以便用于后續(xù)報文的轉(zhuǎn)發(fā)。另外,基于圖3,步驟102中,所述數(shù)據(jù)單元根據(jù)保存的控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理可通過圖5所示。參見圖5,圖5為本發(fā)明實施例提供的步驟102流程實現(xiàn)示意圖。在圖5中,僅示出了報文傳輸,控制通道沒有示出。并且,圖5中,控制單元和協(xié)議棧單元之間的雙向箭頭用于實現(xiàn)控制單元收發(fā)控制報文。如圖5所示,該數(shù)據(jù)單元根據(jù)保存的控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理包括所述接口模塊接收到報文時,將該接收的報文發(fā)送至所述鏈路模塊;所述鏈路模塊在對來自所述接口模塊的報文進行入方向鏈路處理時,如果發(fā)現(xiàn)所述報文為本系統(tǒng)的鏈路報文(該鏈路報文一般為控制報文,比如進行鏈路協(xié)商報文等), 則通過所述數(shù)據(jù)通道發(fā)送該報文給所述控制平面中的控制單元,由所述控制單元處理該報文;否則,發(fā)送所述報文至業(yè)務(wù)模塊進行業(yè)務(wù)處理;所述業(yè)務(wù)模塊對接收的報文進行入方向業(yè)務(wù)處理,將處理后的報文發(fā)送至路由模塊;其中,所述入方向業(yè)務(wù)處理具體可為限速、Q0S、防火墻等操作;所述路由模塊在對來自所述業(yè)務(wù)模塊的報文進行路由處理時,如果發(fā)現(xiàn)所述報文為需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,則通過數(shù)據(jù)通道發(fā)送所述報文至所述協(xié)議棧單元,否則,確定發(fā)送所述報文的出接口,將所述報文發(fā)送至所述業(yè)務(wù)模塊;需要說明的是,如果路由模塊沒有找到所述報文的路由,則直接丟棄該報文。所述業(yè)務(wù)模塊對來自所述路由模塊的報文進行出方向業(yè)務(wù)處理,將處理后的報文發(fā)送至鏈路模塊;所述鏈路模塊對來自所述業(yè)務(wù)模塊的報文進行出方向鏈路處理比如鏈路層封裝等,將處理后的報文發(fā)送至所述接口模塊,由所述接口模塊通過所述出接口發(fā)送來自所述鏈路模塊的報文。至此,完成數(shù)據(jù)單元根據(jù)保存的控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理操作。需要說明的是,本發(fā)明中,上述的所述數(shù)據(jù)單元可通過軟件或者硬件實現(xiàn)。其中, 如果通過硬件實現(xiàn)時,則該硬件必須提供一些必要的接口,用于完成上述數(shù)據(jù)平面各個模塊對應(yīng)的邏輯,或者,借助軟件完成所述數(shù)據(jù)平面各個模塊對應(yīng)的邏輯。如此,在上述數(shù)據(jù)單元根據(jù)保存的控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理操作時,如果所述數(shù)據(jù)單元通過硬件實現(xiàn),則在上述任一模塊由于故障無法繼續(xù)處理報文時,需要將報文交給軟件處理,并進一步告知軟件故障原因。另外,在上述步驟103中,所述協(xié)議棧單元對本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文進行的封裝為網(wǎng)絡(luò)層封裝或者為鏈路層封裝;基于此,所述協(xié)議棧單元將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理包括所述協(xié)議棧單元首先根據(jù)數(shù)據(jù)報文的目的地址選擇該數(shù)據(jù)報文對應(yīng)的出接口 ;協(xié)議棧單元在所述封裝為鏈路層封裝時,直接通過數(shù)據(jù)通道將封裝后的數(shù)據(jù)報文發(fā)送至數(shù)據(jù)單元的鏈路模塊,鏈路模塊對來自所述協(xié)議棧單元的數(shù)據(jù)報文進行出方向鏈路處理,將處理后的數(shù)據(jù)報文發(fā)送至所述接口模塊,所述接口模塊通過所述協(xié)議棧單元選擇的出接口發(fā)送該數(shù)據(jù)報文;所述協(xié)議棧單元在所述封裝為網(wǎng)絡(luò)層封裝時,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述業(yè)務(wù)模塊,所述業(yè)務(wù)模塊對來自所述協(xié)議棧單元的數(shù)據(jù)報文進行出方向業(yè)務(wù)處理,將處理后的數(shù)據(jù)報文發(fā)送至鏈路模塊,所述鏈路模塊對來自所述業(yè)務(wù)模塊的數(shù)據(jù)報文進行出方向鏈路處理,將處理后的數(shù)據(jù)報文發(fā)送至所述接口模塊,所述接口模塊通過所述協(xié)議棧單元選擇的出接口發(fā)送該數(shù)據(jù)報文。可以看出,所述協(xié)議棧單元在封裝完來自本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文后,并不再對該數(shù)據(jù)報文進行出方向業(yè)務(wù)處理、鏈路層封裝處理、接口發(fā)送處理,而是直接通過數(shù)據(jù)通道將該數(shù)據(jù)報文發(fā)送給數(shù)據(jù)平面,由數(shù)據(jù)平面負責(zé)報文的出方向業(yè)務(wù)處理、鏈路層封裝處理、接口發(fā)送處理,這進一步提高功能模塊代碼的復(fù)用度。至此,完成本發(fā)明的描述。由以上技術(shù)方案可以看出,本發(fā)明中,控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存,數(shù)據(jù)平面中的數(shù)據(jù)單元根據(jù)保存的所述控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理,控制平面中的協(xié)議棧單元僅接收所述數(shù)據(jù)單元通過數(shù)據(jù)通道發(fā)送的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理首先明確數(shù)據(jù)平面和控制平面所執(zhí)行的操作,明確出了控制平面和數(shù)據(jù)平面中的單元具有的功能和所處的位置,這避免數(shù)據(jù)平面和控制平面的功能模塊實現(xiàn)代碼重復(fù)開發(fā),提高代碼復(fù)用度和開發(fā)效率;進一步地,本發(fā)明中,當(dāng)協(xié)議棧單元接收到來自所述數(shù)據(jù)單元的數(shù)據(jù)報文時,不再進行鏈路、入方向業(yè)務(wù)處理。這相比于現(xiàn)有技術(shù),進一步明確了數(shù)據(jù)平面和控制平面的功能,避免數(shù)據(jù)平面和控制平面的功能模塊重復(fù)開發(fā),提高代碼復(fù)用度和開發(fā)效率。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的方法,該方法應(yīng)用于控制平面和數(shù)據(jù)平面相互分離的系統(tǒng)中,所述控制平面和數(shù)據(jù)平面通過控制通道和數(shù)據(jù)通道連接;其特征在于,該方法包括控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存; 數(shù)據(jù)平面中的數(shù)據(jù)單元根據(jù)保存的所述控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理; 控制平面中的協(xié)議棧單元僅通過數(shù)據(jù)通道接收來自所述數(shù)據(jù)單元的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)單元包括接口模塊、鏈路模塊、 業(yè)務(wù)模塊和路由模塊;所述數(shù)據(jù)單元根據(jù)保存的控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理包括 所述接口模塊接收到報文時,將該接收的報文發(fā)送至所述鏈路模塊; 所述鏈路模塊在對來自所述接口模塊的報文進行入方向鏈路處理時,如果發(fā)現(xiàn)所述報文為本系統(tǒng)的鏈路報文,則通過所述數(shù)據(jù)通道發(fā)送該報文給所述控制平面中的控制單元, 由所述控制單元處理該報文;否則,發(fā)送所述報文至業(yè)務(wù)模塊進行業(yè)務(wù)處理;所述業(yè)務(wù)模塊對接收的報文進行入方向業(yè)務(wù)處理,將處理后的報文發(fā)送至路由模塊; 所述路由模塊在對來自所述業(yè)務(wù)模塊的報文進行路由處理時,如果發(fā)現(xiàn)所述報文為需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,則通過數(shù)據(jù)通道發(fā)送所述報文至所述協(xié)議棧單元,否則,確定發(fā)送所述報文的出接口,將所述報文發(fā)送至所述業(yè)務(wù)模塊;所述業(yè)務(wù)模塊對來自所述路由模塊的報文進行出方向業(yè)務(wù)處理,將處理后的報文發(fā)送至鏈路模塊;所述鏈路模塊對來自所述業(yè)務(wù)模塊的報文進行出方向鏈路處理,將處理后的報文發(fā)送至所述接口模塊,由所述接口模塊通過所述出接口發(fā)送來自所述鏈路模塊的報文。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述協(xié)議棧單元對本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文進行的封裝為鏈路層封裝或網(wǎng)絡(luò)層封裝;所述協(xié)議棧單元將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理包括協(xié)議棧單元根據(jù)數(shù)據(jù)報文的目的地址選擇該數(shù)據(jù)報文對應(yīng)的出接口; 協(xié)議棧單元在所述封裝為鏈路層封裝時,直接通過數(shù)據(jù)通道將封裝后的數(shù)據(jù)報文發(fā)送至數(shù)據(jù)單元的鏈路模塊,鏈路模塊對來自所述協(xié)議棧單元的數(shù)據(jù)報文進行出方向鏈路處理,將處理后的數(shù)據(jù)報文發(fā)送至所述接口模塊,所述接口模塊通過所述協(xié)議棧單元選擇的出接口發(fā)送該數(shù)據(jù)報文;所述協(xié)議棧單元在所述封裝為網(wǎng)絡(luò)層封裝時,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述業(yè)務(wù)模塊,所述業(yè)務(wù)模塊對來自所述協(xié)議棧單元的數(shù)據(jù)報文進行出方向業(yè)務(wù)處理, 將處理后的數(shù)據(jù)報文發(fā)送至鏈路模塊,所述鏈路模塊對來自所述業(yè)務(wù)模塊的數(shù)據(jù)報文進行出方向鏈路處理,將處理后的數(shù)據(jù)報文發(fā)送至所述接口模塊,所述接口模塊通過所述協(xié)議棧單元選擇的出接口發(fā)送該數(shù)據(jù)報文。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述控制單元包括用于控制所述路由模塊的路由控制模塊、用于控制所述鏈路模塊的鏈路控制模塊、用于控制所述業(yè)務(wù)模塊的業(yè)務(wù)控制模塊、以及用于控制所述接口模塊的接口驅(qū)動模塊;所述控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存包括 所述接口驅(qū)動模塊通過控制通道向所述接口模塊發(fā)送控制信息,所述接口模塊接收來自所述接口驅(qū)動模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述鏈路控制模塊通過控制通道向所述來鏈路模塊發(fā)送控制信息,所述鏈路模塊接收來自所述鏈路控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述業(yè)務(wù)控制模塊通過控制通道向所述業(yè)務(wù)模塊發(fā)送控制信息,所述業(yè)務(wù)模塊接收來自所述業(yè)務(wù)控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述路由控制模塊通過控制通道向所述路由模塊發(fā)送控制信息,所述路由模塊接收來自所述路由控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存。
5.根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述協(xié)議棧單元將數(shù)據(jù)報文放入緩存隊列包括所述協(xié)議棧單元驗證數(shù)據(jù)報文的有效性,并在驗證有效后,對該數(shù)據(jù)報文進行協(xié)議處理,之后將處理后的報文放入緩存隊列。
6.根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述數(shù)據(jù)單元通過軟件或者硬件實現(xiàn)。
7.一種實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的裝置,該裝置應(yīng)用于控制平面和數(shù)據(jù)平面相互分離的系統(tǒng)中,所述控制平面和數(shù)據(jù)平面通過控制通道和數(shù)據(jù)通道連接;其特征在于,所述裝置包括數(shù)據(jù)平面中的數(shù)據(jù)單元、以及控制平面中的控制單元和協(xié)議棧單元;其中,所述控制平面中的控制單元通過控制通道向數(shù)據(jù)平面發(fā)送控制信息; 所述數(shù)據(jù)單元接收并保存來自所述控制單元的控制信息,并在接收到報文時根據(jù)保存的控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理;所述控制平面中的協(xié)議棧單元僅通過數(shù)據(jù)通道接收來自所述數(shù)據(jù)單元的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文下發(fā)至所述數(shù)據(jù)單元。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)單元包括接口模塊、鏈路模塊、 業(yè)務(wù)模塊和路由模塊;所述接口模塊接收到報文時,將該接收的報文發(fā)送至所述鏈路模塊; 所述鏈路模塊在對來自所述接口模塊的報文進行入方向鏈路處理時,如果發(fā)現(xiàn)所述報文為本系統(tǒng)的鏈路報文,則通過所述數(shù)據(jù)通道發(fā)送該報文給所述控制平面中的控制單元, 由所述控制單元處理該報文;否則,發(fā)送所述報文至業(yè)務(wù)模塊進行業(yè)務(wù)處理;所述業(yè)務(wù)模塊對接收的報文進行入方向業(yè)務(wù)處理,將處理后的報文發(fā)送至路由模塊; 所述路由模塊在對來自所述業(yè)務(wù)模塊的報文進行路由處理時,如果發(fā)現(xiàn)所述報文為需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,則通過數(shù)據(jù)通道發(fā)送所述報文至所述協(xié)議棧單元,否則,確定發(fā)送所述報文的出接口,將所述報文發(fā)送至所述業(yè)務(wù)模塊;所述業(yè)務(wù)模塊對來自所述路由模塊的報文進行出方向業(yè)務(wù)處理,將處理后的報文發(fā)送至鏈路模塊;所述鏈路模塊對來自所述業(yè)務(wù)模塊的報文進行出方向鏈路處理,將處理后的報文發(fā)送至所述接口模塊,由所述接口模塊通過所述出接口發(fā)送來自所述鏈路模塊的報文。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述協(xié)議棧單元對本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文進行的封裝為鏈路層封裝或網(wǎng)絡(luò)層封裝;所述協(xié)議棧單元先根據(jù)數(shù)據(jù)報文的目的地址選擇該數(shù)據(jù)報文對應(yīng)的出接口 ;在所述封裝為鏈路層封裝時,直接通過數(shù)據(jù)通道將封裝后的數(shù)據(jù)報文發(fā)送至所述鏈路模塊,所述鏈路模塊對來自所述協(xié)議棧單元的數(shù)據(jù)報文進行出方向鏈路處理,將處理后的數(shù)據(jù)報文發(fā)送至所述接口模塊,所述接口模塊通過所述協(xié)議棧單元選擇的出接口發(fā)送該數(shù)據(jù)報文;在所述封裝為網(wǎng)絡(luò)層封裝時,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述業(yè)務(wù)模塊,所述業(yè)務(wù)模塊對來自所述協(xié)議棧單元的數(shù)據(jù)報文進行出方向業(yè)務(wù)處理,將處理后的數(shù)據(jù)報文發(fā)送至鏈路模塊,所述鏈路模塊對來自所述業(yè)務(wù)模塊的數(shù)據(jù)報文進行出方向鏈路處理,將處理后的數(shù)據(jù)報文發(fā)送至所述接口模塊,所述接口模塊通過所述協(xié)議棧單元選擇的出接口發(fā)送該數(shù)據(jù)報文。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述控制單元包括用于控制所述路由模塊的路由控制模塊、用于控制所述鏈路模塊的鏈路控制模塊、用于控制所述業(yè)務(wù)模塊的業(yè)務(wù)控制模塊、以及用于控制所述接口模塊的接口驅(qū)動模塊;所述接口驅(qū)動模塊通過控制通道向所述接口模塊發(fā)送控制信息,所述接口模塊接收來自所述接口驅(qū)動模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述鏈路控制模塊通過控制通道向所述來鏈路模塊發(fā)送控制信息,所述鏈路模塊接收來自所述鏈路控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述業(yè)務(wù)控制模塊通過控制通道向所述業(yè)務(wù)模塊發(fā)送控制信息,所述業(yè)務(wù)模塊接收來自所述業(yè)務(wù)控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存;所述路由控制模塊通過控制通道向所述路由模塊發(fā)送控制信息,所述路由模塊接收來自所述路由控制模塊發(fā)送的控制信息,并將所述控制信息轉(zhuǎn)換成自身識別的控制信息進行保存。
全文摘要
本發(fā)明提供了實現(xiàn)控制、轉(zhuǎn)發(fā)相互分離的方法和裝置。該方法包括控制平面中的控制單元通過控制通道發(fā)送控制信息至數(shù)據(jù)平面保存;數(shù)據(jù)單元根據(jù)保存的所述控制信息執(zhí)行報文的業(yè)務(wù)轉(zhuǎn)發(fā)處理;控制平面中的協(xié)議棧單元僅通過數(shù)據(jù)通道接收來自所述數(shù)據(jù)單元的需要本系統(tǒng)應(yīng)用程序處理的數(shù)據(jù)報文,并將該數(shù)據(jù)報文放入緩存隊列,以供本系統(tǒng)應(yīng)用程序從所述緩存隊列中獲取所述數(shù)據(jù)報文,以及接收并封裝本系統(tǒng)應(yīng)用程序發(fā)送的數(shù)據(jù)報文,將封裝后的數(shù)據(jù)報文通過數(shù)據(jù)通道發(fā)送至所述數(shù)據(jù)單元進行業(yè)務(wù)轉(zhuǎn)發(fā)處理。
文檔編號H04L12/56GK102316044SQ201110293858
公開日2012年1月11日 申請日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者李永合, 林茂 申請人:邁普通信技術(shù)股份有限公司