專利名稱:報文轉(zhuǎn)發(fā)路徑獲取方法和報文轉(zhuǎn)發(fā)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及通信技術(shù),特別是涉及一種報文轉(zhuǎn)發(fā)路徑獲取方法和 報文轉(zhuǎn)發(fā)裝置。
背景技術(shù):
在分布式系統(tǒng)環(huán)境中,現(xiàn)有技術(shù)主機報文的轉(zhuǎn)發(fā)路徑信息由報文發(fā)送過
程中經(jīng)過的每個轉(zhuǎn)發(fā)邏輯單元在報文轉(zhuǎn)發(fā)流程中分別計算獲取,例如
當(dāng)主機需要發(fā)送報文時,當(dāng)前轉(zhuǎn)發(fā)邏輯單元需要向報文表項管理組件查 詢轉(zhuǎn)發(fā)表;根據(jù)查詢結(jié)果計算封裝信息及獲取下一級轉(zhuǎn)發(fā)邏輯單元信息;之 后,當(dāng)前轉(zhuǎn)發(fā)邏輯單元根據(jù)計算獲得的封裝信息對報文進(jìn)行封裝處理,并向 下一級轉(zhuǎn)發(fā)邏輯單元轉(zhuǎn)發(fā)封裝處理后的報文。報文發(fā)送后續(xù)流程中所經(jīng)的每 一級轉(zhuǎn)發(fā)邏輯單元都重復(fù)上述步驟,直至報文從出接口發(fā)送;而每一級轉(zhuǎn)發(fā) 邏輯單元計算獲取的信息組成報文轉(zhuǎn)發(fā)路徑。
發(fā)明人在實現(xiàn)本發(fā)明實施例過程中發(fā)現(xiàn),現(xiàn)有技術(shù)主機報文轉(zhuǎn)發(fā)路徑信 息是由報文發(fā)送路徑所經(jīng)過的每個轉(zhuǎn)發(fā)邏輯單元,在報文轉(zhuǎn)發(fā)流程中分別進(jìn) 行轉(zhuǎn)發(fā)表查詢、封裝信息確定等報文分析操作而獲取的,因而存在著占用系 統(tǒng)資源多的技術(shù)缺陷。
發(fā)明內(nèi)容
本發(fā)明實施例要解決的技術(shù)問題是提供一種報文轉(zhuǎn)發(fā)路徑獲取方法和報 文轉(zhuǎn)發(fā)裝置,用于節(jié)省報文轉(zhuǎn)發(fā)路徑獲取過程中占用的系統(tǒng)資源。 本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)路徑獲取方法,包括 接收報文轉(zhuǎn)發(fā)路徑生成請求,從所述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文
7屬性;
根據(jù)所述報文屬性查找轉(zhuǎn)發(fā)表,獲得報文發(fā)送至出接口所需的至少一個
路徑分段;
根據(jù)每個所述^4圣分段信息及其封裝信息,生成報文轉(zhuǎn)發(fā)路徑。 本發(fā)明實施例還提供了一種報文轉(zhuǎn)發(fā)裝置,包括 接收單元,用于接收^1文;
報文轉(zhuǎn)發(fā)路徑獲取組件,用于接收所述報文的報文轉(zhuǎn)發(fā)路徑生成請求, 從所述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文屬性;根據(jù)所述報文屬性查找轉(zhuǎn)發(fā) 表,獲得報文發(fā)送至出接口所需的至少一個路徑分段;確定所述報文在所述 每個路徑分段中用于封裝報文的封裝信息;才艮據(jù)每個所述路徑分段信息及其 封裝信息,生成報文轉(zhuǎn)發(fā)路徑,發(fā)送所述報文轉(zhuǎn)發(fā)路徑;
轉(zhuǎn)發(fā)邏輯單元,用于根據(jù)所述報文轉(zhuǎn)發(fā)路徑,轉(zhuǎn)發(fā)所述報文;
報文表項管理組件,用于存儲所述轉(zhuǎn)發(fā)表。
本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)路徑獲取方法和報文轉(zhuǎn)發(fā)裝置中,采用路 徑分段的方式生成報文轉(zhuǎn)發(fā)路徑,有利于降低在報文轉(zhuǎn)發(fā)路徑發(fā)生變化時獲 取報文轉(zhuǎn)發(fā)路徑的計算量,因此有利于節(jié)省系統(tǒng)資源,并有利于提高基于報 文轉(zhuǎn)發(fā)路徑進(jìn)行報文發(fā)送的效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖la為本發(fā)明報文轉(zhuǎn)發(fā)路徑獲取方法第一實施例流程圖lb為本發(fā)明生成的報文轉(zhuǎn)發(fā)路徑實施例示意圖;圖lc為本發(fā)明生成的報文轉(zhuǎn)發(fā)路徑另一實施例示意圖2a為本發(fā)明報文轉(zhuǎn)發(fā)路徑獲取方法第二實施例信令交互圖2b為本發(fā)明基于報文轉(zhuǎn)發(fā)路徑進(jìn)行報文發(fā)送的應(yīng)用場景組網(wǎng)圖3a為本發(fā)明報文轉(zhuǎn)發(fā)路徑獲取方法第三實施例信令交互圖3b為本發(fā)明備用的報文轉(zhuǎn)發(fā)路徑實施例示意圖4為本發(fā)明報文轉(zhuǎn)發(fā)裝置第一實施例結(jié)構(gòu)示意圖5為本發(fā)明報文轉(zhuǎn)發(fā)裝置第二實施例結(jié)構(gòu)示意圖。
具體實施例方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn) 行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例, 而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒 有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的 范圍。
路徑轉(zhuǎn)發(fā)是本發(fā)明實施例分布式系統(tǒng)架構(gòu)下為實現(xiàn)主機報文的快速轉(zhuǎn)發(fā) 而提出的一個新技術(shù),它的實現(xiàn)原理是在發(fā)送主機報文前先建立一條報文轉(zhuǎn) 發(fā)路徑,當(dāng)報文轉(zhuǎn)發(fā)路徑建立完成后,待發(fā)送的報文沿著報文轉(zhuǎn)發(fā)路徑依次 進(jìn)行封裝發(fā)送,其中,報文轉(zhuǎn)發(fā)路徑是報文從某一設(shè)備內(nèi)部發(fā)送至該設(shè)備外 部(即從該設(shè)備的出接口發(fā)送出去)所需經(jīng)過的過程路徑。由此可知,報文 轉(zhuǎn)發(fā)路徑的預(yù)先成功獲取對節(jié)約系統(tǒng)資源,提高報文發(fā)送效率,實現(xiàn)基于路 徑轉(zhuǎn)發(fā)原理進(jìn)行報文快速轉(zhuǎn)發(fā)有著重要的影響。
圖la為本發(fā)明報文轉(zhuǎn)發(fā)路徑獲取方法第一實施例流程圖。如圖la所示, 本實施例包括
步驟ll、接收報文轉(zhuǎn)發(fā)路徑生成請求,從所述報文轉(zhuǎn)發(fā)路徑生成請求中 獲取報文屬性。
報文屬性包括報文發(fā)送方式以及與報文發(fā)送方式匹配的關(guān)鍵字等。例如如果報文的發(fā)送方式為"查詢路由發(fā)送",與"查詢路由發(fā)送"的報文 發(fā)送方式匹配的關(guān)鍵字為報文的目的地址;如果報文的發(fā)送方式為"指定 出接口發(fā)送",與"指定出接口發(fā)送"的報文發(fā)送方式匹配的關(guān)鍵字為報 文的目的地址以及發(fā)送報文的出接口;如果報文的發(fā)送方式為"指定隧道發(fā) 送",與"指定隧道發(fā)送"的報文發(fā)送方式匹配的關(guān)鍵字為發(fā)送報文的隧 道索引。
步驟13、根據(jù)所述報文屬性查找轉(zhuǎn)發(fā)表,獲得報文發(fā)送至出接口所需的 至少一個路徑分段。
報文轉(zhuǎn)發(fā)過程中可涉及多種類型的轉(zhuǎn)發(fā)表,例如路由表、隧道表、接 口表等。根據(jù)報文發(fā)送方式可確定需要查詢的首個轉(zhuǎn)發(fā)表類型,之后,以關(guān) 鍵字為索引,向確定出的轉(zhuǎn)發(fā)表查詢與所述關(guān)鍵字匹配的封裝數(shù)據(jù)或控制數(shù) 據(jù),并根據(jù)查詢結(jié)果分析是否繼續(xù)查詢相關(guān)轉(zhuǎn)發(fā)表以獲取與建立轉(zhuǎn)發(fā)路徑所 需要的進(jìn)一步封裝數(shù)據(jù)或控制數(shù)據(jù);根據(jù)封裝數(shù)據(jù)或控制數(shù)據(jù)的類型,確定 至少一個路徑分段。封裝數(shù)椐即為在報文轉(zhuǎn)發(fā)過程中需要封裝到報文頭中的 數(shù)據(jù),例如IP地址、標(biāo)簽、ARP信息等;控制數(shù)據(jù)即為對報文轉(zhuǎn)發(fā)過程起 約束作用,但不需要封裝到報文頭中的數(shù)據(jù),例如MTU信息、出接口索引 等。
當(dāng)確定出的路徑分段不止一個時,還需根據(jù)預(yù)先確定的報文頭數(shù)據(jù)封裝 格式所需的封裝數(shù)據(jù)或控制數(shù)據(jù)的先后順序,確定各路徑分段之間的邏輯關(guān) 聯(lián)。
步驟15、確定所述報文在每個路徑分段中用于封裝報文的封裝信息。 當(dāng)確定出的路徑分段不止一個時,每個路徑分段的封裝信息可包括分配
的本路徑分段索引和下一路徑分段索引,以及本路徑分段對報文轉(zhuǎn)發(fā)過程中
所需的封裝數(shù)據(jù)和控制數(shù)據(jù)。
步驟17、根據(jù)每個路徑分段信息及其封裝信息,生成報文轉(zhuǎn)發(fā)路徑。 采用基于路徑轉(zhuǎn)發(fā)原理進(jìn)行主機報文發(fā)送的過程中, 一條數(shù)據(jù)流的每個報文在發(fā)送過程中需要的表項信息都是確定的,并且所需要封裝的報文信息 是基本相同的,因此可在報文發(fā)送前, 一次性獲取整個報文發(fā)送過程中所有 需要查詢的封裝數(shù)據(jù)和/或控制數(shù)據(jù),根據(jù)封裝數(shù)據(jù)和/或控制數(shù)據(jù)的類型確 定報文從出接口發(fā)送之前經(jīng)過的路徑分段信息,并確定各路徑分段的封裝信 息。這樣在報文發(fā)送流程時,以路徑分段為單位,分層采用相應(yīng)的封裝信息
對報文進(jìn)行封裝處理,并將封裝處理后的報文提交到下一層處理;以此類推, 直到報文從出接口發(fā)送。相對于現(xiàn)有技術(shù)在報文發(fā)送流程中還同時進(jìn)行轉(zhuǎn)發(fā) 路徑信息計算的報文發(fā)送方法,本實施例在分布式系統(tǒng)中實現(xiàn)報文轉(zhuǎn)發(fā)層面 和報文分析層面的分離,且報文從設(shè)備內(nèi)部向該設(shè)備外部的整個報文發(fā)送流 程較為簡單,效率較高。
本實施例步驟11中,轉(zhuǎn)發(fā)表項管理組件實時維護(hù)有發(fā)送各種報文所需的 各類轉(zhuǎn)發(fā)表(如路由表、接口表、隧道表等),負(fù)責(zé)提供報文轉(zhuǎn)發(fā)表項的 查詢和訂閱。為減少向轉(zhuǎn)發(fā)表項管理組件查詢次數(shù),可通過向轉(zhuǎn)發(fā)表項管理 組件的一次查詢,獲取與報文屬性匹配的所有報文表項,即獲取該報文發(fā)至 出接口所需的所有封裝數(shù)據(jù)和/或控制數(shù)據(jù)。
本實施例步驟13-步驟17中, 一條完整的報文轉(zhuǎn)發(fā)路徑可由一個或多個 路徑分段連接形成。實際應(yīng)用中,在確定路徑分段時,可根據(jù)報文遵循的協(xié) 議的不同協(xié)議層進(jìn)行確定。例如在劃分路徑分段時可以根據(jù)不同的協(xié)議層 進(jìn)行自然劃分,如IP段、MPLS段、LINK段;還可以對根據(jù)協(xié)議層進(jìn)行劃分 后的路徑分段進(jìn)行再次細(xì)分,如將MPLS段細(xì)分為LDP段、TE段等。
舉例說明假設(shè)預(yù)先確定的報文發(fā)送方式為"查詢路由發(fā)送",與"查 詢路由發(fā)送"的報文發(fā)送方式匹配的關(guān)鍵字為報文的目的地址。下面說明 確定路徑分段的過程
(l)根據(jù)報文發(fā)送方式為"查詢路由發(fā)送",確定需要查詢首個轉(zhuǎn)發(fā)表 類型為路由表。
(2 )以目的地址為關(guān)鍵字向轉(zhuǎn)發(fā)表項管理組件查詢路由表,獲得報文從出接口發(fā)送所需的封裝數(shù)據(jù)或控制數(shù)據(jù)。
以目的地址為關(guān)鍵字,查詢路由表,獲得的路由信息包括隧道索引; 以隧道索引查詢隧道轉(zhuǎn)發(fā)表,獲得的隧道信息包括標(biāo)簽、出接口索引 以及下一跳地址;
以出接口為索引查詢接口轉(zhuǎn)發(fā)表,獲得的接口信息包括出接口類型、 與出接口索引對應(yīng)的轉(zhuǎn)發(fā)邏輯單元PID、 MTU、接口地址(IP地址)。
如果報文轉(zhuǎn)發(fā)路徑生成請求沒有指定報文的源地址,該IP地址可作為報 文的源地址;
如果出接口類型為以太接口 ,則以出接口索引和下 一跳地址為關(guān)鍵字, 查詢APR表,獲得APR信息。
上迷查詢獲得的封裝數(shù)據(jù)包括標(biāo)簽、APR信息、接口地址(IP地址); 上述查詢獲得的控制數(shù)據(jù)包括與隧道索引相應(yīng)的轉(zhuǎn)發(fā)邏輯單元索引(PID)、 下一跳地址、出接口索引、與出接口索引對應(yīng)的轉(zhuǎn)發(fā)邏輯單元索引(PID)、 MTU。
(3)根據(jù)封裝數(shù)據(jù)或控制數(shù)據(jù)的類別,確定其他路徑分段。 根據(jù)"標(biāo)簽"確定對應(yīng)MPLS協(xié)議層封裝的一個路徑分段(MPLS路徑分 段);
根據(jù)"接口地址(IP地址)"確定對應(yīng)IP協(xié)議層封裝的一個路徑分段 (IP路徑分段);
根據(jù)"出接口索引"確定對應(yīng)LINK協(xié)議層封裝的一個路徑分段(LINK 路徑分段);
此外,還可確定用于標(biāo)識路徑狀態(tài)的首路徑分段。
先后順序,確定各其他路徑分段之間的邏輯關(guān)聯(lián)。 首先確定用于標(biāo)識路徑狀態(tài)的首路徑分段。
其它路徑分段依據(jù)預(yù)先確定的報文封裝格式所需的封裝數(shù)據(jù)或控制數(shù)據(jù),可確定路徑段的順序為IP路徑分段一MPLS路徑分段--LINK路徑分段; 如果MPLS層中有二個路徑分段,例如查詢獲得MPLS路徑分段1和MPLS 路徑分段2,那么,這2個路徑分段之間的順序根據(jù)查表獲取的封裝數(shù)據(jù)或 控制數(shù)據(jù)的先后順序確定。
(5 )在確定了路徑分段及其邏輯關(guān)聯(lián)后,可確定各路徑分段的封裝信息。 首先,確定各路徑分段對應(yīng)的轉(zhuǎn)發(fā)邏輯單元。與每個路徑分段對應(yīng)有至 少一個轉(zhuǎn)發(fā)邏輯單元,用于進(jìn)行報文轉(zhuǎn)發(fā)流程控制的。確定各路徑分段對應(yīng) 的轉(zhuǎn)發(fā)邏輯單元,例如將發(fā)送報文轉(zhuǎn)發(fā)路徑生成請求的轉(zhuǎn)發(fā)邏輯單元,作 為首路徑分段對應(yīng)的首轉(zhuǎn)發(fā)邏輯單元;根據(jù)查詢獲得的出接口信息,確定末 路徑分段對應(yīng)的末轉(zhuǎn)發(fā)邏輯單元;報文轉(zhuǎn)發(fā)路徑獲取組件上預(yù)先建立有報文 頭數(shù)據(jù)封裝格式中所需的封裝數(shù)據(jù)或控制數(shù)據(jù)與轉(zhuǎn)發(fā)邏輯單元功能的映射關(guān) 系,因此,可根據(jù)預(yù)先建立的映射關(guān)系,首路徑分段和末路徑分段之間的其 他路徑分段對應(yīng)的轉(zhuǎn)發(fā)邏輯單元,可通過各自路徑分段的封裝數(shù)據(jù)或控制數(shù) 據(jù)的類型確定。
接著,根據(jù)路徑分段及其邏輯關(guān)聯(lián),和各路徑分段對應(yīng)的轉(zhuǎn)發(fā)邏輯單元, 生成各路徑分段的封裝信息。
生成的首路徑分段的封裝信息包括本路徑分段ID、該報文轉(zhuǎn)發(fā)路徑的 狀態(tài)、下一路徑分段ID、下一路徑分段ID對應(yīng)的轉(zhuǎn)發(fā)邏輯單元PID (即下 一轉(zhuǎn)發(fā)邏輯單元PID);
生成的IP路徑分段的封裝信息包括本路徑分段ID、源地址、下一路 徑分段ID、下一轉(zhuǎn)發(fā)邏輯單元PID;
生成的MPLS路徑分段的封裝信息包括本路徑分段ID、標(biāo)簽、下一路 徑分段ID、下一轉(zhuǎn)發(fā)邏輯單元PID;
生成的LINK路徑分段的封裝信息包括本路徑分段ID、 APR、 MTU。 (6)在確定了路徑分段及其邏輯關(guān)聯(lián)、以及各路徑分段的封裝信息后, 可生成報文的轉(zhuǎn)發(fā)路徑。圖lb為本發(fā)明生成的報文轉(zhuǎn)發(fā)路徑實施例示意圖。一個報文轉(zhuǎn)發(fā)路徑可 包括一個或多個路徑分段,對路徑分段的總數(shù)量不做限制,理論上可以無限 支持。當(dāng)報文發(fā)送的路徑分段為多個路徑分段時,為便于描述,以下將報文 向出接口方向發(fā)送時所經(jīng)過的第一個路徑分段為首路徑分段,非首路徑分段
即為其他路徑分段;當(dāng)存在多個其他路徑分段時,則沿著報文轉(zhuǎn)發(fā)路徑的順 序,依次稱為第一其他路徑分段、第二其他路徑分段等。
圖lb僅示出了報文轉(zhuǎn)發(fā)路徑包括3個路徑分段的情形,每個路徑分段保 持相對的獨立性,即當(dāng)一個路徑分段發(fā)生變化時不會引起路徑上其它路徑分 段的變化,因此,當(dāng)該"^艮文轉(zhuǎn)發(fā)路徑中的某一路徑分段,如第一其他路徑分 段發(fā)生變化,可對發(fā)生變化的第一其他路徑分段進(jìn)行重新計算,而不需要對 整條報文轉(zhuǎn)發(fā)路徑中所有的路徑分段都進(jìn)行計算,因而有效降低了在報文轉(zhuǎn) 發(fā)路徑在發(fā)生變化時的計算量,有利于節(jié)省在計算當(dāng)前報文轉(zhuǎn)發(fā)路徑時的系 統(tǒng)資源。
不同的路徑分段對報文進(jìn)行封裝處理所需的封裝信息不同。例如首路 徑分段對應(yīng)的封裝信息包括本路徑分段索引、下一路徑分段索引、下一轉(zhuǎn) 發(fā)邏輯單元索引和報文轉(zhuǎn)發(fā)路徑的狀態(tài)信息;其他路徑分段對應(yīng)的封裝信息 包括本路徑分段索引、下一路徑分段索引、下一轉(zhuǎn)發(fā)邏輯單元索引、封裝 數(shù)據(jù)和/或控制數(shù)據(jù)。其中,報文轉(zhuǎn)發(fā)路徑的狀態(tài)信息是路徑創(chuàng)建點(如報 文轉(zhuǎn)發(fā)路徑獲取組件)維護(hù)并用以標(biāo)識整條報文轉(zhuǎn)發(fā)路徑的狀態(tài),僅在首路 徑分段對應(yīng)的封裝信息中包括該狀態(tài)信息,該狀態(tài)信息包括可達(dá)狀態(tài)、中斷 狀態(tài)等;如果狀態(tài)信息為可達(dá)狀態(tài),則表示整條報文轉(zhuǎn)發(fā)路徑可以貫通;如 果狀態(tài)信息為中斷狀態(tài),則表示報文轉(zhuǎn)發(fā)路徑中某路徑分段不可達(dá),此時, 發(fā)送報文的首節(jié)點(如首路徑分段對應(yīng)的轉(zhuǎn)發(fā)邏輯單元)根據(jù)該信息將停 止發(fā)送報文。
圖lc為本發(fā)明生成的報文轉(zhuǎn)發(fā)路徑另一實施例示意圖。與圖lb所示實 施例的區(qū)別在于,本實施例在圖lb所示實施例基礎(chǔ)上,進(jìn)一步示出了二條報文轉(zhuǎn)發(fā)路徑共用部分路徑分段的情形。圖lc中帶箭頭的虛線連接的路徑分段 組成第一報文轉(zhuǎn)發(fā)路徑,帶箭頭的實線連接的路徑分段組成的第二報文轉(zhuǎn)發(fā)
路徑。如圖lc所示,第一報文轉(zhuǎn)發(fā)路徑包括首路徑分段A,首路徑分段A對 應(yīng)封裝信息A;第二報文轉(zhuǎn)發(fā)路徑包括首路徑分段A',首路徑分段A'對應(yīng) 封裝信息A,,顯然,二條報文轉(zhuǎn)發(fā)路徑包括的首路徑分段不同。而二條報 文轉(zhuǎn)發(fā)路徑包括的其他路徑分段信息(如第一其他路徑分段B和封裝信息B、 以及第二其他路徑分段C和封裝信息C)都相同。因此,同一路徑段可被不 同的報文轉(zhuǎn)發(fā)路徑使用,為報文轉(zhuǎn)發(fā)路徑的擴展性提供了良好的支持,有利 于在計算其他報文轉(zhuǎn)發(fā)路徑時節(jié)省系統(tǒng)資源。
此外,在采用本實施例方法獲取報文轉(zhuǎn)發(fā)路徑后,可向報文轉(zhuǎn)發(fā)層面發(fā) 送報文轉(zhuǎn)發(fā)路徑信息。當(dāng)多條報文轉(zhuǎn)發(fā)路徑共享某一路徑分段時,只需向報 文轉(zhuǎn)發(fā)層面下發(fā)一次被共享的路徑分段對應(yīng)的封裝信息。具體的,如果當(dāng)前 路徑分段與本地存儲的其他報文轉(zhuǎn)發(fā)路徑包括的路徑分段不同時,向報文轉(zhuǎn) 發(fā)層面的轉(zhuǎn)發(fā)邏輯單元發(fā)送與當(dāng)前路徑分段的封裝信息;用于生成報文轉(zhuǎn)發(fā) 路徑的組件進(jìn)行以下判斷如果當(dāng)前路徑分段與本地存儲的其他報文轉(zhuǎn)發(fā)路 徑包括的路徑分段相同時,則不發(fā)送當(dāng)前路徑分段的封裝信息。如圖lc所示, 假設(shè)第一報文轉(zhuǎn)發(fā)路徑為本地在先生成的路徑,且第一報文轉(zhuǎn)發(fā)路徑包括的 封裝信息A、封裝信息B和封裝信息C都已經(jīng)向報文轉(zhuǎn)發(fā)層面發(fā)送;第二報 文轉(zhuǎn)發(fā)路徑為當(dāng)前生成的路徑。在進(jìn)行第二報文路徑信息向報文轉(zhuǎn)發(fā)層面發(fā) 送時,只需發(fā)送首路徑分段A,對應(yīng)的封裝信息A,;由于第一其他路徑分段 B和第二其他路徑分段C都是與第一報文轉(zhuǎn)發(fā)路徑共享的路徑分段,因此, 封裝信息B和封裝信息C都不需要再次向報文轉(zhuǎn)發(fā)層面發(fā)送。由此可見,當(dāng) 多條報文轉(zhuǎn)發(fā)路徑共享某一路徑分段時,只需向報文轉(zhuǎn)發(fā)層面下發(fā)一次被共 享的路徑分段對應(yīng)的封裝信息,從而減少了報文轉(zhuǎn)發(fā)層面和報文分析層面之 間的消息通訊數(shù)量,有利于節(jié)約系統(tǒng)資源。
本實施例可獲取報文發(fā)送所需要經(jīng)過的路徑分段以及各路徑分段對應(yīng)的封裝信息,因而當(dāng)基于報文轉(zhuǎn)發(fā)路徑進(jìn)行報文發(fā)送時,在報文轉(zhuǎn)發(fā)層i可根 據(jù)報文轉(zhuǎn)發(fā)路徑包括的封裝信息對報文進(jìn)行相應(yīng)的封裝處理,而不需要在報 文轉(zhuǎn)發(fā)層面對報文進(jìn)行內(nèi)容分析,因此,實現(xiàn)報文了轉(zhuǎn)發(fā)平面與報文分析邏 輯的分離,從而提高了報文轉(zhuǎn)發(fā)的效率,實現(xiàn)報文的快速轉(zhuǎn)發(fā)。在獲取報文 轉(zhuǎn)發(fā)路徑過程中,本實施例根據(jù)接收的報文轉(zhuǎn)發(fā)路徑生成請求,向轉(zhuǎn)發(fā)表項 管理組件一次性獲取與報文屬性匹配的轉(zhuǎn)發(fā)表項信息,減少了向轉(zhuǎn)發(fā)表項管 理組件查詢表項的次數(shù),同時,采用路徑分段的方式生成報文轉(zhuǎn)發(fā)路徑,減 少了在報文轉(zhuǎn)發(fā)路徑發(fā)生變化時獲取報文轉(zhuǎn)發(fā)路徑的計算量,因此有利于節(jié) 省系統(tǒng)資源。
圖2a為本發(fā)明報文轉(zhuǎn)發(fā)路徑獲取方法第二實施例信令交互圖。圖2b為 本發(fā)明基于報文轉(zhuǎn)發(fā)路徑進(jìn)行報文發(fā)送的應(yīng)用場景組網(wǎng)圖。區(qū)別于圖la所示 實施例的是,本實施例通過引入封裝信息接收確認(rèn)機制,用于保證生成的轉(zhuǎn) 發(fā)路徑的可靠性。
不同的路徑分段對應(yīng)于不同轉(zhuǎn)發(fā)邏輯單元。為便于描述,以下將與首路 徑分段對應(yīng)的轉(zhuǎn)發(fā)邏輯單元即為首轉(zhuǎn)發(fā)邏輯單元;與第一其他路徑分段對應(yīng) 的轉(zhuǎn)發(fā)邏輯單元即為第 一其他轉(zhuǎn)發(fā)邏輯單元;與第二其他路徑分段對應(yīng)的轉(zhuǎn) 發(fā)邏輯單元即為第二其他轉(zhuǎn)發(fā)邏輯單元等。圖2b中帶箭頭的實線代表控制 流,帶箭頭的虛線代表報文流。如圖2a和圖2b所示,本實施例包括
步驟21、首轉(zhuǎn)發(fā)邏輯單元向報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)送報文轉(zhuǎn)發(fā)路徑生 成請求。
步驟23、報文轉(zhuǎn)發(fā)路徑獲取組件根據(jù)該報文轉(zhuǎn)發(fā)路徑生成請求,向轉(zhuǎn)發(fā) 表項管理組件查詢轉(zhuǎn)發(fā)表。
步驟25、轉(zhuǎn)發(fā)表項管理組件向報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)送與待發(fā)送報文 屬性匹配的轉(zhuǎn)發(fā)表項信息。
為減少報文轉(zhuǎn)發(fā)路徑獲取組件向轉(zhuǎn)發(fā)表項管理組件查詢次數(shù),報文轉(zhuǎn)發(fā) 路徑獲取組件可通過向轉(zhuǎn)發(fā)表項管理組件的一次查詢,獲取與報文屬性匹配
16的所有封裝數(shù)據(jù)和/或控制數(shù)據(jù),即獲取該報文從出接口發(fā)送所需的所有表項 信息。
步驟27、報文轉(zhuǎn)發(fā)路徑獲取組件根據(jù)獲取的轉(zhuǎn)發(fā)表項信息,生成報文轉(zhuǎn)
發(fā)路徑。
關(guān)于步驟27的詳細(xì)描述可參見圖la所示實施例步驟13和步驟15的記 載,不再贅述。
步驟29、根據(jù)封裝數(shù)據(jù)和/或控制數(shù)據(jù),獲取路徑分段相應(yīng)的轉(zhuǎn)發(fā)邏輯 單元信息。
不同的路徑分段對應(yīng)于不同轉(zhuǎn)發(fā)邏輯單元,根據(jù)路徑分段信息可獲取與 該路徑分段相應(yīng)的轉(zhuǎn)發(fā)邏輯單元信息。
的封裝信息。
為了保證獲取的報文轉(zhuǎn)發(fā)路徑的可靠性,步驟211可包括步驟2111-步 驟2123。在步驟2111-步驟2123中,通過引入封裝信息接收確認(rèn)機制,確保 獲取的報文轉(zhuǎn)發(fā)路徑的可靠性。
步驟2111-2123為^t良文轉(zhuǎn)發(fā)路徑獲取組件分別向轉(zhuǎn)發(fā)邏輯單元發(fā)送與路 徑分段的封裝信息的具體方法。為便于描述,以下將與首路徑分段對應(yīng)的封 裝信息稱為首封裝信息;將與第一其他路徑分段對應(yīng)的封裝信息成為第一封 裝信息;將與第二其他路徑分段對應(yīng)的封裝信息成為第二封裝信息。
步驟2111、報文轉(zhuǎn)發(fā)路徑獲取組件向第一其他轉(zhuǎn)發(fā)邏輯單元發(fā)送第一封 裝信息。
步驟2113、報文轉(zhuǎn)發(fā)路徑獲取組件向第二其他轉(zhuǎn)發(fā)邏輯單元發(fā)送第二封 裝信息。
步驟2111和步驟2113之間沒有時序關(guān)系的限制,即報文轉(zhuǎn)發(fā)路徑獲 取組件可同時向其他轉(zhuǎn)發(fā)邏輯單元發(fā)送相應(yīng)的封裝信息,也可先后依次向其 他轉(zhuǎn)發(fā)邏輯單元發(fā)送相應(yīng)的封裝信息。為了保證報文轉(zhuǎn)發(fā)路徑的可靠性,使得報文在發(fā)送過程中所經(jīng)的每個轉(zhuǎn) 發(fā)邏輯單元均處于正常工作狀態(tài),本實施例引入了封裝信息接收確認(rèn)機制,
等待其他轉(zhuǎn)發(fā)邏輯單元返回應(yīng)答信息,在接收到來自所述其他轉(zhuǎn)發(fā)邏輯單元 的回應(yīng)信息時,向所述首轉(zhuǎn)發(fā)邏輯單元發(fā)送與首路徑分段的封裝信息。如果 在預(yù)設(shè)時間間隔內(nèi)沒有接收到所述其他轉(zhuǎn)發(fā)邏輯單元發(fā)送的回應(yīng)信息時,向 所述其他轉(zhuǎn)發(fā)邏輯單元重發(fā)與所述其他路徑分段的封裝信息。
在實際應(yīng)用中,報文轉(zhuǎn)發(fā)路徑獲取組件可啟動定時器,如果在定時器設(shè)
定的時間間隔內(nèi),步驟2115和步驟2117已經(jīng)發(fā)生,則執(zhí)行在步驟2115和步 驟2117后執(zhí)行步驟2123。
步驟2115、第一其他轉(zhuǎn)發(fā)邏輯單元收到第一封裝信息后,向報文轉(zhuǎn)發(fā)路 徑獲取組件發(fā)送第一回應(yīng)信息。
步驟2117、第二其他轉(zhuǎn)發(fā)邏輯單元收到第二封裝信息后,向報文轉(zhuǎn)發(fā)路 徑獲取組件發(fā)送第二回應(yīng)信息。
如果在定時器超時且步驟2115和步驟2117沒有發(fā)生,則在執(zhí)行步驟 2113之后,執(zhí)行步驟2119和步驟2121;此時報文轉(zhuǎn)發(fā)路徑獲取組件在預(yù)設(shè) 的時間間隔內(nèi)沒有接收到第 一其他轉(zhuǎn)發(fā)邏輯單元和第二其他轉(zhuǎn)發(fā)邏輯單元發(fā) 送的回應(yīng)信息。
步驟2119、如果在預(yù)設(shè)時間間隔內(nèi)沒有接收到第一其他轉(zhuǎn)發(fā)邏輯單元發(fā) 送的第一回應(yīng)信息,向第一其他轉(zhuǎn)發(fā)邏輯單元重發(fā)第一封裝信息。
步驟2121、如果在預(yù)設(shè)時間間隔內(nèi)沒有接收到第二其他轉(zhuǎn)發(fā)邏輯單元發(fā) 送的第二回應(yīng)信息,向第二其他轉(zhuǎn)發(fā)邏輯單元重發(fā)第二封裝信息。
在報文轉(zhuǎn)發(fā)路徑獲取組件向第 一其他轉(zhuǎn)發(fā)邏輯單元和第二其他轉(zhuǎn)發(fā)邏輯 單元轉(zhuǎn)發(fā)相應(yīng)的封裝信息后,需要等待直至接收到第 一其他轉(zhuǎn)發(fā)邏輯單元和 第二其他轉(zhuǎn)發(fā)邏輯單元返回的回應(yīng)信息時,執(zhí)行步驟2123。
步驟2123、在報文轉(zhuǎn)發(fā)路徑獲取組件接收到第一其他轉(zhuǎn)發(fā)邏輯單元和第二其他轉(zhuǎn)發(fā)邏輯單元發(fā)送的回應(yīng)信息時,向首轉(zhuǎn)發(fā)邏輯單元發(fā)送首封裝信息。
圖2a僅示出了第一其他轉(zhuǎn)發(fā)邏輯單元和第二其他轉(zhuǎn)發(fā)邏輯單元在定時
器設(shè)定的時間間隔內(nèi),沒有向報文轉(zhuǎn)發(fā)路徑獲取組件返回回應(yīng)信息的情形。 如果第 一其他轉(zhuǎn)發(fā)邏輯單元和第二其他轉(zhuǎn)發(fā)邏輯單元其中之一沒有向報文轉(zhuǎn) 發(fā)路徑獲取組件發(fā)送回應(yīng)信息,4艮文轉(zhuǎn)發(fā)路徑獲取組件應(yīng)向沒有返回回應(yīng)信
息的其他邏輯單元重發(fā)相應(yīng)的封裝信息;直至接收到所有其他邏輯單元返回 的回應(yīng)信息后,才會向首邏輯單元發(fā)送首封裝信息,并在首封裝信息中的報 文轉(zhuǎn)發(fā)路徑的狀態(tài)信息中標(biāo)識本報文轉(zhuǎn)發(fā)路徑可用。
通過上述方法可獲取報文轉(zhuǎn)發(fā)路徑信息,在獲取報文轉(zhuǎn)發(fā)路徑信息后, 即可開始報文的轉(zhuǎn)發(fā)流程。如圖2b所示,在各轉(zhuǎn)發(fā)邏輯單元接收到相應(yīng)的封 裝信息后,從首轉(zhuǎn)發(fā)邏輯單元開始,沿著報文轉(zhuǎn)發(fā)路徑依次封裝轉(zhuǎn)發(fā)報文。 例如首轉(zhuǎn)發(fā)邏輯單元根據(jù)首封裝信息中下一路徑分段索引信息,向第一其 他轉(zhuǎn)發(fā)邏輯單元轉(zhuǎn)發(fā)報文;當(dāng)?shù)谝黄渌D(zhuǎn)發(fā)邏輯單元接收到來自首轉(zhuǎn)發(fā)邏輯 單元發(fā)送的報文時,根據(jù)第一封裝信息中的封裝類型和封裝數(shù)據(jù),對接收到 的報文進(jìn)行封裝處理;并根據(jù)第一封裝信息中下一路徑分段索引信息,將封 裝處理后的報文發(fā)送給第二其他轉(zhuǎn)發(fā)邏輯單元。以此類推,在報文發(fā)送所經(jīng) 過的每個其他轉(zhuǎn)發(fā)邏輯單元都根據(jù)自身接收的封裝信息,對接收的報文進(jìn)行 封裝處理,并將封裝處理后的報文發(fā)送給下一級其他轉(zhuǎn)發(fā)邏輯單元,直至報 文從出接口發(fā)送出去。
本實施例在首轉(zhuǎn)發(fā)邏輯單元的觸發(fā)下,報文轉(zhuǎn)發(fā)路徑獲取組件采用路徑 分段的方式生成報文發(fā)送所需的路徑分段信息及其相應(yīng)地封裝信息,從而生 成報文轉(zhuǎn)發(fā)路徑信息。在報文轉(zhuǎn)發(fā)路徑獲取組件向報文轉(zhuǎn)發(fā)層面發(fā)送生成的 報文轉(zhuǎn)發(fā)路徑信息之前,本實施例通過引入確認(rèn)回復(fù)機制,在確保生成的轉(zhuǎn) 發(fā)路徑信息涉及的報文轉(zhuǎn)發(fā)邏輯單元接收到相應(yīng)的封裝信息并處于正常工作 狀態(tài)時,才向首報文轉(zhuǎn)發(fā)邏輯中心發(fā)送首封裝信息,用于通知首報文轉(zhuǎn)發(fā)邏 輯單元基于報文轉(zhuǎn)發(fā)路徑信息發(fā)起報文的轉(zhuǎn)發(fā)流程,因此,明顯提高了報文轉(zhuǎn)發(fā)路徑獲取組件獲取的報文轉(zhuǎn)發(fā)路徑的可靠性。
圖3a為本發(fā)明報文轉(zhuǎn)發(fā)路徑獲取方法第三實施例信令交互圖。如圖3a 所示,本實施例與圖2a對應(yīng)實施例的基礎(chǔ)上,本實施例還包括
步驟31、報文轉(zhuǎn)發(fā)路徑獲取組件向基礎(chǔ)支撐組件訂閱獲取的轉(zhuǎn)發(fā)邏輯單 元的運行狀態(tài)信息。
本步驟使得報文轉(zhuǎn)發(fā)路徑獲取組件可感知報文轉(zhuǎn)發(fā)路徑涉及的轉(zhuǎn)發(fā)邏輯 單元的故障信息。
步驟33、基礎(chǔ)支撐組件監(jiān)控轉(zhuǎn)發(fā)邏輯單元的運行狀態(tài)。
假設(shè)基礎(chǔ)支撐組件監(jiān)控到第二其他轉(zhuǎn)發(fā)邏輯單元發(fā)生運行故障,執(zhí)行步 驟35。
步驟35、基礎(chǔ)支撐組件將第二其他轉(zhuǎn)發(fā)邏輯單元的故障信息通知給報文
轉(zhuǎn)發(fā)路徑獲取組件。
步驟37、報文轉(zhuǎn)發(fā)路徑獲取組件在接收到第二其他轉(zhuǎn)發(fā)邏輯單元運行故 障信息時,根據(jù)步驟33獲取的轉(zhuǎn)發(fā)表項信息,計算備用的報文轉(zhuǎn)發(fā)路徑。
據(jù)獲取的轉(zhuǎn)發(fā)表項信息,重新計算一條新的報文轉(zhuǎn)發(fā)路徑?;蛘撸瑘笪霓D(zhuǎn)發(fā) 路徑獲取組件還可通過在轉(zhuǎn)發(fā)表項信息中查詢,是否還有其他可用路徑能夠 "繞過"發(fā)生故障的第二其他轉(zhuǎn)發(fā)邏輯單元,如果存在則下發(fā)一條新的可用 轉(zhuǎn)發(fā)路徑。圖3b為本發(fā)明備用的報文轉(zhuǎn)發(fā)路徑實施例示意圖。假設(shè)如圖3b 所示的第一路徑(首轉(zhuǎn)發(fā)邏輯單元-〉第一其他轉(zhuǎn)發(fā)邏輯單元-〉第二其他轉(zhuǎn)發(fā) 邏輯單元C)和第二路徑(首轉(zhuǎn)發(fā)邏輯單元->第一其他轉(zhuǎn)發(fā)邏輯單元->第二 其他轉(zhuǎn)發(fā)邏輯單元C,)都能夠完成同一個報文的發(fā)送;假設(shè)〉第二其他轉(zhuǎn)發(fā)邏 輯單元C和第二其他轉(zhuǎn)發(fā)邏輯單元C,都對應(yīng)同一路徑分段且對應(yīng)不同的出接 口,如第二其他轉(zhuǎn)發(fā)邏輯單元C對應(yīng)第一出接口,第二其他轉(zhuǎn)發(fā)邏輯單元C, 對應(yīng)第二出接口,這兩個出接口都可以發(fā)送報文。如果報文轉(zhuǎn)發(fā)路徑獲取組 件獲知第二其他轉(zhuǎn)發(fā)邏輯單元C發(fā)生了故障,此時可獲取第二其他轉(zhuǎn)發(fā)邏輯單元C,信息,將第二封裝信息發(fā)送給第二其他轉(zhuǎn)發(fā)邏輯單元C,;或者,報文 轉(zhuǎn)發(fā)路徑獲取組件還可由于報文發(fā)送所遵循協(xié)議本身的收斂或其它原因?qū)е?轉(zhuǎn)發(fā)表項的變化影響原轉(zhuǎn)發(fā)路徑失效,而需要重新計算報文轉(zhuǎn)發(fā)路徑。
此外,如果報文轉(zhuǎn)發(fā)路徑獲取組件自身發(fā)生故障時,執(zhí)行步驟39-311 。 步驟31-步驟37與步驟39-步驟319之間沒有時序關(guān)系的限制。
步驟39、在報文轉(zhuǎn)發(fā)路徑獲取組件本地存儲的報文轉(zhuǎn)發(fā)路徑信息丟失時, 向轉(zhuǎn)發(fā)邏輯單元發(fā)送封裝信息荻取請求,用于獲取封裝信息。
步驟311、首轉(zhuǎn)發(fā)邏輯單元向報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)送首封裝信息。
步驟313、第一其他轉(zhuǎn)發(fā)邏輯單元向報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)送第一封 裝信息。
步驟315、第二其他轉(zhuǎn)發(fā)邏輯單元向報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)送第二封 裝信息。
步驟311-步驟315之間沒有時序關(guān)系的限制。
步驟317、報文轉(zhuǎn)發(fā)路徑獲取組件根據(jù)接收的首封裝信息、第一封裝信 息和第二封裝信息,生成報文轉(zhuǎn)發(fā)恢復(fù)路徑。
由于首封裝信息中包括的信息與非封裝信息中包括的信息不同,因此, 報文轉(zhuǎn)發(fā)路徑獲取組件可根據(jù)可確認(rèn)出哪個封裝信息是首封裝信息;在確認(rèn) 了首封裝信息后,根據(jù)各封裝信息包括的本路徑分段索引信息和下一路徑分 段索引信息,便可生成報文轉(zhuǎn)發(fā)恢復(fù)路徑。
步驟319、報文轉(zhuǎn)發(fā)路徑獲取組件向轉(zhuǎn)發(fā)表項管理組件查詢表項,驗證 轉(zhuǎn)發(fā)恢復(fù)路徑的完整性和可用性。
由于報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)生故障期間,轉(zhuǎn)發(fā)表項管理組件維護(hù)的表 項信息發(fā)生了變化,此時,即使在報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)生故障前生成的 報文轉(zhuǎn)發(fā)路徑具有完整性和可用性,但這也無法保證報文轉(zhuǎn)發(fā)路徑獲取組件 發(fā)生故障后生成的報文轉(zhuǎn)發(fā)恢復(fù)路徑具有完整性和可用性,因此,需要重新 驗證報文轉(zhuǎn)發(fā)恢復(fù)路徑的完整性和可用性。當(dāng)報文轉(zhuǎn)發(fā)路徑獲取組件發(fā)生故障期間,從邏輯單元恢復(fù)的轉(zhuǎn)發(fā)路徑本 身可能就是處于中斷狀態(tài)的,但報文轉(zhuǎn)發(fā)路徑獲取組件故障期間由于轉(zhuǎn)發(fā)表 項的更新,目前轉(zhuǎn)發(fā)路徑可能已經(jīng)能夠貫通,因此需要轉(zhuǎn)發(fā)路徑管理中重新 計算,如果計算前后報文轉(zhuǎn)發(fā)路徑一致,則忽略重新計算獲取的報文轉(zhuǎn)發(fā)路
徑;如果計算前后報文轉(zhuǎn)發(fā)路徑不一致,則需要采用重新計算的報文轉(zhuǎn)發(fā)路 徑更新在先獲取的報文轉(zhuǎn)發(fā)路徑。
在進(jìn)行重新獲取的報文轉(zhuǎn)發(fā)路徑完整性和可用性驗證時,可從一條報文 轉(zhuǎn)發(fā)路徑從上而下依次對路徑分段進(jìn)行驗證,如比較每一個路徑分段的封 裝信息是否與從轉(zhuǎn)發(fā)表項管理組件獲取的表項信息相匹配,如果匹配,則該 路徑分段可用;也可依次分別對路徑分段進(jìn)行驗證,如果發(fā)現(xiàn)失效的路徑分 段,則重新計算該路徑分段后續(xù)的所有路徑分段,最后更新所有受影響的報 文轉(zhuǎn)發(fā)路徑狀態(tài)。
本實施例報文轉(zhuǎn)發(fā)路徑獲取組件可感知轉(zhuǎn)發(fā)邏輯單元的故障,實時保持 本地保存的報文轉(zhuǎn)發(fā)路徑信息與各轉(zhuǎn)發(fā)邏輯單元的封裝信息的同步;且在某 一轉(zhuǎn)發(fā)邏輯單元故障時,報文轉(zhuǎn)發(fā)路徑獲取組件可針對性的進(jìn)行報文轉(zhuǎn)發(fā)路 徑的重選,實現(xiàn)智能重選路的功能;如果報文轉(zhuǎn)發(fā)路徑獲取組件自身發(fā)生故 障時,還可通過自身機制恢復(fù)所有的轉(zhuǎn)發(fā)路徑信息,并分析路徑信息的完整 性和可用性,因此,進(jìn)一步提高了報文轉(zhuǎn)發(fā)路徑的可靠性。
圖4為本發(fā)明報文轉(zhuǎn)發(fā)裝置第一實施例結(jié)構(gòu)示意圖。如圖4所示,本實 施例包括接收單元41、報文轉(zhuǎn)發(fā)路徑獲取組件42和轉(zhuǎn)發(fā)邏輯單元43。
接收單元41用于接收報文。
報文轉(zhuǎn)發(fā)路徑獲取組件42用于接收所述報文的報文轉(zhuǎn)發(fā)路徑生成請求, 從所述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文屬性;根據(jù)所述報文屬性查找轉(zhuǎn)發(fā) 表,獲得報文發(fā)送至出接口所需的至少一個路徑分段;確定所述報文在所述 每個路徑分段中用于封裝報文的封裝信息;根據(jù)每個所述路徑分段信息及其 封裝信息,生成報文轉(zhuǎn)發(fā)路徑,向轉(zhuǎn)發(fā)邏輯單元43發(fā)送所迷報文轉(zhuǎn)發(fā)路徑。
22報文轉(zhuǎn)發(fā)路徑獲取組件42主要進(jìn)行待發(fā)送報文內(nèi)容分析層面的控制,所
生成的報文轉(zhuǎn)發(fā)路徑即為報文從報文轉(zhuǎn)發(fā)裝置內(nèi)部向報文轉(zhuǎn)發(fā)裝置外部發(fā)送 過程中,所需要經(jīng)過的過程路徑。
轉(zhuǎn)發(fā)邏輯單元43用于根據(jù)來自報文轉(zhuǎn)發(fā)路徑獲取組件42的報文轉(zhuǎn)發(fā)路 徑,轉(zhuǎn)發(fā)所述報文。
轉(zhuǎn)發(fā)邏輯單元43主要進(jìn)行報文轉(zhuǎn)發(fā)的流程控制,轉(zhuǎn)發(fā)邏輯單元的個數(shù)與 確定的路徑分段數(shù)量相同。
在上述技術(shù)方案的基礎(chǔ)上,如果轉(zhuǎn)發(fā)邏輯單元43為首轉(zhuǎn)發(fā)邏輯單元時, 那么,轉(zhuǎn)發(fā)邏輯單元43還用于向報文轉(zhuǎn)發(fā)路徑獲取組件42發(fā)送所述報文轉(zhuǎn) 發(fā)路徑生成請求。報文轉(zhuǎn)發(fā)路徑獲取組件42接收到報文路徑生成請求時,觸 發(fā)生成報文轉(zhuǎn)發(fā)路徑的相應(yīng)處理。
在上述技術(shù)方案的基礎(chǔ)上,本實施例報文轉(zhuǎn)發(fā)裝置還可包括報文表項 管理組件44。報文表項管理組件44用于存儲轉(zhuǎn)發(fā)表。報文表項管理組件44 為報文轉(zhuǎn)發(fā)路徑獲取組件42提供轉(zhuǎn)發(fā)表的查詢,以使報文轉(zhuǎn)發(fā)路徑獲取組件 42可獲得報文從裝置內(nèi)部向裝置外部發(fā)送過程中所需的數(shù)據(jù),從而根據(jù)獲取 的數(shù)據(jù)確定報文從出接口發(fā)送所需的至少 一個路徑分段。
在上述技術(shù)方案的基礎(chǔ)上,報文轉(zhuǎn)發(fā)路徑獲取組件42可包括報文屬性 獲取模塊421、路徑分段確定模塊422、封裝信息確定模塊423和報文轉(zhuǎn)發(fā)路 徑生成模塊424。
報文屬性獲取模塊421用于接收所述報文的報文轉(zhuǎn)發(fā)路徑生成請求,從 所述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文屬性。
路徑分段確定^^莫塊422用于根據(jù)所述報文屬性查找轉(zhuǎn)發(fā)表,獲得報文發(fā) 送至出接口所需的至少 一個路徑分段。
封裝信息確定模塊423用于確定所述報文在所述每個路徑分段中用于封 裝報文的封裝信息。
報文轉(zhuǎn)發(fā)路徑生成模塊424用于根據(jù)每個所述路徑分段信息及其封裝信息,生成報文轉(zhuǎn)發(fā)路徑,發(fā)送所述報文轉(zhuǎn)發(fā)路徑。
在上述技術(shù)方案的基礎(chǔ)上,封裝信息包括與每個路徑分段對應(yīng)的、用于 進(jìn)行報文轉(zhuǎn)發(fā)流程控制的轉(zhuǎn)發(fā)邏輯單元信息。本發(fā)明報文轉(zhuǎn)發(fā)裝置實施例中,
報文轉(zhuǎn)發(fā)路徑獲取組件42還可包括封裝信息發(fā)送模塊425。
封裝信息發(fā)送模塊425用于向轉(zhuǎn)發(fā)邏輯單元43發(fā)送所述路徑分段的封裝 信息。
相應(yīng)的,轉(zhuǎn)發(fā)邏輯單元43還用于根據(jù)接收的所述封裝信息封裝報文。
通訊,節(jié)省系統(tǒng)資源,封裝信息發(fā)送模塊425可包括存儲單元4251、比較 單元4252和封裝信息發(fā)送單元4253。
存儲單元4251用于存儲生成的報文轉(zhuǎn)發(fā)路徑。
比較單元4252用于比較當(dāng)前路徑分段與存儲的其他報文轉(zhuǎn)發(fā)路徑包括 的路徑分段是否相同。
封裝信息發(fā)送單元425 3用于在比較單元4252的比較結(jié)果為當(dāng)前路徑分 段與存儲的其他報文轉(zhuǎn)發(fā)路徑包括的路徑分段不同時,向轉(zhuǎn)發(fā)邏輯單元發(fā)送 當(dāng)前路徑分段的封裝信息;否則,不向轉(zhuǎn)發(fā)邏輯單元43發(fā)送當(dāng)前路徑分段的 封裝信息。
本實施例通過報文轉(zhuǎn)發(fā)路徑獲取組件一次性獲取與報文屬性匹配的轉(zhuǎn)發(fā) 表項信息,減少了轉(zhuǎn)發(fā)表查詢的次數(shù),同時,采用路徑分段的方式生成報文
量,因此有利于節(jié)省系統(tǒng)資源,并有利于提高基于報文轉(zhuǎn)發(fā)路徑進(jìn)行報文發(fā) 送的效率。此外,本實施例在報文轉(zhuǎn)發(fā)裝置內(nèi)部的分布式系統(tǒng)中,實現(xiàn)了報 文轉(zhuǎn)發(fā)層面(即轉(zhuǎn)發(fā)邏輯單元)和報文分析層面(即報文轉(zhuǎn)發(fā)路徑獲取組件) 的分離,且報文從裝置內(nèi)部向該裝置外部的整個報文發(fā)送流程較為簡單,效 率較高。
圖5為本發(fā)明報文轉(zhuǎn)發(fā)裝置第二實施例結(jié)構(gòu)示意圖。本實施例在圖4所示實施例技術(shù)方案的基礎(chǔ)上,組成一條報文轉(zhuǎn)發(fā)路徑的路徑分段可包括首路
徑分段和其他路徑分段;相應(yīng)的,轉(zhuǎn)發(fā)邏輯單元43包括與所述首路徑分段對 應(yīng)的首轉(zhuǎn)發(fā)邏輯單元431和與所述其他路徑分段對應(yīng)的其他轉(zhuǎn)發(fā)邏輯單元 432。如圖5所示,封裝信息發(fā)送模塊425包括其他封裝信息發(fā)送單元4254 和首封裝信息發(fā)送單元4255。
其他封裝信息發(fā)送單元4254用于向其他轉(zhuǎn)發(fā)邏輯單元發(fā)送與所述其他 路徑分段的封裝信息。
首封裝信息發(fā)送單元4255用于在接收到來自所述其他轉(zhuǎn)發(fā)邏輯單元的 回應(yīng)信息時,向所述首轉(zhuǎn)發(fā)邏輯單元發(fā)送與首路徑分段的封裝信息。
為了提高獲取的報文轉(zhuǎn)發(fā)路徑的可靠性,封裝信息發(fā)送模塊425還可包 括定時單元4256。
定時單元4256用于在其他封裝信息發(fā)送單元4254發(fā)送封裝信息時,啟 動定時器。
相應(yīng)的,其他封裝信息發(fā)送單元4254還用于在定時單元4256設(shè)定的時 間間隔內(nèi)沒有接收到所述其他轉(zhuǎn)發(fā)邏輯單元432發(fā)送的回應(yīng)信息時,向所述 其他轉(zhuǎn)發(fā)邏輯單元432重發(fā)與所述其他路徑分段的封裝信息。
為了進(jìn)一步保證獲取的報文轉(zhuǎn)發(fā)路徑的可靠性,本發(fā)明報文轉(zhuǎn)發(fā)裝置實 施例還可包括基礎(chǔ)支撐組件45?;A(chǔ)支撐組件45用于監(jiān)控轉(zhuǎn)發(fā)邏輯單元43 的運行狀態(tài)信息。
在上述技術(shù)方案的基礎(chǔ)上,報文轉(zhuǎn)發(fā)路徑獲取組件42還可包括狀態(tài)訂 閱模塊426和備用路徑確定模塊427。
狀態(tài)訂閱模塊426用于向基礎(chǔ)支撐組件45訂閱所述轉(zhuǎn)發(fā)邏輯單元43的 運行狀態(tài)信息。
備用路徑確定模塊427用于在狀態(tài)訂閱模塊426接收到所述轉(zhuǎn)發(fā)邏輯單 元43運行故障信息時,確定備用的報文轉(zhuǎn)發(fā)路徑。在確定了備用的報文轉(zhuǎn)發(fā) 路徑后,可將備用的轉(zhuǎn)發(fā)路徑發(fā)送給重新確定的相應(yīng)轉(zhuǎn)發(fā)邏輯單元。在上述技術(shù)方案的基礎(chǔ)上,報文轉(zhuǎn)發(fā)路徑獲取組件還可包括封裝信息
恢復(fù)模塊428。
封裝信息恢復(fù)模塊428用于在存儲的所述報文轉(zhuǎn)發(fā)路徑信息丟失時,向 所述轉(zhuǎn)發(fā)邏輯單元43獲取所述封裝信息。
相應(yīng)的,報文轉(zhuǎn)發(fā)路徑生成模塊424還用于根據(jù)來自所述轉(zhuǎn)發(fā)邏輯單元 43的封裝信息,生成報文轉(zhuǎn)發(fā)恢復(fù)路徑。
在上述技術(shù)方案的基礎(chǔ)上,報文轉(zhuǎn)發(fā)路徑獲取組件42還可包括恢復(fù)路 徑驗證模塊4210。
恢復(fù)路徑驗證模塊4210用于根據(jù)報文轉(zhuǎn)發(fā)恢復(fù)路徑查找轉(zhuǎn)發(fā)表,驗證所 述轉(zhuǎn)發(fā)恢復(fù)路徑的完整性和可用性。
本實施例通過引入封裝信息接收確認(rèn)機制,用于保證在向首轉(zhuǎn)發(fā)邏輯單 元發(fā)送首封裝信息時,報文轉(zhuǎn)發(fā)路徑處于貫通狀態(tài);在轉(zhuǎn)發(fā)邏輯單元發(fā)生故 障時,可確定報文發(fā)送的備用報文轉(zhuǎn)發(fā)路徑;且在報文轉(zhuǎn)發(fā)路徑獲取組件自
身發(fā)生故障時,可進(jìn)行報文轉(zhuǎn)發(fā)路徑的恢復(fù),并對報文轉(zhuǎn)發(fā)恢復(fù)路徑進(jìn)行完 整性和可用的驗證,進(jìn)一步保證了報文轉(zhuǎn)發(fā)路徑的可靠性。
本發(fā)明報文轉(zhuǎn)發(fā)裝置實施例在具體實現(xiàn)實體上,可以是路由器、具有通 信功能的部件或用于進(jìn)行報文轉(zhuǎn)發(fā)的其他設(shè)備。
本領(lǐng)域普通技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附 圖中的模塊或流程并不一定是實施本發(fā)明所必須的。
本領(lǐng)域普通技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施 例描述分布于實施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實施例的 一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進(jìn)一步 拆分成多個子模塊。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟 可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述
的存儲介質(zhì)包括R0M、 RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。 最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其 限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù) 人員應(yīng)當(dāng)理解其依然可以對前述實施例所記載的技術(shù)方案進(jìn)行修改,或者 對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù) 方案的本質(zhì)脫離本發(fā)明實施例技術(shù)方案的精神和范圍。
權(quán)利要求
1、一種報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,包括接收報文轉(zhuǎn)發(fā)路徑生成請求,從所述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文屬性;根據(jù)所述報文屬性查找轉(zhuǎn)發(fā)表,獲得報文發(fā)送至出接口所需的至少一個路徑分段;確定所述報文在所述每個路徑分段中用于封裝報文的封裝信息;根據(jù)每個所述路徑分段信息及其封裝信息,生成報文轉(zhuǎn)發(fā)路徑。
2、 根據(jù)權(quán)利要求l所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,所述封裝信息還包括與每個路徑分段對應(yīng)的、用于進(jìn)行報文轉(zhuǎn)發(fā)流程控制的轉(zhuǎn)發(fā)邏 輯單元信息;所述根據(jù)所述路徑分段信息和封裝信息,生成報文轉(zhuǎn)發(fā)路徑之后,還包括向所述轉(zhuǎn)發(fā)邏輯單元發(fā)送所述路徑分段的封裝信息。
3、 根據(jù)權(quán)利要求2所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,所述向 轉(zhuǎn)發(fā)邏輯單元發(fā)送所述路徑分段的封裝信息包括在當(dāng)前路徑分段與本地存儲的其他報文轉(zhuǎn)發(fā)路徑包括的路徑分段不同 時,向轉(zhuǎn)發(fā)邏輯單元發(fā)送當(dāng)前路徑分段的封裝信息。
4、 根據(jù)權(quán)利要求2所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,所述至 少 一個路徑分段分別為首路徑分段和其他路徑分段;所述轉(zhuǎn)發(fā)邏輯單元包括 與所述首路徑分段對應(yīng)的首轉(zhuǎn)發(fā)邏輯單元和與所述其他;洛徑分段對應(yīng)的其他 轉(zhuǎn)發(fā)邏輯單元;所述向轉(zhuǎn)發(fā)邏輯單元發(fā)送所述路徑分段的封裝信息,包括向其他轉(zhuǎn)發(fā)邏輯單元發(fā)送所述其他路徑分段的封裝信息; 在接收到來自所述其他轉(zhuǎn)發(fā)邏輯單元的回應(yīng)信息時,向所迷首轉(zhuǎn)發(fā)邏輯 單元發(fā)送所述首路徑分段的封裝信息。
5、 根據(jù)權(quán)利要求4所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,所述向首轉(zhuǎn)發(fā)邏輯單元發(fā)送所述首路徑分段的封裝信息之后,還包括在預(yù)設(shè)時間間隔內(nèi)沒有接收到所述其他轉(zhuǎn)發(fā)邏輯單元發(fā)送的回應(yīng)信息 時,向所述其他轉(zhuǎn)發(fā)邏輯單元重發(fā)所述其他路徑分段的封裝信息。
6、 根據(jù)權(quán)利要求4所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于, 所述首路徑分段的封裝信息包括本路徑分段索引、下一路徑分段索引、下 一轉(zhuǎn)發(fā)邏輯單元索? 1和報文轉(zhuǎn)發(fā)路徑的狀態(tài)信息;所述其他路徑分段的封裝信息包括本路徑分段索引、下一路徑分段索 引、下一轉(zhuǎn)發(fā)邏輯單元索引、封裝數(shù)據(jù)和/或控制數(shù)據(jù)。
7、 根據(jù)權(quán)利要求2所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,還包括 訂閱所述轉(zhuǎn)發(fā)邏輯單元的運行狀態(tài)信息;在接收到所述轉(zhuǎn)發(fā)邏輯單元運行故障信息時,確定備用的報文轉(zhuǎn)發(fā)路徑。
8、 根據(jù)權(quán)利要求2所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,所述生 成報文轉(zhuǎn)發(fā)路徑之后,還包括在本地存儲的所述報文轉(zhuǎn)發(fā)路徑信息丟失時,根據(jù)預(yù)先存儲的轉(zhuǎn)發(fā)邏輯 單元信息,向所述轉(zhuǎn)發(fā)邏輯單元獲取所述封裝信息;根據(jù)來自所述轉(zhuǎn)發(fā)邏輯單元的封裝信息,生成報文轉(zhuǎn)發(fā)恢復(fù)路徑。
9、 根據(jù)權(quán)利要求8所述的報文轉(zhuǎn)發(fā)路徑獲取方法,其特征在于,在生成報文轉(zhuǎn)發(fā)恢復(fù)路徑之后,還包括根據(jù)報文轉(zhuǎn)發(fā)恢復(fù)路徑查找轉(zhuǎn)發(fā)表,驗證所述轉(zhuǎn)發(fā)恢復(fù)路徑的完整性和 可用性。
10、 一種報文轉(zhuǎn)發(fā)裝置,其特征在于,包括 接收單元,用于接收報文;報文轉(zhuǎn)發(fā)路徑獲取組件,用于接收所述報文的報文轉(zhuǎn)發(fā)路徑生成請求, 從所述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文屬性;根據(jù)所述報文屬性查找轉(zhuǎn)發(fā) 表,獲得報文發(fā)送至出接口所需的至少一個路徑分段;確定所述報文在所述 每個路徑分段中用于封裝報文的封裝信息;根據(jù)每個所述路徑分段信息及其封裝信息,生成報文轉(zhuǎn)發(fā)路徑,發(fā)送所述報文轉(zhuǎn)發(fā)路徑;轉(zhuǎn)發(fā)邏輯單元,用于根據(jù)所述報文轉(zhuǎn)發(fā)路徑,轉(zhuǎn)發(fā)所述報文; 報文表項管理組件,用于存儲所述轉(zhuǎn)發(fā)表。
11、 根據(jù)權(quán)利要求10所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,在所述轉(zhuǎn)發(fā)邏 輯單元為首轉(zhuǎn)發(fā)邏輯單元時,所述轉(zhuǎn)發(fā)邏輯單元還用于向所述報文轉(zhuǎn)發(fā)路徑 獲取組件發(fā)送所述報文轉(zhuǎn)發(fā)路徑生成請求。
12、 根據(jù)權(quán)利要求10所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述報文轉(zhuǎn)發(fā) 路徑獲取組件包括報文屬性獲取模塊,用于接收所述報文的報文轉(zhuǎn)發(fā)路徑生成請求,從所 述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文屬性;路徑分段確定模塊,用于根據(jù)所述報文屬性查找轉(zhuǎn)發(fā)表,獲得報文發(fā)送 至出接口所需的至少 一個路徑分段;封裝信息確定模塊,用于確定所述報文在所述每個路徑分段中用于封裝 報文的封裝信息;報文轉(zhuǎn)發(fā)路徑生成模塊,用于根據(jù)每個所述路徑分段信息及其封裝信息, 生成報文轉(zhuǎn)發(fā)路徑,發(fā)送所述報文轉(zhuǎn)發(fā)路徑。
13、 根據(jù)權(quán)利要求12所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述封裝信息 包括與每個路徑分段對應(yīng)的轉(zhuǎn)發(fā)邏輯單元信息;所述報文轉(zhuǎn)發(fā)路徑獲取組件 還包括封裝信息發(fā)送模塊,用于向所述轉(zhuǎn)發(fā)邏輯單元發(fā)送所述路徑分段的封裝4呂息 ,所述轉(zhuǎn)發(fā)邏輯單元還用于根據(jù)接收的所述封裝信息封裝報文。
14、 根據(jù)權(quán)利要求13所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述封裝信息發(fā)送模塊包括存儲單元,用于存儲生成的報文轉(zhuǎn)發(fā)路徑;比較單元,用于比較當(dāng)前路徑分段與存儲的其他報文轉(zhuǎn)發(fā)路徑包括的路徑分段是否相同;封裝信息發(fā)送單元,用于在所述比較單元的比較結(jié)果為當(dāng)前路徑分段與 存儲的其他報文轉(zhuǎn)發(fā)路徑包括的路徑分段不同時,向轉(zhuǎn)發(fā)邏輯單元發(fā)送當(dāng)前 路徑分段的封裝信息。
15、 根據(jù)權(quán)利要求13所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述路徑分段 包括首路徑分段和其他路徑分段;所述轉(zhuǎn)發(fā)邏輯單元包括與所述首路徑分段 對應(yīng)的首轉(zhuǎn)發(fā)邏輯單元和與所述其他路徑分段對應(yīng)的其他轉(zhuǎn)發(fā)邏輯單元;所 述封裝信息發(fā)送^t塊包括其他封裝信息發(fā)送單元,用于向其他轉(zhuǎn)發(fā)邏輯單元發(fā)送與其對應(yīng)的路徑 分段的封裝信息;首封裝信息發(fā)送單元,用于在接收到來自所述其他轉(zhuǎn)發(fā)邏輯單元的回應(yīng) 信息時,向所述首轉(zhuǎn)發(fā)邏輯單元發(fā)送所述首路徑分段的封裝信息。
16、 根據(jù)權(quán)利要求15所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述封裝信息 發(fā)送模塊還包括定時單元,用于在所述其他封裝信息發(fā)送單元發(fā)送封裝信息時,啟動定 時器;有接收到所述其他轉(zhuǎn)發(fā)邏輯單元發(fā)送的回應(yīng)信息時,向所述其他轉(zhuǎn)發(fā)邏輯單 元重發(fā)所述其他路徑分段的封裝信息。
17、 根據(jù)權(quán)利要求IO所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,還包括 基礎(chǔ)支撐組件,用于監(jiān)控所述轉(zhuǎn)發(fā)邏輯單元的運行狀態(tài)信息; 所述報文轉(zhuǎn)發(fā)路徑獲取組件還包括狀態(tài)訂閱模塊,用于訂閱所述轉(zhuǎn)發(fā)邏輯單元的運行狀態(tài)信息; 備用路徑確定模塊,用于在接收到所述轉(zhuǎn)發(fā)邏輯單元運行故障信息時, 確定備用的報文轉(zhuǎn)發(fā)路徑。
18、 根據(jù)權(quán)利要求13所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述報文轉(zhuǎn)發(fā)路徑獲取組件還包括封裝信息恢復(fù)模塊,用于在存儲的所述報文轉(zhuǎn)發(fā)路徑信息丟失時,根據(jù) 預(yù)先存儲的轉(zhuǎn)發(fā)邏輯單元信息,向所述轉(zhuǎn)發(fā)邏輯單元獲取所述封裝信息;所述報文轉(zhuǎn)發(fā)路徑生成模塊還用于根據(jù)來自所述轉(zhuǎn)發(fā)邏輯單元的封裝信 息,生成報文轉(zhuǎn)發(fā)恢復(fù)路徑。
19、根據(jù)權(quán)利要求18所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述報文轉(zhuǎn)發(fā) 路徑獲取組件還包括恢復(fù)路徑驗證模塊,用于根據(jù)報文轉(zhuǎn)發(fā)恢復(fù)路徑查找轉(zhuǎn)發(fā)表,驗證所述 轉(zhuǎn)發(fā)恢復(fù)路徑的完整性和可用性。
全文摘要
本發(fā)明實施例涉及一種報文轉(zhuǎn)發(fā)路徑獲取方法和報文轉(zhuǎn)發(fā)裝置。該報文轉(zhuǎn)發(fā)路徑獲取方法包括接收報文轉(zhuǎn)發(fā)路徑生成請求,從所述報文轉(zhuǎn)發(fā)路徑生成請求中獲取報文屬性;根據(jù)所述報文屬性查找轉(zhuǎn)發(fā)表,獲得報文發(fā)送至出接口所需的至少一個路徑分段;確定所述報文在所述每個路徑分段中用于封裝報文的封裝信息;根據(jù)每個所述路徑分段信息及其封裝信息,生成報文轉(zhuǎn)發(fā)路徑。本發(fā)明實施例采用路徑分段的方式生成報文轉(zhuǎn)發(fā)路徑,降低了在報文轉(zhuǎn)發(fā)路徑發(fā)生變化時獲取報文轉(zhuǎn)發(fā)路徑的計算量,有利于節(jié)省系統(tǒng)資源,并有利于提高基于報文轉(zhuǎn)發(fā)路徑進(jìn)行報文發(fā)送的效率。
文檔編號H04L12/56GK101436998SQ20081023977
公開日2009年5月20日 申請日期2008年12月16日 優(yōu)先權(quán)日2008年12月16日
發(fā)明者張麗軍, 偉 徐, 寧 徐, 秦利琴, 君 趙, 郭英輝 申請人:華為技術(shù)有限公司