欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種ForCES系統(tǒng)中路由協(xié)議的信息交互方法

文檔序號(hào):7553301閱讀:164來源:國(guó)知局
專利名稱:一種ForCES系統(tǒng)中路由協(xié)議的信息交互方法
技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種ForCES系統(tǒng)中路由協(xié)議的信息交互方法。
背景技術(shù)
ForCES ( Forwarding and Control Element Separation,轉(zhuǎn)發(fā)和控制件分離)技術(shù)的關(guān)鍵點(diǎn)是網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備在結(jié)構(gòu)上實(shí)現(xiàn)轉(zhuǎn)發(fā)面和控制面分離,同時(shí)轉(zhuǎn)發(fā)面內(nèi)部資源實(shí)現(xiàn)虛擬化、模塊化、標(biāo)準(zhǔn)化,進(jìn)而實(shí)現(xiàn)柔性的開放可重構(gòu),這些特征使得網(wǎng)絡(luò)運(yùn)營(yíng)者可以搭積木的方式重組功能模塊,進(jìn)而定制實(shí)現(xiàn)各種新業(yè)務(wù)。以上這些技術(shù)特點(diǎn),使得ForCES架構(gòu)成為實(shí)現(xiàn)新型網(wǎng)絡(luò)服務(wù)應(yīng)用如三網(wǎng)融合、云計(jì)算等的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備重要技術(shù)架構(gòu)。一 個(gè) ForCES 系統(tǒng)(ForCES Network Element, ForCES NE)分成轉(zhuǎn)發(fā)件(Forwarding Element, FE)和控制件(Control Element, CE)兩部分。FE 實(shí)現(xiàn)對(duì)數(shù)據(jù)包的轉(zhuǎn)發(fā)處理,其典型結(jié)構(gòu)如圖1所示。FE中包含有對(duì)數(shù)據(jù)包進(jìn)行處理和轉(zhuǎn)發(fā)的各種邏輯功能模塊(Logical Function Block, LFB)如分類、調(diào)度、IPv4或IPv6轉(zhuǎn)發(fā)等?;ヂ?lián)網(wǎng)協(xié)議 RFC5812 規(guī)定了這些 LFB 的具體模型“ForCES Forwarding Element (FE) Model”。控制件對(duì)轉(zhuǎn)發(fā)件進(jìn)行控制和信息交換,為了實(shí)現(xiàn)系統(tǒng)的開放性,其間的信息交換是根據(jù)ForCES協(xié)議標(biāo)準(zhǔn)進(jìn)行,確保系統(tǒng)有效運(yùn)行?;ヂ?lián)網(wǎng)協(xié)議RFC3746規(guī)定了轉(zhuǎn)發(fā)與ForCES的框架(Framework),互聯(lián)網(wǎng)協(xié)議RFC5810規(guī)定了 FE與CE間的標(biāo)準(zhǔn)信息交換協(xié)議“ForCESProtocol Specification”,標(biāo)準(zhǔn)化使得FE和CE可以由不同廠家生產(chǎn)。作為一種新型的網(wǎng)絡(luò)設(shè)備架構(gòu),F(xiàn)orCES的CE通過定制FE內(nèi)的LFB連接關(guān)系(SPLFB拓?fù)?可以實(shí)現(xiàn)任何類型的網(wǎng)絡(luò)設(shè)備,如交換機(jī)、路由器、防火墻等,尤其在三層處理方面,IETF ForCES工作組定義了較為完備的LFB庫(kù)。三層網(wǎng)絡(luò)設(shè)備中路由是一個(gè)無(wú)法回避的問題,F(xiàn)orCES系統(tǒng)也不例外。ForCES系統(tǒng)的數(shù)據(jù)轉(zhuǎn)發(fā)面和控制面在物理上分離,在三層處理問題上轉(zhuǎn)發(fā)面和控制面的分工十分明確,轉(zhuǎn)發(fā)面主要負(fù)責(zé)數(shù)據(jù)包的快速路由查表和轉(zhuǎn)發(fā);控制面上的CE負(fù)責(zé)具體的路由計(jì)算、產(chǎn)生路由表并分發(fā)到各FE,這和絕大多數(shù)的路由系統(tǒng)是相同的。路由計(jì)算和路由表的廣生都是由路由協(xié)議完成,F(xiàn)orCES系統(tǒng)也是如此。ForCES系統(tǒng)中實(shí)現(xiàn)路由協(xié)議,有兩種技術(shù)途徑:1)針對(duì)ForCES系統(tǒng)的開發(fā)路由協(xié)議;2)集成現(xiàn)有路由軟件(Xorp、Zebra等)所提供的路由協(xié)議。兩者比較:前者工作量巨大且顯得多余,因?yàn)镕orCES系統(tǒng)中的路由協(xié)議在功能上和其它設(shè)備并沒有任何不同;后者不僅大大減少了 ForCES系統(tǒng)的開發(fā)工作量,也是其開放性和可擴(kuò)展性的重要體現(xiàn)。和其它路由器系統(tǒng)一樣,F(xiàn)orCES系統(tǒng)中的路由協(xié)議為了能正確地計(jì)算路由,需要與外界進(jìn)行路由協(xié)議包的交換、學(xué)習(xí)外部網(wǎng)絡(luò)的鏈路。然而現(xiàn)實(shí)的問題是ForCES系統(tǒng)中,與轉(zhuǎn)發(fā)面分離后的控制面如何和外界進(jìn)行路由信息的交互以及如何實(shí)現(xiàn)多FE間路由協(xié)調(diào),針對(duì)這些問題本發(fā)明公布了一種基于IP隧道的重定向機(jī)制以解決控制面與外界路由器之間的路由信息交互問題,采用接口虛擬化技術(shù)將多FE上的物理接口統(tǒng)一編號(hào)映射到CE,路由協(xié)議棧根據(jù)接口編號(hào)區(qū)分FE,進(jìn)而決定發(fā)送重定向和控制消息時(shí)的目的地。

