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

檢測路徑最大傳輸單元的方法和系統(tǒng)的制作方法

文檔序號:7972300閱讀:408來源:國知局
專利名稱:檢測路徑最大傳輸單元的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通訊技術(shù)領(lǐng)域,特別涉及一種檢測路徑最大傳輸單元的方法和系統(tǒng)。
背景技術(shù)
VPN(Virtual Private Network,虛擬專用網(wǎng)絡)的基本原理是利用隧道技術(shù),把VPN報文封裝在隧道中,利用VPN骨干網(wǎng)建立專用數(shù)據(jù)傳輸通道,實現(xiàn)私網(wǎng)報文在公網(wǎng)上的透明傳輸。VPN具有良好的擴展能力和QOS(Quality Of Service,服務質(zhì)量)特性,正逐漸得到廣泛的應用,GRE(Generic Routing Encapsulation,通用路由封裝)、L2TP(Layer 2TunnelingProtocol,二層隧道協(xié)議)、IPSec(Internet Protocol Security,互聯(lián)網(wǎng)加密協(xié)議)是三種重要的隧道特性。
IP報文在網(wǎng)絡中傳輸時,網(wǎng)絡設備對IP報文的長度都有一個最大的限制,該最大長度就稱為網(wǎng)絡設備的MTU(Maximum Transmission Unit,最大傳輸單元)。在IPv4網(wǎng)絡中,當IP報文長度超過網(wǎng)絡設備的MTU值(如路由器的某個出接口鏈路的MTU值)時,就需要對IP報文進行分片再轉(zhuǎn)發(fā),即將IP報文分成若干片,使得每一片的長度都小于該路由器的出接口鏈路的MTU值。當一條鏈路中的各個網(wǎng)絡設備的MTU值不相同時,鏈路上最小的MTU值將決定IP報文是否在路由器轉(zhuǎn)發(fā)時被分片,該最小MTU被稱為路徑MTU(Path MTU),即構(gòu)成源到目的之間路徑的各段鏈路的MTU的最小值。
現(xiàn)有技術(shù)中一種檢測路徑MTU的方法原理如下參見圖1,路由器A首先向路由器D發(fā)送IP報文,在IP報文頭中將標志位DF(Don’t Fragment,禁止分片)置為1,則路由器在轉(zhuǎn)發(fā)IP報文時,無論IP報文長度是否超過了路由器的出接口鏈路的MTU值都禁止對IP報文分片。如果中途某個路由器的出接口鏈路的MTU值小于IP報文長度,則該路由器會返回一個ICMP(Internet Control Message Protocol,互聯(lián)網(wǎng)控制消息協(xié)議)不可達差錯報文給路由器A,且在ICMP不可達差錯報文中復用了第二個長字的低16位,用來表示該路由器的出接口鏈路的MTU值,如表1所示

