本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,具體而言,涉及一種確定路徑MTU的方法、裝置及通信系統(tǒng)。
背景技術(shù):
在設(shè)備網(wǎng)絡(luò)通信中一次能夠傳送的報文大小取決于兩個設(shè)備間網(wǎng)絡(luò)路徑MTU(Maximum Transmission Unit,最大傳輸單元),如果發(fā)送端發(fā)送報文大于路徑最小MTU那么該報文會被分片,分片后增加了報文丟失重傳、亂序等問題發(fā)生的概率進(jìn)而導(dǎo)致通信效率降低,同時對分片報文的重組也將增加設(shè)備資源占用。為了解決由于報文分片帶來的資源浪費(fèi)和報文丟失重傳、亂序的風(fēng)險,確定設(shè)備間路徑MTU值,后續(xù)報文發(fā)送照該MTU值設(shè)置成為解決這些問題的一個重要手段。但是,現(xiàn)有的設(shè)備路徑間的MTU值通常需要經(jīng)過多輪報文交互才能確定,造成設(shè)備路徑間的MTU值的確定效率較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種確定路徑MTU的方法、裝置及通信系統(tǒng),以改善上述問題。
第一方面,本發(fā)明實(shí)施例提供了一種確定路徑MTU的方法,所述方法包括:第二通信設(shè)備接收第一通信設(shè)備發(fā)送的第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同;所述第二通信設(shè)備基于所述第一報文的分片情況確定所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值;所述第二通信設(shè)備將所述MTU值返回給所述第一通信設(shè)備。
第二方面,本發(fā)明實(shí)施例提供了一種確定路徑MTU的方法,所述方法包括:第一通信設(shè)備向第二通信設(shè)備發(fā)送第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同;所述第一通信設(shè)備接收所述第二通信設(shè)備第一報文返回的第二報文,所述第二報文攜帶有所述第二通信設(shè)備基于所述第一報文的分片情況確定的所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。
第三方面,本發(fā)明實(shí)施例提供了一種確定路徑MTU的方法,所述方法包括:第一通信設(shè)備向第二通信設(shè)備發(fā)送第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同;第二通信設(shè)備接收所述第一報文,基于所述第一報文的分片情況確定所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值;所述第二通信設(shè)備將所述MTU值返回給所述第一通信設(shè)備。
第四方面,本發(fā)明實(shí)施例提供了一種確定路徑MTU的裝置,設(shè)置于第二通信設(shè)備,所述裝置包括:報文接收單元,用于接收第一通信設(shè)備發(fā)送的第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同;報文處理單元,用于基于所述第一報文的分片情況確定所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值;報文發(fā)送單元,用于將所述MTU值返回給所述第一通信設(shè)備。
第五方面,本發(fā)明實(shí)施例提供了一種確定路徑MTU的裝置,設(shè)置于第一通信設(shè)備,所述裝置包括:報文發(fā)送單元,用于向第二通信設(shè)備發(fā)送第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同;報文接收單元,用于接收所述第二通信設(shè)備第一報文返回的第二報文,所述第二報文攜帶有所述第二通信設(shè)備基于所述第一報文的分片情況確定的所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。
第六方面,本發(fā)明實(shí)施例提供了一種通信系統(tǒng),所述通信系統(tǒng)包括第一通信設(shè)備以及第二通信設(shè)備;所述第一通信設(shè)備,用于向所述第二通信設(shè)備發(fā)送第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同;所述第二通信設(shè)備,用于接收所述第一報文,基于所述第一報文的分片情況確定所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值;將所述MTU值返回給所述第一通信設(shè)備。
本發(fā)明實(shí)施例提供的一種確定路徑MTU的方法、裝置及通信系統(tǒng),通過第一通信設(shè)備向第二通信設(shè)備發(fā)送第一報文,然后第二通信設(shè)備根據(jù)第一報文的分片情況來判斷第一通信設(shè)備與第二通信設(shè)備之間的通信路徑的MTU值,再將確定的MTU值返回給第一通信設(shè)備的方式,使得在第一通信設(shè)備與第二通信設(shè)備之間通過一個報文交互就可以測量得到第一通信設(shè)備與第二通信設(shè)備之間的通信路徑的MTU值,提升了通信路徑MTU值的獲取效率。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明實(shí)施例了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明實(shí)施例提供的一種確定路徑MTU的方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種確定路徑MTU的方法的時序圖;
圖3為本發(fā)明實(shí)施例提供的一種確定路徑MTU的裝置的結(jié)構(gòu)框圖;
圖4為本發(fā)明實(shí)施例提供的另一種確定路徑MTU的裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本實(shí)施例中,路徑MTU是指一條因特網(wǎng)傳輸路徑中,從源地址到目的地址所經(jīng)過的“路徑”上的所有IP跳的最大傳輸單元的最小值。如果在IP層要傳輸一個報文比鏈路層的MTU還大,那么IP層就會對這個報文進(jìn)行分片。一個報會被分為若干片,每個分片的大小都小于或者等于鏈路層的MTU值。
現(xiàn)有的確定路徑MTU的方法中主要有如下幾種方法:通過修改tracertoute程序逐包減小報文大小確定路徑MTU大?。煌ㄟ^ping程序逐包減小報文大小確定路徑MTU大?。煌ㄟ^自定義報文逐包減小報文大小確定路徑MTU大小。以上方法是數(shù)據(jù)通信網(wǎng)絡(luò)中通用的確定路徑MTU大小的方法,由于網(wǎng)絡(luò)通信特點(diǎn)當(dāng)前幾乎只能通過網(wǎng)絡(luò)協(xié)議來確定,存在如下問題:路徑MTU需要經(jīng)過多輪報文交互才能確定效率較低;還有如果網(wǎng)絡(luò)中間有相關(guān)安全策略則可能導(dǎo)致路徑MTU無法測量。
為了改善上述問題,本發(fā)明實(shí)施例提供了一種確定路徑MTU的方法、裝置及通信系統(tǒng)。
請參閱圖1,本發(fā)明實(shí)施例提供的一種確定路徑MTU的方法,所述方法應(yīng)用于一種通信系統(tǒng),該通信系統(tǒng)包括第一通信設(shè)備以及第二通信設(shè)備,所述方法包括:
步驟S210:第二通信設(shè)備接收第一通信設(shè)備發(fā)送的第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同。
第一通信設(shè)備在發(fā)送第一報文之前,先獲取到該第一通信設(shè)備設(shè)置的MTU值,再將第一報文的大小,及第一報文的報文長度配置為與所述MTU值相同。其中,第一報文的類型可以根據(jù)第一通信設(shè)備和第二通信設(shè)備所處的通信環(huán)境不同而設(shè)定,以便克服因?yàn)榫W(wǎng)絡(luò)安全策略而導(dǎo)致路徑MTU測量失敗。例如,當(dāng)?shù)谝煌ㄐ旁O(shè)備為無線控制器,而第二通信設(shè)備為預(yù)先在所述無線控制器注冊的無線接入設(shè)備時,第一報文可以為capwap協(xié)議的配置更新請求(Configure Update Resques)報文,相應(yīng)地所述第二報文可以為capwap協(xié)議的配置更新響應(yīng)(Configure Update Response)報文。capwap協(xié)議報文為無線接入設(shè)備和無線控制器之間固有的通信報文,因此在這種情況下利用capwap協(xié)議報文不會因?yàn)榫W(wǎng)絡(luò)安全策略而導(dǎo)致路徑MTU測量失敗,可以在兩個報文中增加擴(kuò)展字段來實(shí)現(xiàn)本發(fā)明的交互機(jī)制。此外,第一通信設(shè)備和第二通信設(shè)備還可以為路由器或者交換機(jī)等通信設(shè)備,只要第一通信設(shè)備和第二通信設(shè)備之間可以進(jìn)行報文交互,且相互之間的報文可以進(jìn)行字段擴(kuò)展即可。
步驟S220:所述第二通信設(shè)備基于所述第一報文的分片情況確定所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。
當(dāng)?shù)诙ㄐ旁O(shè)備接收到第一通信設(shè)備發(fā)送的第一報文時,會對第一報文的分片情況進(jìn)行分析,以判斷第一報文在傳輸過程中是否被分片。其中判斷報文是否被分片的方式有多種,例如,可以通過判斷接收到的報文中IP首部包含的分片信息來進(jìn)行判斷。在分片后的報文中的IP首部都包含有表征其屬于同一個原始報文的標(biāo)識信息,以便將分片后的多個報文重組為該原始報文,當(dāng)檢測到接收到的多個報文有相同的上述標(biāo)識信息時,即可判斷所述多個報文是被分片后傳輸?shù)摹?/p>
當(dāng)?shù)诙ㄐ旁O(shè)備判斷接收到的所述第一報文未被分片時,確定所述第一報文的大小,即第一通信設(shè)備自身的MTU值,為所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。當(dāng)?shù)诙ㄐ旁O(shè)備判斷接收到的所述第一報文被分片時,確定所述第一報文被分片后的最大分片報文的大小為所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。
步驟S230:所述第二通信設(shè)備將所述MTU值返回給所述第一通信設(shè)備。
為了讓第一通信設(shè)備獲取到第二通信設(shè)備確定的第一通信設(shè)備與第二通信設(shè)備之間的MTU值,第二通信設(shè)備還要將確定的MTU值添加到響應(yīng)第一報文返回的第二報文中,以便傳輸給所述第一通信設(shè)備。第一通信設(shè)備在獲取到第二報文中的MTU值后,可以將設(shè)置為發(fā)送給所述第二通信設(shè)備的數(shù)據(jù)報文的MTU值。
本發(fā)明實(shí)施例提供的確定路徑MTU的方法,通過第一通信設(shè)備向第二通信設(shè)備發(fā)送第一報文,然后第二通信設(shè)備根據(jù)第一報文的分片情況來判斷第一通信設(shè)備與第二通信設(shè)備之間的通信路徑的MTU值,再將確定的MTU值返回給第一通信設(shè)備的方式,使得在第一通信設(shè)備與第二通信設(shè)備之間通過一個報文交互就可以測量得到第一通信設(shè)備與第二通信設(shè)備之間的通信路徑的MTU值,提升了通信路徑MTU值的獲取效率。
下面通過時序圖的方式進(jìn)一步介紹確定路徑MTU的方法的流程。請參閱圖2,本發(fā)明實(shí)施例提供的一種確定路徑MTU的方法的時序圖,所述方法包括:
步驟S310:第一通信設(shè)備獲取第一通信設(shè)備的MTU值;
步驟S320:第一通信設(shè)備向第二通信設(shè)備發(fā)送第一報文,第一報文的大小與第一通信設(shè)備的MTU值相同;
步驟S330:第二通信設(shè)備接收第一通信設(shè)備發(fā)送的第一報文;
步驟S340:所述第二通信設(shè)備基于所述第一報文的分片情況確定所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值;
步驟S350:所述第二通信設(shè)備將所述MTU值返回給所述第一通信設(shè)備;
步驟S360:所述第一通信設(shè)備將所述第二報文攜帶的MTU值設(shè)置為發(fā)送給所述第二通信設(shè)備的數(shù)據(jù)報文的MTU值。
請參閱圖3,本發(fā)明實(shí)施例提供的一種確定路徑MTU的裝置400,該裝置400設(shè)置于第二通信設(shè)備,所述裝置400包括:報文接收單元410、報文處理單元420以及報文發(fā)送單元430。
其中,報文接收單元410,用于接收第一通信設(shè)備發(fā)送的第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同。
報文處理單元420,用于基于所述第一報文的分片情況確定所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。
作為一種方式,所述報文處理單元420,具體用于判斷接收到的所述第一報文未被分片時,確定所述第一報文的大小為所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值;判斷接收到的所述第一報文被分片時,確定所述第一報文被分片后的最大分片報文的大小為所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。
報文發(fā)送單元430,用于將所述MTU值返回給所述第一通信設(shè)備。
請參閱圖4,本發(fā)明實(shí)施例提供的一種確定路徑MTU的裝置500,設(shè)置于第一通信設(shè)備,所述裝置500包括:報文發(fā)送單元510、報文接收單元520以及傳輸控制單元530。
其中,報文發(fā)送單元510,用于向第二通信設(shè)備發(fā)送第一報文,所述第一報文的大小與所述第一通信設(shè)備的MTU值相同。
報文接收單元520,用于接收所述第二通信設(shè)備第一報文返回的第二報文,所述第二報文攜帶有所述第二通信設(shè)備基于所述第一報文的分片情況確定的所述第一通信設(shè)備與所述第二通信設(shè)備之間通信路徑的MTU值。
為了提升第一通信設(shè)備和第二通信設(shè)備之間的數(shù)據(jù)傳輸效率,作為一種方式,所述傳輸控制單元530,用于將所述第二報文攜帶的MTU值設(shè)置為發(fā)送給所述第二通信設(shè)備的數(shù)據(jù)報文的MTU值。
當(dāng)?shù)谝煌ㄐ旁O(shè)備為無線控制器,而第二通信設(shè)備為預(yù)先在所述無線控制器注冊的無線接入設(shè)備時,第一報文可以為capwap協(xié)議的配置更新請求(Configure Update Resques)報文,相應(yīng)地所述第二報文可以為capwap協(xié)議的配置更新響應(yīng)(Configure Update Response)報文。capwap協(xié)議報文為無線接入設(shè)備和無線控制器之間固有的通信報文,因此在這種情況下利用capwap協(xié)議報文不會因?yàn)榫W(wǎng)絡(luò)安全策略而導(dǎo)致路徑MTU測量失敗,可以在兩個報文中增加擴(kuò)展字段來實(shí)現(xiàn)本發(fā)明的交互機(jī)制。此外,第一通信設(shè)備和第二通信設(shè)備還可以為路由器或者交換機(jī)等通信設(shè)備,只要第一通信設(shè)備和第二通信設(shè)備之間可以進(jìn)行報文交互,且相互之間的報文可以進(jìn)行字段擴(kuò)展即可。
需要說明的是,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置實(shí)施例的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
綜上所述,本發(fā)明實(shí)施例提供的確定路徑MTU的方法及裝置及通信系統(tǒng),通過第一通信設(shè)備向第二通信設(shè)備發(fā)送第一報文,然后第二通信設(shè)備根據(jù)第一報文的分片情況來判斷第一通信設(shè)備與第二通信設(shè)備之間的通信路徑的MTU值,再將確定的MTU值返回給第一通信設(shè)備的方式,使得在第一通信設(shè)備與第二通信設(shè)備之間通過一個報文交互就可以測量得到第一通信設(shè)備與第二通信設(shè)備之間的通信路徑的MTU值,提升了通信路徑MTU值的獲取效率。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。