專利名稱:可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種路由協(xié)議軟件構(gòu)件重構(gòu)方法,特別是涉及一種可 重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法。背景技術(shù):
網(wǎng)絡(luò)體系架構(gòu)設(shè)計(jì)應(yīng)該面向變化,具有可擴(kuò)展性,能夠 提供柔性的服務(wù),支撐現(xiàn)有和未來大多數(shù)業(yè)務(wù)。網(wǎng)絡(luò)必須擺脫層出不窮的業(yè)務(wù)發(fā)展約
束,能夠聚類不同的處理任務(wù)和網(wǎng)絡(luò)業(yè)務(wù),構(gòu)建具備規(guī)??煽s放、功能可重構(gòu)、服務(wù)可定制 等特性的網(wǎng)絡(luò)體系架構(gòu)。網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備體系架構(gòu)應(yīng)符合可擴(kuò)展的原則,支持在其之上的不同提供商的 升級和功能、性能擴(kuò)展。當(dāng)前網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備采用專用的軟/硬件設(shè)計(jì),其體系結(jié)構(gòu)是緊
耦合的,缺乏靈活性??芍貥?gòu)路由交換平臺采用開放標(biāo)準(zhǔn)和積木式模型,模塊可互操作,軟 件可重用,則開發(fā)者可以在交換平臺中集成不同廠商的軟/硬件模塊,方便地升級、擴(kuò)展或 重組交換平臺的結(jié)構(gòu)和服務(wù)。可重構(gòu)路由交換平臺中的構(gòu)件技術(shù)就是要讓路由器設(shè)計(jì)、開 發(fā)像機(jī)械制造工業(yè)一樣,可以用各種標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)的零件來進(jìn)行組裝,或者像建筑業(yè)一樣, 用各種建筑材料搭建成各式各樣的建筑。路由交換系統(tǒng)構(gòu)件化的目標(biāo)是可以對由不同廠 商、不同單位或個(gè)人提供、在不同操作系統(tǒng)或硬件平臺上實(shí)現(xiàn)的功能構(gòu)件方便地、動(dòng)態(tài)地集 成為一個(gè)有機(jī)體。這些構(gòu)件要求能互操作,實(shí)現(xiàn)路由交換功能的構(gòu)件化是一種前沿的系統(tǒng) 設(shè)計(jì)思想,對路由交換設(shè)備制造乃至整個(gè)網(wǎng)絡(luò)行業(yè)的健康發(fā)展有著至關(guān)重要的推動(dòng)作用。在由構(gòu)件組成的可重構(gòu)路由交換平臺中,當(dāng)平臺按需進(jìn)行重構(gòu)時(shí),構(gòu)件是進(jìn) 行重構(gòu)操作的基本元素和對象。我們需要一種方法來高效地管理構(gòu)件,并且使重構(gòu)過
程達(dá)到步驟簡單,快速可靠的效果。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的缺陷,提供一種重構(gòu)結(jié)構(gòu)簡
單、支持多種構(gòu)件、可擴(kuò)展性強(qiáng)的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法。本發(fā)明的技術(shù)方案
一種可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法,在可重構(gòu)路由 交換平臺上建立一個(gè)通用的軟件構(gòu)件運(yùn)行環(huán)境,軟件構(gòu)件運(yùn)行環(huán)境與一定數(shù)量的路由 協(xié)議軟件構(gòu)件和操作系統(tǒng)通訊,構(gòu)件代理管理路由協(xié)議軟件構(gòu)件,構(gòu)件代理負(fù)責(zé)路由協(xié)議 軟件構(gòu)件的重構(gòu)控制過程,構(gòu)件代理與可重構(gòu)管理平臺通信,負(fù)責(zé)接收可重構(gòu)管理平臺的 重構(gòu)指令,構(gòu)件代理還與路由協(xié)議軟件構(gòu)件和軟件構(gòu)件運(yùn)行環(huán)境通信,向路由協(xié)議軟件構(gòu) 件和軟件構(gòu)件運(yùn)行環(huán)境下發(fā)和通告不同路由協(xié)議軟件構(gòu)件的通信地址,構(gòu)件代理通過控制 軟件構(gòu)件運(yùn)行環(huán)境動(dòng)態(tài)地加載和刪除路由協(xié)議軟件構(gòu)件、啟動(dòng)和關(guān)閉路由協(xié)議軟件構(gòu)件。構(gòu)件代理對路由協(xié)議軟件構(gòu)件的重構(gòu)控制過程如下
步驟a 檢測并解析命令構(gòu)件代理檢測并解析可重構(gòu)管理平臺發(fā)送的重構(gòu)指令,驗(yàn)證 該重構(gòu)指令的合法性;如果合法,執(zhí)行步驟b ;如果不合法,構(gòu)件代理刪除相關(guān)解析結(jié)果,并 將該不合法信息反饋給可重構(gòu)管理平臺,然后執(zhí)行步驟i ;
步驟b 接收軟件重構(gòu)描述文件,提取相關(guān)信息構(gòu)件代理接收可重構(gòu)管理平臺發(fā)送的軟件重構(gòu)描述文件,該軟件重構(gòu)描述文件包含重構(gòu)的方法信息,構(gòu)件代理提取軟件重構(gòu)描 述文件中路由協(xié)議軟件構(gòu)件的個(gè)數(shù)信息、類型信息和構(gòu)件端口連接關(guān)系信息;
步驟c 判斷構(gòu)件是否齊全,提取構(gòu)件描述信息構(gòu)件代理判斷可重構(gòu)管理平臺下發(fā)的 路由協(xié)議軟件構(gòu)件是否齊全;如果不齊全,執(zhí)行步驟i ;如果齊全,構(gòu)件代理則下載構(gòu)件描 述文件,并提取資源需求信息和構(gòu)件ID信息,然后執(zhí)行步驟d ;
步驟d 判斷重構(gòu)資源情況構(gòu)件代理判斷軟件構(gòu)件運(yùn)行環(huán)境的重構(gòu)資源是否可支持 此次重構(gòu);如果不支持,則向可重構(gòu)管理平臺返回資源不滿足要求的信息,然后執(zhí)行步驟 i;如果支持,則執(zhí)行步驟e;
步驟e 接收構(gòu)件的代碼構(gòu)件代理接收可重構(gòu)管理平臺下發(fā)的路由協(xié)議軟件構(gòu)件代
碼;
步驟f 部署構(gòu)件構(gòu)件代理根據(jù)軟件重構(gòu)描述文件和構(gòu)件描述文件在軟件構(gòu)件運(yùn)行 環(huán)境中啟動(dòng)路由協(xié)議軟件構(gòu)件;
步驟g 反饋重構(gòu)結(jié)果構(gòu)件代理檢查路由協(xié)議軟件構(gòu)件是否重構(gòu)成功,并向可重構(gòu)管 理平臺返饋重構(gòu)結(jié)果;如果不成功,執(zhí)行步驟i ;如果成功,執(zhí)行步驟h ; 步驟h 數(shù)據(jù)切換將網(wǎng)絡(luò)數(shù)據(jù)切換到重構(gòu)后的路由協(xié)議軟件構(gòu)件中; 步驟i 結(jié)束。重構(gòu)資源含有存儲(chǔ)資源和計(jì)算資源。軟件構(gòu)件運(yùn)行環(huán)境中含有構(gòu)件運(yùn)行管理接口、用戶控制界面接口、服務(wù)映射層和 協(xié)議報(bào)文收發(fā)接口,路由協(xié)議軟件構(gòu)件在啟動(dòng)時(shí)向軟件構(gòu)件運(yùn)行環(huán)境注冊構(gòu)件運(yùn)行管理接 口,路由協(xié)議軟件構(gòu)件通過用戶控制界面接口與用戶控制界面通訊,通過用戶控制界面接 口,設(shè)備管理員在設(shè)備的命令行界面中可對路由協(xié)議軟件構(gòu)件進(jìn)行相應(yīng)的配置和管理,各 路由協(xié)議軟件構(gòu)件遵循相同的用戶控制界面接口標(biāo)準(zhǔn),服務(wù)映射層中定義了路由協(xié)議軟件 構(gòu)件與軟件構(gòu)件運(yùn)行環(huán)境之間的通訊協(xié)議,路由協(xié)議軟件構(gòu)件通過軟件構(gòu)件運(yùn)行環(huán)境的協(xié) 議報(bào)文收發(fā)接口訪問操作系統(tǒng)內(nèi)核協(xié)議棧,從而獲取協(xié)議報(bào)文。構(gòu)件代理含有管理接口和構(gòu)件部署管理模塊,構(gòu)件部署管理模塊與管理接口通 訊,構(gòu)件部署管理模塊中含有構(gòu)件認(rèn)證程序、請求資源程序和構(gòu)件執(zhí)行程序,構(gòu)件認(rèn)證程序 完成后進(jìn)入請求資源程序,請求資源程序完成后進(jìn)入構(gòu)件執(zhí)行程序。構(gòu)件代理具有管理功 能、監(jiān)控功能和業(yè)務(wù)組合功能。重構(gòu)指令含有構(gòu)件認(rèn)證指令、查詢構(gòu)件指令、構(gòu)件刪除指令和構(gòu)件執(zhí)行指令。路由協(xié)議軟件構(gòu)件含有OSPF協(xié)議構(gòu)件和RIP協(xié)議構(gòu)件。OSPF協(xié)議構(gòu)件含有與用戶控制界面連接的接口、與構(gòu)件代理連接的接口、與路由 管理構(gòu)件連接的接口和與軟件構(gòu)件運(yùn)行環(huán)境連接的接口,路由管理構(gòu)件與軟件構(gòu)件運(yùn)行環(huán) 境連接,與構(gòu)件代理連接的接口和與路由管理構(gòu)件連接的接口為Agent client接口。軟件構(gòu)件運(yùn)行環(huán)境具有標(biāo)準(zhǔn)的通信接口,在遵循標(biāo)準(zhǔn)通信接口的前提下,任何開 發(fā)機(jī)構(gòu)開發(fā)的協(xié)議構(gòu)件均能在同一個(gè)路由交換平臺上運(yùn)行。本發(fā)明中使用的通訊數(shù)據(jù)類型有兩種,如下
類型A 構(gòu)件代理與路由協(xié)議軟件構(gòu)件之間、各路由協(xié)議軟件構(gòu)件之間的重構(gòu)消息;該 重構(gòu)消息為控制消息,該重構(gòu)消息由消息頭和消息體構(gòu)成,消息頭具有統(tǒng)一格式,主要包含 消息的類型、發(fā)送者標(biāo)識、接收者標(biāo)識和消息長度。
類型B 路由協(xié)議軟件構(gòu)件與軟件構(gòu)件運(yùn)行環(huán)境之間、軟件構(gòu)件運(yùn)行環(huán)境與操作 系統(tǒng)之間的協(xié)議報(bào)文和控制報(bào)文,該協(xié)議報(bào)文和控制報(bào)文報(bào)文的格式為傳統(tǒng)協(xié)議報(bào)文和傳 統(tǒng)控制報(bào)文的格式。類型A的重構(gòu)消息的消息頭的格式如下所示 Version版本號4 bit,目前版本為1。Rsvd保留字段4 bit,發(fā)送者必須把該字段設(shè)置為零,接收方必須忽視這個(gè)字段。Message Type 消息類型8bit。其取值定義如下
0x00Reserved保留
0x01AssociationSetup啟動(dòng)建鏈
0x02AssociationTeardown拆除鏈接
0x03Config配置
0x04Query查詢
0x05EventNotification事件通知
0x06PacketRedirect數(shù)據(jù)包重定向
0x07 - OxOEReserved保留
OxOFHearbeat心跳
OxllAssociationSetupRepsonse啟動(dòng)建鏈回應(yīng)
0x12Reserved保留
0x13ConfigRepsonse配置回應(yīng)
0x14Query-查詢回應(yīng) Length 消息長度。Source ID 源構(gòu)件 ID。Destination ID 目標(biāo)構(gòu)件 IDO。Correlator 關(guān)聯(lián)因子。Correlator 的用途Request 消息和 Response 消息必須有一樣的 correlator 值。 消息分割前32位相同,后32位不相同。同一事務(wù)的不同消息,前
32位相同,后32位不相同,與消息分割的區(qū)別是,AT= 1。其它情況,correlator可為
O0ACK (確認(rèn)標(biāo)志,4bit) :ACK用來指示構(gòu)件是否需要回復(fù)。ACK可以設(shè)置成以下值
NoACK (ObOO)表明目的構(gòu)件不必發(fā)送任何響應(yīng)消息。SuccessACK (ObOl)表明僅當(dāng)發(fā)送的消息被成功處理時(shí),才必須返回響應(yīng)消息。 所謂的成功,是指同一消息中的所有操作全部成功。FailureACK (OblO)表明僅當(dāng)發(fā)送的消息被處理失敗時(shí),才必須返回響應(yīng)消息。AlwaysACK (Obll)表明目的構(gòu)件必須發(fā)送響應(yīng)消息給源構(gòu)件。Pri (優(yōu)先級標(biāo)志,4bit)控制協(xié)議定義了 8個(gè)不同的優(yōu)先級(0_7);優(yōu)先值越高, 協(xié)議消息的內(nèi)容越重要。Revd:預(yù)留字段,填充0。
本發(fā)明的有益效果
1、本發(fā)明采用構(gòu)件代理控制路由協(xié)議軟件構(gòu)件的重構(gòu)過程,而且還設(shè)有軟件構(gòu)件運(yùn)行 環(huán)境,構(gòu)件代理與可重構(gòu)管理平臺通信,負(fù)責(zé)接收可重構(gòu)管理平臺的重構(gòu)指令,并向路由協(xié) 議軟件構(gòu)件和軟件構(gòu)件運(yùn)行環(huán)境下發(fā)和通告不同路由協(xié)議軟件構(gòu)件的通信地址,因此,本 發(fā)明的構(gòu)件管理效率高、重構(gòu)過程步驟簡單、快速可靠。
圖1為可重構(gòu)管理平臺、構(gòu)件代理、軟件構(gòu)件運(yùn)行環(huán)境、路由協(xié)議軟件構(gòu)件之間控制關(guān) 系的示意圖2為OSPF協(xié)議構(gòu)件的接口示意圖3為本發(fā)明中使用的通訊數(shù)據(jù)類型A的重構(gòu)消息的消息頭格式示意圖; 圖4為服務(wù)映射層標(biāo)準(zhǔn)通訊報(bào)文公共頭結(jié)構(gòu)示意圖。具體實(shí)施例方式
實(shí)施例一參見圖1 圖4,圖中,可重構(gòu)路由交換平臺中的路由協(xié)議軟 件構(gòu)件重構(gòu)方法為在可重構(gòu)路由交換平臺上建立一個(gè)通用的軟件構(gòu)件運(yùn)行環(huán)境,軟 件構(gòu)件運(yùn)行環(huán)境與一定數(shù)量的路由協(xié)議軟件構(gòu)件和操作系統(tǒng)通訊,構(gòu)件代理管理路由協(xié)議 軟件構(gòu)件,構(gòu)件代理負(fù)責(zé)路由協(xié)議軟件構(gòu)件的重構(gòu)控制過程,構(gòu)件代理與可重構(gòu)管理平臺 通信,負(fù)責(zé)接收可重構(gòu)管理平臺的重構(gòu)指令,構(gòu)件代理還與路由協(xié)議軟件構(gòu)件和軟件構(gòu)件 運(yùn)行環(huán)境通信,向路由協(xié)議軟件構(gòu)件和軟件構(gòu)件運(yùn)行環(huán)境下發(fā)和通告不同路由協(xié)議軟件構(gòu) 件的通信地址,構(gòu)件代理通過控制軟件構(gòu)件運(yùn)行環(huán)境動(dòng)態(tài)地加載和刪除路由協(xié)議軟件構(gòu) 件、啟動(dòng)和關(guān)閉路由協(xié)議軟件構(gòu)件。構(gòu)件代理對路由協(xié)議軟件構(gòu)件的重構(gòu)控制過程如下
步驟a 檢測并解析命令構(gòu)件代理檢測并解析可重構(gòu)管理平臺發(fā)送的重構(gòu)指令,驗(yàn)證 該重構(gòu)指令的合法性;如果合法,執(zhí)行步驟b ;如果不合法,構(gòu)件代理刪除相關(guān)解析結(jié)果,并 將該不合法信息反饋給可重構(gòu)管理平臺,然后執(zhí)行步驟i ;
步驟b 接收軟件重構(gòu)描述文件,提取相關(guān)信息構(gòu)件代理接收可重構(gòu)管理平臺發(fā)送的 軟件重構(gòu)描述文件,該軟件重構(gòu)描述文件包含重構(gòu)的方法信息,構(gòu)件代理提取軟件重構(gòu)描 述文件中路由協(xié)議軟件構(gòu)件的個(gè)數(shù)信息、類型信息和構(gòu)件端口連接關(guān)系信息;
步驟c 判斷構(gòu)件是否齊全,提取構(gòu)件描述信息構(gòu)件代理判斷可重構(gòu)管理平臺下發(fā)的 路由協(xié)議軟件構(gòu)件是否齊全;如果不齊全,執(zhí)行步驟i ;如果齊全,構(gòu)件代理則下載構(gòu)件描 述文件,并提取資源需求信息和構(gòu)件ID信息,然后執(zhí)行步驟d ;
步驟d 判斷重構(gòu)資源情況構(gòu)件代理判斷軟件構(gòu)件運(yùn)行環(huán)境的重構(gòu)資源是否可支持 此次重構(gòu);如果不支持,則向可重構(gòu)管理平臺返回資源不滿足要求的信息,然后執(zhí)行步驟 i;如果支持,則執(zhí)行步驟e;
步驟e 接收構(gòu)件的代碼構(gòu)件代理接收可重構(gòu)管理平臺下發(fā)的路由協(xié)議軟件構(gòu)件代
碼;
步驟f 部署構(gòu)件構(gòu)件代理根據(jù)軟件重構(gòu)描述文件和構(gòu)件描述文件在軟件構(gòu)件運(yùn)行 環(huán)境中啟動(dòng)路由協(xié)議軟件構(gòu)件;
步驟g 反饋重構(gòu)結(jié)果構(gòu)件代理檢查路由協(xié)議軟件構(gòu)件是否重構(gòu)成功,并向可重構(gòu)管 理平臺返饋重構(gòu)結(jié)果;如果不成功,執(zhí)行步驟i ;如果成功,執(zhí)行步驟h ;步驟h 數(shù)據(jù)切換將網(wǎng)絡(luò)數(shù)據(jù)切換到重構(gòu)后的路由協(xié)議軟件構(gòu)件中; 步驟i 結(jié)束。重構(gòu)資源含有存儲(chǔ)資源和計(jì)算資源。軟件構(gòu)件運(yùn)行環(huán)境中含有構(gòu)件運(yùn)行管理接口、用戶控制界面接口、服務(wù)映射層和 協(xié)議報(bào)文收發(fā)接口,路由協(xié)議軟件構(gòu)件在啟動(dòng)時(shí)向軟件構(gòu)件運(yùn)行環(huán)境注冊構(gòu)件運(yùn)行管理接 口,構(gòu)件代理可使用構(gòu)件運(yùn)行管理接口對路由協(xié)議軟件構(gòu)件進(jìn)行管理,路由協(xié)議軟件構(gòu)件 通過用戶控制界面接口與用戶控制界面通訊,通過用戶控制界面接口,設(shè)備管理員在設(shè)備 的命令行界面中可對路由協(xié)議軟件構(gòu)件進(jìn)行相應(yīng)的配置和管理,各路由協(xié)議軟件構(gòu)件遵循 相同的用戶控制界面接口標(biāo)準(zhǔn),服務(wù)映射層中定義了路由協(xié)議軟件構(gòu)件與軟件構(gòu)件運(yùn)行環(huán) 境之間的通訊協(xié)議,路由協(xié)議軟件構(gòu)件通過軟件構(gòu)件運(yùn)行環(huán)境的協(xié)議報(bào)文收發(fā)接口訪問操 作系統(tǒng)內(nèi)核協(xié)議棧,從而獲取協(xié)議報(bào)文。構(gòu)件代理含有管理接口和構(gòu)件部署管理模塊,構(gòu)件部署管理模塊與管理接口通 訊,構(gòu)件部署管理模塊中含有構(gòu)件認(rèn)證程序、請求資源程序和構(gòu)件執(zhí)行程序,構(gòu)件認(rèn)證程序 完成后進(jìn)入請求資源程序,請求資源程序完成后進(jìn)入構(gòu)件執(zhí)行程序。構(gòu)件代理具有管理功 能、監(jiān)控功能和業(yè)務(wù)組合功能。重構(gòu)指令含有構(gòu)件認(rèn)證指令、查詢構(gòu)件指令、構(gòu)件刪除指令和構(gòu)件執(zhí)行指令。路由協(xié)議軟件構(gòu)件含有OSPF協(xié)議構(gòu)件和RIP協(xié)議構(gòu)件。OSPF協(xié)議構(gòu)件含有與用戶控制界面連接的接口、與構(gòu)件代理連接的接口、與路由 管理構(gòu)件連接的接口和與軟件構(gòu)件運(yùn)行環(huán)境連接的接口,路由管理構(gòu)件與軟件構(gòu)件運(yùn)行環(huán) 境連接,與構(gòu)件代理連接的接口和與路由管理構(gòu)件連接的接口為Agent client接口。與用戶控制界面連接的接口描述如下
接口方式采用Socket API接口中對IPv4域的基于連接的流式套接字。接口功能當(dāng)OSPF協(xié)議構(gòu)件的守護(hù)進(jìn)程開始運(yùn)轉(zhuǎn)后,為網(wǎng)絡(luò)管理員提供一個(gè)通過 指令配置、干預(yù)、查看OSPF運(yùn)轉(zhuǎn)狀況的通道。當(dāng)OSPF協(xié)議構(gòu)件作為一個(gè)進(jìn)程運(yùn)行時(shí),在模塊初始化期間,構(gòu)件與用戶控制界面 通過socket建立了 tcp連接,并監(jiān)聽來自該端口的所有命令。當(dāng)監(jiān)聽到一條命令時(shí),OSPF 即通過讀線程來接收該命令,然后協(xié)議進(jìn)程根據(jù)接收的命令字符串查找命令樹,由此執(zhí)行 相應(yīng)的函數(shù),從而完成對OSPF協(xié)議的配置以及運(yùn)行情況的管理。與構(gòu)件代理連接的接口描述如下
接口方式利用Agent client建立與構(gòu)件代理的通信,通信中采用Agent client自定 義的消息格式。接口功能構(gòu)件初始化時(shí),通過此接口向構(gòu)件代理發(fā)送注冊消息。構(gòu)件代理收到注 冊消息后,通過此接口發(fā)送消息給當(dāng)前構(gòu)件,使它知曉自己將要進(jìn)行通信的構(gòu)件的地址。構(gòu) 件代理可以通過此接口向構(gòu)件發(fā)送配置文件,命令構(gòu)件讀取配置文件。同時(shí)構(gòu)件代理還可 通過此接口關(guān)閉構(gòu)件。與路由管理構(gòu)件連接的接口描述如下
接口方式利用Agent client建立與路由管理構(gòu)件的通信,通信中采用服務(wù)映射層自 定義的消息格式。接口功能可重構(gòu)路由交換平臺通過路由管理構(gòu)件來為各路由協(xié)議提供接口、路由等信息的服務(wù),同時(shí),收集各協(xié)議的路由信息生成統(tǒng)一的路由表下發(fā)給各硬件轉(zhuǎn)發(fā)構(gòu)件。 OSPF構(gòu)件通過Agent client以收發(fā)消息的形式與路由管理構(gòu)件進(jìn)行通信,提交所獲取的 路由信息;路由管理構(gòu)件通過Agent client向OSPF構(gòu)件提供系統(tǒng)的接口信息和重分配的
路由信息。與軟件構(gòu)件運(yùn)行環(huán)境連接的接口描述如下
接口方式采用Socket API接口中對IPv4域的基于連接的流式套接字。接口功能SCRE介于操作系統(tǒng)與協(xié)議構(gòu)件之間;對操作系統(tǒng)起底層屏蔽的作用。 這樣OSPF協(xié)議構(gòu)件與操作系統(tǒng)發(fā)生的聯(lián)系都通過SCRE來進(jìn)行,而不必關(guān)心采用何種操作 系統(tǒng)。該接口主要實(shí)現(xiàn)OSPF協(xié)議構(gòu)件與操作系統(tǒng)的TCP/IP協(xié)議棧的連接,以接收和發(fā)送 數(shù)據(jù)包,并提供對協(xié)議模塊運(yùn)行過程中的內(nèi)存和定時(shí)器管理。軟件構(gòu)件運(yùn)行環(huán)境具有標(biāo)準(zhǔn)的通信接口,在遵循標(biāo)準(zhǔn)通信接口的前提下,任何開 發(fā)機(jī)構(gòu)開發(fā)的協(xié)議構(gòu)件均能在同一個(gè)路由交換平臺上運(yùn)行。本發(fā)明中使用的通訊數(shù)據(jù)類型有兩種,如下
類型A 構(gòu)件代理與路由協(xié)議軟件構(gòu)件之間、各路由協(xié)議軟件構(gòu)件之間的重構(gòu)消息;該 重構(gòu)消息為控制消息,該重構(gòu)消息由消息頭和消息體構(gòu)成,消息頭具有統(tǒng)一格式,主要包含 消息的類型、發(fā)送者標(biāo)識、接收者標(biāo)識和消息長度。類型B 路由協(xié)議軟件構(gòu)件與軟件構(gòu)件運(yùn)行環(huán)境之間、軟件構(gòu)件運(yùn)行環(huán)境與操作 系統(tǒng)之間的協(xié)議報(bào)文和控制報(bào)文,該協(xié)議報(bào)文和控制報(bào)文報(bào)文的格式為傳統(tǒng)協(xié)議報(bào)文和傳 統(tǒng)控制報(bào)文的格式。類型A的重構(gòu)消息的消息頭的格式如下所示 Version版本號4 bit,目前版本為1。Rsvd保留字段4 bit,發(fā)送者必須把該字段設(shè)置為零,接收方必須忽視這個(gè)字段。Message Type 消息類型8bit。其取值定義如下
0x00 0x01 0x02 0x03 0x04 0x05 0x06
0x07 - OxOE
OxOF
Oxll
0x12
0x13
0x14
Reserved AssociationSetup AssociationTeardown Config Query
EventNotification PacketRedirect Reserved Hearbeat
AssociationSetupRepsonse
Reserved
ConfigRepsonse
Query-
保留
啟動(dòng)建鏈 拆除鏈接 配置 查詢 事件通知 數(shù)據(jù)包重定向 保留 心跳 啟動(dòng)建鏈回應(yīng)
保留 配置回應(yīng)
查詢回應(yīng)
Length 消息長度。 Source ID 源構(gòu)件 IDc
Destination ID 目標(biāo)構(gòu)件 IDO。Correlator 關(guān)聯(lián)因子。Correlator 的用途Request 消息和 Response 消息必須有一樣的 correlator 值。 消息分割前32位相同,后32位不相同。同一事務(wù)的不同消息,前
32位相同,后32位不相同,與消息分割的區(qū)別是,AT= 1。其它情況,correlator可為O。ACK (確認(rèn)標(biāo)志,4bit) :ACK用來指示構(gòu)件是否需要回復(fù)。ACK可以設(shè)置成以下值
NoACK (ObOO)表明目的構(gòu)件不必發(fā)送任何響應(yīng)消息。SuccessACK (ObOl)表明僅當(dāng)發(fā)送的消息被成功處理時(shí),才必須返回響應(yīng)消息。 所謂的成功,是指同一消息中的所有操作全部成功。FailureACK (OblO)表明僅當(dāng)發(fā)送的消息被處理失敗時(shí),才必須返回響應(yīng)消息。AlwaysACK (Obll)表明目的構(gòu)件必須發(fā)送響應(yīng)消息給源構(gòu)件。Pri (優(yōu)先級標(biāo)志,4bit)控制協(xié)議定義了 8個(gè)不同的優(yōu)先級(0_7);優(yōu)先值越高, 協(xié)議消息的內(nèi)容越重要。Revd:預(yù)留字段,填充0。構(gòu)件運(yùn)行管理接口的定義和相關(guān)函數(shù)介紹如下 構(gòu)件運(yùn)行管理接口數(shù)據(jù)結(jié)構(gòu)說明
Typedef struct {
Int (*component_init) ( char *workdir,struct sockaddr_in ^container); Int (*component_stop)(); Int (*component—restart)(); Int (*component—poll)();
Int (*component—writeconfig)(char ^conffile); Int (*component—readconfig)(char ^conffile);
Int (*component_showrun)(char *strbuff,int maxIenj int *runlen); Int (*component—readstatistics)(struct NCI_statistics_info *info); Int (*component—vendorinfo)(char *strbuffjint maxlen, int *runlen); }NCI_Component—Admin_Interface; 對構(gòu)件運(yùn)行管理接口數(shù)據(jù)結(jié)構(gòu)中的回調(diào)函數(shù)介紹如下
component_init 通知協(xié)議構(gòu)件初始化,其中workdir指定協(xié)議構(gòu)件運(yùn)行的工作目錄, container給出服務(wù)映射層的訪問地址;
component_stop 通知協(xié)議構(gòu)件停止運(yùn)行并退出; component_restart 通知協(xié)議構(gòu)件重新啟動(dòng)到初始化之前的狀態(tài); component_poll 檢測協(xié)議構(gòu)件是否活躍;
component_writeconfig 通知協(xié)議構(gòu)件將配置信息寫入到conffile中; component_readconfig 通知協(xié)議構(gòu)件在conffile中載入配置信息; component_showrun 通知協(xié)議構(gòu)件顯示當(dāng)前的運(yùn)行配置狀態(tài)信息,strbuff給出運(yùn)行 配置狀態(tài)信息的緩沖區(qū),maxlen指出緩沖區(qū)的最大長度,rimlen中返回實(shí)際的運(yùn)行配置狀態(tài)信息的長度;
component_readstatistics 讀取協(xié)議構(gòu)件的運(yùn)行狀態(tài)統(tǒng)計(jì)信息,包括內(nèi)存使用情 況、CPU占用情況、路由表使用情況、報(bào)文收發(fā)情況等;
component_vendorinfo 通知協(xié)議構(gòu)件顯示協(xié)議構(gòu)件的廠商信息,strbuff給出保存 廠商信息的緩沖區(qū),maxlen指出緩沖區(qū)的最大長度,rimlen中返回實(shí)際的廠商信息的長度。在路由協(xié)議軟件構(gòu)件使用的用戶控制界面接口庫中有一個(gè)命令結(jié)構(gòu)維護(hù)整個(gè)協(xié) 議構(gòu)件的命令列表。每個(gè)協(xié)議構(gòu)件維護(hù)其自己的命令向量,稱為cmdvec。命令向量由一系 列命令節(jié)點(diǎn)組成。命令節(jié)點(diǎn)又可安裝相應(yīng)的命令元素。命令節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)如表
權(quán)利要求
一種可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法,其特征是在可重構(gòu)路由交換平臺上建立一個(gè)通用的軟件構(gòu)件運(yùn)行環(huán)境,軟件構(gòu)件運(yùn)行環(huán)境與一定數(shù)量的路由協(xié)議軟件構(gòu)件和操作系統(tǒng)通訊,構(gòu)件代理管理路由協(xié)議軟件構(gòu)件,構(gòu)件代理負(fù)責(zé)路由協(xié)議軟件構(gòu)件的重構(gòu)控制過程,構(gòu)件代理與可重構(gòu)管理平臺通信,負(fù)責(zé)接收可重構(gòu)管理平臺的重構(gòu)指令,構(gòu)件代理還與路由協(xié)議軟件構(gòu)件和軟件構(gòu)件運(yùn)行環(huán)境通信,向路由協(xié)議軟件構(gòu)件和軟件構(gòu)件運(yùn)行環(huán)境下發(fā)和通告不同路由協(xié)議軟件構(gòu)件的通信地址,構(gòu)件代理通過控制軟件構(gòu)件運(yùn)行環(huán)境動(dòng)態(tài)地加載和刪除路由協(xié)議軟件構(gòu)件、啟動(dòng)和關(guān)閉路由協(xié)議軟件構(gòu)件。
2.根據(jù)權(quán)利要求1所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法,其特 征是所述構(gòu)件代理對路由協(xié)議軟件構(gòu)件的重構(gòu)控制過程如下步驟a 檢測并解析命令構(gòu)件代理檢測并解析可重構(gòu)管理平臺發(fā)送的重構(gòu)指令,驗(yàn)證 該重構(gòu)指令的合法性;如果合法,執(zhí)行步驟b ;如果不合法,構(gòu)件代理刪除相關(guān)解析結(jié)果,并 將該不合法信息反饋給可重構(gòu)管理平臺,然后執(zhí)行步驟i ;步驟b 接收軟件重構(gòu)描述文件,提取相關(guān)信息構(gòu)件代理接收可重構(gòu)管理平臺發(fā)送的 軟件重構(gòu)描述文件,該軟件重構(gòu)描述文件包含重構(gòu)的方法信息,構(gòu)件代理提取軟件重構(gòu)描 述文件中路由協(xié)議軟件構(gòu)件的個(gè)數(shù)信息、類型信息和構(gòu)件端口連接關(guān)系信息;步驟c 判斷構(gòu)件是否齊全,提取構(gòu)件描述信息構(gòu)件代理判斷可重構(gòu)管理平臺下發(fā)的 路由協(xié)議軟件構(gòu)件是否齊全;如果不齊全,執(zhí)行步驟i ;如果齊全,構(gòu)件代理則下載構(gòu)件描 述文件,并提取資源需求信息和構(gòu)件ID信息,然后執(zhí)行步驟d ;步驟d 判斷重構(gòu)資源情況構(gòu)件代理判斷軟件構(gòu)件運(yùn)行環(huán)境的重構(gòu)資源是否可支持 此次重構(gòu);如果不支持,則向可重構(gòu)管理平臺返回資源不滿足要求的信息,然后執(zhí)行步驟 i;如果支持,則執(zhí)行步驟e;步驟e 接收構(gòu)件的代碼構(gòu)件代理接收可重構(gòu)管理平臺下發(fā)的路由協(xié)議軟件構(gòu)件代碼;步驟f 部署構(gòu)件構(gòu)件代理根據(jù)軟件重構(gòu)描述文件和構(gòu)件描述文件在軟件構(gòu)件運(yùn)行 環(huán)境中啟動(dòng)路由協(xié)議軟件構(gòu)件;步驟g 反饋重構(gòu)結(jié)果構(gòu)件代理檢查路由協(xié)議軟件構(gòu)件是否重構(gòu)成功,并向可重構(gòu)管 理平臺返饋重構(gòu)結(jié)果;如果不成功,執(zhí)行步驟i ;如果成功,執(zhí)行步驟h ; 步驟h 數(shù)據(jù)切換將網(wǎng)絡(luò)數(shù)據(jù)切換到重構(gòu)后的路由協(xié)議軟件構(gòu)件中; 步驟i 結(jié)束。
3.根據(jù)權(quán)利要求2所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法,其特 征是所述重構(gòu)資源含有存儲(chǔ)資源和計(jì)算資源。
4.根據(jù)權(quán)利要求1所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法,其特 征是所述軟件構(gòu)件運(yùn)行環(huán)境中含有構(gòu)件運(yùn)行管理接口、用戶控制界面接口、服務(wù)映射層和 協(xié)議報(bào)文收發(fā)接口,路由協(xié)議軟件構(gòu)件在啟動(dòng)時(shí)向軟件構(gòu)件運(yùn)行環(huán)境注冊構(gòu)件運(yùn)行管理接 口,構(gòu)件代理可使用構(gòu)件運(yùn)行管理接口對路由協(xié)議軟件構(gòu)件進(jìn)行管理,路由協(xié)議軟件構(gòu)件 通過用戶控制界面接口與用戶控制界面通訊,通過用戶控制界面接口,設(shè)備管理員在設(shè)備 的命令行界面中可對路由協(xié)議軟件構(gòu)件進(jìn)行相應(yīng)的配置和管理,各路由協(xié)議軟件構(gòu)件遵循 相同的用戶控制界面接口標(biāo)準(zhǔn),服務(wù)映射層中定義了路由協(xié)議軟件構(gòu)件與軟件構(gòu)件運(yùn)行環(huán) 境之間的通訊協(xié)議,路由協(xié)議軟件構(gòu)件通過軟件構(gòu)件運(yùn)行環(huán)境的協(xié)議報(bào)文收發(fā)接口訪問操作系統(tǒng)內(nèi)核協(xié)議棧,從而獲取協(xié)議報(bào)文。
5.根據(jù)權(quán)利要求1或2所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法, 其特征是所述構(gòu)件代理含有管理接口和構(gòu)件部署管理模塊,構(gòu)件部署管理模塊與管理接 口通訊,構(gòu)件部署管理模塊中含有構(gòu)件認(rèn)證程序、請求資源程序和構(gòu)件執(zhí)行程序,構(gòu)件認(rèn)證 程序完成后進(jìn)入請求資源程序,請求資源程序完成后進(jìn)入構(gòu)件執(zhí)行程序。
6.根據(jù)權(quán)利要求1或2所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法, 其特征是所述重構(gòu)指令含有構(gòu)件認(rèn)證指令、查詢構(gòu)件指令、構(gòu)件刪除指令和構(gòu)件執(zhí)行指 令。
7.根據(jù)權(quán)利要求1或2所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法, 其特征是所述路由協(xié)議軟件構(gòu)件含有OSPF協(xié)議構(gòu)件和RIP協(xié)議構(gòu)件。
8.根據(jù)權(quán)利要求7所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法,其特 征是所述OSPF協(xié)議構(gòu)件含有與用戶控制界面連接的接口、與構(gòu)件代理連接的接口、與路 由管理構(gòu)件連接的接口和與軟件構(gòu)件運(yùn)行環(huán)境連接的接口,路由管理構(gòu)件與軟件構(gòu)件運(yùn)行 環(huán)境連接,與構(gòu)件代理連接的接口和與路由管理構(gòu)件連接的接口為Agent client接口。
9.根據(jù)權(quán)利要求1或2所述的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法, 其特征是所述構(gòu)件代理與路由協(xié)議軟件構(gòu)件之間、各路由協(xié)議軟件構(gòu)件之間的重構(gòu)消息 為控制消息,該重構(gòu)消息由消息頭和消息體構(gòu)成,消息頭具有統(tǒng)一格式,消息頭包含消息的 類型、發(fā)送者標(biāo)識、接收者標(biāo)識和消息長度;所述路由協(xié)議軟件構(gòu)件與軟件構(gòu)件運(yùn)行環(huán)境之 間、軟件構(gòu)件運(yùn)行環(huán)境與操作系統(tǒng)之間的協(xié)議報(bào)文和控制報(bào)文,該協(xié)議報(bào)文和控制報(bào)文報(bào) 文的格式為傳統(tǒng)協(xié)議報(bào)文和傳統(tǒng)控制報(bào)文的格式。
全文摘要
本發(fā)明涉及一種可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法;該方法為在可重構(gòu)路由交換平臺上建立一個(gè)通用的軟件構(gòu)件運(yùn)行環(huán)境,軟件構(gòu)件運(yùn)行環(huán)境與一定數(shù)量的路由協(xié)議軟件構(gòu)件和操作系統(tǒng)通訊,構(gòu)件代理負(fù)責(zé)路由協(xié)議軟件構(gòu)件的重構(gòu)控制過程,構(gòu)件代理與可重構(gòu)管理平臺通信,負(fù)責(zé)接收可重構(gòu)管理平臺的重構(gòu)指令,構(gòu)件代理還與路由協(xié)議軟件構(gòu)件和軟件構(gòu)件運(yùn)行環(huán)境通信,向它們下發(fā)和通告不同路由協(xié)議軟件構(gòu)件的通信地址,構(gòu)件代理通過控制軟件構(gòu)件運(yùn)行環(huán)境動(dòng)態(tài)地加載和刪除路由協(xié)議軟件構(gòu)件、啟動(dòng)和關(guān)閉路由協(xié)議軟件構(gòu)件;本發(fā)明提供了一種重構(gòu)結(jié)構(gòu)簡單、支持多種構(gòu)件、可擴(kuò)展性強(qiáng)的可重構(gòu)路由交換平臺中的路由協(xié)議軟件構(gòu)件重構(gòu)方法。
文檔編號H04L12/56GK101977160SQ20101056514
公開日2011年2月16日 申請日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者蘭巨龍, 劉強(qiáng), 張博, 張建輝, 王保進(jìn), 袁博, 鄔鈞霆, 陳庶樵, 馬海龍, 齊寧 申請人:中國人民解放軍信息工程大學(xué)