一種發(fā)送數(shù)據(jù)包的方法及終端設(shè)備的制作方法
【專利摘要】本發(fā)明提供一種發(fā)送數(shù)據(jù)包的方法及終端設(shè)備。該方法應(yīng)用于作為服務(wù)端的終端設(shè)備上,終端設(shè)備通過網(wǎng)絡(luò)與電子設(shè)備連接,終端設(shè)備與電子設(shè)備之間形成網(wǎng)絡(luò)鏈路,網(wǎng)絡(luò)鏈路上具有多個網(wǎng)絡(luò)設(shè)備;該方法包括:獲得電子設(shè)備的連接請求;基于連接請求,按照預(yù)定策略確定向電子設(shè)備所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,其中,TTL值為第一值的數(shù)據(jù)包能夠到達(dá)電子設(shè)備;基于第一值確定TTL值的第二值,其中,TTL值為第二值的數(shù)據(jù)包能夠到達(dá)網(wǎng)絡(luò)鏈路中離電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備;向電子設(shè)備發(fā)送TTL值為第二值的數(shù)據(jù)包。
【專利說明】一種發(fā)送數(shù)據(jù)包的方法及終端設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種發(fā)送數(shù)據(jù)包的方法及終端設(shè)備。
【背景技術(shù)】
[0002]在目前的通信網(wǎng)絡(luò)中,終端設(shè)備基本上都處于防火墻、路由器等網(wǎng)絡(luò)設(shè)備的后面,除非在這些客戶端設(shè)備上配置特定的規(guī)則,否則服務(wù)端無法從互聯(lián)網(wǎng)上直接訪問這些客戶端設(shè)備。
[0003]在現(xiàn)有技術(shù)中,主要是通過客戶端設(shè)備與服務(wù)端建立連接后短時間定期發(fā)送數(shù)據(jù)包維持客戶端設(shè)備到服務(wù)器端的連接,進(jìn)而實現(xiàn)服務(wù)端到客戶端設(shè)備的數(shù)據(jù)發(fā)送。
[0004]然而,本發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),在現(xiàn)有技術(shù)中,因為是通過服務(wù)端定期或不定期發(fā)送數(shù)據(jù)包給客戶端設(shè)備以保持服務(wù)端到客戶端設(shè)備之間的網(wǎng)絡(luò)鏈路暢通,即該些數(shù)據(jù)包都會發(fā)送到客戶端設(shè)備,所以客戶端設(shè)備必須一直保持活動狀態(tài),所以增加了客戶端設(shè)備的負(fù)擔(dān),造成了流量和電量的額外消耗。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種發(fā)送數(shù)據(jù)包的方法及終端設(shè)備,用以解決現(xiàn)有技術(shù)中存在的為保持服務(wù)端到客戶端設(shè)備間的網(wǎng)絡(luò)鏈路通暢,而將數(shù)據(jù)包頻繁的發(fā)送到客戶端設(shè)備,增加了客戶端設(shè)備的負(fù)擔(dān),造成了流量和電量的額外消耗的技術(shù)問題。
[0006]本發(fā)明一方面提供了一種發(fā)送數(shù)據(jù)包的方法,應(yīng)用于一作為服務(wù)端的終端設(shè)備上,所述終端設(shè)備通過網(wǎng)絡(luò)與一電子設(shè)備連接,所述終端設(shè)備與所述電子設(shè)備之間形成一網(wǎng)絡(luò)鏈路,所述網(wǎng)絡(luò)鏈路上具有多個網(wǎng)絡(luò)設(shè)備;所述方法包括:獲得所述電子設(shè)備的連接請求;基于所述連接請求,按照預(yù)定策略確定向所述電子設(shè)備所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,其中,所述TTL值為所述第一值的數(shù)據(jù)包能夠到達(dá)所述電子設(shè)備;基于所述第一值確定所述TTL值的第二值,其中,所述TTL值為所述第二值的數(shù)據(jù)包能夠到達(dá)所述網(wǎng)絡(luò)鏈路中離所述電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備;向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包。
[0007]優(yōu)選地,所述向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包,具體包括:確定向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率,所述預(yù)定發(fā)包頻率為當(dāng)發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的發(fā)包頻率小于所述預(yù)定發(fā)包頻率時所述網(wǎng)絡(luò)鏈路就會斷開的發(fā)包頻率;基于所述預(yù)定發(fā)包頻率發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包,以確保所述網(wǎng)絡(luò)鏈路的暢通。
[0008]優(yōu)選地,所述基于所述連接請求,按照預(yù)定策略確定向所述電子設(shè)備所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,具體包括:基于所述連接請求,向所述電子設(shè)備發(fā)送所述TTL值為第一初始值的第一數(shù)據(jù)包;如果在發(fā)送所述第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第一應(yīng)答包,則確定所述第一初始值為所述第一值。
[0009]優(yōu)選地,所述方法還包括:如果在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包,則向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;如果在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包,則確定所述第二初始值為所述第一值。
[0010]優(yōu)選地,所述方法還包括:如果在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包,則判斷在發(fā)送所述第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),是否收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息;如果在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息,則向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;如果在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包,則確定所述第二初始值為所述第一值。
[0011]優(yōu)選地,所述方法還包括:如果在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),未收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息,則判斷發(fā)送所述第一數(shù)據(jù)包的次數(shù)是否達(dá)到一預(yù)定次數(shù);如果發(fā)送所述第一數(shù)據(jù)包的次數(shù)未達(dá)到所述預(yù)定次數(shù),則向所述電子設(shè)備發(fā)送所述第一數(shù)據(jù)包。
[0012]優(yōu)選地,所述方法還包括:如果發(fā)送所述第一數(shù)據(jù)包的次數(shù)達(dá)到所述預(yù)定次數(shù),則發(fā)送所述第二數(shù)據(jù)包。
[0013]優(yōu)選地,所述基于所述第一值確定所述TTL值的第二值,具體為:將所述第一值減一得到所述第二值。
[0014]本發(fā)明一實施例還提供一種終端設(shè)備,作為服務(wù)端通過網(wǎng)絡(luò)與一電子設(shè)備連接,所述終端設(shè)備與所述電子設(shè)備之間形成一網(wǎng)絡(luò)鏈路,所述網(wǎng)絡(luò)鏈路上具有多個網(wǎng)絡(luò)設(shè)備;所述終端設(shè)備包括:電路板;第一通信單元,設(shè)置在所述電路板上,用于獲得所述電子設(shè)備的連接請求;處理器,設(shè)置在所述電路板上,用于基于所述連接請求,按照預(yù)定策略確定向所述電子設(shè)備所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,其中,所述TTL值為所述第一值的數(shù)據(jù)包能夠到達(dá)所述電子設(shè)備;基于所述第一值確定所述TTL值的第二值,其中,所述TTL值為所述第二值的數(shù)據(jù)包能夠到達(dá)所述網(wǎng)絡(luò)鏈路中離所述電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備;第二通信單元,連接于所述處理器,用于向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包。
[0015]優(yōu)選地,所述處理器具體還用于確定向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率,所述預(yù)定發(fā)包頻率為當(dāng)發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的發(fā)包頻率小于所述預(yù)定發(fā)包頻率時所述網(wǎng)絡(luò)鏈路就會斷開的發(fā)包頻率;所述第二通信單元具體用于基于所述預(yù)定發(fā)包頻率發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包,以確保所述網(wǎng)絡(luò)鏈路的暢通。
[0016]優(yōu)選地,所述第二通信單元具體用于基于所述連接請求,向所述電子設(shè)備發(fā)送所述TTL值為第一初始值的第一數(shù)據(jù)包;所述處理器具體用于在發(fā)送所述第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第一應(yīng)答包時,確定所述第一初始值為所述第一值。
[0017]優(yōu)選地,所述第二通信單元具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包時,向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;所述處理器具體還用于在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包時,確定所述第二初始值為所述第一值。
[0018]優(yōu)選地,所述處理器具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包,則判斷在發(fā)送所述第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),是否收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息;所述第二通信單元具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息時,則向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;所述處理器具體還用于在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包時,確定所述第二初始值為所述第一值。
[0019]優(yōu)選地,所述處理器具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),未收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息時,判斷發(fā)送所述第一數(shù)據(jù)包的次數(shù)是否達(dá)到一預(yù)定次數(shù);所述第二通信單元具體還用于發(fā)送所述第一數(shù)據(jù)包的次數(shù)未達(dá)到所述預(yù)定次數(shù),則向所述電子設(shè)備發(fā)送所述第一數(shù)據(jù)包。
[0020]優(yōu)選地,所述第二通信單元具體還用于在發(fā)送所述第一數(shù)據(jù)包的次數(shù)達(dá)到所述預(yù)定次數(shù)時,發(fā)送所述第二數(shù)據(jù)包。
[0021]優(yōu)選地,所述處理器具體用于將所述第一值減一得到所述第二值。
[0022]本發(fā)明實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0023]本發(fā)明一實施例中首先基于電子設(shè)備的連接請求,按照預(yù)定策略確定向電子設(shè)備發(fā)送數(shù)據(jù)包包含的TTL值為第一值,TTL值為第一值時,數(shù)據(jù)包能夠到達(dá)電子設(shè)備,所以可以基于第一值而確定出第二值,使得TTL值為第二值的數(shù)據(jù)包能夠到達(dá)網(wǎng)絡(luò)鏈路中離該電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備,然后向第二電子設(shè)備發(fā)送TTL值為第二值的數(shù)據(jù)包,以保持該網(wǎng)絡(luò)鏈路的暢通,因為TTL值為第二值的數(shù)據(jù)包最遠(yuǎn)能夠到達(dá)網(wǎng)絡(luò)鏈路中離電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備,所以可以在電子設(shè)備不參與的情況下發(fā)送數(shù)據(jù)包以保持網(wǎng)絡(luò)鏈路的暢通,所以可以節(jié)約流量,電子設(shè)備也可以進(jìn)行休眠,進(jìn)而省電。
[0024]進(jìn)一步,本發(fā)明實施例中是先確定出第一值,然后再根據(jù)第一值確定出第二值,因為TTL值為第一值的數(shù)據(jù)包能夠到達(dá)電子設(shè)備,所以根據(jù)TTL值的特性,很容易就能確定出第二值,例如將第一值減一就可以得到第二值,所以操作簡單,容易實現(xiàn)。
[0025]進(jìn)一步,本發(fā)明一實施例采用預(yù)定發(fā)包頻率發(fā)送數(shù)據(jù)包以確保網(wǎng)絡(luò)鏈路的暢通,該預(yù)定發(fā)包頻率為當(dāng)發(fā)送TTL值為第二值的數(shù)據(jù)包的發(fā)包頻率小于預(yù)定發(fā)包頻率時網(wǎng)絡(luò)鏈路就會斷開的發(fā)包頻率。因此,本實施例既可達(dá)到維持網(wǎng)絡(luò)鏈路的暢通,又使得發(fā)包頻率達(dá)到最低,所以大大節(jié)約了流量,減輕了終端設(shè)備和電子設(shè)備的負(fù)擔(dān)。
[0026]更進(jìn)一步,本發(fā)明一實施例中基于電子設(shè)備的連接請求,然后利用連接請求的數(shù)據(jù)通道向電子設(shè)備發(fā)送不同的TTL值的數(shù)據(jù)包進(jìn)行試探,當(dāng)接收到電子設(shè)備的應(yīng)答包時,即可以確定出該應(yīng)答包對應(yīng)的TTL值即為第一值,該方法可以有效地探測到終端設(shè)備到電子設(shè)備之間的TTL值,而不用修改電子設(shè)備的程序或者需要電子設(shè)備具有特殊的權(quán)限。
【專利附圖】
【附圖說明】
[0027]圖1為本發(fā)明一實施例中的發(fā)送數(shù)據(jù)包的方法所應(yīng)用的網(wǎng)絡(luò)環(huán)境圖;
[0028]圖2為本發(fā)明一實施例中的發(fā)送數(shù)據(jù)包的方法流程圖;[0029]圖3為本發(fā)明一實施例中的確定TTL值的方法流程圖。[0030]圖4為本發(fā)明一實施例中的確定TTL值的方法流程圖。[0031]圖5為本發(fā)明一實施例中的確定預(yù)定發(fā)包頻率的流程圖。[0032]圖6為本發(fā)明一實施例中的確定預(yù)定發(fā)包頻率的時間示意圖。[0033]圖7為本發(fā)明一實施例中的確定預(yù)定發(fā)包頻率的另一流程圖。[0034]圖8為本發(fā)明一實施例中的終端設(shè)備的架構(gòu)圖?!揪唧w實施方式】
[0035]本發(fā)明實施例提供一種發(fā)送數(shù)據(jù)包的方法及終端設(shè)備,用以解決現(xiàn)有技術(shù)中存在的為保持服務(wù)端到客戶端設(shè)備間的網(wǎng)絡(luò)鏈路通暢,而將數(shù)據(jù)包頻繁的發(fā)送到客戶端設(shè)備,增加了客戶端設(shè)備的負(fù)擔(dān),造成了流量和電量的額外消耗的技術(shù)問題。
[0036]本發(fā)明實施例中的技術(shù)方案為解決上述的技術(shù)問題,總體思路如下:
[0037]首先基于電子設(shè)備的連接請求,按照預(yù)定策略確定向電子設(shè)備發(fā)送數(shù)據(jù)包包含的TTL值為第一值,TTL值為第一值時,數(shù)據(jù)包能夠到達(dá)電子設(shè)備,所以可以基于第一值而確定出第二值,使得TTL值為第二值的數(shù)據(jù)包能夠到達(dá)網(wǎng)絡(luò)鏈路中離該電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備,然后向第二電子設(shè)備發(fā)送TTL值為第二值的數(shù)據(jù)包,以保持該網(wǎng)絡(luò)鏈路的暢通,因為TTL值為第二值的數(shù)據(jù)包最遠(yuǎn)能夠到達(dá)網(wǎng)絡(luò)鏈路中離電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備,所以可以在電子設(shè)備不參與的情況下發(fā)送數(shù)據(jù)包以保持網(wǎng)絡(luò)鏈路的暢通,所以可以節(jié)約流量,電子設(shè)備也可以進(jìn)行休眠,進(jìn)而省電。
[0038]為了更好的理解上述技術(shù)方案,下面將結(jié)合說明書附圖以及具體的實施方式對上述技術(shù)方案進(jìn)行詳細(xì)的說明。
[0039]本發(fā)明一實施例提供一種發(fā)送數(shù)據(jù)包的方法,應(yīng)用于一作為服務(wù)端的終端設(shè)備上,如圖1所示,終端設(shè)備10通過網(wǎng)絡(luò)與一電子設(shè)備20連接,終端設(shè)備10與電子設(shè)備20之間形成一網(wǎng)絡(luò)鏈路30,網(wǎng)絡(luò)鏈路30上具有多個網(wǎng)絡(luò)設(shè)備,例如網(wǎng)絡(luò)設(shè)備301、網(wǎng)絡(luò)設(shè)備302、網(wǎng)絡(luò)設(shè)備303、網(wǎng)絡(luò)設(shè)備304。
[0040]TTL (Time To Live,生存時間)值是協(xié)議包中的一個值,它告訴網(wǎng)絡(luò),數(shù)據(jù)包在網(wǎng)絡(luò)中的時間是否太長而應(yīng)被丟棄,由于每個網(wǎng)絡(luò)設(shè)備,例如路由器都至少要把TTL值域減一,所以TTL通常表示數(shù)據(jù)包在被丟棄前最多能經(jīng)過的路由器個數(shù),當(dāng)記數(shù)到零時,路由器決定丟棄該包,并發(fā)送一個報文給最初的發(fā)送者。
[0041]接下來,請參考圖2,圖2為本實施例中的發(fā)送數(shù)據(jù)包的方法流程圖,該方法包括:
[0042]步驟210:獲得電子設(shè)備20的連接請求;
[0043]步驟212:基于連接請求,按照預(yù)定策略確定向電子設(shè)備20所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,其中,TTL值為第一值的數(shù)據(jù)包能夠到達(dá)電子設(shè)備20 ;
[0044]步驟214:基于第一值確定TTL值的第二值,其中,TTL值為第二值的數(shù)據(jù)包能夠到達(dá)網(wǎng)絡(luò)鏈路30中離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備;
[0045]步驟216:向電子設(shè)備20發(fā)送TTL值為第二值的數(shù)據(jù)包。
[0046]其中,在步驟210中,獲得電子設(shè)備20的連接請求,例如網(wǎng)絡(luò)鏈路30是UDP(UserDatagram Protocol ;用戶數(shù)據(jù)包協(xié)議)連接時,電子設(shè)備20向終端設(shè)備10的監(jiān)聽端口發(fā)送UDP數(shù)據(jù)包,該UDP數(shù)據(jù)包包含有目的地址、目的端口、源地址和源端口 ;如果網(wǎng)絡(luò)鏈路30是TCP (Transmission Control Protocol ;傳輸控制協(xié)議)連接時,電子設(shè)備20向終端設(shè)備的監(jiān)聽端口發(fā)送TCP連接請求。
[0047]接下來在步驟212中,終端設(shè)備基于該連接請求,按照預(yù)定策略確定向電子設(shè)備20所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,當(dāng)終端設(shè)備10向電子設(shè)備20發(fā)送TTL值為第一值的數(shù)據(jù)包時,TTL值為第一值的數(shù)據(jù)包能夠到達(dá)電子設(shè)備20。
[0048]具體來講,請參考圖3,為確定第一值的流程圖:
[0049]步驟2121:基于該連接請求,設(shè)置TTL值為第一初始值,例如為1,即從最小的值開始試探;
[0050]步驟2122:向電子設(shè)備20發(fā)送TTL值為設(shè)定值的數(shù)據(jù)包,如果是第一次設(shè)置的話,該設(shè)定值即為第一初始值;
[0051]步驟2123:判斷是否在第一預(yù)定時間內(nèi)收到電子設(shè)備20的應(yīng)答包,如果是的話就執(zhí)行步驟2124,如果是否的話就執(zhí)行步驟2125 ;
[0052]步驟2124:將當(dāng)前TTL值作為第一值;
[0053]步驟2125:將TTL值設(shè)為第二初始值,例如為2,然后進(jìn)入步驟2122繼續(xù)試探,直到步驟2123的判斷結(jié)果為是。
[0054]以下將舉具體的實例進(jìn)行說明,在本實施例中,例如如圖1所示,假設(shè)終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301,因為每經(jīng)過一個網(wǎng)絡(luò)設(shè)備,TTL值就減一,則從終端設(shè)備10傳送一個數(shù)據(jù)包到電子設(shè)備20,要使得該數(shù)據(jù)包能到達(dá)電子設(shè)備20,即網(wǎng)絡(luò)設(shè)備304接收到該數(shù)據(jù)包時,TTL值至少要為1,所以從終端設(shè)備10發(fā)送該數(shù)據(jù)包時,TTL值至少要設(shè)置為1,即第一值要等于I。
[0055]假定在上述情況下,終端設(shè)備10基于該連接請求,將TTL值設(shè)為第一初始值1,然后判斷在第一預(yù)定時間內(nèi)是否收到電子設(shè)備20的第一應(yīng)答包,而第一預(yù)定時間的設(shè)置可以根據(jù)網(wǎng)絡(luò)鏈路30的類型和數(shù)據(jù)傳輸速度來確定,較佳的,第一預(yù)定時間可以設(shè)置的長一點,可以增加試探的準(zhǔn)確性,但是也不能太長,造成時間的浪費。
[0056]因為在上述假定的情況下,終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301,所以第一數(shù)據(jù)包會達(dá)到電子設(shè)備20,所以電子設(shè)備20在收到第一數(shù)據(jù)包后會發(fā)送第一應(yīng)答包給終端設(shè)備10,所以終端設(shè)備10會收到電子設(shè)備20的第一應(yīng)答包,所以這時可以確定第一初始值即為第一值。
[0057]在另一實施例中,例如如圖1所示,假設(shè)終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301和網(wǎng)絡(luò)設(shè)備302,因為每經(jīng)過一個網(wǎng)絡(luò)設(shè)備,TTL值就減一,則從終端設(shè)備10傳送一個數(shù)據(jù)包到電子設(shè)備20,要使得該數(shù)據(jù)包能到達(dá)電子設(shè)備20,即網(wǎng)絡(luò)設(shè)備304接收到該數(shù)據(jù)包時,TTL值至少要為1,所以從終端設(shè)備10發(fā)送該數(shù)據(jù)包時,TTL值至少要設(shè)置為2,
即第一值要等于2。
[0058]在這個假定情況下,TTL值為第一初始值,即I的數(shù)據(jù)包在發(fā)送到網(wǎng)絡(luò)設(shè)備302時,TTL值已經(jīng)為0,所以網(wǎng)絡(luò)設(shè)備302會丟棄該數(shù)據(jù)包,所以電子設(shè)備20不會收到第一數(shù)據(jù)包,所以也不會發(fā)送第一應(yīng)答包給終端設(shè)備10,所以在發(fā)送第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),不會收到電子設(shè)備20的第一應(yīng)答包。
[0059]因此,這時就將TTL值設(shè)為第二初始值,例如為2,并向電子設(shè)備20發(fā)送TTL值為第二初始值的第二數(shù)據(jù)包,在這種假定情況下,終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301和網(wǎng)絡(luò)設(shè)備302,所以第二數(shù)據(jù)包會達(dá)到電子設(shè)備20,所以電子設(shè)備20在收到第二數(shù)據(jù)包后會發(fā)送第二應(yīng)答包給終端設(shè)備10,所以終端設(shè)備10會收到電子設(shè)備20的第二應(yīng)答包,所以這時可以確定第二初始值即為第一值。
[0060]從前述舉例描述可知,可以按照前述步驟2121到步驟2125進(jìn)行反復(fù)試探,直到試探到數(shù)據(jù)包包含的TTL值能夠到達(dá)電子設(shè)備20為止。
[0061]進(jìn)一步,請參考圖4,為另一實施例中確定第一值的方法流程圖,其中與圖3實施例中相同的步驟就不在這里重復(fù)了:
[0062]步驟2126:判斷是否在第二預(yù)定時間內(nèi)收到網(wǎng)絡(luò)設(shè)備的超時反饋信息;其中,當(dāng)步驟2123的判斷結(jié)果為否時執(zhí)行步驟2126,而當(dāng)步驟2126的判斷結(jié)果為是時,就執(zhí)行步驟2125,而當(dāng)步驟2126的判斷結(jié)果為否時就執(zhí)行步驟2127 ;
[0063]步驟2127:判斷發(fā)送TTL值為設(shè)定值的數(shù)據(jù)包的次數(shù)是否達(dá)到一預(yù)定次數(shù);其中,當(dāng)步驟2127的判斷結(jié)果為是時,就執(zhí)行步驟2125,而當(dāng)步驟2127的判斷結(jié)果為否時,就繼續(xù)執(zhí)行步驟2122,直到步驟2123的判斷結(jié)果為是。
[0064]繼續(xù)沿用前面的例子來說,即假設(shè)終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301和網(wǎng)絡(luò)設(shè)備302、第一數(shù)據(jù)包的TTL值為I的情況下,因為在第一數(shù)據(jù)包發(fā)送后的第一預(yù)定時間內(nèi),是不會收到電子設(shè)備的第一應(yīng)答包(參見前述描述),所以這時就執(zhí)行步驟2126,判斷在發(fā)送第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),是否收到多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息,在本實施例中,網(wǎng)絡(luò)設(shè)備302在接收到第一數(shù)據(jù)包時,TTL值已經(jīng)減為零,所以就會丟棄第一數(shù)據(jù)包,并給終端設(shè)備10發(fā)送一個超時反饋信息,例如是ICMP (Internet Control Message Protocol ;網(wǎng)際控制報文協(xié)議)報文。由此,終端設(shè)備10即可知道TTL值太小,需要增加。
[0065]因此,在發(fā)送第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),收到網(wǎng)絡(luò)設(shè)備302發(fā)送的第一超時反饋信息,這時就繼續(xù)執(zhí)行步驟2125,即將TTL值設(shè)置為第二初始值,例如為2,并執(zhí)行步驟2122,即向電子設(shè)備發(fā)送TTL值為第二初始值的第二數(shù)據(jù)包,在這種假定情況下,終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301和網(wǎng)絡(luò)設(shè)備302,所以第二數(shù)據(jù)包會達(dá)到電子設(shè)備20,所以電子設(shè)備20在收到第二數(shù)據(jù)包后會發(fā)送第二應(yīng)答包給終端設(shè)備10,所以終端設(shè)備10會收到電子設(shè)備20的第二應(yīng)答包,所以這時可以確定第二初始值即為第一值。
[0066]其中,第二預(yù)定時間可以大于等于第一預(yù)定時間,也可以小于第一預(yù)定時間。
[0067]而當(dāng)步驟2126的判斷結(jié)果為否時,則執(zhí)行步驟2127,繼續(xù)沿用上述實例,即判斷發(fā)送第一數(shù)據(jù)包的次數(shù)是否達(dá)到一預(yù)定次數(shù),如果判斷的結(jié)果為否的話,就繼續(xù)執(zhí)行步驟2122,即繼續(xù)發(fā)送TTL值為第一初始值的第一數(shù)據(jù)包。
[0068]而如果步驟2127的判斷結(jié)果為是的話,則執(zhí)行步驟2125,接著再執(zhí)行步驟2122。如此反復(fù)試探,便可確定出第一值。
[0069]進(jìn)一步,在上述各實施例中,如果網(wǎng)絡(luò)鏈路30為UDP連接,則發(fā)送的數(shù)據(jù)包為UDP數(shù)據(jù)包,而應(yīng)答包也為UDP包;如果網(wǎng)絡(luò)鏈路30為TCP連接,則發(fā)送的數(shù)據(jù)包為TCP數(shù)據(jù)包,而應(yīng)答包為TCPAck包。
[0070]上述方案基于電子設(shè)備的連接請求,然后利用連接請求的數(shù)據(jù)通道向電子設(shè)備發(fā)送不同的TTL值的數(shù)據(jù)包進(jìn)行試探,進(jìn)而確定出該應(yīng)答包對應(yīng)的TTL值,該方法可以有效地探測到終端設(shè)備10到電子設(shè)備20之間的TTL值,而不用修改電子設(shè)備20的程序或者需要電子設(shè)備20具有特殊的權(quán)限。
[0071]當(dāng)通過步驟212確定出TTL值的第一值時,就可執(zhí)行步驟214,即基于第一值確定TTL值的第二值,因為第一值對應(yīng)的數(shù)據(jù)包恰好能夠到達(dá)電子設(shè)備20,因為每過一網(wǎng)絡(luò)設(shè)備,TTL值就減一,所以反之亦然,想要第二值對應(yīng)的數(shù)據(jù)包能夠到達(dá)網(wǎng)絡(luò)鏈路30中離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備,需要在第一值的基礎(chǔ)上至少減一,即可得到第二值。因此,該方法所以操作簡單,容易實現(xiàn)。
[0072]例如,在圖1中,假設(shè)終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301、網(wǎng)絡(luò)設(shè)備302、網(wǎng)絡(luò)設(shè)備303、網(wǎng)絡(luò)設(shè)備304四個網(wǎng)絡(luò)設(shè)備,每經(jīng)過一個網(wǎng)絡(luò)設(shè)備,TTL值就減一,那么確定出的第一值例如為4,那么第二值即為3。因此,在網(wǎng)絡(luò)設(shè)備304接收到該數(shù)據(jù)包時,TTL值顯示該數(shù)據(jù)包只能傳輸至此,需要丟棄掉,所以數(shù)據(jù)包就不會傳送給電子設(shè)備20,電子設(shè)備20就可以處于休眠狀態(tài),進(jìn)行省電。
[0073]在步驟216中,向電子設(shè)備20發(fā)送TTL值為第二值的數(shù)據(jù)包,可以是定期發(fā)送,也可以是不定期發(fā)送。
[0074]進(jìn)一步可以先確定發(fā)送TTL值為第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率,當(dāng)發(fā)送TTL值為第二值的數(shù)據(jù)包的發(fā)包頻率小于預(yù)定發(fā)包頻率時網(wǎng)絡(luò)鏈路30就會斷開,即預(yù)定發(fā)包頻率為一個臨界頻率,在該發(fā)包頻率下,可確保網(wǎng)絡(luò)鏈路30為暢通狀態(tài),并且為維持網(wǎng)絡(luò)鏈路30暢通所發(fā)的數(shù)據(jù)包的流量最少,所以可以減小流量,節(jié)約網(wǎng)絡(luò)資源,減輕了終端設(shè)備10和電子設(shè)備20的負(fù)擔(dān)。
[0075]然后基于預(yù)定發(fā)包頻率發(fā)送TTL值為第二值的數(shù)據(jù)包,以確保網(wǎng)絡(luò)鏈路30的暢通。
[0076]基于上述技術(shù)方案,當(dāng)?shù)诙档臄?shù)據(jù)包最遠(yuǎn)能夠到達(dá)離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備時,即可以保持網(wǎng)絡(luò)鏈路30的暢通,又不需要發(fā)送到電子設(shè)備20,所以電子設(shè)備20可以進(jìn)入休眠狀態(tài)或者其他省電狀態(tài),只有需要發(fā)送數(shù)據(jù)包給電子設(shè)備20時,就發(fā)送TTL值為第一值的數(shù)據(jù)包即可,所以可以省電,同時也節(jié)約了電子設(shè)備20的流量。進(jìn)一步,可確保終端設(shè)備10和電子設(shè)備20之間的網(wǎng)路鏈路30暢通,同時發(fā)包頻率最低,所以減小了流量,節(jié)約了網(wǎng)絡(luò)資源,減輕了終端設(shè)備10和電子設(shè)備20的負(fù)擔(dān)。
[0077]其中,確定發(fā)送TTL值為第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率的方式有很多,以下將詳細(xì)介紹其中一種確定發(fā)送TTL值為第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率的方式。
[0078]請同時參考圖5和圖6,步驟310:在t0時刻將發(fā)包周期設(shè)置為T0,其中TO的值可基于網(wǎng)絡(luò)鏈路30的連接類型確定,例如,如果網(wǎng)絡(luò)鏈路30是TCP連接,則TO的值可設(shè)為5分鐘,如果網(wǎng)絡(luò)鏈路30是UDP連接,則TO的值可設(shè)為5秒,TO的值可設(shè)置為一個數(shù)據(jù)包在網(wǎng)絡(luò)鏈路30傳輸?shù)阶詈笠粋€網(wǎng)絡(luò)設(shè)備(例如圖1中的網(wǎng)絡(luò)設(shè)備304)再返回到終端設(shè)備10所用時間的兩倍,因為當(dāng)?shù)诙狄呀?jīng)確定時,終端設(shè)備10和電子設(shè)備20之間的網(wǎng)絡(luò)鏈路30的長度已經(jīng)確定,所以TO可輕易計算出來,這樣設(shè)置出來的TO比較接近實際終端設(shè)備10和電子設(shè)備20之間可保持連接的時間,所以在后續(xù)進(jìn)一步確定發(fā)包頻率的時候,可以更快更準(zhǔn)確也更容易找到預(yù)定發(fā)包頻率。當(dāng)然,在其他實施例中,TO的值也可以通過其他方式來設(shè)置,例如本領(lǐng)域技術(shù)人員可根據(jù)經(jīng)驗設(shè)置,甚至可以隨意設(shè)置一個值,只是后續(xù)反復(fù)試探的步驟比較多,但是并不影響最后的結(jié)果。
[0079]進(jìn)一步,t0時刻可以是任何時刻,在第二值確定的情況下,隨時都可以開始確定預(yù)定發(fā)包頻率,也可以是每次網(wǎng)絡(luò)鏈路30剛建立的時刻。
[0080]步驟312:在t0時刻向電子設(shè)備20發(fā)送TTL值為第二值的第一數(shù)據(jù)包,因為TTL值為第二值的數(shù)據(jù)包能夠到達(dá)離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備。例如,繼續(xù)沿用前述例子,即終端設(shè)備10和電子設(shè)備20之間只有網(wǎng)絡(luò)設(shè)備301、網(wǎng)絡(luò)設(shè)備302、網(wǎng)絡(luò)設(shè)備303、網(wǎng)絡(luò)設(shè)備304四個網(wǎng)絡(luò)設(shè)備,離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備即為網(wǎng)絡(luò)設(shè)備304,所以這個過程也不需要電子設(shè)備20參與,所以可以節(jié)約流量,同時電子設(shè)備20也可以省電。
[0081]步驟314:在發(fā)送第一數(shù)據(jù)包后的預(yù)定時間內(nèi),判斷是否收到離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備的第一超時反饋信息。
[0082]其中,預(yù)定時間是基于網(wǎng)絡(luò)鏈路30的長度和數(shù)據(jù)包在網(wǎng)絡(luò)鏈路30上的傳輸速度確定的,所以預(yù)定時間大約是數(shù)據(jù)包從終端設(shè)備10發(fā)出,經(jīng)過網(wǎng)絡(luò)設(shè)備,等到達(dá)最后一個網(wǎng)絡(luò)設(shè)備,例如圖1中的網(wǎng)絡(luò)設(shè)備304時,因為這時TTL值表示需要丟棄該數(shù)據(jù)包,所以網(wǎng)絡(luò)設(shè)備304會給終端設(shè)備10發(fā)送一個報文,報告數(shù)據(jù)包已丟棄,到收到該報文的時間,所以TO大約是預(yù)定時間的兩倍。另外,第一超時反饋信息例如是一個ICMP報文。
[0083]當(dāng)在預(yù)定時間內(nèi)收到了離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備的第一超時反饋信息,表示目前網(wǎng)絡(luò)鏈路30是暢通的,所以網(wǎng)絡(luò)鏈路30從t0時刻開始就重新開始一個新的周期了,即從t0時刻重新計算終端設(shè)備10和電子設(shè)備20之間網(wǎng)絡(luò)鏈路30可保持暢通的時間。然后執(zhí)行步驟316:則在tl時刻向電子設(shè)備20發(fā)送TTL值為第二值的第二數(shù)據(jù)包,其中,tl時刻為to時刻加上TO的時刻,預(yù)定時間小于T0。
[0084]具體來說,例如網(wǎng)絡(luò)鏈路30的連接類型是UDP連接,網(wǎng)絡(luò)鏈路30上有四個網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)鏈路30的長度已經(jīng)確定,計算出來的TO例如是5秒,而預(yù)定時間例如是2.5秒,在t0時刻將計算器清零,從零開始計,也可以從5秒開始倒計時,在本實施例中,采用從零開始計的方式。所以在O秒的時候發(fā)送第一數(shù)據(jù)包出去,在第2.5秒之內(nèi)就收到了第一超時反饋信息,說明網(wǎng)絡(luò)鏈路30是暢通的,而且從O秒開始重新開始一個新的周期,所以就假定周期是T0,試探一下,所以在收到第一超時反饋信息后,就等到第5秒時再發(fā)送一個TTL值為第二值的第二數(shù)據(jù)包。
[0085]接下來執(zhí)行步驟318:在發(fā)送第二數(shù)據(jù)包后的預(yù)定時間內(nèi),判斷是否收到離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備的第二超時反饋信息。
[0086]如果收到第二超時反饋信息,就表示網(wǎng)絡(luò)鏈路30可保持暢通的時間是大于TO的,例如終端設(shè)備10在第7.5秒收到了第二超時反饋信息,說明發(fā)包周期可再延長。
[0087]因此,接下來執(zhí)行步驟320:則將發(fā)包周期設(shè)置為Tl,并在t2時刻向電子設(shè)備20發(fā)送TTL值為第二值的第三數(shù)據(jù)包,其中,Tl的值大于TO的值,t2時刻為tl時刻加上Tl的時刻。
[0088]繼續(xù)沿用前述的例子,因為在第7.5秒的時候收到了第二超時反饋信息,所以表明可以進(jìn)一步延長發(fā)包周期,所以就重新設(shè)置發(fā)包周期為Tl,例如6秒,即在原來5秒的基礎(chǔ)上增加I秒,所以再等待到第11秒的時候就發(fā)送第三數(shù)據(jù)包,以試探發(fā)包周期為6秒是否可行。
[0089]然后執(zhí)行步驟322:在發(fā)送第三數(shù)據(jù)包后的預(yù)定時間內(nèi),判斷是否收到離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備的第三超時反饋信息。
[0090]如果沒有收到第三超時反饋信息,就說明發(fā)包周期為6秒時網(wǎng)絡(luò)鏈路30就會斷開,無法維持暢通,所以這時可以執(zhí)行步驟324:確定TO對應(yīng)的發(fā)包頻率為預(yù)定發(fā)包頻率,即發(fā)包周期為5秒,預(yù)定發(fā)包頻率就為1/5。
[0091]當(dāng)然,如果在步驟322的判斷結(jié)果為是的情況下,說明發(fā)包周期為6秒時網(wǎng)絡(luò)鏈路30也可維持暢通,所以需要再進(jìn)一步嘗試發(fā)包周期大于6秒的情況,例如再設(shè)置為7秒,即反復(fù)執(zhí)行步驟320到步驟322,直到獲得步驟324的結(jié)果為止。
[0092]請繼續(xù)參考圖5,當(dāng)步驟314的判斷結(jié)果為否時,即如果在發(fā)送第一數(shù)據(jù)包后的預(yù)定時間內(nèi),未收到離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備的第一超時反饋信息,還包括步驟326:則重新基于電子設(shè)備20發(fā)起的連接請求,與電子設(shè)備20建立網(wǎng)絡(luò)鏈路30。
[0093]因為可以是在任何時刻開始確定預(yù)定發(fā)包頻率,所以可能網(wǎng)絡(luò)鏈路已經(jīng)斷開,所以會存在在發(fā)送第一數(shù)據(jù)包后的預(yù)定時間內(nèi),無法接收到第一超時反饋信息的情況,所以這時候需要再重新建立網(wǎng)絡(luò)鏈路30,當(dāng)網(wǎng)絡(luò)鏈路30剛建立好時,網(wǎng)絡(luò)鏈路30基本上還是暢通的,而且是一個完整的網(wǎng)路鏈路保持時間周期,所以在這種情況下,可以不執(zhí)行步驟312和步驟314,而直接執(zhí)行步驟316。
[0094]在進(jìn)一步的實施例中,當(dāng)步驟318的判斷結(jié)果為否時,請參考圖7,執(zhí)行步驟328:則將發(fā)包周期設(shè)置為T2,并在t3時刻向電子設(shè)備20發(fā)送TTL值為第二值的第四數(shù)據(jù)包,其中,T2的值小于TO的值,t3時刻為tl時刻加上T2的時刻。
[0095]步驟318判斷的結(jié)果為否,表示發(fā)包周期為TO是不可行的,例如5秒的發(fā)包周期太長,以致于網(wǎng)絡(luò)鏈路30已經(jīng)斷開,所以這時要把發(fā)包周期設(shè)置為T2,例如4秒,假如在第
7.5秒的時候沒有收到第二超時反饋信息,可以先執(zhí)行步驟326,將網(wǎng)絡(luò)鏈路30恢復(fù),然后再執(zhí)行步驟328,中間計時器可暫停計時,等網(wǎng)絡(luò)鏈路30恢復(fù)之后繼續(xù)計時,這時t3時刻即為第9秒的時刻;當(dāng)然,也可在網(wǎng)絡(luò)鏈路30恢復(fù)時,從零開始計,因為tl時刻變?yōu)榱?,這時t3時刻就是第4秒的時刻。
[0096]進(jìn)一步,再執(zhí)行步驟330:如果在發(fā)送第四數(shù)據(jù)包后的預(yù)定時間內(nèi),判斷是否收到離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備的第四超時反饋信息,如果收到,則說明4秒的發(fā)包周期是可行的,所以就執(zhí)行步驟332:確定T2對應(yīng)的發(fā)包頻率為預(yù)定發(fā)包頻率。
[0097]如果步驟330的判斷結(jié)果為否,則繼續(xù)執(zhí)行步驟326,然后再次開始執(zhí)行步驟328至步驟330,直至得到步驟332的結(jié)果;或者繼續(xù)執(zhí)行步驟310至步驟322,直至得到步驟324的結(jié)果。
[0098]以上說明過程中所提到的第一數(shù)據(jù)包、第二數(shù)據(jù)包、第三數(shù)據(jù)包、第四數(shù)據(jù)包只是為了方便描述,其之間并不代表先后順序或者一定不相同;同樣,第一超時反饋信息、第二超時反饋信息、第三超時反饋信息、第四超時反饋信息也只是為了方便描述,其之間并不代表先后順序或者一定不相同;以及與前述確定第一值過程中所提到的第一數(shù)據(jù)包、第二數(shù)據(jù)包、第一超時反饋信息為兩個不同的過程中為方便描述而用的,之間并沒有必然的關(guān)系。
[0099]由以上對確定預(yù)定發(fā)包頻率的舉例說明過程可以看出,確定預(yù)定發(fā)包頻率的過程就是一個反復(fù)試探的過程,先根據(jù)規(guī)則預(yù)先設(shè)定一個發(fā)包周期,然后按照設(shè)定的周期發(fā)送數(shù)據(jù)包,看在這個周期下是否可以維持網(wǎng)絡(luò)鏈路暢通,如果行,則試著增長發(fā)包周期,每次增長的量可以自行設(shè)置,可以很小很小的增加,例如每次增加I秒,甚至更小,例如增加0.1秒,能增加的最小單元取決于計時器最小能計時到什么級別,等增加到某一個發(fā)包周期后,發(fā)現(xiàn)再增加一個最小單位的時間量,網(wǎng)絡(luò)鏈路就不能維持暢通狀態(tài),就可以確定該發(fā)包周期對應(yīng)的發(fā)包頻率就是預(yù)定發(fā)包頻率。在實際運用時,也可以每次增加的量比較大,當(dāng)遇到不能維持網(wǎng)絡(luò)鏈路暢通的發(fā)包周期時,就重新建立網(wǎng)絡(luò)連接,然后在前次試探的基礎(chǔ)上往下減,經(jīng)過反復(fù)的減小之后,如果發(fā)現(xiàn)某次只減小了一個最小單元時間后,就可以維持網(wǎng)絡(luò)鏈路的暢通,那么就可以確定出最長的發(fā)包周期了,所以也可以確定出預(yù)定發(fā)包頻率了。
[0100]本發(fā)明一實施例還提供一種終端設(shè)備,如圖1中的終端設(shè)備10,作為服務(wù)端通過網(wǎng)絡(luò)與一電子設(shè)備20連接,終端設(shè)備10與電子設(shè)備20之間形成一網(wǎng)絡(luò)鏈路30,網(wǎng)絡(luò)鏈路30上具有多個網(wǎng)絡(luò)設(shè)備;如圖8所示,終端設(shè)備10包括:電路板701 ;第一通信單元702,設(shè)置在電路板701上,用于獲得電子設(shè)備20的連接請求;處理器703,設(shè)置在電路板701上,用于基于連接請求,按照預(yù)定策略確定向電子設(shè)備20所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,其中,TTL值為第一值的數(shù)據(jù)包能夠到達(dá)電子設(shè)備20;基于第一值確定TTL值的第二值,其中,TTL值為第二值的數(shù)據(jù)包能夠到達(dá)網(wǎng)絡(luò)鏈路30中離電子設(shè)備20最近的網(wǎng)絡(luò)設(shè)備;第二通信單元704,連接于處理器703,用于向電子設(shè)備20發(fā)送TTL值為第二值的數(shù)據(jù)包。
[0101]進(jìn)一步,處理器703具體還用于確定向電子設(shè)備20發(fā)送TTL值為第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率,預(yù)定發(fā)包頻率為當(dāng)發(fā)送TTL值為第二值的數(shù)據(jù)包的發(fā)包頻率小于預(yù)定發(fā)包頻率時網(wǎng)絡(luò)鏈路就會斷開的發(fā)包頻率;第二通信單元704具體用于基于預(yù)定發(fā)包頻率發(fā)送TTL值為第二值的數(shù)據(jù)包,以確保網(wǎng)絡(luò)鏈路的暢通。
[0102]在另一實施例中,第二通信單元704具體用于基于連接請求,向電子設(shè)備20發(fā)送TTL值為第一初始值的第一數(shù)據(jù)包;處理器703具體用于在發(fā)送第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),收到電子設(shè)備的第一應(yīng)答包時,確定第一初始值為第一值。
[0103]進(jìn)一步,第二通信單元704具體還用于在發(fā)送第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),未收到電子設(shè)備20的第一應(yīng)答包時,向電子設(shè)備20發(fā)送TTL值為第二初始值的第二數(shù)據(jù)包;其中,第二初始值大于第一初始值;處理器703具體還用于在發(fā)送第二數(shù)據(jù)包后的第一預(yù)定時間內(nèi),收到電子設(shè)備20的第二應(yīng)答包時,確定第二初始值為第一值。
[0104]在另一實施例中,處理器703具體還用于在發(fā)送第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),未收到電子設(shè)備20的第一應(yīng)答包,則判斷在發(fā)送第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),是否收到多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息;第二通信單元704具體還用于在發(fā)送第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),收到多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息時,則向電子設(shè)備20發(fā)送TTL值為第二初始值的第二數(shù)據(jù)包;其中,第二初始值大于第一初始值;處理器703具體還用于在發(fā)送第二數(shù)據(jù)包后的第一預(yù)定時間內(nèi),收到電子設(shè)備的第二應(yīng)答包時,確定第二初始值為第一值。
[0105]進(jìn)一步,處理器703具體還用于在發(fā)送第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),未收到多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息時,判斷發(fā)送第一數(shù)據(jù)包的次數(shù)是否達(dá)到一預(yù)定次數(shù);第二通信單元704具體還用于發(fā)送第一數(shù)據(jù)包的次數(shù)未達(dá)到預(yù)定次數(shù),則向電子設(shè)備20發(fā)送第一數(shù)據(jù)包。
[0106]進(jìn)一步,第二通信單元704具體還用于在發(fā)送第一數(shù)據(jù)包的次數(shù)達(dá)到預(yù)定次數(shù)時,發(fā)送第二數(shù)據(jù)包。
[0107]在一實施例中,處理器703具體用于將第一值減一得到第二值。
[0108]在以上各實施例中,第一通信單元701可以是終端設(shè)備10的監(jiān)聽端口,第二通信單元704可以與第一通信單元701相同,也可以不同。[0109]前述實施例中的發(fā)送數(shù)據(jù)包的方法中的各種變化方式和具體實例同樣適用于本實施例的終端設(shè)備,通過前述對發(fā)送數(shù)據(jù)包的方法的詳細(xì)描述,本領(lǐng)域技術(shù)人員可以清楚的知道本實施例中終端設(shè)備的實施方法,所以為了說明書的簡潔,在此不再詳述。
[0110]本發(fā)明實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0111]本發(fā)明一實施例中首先基于電子設(shè)備的連接請求,按照預(yù)定策略確定向電子設(shè)備發(fā)送數(shù)據(jù)包包含的TTL值為第一值,TTL值為第一值時,數(shù)據(jù)包能夠到達(dá)電子設(shè)備,所以可以基于第一值而確定出第二值,使得TTL值為第二值的數(shù)據(jù)包能夠到達(dá)網(wǎng)絡(luò)鏈路中離該電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備,然后向第二電子設(shè)備發(fā)送TTL值為第二值的數(shù)據(jù)包,以保持該網(wǎng)絡(luò)鏈路的暢通,因為TTL值為第二值的數(shù)據(jù)包最遠(yuǎn)能夠到達(dá)網(wǎng)絡(luò)鏈路中離電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備,所以可以在電子設(shè)備不參與的情況下發(fā)送數(shù)據(jù)包以保持網(wǎng)絡(luò)鏈路的暢通,所以可以節(jié)約流量,電子設(shè)備也可以進(jìn)行休眠,進(jìn)而省電。
[0112]進(jìn)一步,本發(fā)明實施例中是先確定出第一值,然后再根據(jù)第一值確定出第二值,因為TTL值為第一值的數(shù)據(jù)包能夠到達(dá)電子設(shè)備,所以根據(jù)TTL值的特性,很容易就能確定出第二值,例如將第一值減一就可以得到第二值,所以操作簡單,容易實現(xiàn)。
[0113]進(jìn)一步,本發(fā)明一實施例采用預(yù)定發(fā)包頻率發(fā)送數(shù)據(jù)包以確保網(wǎng)絡(luò)鏈路的暢通,該預(yù)定發(fā)包頻率為當(dāng)發(fā)送TTL值為第二值的數(shù)據(jù)包的發(fā)包頻率小于預(yù)定發(fā)包頻率時網(wǎng)絡(luò)鏈路就會斷開的發(fā)包頻率。因此,本實施例既可達(dá)到維持網(wǎng)絡(luò)鏈路的暢通,又使得發(fā)包頻率達(dá)到最低,所以大大節(jié)約了流量,減輕了終端設(shè)備和電子設(shè)備的負(fù)擔(dān)。
[0114]更進(jìn)一步,本發(fā)明一實施例中基于電子設(shè)備的連接請求,然后利用連接請求的數(shù)據(jù)通道向電子設(shè)備發(fā)送不同的TTL值的數(shù)據(jù)包進(jìn)行試探,當(dāng)接收到電子設(shè)備的應(yīng)答包時,即可以確定出該應(yīng)答包對應(yīng)的TTL值即為第一值,該方法可以有效地探測到終端設(shè)備到電子設(shè)備之間的TTL值,而不用修改電子設(shè)備的程序或者電子設(shè)備具有特殊的權(quán)限。
[0115]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0116]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0117]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0118]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0119]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種發(fā)送數(shù)據(jù)包的方法,應(yīng)用于一作為服務(wù)端的終端設(shè)備上,所述終端設(shè)備通過網(wǎng)絡(luò)與一電子設(shè)備連接,所述終端設(shè)備與所述電子設(shè)備之間形成一網(wǎng)絡(luò)鏈路,所述網(wǎng)絡(luò)鏈路上具有多個網(wǎng)絡(luò)設(shè)備;其特征在于,所述方法包括:獲得所述電子設(shè)備的連接請求;基于所述連接請求,按照預(yù)定策略確定向所述電子設(shè)備所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,其中,所述TTL值為所述第一值的數(shù)據(jù)包能夠到達(dá)所述電子設(shè)備;基于所述第一值確定所述TTL值的第二值,其中,所述TTL值為所述第二值的數(shù)據(jù)包能夠到達(dá)所述網(wǎng)絡(luò)鏈路中離所述電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備;向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包。
2.如權(quán)利要求1所述的方法,其特征在于,所述向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包,具體包括:確定向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率,所述預(yù)定發(fā)包頻率為當(dāng)發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的發(fā)包頻率小于所述預(yù)定發(fā)包頻率時所述網(wǎng)絡(luò)鏈路就會斷開的發(fā)包頻率;基于所述預(yù)定發(fā)包頻率發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包,以確保所述網(wǎng)絡(luò)鏈路的暢通。
3.如權(quán)利要求1所述的方法,其特征在于,所述基于所述連接請求,按照預(yù)定策略確定向所述電子設(shè)備所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,具體包括:基于所述連接請求,向所述`電子設(shè)備發(fā)送所述TTL值為第一初始值的第一數(shù)據(jù)包;如果在發(fā)送所述第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第一應(yīng)答包,則確定所述第一初始值為所述第一值。
4.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括:如果在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包,則向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;如果在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包,則確定所述第二初始值為所述第一值。
5.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括:如果在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包,則判斷在發(fā)送所述第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),是否收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息;如果在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息,則向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;如果在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包,則確定所述第二初始值為所述第一值。
6.如權(quán)利要求5所述的方法,其特征在于,所述方法還包括:如果在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),未收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息,則判斷發(fā)送所述第一數(shù)據(jù)包的次數(shù)是否達(dá)到一預(yù)定次數(shù); 如果發(fā)送所述第一數(shù)據(jù)包的次數(shù)未達(dá)到所述預(yù)定次數(shù),則向所述電子設(shè)備發(fā)送所述第一數(shù)據(jù)包。
7.如權(quán)利要求6所述的方法,其特征在于,所述方法還包括: 如果發(fā)送所述第一數(shù)據(jù)包的次數(shù)達(dá)到所述預(yù)定次數(shù),則發(fā)送所述第二數(shù)據(jù)包。
8.如權(quán)利要求1所述的方法,其特征在于,所述基于所述第一值確定所述TTL值的第二值,具體為: 將所述第一值減一得到所述第二值。
9.一種終端設(shè)備,作為服務(wù)端通過網(wǎng)絡(luò)與一電子設(shè)備連接,所述終端設(shè)備與所述電子設(shè)備之間形成一網(wǎng)絡(luò)鏈路,所述網(wǎng)絡(luò)鏈路上具有多個網(wǎng)絡(luò)設(shè)備;其特征在于,所述終端設(shè)備包括: 電路板; 第一通信單元,設(shè)置在所述電路板上,用于獲得所述電子設(shè)備的連接請求; 處理器,設(shè)置在所述電路板上,用于基于所述連接請求,按照預(yù)定策略確定向所述電子設(shè)備所發(fā)送的數(shù)據(jù)包包含的TTL值為第一值,其中,所述TTL值為所述第一值的數(shù)據(jù)包能夠到達(dá)所述電子設(shè)備;基于所述第一值確定所述TTL值的第二值,其中,所述TTL值為所述第二值的數(shù)據(jù)包能夠到達(dá)所述網(wǎng)絡(luò)鏈路中離所述電子設(shè)備最近的網(wǎng)絡(luò)設(shè)備; 第二通信單元,連接于所述處理 器,用于向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包。
10.如權(quán)利要求9所述的終端設(shè)備,其特征在于,所述處理器具體還用于確定向所述電子設(shè)備發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的預(yù)定發(fā)包頻率,所述預(yù)定發(fā)包頻率為當(dāng)發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包的發(fā)包頻率小于所述預(yù)定發(fā)包頻率時所述網(wǎng)絡(luò)鏈路就會斷開的發(fā)包頻率;所述第二通信單元具體用于基于所述預(yù)定發(fā)包頻率發(fā)送所述TTL值為所述第二值的數(shù)據(jù)包,以確保所述網(wǎng)絡(luò)鏈路的暢通。
11.如權(quán)利要求9所述的終端設(shè)備,其特征在于,所述第二通信單元具體用于基于所述連接請求,向所述電子設(shè)備發(fā)送所述TTL值為第一初始值的第一數(shù)據(jù)包;所述處理器具體用于在發(fā)送所述第一數(shù)據(jù)包后的第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第一應(yīng)答包時,確定所述第一初始值為所述第一值。
12.如權(quán)利要求11所述的終端設(shè)備,其特征在于,所述第二通信單元具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包時,向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;所述處理器具體還用于在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包時,確定所述第二初始值為所述第一值。
13.如權(quán)利要求11所述的終端設(shè)備,其特征在于,所述處理器具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),未收到所述電子設(shè)備的第一應(yīng)答包,則判斷在發(fā)送所述第一數(shù)據(jù)包后的第二預(yù)定時間內(nèi),是否收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息;所述第二通信單元具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息時,則向所述電子設(shè)備發(fā)送所述TTL值為第二初始值的第二數(shù)據(jù)包;其中,所述第二初始值大于所述第一初始值;所述處理器具體還用于在發(fā)送所述第二數(shù)據(jù)包后的所述第一預(yù)定時間內(nèi),收到所述電子設(shè)備的第二應(yīng)答包時,確定所述第二初始值為所述第一值。
14.如權(quán)利要求13所述的終端設(shè)備,其特征在于,所述處理器具體還用于在發(fā)送所述第一數(shù)據(jù)包后的所述第二預(yù)定時間內(nèi),未收到所述多個網(wǎng)絡(luò)設(shè)備中任一網(wǎng)絡(luò)設(shè)備發(fā)送的第一超時反饋信息時,判斷發(fā)送所述第一數(shù)據(jù)包的次數(shù)是否達(dá)到一預(yù)定次數(shù);所述第二通信單元具體還用于發(fā)送所述第一數(shù)據(jù)包的次數(shù)未達(dá)到所述預(yù)定次數(shù),則向所述電子設(shè)備發(fā)送所述第一數(shù)據(jù)包。
15.如權(quán)利要求14所述的終端設(shè)備,其特征在于,所述第二通信單元具體還用于在發(fā)送所述第一數(shù)據(jù)包的次數(shù)達(dá)到所述預(yù)定次數(shù)時,發(fā)送所述第二數(shù)據(jù)包。
16.如權(quán)利要求9所述的終端設(shè)備,其特征在于,所述處理器具體用于將所述第一值減一得到所述第二值。`
【文檔編號】H04L12/801GK103516700SQ201210226508
【公開日】2014年1月15日 申請日期:2012年6月29日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】王殿志, 孫磊, 左德龍 申請人:聯(lián)想(北京)有限公司