專利名稱:一種數(shù)據(jù)發(fā)送的路徑選擇方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及ー種數(shù)據(jù)發(fā)送的路徑選擇方法及裝置。
背景技術(shù):
在20世紀(jì)80年代時,距離-向量路由協(xié)議(distance vector routing protocol無相應(yīng)的縮寫)的不足變得越來越明顯。一種試圖改善網(wǎng)絡(luò)可擴展性的努力是使用基于鏈路-狀態(tài)來計算路由,而不是靠跳步數(shù)或其他的距離向量。可以滿足建造越來越大基于IP網(wǎng)絡(luò)的需要。這樣的路由協(xié)議要解決兩個基本的問題:ー是改善網(wǎng)絡(luò)的可擴展性,ニ是快速收斂。這樣的路由協(xié)議最具有代表性的就是開放式最短路徑優(yōu)先(Open Shortest PathFirst,0SPF)協(xié)議,在網(wǎng)絡(luò)中選取最短的路徑來進(jìn)行數(shù)據(jù)傳輸。OSPF是功能最強大、特點最豐富的開放式路由協(xié)議之一。但是它的復(fù)雜性也是其弱點來源,因為設(shè)計、建造和操作ー個OSPF互聯(lián)網(wǎng)絡(luò)需要比使用幾乎每ー種其他路由協(xié)議更多的專業(yè)知識和精力。這就要求用戶必須小心地設(shè)計區(qū)和網(wǎng)絡(luò)拓?fù)?。設(shè)計得好,OSPF會使網(wǎng)絡(luò)用戶得到優(yōu)異的性能和快速的收斂速度。反之,則會帶來路由表大量的更新,在大型網(wǎng)絡(luò)中會消耗掉相當(dāng)數(shù)量的帶寬,從而引起資源的緊張?,F(xiàn)有的OSPF協(xié)議在測量各個節(jié)點的延遲的時候,一般需要考慮帶寬因素對延遲的影響,采用多次測量,以均值作為延遲,根據(jù)該平均延遲為參照在傳輸數(shù)據(jù)時進(jìn)行鏈路路徑的選擇。但在巨型網(wǎng)絡(luò)中,該方法但帶來的缺點是,可能會造成網(wǎng)絡(luò)的振蕩,即在從多條路徑進(jìn)行選擇時,某個時刻的一條路徑延時小,使得所有的包或報文都選擇該路徑轉(zhuǎn)發(fā),從而導(dǎo)致該路徑擁塞,再測量時候發(fā)現(xiàn)另外路徑的延遲小,所有包又選擇另外的路徑,使系統(tǒng)來回更換路徑,形成振蕩,卻不能將包的轉(zhuǎn)發(fā)負(fù)荷分擔(dān)在這些路徑上,嚴(yán)重降低了網(wǎng)絡(luò)路徑的使用率,使得一個網(wǎng)絡(luò)工作效率低下。
發(fā)明內(nèi)容
本發(fā)明實施例提供了ー種數(shù)據(jù)發(fā)送的路徑選擇方法及裝置,用以用以提高網(wǎng)絡(luò)中節(jié)點的收斂速度,防止網(wǎng)絡(luò)發(fā)生震蕩,進(jìn)而防止網(wǎng)絡(luò)擁塞。本發(fā)明實施例提供的ー種數(shù)據(jù)發(fā)送的路徑選擇方法,基于開放式最短路徑優(yōu)先OSPF協(xié)議,該方法包括:按照預(yù)設(shè)的第一周期向相鄰的每個其它節(jié)點發(fā)送時延測量報文;接收所述其它節(jié)點返回的與所述時延測量報文一一對應(yīng)的響應(yīng)報文;根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值;根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該第二周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值;在任一所述其它節(jié)點的時延抖動值滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。
本發(fā)明實施例提供的ー種數(shù)據(jù)發(fā)送的路徑選擇裝置,基于開放式最短路徑優(yōu)先OSPF協(xié)議,該裝置包括:測試模塊,用于按照預(yù)設(shè)的第一周期向相鄰的每個其它節(jié)點發(fā)送時延測量報文;接收模塊,用于接收所述其它節(jié)點返回的與所述時延測量報文一一對應(yīng)的響應(yīng)報文;時延計算模塊,用于根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值;震蕩確定模塊,用于根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該第二周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值;控制模塊,用于在任一所述其它節(jié)點的時延抖動值滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。本發(fā)明實施例,對網(wǎng)絡(luò)的路徑選擇方法進(jìn)行了改進(jìn),加入了新的考量參數(shù)時延抖動值和安全發(fā)送閾值,通過時延值來獲得時延抖動值,通過所述時延抖動值來觀察網(wǎng)絡(luò)中每條數(shù)據(jù)傳輸鏈路的網(wǎng)絡(luò)擁塞變化情況,在變化的程度大于安全發(fā)送閾值時,表示該鏈路目前網(wǎng)絡(luò)震蕩比較大,不穩(wěn)定,停止通過該鏈路傳輸后續(xù)數(shù)據(jù),從而實現(xiàn)了在鏈路擁塞前就進(jìn)行數(shù)據(jù)的分流,更加靈活的對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑進(jìn)行了調(diào)度,從而提高了路由轉(zhuǎn)發(fā)率,提高了全網(wǎng)的鏈路利用效率。
圖1為本發(fā)明實施例提供的ー種數(shù)據(jù)發(fā)送的路徑選擇方法的方法流程示意圖;圖2為本發(fā)明實施例提供的ー種數(shù)據(jù)發(fā)送的路徑選擇裝置的裝置結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例提供的網(wǎng)絡(luò)中兩相鄰節(jié)點的路徑選擇方法流程示意圖。
具體實施例方式由于現(xiàn)有技術(shù)下的網(wǎng)絡(luò)時延測試方法會導(dǎo)致網(wǎng)絡(luò)震蕩,進(jìn)而造成網(wǎng)絡(luò)阻塞,所以本發(fā)明實施例提供了ー種數(shù)據(jù)發(fā)送的路徑選擇方法及裝置,用以提高網(wǎng)絡(luò)中節(jié)點的收斂速度,防止網(wǎng)絡(luò)發(fā)生震蕩,進(jìn)而防止網(wǎng)絡(luò)擁塞。本發(fā)明實施例提供了ー種數(shù)據(jù)發(fā)送的路徑選擇方法,基于開放式最短路徑優(yōu)先OSPF協(xié)議,對于網(wǎng)絡(luò)中的任意ー個節(jié)點來說,如圖1所示,該方法包括:S101,按照預(yù)設(shè)的第一周期向相鄰的每個其它節(jié)點發(fā)送時延測量報文;S102,接收所述其它節(jié)點返回的與所述時延測量報文一一對應(yīng)的響應(yīng)報文;S103,根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值;S104,根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該第二周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值;S105,在任一所述其它節(jié)點的時延抖動值滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。在本發(fā)明實施例中,引入了時延抖動值的新參數(shù),對于兩個建立了通信的節(jié)點來說,根據(jù)設(shè)定的第二周期可以得到一定時間內(nèi)這兩個節(jié)點的多個時延值,用這些時延值來確定用于表征這兩個節(jié)點間的數(shù)據(jù)傳輸鏈路的傳輸速度變化程度的時延抖動值。因為所述時延抖動值可以表現(xiàn)ー個傳輸鏈路的穩(wěn)定程度,所以在該時延抖動值滿足一定的條件,例如設(shè)定ー個極限值,在超出的時候停止通過該鏈路發(fā)送后續(xù)的數(shù)據(jù),提前避免鏈路發(fā)生擁塞。進(jìn)ー步地,所述分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值,具體為:分別為每個所述其它節(jié)點計算用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值;所述在任一所述其它節(jié)點的時延抖動滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù),具體為:在任一所述其它節(jié)點的時延抖動值大于設(shè)定的安全發(fā)送閾值時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。根據(jù)上述方法可以確定出整個網(wǎng)絡(luò)所有的數(shù)據(jù)傳輸鏈路的時延抖動值,對于整個網(wǎng)絡(luò)可以統(tǒng)ー設(shè)定ー個安全發(fā)送閾值,該閾值的大小應(yīng)根據(jù)具體的帶寬大小進(jìn)行設(shè)置,利用該安全發(fā)送閾值與每個時延抖動值進(jìn)行比較,對于大于該安全發(fā)送閾值的時延抖動值所代表的數(shù)據(jù)傳輸鏈路進(jìn)行停用,后續(xù)的需要傳輸?shù)臄?shù)據(jù)不再通過該數(shù)據(jù)傳輸鏈路進(jìn)行傳輸。在上述實施例的基礎(chǔ)上,進(jìn)ー步地,由于一段時間未從該鏈路傳輸數(shù)據(jù),那么該鏈路在一段時間后的時延抖動值肯定會下降,那么,在時延抖動值小于設(shè)定的安全發(fā)送閾值時,可以恢復(fù)與該其它節(jié)點的數(shù)據(jù)傳輸鏈路。通過本實施例附加的技術(shù)特征,本發(fā)明方法通過設(shè)定的時延抖動值可以既達(dá)到在數(shù)據(jù)傳輸鏈路擁塞前進(jìn)行“提前疏導(dǎo)”,又可以達(dá)到在擁塞危險解除后讓該數(shù)據(jù)傳輸鏈路恢復(fù)工作的目的。更佳地,在上述各實施例的基礎(chǔ)上,所述第二周期大于應(yīng)所述第一周期,且為所述第一周期的整數(shù)倍。本方法的第一周期與第二周期的具體數(shù)值可以根據(jù)需要進(jìn)行設(shè)置,具體的倍數(shù)大小決定了ー個第二周期內(nèi)可以獲得的時延值的具體個數(shù)。在上述實施例的基礎(chǔ)上,進(jìn)ー步地,所述根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值,具體包括:每個所述時延測量報文包括報文發(fā)送時間,對應(yīng)的所述響應(yīng)報文包括報文接收時間;所述報文發(fā)送時間與所述報文接收時間之和的均值為與該其它節(jié)點之間的時延值。在本發(fā)明實施例中,兩個相鄰節(jié)點通過時延測量報文的發(fā)送時間和返回的響應(yīng)報文的接收時間來計算這兩個節(jié)點間的傳輸時延,取這兩個時間之和的均值作為本次傳輸?shù)臅r延值。在上述實施例的基礎(chǔ)上,進(jìn)ー步地,所述根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點計算用于反映該數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值,具體包括:根據(jù)預(yù)設(shè)的第二周期,為每個其它節(jié)點統(tǒng)計該周期內(nèi)獲得的所有時延值中的最大時延值和最小時延值;該周期內(nèi)用于反映該其它節(jié)點的數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值等于所述最大時延值與所述最小時延值的差值。根據(jù)上述實施例對本發(fā)明引進(jìn)的時延抖動值進(jìn)行說明,由于時延抖動值是表示一段時間的數(shù)據(jù)傳輸延遲變化的,可以采用上述實施例的計算方式,即用一定時間內(nèi),數(shù)據(jù)從一個節(jié)點到另ー個相鄰節(jié)點的傳輸時延的最大值與最小值的差值來表示,如果在某一段時間,一條數(shù)據(jù)傳輸鏈路的時延變化非常大,表示這條數(shù)據(jù)傳輸鏈路非常不穩(wěn)定,有可能存在擁塞的風(fēng)險,則強制停止后續(xù)的數(shù)據(jù)繼續(xù)從該數(shù)據(jù)傳輸鏈路進(jìn)行發(fā)送,改換別的鏈路傳輸,例如可以將這些待傳輸數(shù)據(jù)從時延抖動值較小的鏈路發(fā)送,這樣就達(dá)到了“防患于未然”的目的,在鏈路出現(xiàn)擁塞之前就進(jìn)行有效的分流控制,防止了網(wǎng)絡(luò)擁塞情況的出現(xiàn)。作為ー種優(yōu)選的實施例,該方法還優(yōu)選包括根據(jù)預(yù)設(shè)的第三周期通過鏈路向相鄰節(jié)點發(fā)送用于獲取所述相鄰節(jié)點數(shù)據(jù)傳輸鏈路狀態(tài)的鏈路狀態(tài)報文,每個發(fā)送的所述鏈路狀態(tài)報文均設(shè)定用于相互區(qū)別的序號標(biāo)志位;以及記錄相鄰節(jié)點發(fā)送的鏈路狀態(tài)報文對應(yīng)的序號標(biāo)志位信息。保證鏈路狀態(tài)報文的正常發(fā)送對網(wǎng)絡(luò)的正常運行有著重要的影響,因為,如果鏈路狀態(tài)報文以不同的延遲到達(dá)鄰節(jié)點,或者部分丟包,就可能導(dǎo)致各鄰節(jié)點使用不同版本的信息,而這些信息可能對應(yīng)不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而可能導(dǎo)致路徑的不一致、死循環(huán)、不可達(dá)等等現(xiàn)象。由于ー個節(jié)點在接收到鏈路狀態(tài)報文時,是以其中的序號標(biāo)志位來區(qū)別這些不同的鏈路狀態(tài)報文的,所以為了保證鏈路狀態(tài)報文能夠正常的到達(dá),該方法還包括接收相鄰節(jié)點發(fā)送的心跳包,如在預(yù)設(shè)的門限值內(nèi)未接收到ー個或多個所述相鄰節(jié)點發(fā)送的心跳包,則清空本節(jié)點記錄的與該些相鄰節(jié)點對應(yīng)的序號標(biāo)志位記錄信息。在現(xiàn)有技術(shù)中,網(wǎng)絡(luò)中的某個節(jié)點在故障后,重新工作發(fā)出的鏈路狀態(tài)報文中的序號標(biāo)志位會從頭開始編號,使得其他相鄰節(jié)點在接收到報文時,由于根據(jù)自身的記錄收到過該報文,錯把該新報文當(dāng)成接收過的舊報文而丟棄。從而導(dǎo)致故障節(jié)點無法正常的獲取相鄰節(jié)點的鏈路狀態(tài)信息,自身保持的路由狀態(tài)表與實際網(wǎng)絡(luò)狀態(tài)產(chǎn)生偏差,在網(wǎng)絡(luò)轉(zhuǎn)發(fā)報文導(dǎo)致錯誤。針對上述現(xiàn)有技術(shù)的缺陷,上述實施例在網(wǎng)絡(luò)中的相鄰節(jié)點間建立心跳聯(lián)系,定時相互發(fā)送心跳包,并設(shè)置了門限值,如一個節(jié)點發(fā)現(xiàn)從某個相鄰節(jié)點距離上一次接收到心跳包的時間已經(jīng)超過門限值了,則判斷該相鄰節(jié)點已經(jīng)發(fā)生故障,則清空自身對該相鄰節(jié)點保存的序號標(biāo)志位記錄信息,這樣在故障節(jié)點恢復(fù)工作后,相鄰的節(jié)點都可以正常的接收鏈路狀態(tài)報文,并進(jìn)行正確處理,不會丟掉。這樣的機制的好處在于心跳包的建立實時的監(jiān)控了網(wǎng)絡(luò)中各個節(jié)點的狀態(tài)并且根據(jù)現(xiàn)有的狀態(tài)進(jìn)行路由計算和數(shù)據(jù)包的轉(zhuǎn)發(fā),減少了因為路徑的不通而導(dǎo)致的丟包率;并且人為的可以設(shè)置失步門限,這樣可以根據(jù)網(wǎng)絡(luò)規(guī)模的大小來確定該值,不會因為該值的過大或過小給網(wǎng)絡(luò)系統(tǒng)開銷造成額外過大的負(fù)擔(dān)?;谕话l(fā)明構(gòu)思,本發(fā)明實施例還提供了ー種數(shù)據(jù)發(fā)送的路徑選擇裝置,由于這些裝置和設(shè)備所解決問題的原理與前述數(shù)據(jù)發(fā)送的路徑選擇方法相似,因此該裝置和設(shè)備的實施可以參見前述方法的實施,重復(fù)之處不再贅述。
ー種數(shù)據(jù)發(fā)送的路徑選擇裝置,基于開放式最短路徑優(yōu)先OSPF協(xié)議,如圖2所示,該裝置包括:測試模塊1,用于按照預(yù)設(shè)的第一周期向相鄰的每個其它節(jié)點發(fā)送時延測量報文;接收模塊2,用于接收所述其它節(jié)點返回的與所述時延測量報文一一對應(yīng)的響應(yīng)報文;時延計算模塊3,用于根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值;震蕩確定模塊4,用于根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該第二周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值;控制模塊5,用于在任一所述其它節(jié)點的時延抖動值滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。進(jìn)ー步地,所述時延計算模塊分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值,具體為:分別為每個所述其它節(jié)點計算用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值;所述控制模塊具體用干:在任一所述其它節(jié)點的時延抖動值大于設(shè)定的安全發(fā)送閾值時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。所述控制模塊還用于,在時延抖動值小于設(shè)定的安全發(fā)送閾值時,恢復(fù)與該其它節(jié)點的數(shù)據(jù)傳輸鏈路。所述第二周期大于所述第一周期,且為所述第一周期的整數(shù)倍。所述時延計算模塊,具體用于:每個所述時延測量報文包括報文發(fā)送時間,對應(yīng)的所述響應(yīng)報文包括報文接收時間;所述報文發(fā)送時間與所述報文接收時間之和的均值為與該其它節(jié)點之間的時延值。所述震蕩確定模塊,具體用于:根據(jù)預(yù)設(shè)的第二周期,為每個其它節(jié)點統(tǒng)計該周期內(nèi)獲得的所有時延值中的最大時延值和最小時延值;該周期內(nèi)用于反映該其它節(jié)點的數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值等于所述最大時延值與所述最小時延值的差值。該裝置還包括狀態(tài)探測模塊,用于根據(jù)預(yù)設(shè)的第三周期通過鏈路向相鄰節(jié)點發(fā)送用于獲取所述相鄰節(jié)點數(shù)據(jù)傳輸鏈路狀態(tài)的鏈路狀態(tài)報文,每個發(fā)送的所述鏈路狀態(tài)報文均設(shè)定用于相互區(qū)別的序號標(biāo)志位;以及記錄相鄰節(jié)點發(fā)送的鏈路狀態(tài)報文對應(yīng)的序號標(biāo)志位信息。該裝置還包括存儲清空模塊,用于接收相鄰節(jié)點發(fā)送的心跳包,如在預(yù)設(shè)的門限值內(nèi)未接收到ー個或多個所述相鄰節(jié)點發(fā)送的心跳包,則清空本節(jié)點內(nèi)記錄的與該些相鄰節(jié)點對應(yīng)的序號標(biāo)志位信息。為了更好的理解本發(fā)明技術(shù)方案,如圖3所示,下面以兩個相鄰節(jié)點間的路徑選擇實施例為例,詳細(xì)的進(jìn)行解釋:S201,在網(wǎng)絡(luò)中,第一節(jié)點根據(jù)第一周期的通過數(shù)據(jù)傳輸鏈路向相鄰的第二節(jié)點發(fā)送時延測量報文;S202,第一節(jié)點接收返回的對應(yīng)響應(yīng)報文;S203,第一節(jié)點根據(jù)發(fā)送時延測量報文的時間和接收到響應(yīng)報文的時間計算此次發(fā)送的時延值;S204,第一節(jié)點根據(jù)第二周期利用該周期內(nèi)獲得的所有時延值中的最大值與最小值計算出該數(shù)據(jù)傳輸鏈路的時延抖動值;S205,第一節(jié)點用時延抖動值與安全發(fā)送閾值進(jìn)行比較,如時延抖動值大于安全發(fā)送閾值則進(jìn)入步驟S206,如時延抖動值小于安全發(fā)送閾值則進(jìn)入步驟S207 ;S206,后續(xù)需要傳輸?shù)臄?shù)據(jù)停止通過該數(shù)據(jù)傳輸鏈路發(fā)送,不向第二節(jié)點發(fā)送后續(xù)數(shù)據(jù),選擇其他時延抖動值較小的數(shù)據(jù)傳輸鏈路發(fā)送;S207,后續(xù)數(shù)據(jù)通過該數(shù)據(jù)傳輸鏈路向第二節(jié)點發(fā)送;S208,第 一節(jié)點與第二節(jié)點周期性的判斷之間的心跳包聯(lián)系是否低于門限值,是則進(jìn)入步驟S209,否則進(jìn)入步驟S210 ;S209,繼續(xù)傳送;S210,第二節(jié)點長時間未能接收到第一節(jié)點發(fā)送的心跳包時,判定第一節(jié)點發(fā)生故障,第二節(jié)點清除第一節(jié)點的序號標(biāo)志位記錄信息;第一節(jié)點長時間未能接收到第二節(jié)點發(fā)送的心跳包時,判定第二節(jié)點發(fā)生故障,第一節(jié)點清除第二節(jié)點的序號標(biāo)志位記錄信綜上所述,本發(fā)明實施例,對網(wǎng)絡(luò)的路徑選擇方法進(jìn)行了改進(jìn),加入了新的考量參數(shù)時延抖動值和安全發(fā)送閾值,通過時延值來獲得時延抖動值,通過所述時延抖動值來觀察網(wǎng)絡(luò)中每條數(shù)據(jù)傳輸鏈路的網(wǎng)絡(luò)擁塞變化情況,在變化的程度大于安全發(fā)送閾值時,表示該鏈路目前網(wǎng)絡(luò)震蕩比較大,不穩(wěn)定,停止通過該鏈路傳輸后續(xù)數(shù)據(jù),從而實現(xiàn)了在鏈路擁塞前就進(jìn)行數(shù)據(jù)的分流,更加靈活的對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑進(jìn)行了調(diào)度,從而提高了路由轉(zhuǎn)發(fā)率,提高了全網(wǎng)的鏈路利用效率。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(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)在流程圖ー個流程或多個流程和/或方框圖ー個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖ー個流程或多個流程和/或方框圖ー個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖ー個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.ー種數(shù)據(jù)發(fā)送的路徑選擇方法,基于開放式最短路徑優(yōu)先OSPF協(xié)議,其特征在干,該方法包括: 按照預(yù)設(shè)的第一周期向相鄰的每個其它節(jié)點發(fā)送時延測量報文; 接收所述其它節(jié)點返回的與所述時延測量報文一一對應(yīng)的響應(yīng)報文; 根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值; 根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該第二周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值; 在任一所述其它節(jié)點的時延抖動值滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值,具體為:分別為每個所述其它節(jié)點計算用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值; 所述在任一所述其它節(jié)點的時延抖動滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù),具體為:在任一所述其它節(jié)點的時延抖動值大于設(shè)定的安全發(fā)送閾值時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其特征在于,在時延抖動值小于設(shè)定的安全發(fā)送閾值時,恢復(fù)與該其它節(jié)點的數(shù)據(jù)傳輸鏈路。
4.如權(quán)利要求1-3任ー權(quán)項所述的方法,其特征在于,所述第二周期大于所述第一周期,且為所述第一周期的整數(shù)倍。
5.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值,具體包括: 每個所述時延測量報文包括報文發(fā)送時間,對應(yīng)的所述響應(yīng)報文包括報文接收時間; 所述報文發(fā)送時間與所述報文接收時間之和的均值為與該其它節(jié)點之間的時延值。
6.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點計算用于反映該數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值,具體包括: 根據(jù)預(yù)設(shè)的第二周期,為每個其它節(jié)點統(tǒng)計該周期內(nèi)獲得的所有時延值中的最大時延值和最小時延值; 該周期內(nèi)用于反映該其它節(jié)點的數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值等于所述最大時延值與所述最小時延值的差值。
7.如權(quán)利要求1所述的方法,其特征在于,該方法還包括根據(jù)預(yù)設(shè)的第三周期通過鏈路向相鄰節(jié)點發(fā)送用于獲取所述相鄰節(jié)點數(shù)據(jù)傳輸鏈路狀態(tài)的鏈路狀態(tài)報文,每個發(fā)送的所述鏈路狀態(tài)報文均設(shè)定用于相互區(qū)別的序號標(biāo)志位;以及 記錄相鄰節(jié)點發(fā)送的鏈路狀態(tài)報文對應(yīng)的序號標(biāo)志位信息。
8.如權(quán)利要求7所述的方法,其特征在于,該方法還包括接收相鄰節(jié)點發(fā)送的心跳包,如在預(yù)設(shè)的門限值內(nèi)未接收到ー個或多個所述相鄰節(jié)點發(fā)送的心跳包,則清空本節(jié)點內(nèi)記錄的與該些相鄰節(jié)點對應(yīng)的序號標(biāo)志位信息。
9.ー種數(shù)據(jù)發(fā)送的路徑選擇裝置,基于開放式最短路徑優(yōu)先OSPF協(xié)議,其特征在干,該裝置包括: 測試模塊,用于按照預(yù)設(shè)的第一周期向相鄰的每個其它節(jié)點發(fā)送時延測量報文; 接收模塊,用于接收所述其它節(jié)點返回的與所述時延測量報文一一對應(yīng)的響應(yīng)報文; 時延計算模塊,用于根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值; 震蕩確定模塊,用于根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該第二周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值; 控制模塊,用于在任一所述其它節(jié)點的時延抖動值滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。
10.如權(quán)利要求9所述的裝置,其特征在于,所述時延計算模塊分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值,具體為:分別為每個所述其它節(jié)點計算用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值; 所述控制模塊具體用干:在任一所述其它節(jié)點的時延抖動值大于設(shè)定的安全發(fā)送閾值時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。
11.如權(quán)利要求10所述的裝置,其特征在于,所述控制模塊還用于,在時延抖動值小于設(shè)定的安全發(fā)送閾值時,恢復(fù)與該其它節(jié)點的數(shù)據(jù)傳輸鏈路。
12.如權(quán)利要求9-11任ー權(quán)項所述的裝置,其特征在于,所述第二周期大于所述第一周期,且為所述第一周期的整數(shù)倍。
13.如權(quán)利要求11所述的裝置,其特征在于,所述時延計算模塊,具體用于: 每個所述時延測量報文包括報文發(fā)送時間,對應(yīng)的所述響應(yīng)報文包括報文接收時間; 所述報文發(fā)送時間與所述報文接收時間之和的均值為與該其它節(jié)點之間的時延值。
14.如權(quán)利要求11所述的裝置,其特征在于,所述震蕩確定模塊,具體用于: 根據(jù)預(yù)設(shè)的第二周期,為每個其它節(jié)點統(tǒng)計該周期內(nèi)獲得的所有時延值中的最大時延值和最小時延值; 該周期內(nèi)用于反映該其它節(jié)點的數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值等于所述最大時延值與所述最小時延值的差值。
15.如權(quán)利要求9所述的裝置,其特征在于,該裝置還包括狀態(tài)探測模塊,用于根據(jù)預(yù)設(shè)的第三周期通過鏈路向相鄰節(jié)點發(fā)送用于獲取所述相鄰節(jié)點數(shù)據(jù)傳輸鏈路狀態(tài)的鏈路狀態(tài)報文,每個發(fā)送的所述鏈路狀態(tài)報文均設(shè)定用于相互區(qū)別的序號標(biāo)志位;以及 記錄相鄰節(jié)點發(fā)送的鏈路狀態(tài)報文對應(yīng)的序號標(biāo)志位信息。
16.如權(quán)利要求15所述的裝置,其特征在于,該裝置還包括存儲清空模塊,用于接收相鄰節(jié)點發(fā)送的心跳包,如在預(yù)設(shè)的門限值內(nèi)未接收到ー個或多個所述相鄰節(jié)點發(fā)送的心跳包,則清空本節(jié)點內(nèi)記錄的與該些相鄰節(jié)點對應(yīng)的序號標(biāo)志位信息。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)發(fā)送的路徑選擇方法及裝置,涉及通信技術(shù)領(lǐng)域,用以提高網(wǎng)絡(luò)中節(jié)點的收斂速度,防止網(wǎng)絡(luò)發(fā)生震蕩,進(jìn)而防止網(wǎng)絡(luò)擁塞。該方法包括按照預(yù)設(shè)的第一周期向相鄰的每個其它節(jié)點發(fā)送時延測量報文;接收所述其它節(jié)點返回的與所述時延測量報文一一對應(yīng)的響應(yīng)報文;根據(jù)所述時延測量報文和對應(yīng)的所述響應(yīng)報文獲得每個所述其它節(jié)點該次測量的時延值;根據(jù)預(yù)設(shè)的第二周期,統(tǒng)計該第二周期內(nèi)獲得的所有的時延值,分別為每個所述其它節(jié)點確定用于反映該節(jié)點數(shù)據(jù)傳輸鏈路擁塞變化程度的時延抖動值;在任一所述其它節(jié)點的時延抖動值滿足設(shè)定條件時,停止通過該其它節(jié)點的數(shù)據(jù)傳輸鏈路傳輸后續(xù)數(shù)據(jù)。
文檔編號H04L12/733GK103139070SQ201310034760
公開日2013年6月5日 申請日期2013年1月29日 優(yōu)先權(quán)日2013年1月29日
發(fā)明者陳霄 申請人:大唐移動通信設(shè)備有限公司