表1路由器A收到ICMP不可達差錯報文后,調(diào)整發(fā)送報文的長度后重新發(fā)送。經(jīng)過不斷的調(diào)整,當發(fā)送的報文長度等于路徑MTU時,將不再返回ICMP不可達差錯報文。通過上述方法,路由器A就能得到由路由器A到路由器D的路徑MTU值。例如假設路由器A的出接口鏈路的MTU值是1500,路由器B的出接口鏈路的MTU值是1000,路由器C的出接口鏈路的MTU值是1500,路由器A會先發(fā)送一個長度為1500的IP報文給路由器B,根據(jù)路由器B返回的ICMP不可達差錯報文路由器A將IP報文的長度調(diào)整為1000,IP報文順利到達路由器D,則由路由器A到路由器D的路徑MTU為1000。
上述現(xiàn)有技術(shù)的缺點是1、在VPN網(wǎng)絡中無法準確地檢測出路徑MTU值。
參見圖2,R1和R4是私有網(wǎng)絡的路由器,它們屬于同一個VPN,通過在公網(wǎng)的路由器R2和R3之間建立的GRE隧道實現(xiàn)互訪。如果采用上面的方法,路由器R1發(fā)出的IP報文在路由器R2上會進入公網(wǎng)透明傳輸,即路由器R2不會對私網(wǎng)報文進行處理,而是把私網(wǎng)報文當作負載直接傳輸?shù)綄Χ说穆酚善鱎3,因此無法正確檢測出路由器R2和R3之間的公網(wǎng)的路徑MTU值。例如假設路由器R1的出接口鏈路的MTU值是1500,路由器R2和R3之間的路徑MTU值是1000,路由器R3的出接口鏈路的MTU值是1500,則采用上述方法實際檢測出的路徑MTU值將會是1500。
2、有可能出現(xiàn)報文分片的情況,報文分片會降低公網(wǎng)上傳輸時的性能,當流量較大時,會給核心路由器帶來較大的額外負擔,嚴重占用網(wǎng)絡資源。
參見圖2和圖3,IP報文在從路由器R2進入GRE隧道以及從路由器R3出GRE隧道時封裝格式會發(fā)生變化。在IP報文進入GRE隧道時,需要在原IP報文頭部添加新的GRE封裝頭和公網(wǎng)IP頭,這樣IP報文的長度就變?yōu)樵瓐笪拈L度與EL(Encapsulation Length,封裝頭的長度)之和。當添加封裝頭之后新報文的長度超出公網(wǎng)路徑MTU值時,公網(wǎng)內(nèi)的路由器就會對報文進行分片處理。
目前的分片處理方式有兩種第一種是首先對私網(wǎng)報文進行分片,然后再給每一片重新打上新的外層封裝(包括公網(wǎng)IP頭和GRE頭)。分片后的每片報文在到達路由器R3時,路由器R3可以直接進行解封裝后進行IP轉(zhuǎn)發(fā),但是仍然不能保證打上封裝后的分片報文不被中間路由器再次分片,一旦再次分片路由器R3就需要對報文進行重組。第二種是首先對私網(wǎng)報文打上新的外層封裝(包括公網(wǎng)IP頭和GRE頭),然后對封裝后的報文進行分片。分片報文在到達路由器R3時,由于除第一片報文外其它報文中不含有公網(wǎng)IP頭、GRE頭和私網(wǎng)IP頭,路由器R3無法直接解封裝處理,它需要緩存第一片報文等待其它分片報文的到來,收到所有分片報文后將它們重組成一個報文后進行解封裝后轉(zhuǎn)發(fā)。這種方式報文重組時,轉(zhuǎn)發(fā)性能將會非常低,并且重組后的報文順序無法恢復為報文的正常發(fā)送順序,無法滿足對報文順序有嚴格要求的應用場合,另外路由器需要緩存先到達的分片報文,占用路由器資源。
如果路由器R2和R3之間建立的隧道是L2TP隧道或IPSec隧道時,同樣存在上述缺點。