發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提出一種ForCES系統(tǒng)中路由協(xié)議的信息交互方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包含如下步驟:
步驟(I)控制件讀取邏輯功能塊的屬性,通過虛接口設(shè)備控制器向虛接口模塊中添加并配置虛接口,使虛接口與轉(zhuǎn)發(fā)件的物理接口唯一對(duì)應(yīng),通過一個(gè)物理接口 ID確定一個(gè)虛接口,虛接口信息包含了虛接口名、虛接口 IP地址和虛接口子網(wǎng)號(hào);
控制件包含了 ForCES中間件、路由轉(zhuǎn)化適配器、虛接口模塊、IP隧道和第三方路由協(xié)議軟件;所述的ForCES中間件實(shí)現(xiàn)了控制消息和重定向消息的處理和傳輸、ForCES協(xié)議所需的消息的分裝、解封裝;所述的路由轉(zhuǎn)化適配器實(shí)現(xiàn)了路由條目到邏輯功能塊屬性的映射和路由表的下發(fā);所述的虛接口模塊實(shí)現(xiàn)了轉(zhuǎn)發(fā)件上的物理接口和控制件上的虛接口模塊中的虛接口之間的映射及管理;所述的IP隧道實(shí)現(xiàn)了 ForCES中間件與操作系統(tǒng)內(nèi)核間的通信;所述的第三方路由協(xié)議軟件執(zhí)行路由算法并計(jì)算路由;
步驟(2) ForCES系統(tǒng)中路由協(xié)議信息的接收過程具體包含如下步驟:
2-1.外部路由器發(fā)出包含了路由協(xié)議信息的IP包,并通過轉(zhuǎn)發(fā)件的物理接口進(jìn)入ForCES 系統(tǒng);
2-2.轉(zhuǎn)發(fā)件在IP包頭部之前添加元數(shù)據(jù),元數(shù)據(jù)由轉(zhuǎn)發(fā)件ID、物理接口 ID和長(zhǎng)度字段組成,長(zhǎng)度字段表示元數(shù)據(jù)的長(zhǎng)度,每個(gè)轉(zhuǎn)發(fā)件ID和物理接口 ID的組合唯一地確定一個(gè)虛接口 ;且元數(shù)據(jù)、IP包共同組成數(shù)據(jù)塊;
2-3.轉(zhuǎn)發(fā)件中的ForCES中間件按照ForCES重定向消息的封裝格式,對(duì)步驟2_2所述的數(shù)據(jù)塊進(jìn)行封裝,封裝過程中在數(shù)據(jù)塊頭部之前添加ForCES重定向消息頭,封裝后通過重定向通道發(fā)送至控制件;
2-4.控制件中的ForCES中間件在依次刪除步驟2_3所述的ForCES重定向消息頭和元數(shù)據(jù)頭,并從元數(shù)據(jù)頭中提取轉(zhuǎn)發(fā)件ID和物理接口 ID,根據(jù)物理接口 ID查找虛接口名,將所得虛接口名添加到步驟2-2所述IP包頭之前,虛接口名和IP包組成新的數(shù)據(jù)塊,然后該數(shù)據(jù)塊進(jìn)入IP隧道;
2-5.1P隧道中,在步驟2-4所述的數(shù)據(jù)塊的頭部之前添加隧道IP頭,然后將添加了隧道IP頭的數(shù)據(jù)塊發(fā)向IP隧道的對(duì)端;隧道IP頭中的協(xié)議字段設(shè)為105,目的IP地址為第三方路由協(xié)議軟件所在主機(jī)的IP地址;
2-6.1P隧道的對(duì)端對(duì)收到的數(shù)據(jù)塊進(jìn)行處理,刪除數(shù)據(jù)塊的隧道IP頭,然后將刪除隧道IP頭的數(shù)據(jù)塊交付與虛接口模塊;
2-7.虛接口模塊對(duì)步驟2-6交付的數(shù)據(jù)塊進(jìn)行處理,刪除該數(shù)據(jù)塊所包含的虛接口名,得到步驟2-2所述的IP包,之后再刪除IP包的頭部,根據(jù)虛接口名將IP包中所包含的路由協(xié)議信息放入虛接口的接收緩存;
2-8.第二方路由協(xié)議軟件從虛接口的接收緩存中讀取路由協(xié)議信息;
步驟(3) ForCES系統(tǒng)中路由協(xié)議信息的發(fā)送過程,由控制件中的第三方路由協(xié)議軟件主動(dòng)發(fā)起,目的地是外部路由器,其過程是步驟(2)中所述過程的逆過程:
步驟(4)控制件和轉(zhuǎn)發(fā)件之間的路由同步過程由路由轉(zhuǎn)化適配器來控制和管理,路由轉(zhuǎn)化適配器將控制件中路由表的下發(fā)過程轉(zhuǎn)化成邏輯功能塊的屬性配置操作過程,具體包含如下步驟:
4-1.路由轉(zhuǎn)化適配器通過Netlink從操作系統(tǒng)的內(nèi)核空間中讀取路由表;
4-2.路由轉(zhuǎn)化適配器將路由條目中的每一項(xiàng)映射為邏輯功能塊的一個(gè)屬性;每一個(gè)路由條目中都有包含一個(gè)出接口,該出接口是步驟2-4所述的虛接口,通過該虛接口能夠唯一地確定轉(zhuǎn)發(fā)件ID和物理接口 ID ;
4-3.路由轉(zhuǎn)化適配器通過ForCES控制消息通道,發(fā)送邏輯功能塊的屬性配置消息至由步驟4-2所述的轉(zhuǎn)發(fā)件ID確定的轉(zhuǎn)發(fā)件。
本發(fā)明有益效果如下:
利用了虛接口技術(shù),成功實(shí)現(xiàn)轉(zhuǎn)發(fā)件上的物理接口到控制件上虛擬接口的映射和同步,這是控制件上路由協(xié)議軟件運(yùn)行的必備條件;在通過ForCES重定向消息通道將轉(zhuǎn)發(fā)件上的路由協(xié)議信息導(dǎo)入控制件的過程中,附加的元數(shù)據(jù)和IP隧道共同作用,在控制件中還原了路由協(xié)議的接收和處理過程;路由下發(fā)的過程,通過Net I ink捕獲系統(tǒng)內(nèi)核路由表的變化,虛接口的唯一性確保轉(zhuǎn)發(fā)件間路由的一致性。本發(fā)明所公布的方法,提供了一種ForCES系統(tǒng)中集成第三方路由協(xié)議軟件的方案,已在ForCES的原型系統(tǒng)中成功應(yīng)用,實(shí)踐表明該方法具有代價(jià)小、穩(wěn)定可靠等特點(diǎn)。


