專利名稱:一種基于lsp隧道的報(bào)文傳輸方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及了一種基于LSP (Label Switched Paths,標(biāo)簽交換路徑)隧道的報(bào)文傳輸方法和設(shè)備。
背景技術(shù):
網(wǎng)絡(luò)擁塞是影響骨干網(wǎng)絡(luò)性能的主要問題,其原因是網(wǎng)絡(luò)資源不足或網(wǎng)絡(luò)資源負(fù)載不均衡導(dǎo)致的擁塞;TE (Traffic Engineering,流量工程)用于解決網(wǎng)絡(luò)資源負(fù)載不均衡導(dǎo)致的擁塞。MPLS (Mult1-Protocol Label Switching,多協(xié)議標(biāo)簽交換)TE結(jié)合MPLS技術(shù)與TE技術(shù),通過建立到達(dá)指定路徑的LSP隧道進(jìn)行資源預(yù)留,使網(wǎng)絡(luò)流量繞開擁塞設(shè)備,達(dá)到平衡網(wǎng)絡(luò)流量的目的。MPLS TE 主要用于實(shí)現(xiàn)兩類功能:(I)靜態(tài) CR-LSP (Constraint-based RoutedLabel Switched Paths,基于約束路由的LSP)的處理:其包括創(chuàng)建和刪除靜態(tài)CR-LSP。(2)動態(tài)CR-LSP的處理:其包括對三種不同類型CR-LSP (基本CR-LSP、備份CR-LSP和快速重路由CR-LSP )的處理。進(jìn)一步的,對于動態(tài)CR-LSP的處理,MPLS TE在實(shí)現(xiàn)上包括四個部分。(I)發(fā)布包含TE屬性的信息。其中,MPLS TE需要了解每條鏈路的動態(tài)TE屬性,該過程通過擴(kuò)展后的OSPF (Open Shortest Path First,開放式最短路徑優(yōu)先)或ISIS(Intermediate System to Intermediate System Routing Protocol,中間系統(tǒng)至Ij中間系統(tǒng)的路由選擇)協(xié)議實(shí)現(xiàn),擴(kuò)展后的OSPF或ISIS協(xié)議在鏈路連接狀態(tài)中增加鏈路帶寬、著色等TE屬性;每臺設(shè)備收集本區(qū)域所有設(shè)備每條鏈路的TE屬性,生成TEDB(TE Data Base,流量工程數(shù)據(jù)庫)。(2)計(jì)算路徑。MPLS TE 使用 CSPF (Constraint-based Shortest Path First,基于約束的最短路徑優(yōu)先)算法計(jì)算出到達(dá)某設(shè)備的滿足TE屬性要求的最短路徑;CSPF算法是從SPF (Shortest Path First,最短路徑優(yōu)先)算法衍生來的,且CSPF有兩個輸入條件:待建立LSP隧道的帶寬、著色、建立/保持優(yōu)先級、顯式路徑等約束條件,這些約束條件都需要在LSP隧道的入口處配置;流量工程數(shù)據(jù)庫。進(jìn)一步的,CSPF的計(jì)算過程就是針對LSP隧道要求,先對TEDB中的鏈路進(jìn)行剪切,將不滿足TE屬性要求的鏈路剪掉;再采用SPF算法,尋找一條到LSP egress (出)節(jié)點(diǎn)的滿足TE屬性要求的最短路徑(即LSP隧道)。(3)建立路徑。支持建立LSP隧道的信令包括CR-LDP(Constraint-Routing LabelDistribution Protocol,基于路由受限標(biāo)簽分發(fā)協(xié)議)和 RSVP (Resource ReservationProtocol,資源預(yù)留協(xié)議)-TE,其都能夠攜帶LSP隧道的帶寬、部分顯式路由、著色等約束參數(shù),兩者完成的功能是一樣的;從內(nèi)部實(shí)現(xiàn)看,CR-LDP通過TCP建立LSP隧道,RSVP-TE通過Raw IP (原始IP)建立LSP隧道。(4)轉(zhuǎn)發(fā)報(bào)文。各設(shè)備通過使用建立的LSP隧道發(fā)送報(bào)文。現(xiàn)有技術(shù)中,在發(fā)送報(bào)文的過程中,各設(shè)備需要基于LSP隧道的MTU值(MaximumTransmission Unit,最大傳輸單元)對報(bào)文進(jìn)行轉(zhuǎn)發(fā);在報(bào)文長度大于MTU值時(shí),如果設(shè)備支持分片處理,則可以對報(bào)文進(jìn)行分片處理,并對分片處理后的報(bào)文進(jìn)行轉(zhuǎn)發(fā),如果設(shè)備不支持分片處理,則會丟棄報(bào)文。因此,當(dāng)設(shè)備不支持分片處理時(shí),會導(dǎo)致報(bào)文被丟棄;當(dāng)設(shè)備支持分片處理時(shí),分片處理會消耗CPU (Central Processing Unit,中央處理器)資源。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于LSP隧道的報(bào)文傳輸方法和設(shè)備,以在對報(bào)文進(jìn)行轉(zhuǎn)發(fā)的過程中,盡量避免對報(bào)文進(jìn)行分片處理。為了達(dá)到上述目的,本發(fā)明實(shí)施例提供一種基于標(biāo)簽交換路徑LSP隧道的報(bào)文傳輸方法,應(yīng)用于包括入隧道設(shè)備和出隧道設(shè)備的網(wǎng)絡(luò)中,所述方法包括以下步驟:所述入隧道設(shè)備在需要向所述出隧道設(shè)備發(fā)送報(bào)文時(shí),判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的最大傳輸單元MTU值;如果否,所述入隧道設(shè)備通過當(dāng)前LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文;如果是,所述入隧道設(shè)備利用所述報(bào)文長度重新建立本設(shè)備與出隧道設(shè)備之間的LSP隧道,并通過重新建立的LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文。所述入隧道設(shè)備判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值的過程,具體包括:所述入隧道設(shè)備在接收到所述報(bào)文時(shí),檢測所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值;或者,所述入隧道設(shè)備向所述出隧道設(shè)備發(fā)送報(bào)文后,如果本設(shè)備與出隧道設(shè)備之間的中間設(shè)備檢測到報(bào)文長度大于當(dāng)前LSP隧道的MTU值,則所述入隧道設(shè)備接收來自所述中間設(shè)備的報(bào)文長度大于當(dāng)前LSP隧道的MTU值的通知,并確定所述報(bào)文長度大于當(dāng)前LSP隧道的MTU值。所述入隧道設(shè)備利用所述報(bào)文長度重新建立本設(shè)備與出隧道設(shè)備之間的LSP隧道,包括:所述入隧道設(shè)備利用所述報(bào)文長度以及本設(shè)備與出隧道設(shè)備之間各路徑的MTU值進(jìn)行基于約束的最短路徑優(yōu)先CSPF計(jì)算,得到所述各路徑中MTU值大于所述報(bào)文長度的路徑,并利用最短路徑優(yōu)先SPF算法從得到的路徑中選擇一條最短路徑為本設(shè)備與出隧道設(shè)備之間的LSP隧道。所述入隧道設(shè)備與所述出隧道設(shè)備之間各路徑的MTU值的確定過程,具體包括:所述網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,且所述網(wǎng)絡(luò)中的各設(shè)備在收到來自鄰居設(shè)備的MTU值之后,將來自所述鄰居設(shè)備的MTU值存儲到流量工程數(shù)據(jù)庫中;所述入隧道設(shè)備通過查詢所述流量工程數(shù)據(jù)庫中存儲的各MTU值,獲得本設(shè)備與出隧道設(shè)備之間各路徑的MTU值。所述網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,具體包括:所述網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值存儲到流量工程數(shù)據(jù)庫中,并通過開放式最短路徑優(yōu)先OSPF協(xié)議或中間系統(tǒng)到中間系統(tǒng)的路由選擇ISIS協(xié)議發(fā)布的路由消息將所述流量工程數(shù)據(jù)庫中存儲的MTU值通知給鄰居設(shè)備;其中,所述路由消息中設(shè)置有指定類型長度值TLV字段,所述指定TLV字段的Type字段的值為MTU,Length字段的值為Value字段的長度,Value字段的值為MTU值。本發(fā)明實(shí)施例提供一種基于標(biāo)簽交換路徑LSP隧道的報(bào)文傳輸設(shè)備,作為入隧道設(shè)備應(yīng)用于包括所述入隧道設(shè)備和出隧道設(shè)備的網(wǎng)絡(luò)中,包括:判斷模塊,用于在需要向所述出隧道設(shè)備發(fā)送報(bào)文時(shí),判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的最大傳輸單元MTU值;建立模塊,用于當(dāng)判斷結(jié)果為是時(shí),利用所述報(bào)文長度重新建立本設(shè)備與所述出隧道設(shè)備之間的LSP隧道;發(fā)送模塊,用于當(dāng)判斷結(jié)果為是時(shí),通過重新建立的LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文;當(dāng)判斷結(jié)果為否時(shí),通過當(dāng)前LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文。所述判斷模塊,具體用于在接收到所述報(bào)文時(shí),檢測所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值;或者,在向所述出隧道設(shè)備發(fā)送報(bào)文后,如果本設(shè)備與出隧道設(shè)備之間的中間設(shè)備檢測到報(bào)文長度大于當(dāng)前LSP隧道的MTU值,則接收來自所述中間設(shè)備的報(bào)文長度大于當(dāng)前LSP隧道的MTU值的通知,并確定所述報(bào)文長度大于當(dāng)前LSP隧道的MTU值。所述建立模塊,具體用于利用所述報(bào)文長度以及本設(shè)備與出隧道設(shè)備之間各路徑的MTU值進(jìn)行基于約束的最短路徑優(yōu)先CSPF計(jì)算,得到所述各路徑中MTU值大于所述報(bào)文長度的路徑,利用最短路徑優(yōu)先SPF算法從得到的路徑中選擇一條最短路徑為本設(shè)備與出隧道設(shè)備之間的LSP隧道。所述建立模塊,進(jìn)一步用于將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,且在收到來自鄰居設(shè)備的MTU值之后,將來自所述鄰居設(shè)備的MTU值存儲到流量工程數(shù)據(jù)庫中;通過查詢所述流量工程數(shù)據(jù)庫中存儲的各MTU值,獲得本設(shè)備與出隧道設(shè)備之間各路徑的MTU 值。所述建立模塊,進(jìn)一步用于將本設(shè)備接口上配置的MTU值存儲到流量工程數(shù)據(jù)庫中,并通過開放式最短路徑優(yōu)先OSPF協(xié)議或中間系統(tǒng)到中間系統(tǒng)的路由選擇ISIS協(xié)議發(fā)布的路由消息將所述流量工程數(shù)據(jù)庫中存儲的MTU值通知給鄰居設(shè)備;其中,所述路由消息中設(shè)置有指定類型長度值TLV字段,所述指定TLV字段的Type字段的值為MTU,Length字段的值為Value字段的長度,Value字段的值為MTU值。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn):本發(fā)明實(shí)施例中,當(dāng)報(bào)文長度大于當(dāng)前LSP隧道的MTU值時(shí),通過重新建立LSP隧道,并通過重新建立的LSP隧道發(fā)送報(bào)文,從而避免對報(bào)文進(jìn)行分片處理;在設(shè)備不支持分片處理時(shí),上述方式不會導(dǎo)致報(bào)文被丟棄;在設(shè)備支持分片處理時(shí),上述方式不會存在分片處理所導(dǎo)致的CPU資源消耗。
圖1是本發(fā)明實(shí)施例的應(yīng)用場景示意圖;圖2是本發(fā)明實(shí)施例提出的基于LSP隧道的報(bào)文傳輸方法流程示意圖;圖3是本發(fā)明實(shí)施例提出的基于LSP隧道的報(bào)文傳輸設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明中的附圖,對本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供一種基于LSP隧道的報(bào)文傳輸方法,該方法應(yīng)用于包括入隧道設(shè)備和出隧道設(shè)備的網(wǎng)絡(luò)(如MPLS網(wǎng)絡(luò))中,且入隧道設(shè)備與出隧道設(shè)備之間存在多條傳輸路徑;以圖1為本發(fā)明實(shí)施例的應(yīng)用場景示意圖,假設(shè)設(shè)備A為入隧道設(shè)備,設(shè)備B為出隧道設(shè)備,且設(shè)備A與設(shè)備B之間存在3條傳輸路徑,各傳輸路徑分別為:設(shè)備A-設(shè)備C-設(shè)備B、設(shè)備A-設(shè)備D-設(shè)備E-設(shè)備B、設(shè)備A-設(shè)備F-設(shè)備G-設(shè)備H-設(shè)備B。本發(fā)明實(shí)施例中,網(wǎng)絡(luò)中的各設(shè)備需要將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,且網(wǎng)絡(luò)中的各設(shè)備在收到來自鄰居設(shè)備的MTU值之后,需要將來自鄰居設(shè)備的MTU值存儲到流量工程數(shù)據(jù)庫(TEDB)中;基于此流量工程數(shù)據(jù)庫,網(wǎng)絡(luò)中的各設(shè)備可以獲知全網(wǎng)帶有MTU值的鏈路拓?fù)洹?在圖1所示應(yīng)用場景下,流量工程數(shù)據(jù)庫中存儲有設(shè)備A接口上配置的MTU值,設(shè)備B接口上配置的MTU值,設(shè)備C接口上配置的MTU值,設(shè)備D接口上配置的MTU值,設(shè)備E接口上配置的MTU值,設(shè)備F接口上配置的MTU值,設(shè)備G接口上配置的MTU值,設(shè)備H接口上配置的MTU值。本發(fā)明實(shí)施例中,網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備具體包括:網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值存儲到流量工程數(shù)據(jù)庫中,并通過OSPF協(xié)議或ISIS協(xié)議發(fā)布的路由消息將流量工程數(shù)據(jù)庫中存儲的MTU值(其包含有本設(shè)備接口上配置的MTU值)通知給鄰居設(shè)備;其中,在OSPF協(xié)議或ISIS協(xié)議發(fā)布的路由消息中設(shè)置有指定TLV (Type Length Value,類型長度值)字段(如sub_TLV),該指定TLV字段的Type字段的值為MTU (如MPLS MTU), Length字段的值為Value字段的長度,Value字段的值為MTU值(即流量工程數(shù)據(jù)庫中存儲的MTU值)。在OSPF協(xié)議中,上述指定TLV字段可以攜帶在LSA(Link State Advertisement,鏈路狀態(tài)廣播)中;進(jìn)一步的,LSA由LSA Header (頭)和LSApayload (有效載荷)組成,且LSApayload由一個或者多個TLV組成,因此本發(fā)明實(shí)施例提出的指定TLV字段可以攜帶在LSA payload中。在ISIS協(xié)議中,上述指定TLV字段可以攜帶在LSP中;進(jìn)一步的,LSP在需要攜帶TE相關(guān)屬性信息時(shí),該LSP中會攜帶extended IS reachability TLV,因此本發(fā)明實(shí)施例提出的指定TLV字段可以攜帶在extended IS reachability TLV中。本發(fā)明實(shí)施例中,在建立對應(yīng)有MTU值的LSP隧道之后,如圖2所示,該基于LSP隧道的報(bào)文傳輸方法包括以下步驟:步驟201,入隧道設(shè)備在需要向出隧道設(shè)備發(fā)送報(bào)文時(shí),判斷報(bào)文長度(指除去鏈路層和MPLS標(biāo)簽頭的部分)是否大于當(dāng)前LSP隧道的MTU值;如果否,則執(zhí)行步驟202 ;如果是,則執(zhí)行步驟203。本發(fā)明實(shí)施例中,入隧道設(shè)備判斷報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值的過程,具體包括但不限于如下方式:方式一、入隧道設(shè)備在接收到報(bào)文時(shí),直接檢測報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值;在檢測到報(bào)文長度大于當(dāng)前LSP隧道的MTU值時(shí),需要執(zhí)行后續(xù)步驟203,在檢測到報(bào)文長度不大于當(dāng)前LSP隧道的MTU值時(shí),需要執(zhí)行后續(xù)步驟202。
方式二、入隧道設(shè)備向出隧道設(shè)備發(fā)送報(bào)文之后,如果入隧道設(shè)備與出隧道設(shè)備之間的中間設(shè)備檢測到報(bào)文長度大于當(dāng)前LSP隧道的MTU值,則中間設(shè)備需要通過RSVP消息將報(bào)文長度大于當(dāng)前LSP隧道的MTU值的信息通知給入隧道設(shè)備,由入隧道設(shè)備接收來自中間設(shè)備的報(bào)文長度大于當(dāng)前LSP隧道的MTU值的通知(即RSVP消息),并確定報(bào)文長度大于當(dāng)前LSP隧道的MTU值,需要執(zhí)行后續(xù)步驟203。步驟202,入隧道設(shè)備通過當(dāng)前LSP隧道向出隧道設(shè)備發(fā)送報(bào)文,本流程結(jié)束。步驟203,入隧道設(shè)備利用報(bào)文長度重新建立本設(shè)備與出隧道設(shè)備之間的LSP隧道,并通過重新建立的LSP隧道向出隧道設(shè)備發(fā)送報(bào)文,本流程結(jié)束。本發(fā)明實(shí)施例中,入隧道設(shè)備利用報(bào)文長度重新建立本設(shè)備與出隧道設(shè)備之間的LSP隧道具體包括:入隧道設(shè)備利用報(bào)文長度以及本設(shè)備與出隧道設(shè)備之間各路徑的MTU值進(jìn)行CSPF計(jì)算,得到各路徑中MTU值大于報(bào)文長度的路徑(即通過在CSPF算法中將報(bào)文長度作為約束條件進(jìn)行計(jì)算,將不滿足TE屬性(其包括現(xiàn)有的TE屬性以及本發(fā)明實(shí)施例所提出的MTU屬性)要求的鏈路剪掉);之后入隧道設(shè)備利用SPF算法從得到的路徑中選擇一條最短路徑為本設(shè)備與出隧道設(shè)備之間的LSP隧道。進(jìn)一步的,入隧道設(shè)備與出隧道設(shè)備之間各路徑的MTU值的確定過程具體包括:基于維護(hù)的流量工程數(shù)據(jù)庫,入隧道設(shè)備通過查詢流量工程數(shù)據(jù)庫中存儲的MTU值,獲得本設(shè)備與出隧道設(shè)備之間各路徑的MTU值。例如,由于流量工程數(shù)據(jù)庫中存儲有設(shè)備A接口上配置的MTU值,設(shè)備B接口上配置的MTU值,設(shè)備C接口上配置的MTU值,設(shè)備D接口上配置的MTU值,設(shè)備E接口上配置的MTU值,設(shè)備F接口上配置的MTU值,設(shè)備G接口上配置的MTU值,設(shè)備H接口上配置的MTU值;因此,對于路徑設(shè)備A-設(shè)備C-設(shè)備B、設(shè)備A-設(shè)備D-設(shè)備E-設(shè)備B、設(shè)備A-設(shè)備F-設(shè)備G-設(shè)備H-設(shè)備B,設(shè)備A (即入隧道設(shè)備)能夠獲得本設(shè)備與設(shè)備B (即出隧道設(shè)備)之間各路徑的MTU值。本發(fā)明實(shí)施例中,在利用報(bào)文長度以及入隧道設(shè)備與出隧道設(shè)備之間各路徑的MTU值進(jìn)行CSPF計(jì)算時(shí),如果沒有MTU值大于報(bào)文長度的路徑,則說明無法重新建立入隧道設(shè)備與出隧道設(shè)備之間的LSP隧道,此時(shí)仍然需要通過當(dāng)前LSP隧道向出隧道設(shè)備發(fā)送報(bào)文(即步驟202)。本發(fā)明實(shí)施例中,為了防止報(bào)文長度不斷變化所導(dǎo)致的LSP隧道的不斷創(chuàng)建過程,還可以設(shè)定一個周期(該周期可以根據(jù)業(yè)務(wù)情況進(jìn)行配置,如將周期設(shè)定為10S),在這個周期內(nèi)第一次需要執(zhí)行步驟203時(shí),則觸發(fā)建立新的LSP隧道;否則不再觸發(fā)建立新的LSP隧道。綜上所述,本發(fā)明實(shí)施例中,當(dāng)報(bào)文長度大于當(dāng)前LSP隧道的MTU值時(shí),通過重新建立LSP隧道,并通過重新建立的LSP隧道發(fā)送報(bào)文,從而避免對報(bào)文進(jìn)行分片處理;在設(shè)備不支持分片處理時(shí),上述方式不會導(dǎo)致報(bào)文被丟棄;在設(shè)備支持分片處理時(shí),上述方式不會存在分片處理所導(dǎo)致的CPU資源消耗。該技術(shù)方案可以根據(jù)用戶業(yè)務(wù)動態(tài)調(diào)整TE隧道的PATH MTU,從而解決TE隧道固定的最大PATH MTU導(dǎo)致的報(bào)文分片或丟失的問題。基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種基于標(biāo)簽交換路徑LSP隧道的報(bào)文傳輸設(shè)備,作為入隧道設(shè)備應(yīng)用于包括所述入隧道設(shè)備和出隧道設(shè)備的網(wǎng)絡(luò)中,如圖3所示,該入隧道設(shè)備包括:
判斷模塊11,用于在需要向所述出隧道設(shè)備發(fā)送報(bào)文時(shí),判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的最大傳輸單元MTU值;建立模塊12,用于當(dāng)判斷結(jié)果為是時(shí),利用所述報(bào)文長度重新建立本設(shè)備與所述出隧道設(shè)備之間的LSP隧道;發(fā)送模塊13,用于當(dāng)判斷結(jié)果為是時(shí),通過重新建立的LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文;當(dāng)判斷結(jié)果為否時(shí),通過當(dāng)前LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文。所述判斷模塊11具體用于在接收到所述報(bào)文時(shí),檢測所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值;或者,在向所述出隧道設(shè)備發(fā)送報(bào)文后,如果本設(shè)備與出隧道設(shè)備之間的中間設(shè)備檢測到報(bào)文長度大于當(dāng)前LSP隧道的MTU值,則接收來自所述中間設(shè)備的報(bào)文長度大于當(dāng)前LSP隧道的MTU值的通知,并確定所述報(bào)文長度大于當(dāng)前LSP隧道的MTU值。所述建立模塊12具體用于利用所述報(bào)文長度以及本設(shè)備與出隧道設(shè)備之間各路徑的MTU值進(jìn)行基于約束的最短路徑優(yōu)先CSPF計(jì)算,得到所述各路徑中MTU值大于所述報(bào)文長度的路徑,利用最短路徑優(yōu)先SPF算法從得到的路徑中選擇一條最短路徑為本設(shè)備與出隧道設(shè)備之間的LSP隧道。所述建立模塊12,進(jìn)一步用于將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,且在收到來自鄰居設(shè)備的MTU值之后,將來自所述鄰居設(shè)備的MTU值存儲到流量工程數(shù)據(jù)庫中;通過查詢所述流量工程數(shù)據(jù)庫中存儲的各MTU值,獲得本設(shè)備與出隧道設(shè)備之間各路徑的MTU值。所述建立模塊12,進(jìn)一步用于將本設(shè)備接口上配置的MTU值存儲到流量工程數(shù)據(jù)庫中,并通過開放式最短路徑優(yōu)先OSPF協(xié)議或中間系統(tǒng)到中間系統(tǒng)的路由選擇ISIS協(xié)議發(fā)布的路由消息將所述流量工程數(shù)據(jù)庫中存儲的MTU值通知給鄰居設(shè)備;其中,所述路由消息中設(shè)置有指定類型長度值TLV字段,所述指定TLV字段的Type字段的值為MTU,Length字段的值為Value字段的長度,Value字段的值為MTU值。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個或多個裝置中。上述實(shí)施例的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于標(biāo)簽交換路徑LSP隧道的報(bào)文傳輸方法,應(yīng)用于包括入隧道設(shè)備和出隧道設(shè)備的網(wǎng)絡(luò)中,其特征在于,所述方法包括以下步驟: 所述入隧道設(shè)備在需要向所述出隧道設(shè)備發(fā)送報(bào)文時(shí),判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的最大傳輸單元MTU值; 如果否,所述入隧道設(shè)備通過當(dāng)前LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文; 如果是,所述入隧道設(shè)備利用所述報(bào)文長度重新建立本設(shè)備與出隧道設(shè)備之間的LSP隧道,并通過重新建立的LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文。
2.如權(quán)利要求1所述的方法,其特征在于,所述入隧道設(shè)備判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值的過程,具體包括: 所述入隧道設(shè)備在接收到所述報(bào)文時(shí),檢測所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值;或者, 所述入隧道設(shè)備向所述出隧道設(shè)備發(fā)送報(bào)文后,如果本設(shè)備與出隧道設(shè)備之間的中間設(shè)備檢測到報(bào)文長度大于當(dāng)前LSP隧道的MTU值,則所述入隧道設(shè)備接收來自所述中間設(shè)備的報(bào)文長度大于當(dāng)前LSP隧道的MTU值的通知,并確定所述報(bào)文長度大于當(dāng)前LSP隧道的MTU值。
3.如權(quán)利要求1所述的方法,其特征在于,所述入隧道設(shè)備利用所述報(bào)文長度重新建立本設(shè)備與出隧道設(shè)備之間的LSP隧道,包括: 所述入隧道設(shè)備利用所述報(bào)文長度以及本設(shè)備與出隧道設(shè)備之間各路徑的MTU值進(jìn)行基于約束的最短路徑優(yōu)先CSPF計(jì)算,得到所述各路徑中MTU值大于所述報(bào)文長度的路徑,并利用最短路徑優(yōu)先SPF算法從得到的路徑中選擇一條最短路徑為本設(shè)備與出隧道設(shè)備之間的LSP隧道。
4.如權(quán)利要求3所述的方法,其特征在于,所述入隧道設(shè)備與所述出隧道設(shè)備之間各路徑的MTU值的確定過程,具體包括: 所述網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,且所述網(wǎng)絡(luò)中的各設(shè)備在收到來自鄰居設(shè)備的MTU值之后,將來自所述鄰居設(shè)備的MTU值存儲到流量工程數(shù)據(jù)庫中; 所述入隧道設(shè)備通過查詢所述流量工程數(shù)據(jù)庫中存儲的各MTU值,獲得本設(shè)備與出隧道設(shè)備之間各路徑的MTU值。
5.如權(quán)利要求4所述的方法,其特征在于,所述網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,具體包括: 所述網(wǎng)絡(luò)中的各設(shè)備將本設(shè)備接口上配置的MTU值存儲到流量工程數(shù)據(jù)庫中,并通過開放式最短路徑優(yōu)先OSPF協(xié)議或中間系統(tǒng)到中間系統(tǒng)的路由選擇ISIS協(xié)議發(fā)布的路由消息將所述流量工程數(shù)據(jù)庫中存儲的MTU值通知給鄰居設(shè)備;其中,所述路由消息中設(shè)置有指定類型長度值TLV字段,所述指定TLV字段的Type字段的值為MTU,Length字段的值為Value字段的長度,Value字段的值為MTU值。
6.一種基于標(biāo)簽交換路徑LSP隧道的報(bào)文傳輸設(shè)備,作為入隧道設(shè)備應(yīng)用于包括所述入隧道設(shè)備和出隧道設(shè)備的網(wǎng)絡(luò)中,其特征在于,包括: 判斷模塊,用于在需要向所述出隧道設(shè)備發(fā)送報(bào)文時(shí),判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的最大傳輸單元MTU值;建立模塊,用于當(dāng)判斷結(jié)果為是時(shí),利用所述報(bào)文長度重新建立本設(shè)備與所述出隧道設(shè)備之間的LSP隧道; 發(fā)送模塊,用于當(dāng)判斷結(jié)果為是時(shí),通過重新建立的LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文;當(dāng)判斷結(jié)果為否時(shí),通過當(dāng)前LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文。
7.如權(quán)利要求6所述的設(shè)備,其特征在于, 所述判斷模塊,具體用于在接收到所述報(bào)文時(shí),檢測所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值;或者,在向所述出隧道設(shè)備發(fā)送報(bào)文后,如果本設(shè)備與出隧道設(shè)備之間的中間設(shè)備檢測到報(bào)文長度大于當(dāng)前LSP隧道的MTU值,則接收來自所述中間設(shè)備的報(bào)文長度大于當(dāng)前LSP隧道的MTU值的通知,并確定所述報(bào)文長度大于當(dāng)前LSP隧道的MTU值。
8.如權(quán)利要求6所述的設(shè)備,其特征在于, 所述建立模塊,具體用于利用所述報(bào)文長度以及本設(shè)備與出隧道設(shè)備之間各路徑的MTU值進(jìn)行基于約束的最短路徑優(yōu)先CSPF計(jì)算,得到所述各路徑中MTU值大于所述報(bào)文長度的路徑,利用最短路徑優(yōu)先SPF算法從得到的路徑中選擇一條最短路徑為本設(shè)備與出隧道設(shè)備之間的LSP隧道。
9.如權(quán)利要求8所述的設(shè)備,其特征在于, 所述建立模塊,進(jìn)一步用于將本設(shè)備接口上配置的MTU值通知給鄰居設(shè)備,且在收到來自鄰居設(shè)備的MTU值之后,將來自所述鄰居設(shè)備的MTU值存儲到流量工程數(shù)據(jù)庫中;通過查詢所述流量工程數(shù)據(jù)庫中存儲的各MTU值,獲得本設(shè)備與出隧道設(shè)備之間各路徑的MTU值。
10.如權(quán)利要求9所述 的設(shè)備,其特征在于, 所述建立模塊,進(jìn)一步用于將本設(shè)備接口上配置的MTU值存儲到流量工程數(shù)據(jù)庫中,并通過開放式最短路徑優(yōu)先OSPF協(xié)議或中間系統(tǒng)到中間系統(tǒng)的路由選擇ISIS協(xié)議發(fā)布的路由消息將所述流量工程數(shù)據(jù)庫中存儲的MTU值通知給鄰居設(shè)備;其中,所述路由消息中設(shè)置有指定類型長度值TLV字段,所述指定TLV字段的Type字段的值為MTU,Length字段的值為Value字段的長度,Value字段的值為MTU值。
全文摘要
本發(fā)明公開了一種基于LSP隧道的報(bào)文傳輸方法和設(shè)備,該方法包括入隧道設(shè)備在需要向出隧道設(shè)備發(fā)送報(bào)文時(shí),判斷所述報(bào)文長度是否大于當(dāng)前LSP隧道的MTU值;如果否,所述入隧道設(shè)備通過當(dāng)前LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文;如果是,所述入隧道設(shè)備利用所述報(bào)文長度重新建立本設(shè)備與出隧道設(shè)備之間的LSP隧道,并通過重新建立的LSP隧道向所述出隧道設(shè)備發(fā)送報(bào)文。本發(fā)明實(shí)施例中,可以避免對報(bào)文進(jìn)行分片處理。
文檔編號H04L12/46GK103117949SQ201310030470
公開日2013年5月22日 申請日期2013年1月24日 優(yōu)先權(quán)日2013年1月24日
發(fā)明者王茹萍, 趙昌峰 申請人:杭州華三通信技術(shù)有限公司