本申請涉及通信技術(shù)領(lǐng)域,特別涉及一種終端最大傳輸單元的調(diào)整方法和裝置。
背景技術(shù):
使用各種終端設(shè)備進(jìn)行網(wǎng)上活動已經(jīng)稱為用戶日常生活中的一部分。但是,在使用終端設(shè)備進(jìn)行網(wǎng)上活動時,會出現(xiàn)數(shù)據(jù)功能連接正常,但存在部分或全部網(wǎng)頁無法打開的情況。
這種情況產(chǎn)生的原因主要是因?yàn)閙ss(maximumsegmentsize,網(wǎng)絡(luò)數(shù)據(jù)傳輸最大值)過大導(dǎo)致。在網(wǎng)絡(luò)通信過程中建立tcp連接時,終端設(shè)備會與服務(wù)器協(xié)商mss值。當(dāng)用協(xié)商好的mss值在網(wǎng)絡(luò)中傳輸數(shù)據(jù)包時,如果mss值大于網(wǎng)絡(luò)的mss值,則數(shù)據(jù)包會發(fā)生截斷。由于mss值可由mtu(maximumtransmissionunit,最大傳輸單元)值減去ipv4header(ipv4協(xié)議包頭,大小為20byte)和tcpheader(tcp協(xié)議包頭,20byte)得到。因此,當(dāng)終端的mtu值大于網(wǎng)絡(luò)節(jié)點(diǎn)的mtu值,也會發(fā)生丟包甚至打不開網(wǎng)頁的情況,從而影響數(shù)據(jù)包的傳輸。因此,一種能夠?qū)⒔K端的mtu值調(diào)整為小于網(wǎng)絡(luò)節(jié)點(diǎn)mtu值的方法有待提出。
技術(shù)實(shí)現(xiàn)要素:
本申請旨在至少在一定程度上解決上述技術(shù)問題。
為此,本申請的第一個目的在于提出一種終端最大傳輸單元的調(diào)整方法,能夠及時發(fā)現(xiàn)問題、解決問題,有效提高了請求異常的處理和網(wǎng)絡(luò)請求響應(yīng)效率。
本申請的第二個目的在于提出一種終端最大傳輸單元的調(diào)整裝置。
本申請的第三個目的在于提出一種終端設(shè)備。
為達(dá)上述目的,根據(jù)本申請第一方面實(shí)施例提出了一種終端最大傳輸單元的調(diào)整方法,包括以下步驟:當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且所述網(wǎng)絡(luò)請求響應(yīng)異常與最大傳輸單元mtu參數(shù)的設(shè)置相關(guān)時,探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù);將述終端的本 機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
本申請實(shí)施例的終端最大傳輸單元的調(diào)整方法,可在終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且該異常與mtu參數(shù)的設(shè)置相關(guān)時,自動探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),并將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為該目標(biāo)mtu參數(shù),無需用戶查找確認(rèn)異常原因,能夠及時、方便地發(fā)現(xiàn)問題、解決問題。更進(jìn)一步地,對于便攜式終端來說,由于其使用位置變更頻率較高,更易出現(xiàn)因mtu參數(shù)設(shè)置問題導(dǎo)致網(wǎng)絡(luò)請求響應(yīng)異常的問題,通過本發(fā)明的實(shí)施例,能夠及時針對變更的網(wǎng)絡(luò)調(diào)整終端的mtu參數(shù),有效地提高了請求異常的處理和網(wǎng)絡(luò)請求響應(yīng)效率。
本申請第二方面實(shí)施例提供了一種終端最大傳輸單元的調(diào)整裝置,包括:探測模塊,用于當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)時,探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù);調(diào)整模塊,用于將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
本申請實(shí)施例的終端最大傳輸單元的調(diào)整裝置,可在終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且該異常與mtu參數(shù)的設(shè)置相關(guān)時,自動探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),并將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為該目標(biāo)mtu參數(shù),無需用戶查找確認(rèn)異常原因,能夠及時、方便地發(fā)現(xiàn)問題、解決問題。更進(jìn)一步地,對于便攜式終端來說,由于其使用位置變更頻率較高,更易出現(xiàn)因mtu參數(shù)設(shè)置問題導(dǎo)致網(wǎng)絡(luò)請求響應(yīng)異常的問題,通過本發(fā)明的實(shí)施例,能夠及時針對變更的網(wǎng)絡(luò)調(diào)整終端的mtu參數(shù),有效地提高了請求異常的處理和網(wǎng)絡(luò)請求響應(yīng)效率。
本申請第三方面實(shí)施例提供了一種終端設(shè)備,包括本發(fā)明第二發(fā)明實(shí)施例的終端最大傳輸單元的調(diào)整裝置。
本申請實(shí)施例的終端設(shè)備,可在終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且該異常與mtu參數(shù)的設(shè)置相關(guān)時,自動探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),并將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為該目標(biāo)mtu參數(shù),無需用戶查找確認(rèn)異常原因,能夠及時、方便地發(fā)現(xiàn)問題、解決問題。更進(jìn)一步地,對于便攜式終端來說,由于其使用位置變更頻率較高,更易出現(xiàn)因mtu參數(shù)設(shè)置問題導(dǎo)致網(wǎng)絡(luò)請求響應(yīng)異常的問題,通過本發(fā)明的實(shí)施例,能夠及時針對變更的網(wǎng)絡(luò)調(diào)整終端的mtu參數(shù),有效地提高了請求異常的處理和網(wǎng)絡(luò)請求響應(yīng)效率。
本申請的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實(shí)踐了解到。
附圖說明
本申請的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本申請一個實(shí)施例的終端最大傳輸單元的調(diào)整方法的流程圖;
圖2為根據(jù)本申請一個實(shí)施例的完整的http通信協(xié)議響應(yīng)示意圖;
圖3為根據(jù)本申請一個實(shí)施例的探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)的流程圖;
圖4為根據(jù)本申請另一個實(shí)施例的終端最大傳輸單元的調(diào)整方法的流程圖;
圖5為根據(jù)本申請一個實(shí)施例的終端最大傳輸單元的調(diào)整裝置的結(jié)構(gòu)示意圖;
圖6為根據(jù)本申請另一個實(shí)施例的終端最大傳輸單元的調(diào)整裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本申請的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。
下面參考附圖描述根據(jù)本申請實(shí)施例的終端最大傳輸單元的調(diào)整方法、裝置和終端設(shè)備。
圖1為根據(jù)本申請一個實(shí)施例的終端最大傳輸單元的調(diào)整方法的流程圖。
如圖1所示,根據(jù)本申請實(shí)施例的終端最大傳輸單元的調(diào)整方法,包括以下步驟:
s101,當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)時,探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
需要說明的是,本發(fā)明實(shí)施例中的終端可以是因特網(wǎng)或者局域網(wǎng)的連接設(shè)備,例如,cpe(customerpremiseequipment,客戶終端設(shè)備)、數(shù)據(jù)上網(wǎng)卡等有線或無線路由設(shè)備。
終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,可能是由于多種原因造成的,例如,因網(wǎng)絡(luò)故障、或者線路故障、或者設(shè)備故障或網(wǎng)絡(luò)連接設(shè)置失敗、或者因終端在與目標(biāo)服務(wù)器建立tcp連接時的mtu參數(shù)大于網(wǎng)絡(luò)的mtu參數(shù)而導(dǎo)致數(shù)據(jù)包發(fā)生截斷。在本發(fā)明的一個實(shí)施例中,當(dāng) 移動終端出現(xiàn)的網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)時,觸發(fā)探測移動終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。在對終端的mtu參數(shù)進(jìn)行調(diào)整前,可確定出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常是由于終端本機(jī)預(yù)設(shè)mtu參數(shù)大于網(wǎng)絡(luò)的mtu參數(shù)導(dǎo)致的。
在本發(fā)明的一個實(shí)施例中,如果所述終端的網(wǎng)絡(luò)請求不能得到完整響應(yīng),且所述終端的數(shù)據(jù)鏈路正常,則確定所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)。
也就是說,如果同時滿足終端的網(wǎng)絡(luò)請求不能得到完整響應(yīng)且終端數(shù)據(jù)鏈路正常兩個條件,則可確定網(wǎng)絡(luò)請求響應(yīng)異常是否與最大傳輸單元mtu參數(shù)的設(shè)置相關(guān),并觸發(fā)探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
在本發(fā)明的一個具體實(shí)施例中,當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且滿足以下兩個條件時,觸發(fā)探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù):
條件1:部分或全部http數(shù)據(jù)包一直不能收到完整的網(wǎng)絡(luò)請求響應(yīng)。
其中,完整的網(wǎng)絡(luò)請求響應(yīng)是指經(jīng)過完整的http通信協(xié)議得到的網(wǎng)絡(luò)請求響應(yīng)。
如圖2所示,完整的http通信協(xié)議可包括如下圖四步:客戶端(client)與服務(wù)器(server)建立連接、客戶端發(fā)出請求信息、客戶端收到服務(wù)器返回的網(wǎng)絡(luò)請求響應(yīng)信息以及關(guān)閉連接。由于路由不同,當(dāng)數(shù)據(jù)包經(jīng)過不同的網(wǎng)絡(luò)節(jié)點(diǎn),就可能出現(xiàn)mtu參數(shù)不同的情況。
當(dāng)終端發(fā)送的數(shù)據(jù)包的mtu參數(shù)小于網(wǎng)絡(luò)節(jié)點(diǎn)的mtu參數(shù),功能正常,即上述完整的http通信協(xié)議的四步都依次完成,則可確定接收到完整的網(wǎng)絡(luò)請求響應(yīng)。
當(dāng)終端發(fā)送的數(shù)據(jù)包的mtu參數(shù)大于網(wǎng)絡(luò)節(jié)點(diǎn)的mtu參數(shù),功能異常,通常該網(wǎng)絡(luò)節(jié)點(diǎn)是將大于本節(jié)點(diǎn)mtu參數(shù)的數(shù)據(jù)包丟棄。由于遠(yuǎn)程服務(wù)器沒有收到數(shù)據(jù),所以自然不會給終端響應(yīng)數(shù)據(jù),即無法接收到完整的網(wǎng)絡(luò)請求響應(yīng)。
條件2:默認(rèn)ping包操作能收到該http數(shù)據(jù)回復(fù)的數(shù)據(jù)。
目前操作系統(tǒng)默認(rèn)的ping操作的數(shù)據(jù)包大小是32字節(jié),或64字節(jié)。遠(yuǎn)小于網(wǎng)絡(luò)的mtu參數(shù),因此,如果默認(rèn)的ping操作能ping通,說明數(shù)據(jù)鏈路正常。
如果數(shù)據(jù)鏈路不正常,可能是由于設(shè)備或線路故障等原因?qū)е?,但是如果?shù)據(jù)鏈路正常,但收不到遠(yuǎn)程服務(wù)器的完整響應(yīng)數(shù)據(jù),即同時滿足條件1和條件2,則可確定網(wǎng)絡(luò)請求響應(yīng)異常是否與最大傳輸單元mtu參數(shù)的設(shè)置相關(guān)。
其中,終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)是指,網(wǎng)絡(luò)能夠ping通的最大mtu參數(shù)。
本發(fā)明的實(shí)施例中,可通過多種方式探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
其中,在本發(fā)明的一個實(shí)施例中,探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)可包括:根據(jù)所述終端的本機(jī)預(yù)設(shè)mtu參數(shù)和預(yù)設(shè)最小mtu參數(shù)確定待測mtu參數(shù);使用所述待測mtu參數(shù)發(fā)送網(wǎng)絡(luò)請求,并根據(jù)得到的網(wǎng)絡(luò)請求響應(yīng)調(diào)整所述待測mtu參數(shù)確定所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
其中,預(yù)設(shè)最小mtu參數(shù)可以是默認(rèn)ping包操作的數(shù)據(jù)包大小,例如32字節(jié),或64字節(jié)。
在本發(fā)明的實(shí)施例中可通過預(yù)設(shè)規(guī)則在預(yù)設(shè)最小mtu參數(shù)與終端的本機(jī)預(yù)設(shè)mtu參數(shù)之間的范圍內(nèi)選擇一個mtu參數(shù)作為待測mtu參數(shù)。其中,預(yù)設(shè)規(guī)則可包括但不限于順序查找法、二分查找法、二叉排序樹查找法、哈希表法、分塊查找法。
以二分查找法為例,待測mtu參數(shù)=(第一mtu參數(shù)+第二mtu參數(shù))/2。
然后,使用所述待測mtu參數(shù)發(fā)送網(wǎng)絡(luò)請求,并根據(jù)得到的網(wǎng)絡(luò)請求響應(yīng)是否為完整響應(yīng)對待測mtu參數(shù)進(jìn)行調(diào)整,并重新發(fā)送網(wǎng)絡(luò)請求,根據(jù)得到的網(wǎng)絡(luò)請求響應(yīng)是否為完整響再次調(diào)整待測mtu參數(shù),直至得到網(wǎng)絡(luò)能夠ping通的最大mtu參數(shù)。
在本發(fā)明的一個實(shí)施例中,使用所述待測mtu參數(shù)發(fā)送網(wǎng)絡(luò)請求,并根據(jù)得到的網(wǎng)絡(luò)請求響應(yīng)調(diào)整所述待測mtu參數(shù)確定所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)可通過如圖3所示的步驟實(shí)現(xiàn)。如圖3所示,包括以下步驟:
s301,使用所述待測mtu參數(shù)發(fā)送網(wǎng)絡(luò)請求。
s302,判斷所述網(wǎng)絡(luò)請求是否能夠得到完整響應(yīng)。
在本發(fā)明的實(shí)施例中,可使用待測mtu參數(shù)發(fā)送ping指令,以判斷是否能夠得到完整響應(yīng)。具體地,可使用指令“ping-f-lmtuxx.xx.xx.xx”對某范圍內(nèi)的mtu大小進(jìn)行測試,直至嘗試一個合適的mtu參數(shù)。其中,上述指令中“mtu”為待測mtu參數(shù),“xx.xx.xx.xx”為無法接收完整響應(yīng)的http請求的目標(biāo)ip地址。
s303,如果所述網(wǎng)絡(luò)請求能夠得到完整響應(yīng),則根據(jù)預(yù)設(shè)策略增大所述待測mtu參數(shù)。
在本發(fā)明的一個實(shí)施例中,如果使用待測mtu參數(shù)能ping通,則增大待測mtu參數(shù)。具體地,可將待測mtu參數(shù)作為下一次探測范圍的最小mtu參數(shù),即將待測mtu參數(shù)作為下次探測范圍的下限,并從更新后的探測范圍中根據(jù)上述預(yù)設(shè)規(guī)則重新選擇待測mtu參數(shù),并重復(fù)步驟s301-s302,并進(jìn)行探測,直至重新選擇前的待測mtu參數(shù)與重新選擇后的待測mtu參數(shù)的差小于預(yù)設(shè)值時,得到能夠接收到完整響應(yīng)的可用最大mtu參數(shù)。
s304,如果所述網(wǎng)絡(luò)請求不能得到完整響應(yīng),則根據(jù)預(yù)設(shè)策略降低所述待測mtu參數(shù)。
在本發(fā)明的一個實(shí)施例中,如果使用待測mtu參數(shù)不能ping通,則可降低所述待測mtu參數(shù)。具體地,可將待測mtu參數(shù)作為下一次探測范圍的最大mtu參數(shù),即將待測mtu參數(shù)作為下次探測范圍的上限,并從更新后的探測范圍中根據(jù)上述預(yù)設(shè)規(guī)則重新選擇待測mtu參數(shù),并重復(fù)步驟s301-s302,并進(jìn)行探測,直至重新選擇前的待測mtu參數(shù)與重新選擇后的待測mtu參數(shù)的差小于預(yù)設(shè)值時,得到能夠接收到完整響應(yīng)的可用最大mtu參數(shù)。
s305,判斷調(diào)整前的待測mtu參數(shù)與調(diào)整后的待測mtu參數(shù)的差是否小于預(yù)設(shè)值。
其中,預(yù)設(shè)值為一個很小的值,例如,可為0或者稍大于0的值。
s306,確定所述調(diào)整后的待測mtu參數(shù)為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
如果調(diào)整前的待測mtu參數(shù)與調(diào)整后的待測mtu參數(shù)的差小于預(yù)設(shè)值,則執(zhí)行s306,否則重復(fù)步驟s301-s306,直至調(diào)整后的待測mtu參數(shù)與調(diào)整前的待測mtu參數(shù)的差小于預(yù)設(shè)值。
需要說明的是,由于重新選擇前的mtu參數(shù)與重新選擇后的mtu參數(shù)之間相差很小,因此,可選擇重新選擇前的mtu參數(shù)與重新選擇后的mtu參數(shù)中任意一個或者選擇重新選擇前的mtu參數(shù)與重新選擇后的mtu參數(shù)的均值,作為終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
由此,通過上述步驟如此迭代,直至得到終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),即能夠接收到完整響應(yīng)的可用最大mtu參數(shù)。
s102,將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
由此,將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為探測終端所在網(wǎng)絡(luò)能夠ping通的最大mtu參數(shù),能夠有效避免數(shù)據(jù)丟包發(fā)生,提高請求響應(yīng)的效率和成功率。
本申請實(shí)施例的終端最大傳輸單元的調(diào)整方法,可在終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且該異常與mtu參數(shù)的設(shè)置相關(guān)時,自動探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),并將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為該目標(biāo)mtu參數(shù),無需用戶查找確認(rèn)異常原因,能夠及時、方便地發(fā)現(xiàn)問題、解決問題。更進(jìn)一步地,對于便攜式終端來說,由于其使用位置變更頻率較高,更易出現(xiàn)因mtu參數(shù)設(shè)置問題導(dǎo)致網(wǎng)絡(luò)請求響應(yīng)異常的問題,通過本發(fā)明的實(shí)施例,能夠及時針對變更的網(wǎng)絡(luò)調(diào)整終端的mtu參數(shù),有效地提高了請求異常的處理和網(wǎng)絡(luò)請求響應(yīng)效率。
在本發(fā)明的一個實(shí)施例中,如果所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān),則可提示用戶對所述終端的本機(jī)預(yù)設(shè)mtu參數(shù)進(jìn)行調(diào)整,并根據(jù)用戶的指令調(diào)整終端的本機(jī)預(yù)設(shè)mtu參數(shù)。如圖4所示,本發(fā)明另一個實(shí)施例的終端最大傳輸單元的調(diào)整方法,可包括以下步驟。
s401,當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)時,提示用戶對所述終端的本機(jī)預(yù)設(shè)mtu參數(shù)進(jìn)行調(diào)整。
在本發(fā)明的一個實(shí)施例中,可通過但不限于以下方式對用戶進(jìn)行提示:
通過所述終端的顯示器顯示文字提示信息;
或者,通過所述終端的語音播報裝置播報語音提示信息;
或者,與用戶的移動終端進(jìn)行通信,并將提示信息發(fā)送至用戶的移動終端。
用戶在查看提示信息后,可根據(jù)需要選擇是否調(diào)整終端的本機(jī)預(yù)設(shè)mtu參數(shù)進(jìn)行調(diào)整,如果需要調(diào)整,可輸入確認(rèn)調(diào)整指令。
s402,接收所述用戶的調(diào)整指令。
s403,根據(jù)所述用戶的調(diào)整指令探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
其中,探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)可參照圖1所示實(shí)施例的具體實(shí)現(xiàn)方式,在此不進(jìn)行詳細(xì)說明。
進(jìn)而,在探測到終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)后,可將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
在本發(fā)明的一個實(shí)施例中,在探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)之后,還可包括:
s404,提示所述用戶是否將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
s405,在接收到所述用戶的確認(rèn)指令后,將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
由此,通過將探測到的終端所在網(wǎng)絡(luò)能夠ping通的最大mtu參數(shù),并提示用戶可使用探測到的mtu參數(shù)調(diào)整終端本機(jī)預(yù)設(shè)mtu參數(shù),能夠便于用戶了解探測結(jié)果,并選擇是否進(jìn)行相應(yīng)操作。
與上述實(shí)施例提供的終端最大傳輸單元的調(diào)整方法相對應(yīng),本申請還提出一種終端最大傳輸單元的調(diào)整裝置。
圖5為根據(jù)本申請一個實(shí)施例的終端最大傳輸單元的調(diào)整裝置的結(jié)構(gòu)示意圖。
如圖5所示,根據(jù)本申請實(shí)施例的終端最大傳輸單元的調(diào)整裝置,包括:探測模塊10和調(diào)整模塊20。
具體地,探測模塊10用于當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)時,探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
需要說明的是,本發(fā)明實(shí)施例中的終端可以是因特網(wǎng)或者局域網(wǎng)的連接設(shè)備,例如,cpe(customerpremiseequipment,客戶終端設(shè)備)、數(shù)據(jù)上網(wǎng)卡等有線或無線路由設(shè)備。
終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,可能是由于多種原因造成的,例如,因網(wǎng)絡(luò)故障、或者線路故障、或者設(shè)備故障或網(wǎng)絡(luò)連接設(shè)置失敗、或者因終端在與目標(biāo)服務(wù)器建立tcp連接時的mtu參數(shù)大于網(wǎng)絡(luò)的mtu參數(shù)而導(dǎo)致數(shù)據(jù)包發(fā)生截斷。在本發(fā)明的一個實(shí)施例中,當(dāng)移動終端出現(xiàn)的網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)時,觸發(fā)探測移動終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。在對終端的mtu參數(shù)進(jìn)行調(diào)整前,可確定出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常是由于終端本機(jī)預(yù)設(shè)mtu參數(shù)大于網(wǎng)絡(luò)的mtu參數(shù)導(dǎo)致的。
在本發(fā)明的一個實(shí)施例中,,如果所述終端的網(wǎng)絡(luò)請求不能得到完整響應(yīng),且所述終端的數(shù)據(jù)鏈路正常,則確定所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)。
也就是說,如果同時滿足終端的網(wǎng)絡(luò)請求不能得到完整響應(yīng)且終端數(shù)據(jù)鏈路正常兩個條件,則可確定網(wǎng)絡(luò)請求響應(yīng)異常是否與最大傳輸單元mtu參數(shù)的設(shè)置相關(guān),并觸發(fā)探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
在本發(fā)明的一個具體實(shí)施例中,當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且滿足以下兩個條件時探測模塊10探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù):
條件1:部分或全部http數(shù)據(jù)包一直不能收到完整的網(wǎng)絡(luò)請求響應(yīng)。
其中,完整的網(wǎng)絡(luò)請求響應(yīng)是指經(jīng)過完整的http通信協(xié)議得到的網(wǎng)絡(luò)請求響應(yīng)。
如圖2所示,完整的http通信協(xié)議可包括如下圖四步:客戶端(client)與服務(wù)器(server)建立連接、客戶端發(fā)出請求信息、客戶端收到服務(wù)器返回的網(wǎng)絡(luò)請求響應(yīng)信息以及關(guān)閉連接。由于路由不同,當(dāng)數(shù)據(jù)包經(jīng)過不同的網(wǎng)絡(luò)節(jié)點(diǎn),就可能出現(xiàn)mtu參數(shù)不同的情況。
當(dāng)終端發(fā)送的數(shù)據(jù)包的mtu參數(shù)小于網(wǎng)絡(luò)節(jié)點(diǎn)的mtu參數(shù),功能正常,即上述完整的http通信協(xié)議的四步都依次完成,則可確定接收到完整的網(wǎng)絡(luò)請求響應(yīng)。
當(dāng)終端發(fā)送的數(shù)據(jù)包的mtu參數(shù)大于網(wǎng)絡(luò)節(jié)點(diǎn)的mtu參數(shù),功能異常,通常該網(wǎng)絡(luò)節(jié)點(diǎn)是將大于本節(jié)點(diǎn)mtu參數(shù)的數(shù)據(jù)包丟棄。由于遠(yuǎn)程服務(wù)器沒有收到數(shù)據(jù),所以自然不會給終端響應(yīng)數(shù)據(jù),即無法接收到完整的網(wǎng)絡(luò)請求響應(yīng)。
條件2:默認(rèn)ping包操作能收到該http數(shù)據(jù)回復(fù)的數(shù)據(jù)。
目前操作系統(tǒng)默認(rèn)的ping操作的數(shù)據(jù)包大小是32字節(jié),或64字節(jié)。遠(yuǎn)小于網(wǎng)絡(luò)的mtu參數(shù),因此,如果默認(rèn)的ping操作能ping通,說明數(shù)據(jù)鏈路正常。
如果數(shù)據(jù)鏈路不正常,可能是由于設(shè)備或線路故障等原因?qū)е拢侨绻麛?shù)據(jù)鏈路正常,但收不到遠(yuǎn)程服務(wù)器的完整響應(yīng)數(shù)據(jù),即同時滿足條件1和條件2,則可確定網(wǎng)絡(luò)請求響應(yīng)異常是否與最大傳輸單元mtu參數(shù)的設(shè)置相關(guān)。
本發(fā)明的實(shí)施例中,探測模塊10可通過多種方式探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
其中,在本發(fā)明的一個實(shí)施例中,探測模塊10可包括:確定單元11和調(diào)整單元12(圖中未示出)。
確定單元11用于根據(jù)所述終端的本機(jī)預(yù)設(shè)mtu參數(shù)和預(yù)設(shè)最小mtu參數(shù)確定待測mtu參數(shù)。其中,預(yù)設(shè)最小mtu參數(shù)可以是默認(rèn)ping包操作的數(shù)據(jù)包大小,例如32字節(jié),或64字節(jié)。
在本發(fā)明的實(shí)施例中,確定單元11可通過預(yù)設(shè)規(guī)則在預(yù)設(shè)最小mtu參數(shù)與終端的本機(jī)預(yù)設(shè)mtu參數(shù)之間的范圍內(nèi)選擇一個mtu參數(shù)作為待測mtu參數(shù)。其中,預(yù)設(shè)規(guī)則可包括但不限于順序查找法、二分查找法、二叉排序樹查找法、哈希表法、分塊查找法。
以二分查找法為例,待測mtu參數(shù)=(第一mtu參數(shù)+第二mtu參數(shù))/2。
調(diào)整單元12用于使用所述待測mtu參數(shù)發(fā)送網(wǎng)絡(luò)請求,并根據(jù)得到的網(wǎng)絡(luò)請求響應(yīng)調(diào)整所述待測mtu參數(shù)確定所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
在本發(fā)明的一個實(shí)施例中,調(diào)整單元12可使用所述待測mtu參數(shù)發(fā)送網(wǎng)絡(luò)請求,并根據(jù)得到的網(wǎng)絡(luò)請求響應(yīng)是否為完整響應(yīng)對待測mtu參數(shù)進(jìn)行調(diào)整,并重新發(fā)送網(wǎng)絡(luò)請求,根據(jù)得到的網(wǎng)絡(luò)請求響應(yīng)是否為完整響再次調(diào)整待測mtu參數(shù),直至得到網(wǎng)絡(luò)能夠ping通的最大mtu參數(shù)。
在本發(fā)明的一個實(shí)施例中,所述調(diào)整單元12可通過如圖3所示的步驟探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),具體過程與圖3所示實(shí)施例相同。
調(diào)整模塊20用于將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)
由此,調(diào)整模塊20將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為探測終端所在網(wǎng)絡(luò)能夠ping通的最大mtu參數(shù),能夠有效避免數(shù)據(jù)丟包發(fā)生,提高請求網(wǎng)絡(luò)請求響應(yīng)的效率和成功率。
本申請實(shí)施例的終端最大傳輸單元的調(diào)整裝置,可在終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且該異常與mtu參數(shù)的設(shè)置相關(guān)時,自動探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),并將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為該目標(biāo)mtu參數(shù),無需用戶查找確認(rèn)異常原因,能夠及時、方便地發(fā)現(xiàn)問題、解決問題。更進(jìn)一步地,對于便攜式終端來說,由于其使用位置變更頻率較高,更易出現(xiàn)因mtu參數(shù)設(shè)置問題導(dǎo)致網(wǎng)絡(luò)請求響應(yīng)異常的問題,通過本發(fā)明的實(shí)施例,能夠及時針對變更的網(wǎng)絡(luò)調(diào)整終端的mtu參數(shù),有效地提高了請求異常的處理和網(wǎng)絡(luò)請求響應(yīng)效率。
圖6為根據(jù)本申請另一個實(shí)施例的終端最大傳輸單元的調(diào)整裝置的結(jié)構(gòu)示意圖。
如圖6所示,根據(jù)本申請實(shí)施例的終端最大傳輸單元的調(diào)整裝置,包括:探測模塊10、調(diào)整模塊20第一提示模塊30、接收模塊40、和第二提示模塊50。
其中,探測模塊10和調(diào)整模塊20與圖4所示實(shí)施例中相同。
第一提示模塊30用于當(dāng)終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且所述網(wǎng)絡(luò)請求響應(yīng)異常與mtu參數(shù)的設(shè)置相關(guān)時,提示用戶對所述終端的本機(jī)預(yù)設(shè)mtu參數(shù)進(jìn)行調(diào)整。
在本發(fā)明的一個實(shí)施例中,第一提示模塊30可通過但不限于以下方式對用戶進(jìn)行提示:
通過所述終端的顯示器顯示文字提示信息;
或者,通過所述終端的語音播報裝置播報語音提示信息;
或者,與用戶的移動終端進(jìn)行通信,并將提示信息發(fā)送至用戶的移動終端。
用戶在查看提示信息后,可根據(jù)需要選擇是否調(diào)整終端的本機(jī)預(yù)設(shè)mtu參數(shù)進(jìn)行調(diào)整,如果需要調(diào)整,可輸入調(diào)整指令。
接收模塊40用于接收所述用戶的調(diào)整指令。
其中,探測模塊10根據(jù)所述用戶的調(diào)整指令探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。其中,探測模塊10探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)可參照圖5所示實(shí)施例的具體實(shí)現(xiàn)方式,在此不進(jìn)行詳細(xì)說明。
第二提示模塊50用于在探測所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)之后,提示所述用戶是否將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
其中,調(diào)整模塊40在接收到所述用戶的確認(rèn)指令后,將述終端的本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為所述終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù)。
由此,通過將探測到的終端所在網(wǎng)絡(luò)能夠ping通的最大mtu參數(shù),并提示用戶可使用探測到的mtu參數(shù)調(diào)整終端本機(jī)預(yù)設(shè)mtu參數(shù),能夠便于用戶了解探測結(jié)果,并選擇是否進(jìn)行相應(yīng)操作。
本發(fā)明還提出一種終端設(shè)備。
根據(jù)本發(fā)明實(shí)施例的終端設(shè)備,包括本發(fā)明任一實(shí)施例的終端最大傳輸單元的調(diào)整裝置,可在終端出現(xiàn)網(wǎng)絡(luò)請求響應(yīng)異常,且該異常與mtu參數(shù)的設(shè)置相關(guān)時,自動探測終端的所在網(wǎng)絡(luò)支持的目標(biāo)mtu參數(shù),并將終端本機(jī)預(yù)設(shè)mtu參數(shù)調(diào)整為該目標(biāo)mtu參數(shù), 無需用戶查找確認(rèn)異常原因,能夠及時、方便地發(fā)現(xiàn)問題、解決問題。更進(jìn)一步地,對于便攜式終端來說,由于其使用位置變更頻率較高,更易出現(xiàn)因mtu參數(shù)設(shè)置問題導(dǎo)致網(wǎng)絡(luò)請求響應(yīng)異常的問題,通過本發(fā)明的實(shí)施例,能夠及時針對變更的網(wǎng)絡(luò)調(diào)整終端的mtu參數(shù),有效地提高了請求異常的處理和網(wǎng)絡(luò)請求響應(yīng)效率。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本申請的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機(jī)盤盒(磁裝置),隨機(jī)存取存儲器(ram),只讀存儲器(rom),可擦除可編輯只讀存儲器(eprom或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(cdrom)。另外,計算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲在計算機(jī)存儲器中。
應(yīng)當(dāng)理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,該 程序在執(zhí)行時,包括方法實(shí)施例的步驟之一或其組合。
此外,在本申請各個實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實(shí)施例或示例中以合適的方式結(jié)合。
盡管已經(jīng)示出和描述了本申請的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本申請的原理和宗旨的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本申請的范圍由權(quán)利要求及其等同限定。