圖1 ForCES轉(zhuǎn)發(fā)件的內(nèi)部結(jié)構(gòu) 圖2 ForCES系統(tǒng)中路由協(xié)議的信息交互 圖3 ForCES系統(tǒng)中的重定向和控制消息通道示意 圖4路由轉(zhuǎn)換適配器的軟件結(jié)構(gòu)具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。如圖2所示,一種ForCES系統(tǒng)中路由協(xié)議的信息交互方法,包含如下步驟:
步驟(I)控制件讀取邏輯功能塊的屬性,通過虛接口設(shè)備控制器向虛接口模塊中添加
并配置虛接口,使虛接口與轉(zhuǎn)發(fā)件的物理接口唯一對(duì)應(yīng),通過一個(gè)物理接口 ID確定一個(gè)虛接口,虛接口信息包含了虛接口名、虛接口 IP地址和虛接口子網(wǎng)號(hào);
控制件包含了 ForCES中間件、路由轉(zhuǎn)化適配器、虛接口模塊、IP隧道和第三方路由協(xié)議軟件;所述的ForCES中間件實(shí)現(xiàn)了控制消息和重定向消息的處理和傳輸、ForCES協(xié)議所需的消息的分裝、解封裝;所述的路由轉(zhuǎn)化適配器實(shí)現(xiàn)了路由條目到邏輯功能塊屬性的映射和路由表的下發(fā);所述的虛接口模塊實(shí)現(xiàn)了轉(zhuǎn)發(fā)件上的物理接口和控制件上的虛接口模塊中的虛接口之間的映射及管理;所述的IP隧道實(shí)現(xiàn)了 ForCES中間件與操作系統(tǒng)內(nèi)核間的通信;所述的第三方路由協(xié)議軟件執(zhí)行路由算法并計(jì)算路由;
步驟(2) ForCES系統(tǒng)中路由協(xié)議信息的接收過程具體包含如下步驟:
2-1.外部路由器發(fā)出包含了路由協(xié)議信息的IP包,并通過轉(zhuǎn)發(fā)件的物理接口進(jìn)入ForCES 系統(tǒng); 2-2.轉(zhuǎn)發(fā)件在IP包頭部之前添加元數(shù)據(jù),元數(shù)據(jù)由轉(zhuǎn)發(fā)件ID、物理接口 ID和長(zhǎng)度字段組成,長(zhǎng)度字段表示元數(shù)據(jù)的長(zhǎng)度,每個(gè)轉(zhuǎn)發(fā)件ID和物理接口 ID的組合唯一地確定一個(gè)虛接口 ;且元數(shù)據(jù)、IP包共同組成數(shù)據(jù)塊;
2-3.轉(zhuǎn)發(fā)件中的ForCES中間件按照ForCES重定向消息的封裝格式,對(duì)步驟2_2所述的數(shù)據(jù)塊進(jìn)行封裝,封裝過程中在數(shù)據(jù)塊頭部之前添加ForCES重定向消息頭,封裝后通過重定向通道發(fā)送至控制件;
2-4.控制件中的ForCES中間件在依次刪除步驟2_3所述的ForCES重定向消息頭和元數(shù)據(jù)頭,并從元數(shù)據(jù)頭中提取轉(zhuǎn)發(fā)件ID和物理接口 ID,根據(jù)物理接口 ID查找虛接口名,將所得虛接口名添加到步驟2-2所述IP包頭之前,虛接口名和IP包組成新的數(shù)據(jù)塊,然后該數(shù)據(jù)塊進(jìn)入IP隧道;
2-5.1P隧道中,在步驟2-4所述的數(shù)據(jù)塊的頭部之前添加隧道IP頭,然后將添加了隧道IP頭的數(shù)據(jù)塊發(fā)向IP隧道的對(duì)端;隧道IP頭中的協(xié)議字段設(shè)為105,目的IP地址為第三方路由協(xié)議軟件所在主機(jī)的IP地址;
2-6.1P隧道的對(duì)端對(duì)收到的數(shù)據(jù)塊進(jìn)行處理,刪除數(shù)據(jù)塊的隧道IP頭,然后將刪除隧道IP頭的數(shù)據(jù)塊交付與虛接口模塊;
2-7.虛接口模塊對(duì)步驟2-6交付的數(shù)據(jù)塊進(jìn)行處理,刪除該數(shù)據(jù)塊所包含的虛接口名,得到步驟2-2所述的IP包,之后再刪除IP包的頭部,根據(jù)虛接口名將IP包中所包含的路由協(xié)議信息放入虛接口的接收緩存;
2-8.第二方路由協(xié)議軟件從虛接口的接收緩存中讀取路由協(xié)議信息;
步驟(3) ForCES系統(tǒng)中路由協(xié)議信息的發(fā)送過程,由控制件中的第三方路由協(xié)議軟件主動(dòng)發(fā)起,目的地是外部路由器,其過程是步驟(2)中所述過程的逆過程:
步驟(4)控制件和轉(zhuǎn)發(fā)件之間的路由同步過程由路由轉(zhuǎn)化適配器來控制和管理,路由轉(zhuǎn)化適配器將控制件中路由表的下發(fā)過程轉(zhuǎn)化成邏輯功能塊的屬性配置操作過程,具體包含如下步驟:
4-1.路由轉(zhuǎn)化適配器通過Netlink從操作系統(tǒng)的內(nèi)核空間中讀取路由表;
4-2.路由轉(zhuǎn)化適配器將路由條目中的每一項(xiàng)映射為邏輯功能塊的一個(gè)屬性;每一個(gè)路由條目中都有包含一個(gè)出接口,該出接口是步驟2-4所述的虛接口,通過該虛接口能夠唯一地確定轉(zhuǎn)發(fā)件ID和物理接口 ID ;
4-3.路由轉(zhuǎn)化適配器通過ForCES控制消息通道,發(fā)送邏輯功能塊的屬性配置消息至由步驟4-2所述的轉(zhuǎn)發(fā)件ID確定的轉(zhuǎn)發(fā)件。
實(shí)施例為了便于本領(lǐng)域一般技術(shù)人員理解和實(shí)現(xiàn)本發(fā)明,現(xiàn)結(jié)合附圖進(jìn)一步說明本發(fā)明的技術(shù)方案,給出一種本發(fā)明所述的具體實(shí)施方式
。一)路由協(xié)議的信息交互實(shí)現(xiàn)
ForCES協(xié)議規(guī)定了控制件和轉(zhuǎn)發(fā)件間交互的兩種消息:控制消息和重定向消息,如圖
3??刂葡刂萍?duì)轉(zhuǎn)發(fā)件的控制管理內(nèi)容的消息,例如屬性的配置和查詢消息,能力和事件的上報(bào)消息。重定向消息包含控制件上所處理的重定向數(shù)據(jù)包。從字面上理解,“重定向”數(shù)據(jù)包指的是那些不是轉(zhuǎn)發(fā)件產(chǎn)生的數(shù)據(jù)包,而是從外部到達(dá)轉(zhuǎn)發(fā)件,需要由轉(zhuǎn)發(fā)件“重新定向”到控制件進(jìn)行處理的數(shù)據(jù)包,如圖3中的RIP和OSPF路由器所產(chǎn)生的RIP和OSPF的協(xié)議包;亦或者是由控制件產(chǎn)生的,需要經(jīng)轉(zhuǎn)發(fā)件“重新定向”到ForCES系統(tǒng)外部的數(shù)據(jù)包,如圖2中的第三方路由協(xié)議軟件所產(chǎn)生的路由協(xié)議(如RIP和0SPF)更新和查詢包??傮w來說,當(dāng)ForCES系統(tǒng)中的路由協(xié)議和外部的路由器進(jìn)行信息交互時(shí),使用重定向消息通道,而當(dāng)控制件內(nèi)的路由需要下發(fā)至轉(zhuǎn)發(fā)件時(shí),則使用控制消息通道。從圖2中可見,F(xiàn)orCES系統(tǒng)中對(duì)外的物理網(wǎng)絡(luò)接口分布于轉(zhuǎn)發(fā)件之上,而第三方路由協(xié)議軟件如Zebra、Xorp等則位于控制件之中,為使第三方路由協(xié)議軟件能感知到底層物理網(wǎng)絡(luò)接口的狀態(tài),可以通過虛接口技術(shù)將這些物理網(wǎng)絡(luò)接口映射到控制件之上。虛接口的映射過程中,為保證上下接口之間的信息同步及一致性,具體做法如下:
1)轉(zhuǎn)發(fā)件中的LFB抽象層將每個(gè)物理網(wǎng)絡(luò)接口抽象成一個(gè)LFB實(shí)例,接口的IP地址、掩碼、鏈路模式等信息被描述為L(zhǎng)FB的屬性;
2)控制件通過ForCES中間件讀取物理網(wǎng)絡(luò)接口所對(duì)應(yīng)的LFB實(shí)例及其屬性;
3)控制件通過虛接口設(shè)備控制器向虛接口模塊添加虛接口并配置虛接口的IP等信
肩、O4)第三方路由協(xié)議軟件中配置路由協(xié)議參數(shù)(如通告網(wǎng)絡(luò)號(hào)等),這些路由協(xié)議運(yùn)行在虛接口之上。重定向通道中對(duì)路由協(xié)議包的處理方法如圖3。當(dāng)外部的RIP和OSPF路由器產(chǎn)生的包含有路由協(xié)議信息的IP包(IP_1)到達(dá)轉(zhuǎn)發(fā)件時(shí),首先由接口 LFB負(fù)責(zé)接收并記錄當(dāng)前的轉(zhuǎn)發(fā)件ID和物理接口 ID,分類LFB將其定位稱為重定向消息并放入重定向隊(duì)列等候處理,重定向LFB在IP數(shù)據(jù)包頭部添加元數(shù)據(jù),然后再由ForCES中間件將其封裝成ForCES重定向消息。元數(shù)據(jù)主要由三個(gè)字段組成,轉(zhuǎn)發(fā)件ID、物理端口 ID、Length??刂萍械腇orCES中間件完成ForCES重定向消息頭的解析并從中提取出元數(shù)據(jù)信息,此時(shí)需要根據(jù)元數(shù)據(jù)所包含的轉(zhuǎn)發(fā)件ID物理接口 ID獲取虛接口,為了簡(jiǎn)化實(shí)現(xiàn),可以在虛接口命名時(shí)直接將轉(zhuǎn)發(fā)件ID物理接口 ID包含其中,具體命名方式為:“vif_轉(zhuǎn)發(fā)件ID*1000+物理接口 ID”,例FEID為2、物理接口 ID為3,那么虛接口的名為“vif_2003”。ForCES中間件將虛接口名(VIN)附加在IP_1之上,形成了 VIN +IP_1,VIN +IP_1變得非常奇怪,原因有二:1)不再是一個(gè)常規(guī)的IP包;2)位于用戶空間,虛接口模塊無(wú)法對(duì)其進(jìn)行任何處理,這時(shí)就需要IP隧道模塊的幫組。通過調(diào)用Linux操作系統(tǒng)所提供的IP隧道套接字,將VIN+IP_1作為消息內(nèi)容,通過IP隧道傳輸至操作系統(tǒng)內(nèi)核,傳輸過程中數(shù)據(jù)包的形式為:IP_Tunnel_Header+VIN+IP_l。虛接口模塊中的內(nèi)核部分讀取IP隧道中的VIN +IP_1,內(nèi)核中的IPv4協(xié)議棧根據(jù)VIN將IP_1路由至虛接口的接收緩存并通過軟中斷的方式通知用戶空間。當(dāng)用戶空間的第三方路由協(xié)議軟件從虛接口讀取數(shù)據(jù)時(shí),虛接口模塊將剝?nèi)P_1的IP頭,被剝?nèi)P頭之后的IP_1所含內(nèi)容就是外部路由器中路由協(xié)議所發(fā)出的OSPF和RIP路由協(xié)議信息,這也正是第二方路由協(xié)議軟件所需要的。如權(quán)利要求中步驟(3)所述,當(dāng)?shù)谌铰酚蓞f(xié)議軟件對(duì)外發(fā)出路由協(xié)議信息時(shí),首先由虛接口模塊進(jìn)行處理,其后續(xù)過程是前面所述過程的逆過程。二、控制件和轉(zhuǎn)發(fā)件間路由的同步實(shí)現(xiàn)
當(dāng)控制件上的第三方路由協(xié)議完成信息交互后,將會(huì)生成路由表,這些路由表存儲(chǔ)于內(nèi)核空間,我們可以通過系統(tǒng)命令(如=Netstat -η)將其顯示于用戶空間,或通過Netlink套接字讀取,這里我們采取的是后者。在各種路由系統(tǒng)中,路由表的組織形式各不相同。對(duì)于一般路由器如邊緣路由器而言,為了管理的方便通常使用一張表存儲(chǔ)路由,稱為集成式路由表,表中的每一項(xiàng)包含:目的網(wǎng)絡(luò)(Network)、掩碼(Mask)、下一跳(NH)、出接P (Int)、協(xié)議標(biāo)志位(Flag)、度量(Matric)0然而對(duì)于核心路由器而言,由于其所需維護(hù)的路由表?xiàng)l目數(shù)過于龐大(一般在2萬(wàn)左右),一張表的路由組織方式會(huì)帶來存儲(chǔ)空間上的極大浪費(fèi)。這是因?yàn)?,集成式路由表中?huì)出現(xiàn)一種情況:多條路由的目的網(wǎng)絡(luò)不同,但是卻指向了同一個(gè)下一跳,這種情況下完全可以通過合理設(shè)計(jì)對(duì)路由表的信息量進(jìn)行壓縮,因此提出了分立式路由表的組織形式。分立式路由表維護(hù)了兩張子表:前綴表、下一跳表,其中前綴表包含了目的網(wǎng)絡(luò)、掩碼和下一跳索引,下一跳表包含了下一跳索引、出端口 ID、出端口 IP、標(biāo)志位、MTU、下一跳IP,兩張表之間分別通過下一跳索引彼此關(guān)聯(lián),很大程度上降低了路由表中的信息的重復(fù)存儲(chǔ)?,F(xiàn)實(shí)的情況是,控制件上的路由協(xié)議棧采用集成式路由表,而轉(zhuǎn)發(fā)件采用分立式路由表,為了彌補(bǔ)兩者間的差異,引入了路由轉(zhuǎn)化適配器,其軟件結(jié)構(gòu)如圖4所示。路由轉(zhuǎn)化適配器的主要功能是從集成式到分立式路由的轉(zhuǎn)換以及分立式路由的下發(fā)管理。在集成式到分立式路由的轉(zhuǎn)換管理中,路由協(xié)議棧所產(chǎn)生的路由存在于Linux內(nèi)核,而集成式路由訪問器(Integrated Route Accessor, IRA)則通過Netlink實(shí)現(xiàn)與Linux內(nèi)核之間的雙向通信,進(jìn)而到達(dá)讀寫內(nèi)核路由的目的,該內(nèi)核路由是集成式的;路由轉(zhuǎn)換器(RouteConverter, RC)將IRA所提供的集成式的路由條目轉(zhuǎn)換為分立式,而分立式路由操作過程涉及到前綴、下一跳兩個(gè)表的修改,其中前綴表、下一跳表分別是ForCES系統(tǒng)中最長(zhǎng)前綴(Longest Prefix Match, LPM)、下一跳(Next Hop, NH) LFB 的一個(gè)屬性,因此在分立式路由的下發(fā)管理中,F(xiàn)orCES路徑映射模塊(Path Finder)將計(jì)算前綴表、下一跳表所對(duì)應(yīng)的ForCES路徑。路徑計(jì)算中比較麻煩的是如何定位該路由應(yīng)發(fā)往的目的轉(zhuǎn)發(fā)件,針對(duì)該問題,需要在虛接口編號(hào)時(shí)同時(shí)包含轉(zhuǎn)發(fā)件ID和物理接口 ID,這樣Path Finder可以從下一跳表中的出端口 ID中識(shí)別出轉(zhuǎn)發(fā)件ID。分立式路由下發(fā)器(Distributed RouteDispatcher, DRD)根據(jù)收集到的ForCES路徑和三張表的內(nèi)容,將分立式路由操作映射到ForCES LFB的屬性配置,調(diào)用ForCES中間所提供的接口,構(gòu)造ForCES控制消息并發(fā)至相應(yīng)轉(zhuǎn)發(fā)件。
權(quán)利要求
1.一種ForCES系統(tǒng)中路由協(xié)議的信息交互方法,其特征在于包含如下步驟: 步驟(I)控制件讀取邏輯功能塊的屬性,通過虛接口設(shè)備控制器向虛接口模塊中添加并配置虛接口,使虛接口與轉(zhuǎn)發(fā)件的物理接口唯一對(duì)應(yīng),通過一個(gè)物理接口 ID確定一個(gè)虛接口,虛接口信息包含了虛接口名、虛接口 IP地址和虛接口子網(wǎng)號(hào); 控制件包含了 ForCES中間件、路由轉(zhuǎn)化適配器、虛接口模塊、IP隧道和第三方路由協(xié)議軟件;所述的ForCES中間件實(shí)現(xiàn)了控制消息和重定向消息的處理和傳輸、ForCES協(xié)議所需的消息的分裝、解封裝;所述的路由轉(zhuǎn)化適配器實(shí)現(xiàn)了路由條目到邏輯功能塊屬性的映射和路由表的下發(fā);所述的虛接口模塊實(shí)現(xiàn)了轉(zhuǎn)發(fā)件上的物理接口和控制件上的虛接口模塊中的虛接口之間的映射及管理;所述的IP隧道實(shí)現(xiàn)了 ForCES中間件與操作系統(tǒng)內(nèi)核間的通信;所述的第三方路由協(xié)議軟件執(zhí)行路由算法并計(jì)算路由; 步驟(2) ForCES系統(tǒng)中路由協(xié)議信息的接收過程具體包含如下步驟: 2-1.外部路由器發(fā)出包含了路由協(xié)議信息的IP包,并通過轉(zhuǎn)發(fā)件的物理接口進(jìn)入ForCES 系統(tǒng); 2-2.轉(zhuǎn)發(fā)件在IP包頭部之前添加元數(shù)據(jù),元數(shù)據(jù)由轉(zhuǎn)發(fā)件ID、物理接口 ID和長(zhǎng)度字段組成,長(zhǎng)度字段表示元數(shù)據(jù)的長(zhǎng)度,每個(gè)轉(zhuǎn)發(fā)件ID和物理接口 ID的組合唯一地確定一個(gè)虛接口 ;且元數(shù)據(jù)、IP包共同組成數(shù)據(jù)塊; 2-3.轉(zhuǎn)發(fā)件中的ForCES中間件按照ForCES重定向消息的封裝格式,對(duì)步驟2_2所述的數(shù)據(jù)塊進(jìn)行封裝,封裝過程中在數(shù)據(jù)塊頭部之前添加ForCES重定向消息頭,封裝后通過重定向通道發(fā)送至控制件; 2-4.控制件中的ForCES中間件在依次刪除步驟2_3所述的ForCES重定向消息頭和元數(shù)據(jù)頭,并從元數(shù)據(jù)頭中提取轉(zhuǎn)發(fā)件ID和物理接口 ID,根據(jù)物理接口 ID查找虛接口名,將所得虛接口名添加到步驟2-2所述IP包頭之前,虛接口名和IP包組成新的數(shù)據(jù)塊,然后該數(shù)據(jù)塊進(jìn)入IP隧道; 2-5.1P隧道中,在步驟2-4所述的數(shù)據(jù)塊的頭部之前添加隧道IP頭,然后將添加了隧道IP頭的數(shù)據(jù)塊發(fā)向IP隧道的對(duì)端;隧道IP頭中的協(xié)議字段設(shè)為105,目的IP地址為第三方路由協(xié)議軟件所在主機(jī)的IP地址; 2-6.1P隧道的對(duì)端對(duì)收到的數(shù)據(jù)塊進(jìn)行處理,刪除數(shù)據(jù)塊的隧道IP頭,然后將刪除隧道IP頭的數(shù)據(jù)塊交付與虛接口模塊; 2-7.虛接口模塊對(duì)步驟2-6交付的數(shù)據(jù)塊進(jìn)行處理,刪除該數(shù)據(jù)塊所包含的虛接口名,得到步驟2-2所述的IP包,之后再刪除IP包的頭部,根據(jù)虛接口名將IP包中所包含的路由協(xié)議信息放入虛接口的接收緩存; 2-8.第二方路由協(xié)議軟件從虛接口的接收緩存中讀取路由協(xié)議信息; 步驟(3) ForCES系統(tǒng)中路由協(xié)議信息的發(fā)送過程,由控制件中的第三方路由協(xié)議軟件主動(dòng)發(fā)起,目的地是外部路由器,其過程是步驟(2)中所述過程的逆過程: 步驟(4)控制件和轉(zhuǎn)發(fā)件之間的路由同步過程由路由轉(zhuǎn)化適配器來控制和管理,路由轉(zhuǎn)化適配器將控制件中路由表的下發(fā)過程轉(zhuǎn)化成邏輯功能塊的屬性配置操作過程,具體包含如下步驟: 4-1.路由轉(zhuǎn)化適配器通過Netlink從操作系統(tǒng)的內(nèi)核空間中讀取路由表; 4-2.路由轉(zhuǎn)化適配器將路由條目中的每一項(xiàng)映射為邏輯功能塊的一個(gè)屬性;每一個(gè)路由條目中都有包含一個(gè)出接口,該出接口是步驟2-4所述的虛接口,通過該虛接口能夠唯一地確定轉(zhuǎn)發(fā)件ID和物理接口 ID ; 4-3.路由轉(zhuǎn)化適配器通過ForCES控制消息通道,發(fā)送邏輯功能塊的屬性配置消息至由步驟4-2所述的轉(zhuǎn)發(fā)件ID確 定的轉(zhuǎn)發(fā)件。
全文摘要
本發(fā)明所公開的一種ForCES系統(tǒng)中路由協(xié)議的信息交互方法。利用虛接口技術(shù),成功實(shí)現(xiàn)轉(zhuǎn)發(fā)件上的物理接口到控制件上虛擬接口的映射和同步,這是控制件上路由協(xié)議軟件運(yùn)行的必備條件;在通過ForCES重定向消息通道將轉(zhuǎn)發(fā)件上的路由協(xié)議信息導(dǎo)入控制件的過程中,附加的元數(shù)據(jù)和IP隧道共同作用,在控制件中還原了路由協(xié)議的接收和處理過程;路由下發(fā)的過程,通過Netlink捕獲系統(tǒng)內(nèi)核路由表的變化,虛接口的唯一性確保轉(zhuǎn)發(fā)件間路由的一致性。本發(fā)明提供了一種ForCES系統(tǒng)中集成第三方路由協(xié)議軟件的方案,已在ForCES的原型系統(tǒng)中成功應(yīng)用,實(shí)踐表明該方法具有代價(jià)小、穩(wěn)定可靠等特點(diǎn)。
文檔編號(hào)H04L12/701GK103200086SQ201310078408
公開日2013年7月10日 申請(qǐng)日期2013年3月12日 優(yōu)先權(quán)日2013年3月12日
發(fā)明者高明, 王偉明, 李傳煌, 諸葛斌, 董黎剛, 吳穹 申請(qǐng)人:浙江工商大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
镇康县| 溧水县| 呼玛县| 呼和浩特市| 虞城县| 内丘县| 孝感市| 重庆市| 珠海市| 保德县| 西昌市| 孟村| 乐平市| 贡嘎县| 闵行区| 兴国县| 彭山县| 宝坻区| 东乡县| 东至县| 攀枝花市| 福州市| 皋兰县| 高青县| 万宁市| 贵南县| 通江县| 上蔡县| 柳江县| 海门市| 永州市| 巨鹿县| 武川县| 封丘县| 保定市| 连州市| 山丹县| 定陶县| 漾濞| 上栗县| 德格县|