本發(fā)明涉及通信領(lǐng)域,尤其涉及一種IPV6報文封裝的處理方法和裝置。
背景技術(shù):
段路由SR(Segment Routing)是一種基于源地址的路由的方法,通過在數(shù)據(jù)報文外疊加一層影響現(xiàn)有最短路徑轉(zhuǎn)發(fā)的節(jié)點信息,攜帶在數(shù)據(jù)報文外部,報文根據(jù)這些指定路徑節(jié)點信息進行最短路徑轉(zhuǎn)發(fā)。
如圖1所示,當(dāng)包含段路由報文頭的報文在SR網(wǎng)絡(luò)域中進行傳輸時,通過段路由頭中攜帶的指定SR節(jié)點路徑信息,網(wǎng)絡(luò)設(shè)備(路由器)根據(jù)段路由報文頭中的段操作指示進行相應(yīng)的操作,該操作指示包括Push,Next,Continue。當(dāng)操作指示為PUSH操作時,網(wǎng)絡(luò)設(shè)備將段路由報文頭(Segment Routing Header,SR Header)壓入到IP報文中,或者在段路由報文頭中增加其他的段指示;Next和continue操作通過Ptr的指針來表明,當(dāng)判斷出當(dāng)前的段操作已經(jīng)完畢,指針移到下一個段,指針?biāo)傅亩伪砻魇怯糜谵D(zhuǎn)發(fā)下一跳的active segment;Continue操作為該段操作沒有結(jié)束,指針仍然停留在當(dāng)前的段上。通過SR指定路徑轉(zhuǎn)發(fā)功能,可以非常便捷的實現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡和流程工程,以及快速重路由等復(fù)雜網(wǎng)絡(luò)功能。
如圖2所示,段路由技術(shù)利用了現(xiàn)有的IPV6的路由頭進行封裝擴展,現(xiàn)有的IPV6報文頭中攜帶SR Header。另外,現(xiàn)有技術(shù)中的IPV6的報文頭攜帶下一個擴展頭(Next Header,NH)類型,routing type為其中一種擴展頭,其擴展頭的格式參見圖3。在現(xiàn)有技術(shù)中的SR擴展的封裝過程中,由于IPV6SR擴展頭中由可擴展長度字段組成,當(dāng)LIST列表中攜帶的顯示指定節(jié)點或鏈路數(shù)個數(shù)越多,報文頭的長度越長。
舉例來說,以圖4所示網(wǎng)絡(luò)為例進行說明:
當(dāng)網(wǎng)絡(luò)中出現(xiàn)一條顯示路徑幾乎覆蓋網(wǎng)絡(luò)中的所有節(jié)點時,一條SR LIST顯示指定為:R1-R2-R4-R3-R5-R6-R8-R7-R9-R10,則SR的IPV6報文頭至少需要128bits*9+64bits的頭部長度在R1節(jié)點進行封裝。
由上可以看出,這種擴展形式會給IPV6的報文頭帶來很大負(fù)擔(dān)。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種IPV6報文封裝的處理方法和裝置,要解決的技術(shù)問題是現(xiàn)有技術(shù)中IPV6的報文頭負(fù)擔(dān)過重的問題。
為解決上述技術(shù)問題,本發(fā)明提供了如下技術(shù)方案:
一種IPV6報文封裝的處理方法,包括:
轉(zhuǎn)發(fā)節(jié)點獲取SR段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系;
所述轉(zhuǎn)發(fā)節(jié)點根據(jù)所述段路由列表與LIST ID的對應(yīng)關(guān)系,對接收到的IPV6報文進行轉(zhuǎn)發(fā)。
其中,當(dāng)所述轉(zhuǎn)發(fā)節(jié)點為SR入口節(jié)點時,所述LIST ID是由所述轉(zhuǎn)發(fā)節(jié)點攜帶在IPV6報文的擴展報文頭中的。
其中,所述LIST ID是通過IPV6報文的報文頭中Flag字段的比特置位信息或routing type的特定預(yù)設(shè)值信息來識別。
其中,所述轉(zhuǎn)發(fā)節(jié)點獲取段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系之后,所述方法還包括:
生成LIST ID的轉(zhuǎn)發(fā)條目。
其中,所述生成LIST ID的轉(zhuǎn)發(fā)條目,包括:
查找所述轉(zhuǎn)發(fā)節(jié)點在LIST列表中的下一個轉(zhuǎn)發(fā)節(jié)點的出接口信息;
將查找到的出接口信息保存為LIST ID的轉(zhuǎn)發(fā)條目的出接口信息。
其中,所述根據(jù)所述段路由列表與LIST ID的對應(yīng)關(guān)系,對接收到的IPV6報文進行轉(zhuǎn)發(fā),包括:
當(dāng)接收到目標(biāo)地址為所述轉(zhuǎn)發(fā)節(jié)點的地址時,如果所述IPV6報文的報文頭中下一個擴展頭的類型為路由類型,且剩余LIST列表的跳數(shù)不為零,則根據(jù)LIST ID值獲取LIST列表中的下一跳信息,并將下一跳的IPV6地址作為目的地址,繼續(xù)轉(zhuǎn)發(fā)所述IPV6報文。
其中,在所述LIST ID中包括路徑中所有途徑節(jié)點信息時,通過將LIST ID置于IPV6轉(zhuǎn)發(fā)報文的目的地址字段來攜帶路徑中所有途徑節(jié)點信息。
一種IPV6報文封裝的處理裝置,包括:
獲取模塊,用于獲取SR段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系;
轉(zhuǎn)發(fā)模塊,用于根據(jù)所述段路由列表與LIST ID的對應(yīng)關(guān)系,對接收到的IPV6報文進行轉(zhuǎn)發(fā)。
其中,當(dāng)所述轉(zhuǎn)發(fā)節(jié)點為SR入口節(jié)點時,所述LIST ID是由所述轉(zhuǎn)發(fā)節(jié)點攜帶在IPV6報文的擴展報文頭中的。
其中,所述LIST ID是通過IPV6報文的報文頭中Flag字段的比特置位信息或routing type的特定預(yù)設(shè)值信息來識別。
其中,所述裝置還包括:
生成模塊,用于在獲取段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系之后,生成LIST ID的轉(zhuǎn)發(fā)條目。
其中,所述生成模塊包括:
查找單元,用于查找所述轉(zhuǎn)發(fā)節(jié)點在LIST列表中的下一個轉(zhuǎn)發(fā)節(jié)點的出接口信息;
保存單元,用于將查找到的出接口信息保存為LIST ID的轉(zhuǎn)發(fā)條目的出接口信息。
其中,所述轉(zhuǎn)發(fā)模塊包括:
獲取單元,用于當(dāng)接收到目標(biāo)地址為所述轉(zhuǎn)發(fā)節(jié)點的地址時,如果所述IPV6報文的報文頭中下一個擴展頭的類型為路由類型,且剩余LIST列表的跳數(shù)不為零,則根據(jù)LIST ID值獲取LIST列表中的下一跳信息;
轉(zhuǎn)發(fā)單元,用于將下一跳的IPV6地址作為目的地址,繼續(xù)轉(zhuǎn)發(fā)所述IPV6報文。
其中,在所述LIST ID中包括路徑中所有途徑節(jié)點信息時,通過將LIST ID置于IPV6轉(zhuǎn)發(fā)報文的目的地址字段來攜帶路徑中所有途徑節(jié)點信息。
本發(fā)明提供的實施例,給LIST分配一個LIST ID,IPV6通過封裝攜帶LIST ID,并通過LIST id來標(biāo)識各LIST,且在本地通過LIST ID查找LIST中的下一跳目的地址查找相應(yīng)目的地址封裝,而轉(zhuǎn)發(fā)表還是原有的轉(zhuǎn)發(fā)表,只不過在LIST中顯示指定的節(jié)點上需要維護LIST ID到LIST的映射。使具有固定長度的V6擴展封裝用于SR報文頭封裝,所述LIST ID用于映射SR LIST的節(jié)點信息,以此IPV6SR報文轉(zhuǎn)發(fā)至終點,通過LIST ID的攜帶形式進行IPV6報文的SR封裝實現(xiàn),有效解決報文頭載荷隨著指定節(jié)點的數(shù)量顯示增加的問題,減輕了IPV6報文的報文頭的負(fù)擔(dān),提高了數(shù)據(jù)傳輸效率。
附圖說明
圖1為現(xiàn)有技術(shù)中SR的報文頭格式的示意圖;
圖2為現(xiàn)有技術(shù)中IPv6SR的報文頭格式的示意圖;
圖3為現(xiàn)有技術(shù)中網(wǎng)絡(luò)拓?fù)涞氖疽鈭D;
圖4為現(xiàn)有技術(shù)中IPv6擴展頭的示意圖;
圖5為本發(fā)明提供的IPV6報文封裝的處理方法實施例的流程圖;
圖6為本發(fā)明實施例一提供的IPv6報文的擴展頭格式的示意圖;
圖7為本發(fā)明實施例二提供的網(wǎng)絡(luò)拓?fù)涞氖疽鈭D;
圖8為本發(fā)明實施例二提供的路由器R1上的轉(zhuǎn)發(fā)表的示意圖;
圖9為本發(fā)明實施例三提供的LIST ID轉(zhuǎn)發(fā)表的示意圖;
圖10為本發(fā)明提供的IPV6報文的報文頭中Flag字段的示意圖;
圖11為本發(fā)明提供的IPV6報文封裝的處理裝置的結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明作進一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
圖5為本發(fā)明提供的IPV6報文封裝的處理方法實施例的流程圖。圖5所示方法,包括:
步驟501、轉(zhuǎn)發(fā)節(jié)點獲取SR段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系;
步驟502、所述轉(zhuǎn)發(fā)節(jié)點根據(jù)所述段路由列表與LIST ID的對應(yīng)關(guān)系,對接收到的IPV6報文進行轉(zhuǎn)發(fā)。
本發(fā)明提供的方法實施例,獲取獲取端路由器列表與LIST ID的對應(yīng)關(guān)系,再利用該對應(yīng)關(guān)系進行報文轉(zhuǎn)發(fā),通過攜帶的LIST ID,有效解決報文頭載荷隨著指定節(jié)點的數(shù)量顯示增加的問題,減輕了IPV6報文的報文頭的負(fù)擔(dān),提高了數(shù)據(jù)傳輸效率。
下面對本發(fā)明提供的方法實施例作進一步說明:
其中,當(dāng)所述轉(zhuǎn)發(fā)節(jié)點為SR入口節(jié)點時,所述LIST ID是由所述轉(zhuǎn)發(fā)節(jié)點攜帶在IPV6報文的擴展報文頭中的。
具體的,通過在入口節(jié)點在IPV6報文,可以方便路徑途徑的節(jié)點充分利用該LIST ID。
所述LIST ID是通過IPV6報文的報文頭中Flag字段的比特置位信息或routing type的特定預(yù)設(shè)值信息來識別。
通過充分利用IPV6報文的報文頭的格式中可用的字段,減少對現(xiàn)有協(xié)議的修改,實現(xiàn)簡單且方便。
當(dāng)然,所述轉(zhuǎn)發(fā)節(jié)點獲取段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系之后,所述方法還包括:生成LIST ID的轉(zhuǎn)發(fā)條目。
通過為該LIST ID生成轉(zhuǎn)發(fā)條目,可以方便利用該LIST ID進行數(shù)據(jù)轉(zhuǎn) 發(fā),提高IPV6報文轉(zhuǎn)發(fā)的效率。
具體,所述生成LIST ID的轉(zhuǎn)發(fā)條目,包括:
查找所述轉(zhuǎn)發(fā)節(jié)點在LIST列表中的下一個轉(zhuǎn)發(fā)節(jié)點的出接口信息;將查找到的出接口信息保存為LIST ID的轉(zhuǎn)發(fā)條目的出接口信息。
其中,所述根據(jù)所述段路由列表與LIST ID的對應(yīng)關(guān)系,對接收到的IPV6報文進行轉(zhuǎn)發(fā),包括:
當(dāng)接收到目標(biāo)地址為所述轉(zhuǎn)發(fā)節(jié)點的地址時,如果所述IPV6報文的報文頭中下一個擴展頭的類型為路由類型,且剩余LIST列表的跳數(shù)不為零,則根據(jù)LIST ID值獲取LIST列表中的下一跳信息,并將下一跳的IPV6地址作為目的地址,繼續(xù)轉(zhuǎn)發(fā)所述IPV6報文。
另外,在所述LIST ID中包括路徑中所有途徑節(jié)點信息時,通過將LIST ID置于IPV6轉(zhuǎn)發(fā)報文的目的地址字段來攜帶路徑中所有途徑節(jié)點信息。
實施例一
以下以一個具體的實施例來說明本發(fā)明的SR LIST問題。通過擴展管理IPV6地址塊,使用未被使用的全局IPV6地址或其它bits長度的標(biāo)識用以表示LIST的映射標(biāo)識,如圖3所示:
控制器Controller(Operator)獲取到網(wǎng)絡(luò)中所有節(jié)點的IPV6地址,發(fā)現(xiàn)還有全局唯一的單播空余的IPV6地址2001::1001-2001::2000(該字段可以是連續(xù)的,也可以是不連續(xù)的)未被使用,則給各節(jié)點R1-R10分配的節(jié)點SID分別為2001::1001-2001::1010,另外控制器上根據(jù)策略計算出的一條策略路徑為2001::1001-2001::1002-2001::1004-2001::1003-2001::1005-2001::1006-2001::1008-2001::1007-2001::1009-2001::1010,現(xiàn)在的SR頭部擴展會將該LIST的節(jié)點信息均攜帶在RH擴展頭中,這里只是其中一個場景,若網(wǎng)絡(luò)規(guī)模再大,而有些特殊策略需要經(jīng)過策略經(jīng)過更多跳數(shù)的節(jié)點,則也需要將所有的節(jié)點信息都攜帶在擴展頭中,這會大大增加報文頭負(fù)擔(dān),本專利可以如示實現(xiàn):
1、控制器上將未使用的2001::2000的路由分配給該路徑,用2001:: 2000的地址對該策略路徑在控制器上進行的映射維護,也即通過該LIST ID來唯一的標(biāo)識該LIST;
2、將2001::2000到2001::1001-2001::1002-2001::1004-2001::1003-2001::1005-2001::1006-2001::1008-2001::1007-2001::1009-2001::1010映射信息(所述信息通過南向接口協(xié)議下發(fā),如PCEP(Path Computation Element Protocol路徑計算單元協(xié)議)、BGP-LS(Border Gateway Protocol-Link-state邊界網(wǎng)關(guān)協(xié)議-鏈路狀態(tài))、openflow(開放流)、netconf(網(wǎng)絡(luò)配置)等協(xié)議的擴展下發(fā))下發(fā)該路徑中的各節(jié)點。
3、對于該路徑中的各節(jié)點,形成一張LIST ID(2001::2000)到LIST(2001::1001-2001::1002-2001::1004-2001::1003-2001::1005-2001::1006-2001::1008-2001::1007-2001::1009-2001::1010)的映射表;
4、對于報文的入口ingress節(jié)點R1,如圖5所示,新增一個新的routing type頭表示本擴展頭攜帶的是一個路徑標(biāo)識信息,所述新type中仍然和現(xiàn)有的擴展一樣包括Segments Left字段(剩余LIST列表的跳數(shù))仍舊為策略路徑中的節(jié)點個數(shù)-2(從零開始計數(shù),自身的第一跳已經(jīng)剝除),Segment LIST ID封裝為2001::2000,基礎(chǔ)v6的報文封裝目的地址為本節(jié)點R1(2001::1001)在該LIST中的下一跳節(jié)點2001::1002,R2,依據(jù)R2的轉(zhuǎn)發(fā)表中的路由條目進行轉(zhuǎn)發(fā);
5、當(dāng)報文轉(zhuǎn)發(fā)到R2,目的地址為自身,報文攜帶了NH頭,里面的Segments Left字段不為0,則將Segment LIST ID字段取出來,進行映射表的查找,發(fā)現(xiàn)本節(jié)點R2(2001::1002)在該LIST中的下一跳節(jié)點2001::1004,R4,則將R4的地址填充在目的地址字段,Segments left字段進行減1,而后依據(jù)目的地址R4進行轉(zhuǎn)發(fā);
6、報文轉(zhuǎn)發(fā)至R4,同樣重復(fù)步驟5所述的操作,報文轉(zhuǎn)發(fā)至R3-R5-R6-R8-R7-R9-R10
7、當(dāng)報文到達(dá)R10,目的地址為自身,報文攜帶了NH頭,里面的Segments Left字段為0,判斷出自己是最后一跳,將NH報文中的該SR type的擴展頭可選彈出。
實施例二
上述實施例中均覆蓋的是節(jié)點SID,當(dāng)路徑需要指定顯示路徑經(jīng)過某一條鏈路時,需要涉及到各節(jié)點的鄰接SID(Adjacency SID),如圖6所示,R4和R6之間有兩條等價鏈路,上面的鏈路指定的鄰接SID為本地標(biāo)簽值,如上下兩條鏈路分別為FE80::9001和FE80::9002,若指定的顯示路徑一定要通過R4-R6的上面一條鏈路可達(dá),則控制器計算出的一個LIST,比如LIST 3為:2001::1001-2001::1004-FE80::9001-2001::1010,還是如圖實施例一所述的控制面控制下,給所述LIST 3的映射標(biāo)識為2001::1199,則控制器將該標(biāo)識及路徑信息的映射信息下發(fā)給R1、R3、R10,各節(jié)點存儲該映射表信息:
1、對于R1節(jié)點,控制器下發(fā)需要至該策略路徑的流量的報文頭所需經(jīng)過的路徑為2001::1001-2001::1004-FE80::9001-2001::1010,攜帶該LIST ID的映射標(biāo)識2001::1199;如圖6所需封裝示,下發(fā)需要轉(zhuǎn)發(fā)至該策略路徑的流量的報文頭所需的Segments Left仍舊為策略路徑中的節(jié)點個數(shù)-2(從0開始計數(shù),本地節(jié)點減掉了自己這一跳的跳數(shù)),即為2,Segment LIST ID封裝為2001::1199,IPV6的報文封裝目的地址為本節(jié)點R1(2001::1001)在該LIST中的下一跳節(jié)點2001::1004,R4,依據(jù)最短路徑到R4的路由進行轉(zhuǎn)發(fā),如圖8轉(zhuǎn)發(fā)表所示,此時R1最短路徑到R4是通過R2可達(dá)的;
2、報文轉(zhuǎn)發(fā)到R2節(jié)點,R2節(jié)點查看目的地址是到R4,NH頭為routing type頭,自己無需處理,即對該擴展頭及外層封裝中的內(nèi)容不做處理將報文轉(zhuǎn)發(fā)給R4節(jié)點;
3、報文到達(dá)R4節(jié)點,發(fā)現(xiàn)目的地址是到自己,而NH頭中顯示下一個擴展頭為routing type頭,則查看routing type頭中的type是表明的路徑標(biāo)識,且segments left字段為2,自己不是最后一跳,查找映射表,自身的下一跳為FE80::9001,為本地鏈路地址,取下下一跳地址2001::1010封裝在Dst字段,將報文轉(zhuǎn)發(fā)到該鏈路地址所在的接口,segments left字段減一跳到 本地,再減一跳到本地鏈路,則投遞出去的報文此時為0;
4、報文通過9001鏈路的接口傳輸給R6,R6是轉(zhuǎn)發(fā)中間節(jié)點,沒有在該LIST中,其依據(jù)報文的DST字段2001::1010進行轉(zhuǎn)發(fā),默認(rèn)最短路徑為R6-R8-R10,NH頭為routing type頭,自己無需處理,即對該擴展頭及外層封裝中的Dst內(nèi)容不做處理將報文轉(zhuǎn)發(fā)給R8節(jié)點;
5、R8節(jié)點操作同R6,將報文轉(zhuǎn)發(fā)給R10節(jié)點
6、目的地址為自身,NH頭為routing type頭,里面的Segments Left字段為0,判斷出自己是最后一跳,將NH報文中的該SR type的擴展頭可選彈出。
實施例三
如實施例一描述所述,控制器發(fā)送一條顯示路徑的映射信息LIST ID(2001::2000)到LIST(2001::1001-2001::1002-2001::1004-2001::1003-2001::1005-2001::1006-2001::1008-2001::1007-2001::1009-2001::1010)給所有節(jié)點,當(dāng)ingress到egress節(jié)點間的路徑包含路徑途徑的所有中間節(jié)點時,所有轉(zhuǎn)發(fā)節(jié)點都會接收到該映射消息。則可以將LIST ID的下一跳信息學(xué)習(xí)為自身在所述LIST列表中的下一跳的出接口和網(wǎng)關(guān)地址,即R1的轉(zhuǎn)發(fā)條目如類似圖7所示,R1的下一跳在該LIST中是R2,下一跳是到R2的出接口,網(wǎng)關(guān)也是到R2的網(wǎng)關(guān),則在本地生成一條到LIST ID的轉(zhuǎn)發(fā)條目,下一跳是到R2的出接口,網(wǎng)關(guān)也是到R2的網(wǎng)關(guān),如圖9所示;同樣R2\R3等節(jié)點也都這樣形成轉(zhuǎn)發(fā)條目。則在做報文封裝時,將LIST ID信息放在目的節(jié)點,各節(jié)點的轉(zhuǎn)發(fā)均依據(jù)目的地址LIST ID來進行轉(zhuǎn)發(fā),可選無需擴展頭攜帶信息,即可將報文沿路徑傳達(dá)終點。在目的節(jié)點R10,需要識別自己是該LIST的目的,解析報文內(nèi)容,進行分析。所述實施例三要求LIST覆蓋路徑中的完整節(jié)點信息,不然可能會有中間轉(zhuǎn)發(fā)節(jié)點查找不到到LIST ID的路由條目。
實施例四
使用唯一的標(biāo)識LIST ID來標(biāo)記各LIST,其中LIST ID可以是20bits的標(biāo)簽或32bits的ipv4地址或128bits的IPV6地址。
具體的LIST ID可以通過如下方式進行攜帶,包括:
通過路由類型的擴展頭中的RESV字段中的某些bit置位來進行標(biāo)識;或者,設(shè)置新的routing type值。
其中,RESV字段可以為現(xiàn)有SR擴展的字段攜帶。如圖10所示,F(xiàn)LAG字段中的某個R置位表明是攜帶的路徑標(biāo)識。由于節(jié)點有路徑標(biāo)識的映射表,原有policy的預(yù)留位可以空出來用來表示具體是攜帶的多少bits的標(biāo)簽,其中如其中FLAG字段低位的三個bit字段用以標(biāo)識各是多少bits置位的標(biāo)識。
圖11為本發(fā)明提供的IPV6報文封裝的處理裝置的結(jié)構(gòu)圖。圖10所示裝置,包括:
獲取模塊1101,用于獲取SR段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系;
轉(zhuǎn)發(fā)模塊1102,用于根據(jù)所述段路由列表與LIST ID的對應(yīng)關(guān)系,對接收到的IPV6報文進行轉(zhuǎn)發(fā)。
其中,當(dāng)所述裝置位于SR入口節(jié)點時,所述LIST ID是由所述轉(zhuǎn)發(fā)節(jié)點攜帶在IPV6報文的擴展報文頭中的。
其中,所述LIST ID是通過IPV6報文的報文頭中Flag字段的比特置位信息或routing type的特定預(yù)設(shè)值信息來識別。
其中,所述裝置還包括:
生成模塊,用于在獲取段路由列表與列表標(biāo)識LIST ID的對應(yīng)關(guān)系之后,生成LIST ID的轉(zhuǎn)發(fā)條目。
其中,所述生成模塊包括:
查找單元,用于查找所述轉(zhuǎn)發(fā)節(jié)點在LIST列表中的下一個轉(zhuǎn)發(fā)節(jié)點的出接口信息;
保存單元,用于將查找到的出接口信息保存為LIST ID的轉(zhuǎn)發(fā)條目的出接口信息。
其中,所述轉(zhuǎn)發(fā)模塊1102包括:
獲取單元,用于當(dāng)接收到目標(biāo)地址為所述轉(zhuǎn)發(fā)節(jié)點的地址時,如果所述IPV6報文的報文頭中下一個擴展頭的類型為路由類型,且剩余LIST列表的跳數(shù)不為零,則根據(jù)LIST ID值獲取LIST列表中的下一跳信息;
轉(zhuǎn)發(fā)單元,用于將下一跳的IPV6地址作為目的地址,繼續(xù)轉(zhuǎn)發(fā)所述IPV6報文。
其中,在所述LIST ID中包括路徑中所有途徑節(jié)點信息時,通過將LIST ID置于IPV6轉(zhuǎn)發(fā)報文的目的地址字段來攜帶路徑中所有途徑節(jié)點信息。
本發(fā)明提供的裝置實施例,獲取獲取端路由器列表與LIST ID的對應(yīng)關(guān)系,再利用該對應(yīng)關(guān)系進行報文轉(zhuǎn)發(fā),通過攜帶的LIST ID,有效解決報文頭載荷隨著指定節(jié)點的數(shù)量顯示增加的問題,減輕了IPV6報文的報文頭的負(fù)擔(dān),提高了數(shù)據(jù)傳輸效率。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的全部或部分步驟可以使用計算機程序流程來實現(xiàn),所述計算機程序可以存儲于一計算機可讀存儲介質(zhì)中,所述計算機程序在相應(yīng)的硬件平臺上(如系統(tǒng)、設(shè)備、裝置、器件等)執(zhí)行,在執(zhí)行時,包括方法實施例的步驟之一或其組合。
可選地,上述實施例的全部或部分步驟也可以使用集成電路來實現(xiàn),這些步驟可以被分別制作成一個個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
上述實施例中的各裝置/功能模塊/功能單元可以采用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,也可以分布在多個計算裝置所組成的網(wǎng)絡(luò)上。
上述實施例中的各裝置/功能模塊/功能單元以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。 上述提到的計算機可讀取存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求所述的保護范圍為準(zhǔn)。