發(fā)明內(nèi)容
為了解決在VPN網(wǎng)絡中無法準確地檢測出路徑MTU值以及報文分片降低轉(zhuǎn)發(fā)性能、占用網(wǎng)絡資源的問題,本發(fā)明提供了一種檢測路徑最大傳輸單元的方法,具體包括以下步驟步驟A公網(wǎng)邊緣路由器檢測出所述公網(wǎng)的路徑最大傳輸單元值,并根據(jù)公網(wǎng)隧道的配置計算出報文進入所述公網(wǎng)隧道需要添加的封裝頭長度;步驟B所述公網(wǎng)邊緣路由器設置所述公網(wǎng)隧道的最大傳輸單元值為不高于所述公網(wǎng)的路徑最大傳輸單元值減去所述封裝頭長度后的差值,并將所述公網(wǎng)隧道的最大傳輸單元值發(fā)送給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器;步驟C所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器比較自己出接口鏈路的最大傳輸單元值和收到的所述公網(wǎng)隧道的最大傳輸單元值,取二者中最小值作為自己出接口鏈路的最大傳輸單元值;步驟D私網(wǎng)中的路由器根據(jù)各自的出接口鏈路的最大傳輸單元值獲得相應路徑最大傳輸單元值。
所述步驟B中將所述公網(wǎng)隧道的最大傳輸單元值發(fā)送給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器的步驟具體為所述公網(wǎng)邊緣路由器發(fā)送攜帶所述公網(wǎng)隧道的最大傳輸單元值的互聯(lián)網(wǎng)控制消息協(xié)議不可達差錯報文給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器。
所述步驟B中將所述公網(wǎng)隧道的最大傳輸單元值發(fā)送給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器的步驟具體為
所述公網(wǎng)邊緣路由器發(fā)送攜帶所述公網(wǎng)隧道的最大傳輸單元值的IPv4協(xié)議報文給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器。
所述步驟D中在檢測路徑最大傳輸單元值的過程中,所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器收到私網(wǎng)中與自己直連的上游路由器發(fā)來的IP報文后,判斷所述IP報文的長度是否超出自己更新后的出接口鏈路的最大傳輸單元值,如果是,則將所述更新后的出接口鏈路的最大傳輸單元值傳遞給所述直連的上游路由器,否則將所述IP報文轉(zhuǎn)發(fā)給所述公網(wǎng)邊緣路由器。
所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器將所述更新后的出接口鏈路的最大傳輸單元值傳遞給所述直連的上游路由器的步驟具體為所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器發(fā)送攜帶所述更新后的出接口鏈路的最大傳輸單元值的互聯(lián)網(wǎng)控制消息協(xié)議不可達差錯報文或IPv4協(xié)議報文給所述直連的上游路由器。
所述公網(wǎng)隧道具體為通用路由封裝隧道、二層隧道協(xié)議隧道或互聯(lián)網(wǎng)加密協(xié)議隧道。
本發(fā)明還提供了一種檢測路徑最大傳輸單元的系統(tǒng),具體包括公網(wǎng)邊緣路由器和與其直連的私網(wǎng)路由器,所述公網(wǎng)邊緣路由器包括(1)檢測模塊,用于檢測出所述公網(wǎng)的路徑最大傳輸單元值;(2)計算模塊,用于根據(jù)公網(wǎng)隧道的配置計算出報文進入所述公網(wǎng)隧道需要添加的封裝頭長度,還用于設置所述公網(wǎng)隧道的最大傳輸單元值為不高于所述檢測模塊檢測出的公網(wǎng)路徑最大傳輸單元值減去所述封裝頭長度后的差值;(3)發(fā)送模塊,用于將所述計算模塊得出的公網(wǎng)隧道的最大傳輸單元值發(fā)送給所述私網(wǎng)路由器;所述私網(wǎng)路由器包括接收更新模塊,用于接收所述發(fā)送模塊發(fā)來的公網(wǎng)隧道的最大傳輸單元值,還用于比較自己出接口鏈路的最大傳輸單元值和收到的公網(wǎng)隧道的最大傳輸單元值,還用于取二者中最小值作為自己出接口鏈路的最大傳輸單元值。
所述發(fā)送模塊可以為不可達差錯報文發(fā)送模塊,用于發(fā)送攜帶所述公網(wǎng)隧道最大傳輸單元值的互聯(lián)網(wǎng)控制消息協(xié)議不可達差錯報文給所述私網(wǎng)路由器。
所述發(fā)送模塊還可以為
IPv4發(fā)送模塊,用于發(fā)送攜帶所述公網(wǎng)隧道最大傳輸單元值的IPv4協(xié)議報文給所述私網(wǎng)路由器。
所述私網(wǎng)路由器還包括檢測模塊,用于在檢測路徑最大傳輸單元值的過程中接收由上游路由器發(fā)來的IP報文,還用于比較所述IP報文的長度和所述接收更新模塊更新的出接口鏈路最大傳輸單元值,還用于根據(jù)比較結(jié)果轉(zhuǎn)發(fā)所述IP報文給所述公網(wǎng)邊緣路由器或返回所述接收更新模塊更新的出接口鏈路最大傳輸單元值給所述上游路由器。
本發(fā)明的有益效果是1、在VPN網(wǎng)絡中能夠準確地檢測出路徑MTU值;2、避免了報文在進入公網(wǎng)傳輸時被分片,從而提高了網(wǎng)絡轉(zhuǎn)發(fā)性能,并且避免了隧道末端路由器重組報文的情形。


