两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于通用路由封裝隧道的報文轉(zhuǎn)發(fā)的方法、系統(tǒng)及設(shè)備的制作方法

文檔序號:7665826閱讀:325來源:國知局
專利名稱:基于通用路由封裝隧道的報文轉(zhuǎn)發(fā)的方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及基于通用路由封裝(GRE)隧道的報文轉(zhuǎn)發(fā)的方法、系統(tǒng)及設(shè)備。
背景技術(shù)
通用路由封裝(GRE,Generic Routing Encapsulation)協(xié)議是一種封裝協(xié)議,提供了將一種網(wǎng)絡(luò)層協(xié)議(如,IP、IPX、AppleTalk等)的數(shù)據(jù)報文封裝在另一種協(xié)議的報文中的機制,并使封裝后的報文能夠在另一個網(wǎng)絡(luò)層協(xié)議(如,IP)中進(jìn)行傳輸。其中,報文進(jìn)行傳輸?shù)耐ǖ婪Q為隧道(Tunnel),Turmel是一個虛擬的點對點連接,提供了一條能夠使封裝的數(shù)據(jù)報文進(jìn)行傳輸?shù)耐?,其中,在使用Turmel進(jìn)行報文傳輸時,需要在Turmel的兩端分別對數(shù)據(jù)報文進(jìn)行封裝及解封裝。傳統(tǒng)的GRE隧道是點到點的連接,當(dāng)GRE應(yīng)用于企業(yè)網(wǎng)時,企業(yè)中心節(jié)點需要與分支節(jié)點建立多條隧道。當(dāng)企業(yè)分支節(jié)點較多,中心設(shè)備配置工作量較大;當(dāng)分支網(wǎng)絡(luò)變動頻繁,中心設(shè)備的維護成本較高。在點到多點隧道應(yīng)用中,中心設(shè)備配置為點到多點GRE隧道模式,分支設(shè)備配置為點到點GRE隧道模式,GRE隧道由分支到中心節(jié)點的流量觸發(fā),中心設(shè)備動態(tài)建立到分支網(wǎng)絡(luò)的隧道表項。參見圖1,圖1為點到多點GRE隧道應(yīng)用組網(wǎng)示意圖。圖1中,Device C為中心設(shè)備,Device A和Device B為分支網(wǎng)絡(luò)設(shè)備。在圖1中中心設(shè)備連接了兩個分支設(shè)備,實際應(yīng)用中可以連接多個分支網(wǎng)絡(luò)設(shè)備。中心設(shè)備向分支網(wǎng)絡(luò)發(fā)送流量時,中心設(shè)備查找本地路由表,選擇合適的隧道出口。確定隧道出口后,中心設(shè)備查找隧道出口的隧道列表。如果沒有匹配的隧道表項,流量將被丟棄;如果匹配上隧道表項,則根據(jù)該表項封裝報文并轉(zhuǎn)送。現(xiàn)有技術(shù)中,隧道表項建立由分支網(wǎng)絡(luò)流量動態(tài)觸發(fā),隧道表項的顆粒度以分支網(wǎng)絡(luò)掩碼長度設(shè)置為準(zhǔn)。分支網(wǎng)絡(luò)掩碼長度在中心設(shè)備上配置,中心設(shè)備根據(jù)分支網(wǎng)絡(luò)掩碼長度設(shè)置和分支流量建立隧道表項。該隧道表項的建立并未考慮到分支網(wǎng)絡(luò)的實際掩碼長度,分支網(wǎng)絡(luò)地址需求數(shù)目不一致或者分支網(wǎng)絡(luò)變動均會導(dǎo)致掩碼長度不一致。如果分支網(wǎng)絡(luò)掩碼設(shè)置以分支最長掩碼為準(zhǔn),中心設(shè)備可能會創(chuàng)建多條指向同一子網(wǎng)的隧道表項,這增大了隧道表項數(shù)目,將惡化中心設(shè)備的轉(zhuǎn)發(fā)效率。如果分支網(wǎng)絡(luò)掩碼設(shè)置以分支最短掩碼為準(zhǔn),不同子網(wǎng)可能被劃分到同一條隧道表項中,這導(dǎo)致到某些子網(wǎng)的隧道條目不唯一,中心設(shè)備將無法正確選擇隧道目的地址。綜上所述,現(xiàn)有實現(xiàn)中提供的基于GRE隧道的報文轉(zhuǎn)發(fā)方法的效率較低。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明主要目的是提供一種基于GRE隧道的報文轉(zhuǎn)發(fā)的方法,提高中心設(shè)備的報文轉(zhuǎn)發(fā)效率。該方法包括中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的攜帶至少一個分支子網(wǎng)掩碼信息的GRE報文, 根據(jù)所述分支子網(wǎng)掩碼信息建立相應(yīng)GRE隧道表項;所述GRE報文攜帶的分支子網(wǎng)掩碼信息由分支網(wǎng)絡(luò)設(shè)備從本地的路由表中獲得;當(dāng)所述中心設(shè)備收到要發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備的報文時,所述中心設(shè)備根據(jù)所述GRE隧道表項封裝要發(fā)送的報文,并將封裝后的GRE報文轉(zhuǎn)發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備。其中,所述GRE報文還攜帶有IP地址,所述建立相應(yīng)GRE隧道表項時,該方法進(jìn)一步包括中心設(shè)備通過所述分支子網(wǎng)掩碼信息以及GRE報文攜帶的IP地址獲得分支子網(wǎng)地址;將所述分支子網(wǎng)地址存儲到所述GRE隧道表項中。所述分支子網(wǎng)掩碼信息是攜帶在GRE報頭中的;所述GRE報頭還包括一個開關(guān)字段;所述開關(guān)字段占用所述GRE報頭的預(yù)留字段, 用于表示是否攜帶分支子網(wǎng)掩碼信息。所述中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的攜帶至少一個分支子網(wǎng)掩碼信息的GRE 報文與所述建立相應(yīng)GRE隧道表項之間,該方法進(jìn)一步包括判斷GRE報頭中所述開關(guān)字段是否表示攜帶分支子網(wǎng)掩碼信息,如果是,則繼續(xù)執(zhí)行所述建立相應(yīng)GRE隧道表項的步驟。所述中心設(shè)備根據(jù)所述GRE隧道表項封裝要發(fā)送的報文時,該方法進(jìn)一步包括在GRE報文中攜帶所述分支子網(wǎng)掩碼信息,并將GRE報頭中開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;所述將封裝后的GRE報文轉(zhuǎn)發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備之后該方法進(jìn)一步包括所述分支網(wǎng)絡(luò)設(shè)備收到中心設(shè)備發(fā)來的GRE報文,判斷GRE報頭中開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,將相應(yīng)分支子網(wǎng)掩碼信息的隧道標(biāo)志位標(biāo)識為隧道表項已建立。所述中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的GRE報文之前該方法進(jìn)一步包括分支網(wǎng)絡(luò)設(shè)備向中心設(shè)備發(fā)送報文前判斷相應(yīng)的隧道標(biāo)志位是否標(biāo)識為隧道表項已建立,如果是,將開關(guān)字段設(shè)置為未攜帶分支子網(wǎng)掩碼信息;否則,向中心設(shè)備發(fā)送的GRE報文攜帶相應(yīng)分支子網(wǎng)掩碼信息,并將開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息。所述建立相應(yīng)GRE隧道表項同時,該方法進(jìn)一步包括啟動定時器,記錄所述GRE 隧道表項建立時間;當(dāng)所述定時器超時時,中心設(shè)備構(gòu)造發(fā)往相應(yīng)隧道表項的分支網(wǎng)絡(luò)設(shè)備的GRE報文,所述GRE報文攜帶分支網(wǎng)絡(luò)掩碼信息為0. 0. 0. 0,并將GRE報頭中開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;所述分支網(wǎng)絡(luò)設(shè)備收到所述中心設(shè)備發(fā)來的GRE報文,將分支子網(wǎng)掩碼信息相應(yīng)的隧道標(biāo)志位標(biāo)識為隧道表項未建立。所述GRE報文攜帶的分支子網(wǎng)掩碼信息為多個;所述GRE報文還攜帶多個分支子網(wǎng)地址,每個分支子網(wǎng)地址與所述多個分支子網(wǎng)掩碼信息一一對應(yīng);所述分支子網(wǎng)掩碼信息由所述分支網(wǎng)絡(luò)設(shè)備從本地的路由表中獲得;所述建立相應(yīng)GRE隧道表項時,該方法進(jìn)一步包括將所述多個分支子網(wǎng)地址存儲到所述相應(yīng)GRE隧道表項中。本發(fā)明的另一個主要目的是提供一種基于GRE隧道的報文轉(zhuǎn)發(fā)的系統(tǒng),提高中心設(shè)備的報文轉(zhuǎn)發(fā)效率。該系統(tǒng)包括中心設(shè)備和分支網(wǎng)絡(luò)設(shè)備;所述分支網(wǎng)絡(luò)設(shè)備,與所述中心設(shè)備相連,用于向所述中心設(shè)備發(fā)送報文時,判斷相應(yīng)的隧道標(biāo)志位表示未建立隧道表項時,在要發(fā)送的GRE報文中攜帶相應(yīng)分支子網(wǎng)掩碼信息,并將GRE報頭中用于表示是否攜帶分支子網(wǎng)掩碼信息的開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息,向所述中心設(shè)備發(fā)送攜帶分支子網(wǎng)掩碼信息和所述開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息的GRE報文;所述中心設(shè)備,用于收到所述分支網(wǎng)絡(luò)設(shè)備發(fā)來的GRE報文,判斷所述GRE報文的 GRE報頭中的開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,獲取分支子網(wǎng)掩碼信息,根據(jù)所述分支子網(wǎng)掩碼信息,建立相應(yīng)GRE隧道表項;當(dāng)收到要發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備的報文時, 根據(jù)所述GRE隧道表項封裝要發(fā)送的報文,并轉(zhuǎn)發(fā)給所述分支網(wǎng)絡(luò)設(shè)備。其中,所述中心設(shè)備建立相應(yīng)GRE隧道表項之后,進(jìn)一步用于,向所述分支網(wǎng)絡(luò)設(shè)備發(fā)送相應(yīng)分支子網(wǎng)掩碼信息的GRE報文中攜帶所述分支子網(wǎng)掩碼信息,并將GRE報頭中所述開關(guān)字段設(shè)置為表示攜帶相應(yīng)分支子網(wǎng)掩碼信息;所述分支網(wǎng)絡(luò)設(shè)備,進(jìn)一步用于收到所述中心設(shè)備發(fā)來的GRE報文,判斷所述GRE 報文中所述開關(guān)字段表示為攜帶相應(yīng)分支子網(wǎng)掩碼信息時,且攜帶相應(yīng)的分支子網(wǎng)掩碼信息時,將所述分支子網(wǎng)掩碼信息相應(yīng)隧道標(biāo)志位設(shè)置為隧道表項已建立。所述中心設(shè)備建立相應(yīng)GRE隧道表項同時,進(jìn)一步用于啟動定時器,記錄所述GRE 隧道表項建立時間;當(dāng)所述定時器超時時,構(gòu)造發(fā)往相應(yīng)隧道表項的分支網(wǎng)絡(luò)設(shè)備的GRE 報文,所述GRE報文攜帶分支網(wǎng)絡(luò)掩碼信息為0. 0. 0. 0,并將GRE報頭中開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;所述分支網(wǎng)絡(luò)設(shè)備進(jìn)一步用于收到所述中心設(shè)備發(fā)來的GRE報文,將分支子網(wǎng)掩碼信息相應(yīng)的隧道標(biāo)志位標(biāo)識為隧道表項未建立。本發(fā)明的另一個主要目的是提供一種基于GRE隧道的報文轉(zhuǎn)發(fā)的中心設(shè)備,提高中心設(shè)備的報文轉(zhuǎn)發(fā)效率。該中心設(shè)備包括報文接收模塊、判斷模塊、表項建立模塊、存儲模塊、封裝模塊和報文發(fā)送模塊;所述報文接收模塊,與所述判斷模塊相連,用于接收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的GRE 報文,并轉(zhuǎn)發(fā)給所述判斷模塊;所述判斷模塊收到所述接收模塊發(fā)來的GRE報文,判斷GRE報頭中表示是否攜帶分支子網(wǎng)掩碼信息的開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,獲取分支子網(wǎng)掩碼信息, 并將所述分支子網(wǎng)掩碼信息發(fā)送給所述表項建立模塊;所述表項建立模塊,與所述表項存儲模塊相連,用于收到所述判斷模塊發(fā)來的分支子網(wǎng)掩碼信息,根據(jù)所述分支子網(wǎng)掩碼信息,建立相應(yīng)GRE隧道表項,并發(fā)送給所述存儲模塊;所述存儲模塊,用于接收所述表項建立模塊發(fā)來的GRE隧道表項,并存儲。其中,所述中心設(shè)備進(jìn)一步包括報文封裝模塊和報文發(fā)送模塊;所述報文接收模塊,進(jìn)一步與所述封裝模塊相連,用于接收其它設(shè)備要發(fā)往分支網(wǎng)絡(luò)設(shè)備的報文,將要發(fā)送的報文發(fā)送給所述封裝模塊;所述封裝模塊,與所述存儲模塊和所述報文發(fā)送模塊相連,用于接收所述報文接收模塊發(fā)來的報文,根據(jù)所述存儲模塊中的隧道表項封裝報文,并攜帶分支子網(wǎng)掩碼信息, 同時將將所述開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息,然后發(fā)送給所述報文發(fā)送模塊;所述報文發(fā)送模塊,用于接收所述封裝模塊發(fā)來的報文,并轉(zhuǎn)發(fā)給相應(yīng)分支網(wǎng)絡(luò)設(shè)備。所述中心設(shè)備進(jìn)一步包括定時器存儲模塊和構(gòu)建報文模塊;
所述定時器存儲模塊,與所述存儲模塊相連,當(dāng)所述存儲模塊存儲GRE隧道表項時,所述定時器模塊啟動,開始記錄所述GRE隧道表項建立時間;當(dāng)所述定時器模塊定時超時時,發(fā)送相應(yīng)GRE隧道表項定時超時消息給所述構(gòu)建報文模塊;所述構(gòu)建報文模塊,與所述定時器模塊和所述封裝模塊相連,用于收到所述定時器模塊發(fā)來的相應(yīng)GRE隧道表項定時超時消息,建立報文并攜帶分支子網(wǎng)掩碼信息為0. 0. 0. 0, 并將所述開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息,然后將發(fā)送給所述報文發(fā)送模塊;所述報文發(fā)送模塊,用于接收所述封裝模塊發(fā)來的報文,并轉(zhuǎn)發(fā)給相應(yīng)分支網(wǎng)絡(luò)設(shè)備。本發(fā)明的另一個主要目的是提供一種基于GRE隧道的報文轉(zhuǎn)發(fā)的分支網(wǎng)絡(luò)設(shè)備, 提高中心設(shè)備的報文轉(zhuǎn)發(fā)效率。該分支網(wǎng)絡(luò)設(shè)備包括封裝模塊、存儲模塊和報文發(fā)送模塊;所述存儲模塊用于存儲分支子網(wǎng)標(biāo)志位,所述標(biāo)志位用于標(biāo)識中心設(shè)備是否建立相應(yīng)GRE隧道表項;所述封裝模塊與所述存儲模塊和所述報文發(fā)送模塊相連,用于接收分支子網(wǎng)設(shè)備要發(fā)送中心設(shè)備的報文,查詢存儲模塊,當(dāng)相應(yīng)標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項未建立,則要發(fā)送的報文攜帶相應(yīng)分支子網(wǎng)掩碼信息,并將GRE報頭中表示是否攜帶分支子網(wǎng)掩碼信息的開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;否則將所述開關(guān)字段設(shè)置為0,然后將GRE報文發(fā)送給所述報文發(fā)送模塊;所述報文發(fā)送模塊,用于接收所述封裝模塊發(fā)來的報文,并轉(zhuǎn)發(fā)給中心設(shè)備。其中,所述分支網(wǎng)絡(luò)設(shè)備進(jìn)一步包括報文接收模塊和判斷模塊;所述報文接收模塊,與所述判斷模塊相連,接收中心設(shè)備發(fā)來的GRE報文,并將所述GRE報文發(fā)送給所述判斷模塊;所述判斷模塊,與所述存儲模塊相連,所述判斷模塊接收到所述報文接收模塊發(fā)來的GRE報文,當(dāng)所述開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,獲取分支子網(wǎng)掩碼信息, 判斷所述掩碼信息為0. 0. 0. 0時,發(fā)送所述存儲模塊將相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項未建立;判斷分支子網(wǎng)掩碼信息為0. 0. 0. 0之外的信息時,發(fā)送所述存儲模塊將相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項已建立;所述存儲模塊,收到所述判斷模塊發(fā)來的相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項未建立的消息時,將相應(yīng)GRE隧道標(biāo)志位標(biāo)識為GRE隧道表項未建立;收到所述判斷模塊發(fā)來的相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項已建立的消息時,將相應(yīng)GRE隧道標(biāo)志位標(biāo)識為GRE隧道表項已建立。綜上所述,本發(fā)明通過中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的攜帶實際的分支子網(wǎng)掩碼信息的GRE報文,根據(jù)所述的分支子網(wǎng)掩碼信息建立相應(yīng)的隧道表項,當(dāng)要發(fā)送報文時, 查找該GRE表項封裝報文并轉(zhuǎn)發(fā)。由于該表項是根據(jù)實際分支子網(wǎng)掩碼信息建立的,因此 GRE隧道表項條目不多不少,不會引起條目不唯一,或條目過多不好查找的缺陷,因此本發(fā)明能夠提高中心設(shè)備的報文轉(zhuǎn)發(fā)效率。


