本發(fā)明涉及網(wǎng)絡(luò)路由技術(shù)領(lǐng)域,特別是涉及一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法及裝置。
背景技術(shù):
隨著通信衛(wèi)星的星上處理技術(shù)的發(fā)展與通信衛(wèi)星的星上存儲能力的提升,衛(wèi)星通信已經(jīng)越來越成為全球信息化的重要組成部分。相比于地面通信網(wǎng)絡(luò),衛(wèi)星通信網(wǎng)絡(luò)具有覆蓋面廣、多址傳輸、基本不受地形地物限制、不依賴已有通信設(shè)施等優(yōu)勢。然而,衛(wèi)星也存在網(wǎng)絡(luò)高動態(tài)性和節(jié)點處理能力有限的特點,由此帶來了網(wǎng)絡(luò)流量分布不均的問題。而流量分布不均直接造成網(wǎng)絡(luò)整體吞吐量的降低和業(yè)務(wù)流量時延過長的后果。
隨著衛(wèi)星通信在全球通信網(wǎng)中起著越來越重要的作用,這一問題日益成為制約衛(wèi)星通信發(fā)展的關(guān)鍵問題。在衛(wèi)星通信中路由選擇通常采用傳統(tǒng)的狄克斯特拉Dijsktra路由算法,由于該算法路由選擇依據(jù)過于單一,無法準確刻畫衛(wèi)星網(wǎng)絡(luò)實時流量分布特征,使得流量數(shù)據(jù)過于集中在高緯度地區(qū),形成局部鏈路擁塞;且由于該算法路由選擇依據(jù)過于單一,導(dǎo)致流量過于集中在熱點區(qū)域上方的衛(wèi)星,使得其他鏈路長時間處于空閑狀態(tài),而增加了部分衛(wèi)星鏈路的轉(zhuǎn)發(fā)時延,從而導(dǎo)致降低了衛(wèi)星網(wǎng)絡(luò)整體吞吐量。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法及裝置,以實現(xiàn)實時和準確地反映動態(tài)網(wǎng)絡(luò)的路由信息,提高網(wǎng)絡(luò)整體吞吐量。具體技術(shù)方案如下:
第一方面,本發(fā)明實施例提供了一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法,所述衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法包括:
在當(dāng)前網(wǎng)絡(luò)節(jié)點接收到待轉(zhuǎn)發(fā)數(shù)據(jù)包的轉(zhuǎn)發(fā)請求時,發(fā)送第一數(shù)據(jù)包至所述當(dāng)前網(wǎng)絡(luò)節(jié)點的所有相鄰網(wǎng)絡(luò)節(jié)點,其中,所述第一數(shù)據(jù)包為預(yù)設(shè)內(nèi)存大小的數(shù)據(jù)包;
在所述第一數(shù)據(jù)包到達第一相鄰網(wǎng)絡(luò)節(jié)點時,獲取具有數(shù)據(jù)的前向探測包,其中,所述第一相鄰網(wǎng)絡(luò)節(jié)點為所述當(dāng)前網(wǎng)絡(luò)節(jié)點的任一相鄰網(wǎng)絡(luò)節(jié)點,所述數(shù)據(jù)至少包括:所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前傳播時延、所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前輸出緩沖隊列時延及所述第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前經(jīng)緯度;
根據(jù)所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延及所述當(dāng)前經(jīng)緯度,確定所述第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,以使所述第一相鄰網(wǎng)絡(luò)節(jié)點按所述比例轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包。
可選的,所述發(fā)送第一數(shù)據(jù)包至所述當(dāng)前網(wǎng)絡(luò)節(jié)點的所有相鄰網(wǎng)絡(luò)節(jié)點之前,所述衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法還包括:
獲取滿足第一預(yù)設(shè)條件的第一鏈路的傳播時延、滿足第二預(yù)設(shè)條件的所述第一鏈路的輸出緩沖隊列時延及滿足第三預(yù)設(shè)條件的所述第一鏈路的經(jīng)緯度,其中,所述第一鏈路為所有鏈路中的任一鏈路,所述第一預(yù)設(shè)條件為衛(wèi)星網(wǎng)絡(luò)中所有鏈路的傳播時延相等,所述第二預(yù)設(shè)條件為所述衛(wèi)星網(wǎng)絡(luò)中所有鏈路的輸出緩沖隊列時延相等,所述第三預(yù)設(shè)條件為所述衛(wèi)星網(wǎng)絡(luò)中所有網(wǎng)絡(luò)節(jié)點的經(jīng)緯度相等;
根據(jù)所述傳播時延、所述輸出緩沖隊列時延及所述經(jīng)緯度,確定所有鏈路中的每條鏈路的所述第一數(shù)據(jù)包的預(yù)設(shè)內(nèi)存大小。
可選的,所述確定所述第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例之后,所述衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法還包括:
存儲所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延、所述當(dāng)前經(jīng)緯度及所述當(dāng)前網(wǎng)絡(luò)節(jié)點的標(biāo)識符至所述第一相鄰網(wǎng)絡(luò)節(jié)點的數(shù)據(jù)庫表中;
在所述第一相鄰網(wǎng)絡(luò)節(jié)點為目的節(jié)點時,存儲所述前向探測包中的數(shù)據(jù)至后向探測包,并清除所述前向探測包的數(shù)據(jù),以使所述目的節(jié)點根據(jù)所述目的節(jié)點的數(shù)據(jù)庫表中存儲的所述標(biāo)識符、向所述當(dāng)前網(wǎng)絡(luò)節(jié)點發(fā)送所述后向探測包,由所述當(dāng)前網(wǎng)絡(luò)節(jié)點按所述后向探測包中的數(shù)據(jù)、計算并轉(zhuǎn)發(fā)具有所述比例的數(shù)據(jù)包。
可選的,所述當(dāng)前網(wǎng)絡(luò)節(jié)點為所述衛(wèi)星網(wǎng)絡(luò)的源節(jié)點或中間節(jié)點,其中,所述中間節(jié)點為所述衛(wèi)星網(wǎng)絡(luò)中除所述源節(jié)點及所述目的節(jié)點以外的所有可轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的網(wǎng)絡(luò)節(jié)點。
可選的,所述的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法還包括:
根據(jù)所述目的節(jié)點的數(shù)據(jù)庫表中存儲的所述標(biāo)識符,確定轉(zhuǎn)發(fā)節(jié)點及轉(zhuǎn)發(fā)鏈路;
根據(jù)所述目的節(jié)點的數(shù)據(jù)庫表中存儲的所有鏈路的傳播時延、所有鏈路的輸出緩沖隊列時延、所有節(jié)點的經(jīng)緯度,通過鏈路信息確定公式,確定所有鏈路的鏈路信息;
根據(jù)所有鏈路中任一鏈路的鏈路信息占所有鏈路的鏈路信息之和的比例,確定所述任一鏈路傳輸所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的概率。
可選的,所述在所述第一數(shù)據(jù)包到達第一相鄰網(wǎng)絡(luò)節(jié)點時,獲取前向探測包,包括:
判斷所述第一相鄰網(wǎng)絡(luò)節(jié)點是否已存在所述前向探測包;
如果是,清除所述前向探測包;
如果否,獲取所述當(dāng)前探測包。
可選的,所述根據(jù)所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延及所述當(dāng)前經(jīng)緯度,確定所述第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,包括:
根據(jù)所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延、所述當(dāng)前經(jīng)緯度及預(yù)設(shè)值,通過鏈路信息確定公式,確定所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息;
根據(jù)所述鏈路信息,確定所述鏈路信息占衛(wèi)星網(wǎng)路中所有鏈路的總鏈路信息的第一比例;
確定所述第一比例為所述第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例。
可選的,所述衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法還包括:
在所述第一相鄰網(wǎng)絡(luò)節(jié)點拒絕轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包時,根據(jù)所述當(dāng)前網(wǎng)絡(luò)節(jié)點至第二相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息,確定所述第二相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,其中,所述第二相鄰網(wǎng)絡(luò)節(jié)點為所述衛(wèi)星網(wǎng)路中除所述第一相鄰網(wǎng)絡(luò)節(jié)點之外的所有相鄰網(wǎng)絡(luò)節(jié)點。
可選的,所述鏈路信息確定公式為:
τsd=ατsd1+(1-α)τsd2,
其中,所述τsd為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息,所述sd為所述當(dāng)前網(wǎng)絡(luò)節(jié)點到所述第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路,所述α為所述預(yù)設(shè)值,所述τsd1為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的時延信息,所述所述λ為所述第一相鄰網(wǎng)絡(luò)節(jié)點的地理位置信息因子,所述pDelayCost為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的傳播時延,所述所述r1為熱點區(qū)域的區(qū)域中心的經(jīng)度,所述r2為所述熱點區(qū)域的區(qū)域中心的緯度,所述x為所述第一相鄰網(wǎng)絡(luò)節(jié)點的經(jīng)度,所述y為所述第一相鄰網(wǎng)絡(luò)節(jié)點的緯度,所述τsd2為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的帶寬信息,所述所述qDelayCost為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的輸出緩沖隊列時延。
第二方面,本發(fā)明實施例還提供了一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置,所述衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置包括:
發(fā)送模塊,用于在當(dāng)前網(wǎng)絡(luò)節(jié)點接收到待轉(zhuǎn)發(fā)數(shù)據(jù)包的轉(zhuǎn)發(fā)請求時,發(fā)送第一數(shù)據(jù)包至所述當(dāng)前網(wǎng)絡(luò)節(jié)點的所有相鄰網(wǎng)絡(luò)節(jié)點,其中,所述第一數(shù)據(jù)包為預(yù)設(shè)內(nèi)存大小的數(shù)據(jù)包;
第一獲取模塊,用于在所述第一數(shù)據(jù)包到達第一相鄰網(wǎng)絡(luò)節(jié)點時,獲取具有數(shù)據(jù)的前向探測包,其中,所述第一相鄰網(wǎng)絡(luò)節(jié)點為所述當(dāng)前網(wǎng)絡(luò)節(jié)點的任一相鄰網(wǎng)絡(luò)節(jié)點,所述數(shù)據(jù)至少包括:所述當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前傳播時延、所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前輸出緩沖隊列時延及所述第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前經(jīng)緯度;
第一確定模塊,用于根據(jù)所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延及所述當(dāng)前經(jīng)緯度,確定所述第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,以使所述第一相鄰網(wǎng)絡(luò)節(jié)點按所述比例轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包。
本發(fā)明實施例提供的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法及裝置,當(dāng)前網(wǎng)絡(luò)節(jié)點通過向相鄰網(wǎng)絡(luò)節(jié)點發(fā)送前向探測包,采集得到鏈路中實時傳播時延、輸出緩沖隊列時延和網(wǎng)絡(luò)節(jié)點的經(jīng)緯度,并通過鏈路信息確定公式得到每一條鏈路的鏈路信息,并根據(jù)鏈路信息確定每一條鏈路傳輸數(shù)據(jù)包的比例,使得在網(wǎng)絡(luò)拓撲結(jié)構(gòu)頻繁變換、網(wǎng)絡(luò)節(jié)點間鏈路無法保持連通的情況下,為不同類型信息計算不同的鏈路信息,可以實時和準確地反映動態(tài)網(wǎng)絡(luò)的路由信息及網(wǎng)絡(luò)整體負載狀態(tài),提高網(wǎng)絡(luò)整體吞吐量;同時在數(shù)據(jù)包轉(zhuǎn)發(fā)的過程中,通過確定轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,有效的利用了衛(wèi)星網(wǎng)絡(luò)的所有網(wǎng)絡(luò)節(jié)點資源,從而提高了衛(wèi)星網(wǎng)絡(luò)的整體利用率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法的一種流程示意圖;
圖2為本發(fā)明實施例的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法的另一種流程示意圖;
圖3為本發(fā)明實施例的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法的再一種流程示意圖;
圖4為本發(fā)明實施例的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置的一種結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置的另一種結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置的再一種結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
為了提高衛(wèi)星網(wǎng)絡(luò)的整體吞吐量,本發(fā)明實施例提供了一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法及裝置。
下面首先對本發(fā)明實施例所提供的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法進行介紹。
需要說明的是,本發(fā)明實施例所提供的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法的執(zhí)行主體可以為衛(wèi)星網(wǎng)絡(luò)中的數(shù)據(jù)包轉(zhuǎn)發(fā)控制器,也可以為衛(wèi)星網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點。
如圖1所示,本發(fā)明實施例所提供的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法,可以包括如下步驟:
S101,在當(dāng)前網(wǎng)絡(luò)節(jié)點接收到待轉(zhuǎn)發(fā)數(shù)據(jù)包的轉(zhuǎn)發(fā)請求時,發(fā)送第一數(shù)據(jù)包至當(dāng)前網(wǎng)絡(luò)節(jié)點的所有相鄰網(wǎng)絡(luò)節(jié)點。
其中,第一數(shù)據(jù)包為預(yù)設(shè)內(nèi)存大小的數(shù)據(jù)包;當(dāng)前網(wǎng)絡(luò)節(jié)點可以為衛(wèi)星網(wǎng)絡(luò)的源節(jié)點,也可以為衛(wèi)星網(wǎng)絡(luò)中除源節(jié)點和目的節(jié)點以外的所有可轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的中間節(jié)點,這都是合理的。
需要說明的是,第一數(shù)據(jù)包可以為數(shù)據(jù)包轉(zhuǎn)發(fā)控制器或網(wǎng)絡(luò)節(jié)點發(fā)送的預(yù)設(shè)內(nèi)存大小的數(shù)據(jù)包,也可以是數(shù)據(jù)包轉(zhuǎn)發(fā)控制器或網(wǎng)絡(luò)節(jié)點根據(jù)待轉(zhuǎn)發(fā)數(shù)據(jù)包的內(nèi)存大小、按比例分配得到的數(shù)據(jù)包,這都是合理的。
并且,可以理解的是,為了保證數(shù)據(jù)包轉(zhuǎn)發(fā)的可靠性,避免時延已經(jīng)很大的鏈路繼續(xù)以較高的概率轉(zhuǎn)發(fā)數(shù)據(jù)包,發(fā)送第一數(shù)據(jù)包以使后續(xù)步驟中探測鏈路的實際時延信息、實際帶寬信息及相鄰節(jié)點的實際經(jīng)緯度。
S102,在第一數(shù)據(jù)包到達第一相鄰網(wǎng)絡(luò)節(jié)點時,獲取具有數(shù)據(jù)的前向探測包。
其中,第一相鄰網(wǎng)絡(luò)節(jié)點為當(dāng)前網(wǎng)絡(luò)節(jié)點的任一相鄰網(wǎng)絡(luò)節(jié)點,上述數(shù)據(jù)至少包括:當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前傳播時延、當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前輸出緩沖隊列時延及第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前經(jīng)緯度。
需要說明的是,為了實現(xiàn)衛(wèi)星網(wǎng)絡(luò)流量管理的負載均衡,針對不同流量類型的設(shè)定以及不同類型的不同網(wǎng)絡(luò)節(jié)點需求,將刻畫鏈路狀態(tài)的信息分成兩個部分,分別為時延信息和帶寬信息;時延信息用于描述流量在衛(wèi)星網(wǎng)絡(luò)節(jié)點之間傳輸所用的時間,通過當(dāng)前傳播時延進行度量;帶寬信息則通過輸出緩沖隊列時延進行度量。鏈路的時延越大,說明該鏈路越不適合作為傳輸鏈路;并且,由于全球人口分布的不均勻性和地區(qū)發(fā)展的不平衡性,會形成局部熱點區(qū)域和非熱點區(qū)域,為熱點區(qū)域提供服務(wù)的衛(wèi)星將承載更多的通信任務(wù),因此,引入地理位置信息因子用于描述網(wǎng)絡(luò)節(jié)點的地理位置,通過網(wǎng)絡(luò)節(jié)點的經(jīng)緯度進行度量。
需要強調(diào)的是,在發(fā)送第一數(shù)據(jù)包至第一相鄰網(wǎng)絡(luò)節(jié)點之前,前向探測包中是沒有數(shù)據(jù)的;在第一數(shù)據(jù)包發(fā)送至第一相鄰網(wǎng)絡(luò)節(jié)點的過程中,實時采集當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前傳播時延及當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前輸出緩沖隊列時延,并存儲至前向探測包中,并在第一數(shù)據(jù)包到達第一相鄰網(wǎng)絡(luò)節(jié)點時,采集第一相鄰網(wǎng)絡(luò)節(jié)點的經(jīng)緯度,并存儲至前向探測包中。
S103,根據(jù)當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度,確定第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,以使第一相鄰網(wǎng)絡(luò)節(jié)點按該比例轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包。
其中,轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例可以是當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息占當(dāng)前網(wǎng)絡(luò)節(jié)點至所有相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息之和的百分比,也可以是數(shù)據(jù)包轉(zhuǎn)發(fā)控制器或者網(wǎng)絡(luò)節(jié)點中預(yù)先設(shè)置的鏈路信息對應(yīng)的轉(zhuǎn)發(fā)比例。
需要說明的是,根據(jù)當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度,通過計算得到鏈路信息,根據(jù)鏈路信息的大小確定相鄰網(wǎng)絡(luò)節(jié)點作為下一跳節(jié)點,鏈路信息越大,該相鄰網(wǎng)絡(luò)節(jié)點作為下一跳節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例就越大。
應(yīng)用本發(fā)明實施例,當(dāng)前網(wǎng)絡(luò)節(jié)點通過向相鄰網(wǎng)絡(luò)節(jié)點發(fā)送前向探測包,采集得到鏈路中實時傳播時延、輸出緩沖隊列時延和網(wǎng)絡(luò)節(jié)點的經(jīng)緯度,并通過鏈路信息確定公式得到每一條鏈路的鏈路信息,并根據(jù)鏈路信息確定每一條鏈路傳輸數(shù)據(jù)包的比例,使得在網(wǎng)絡(luò)拓撲結(jié)構(gòu)頻繁變換、網(wǎng)絡(luò)節(jié)點間鏈路無法保持連通的情況下,為不同類型信息計算不同的鏈路信息,可以實時和準確地反映動態(tài)網(wǎng)絡(luò)的路由信息及網(wǎng)絡(luò)整體負載狀態(tài),提高網(wǎng)絡(luò)整體吞吐量;同時在數(shù)據(jù)包轉(zhuǎn)發(fā)的過程中,通過確定轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,有效的利用了衛(wèi)星網(wǎng)絡(luò)的所有網(wǎng)絡(luò)節(jié)點資源,從而提高了衛(wèi)星網(wǎng)絡(luò)的整體利用率。
如圖2所示,本發(fā)明實施例所提供的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法,在發(fā)送第一數(shù)據(jù)包至當(dāng)前網(wǎng)絡(luò)節(jié)點的所有相鄰網(wǎng)絡(luò)節(jié)點之前,還可以包括如下步驟:
S201,獲取滿足第一預(yù)設(shè)條件的第一鏈路的傳播時延、滿足第二預(yù)設(shè)條件的第一鏈路的輸出緩沖隊列時延及滿足第三預(yù)設(shè)條件的第一鏈路的經(jīng)緯度。
其中,第一鏈路為所有鏈路中的任一鏈路,第一預(yù)設(shè)條件為衛(wèi)星網(wǎng)絡(luò)中所有鏈路的傳播時延相等,第二預(yù)設(shè)條件為衛(wèi)星網(wǎng)絡(luò)中所有鏈路的輸出緩沖隊列時延相等,第三預(yù)設(shè)條件為衛(wèi)星網(wǎng)絡(luò)中所有網(wǎng)絡(luò)節(jié)點的經(jīng)緯度相等。
需要說明的是,在轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包之前,為了保證采集的實時時延信息、帶寬信息及經(jīng)緯度為準確、可靠的,確保初次選擇轉(zhuǎn)發(fā)鏈路不受正反饋效應(yīng)的影響,需對衛(wèi)星網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點進行初始化設(shè)定,即設(shè)定所有鏈路的信息量均相等。
S202,根據(jù)傳播時延、輸出緩沖隊列時延及經(jīng)緯度,確定所有鏈路中的每條鏈路的第一數(shù)據(jù)包的預(yù)設(shè)內(nèi)存大小。
需要說明的是,由于所有的傳播時延均相等,所有的輸出緩沖隊列時延均相等,所有的節(jié)點經(jīng)緯度均相等,通過鏈路信息確定公式計算得到的所有鏈路信息也均相等,則所有鏈路中每條鏈路的第一數(shù)據(jù)包的預(yù)設(shè)內(nèi)存大小也均相等。
其中,第一數(shù)據(jù)包的預(yù)設(shè)內(nèi)存大小,可以是數(shù)據(jù)包轉(zhuǎn)發(fā)控制器或網(wǎng)絡(luò)節(jié)點發(fā)送的內(nèi)存大小相等的多個第一數(shù)據(jù)包,也可以是數(shù)據(jù)包轉(zhuǎn)發(fā)控制器或網(wǎng)絡(luò)節(jié)點根據(jù)待轉(zhuǎn)發(fā)數(shù)據(jù)包的大小平均分配內(nèi)存大小得到的多個第一數(shù)據(jù)包。
應(yīng)用本實施例,通過對衛(wèi)星網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點進行初始化設(shè)定,即設(shè)定所有鏈路的信息量均相等,確保初次選擇轉(zhuǎn)發(fā)鏈路不受正反饋效應(yīng)的影響。
如圖3所示,本發(fā)明實施例所提供的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法,在確定第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例之后,還可以包括如下步驟:
S104,存儲當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延、當(dāng)前經(jīng)緯度及當(dāng)前網(wǎng)絡(luò)節(jié)點的標(biāo)識符至第一相鄰網(wǎng)絡(luò)節(jié)點的數(shù)據(jù)庫表中。
其中,當(dāng)前網(wǎng)絡(luò)節(jié)點的標(biāo)識符,可以是當(dāng)前網(wǎng)絡(luò)節(jié)點的IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址,也可以是當(dāng)前網(wǎng)絡(luò)節(jié)點的名稱,還可以是數(shù)據(jù)包轉(zhuǎn)發(fā)控制器或網(wǎng)絡(luò)節(jié)點給當(dāng)前網(wǎng)絡(luò)節(jié)點分配的標(biāo)識編號,這都是合理的。
需要說明的是,在前向探測包到達目的節(jié)點時,需要反饋數(shù)據(jù)包轉(zhuǎn)發(fā)的鏈路及轉(zhuǎn)發(fā)比例至源節(jié)點,由于每個網(wǎng)絡(luò)節(jié)點在向相鄰網(wǎng)絡(luò)節(jié)點發(fā)送前向探測包時,前向探測包的內(nèi)容為空,只有在到達相鄰網(wǎng)絡(luò)節(jié)點時才會存儲當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度。因此,在前向探測包到達相鄰網(wǎng)絡(luò)節(jié)點時,將前向探測包存儲的當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度存儲至數(shù)據(jù)庫表中,并存儲當(dāng)前網(wǎng)絡(luò)節(jié)點的標(biāo)識符,便于鏈路信息的計算及轉(zhuǎn)發(fā)網(wǎng)絡(luò)節(jié)點的確定。
S105,在第一相鄰網(wǎng)絡(luò)節(jié)點為目的節(jié)點時,存儲前向探測包中的數(shù)據(jù)至后向探測包,并清除前向探測包的數(shù)據(jù),以使目的節(jié)點根據(jù)該目的節(jié)點的數(shù)據(jù)庫表中存儲的標(biāo)識符、向當(dāng)前網(wǎng)絡(luò)節(jié)點發(fā)送后向探測包,由所述當(dāng)前網(wǎng)絡(luò)節(jié)點按所述后向探測包中的數(shù)據(jù)、計算并轉(zhuǎn)發(fā)具有所述比例的數(shù)據(jù)包。
需要說明的是,標(biāo)識符所對應(yīng)的當(dāng)前網(wǎng)絡(luò)節(jié)點根據(jù)得到的反向探測包中存儲的當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度,通過鏈路信息確定公式計算鏈路信息,從而確定轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例;該比例可以是后向探測包到達當(dāng)前網(wǎng)絡(luò)節(jié)點后、根據(jù)后向探測包中存儲的數(shù)據(jù)計算得到,也可以是在發(fā)送后向探測包至當(dāng)前網(wǎng)絡(luò)節(jié)點之前計算得到。
需要強調(diào)的是,后向探測包按前向探測包轉(zhuǎn)發(fā)的鏈路路徑直至回傳至源節(jié)點。
應(yīng)用本實施例,在前向探測包到達目的節(jié)點時,根據(jù)標(biāo)識符向所對應(yīng)的當(dāng)前網(wǎng)絡(luò)節(jié)點發(fā)送反向探測包,并根據(jù)反向探測包中存儲的當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度,計算鏈路信息,從而確定轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例。
可選的,在一種具體實現(xiàn)方式中,為了確定衛(wèi)星網(wǎng)絡(luò)中任一條鏈路轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的概率,本發(fā)明實施例的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法還可以包括:
首先,根據(jù)目的節(jié)點的數(shù)據(jù)庫表中存儲的標(biāo)識符,確定轉(zhuǎn)發(fā)節(jié)點及轉(zhuǎn)發(fā)鏈路。
需要說明的是,目的節(jié)點的數(shù)據(jù)庫表中存儲的標(biāo)識符,對應(yīng)著衛(wèi)星網(wǎng)絡(luò)中的各轉(zhuǎn)發(fā)節(jié)點的IP地址和/或名稱,并且根據(jù)轉(zhuǎn)發(fā)節(jié)點的IP地址和/或名稱,可以確定各轉(zhuǎn)發(fā)節(jié)點相連形成的轉(zhuǎn)發(fā)鏈路。
其次,根據(jù)目的節(jié)點的數(shù)據(jù)庫表中存儲的所有鏈路的傳播時延、所有鏈路的輸出緩沖隊列時延、所有節(jié)點的經(jīng)緯度,通過鏈路信息確定公式,確定所有鏈路的鏈路信息。
最后,根據(jù)所有鏈路中任一鏈路的鏈路信息占所有鏈路的鏈路信息之和的比例,確定任一鏈路傳輸待轉(zhuǎn)發(fā)數(shù)據(jù)包的概率。
需要說明的是,所有鏈路中任一鏈路的鏈路信息與所有鏈路的鏈路信息之和作商,將作商后得到的比例值確定為任一鏈路傳輸待轉(zhuǎn)發(fā)數(shù)據(jù)包的概率。
需要說明的是,目的節(jié)點的數(shù)據(jù)庫表中存儲了衛(wèi)星網(wǎng)絡(luò)中所有轉(zhuǎn)發(fā)節(jié)點的標(biāo)識符,根據(jù)標(biāo)識符可以確定待轉(zhuǎn)發(fā)數(shù)據(jù)包的轉(zhuǎn)發(fā)鏈路,并且通過根據(jù)所有鏈路的傳播時延、所有鏈路的輸出緩沖隊列時延及所有節(jié)點的經(jīng)緯度,計算得到所有鏈路的鏈路信息,可確定每一條鏈路轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的概率,可通過該概率分配數(shù)據(jù)包比例。
可選的,在一種具體實現(xiàn)方式中,為了避免出現(xiàn)前向探測包產(chǎn)生環(huán)路的情況,所述在第一數(shù)據(jù)包到達第一相鄰網(wǎng)絡(luò)節(jié)點時,獲取前向探測包的步驟,可以包括:
判斷第一相鄰網(wǎng)絡(luò)節(jié)點是否已存在該前向探測包;如果是,清除該前向探測包;如果否,獲取該當(dāng)前探測包。
需要說明的是,前向探測包每經(jīng)過一個網(wǎng)絡(luò)節(jié)點,需判斷該網(wǎng)絡(luò)節(jié)點是否已存在該前向探測包,如果已經(jīng)存在該前向探測包,說明該前向探測包產(chǎn)生了環(huán)路,則需清除該前向探測包。
可選的,在一種具體實現(xiàn)方式中,所述根據(jù)當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度,確定第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,包括:
首先,根據(jù)當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延、當(dāng)前經(jīng)緯度及預(yù)設(shè)值,通過鏈路信息確定公式,確定當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息;
其次,根據(jù)鏈路信息,確定鏈路信息占衛(wèi)星網(wǎng)路中所有鏈路的總鏈路信息的第一比例;
最后,確定第一比例為第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例。
需要說明的是,為了方便確定相鄰網(wǎng)絡(luò)節(jié)點作為下一跳網(wǎng)絡(luò)節(jié)點的轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,將采集得到的當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度,通過計算得到鏈路信息,通過鏈路信息的大小決定相鄰網(wǎng)絡(luò)節(jié)點作為下一跳網(wǎng)絡(luò)節(jié)點的比例。
可選的,在一種具體實現(xiàn)方式中,為了在相鄰網(wǎng)絡(luò)節(jié)點拒絕轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包時,選擇次優(yōu)的方案進行待轉(zhuǎn)發(fā)數(shù)據(jù)包的轉(zhuǎn)發(fā),本發(fā)明實施例的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法還可以包括:
在第一相鄰網(wǎng)絡(luò)節(jié)點拒絕轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包時,根據(jù)當(dāng)前網(wǎng)絡(luò)節(jié)點至第二相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息,確定第二相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例。
其中,第二相鄰網(wǎng)絡(luò)節(jié)點為衛(wèi)星網(wǎng)路中除第一相鄰網(wǎng)絡(luò)節(jié)點之外的所有相鄰網(wǎng)絡(luò)節(jié)點。
需要說明的是,本實施例包括但不限于以下兩種情況:第一種情況,已確定第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,但是在該第一相鄰網(wǎng)絡(luò)節(jié)點拒絕轉(zhuǎn)發(fā)時,根據(jù)本發(fā)明的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法重新確定除第一相鄰網(wǎng)絡(luò)節(jié)點以外的所有相鄰網(wǎng)絡(luò)節(jié)點的轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例;第二種情況,在確定第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例之前,已確定該第一相鄰網(wǎng)絡(luò)節(jié)點拒絕轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包,則根據(jù)本發(fā)明的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法直接確定除第一相鄰網(wǎng)絡(luò)節(jié)點以外的所有相鄰網(wǎng)絡(luò)節(jié)點的轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例。
可選的,在一種具體實現(xiàn)方式中,所述鏈路信息確定公式為:
τsd=ατsd1+(1-α)τsd2,
其中,τsd為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息,sd為當(dāng)前網(wǎng)絡(luò)節(jié)點到第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路,α為預(yù)設(shè)值,τsd1為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的時延信息,λ為第一相鄰網(wǎng)絡(luò)節(jié)點的地理位置信息因子,pDelayCost為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的傳播時延,r1為熱點區(qū)域的區(qū)域中心的經(jīng)度,r2為熱點區(qū)域的區(qū)域中心的緯度,x為第一相鄰網(wǎng)絡(luò)節(jié)點的經(jīng)度,y為第一相鄰網(wǎng)絡(luò)節(jié)點的緯度,τsd2為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的帶寬信息,qDelayCost為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的輸出緩沖隊列時延。
下面結(jié)合具體的應(yīng)用實例,對本發(fā)明實施例所提供的衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)方法進行介紹。
對衛(wèi)星網(wǎng)絡(luò)進行初始化設(shè)定,即預(yù)先設(shè)定衛(wèi)星網(wǎng)絡(luò)中所有鏈路的傳播時延為100ms、所有鏈路的輸出緩沖隊列時延為150ms及所有網(wǎng)絡(luò)節(jié)點的經(jīng)緯度為(120,160),將該三個參數(shù)賦給所有鏈路及所有網(wǎng)絡(luò)節(jié)點。由于所有鏈路的傳播時延均相等、所有鏈路的輸出緩沖隊列時延均相等,且所有網(wǎng)絡(luò)節(jié)點的經(jīng)緯度均相等,則數(shù)據(jù)包轉(zhuǎn)發(fā)控制器控制源節(jié)點向所有相鄰網(wǎng)絡(luò)節(jié)點發(fā)送內(nèi)存大小相等的第一數(shù)據(jù)包,第一數(shù)據(jù)包的內(nèi)存大小為20MB,假設(shè)源節(jié)點有三個相鄰網(wǎng)絡(luò)節(jié)點。
在第一數(shù)據(jù)包到達源節(jié)點的所有相鄰網(wǎng)絡(luò)節(jié)點時,采集得到源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點A的傳播時延為50ms、源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點A的輸出緩沖隊列時延為120ms、相鄰網(wǎng)絡(luò)節(jié)點A的經(jīng)緯度為(100,90),采集得到源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點B的傳播時延為80ms、源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點B的輸出緩沖隊列時延為100ms、相鄰網(wǎng)絡(luò)節(jié)點B的經(jīng)緯度為(120,100),采集得到源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點C的傳播時延為120ms、源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點C的輸出緩沖隊列時延為70ms、相鄰網(wǎng)絡(luò)節(jié)點C的經(jīng)緯度為(100,100)。
將上述所有參數(shù)帶入以下鏈路信息確定公式:
τsd=ατsd1+(1-α)τsd2,
其中,τsd為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息,sd為當(dāng)前網(wǎng)絡(luò)節(jié)點到第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路,α為預(yù)設(shè)值,τsd1為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的時延信息,λ為第一相鄰網(wǎng)絡(luò)節(jié)點的地理位置信息因子,pDelayCost為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的傳播時延,r1為熱點區(qū)域的區(qū)域中心的經(jīng)度,r2為熱點區(qū)域的區(qū)域中心的緯度,x為第一相鄰網(wǎng)絡(luò)節(jié)點的經(jīng)度,y為第一相鄰網(wǎng)絡(luò)節(jié)點的緯度,τsd2為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的帶寬信息,qDelayCost為當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的輸出緩沖隊列時延。
設(shè)定預(yù)設(shè)值α為0.7,假設(shè)熱點區(qū)域的區(qū)域中心的經(jīng)緯度為(100,85),計算得到源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點A的鏈路信息為2.951,源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點B的鏈路信息為2.199,源節(jié)點至相鄰網(wǎng)絡(luò)節(jié)點C的鏈路信息為2.548。待轉(zhuǎn)發(fā)數(shù)據(jù)包的內(nèi)存大小為50MB,則相鄰網(wǎng)絡(luò)節(jié)點A轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例為38.3%,即相鄰網(wǎng)絡(luò)節(jié)點A轉(zhuǎn)發(fā)數(shù)據(jù)包的大小為19.17MB;相鄰網(wǎng)絡(luò)節(jié)點B轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例為28.6%,即相鄰網(wǎng)絡(luò)節(jié)點B轉(zhuǎn)發(fā)數(shù)據(jù)包的大小為14.28MB;相鄰網(wǎng)絡(luò)節(jié)點C轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例為33.1%,即相鄰網(wǎng)絡(luò)節(jié)點C轉(zhuǎn)發(fā)數(shù)據(jù)包的大小為16.55MB。
按照以上方法依次對待轉(zhuǎn)發(fā)數(shù)據(jù)包進行轉(zhuǎn)發(fā)直至目的節(jié)點。
與現(xiàn)有技術(shù)相比,本方案中,通過發(fā)送預(yù)設(shè)內(nèi)存大小的第一數(shù)據(jù)包,保證數(shù)據(jù)包轉(zhuǎn)發(fā)的可靠性,避免出現(xiàn)時延已經(jīng)很大的鏈路繼續(xù)以較高的概率轉(zhuǎn)發(fā)數(shù)據(jù)包;并通過鏈路時延、帶寬信息和網(wǎng)絡(luò)節(jié)點的經(jīng)緯度,為不同類型信息計算不同的鏈路信息,實現(xiàn)衛(wèi)星網(wǎng)絡(luò)流量管理的負載均衡,且實時和準確地反映動態(tài)網(wǎng)絡(luò)的路由信息,提高網(wǎng)絡(luò)整體吞吐量。
相應(yīng)于上述方法實施例,本發(fā)明實施例提供了一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置,如圖4所述,所述裝置可以包括:
發(fā)送模塊410,用于在當(dāng)前網(wǎng)絡(luò)節(jié)點接收到待轉(zhuǎn)發(fā)數(shù)據(jù)包的轉(zhuǎn)發(fā)請求時,發(fā)送第一數(shù)據(jù)包至所述當(dāng)前網(wǎng)絡(luò)節(jié)點的所有相鄰網(wǎng)絡(luò)節(jié)點,其中,所述第一數(shù)據(jù)包為預(yù)設(shè)內(nèi)存大小的數(shù)據(jù)包;
第一獲取模塊420,用于在所述第一數(shù)據(jù)包到達第一相鄰網(wǎng)絡(luò)節(jié)點時,獲取具有數(shù)據(jù)的前向探測包,其中,所述第一相鄰網(wǎng)絡(luò)節(jié)點為所述當(dāng)前網(wǎng)絡(luò)節(jié)點的任一相鄰網(wǎng)絡(luò)節(jié)點,所述數(shù)據(jù)至少包括:所述當(dāng)前網(wǎng)絡(luò)節(jié)點至第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前傳播時延、所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前輸出緩沖隊列時延及所述第一相鄰網(wǎng)絡(luò)節(jié)點的當(dāng)前經(jīng)緯度;
第一確定模塊430,用于根據(jù)所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延及所述當(dāng)前經(jīng)緯度,確定所述第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,以使所述第一相鄰網(wǎng)絡(luò)節(jié)點按所述比例轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包。
應(yīng)用本發(fā)明實施例,當(dāng)前網(wǎng)絡(luò)節(jié)點通過向相鄰網(wǎng)絡(luò)節(jié)點發(fā)送前向探測包,采集得到鏈路中實時傳播時延、輸出緩沖隊列時延和網(wǎng)絡(luò)節(jié)點的經(jīng)緯度,并通過鏈路信息確定公式得到每一條鏈路的鏈路信息,并根據(jù)鏈路信息確定每一條鏈路傳輸數(shù)據(jù)包的比例,使得在網(wǎng)絡(luò)拓撲結(jié)構(gòu)頻繁變換、網(wǎng)絡(luò)節(jié)點間鏈路無法保持連通的情況下,為不同類型信息計算不同的鏈路信息,可以實時和準確地反映動態(tài)網(wǎng)絡(luò)的路由信息及網(wǎng)絡(luò)整體負載狀態(tài),提高網(wǎng)絡(luò)整體吞吐量;同時在數(shù)據(jù)包轉(zhuǎn)發(fā)的過程中,通過確定轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,有效的利用了衛(wèi)星網(wǎng)絡(luò)的所有網(wǎng)絡(luò)節(jié)點資源,從而提高了衛(wèi)星網(wǎng)絡(luò)的整體利用率。
更進一步的,在包含發(fā)送模塊410、第一獲取模塊420、第一確定模塊430的基礎(chǔ)上,如圖5所示,本發(fā)明實施例所提供的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置還可以包括:
第二獲取模塊440,用于獲取滿足第一預(yù)設(shè)條件的第一鏈路的傳播時延、滿足第二預(yù)設(shè)條件的所述第一鏈路的輸出緩沖隊列時延及滿足第三預(yù)設(shè)條件的所述第一鏈路的經(jīng)緯度,其中,所述第一鏈路為所有鏈路中的任一鏈路,所述第一預(yù)設(shè)條件為衛(wèi)星網(wǎng)絡(luò)中所有鏈路的傳播時延相等,所述第二預(yù)設(shè)條件為所述衛(wèi)星網(wǎng)絡(luò)中所有鏈路的輸出緩沖隊列時延相等,所述第三預(yù)設(shè)條件為所述衛(wèi)星網(wǎng)絡(luò)中所有網(wǎng)絡(luò)節(jié)點的經(jīng)緯度相等;
第二確定模塊450,用于根據(jù)所述傳播時延、所述輸出緩沖隊列時延及所述經(jīng)緯度,確定所有鏈路中的每條鏈路的所述第一數(shù)據(jù)包的預(yù)設(shè)內(nèi)存大小。
應(yīng)用本實施例,通過對衛(wèi)星網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點進行初始化設(shè)定,即設(shè)定所有鏈路的信息量均相等,確保初次選擇轉(zhuǎn)發(fā)鏈路不受正反饋效應(yīng)的影響。
更進一步的,在包含發(fā)送模塊410、第一獲取模塊420、第一確定模塊430的基礎(chǔ)上,如圖6所示,本發(fā)明實施例所提供的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置還可以包括:
第一存儲模塊460,用于存儲所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延、所述當(dāng)前經(jīng)緯度及所述當(dāng)前網(wǎng)絡(luò)節(jié)點的標(biāo)識符至所述第一相鄰網(wǎng)絡(luò)節(jié)點的數(shù)據(jù)庫表中;
第二存儲模塊470,用于在所述第一相鄰網(wǎng)絡(luò)節(jié)點為目的節(jié)點時,存儲所述前向探測包中的數(shù)據(jù)至后向探測包,并清除所述前向探測包的數(shù)據(jù),以使所述目的節(jié)點根據(jù)所述目的節(jié)點的數(shù)據(jù)庫表中存儲的所述標(biāo)識符、向所述當(dāng)前網(wǎng)絡(luò)節(jié)點發(fā)送所述后向探測包,由所述當(dāng)前網(wǎng)絡(luò)節(jié)點按所述后向探測包中的數(shù)據(jù)、計算并轉(zhuǎn)發(fā)具有所述比例的數(shù)據(jù)包。
應(yīng)用本實施例,在前向探測包到達目的節(jié)點時,根據(jù)標(biāo)識符向所對應(yīng)的當(dāng)前網(wǎng)絡(luò)節(jié)點發(fā)送反向探測包,并根據(jù)反向探測包中存儲的當(dāng)前傳播時延、當(dāng)前輸出緩沖隊列時延及當(dāng)前經(jīng)緯度,計算鏈路信息,從而確定轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例。
可選的,本發(fā)明實施例的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置,所述當(dāng)前網(wǎng)絡(luò)節(jié)點為所述衛(wèi)星網(wǎng)絡(luò)的源節(jié)點或中間節(jié)點,其中,所述中間節(jié)點為所述衛(wèi)星網(wǎng)絡(luò)中除所述源節(jié)點及所述目的節(jié)點以外的所有可轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的網(wǎng)絡(luò)節(jié)點。
可選的,為了確定衛(wèi)星網(wǎng)絡(luò)中任一條鏈路轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包的概率,本發(fā)明實施例的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置還可以包括:
第三確定模塊,用于根據(jù)所述目的節(jié)點的數(shù)據(jù)庫表中存儲的所述標(biāo)識符,確定轉(zhuǎn)發(fā)節(jié)點及轉(zhuǎn)發(fā)鏈路;
第四確定模塊,用于根據(jù)所述目的節(jié)點的數(shù)據(jù)庫表中存儲的所有鏈路的傳播時延、所有鏈路的輸出緩沖隊列時延、所有節(jié)點的經(jīng)緯度,通過鏈路信息確定公式,確定所有鏈路的鏈路信息;
第五確定模塊,用于根據(jù)所有鏈路中任一鏈路的鏈路信息占所有鏈路的鏈路信息之和的比例,確定所述任一鏈路傳輸所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的概率。
可選的,所述第一獲取模塊420,可以包括:
判斷子模塊,用于判斷所述第一相鄰網(wǎng)絡(luò)節(jié)點是否已存在所述前向探測包;
清除子模塊,用于判斷子模塊的結(jié)果為是時,清除所述前向探測包;
第一獲取子模塊,用于判斷子模塊的結(jié)果為否時,獲取所述當(dāng)前探測包。
可選的,所述第一確定模塊430,可以包括:
第一確定子模塊,用于根據(jù)所述當(dāng)前傳播時延、所述當(dāng)前輸出緩沖隊列時延、所述當(dāng)前經(jīng)緯度及預(yù)設(shè)值,通過鏈路信息確定公式,確定所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息;
第二確定子模塊,用于根據(jù)所述鏈路信息,確定所述鏈路信息占衛(wèi)星網(wǎng)路中所有鏈路的總鏈路信息的第一比例;
第三確定子模塊,用于確定所述第一比例為所述第一相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例。
可選的,為了在相鄰網(wǎng)絡(luò)節(jié)點拒絕轉(zhuǎn)發(fā)待轉(zhuǎn)發(fā)數(shù)據(jù)包時,選擇次優(yōu)的方案進行待轉(zhuǎn)發(fā)數(shù)據(jù)包的轉(zhuǎn)發(fā),本發(fā)明實施例的一種衛(wèi)星網(wǎng)絡(luò)的數(shù)據(jù)包轉(zhuǎn)發(fā)裝置還可以包括:
第六確定模塊,用于在所述第一相鄰網(wǎng)絡(luò)節(jié)點拒絕轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包時,根據(jù)所述當(dāng)前網(wǎng)絡(luò)節(jié)點至第二相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息,確定所述第二相鄰網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)所述待轉(zhuǎn)發(fā)數(shù)據(jù)包的比例,其中,所述第二相鄰網(wǎng)絡(luò)節(jié)點為所述衛(wèi)星網(wǎng)路中除所述第一相鄰網(wǎng)絡(luò)節(jié)點之外的所有相鄰網(wǎng)絡(luò)節(jié)點。
可選的,第一確定模塊430,所述鏈路信息確定公式為:
τsd=ατsd1+(1-α)τsd2,
其中,所述τsd為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路信息,所述sd為所述當(dāng)前網(wǎng)絡(luò)節(jié)點到所述第一相鄰網(wǎng)絡(luò)節(jié)點的鏈路,所述α為所述預(yù)設(shè)值,所述τsd1為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的時延信息,所述所述λ為所述第一相鄰網(wǎng)絡(luò)節(jié)點的地理位置信息因子,所述pDelayCost為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的傳播時延,所述所述r1為熱點區(qū)域的區(qū)域中心的經(jīng)度,所述r2為所述熱點區(qū)域的區(qū)域中心的緯度,所述x為所述第一相鄰網(wǎng)絡(luò)節(jié)點的經(jīng)度,所述y為所述第一相鄰網(wǎng)絡(luò)節(jié)點的緯度,所述τsd2為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的帶寬信息,所述所述qDelayCost為所述當(dāng)前網(wǎng)絡(luò)節(jié)點至所述第一相鄰網(wǎng)絡(luò)節(jié)點的輸出緩沖隊列時延。
可以理解的是,本發(fā)明實施例的另一實施例中,文件切片上傳裝置可以同時包括:發(fā)送模塊410、第一獲取模塊420、第一確定模塊430、第二獲取模塊440、第二確定模塊450、第一存儲模塊460、第二存儲模塊470、第三確定模塊、第四確定模塊、第五確定模塊和第六確定模塊。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。