圖1是現(xiàn)有技術(shù)一種檢測路徑MTU的方法原理圖;圖2是現(xiàn)有技術(shù)檢測路徑MTU的方法在VPN網(wǎng)絡中應用的示意圖;圖3是現(xiàn)有技術(shù)報文進出GRE隧道時封裝格式變化示意圖;圖4是本發(fā)明檢測路徑MTU的方法的一個實施例流程圖;圖5是本發(fā)明檢測路徑MTU的系統(tǒng)的一個實施例結(jié)構(gòu)圖。
具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為對本發(fā)明的限定。
在本發(fā)明中公網(wǎng)邊緣路由器首先檢測出公網(wǎng)的路徑MTU值,并根據(jù)公網(wǎng)隧道的配置計算出報文進入公網(wǎng)隧道需要添加的封裝頭長度EL,然后設置公網(wǎng)隧道MTU值為不高于公網(wǎng)路徑MTU值減去封裝頭長度EL后的差值,并發(fā)送給直連的私網(wǎng)路由器;直連的私網(wǎng)路由器比較自己出接口鏈路的MTU值和收到的公網(wǎng)隧道MTU值,取二者中最小值作為自己出接口鏈路的MTU值;私網(wǎng)中的路由器根據(jù)各自的出接口鏈路的MTU值獲得相應路徑MTU值。
結(jié)合圖2本實施例以公網(wǎng)中的路由器R2和R3之間建立GRE隧道為例進行說明,GRE封裝頭結(jié)構(gòu)如表2所示,GRE封裝頭中有四個選項,即C、R、K和S四個標志位,GRE封裝頭的長度會根據(jù)標志位的設置不同而不同。當C置1時表示GRE封裝頭中有Checksum和Offset域,長度為4個字節(jié);當R置1時表示GRE封裝頭中有Routing域,長度為4個字節(jié);當K置1時表示GRE封裝頭中有Key域,長度為4個字節(jié);當S置1時表示GRE封裝頭中有Sequence Number域,長度為4個字節(jié);如果所有選項都不支持即四個標志位全置為0時,GRE封裝頭的長度就僅有4個字節(jié)。