圖1為點到多點GRE隧道應(yīng)用組網(wǎng)示意圖2為本發(fā)明GRE隧道表項建立過程流程圖;圖3為本發(fā)明實施例IGRE報頭結(jié)構(gòu)示意圖;圖4為本發(fā)明GRE點到多點應(yīng)用結(jié)構(gòu)圖;圖5為本發(fā)明實施例IGRE隧道表項建立過程流程圖;圖6為本發(fā)明報文轉(zhuǎn)發(fā)的系統(tǒng)結(jié)構(gòu)圖;圖7為本發(fā)明報文轉(zhuǎn)發(fā)的中心設(shè)備結(jié)構(gòu)圖;圖8為本發(fā)明報文轉(zhuǎn)發(fā)的分支網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。本發(fā)明提出的基于GRE隧道的報文轉(zhuǎn)發(fā)的方法應(yīng)用于GRE點到多點組網(wǎng)系統(tǒng)中, 所述組網(wǎng)系統(tǒng)包括一個中心設(shè)備,多個分支網(wǎng)絡(luò)設(shè)備,每個分支網(wǎng)絡(luò)設(shè)備與多個分支子網(wǎng)相連,下面詳細(xì)說明本發(fā)明基于GRE隧道的報文轉(zhuǎn)發(fā)方法。參見圖2,圖2為本發(fā)明基于GRE隧道的報文轉(zhuǎn)發(fā)流程圖。具體步驟為步驟201,中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的攜帶至少一個分支子網(wǎng)掩碼信息的 GRE報文,根據(jù)分支子網(wǎng)掩碼信息建立相應(yīng)GRE隧道表項;GRE報文攜帶的分支子網(wǎng)掩碼信息由分支網(wǎng)絡(luò)設(shè)備從本地的路由表中獲得。步驟202,當(dāng)中心設(shè)備收到要發(fā)送給分支網(wǎng)絡(luò)設(shè)備的報文時,中心設(shè)備根據(jù)所述 GRE隧道表項封裝要發(fā)送的報文,并將封裝后的GRE報文轉(zhuǎn)發(fā)送給分支網(wǎng)絡(luò)設(shè)備。中心設(shè)備向分支網(wǎng)絡(luò)發(fā)送流量時,中心設(shè)備查找本地路由表,選擇合適的隧道出口,確定隧道出口后,中心設(shè)備查找隧道出口的GRE隧道表項,。如果沒有匹配的隧道表項, 流量將被丟棄;如果匹配上隧道表項,則根據(jù)該表項封裝報文并轉(zhuǎn)送。GRE隧道表項建立后,查找封裝過程同現(xiàn)有實現(xiàn)一致,因此,下面通過具體舉例來詳細(xì)說明本發(fā)明建立隧道表項的過程。實施例1首先來詳細(xì)介紹本發(fā)明改進(jìn)的GRE報頭,參見圖3,圖3為本發(fā)明實施例IGRE報頭結(jié)構(gòu)示意圖。在圖3中,C、R、K、S、s為GRE報文頭部的最前5位,是一些標(biāo)志位,其含義如表1所示。Recur, bits 5-7,Recur域是記錄允許的封裝次數(shù)的計數(shù)器。其中,GRE提供了一種特定的機制來防止遞歸封裝,如果路由器想對經(jīng)過GRE封裝的數(shù)據(jù)報文作進(jìn)一步封裝, 應(yīng)在封裝前檢查這個域。如果Recur域為非0,則數(shù)據(jù)報文還可以進(jìn)行封裝,新的GRE報頭中的Recur域取值將減1 ;否則,如果Recur域的值已經(jīng)是0 了,則該數(shù)據(jù)報文不可以再進(jìn)行封裝。Flags, bits 8-12,暫沒有定義,保留。Ver,bitsl3_15,版本號。Protocol Type, bits, Protocol Type 指出 GRE 報文凈荷的協(xié)議類型,IP 是0x0800, Novell IPX 是 0x81370。Offset, 2byte, Offset域指出Routing域到凈荷的字節(jié)偏移。
Checksum, 2byte, Checksum 包括 GRE 頭部和凈荷的 IP 校驗和,當(dāng) Checksum Present位為1時,Checksum域有效。Key,4byte, Key域用來標(biāo)識隧道內(nèi)部單個的業(yè)務(wù)流,屬于同一個業(yè)務(wù)流的數(shù)據(jù)報文使用同一個Key值來封裝,隧道的拆封點根據(jù)Key域的值識別屬于某個業(yè)務(wù)流的數(shù)據(jù)報文,當(dāng)Key Present位為1時,Key域有效。Sequence Number, 4byte, Sequence Number 域用來維持 GRE 隧道內(nèi)數(shù)據(jù)報文的順序,當(dāng) Sequence Number Present 位為 1 時,Sequence Number 域有效。Routing, 4byte, Routing : ! 白勺,^ Routing Present 位為 1 B^, Routing : 有效。Payload,凈荷,GRE所封裝的協(xié)議報文。
權(quán)利要求
1.一種基于通用路由封裝GRE隧道的報文轉(zhuǎn)發(fā)的方法,該方法應(yīng)用于GRE點到多點組網(wǎng)系統(tǒng)中,所述組網(wǎng)系統(tǒng)包括一個中心設(shè)備,多個分支網(wǎng)絡(luò)設(shè)備,每個分支網(wǎng)絡(luò)設(shè)備與多個分支子網(wǎng)相連,其特征在于,中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的攜帶至少一個分支子網(wǎng)掩碼信息的GRE報文,根據(jù)所述分支子網(wǎng)掩碼信息建立相應(yīng)GRE隧道表項;所述GRE報文攜帶的分支子網(wǎng)掩碼信息由分支網(wǎng)絡(luò)設(shè)備從本地的路由表中獲得;當(dāng)所述中心設(shè)備收到要發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備的報文時,所述中心設(shè)備根據(jù)所述 GRE隧道表項封裝要發(fā)送的報文,并將封裝后的GRE報文轉(zhuǎn)發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備。
2.如權(quán)利要求1所述的方法,其特征在于,所述GRE報文還攜帶有IP地址,所述建立相應(yīng)GRE隧道表項時,該方法進(jìn)一步包括中心設(shè)備通過所述分支子網(wǎng)掩碼信息以及GRE報文攜帶的IP地址獲得分支子網(wǎng)地址;將所述分支子網(wǎng)地址存儲到所述GRE隧道表項中。
3.如權(quán)利要求2所述的方法,其特征在于,所述分支子網(wǎng)掩碼信息是攜帶在GRE報頭中的;所述GRE報頭還包括一個開關(guān)字段;所述開關(guān)字段占用所述GRE報頭的預(yù)留字段,用于表示是否攜帶分支子網(wǎng)掩碼信息。
4.如權(quán)利要求3所述的方法,其特征在于,所述中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的攜帶至少一個分支子網(wǎng)掩碼信息的GRE報文與所述建立相應(yīng)GRE隧道表項之間,該方法進(jìn)一步包括判斷GRE報頭中所述開關(guān)字段是否表示攜帶分支子網(wǎng)掩碼信息,如果是,則繼續(xù)執(zhí)行所述建立相應(yīng)GRE隧道表項的步驟。
5.如權(quán)利要求3或4所述的方法,其特征在于,所述中心設(shè)備根據(jù)所述GRE隧道表項封裝要發(fā)送的報文時,該方法進(jìn)一步包括在GRE報文中攜帶所述分支子網(wǎng)掩碼信息,并將GRE報頭中開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;所述將封裝后的GRE報文轉(zhuǎn)發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備之后該方法進(jìn)一步包括所述分支網(wǎng)絡(luò)設(shè)備收到中心設(shè)備發(fā)來的GRE報文,判斷GRE報頭中開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,將相應(yīng)分支子網(wǎng)掩碼信息的隧道標(biāo)志位標(biāo)識為隧道表項已建立。
6.如權(quán)利要求3或4所述的方法,其特征在于,所述中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的GRE報文之前該方法進(jìn)一步包括分支網(wǎng)絡(luò)設(shè)備向中心設(shè)備發(fā)送報文前判斷相應(yīng)的隧道標(biāo)志位是否標(biāo)識為隧道表項已建立,如果是,將開關(guān)字段設(shè)置為未攜帶分支子網(wǎng)掩碼信息; 否則,向中心設(shè)備發(fā)送的GRE報文攜帶相應(yīng)分支子網(wǎng)掩碼信息,并將開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息。
7.如權(quán)利要求3或4所述的方法,其特征在于,所述建立相應(yīng)GRE隧道表項同時,該方法進(jìn)一步包括啟動定時器,記錄所述GRE隧道表項建立時間;當(dāng)所述定時器超時時,中心設(shè)備構(gòu)造發(fā)往相應(yīng)隧道表項的分支網(wǎng)絡(luò)設(shè)備的GRE報文, 所述GRE報文攜帶分支網(wǎng)絡(luò)掩碼信息為0. 0. 0. 0,并將GRE報頭中開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;所述分支網(wǎng)絡(luò)設(shè)備收到所述中心設(shè)備發(fā)來的GRE報文,將分支子網(wǎng)掩碼信息相應(yīng)的隧道標(biāo)志位標(biāo)識為隧道表項未建立。
8.如權(quán)利要求1所述的方法,其特征在于,所述GRE報文攜帶的分支子網(wǎng)掩碼信息為多個;所述GRE報文還攜帶多個分支子網(wǎng)地址,每個分支子網(wǎng)地址與所述多個分支子網(wǎng)掩碼信息一一對應(yīng);所述分支子網(wǎng)掩碼信息由所述分支網(wǎng)絡(luò)設(shè)備從本地的路由表中獲得;所述建立相應(yīng)GRE隧道表項時,該方法進(jìn)一步包括將所述多個分支子網(wǎng)地址存儲到所述相應(yīng)GRE隧道表項中。
9.一種基于通用路由封裝GRE隧道的報文轉(zhuǎn)發(fā)的系統(tǒng),其特征在于,所述系統(tǒng)包括中心設(shè)備和分支網(wǎng)絡(luò)設(shè)備;所述分支網(wǎng)絡(luò)設(shè)備,與所述中心設(shè)備相連,用于向所述中心設(shè)備發(fā)送報文時,判斷相應(yīng)的隧道標(biāo)志位表示未建立隧道表項時,在要發(fā)送的GRE報文中攜帶相應(yīng)分支子網(wǎng)掩碼信息,并將GRE報頭中用于表示是否攜帶分支子網(wǎng)掩碼信息的開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息,向所述中心設(shè)備發(fā)送攜帶分支子網(wǎng)掩碼信息和所述開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息的GRE報文;所述中心設(shè)備,用于收到所述分支網(wǎng)絡(luò)設(shè)備發(fā)來的GRE報文,判斷所述GRE報文的GRE 報頭中的開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,獲取分支子網(wǎng)掩碼信息,根據(jù)所述分支子網(wǎng)掩碼信息,建立相應(yīng)GRE隧道表項;當(dāng)收到要發(fā)送給所述分支網(wǎng)絡(luò)設(shè)備的報文時,根據(jù)所述GRE隧道表項封裝要發(fā)送的報文,并轉(zhuǎn)發(fā)給所述分支網(wǎng)絡(luò)設(shè)備。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述中心設(shè)備建立相應(yīng)GRE隧道表項之后,進(jìn)一步用于,向所述分支網(wǎng)絡(luò)設(shè)備發(fā)送相應(yīng)分支子網(wǎng)掩碼信息的GRE報文中攜帶所述分支子網(wǎng)掩碼信息,并將GRE報頭中所述開關(guān)字段設(shè)置為表示攜帶相應(yīng)分支子網(wǎng)掩碼信息;所述分支網(wǎng)絡(luò)設(shè)備,進(jìn)一步用于收到所述中心設(shè)備發(fā)來的GRE報文,判斷所述GRE報文中所述開關(guān)字段表示為攜帶相應(yīng)分支子網(wǎng)掩碼信息時,且攜帶相應(yīng)的分支子網(wǎng)掩碼信息時,將所述分支子網(wǎng)掩碼信息相應(yīng)隧道標(biāo)志位設(shè)置為隧道表項已建立。
11.如權(quán)利要求9或10所述的系統(tǒng),其特征在于,所述中心設(shè)備建立相應(yīng)GRE隧道表項同時,進(jìn)一步用于啟動定時器,記錄所述GRE隧道表項建立時間;當(dāng)所述定時器超時時,構(gòu)造發(fā)往相應(yīng)隧道表項的分支網(wǎng)絡(luò)設(shè)備的GRE報文, 所述GRE報文攜帶分支網(wǎng)絡(luò)掩碼信息為0. 0. 0. 0,并將GRE報頭中開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;所述分支網(wǎng)絡(luò)設(shè)備進(jìn)一步用于收到所述中心設(shè)備發(fā)來的GRE報文,將分支子網(wǎng)掩碼信息相應(yīng)的隧道標(biāo)志位標(biāo)識為隧道表項未建立。
12.一種基于通用路由封裝GRE隧道的報文轉(zhuǎn)發(fā)的中心設(shè)備,其特征在于,所述中心設(shè)備包括報文接收模塊、判斷模塊、表項建立模塊、存儲模塊、封裝模塊和報文發(fā)送模塊;所述報文接收模塊,與所述判斷模塊相連,用于接收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的GRE報文, 并轉(zhuǎn)發(fā)給所述判斷模塊;所述判斷模塊收到所述接收模塊發(fā)來的GRE報文,判斷GRE報頭中表示是否攜帶分支子網(wǎng)掩碼信息的開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,獲取分支子網(wǎng)掩碼信息,并將所述分支子網(wǎng)掩碼信息發(fā)送給所述表項建立模塊;所述表項建立模塊,與所述表項存儲模塊相連,用于收到所述判斷模塊發(fā)來的分支子網(wǎng)掩碼信息,根據(jù)所述分支子網(wǎng)掩碼信息,建立相應(yīng)GRE隧道表項,并發(fā)送給所述存儲模塊;所述存儲模塊,用于接收所述表項建立模塊發(fā)來的GRE隧道表項,并存儲。
13.如權(quán)利要求12所述的中心設(shè)備,其特征在于,所述中心設(shè)備進(jìn)一步包括報文封裝模塊和報文發(fā)送模塊;所述報文接收模塊,進(jìn)一步與所述封裝模塊相連,用于接收其它設(shè)備要發(fā)往分支網(wǎng)絡(luò)設(shè)備的報文,將要發(fā)送的報文發(fā)送給所述封裝模塊;所述封裝模塊,與所述存儲模塊和所述報文發(fā)送模塊相連,用于接收所述報文接收模塊發(fā)來的報文,根據(jù)所述存儲模塊中的隧道表項封裝報文,并攜帶分支子網(wǎng)掩碼信息,同時將將所述開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息,然后發(fā)送給所述報文發(fā)送模塊;所述報文發(fā)送模塊,用于接收所述封裝模塊發(fā)來的報文,并轉(zhuǎn)發(fā)給相應(yīng)分支網(wǎng)絡(luò)設(shè)備。
14.如權(quán)利要求13所述的中心設(shè)備,其特征在于,所述中心設(shè)備進(jìn)一步包括定時器存儲模塊和構(gòu)建報文模塊;所述定時器存儲模塊,與所述存儲模塊相連,當(dāng)所述存儲模塊存儲GRE隧道表項時,所述定時器模塊啟動,開始記錄所述GRE隧道表項建立時間;當(dāng)所述定時器模塊定時超時時, 發(fā)送相應(yīng)GRE隧道表項定時超時消息給所述構(gòu)建報文模塊;所述構(gòu)建報文模塊,與所述定時器模塊和所述封裝模塊相連,用于收到所述定時器模塊發(fā)來的相應(yīng)GRE隧道表項定時超時消息,建立報文并攜帶分支子網(wǎng)掩碼信息為0. 0. 0. 0, 并將所述開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息,然后將發(fā)送給所述報文發(fā)送模塊; 所述報文發(fā)送模塊,用于接收所述封裝模塊發(fā)來的報文,并轉(zhuǎn)發(fā)給相應(yīng)分支網(wǎng)絡(luò)設(shè)備。
15.一種基于通用路由封裝GRE隧道的報文轉(zhuǎn)發(fā)的分支網(wǎng)絡(luò)設(shè)備,其特征在于,所述分支網(wǎng)絡(luò)設(shè)備包括封裝模塊、存儲模塊和報文發(fā)送模塊;所述存儲模塊用于存儲分支子網(wǎng)標(biāo)志位,所述標(biāo)志位用于標(biāo)識中心設(shè)備是否建立相應(yīng) GRE隧道表項;所述封裝模塊與所述存儲模塊和所述報文發(fā)送模塊相連,用于接收分支子網(wǎng)設(shè)備要發(fā)送中心設(shè)備的報文,查詢存儲模塊,當(dāng)相應(yīng)標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項未建立,則要發(fā)送的報文攜帶相應(yīng)分支子網(wǎng)掩碼信息,并將GRE報頭中表示是否攜帶分支子網(wǎng)掩碼信息的開關(guān)字段設(shè)置為攜帶分支子網(wǎng)掩碼信息;否則將所述開關(guān)字段設(shè)置為0,然后將GRE報文發(fā)送給所述報文發(fā)送模塊;所述報文發(fā)送模塊,用于接收所述封裝模塊發(fā)來的報文,并轉(zhuǎn)發(fā)給中心設(shè)備。
16.如權(quán)利要求15所述的分支網(wǎng)絡(luò)設(shè)備,其特征在于,所述分支網(wǎng)絡(luò)設(shè)備進(jìn)一步包括 報文接收模塊和判斷模塊;所述報文接收模塊,與所述判斷模塊相連,接收中心設(shè)備發(fā)來的GRE報文,并將所述 GRE報文發(fā)送給所述判斷模塊;所述判斷模塊,與所述存儲模塊相連,所述判斷模塊接收到所述報文接收模塊發(fā)來的 GRE報文,當(dāng)所述開關(guān)字段表示為攜帶分支子網(wǎng)掩碼信息時,獲取分支子網(wǎng)掩碼信息,判斷所述掩碼信息為0. 0. 0. 0時,發(fā)送所述存儲模塊將相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項未建立;判斷分支子網(wǎng)掩碼信息為0. 0. 0. 0之外的信息時,發(fā)送所述存儲模塊將相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項已建立;所述存儲模塊,收到所述判斷模塊發(fā)來的相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項未建立的消息時,將相應(yīng)GRE隧道標(biāo)志位標(biāo)識為GRE隧道表項未建立;收到所述判斷模塊發(fā)來的相應(yīng)隧道標(biāo)志位標(biāo)識為相應(yīng)GRE隧道表項已建立的消息時,將相應(yīng)GRE隧道標(biāo)志位標(biāo)識為GRE隧道表項已建立。
全文摘要
本發(fā)明提供一種基于通用路由封裝(GRE)隧道的報文轉(zhuǎn)發(fā)的方法,該方法包括中心設(shè)備收到分支網(wǎng)絡(luò)設(shè)備發(fā)來的攜帶至少一個分支子網(wǎng)掩碼信息的GRE報文,根據(jù)分支子網(wǎng)掩碼信息建立相應(yīng)GRE隧道表項;GRE報文攜帶的分支子網(wǎng)掩碼信息由分支網(wǎng)絡(luò)設(shè)備從本地的路由表中獲得;當(dāng)中心設(shè)備收到要發(fā)送給分支網(wǎng)絡(luò)設(shè)備的報文時,中心設(shè)備根據(jù)所述GRE隧道表項封裝要發(fā)送的報文,并轉(zhuǎn)發(fā)?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明還提出一種系統(tǒng)及設(shè)備,提高中心設(shè)備的轉(zhuǎn)發(fā)效率。
文檔編號H04L12/56GK102164090SQ20111012449
公開日2011年8月24日 申請日期2011年5月13日 優(yōu)先權(quán)日2011年5月13日
發(fā)明者徐慶偉, 曾劼, 李 杰, 王佩龍, 袁亞屏 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新野县| 阜阳市| 基隆市| 闽侯县| 连平县| 湖南省| 泰州市| 南皮县| 扎囊县| 义马市| 茌平县| 平顺县| 基隆市| 北辰区| 平定县| 陕西省| 鹤庆县| 临夏县| 府谷县| 梁平县| 微山县| 上思县| 化德县| 泽州县| 九台市| 襄樊市| 深水埗区| 内丘县| 冀州市| 龙游县| 盐城市| 永仁县| 甘洛县| 东辽县| 恩平市| 沂源县| 随州市| 张家界市| 石河子市| 云龙县| 铜川市|