表2參見圖2和圖4,本發(fā)明提供了一種檢測路徑最大傳輸單元的方法,具體包括以下步驟步驟101公網(wǎng)邊緣路由器即路由器R2利用設置DF標志位及ICMP不可達差錯報文的方法檢測出路由器R2到R3之間公網(wǎng)的路徑MTU值并記為PMTU;步驟102路由器R2根據(jù)GRE隧道的配置計算出報文進入GRE隧道需要添加的EL;當GRE隧道不支持各種選項時,GRE封裝頭為四個字節(jié),公網(wǎng)IP頭長度為20字節(jié),這樣封裝頭長度最小值為ELmin=4+20=24字節(jié),所以初始化將EL設為24字節(jié),其它選項由路由器R2檢查當前隧道狀況后計算得出,由于當前路由器的實現(xiàn)不支持Routing選項,所以沒有配置Routing的情況,則在GRE隧道中的計算方法如下(1)初始化EL為24個字節(jié);(2)如果C置1即配置了Checksum域,則將EL加4個字節(jié);(3)如果K置1即配置了Key域,則將EL加4個字節(jié);(4)如果S置1即配置了Sequence Number域,則將EL加4個字節(jié);步驟103路由器R2設置隧道MTU值TMTU(Tunnle MTU)為小于或等于得到的路徑MTU值PMTU減去隧道封裝頭長度EL的差值,即TMTU≤PMTU-EL;步驟104路由器R2發(fā)送一個ICMP不可達差錯報文給私網(wǎng)中的與路由器R2直連的路由器R1,將TMTU作為R2到R3之間的路徑MTU值傳遞給路由器R1,參見表1,將ICMP不可達差錯報文中的第二個長字的低16位修改為TMTU值,則TMTU值隨同ICMP不可達差錯報文一起傳給路由器R1;路由器R1比較自己的出接口鏈路MTU值和收到的ICMP不可達差錯報文中的TMTU值,取二者中最小值作為自己的出接口鏈路MTU值,此時私網(wǎng)內(nèi)的路由器R1已經(jīng)得到了公網(wǎng)路徑MTU值并且將其更新到自己的出接口鏈路MTU值上,這里的公網(wǎng)路徑MTU值已經(jīng)是考慮了隧道封裝頭長度之后的路徑MTU值,能保證報文進入隧道時不被分片;只有當路徑MTU值被檢測出之后,GRE隧道狀態(tài)才變?yōu)檫B接狀態(tài);步驟105私網(wǎng)中的路由器根據(jù)各自的出接口鏈路的MTU值獲得相應路徑MTU值。
在隧道建立后,路由器R2定時檢測隧道MTU值以便及時感知公網(wǎng)上路徑MTU值變化的情況,實際使用中路徑MTU值不會頻繁變化,因此路由器R2不應過于頻繁發(fā)送報文來試探R2、R3之間路徑MTU值。
實際使用中,路由器R2上游節(jié)點可能比較多,但是R2只將隧道MTU值TMTU通告給與它直連的私網(wǎng)路由器R1,如果其它上游路由器Rx要通過公網(wǎng)隧道訪問,即路由器Rx和R1相連接,則路由器Rx在檢測鏈路MTU值時,路由器R2會將更新后的出接口鏈路的MTU值通過ICMP不可達差錯報文向前傳遞,從而保證了路由器Rx檢測出的路徑MTU值不會大于隧道的MTU值。
在以后的數(shù)據(jù)傳輸中,路由器R1轉(zhuǎn)發(fā)出的IP報文,能保證其IP報文長度不大于R2和R3之間隧道MTU值TMTU,這樣IP報文在從路由器R2進入隧道時,打上外層GRE封裝之后的報文長度仍然小于R2和R3之間的路徑MTU值,IP報文在路由器R2和R3之間的公網(wǎng)進行傳輸時不會再度分片,從而保證了公網(wǎng)傳輸效率。
本實施例中的GRE隧道也可以由L2TP隧道或IPSec隧道來替換,相應地步驟102中根據(jù)L2TP隧道或IPSec隧道的配置計算出的隧道封裝頭長度略有不同。
本實施例中通過改造ICMP不可達差錯報文的方法傳遞隧道MTU值,實際上也可以通過發(fā)送IPv4協(xié)議報文來傳遞隧道MTU值。
本實施例中得到的路徑MTU值為從路由器R2到路由器R3方向的,同理從路由器R3到路由器R2方向路徑MTU值由路由器R3負責檢測,并傳遞給路由器R4,路由器R4更新其出接口鏈路的MTU,即比較自己的出接口鏈路MTU值和收到的TMTU值,取二者中最小值做為自己的出接口鏈路MTU值。
本發(fā)明中公網(wǎng)邊緣路由器在以發(fā)送ICMP不可達差錯報文方式傳遞公網(wǎng)邊緣路由器更新后的出接口鏈路MTU值時,要求公網(wǎng)邊緣路由器支持擴展ICMP,相應地私網(wǎng)中與公網(wǎng)邊緣路由器直連的路由器也支持擴展ICMP;如果上游節(jié)點中還有需要檢測公網(wǎng)路徑MTU值的路由器,在以發(fā)送ICMP不可達差錯報文方式傳遞公網(wǎng)邊緣路由器更新后的出接口鏈路MTU值時,也需要該路由器支持擴展ICMP。
參見圖5,本發(fā)明還提供了一種檢測路徑最大傳輸單元的系統(tǒng),具體包括公網(wǎng)邊緣路由器和與其直連的私網(wǎng)路由器,公網(wǎng)邊緣路由器包括(1)檢測模塊,用于檢測出公網(wǎng)的路徑最大傳輸單元值;(2)計算模塊,用于根據(jù)公網(wǎng)隧道的配置計算出報文進入公網(wǎng)隧道需要添加的封裝頭長度,還用于設置公網(wǎng)隧道的最大傳輸單元值為不高于檢測模塊檢測出的公網(wǎng)路徑最大傳輸單元值減去封裝頭長度后的差值;(3)發(fā)送模塊,用于將計算模塊得出的公網(wǎng)隧道的最大傳輸單元值發(fā)送給所述私網(wǎng)路由器;私網(wǎng)路由器包括接收更新模塊,用于接收發(fā)送模塊發(fā)來的公網(wǎng)隧道的最大傳輸單元值,還用于比較自己出接口鏈路的最大傳輸單元值和收到的公網(wǎng)隧道的最大傳輸單元值,還用于取二者中最小值作為自己出接口鏈路的最大傳輸單元值。
發(fā)送模塊可以為不可達差錯報文發(fā)送模塊,用于發(fā)送攜帶公網(wǎng)隧道最大傳輸單元值的互聯(lián)網(wǎng)控制消息協(xié)議不可達差錯報文給所述私網(wǎng)路由器。
發(fā)送模塊還可以為IPv4發(fā)送模塊,用于發(fā)送攜帶公網(wǎng)隧道最大傳輸單元值的IPv4協(xié)議報文給所述私網(wǎng)路由器。
當私網(wǎng)中還存在與私網(wǎng)路由器直連的上游路由器時,上游路由器在檢測路徑MTU值時會向私網(wǎng)路由器發(fā)送IP報文,所以私網(wǎng)路由器還包括檢測模塊,用于在檢測路徑最大傳輸單元值的過程中接收由上游路由器發(fā)來的IP報文,還用于比較所述IP報文的長度和所述接收更新模塊更新的出接口鏈路最大傳輸單元值,還用于根據(jù)比較結(jié)果轉(zhuǎn)發(fā)所述IP報文給所述公網(wǎng)邊緣路由器或返回所述接收更新模塊更新的出接口鏈路最大傳輸單元值給所述上游路由器。
以上所述的實施例,只是本發(fā)明較優(yōu)選的具體實施方式
的一種,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進行的通常變化和替換都應包含在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種檢測路徑最大傳輸單元的方法,其特征在于,所述方法具體包括以下步驟步驟A公網(wǎng)邊緣路由器檢測出所述公網(wǎng)的路徑最大傳輸單元值,并根據(jù)公網(wǎng)隧道的配置計算出報文進入所述公網(wǎng)隧道需要添加的封裝頭長度;步驟B所述公網(wǎng)邊緣路由器設置所述公網(wǎng)隧道的最大傳輸單元值為不高于所述公網(wǎng)的路徑最大傳輸單元值減去所述封裝頭長度后的差值,并將所述公網(wǎng)隧道的最大傳輸單元值發(fā)送給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器;步驟C所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器比較自己出接口鏈路的最大傳輸單元值和收到的所述公網(wǎng)隧道的最大傳輸單元值,取二者中最小值作為自己出接口鏈路的最大傳輸單元值;步驟D私網(wǎng)中的路由器根據(jù)各自的出接口鏈路的最大傳輸單元值獲得相應路徑最大傳輸單元值。
2.根據(jù)權(quán)利要求1所述的檢測路徑最大傳輸單元的方法,其特征在于,所述步驟B中將所述公網(wǎng)隧道的最大傳輸單元值發(fā)送給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器的步驟具體為所述公網(wǎng)邊緣路由器發(fā)送攜帶所述公網(wǎng)隧道的最大傳輸單元值的互聯(lián)網(wǎng)控制消息協(xié)議不可達差錯報文給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器。
3.根據(jù)權(quán)利要求1所述的檢測路徑最大傳輸單元的方法,其特征在于,所述步驟B中將所述公網(wǎng)隧道的最大傳輸單元值發(fā)送給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器的步驟具體為所述公網(wǎng)邊緣路由器發(fā)送攜帶所述公網(wǎng)隧道的最大傳輸單元值的IPv4協(xié)議報文給私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器。
4.根據(jù)權(quán)利要求1所述的檢測路徑最大傳輸單元的方法,其特征在于,所述步驟D中在檢測路徑最大傳輸單元值的過程中,所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器收到私網(wǎng)中與自己直連的上游路由器發(fā)來的IP報文后,判斷所述IP報文的長度是否超出自己更新后的出接口鏈路的最大傳輸單元值,如果是,則將所述更新后的出接口鏈路的最大傳輸單元值傳遞給所述直連的上游路由器,否則將所述IP報文轉(zhuǎn)發(fā)給所述公網(wǎng)邊緣路由器。
5.根據(jù)權(quán)利要求4所述的檢測路徑最大傳輸單元的方法,其特征在于,所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器將所述更新后的出接口鏈路的最大傳輸單元值傳遞給所述直連的上游路由器的步驟具體為所述私網(wǎng)中的與所述公網(wǎng)邊緣路由器直連的路由器發(fā)送攜帶所述更新后的出接口鏈路的最大傳輸單元值的互聯(lián)網(wǎng)控制消息協(xié)議不可達差錯報文或IPv4協(xié)議報文給所述直連的上游路由器。
6.根據(jù)權(quán)利要求1至5中任一權(quán)利要求所述的檢測路徑最大傳輸單元的方法,其特征在于,所述公網(wǎng)隧道具體為通用路由封裝隧道、二層隧道協(xié)議隧道或互聯(lián)網(wǎng)加密協(xié)議隧道。
7.一種檢測路徑最大傳輸單元的系統(tǒng),其特征在于,所述系統(tǒng)包括公網(wǎng)邊緣路由器和與其直連的私網(wǎng)路由器,所述公網(wǎng)邊緣路由器包括(1)檢測模塊,用于檢測出所述公網(wǎng)的路徑最大傳輸單元值;(2)計算模塊,用于根據(jù)公網(wǎng)隧道的配置計算出報文進入所述公網(wǎng)隧道需要添加的封裝頭長度,還用于設置所述公網(wǎng)隧道的最大傳輸單元值為不高于所述檢測模塊檢測出的公網(wǎng)路徑最大傳輸單元值減去所述封裝頭長度后的差值;(3)發(fā)送模塊,用于將所述計算模塊得出的公網(wǎng)隧道的最大傳輸單元值發(fā)送給所述私網(wǎng)路由器;所述私網(wǎng)路由器包括接收更新模塊,用于接收所述發(fā)送模塊發(fā)來的公網(wǎng)隧道的最大傳輸單元值,還用于比較自己出接口鏈路的最大傳輸單元值和收到的公網(wǎng)隧道的最大傳輸單元值,還用于取二者中最小值作為自己出接口鏈路的最大傳輸單元值。
8.根據(jù)權(quán)利要求7所述的檢測路徑最大傳輸單元的系統(tǒng),其特征在于,所述發(fā)送模塊具體為不可達差錯報文發(fā)送模塊,用于發(fā)送攜帶所述公網(wǎng)隧道最大傳輸單元值的互聯(lián)網(wǎng)控制消息協(xié)議不可達差錯報文給所述私網(wǎng)路由器。
9.根據(jù)權(quán)利要求7所述的檢測路徑最大傳輸單元的系統(tǒng),其特征在于,所述發(fā)送模塊具體為IPv4發(fā)送模塊,用于發(fā)送攜帶所述公網(wǎng)隧道最大傳輸單元值的IPv4協(xié)議報文給所述私網(wǎng)路由器。
10.根據(jù)權(quán)利要求7、8或9所述的檢測路徑最大傳輸單元的系統(tǒng),其特征在于,所述私網(wǎng)路由器還包括檢測模塊,用于在檢測路徑最大傳輸單元值的過程中接收由上游路由器發(fā)來的IP報文,還用于比較所述IP報文的長度和所述接收更新模塊更新的出接口鏈路最大傳輸單元值,還用于根據(jù)比較結(jié)果轉(zhuǎn)發(fā)所述IP報文給所述公網(wǎng)邊緣路由器或返回所述接收更新模塊更新的出接口鏈路最大傳輸單元值給所述上游路由器。
全文摘要
本發(fā)明提供了一種檢測路徑最大傳輸單元的方法和系統(tǒng),屬于通訊技術(shù)領(lǐng)域。為了解決在VPN網(wǎng)絡中無法準確地檢測出路徑最大傳輸單元值以及報文分片降低轉(zhuǎn)發(fā)性能、占用網(wǎng)絡資源的問題,本發(fā)明提供了一種檢測路徑最大傳輸單元的方法,包括公網(wǎng)邊緣路由器檢測出公網(wǎng)路徑最大傳輸單元的步驟,計算公網(wǎng)隧道封裝頭長度的步驟和計算出公網(wǎng)隧道最大傳輸單元并發(fā)送給直連的私網(wǎng)路由器的步驟;本發(fā)明還提供了一種檢測路徑最大傳輸單元的系統(tǒng),包括公網(wǎng)邊緣路由器和直連的私網(wǎng)路由器;采用本發(fā)明所述的技術(shù)方案,不僅能在VPN網(wǎng)絡中準確地檢測出路徑最大傳輸單元值,還可以避免報文在進入公網(wǎng)傳輸時被分片,從而提高了網(wǎng)絡轉(zhuǎn)發(fā)性能,避免了隧道末端路由器重組報文的情形。
文檔編號H04L12/26GK1921440SQ20061015216
公開日2007年2月28日 申請日期2006年9月15日 優(yōu)先權(quán)日2006年9月15日
發(fā)明者謝頌賢 申請人:華為數(shù)字技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
田东县| 平顶山市| 玉溪市| 禄劝| 两当县| 大同市| 准格尔旗| 雷波县| 瑞金市| 东方市| 竹山县| 白银市| 广元市| 萝北县| 四川省| 合作市| 博乐市| 永年县| 朝阳县| 成都市| 商河县| 濮阳市| 石家庄市| 庐江县| 哈尔滨市| 台中市| 云南省| 西林县| 汝州市| 万源市| 灵川县| 塘沽区| 岳阳市| 玉田县| 龙江县| 弥勒县| 上蔡县| 临西县| 尉氏县| 甘孜县| 阿城市|