本發(fā)明涉及通信,特別是指一種路徑故障檢測方法及裝置。
背景技術(shù):
1、在基于流控制傳輸協(xié)議(stream?control?transmission?protocol,sctp)的通信系統(tǒng)中,常用的路徑故障檢測方法和恢復(fù)方法均是利用檢測心跳(heartbeat)數(shù)據(jù)塊的方式實現(xiàn),具體地,路徑故障檢測方法為:每當(dāng)定時器t3rtx超時或發(fā)送心跳(heartbeat)數(shù)據(jù)塊未在重傳超時時間(retransmission?timeout,rto)內(nèi)收到心跳應(yīng)答(heartbeat?ack),將對應(yīng)目的地址的錯誤計數(shù)加一。如果錯誤計數(shù)大于路徑最大重傳次數(shù),則去激活該目的地址并向上層發(fā)送通知。常用的路徑故障恢復(fù)方法為:當(dāng)一個未完成的傳送序號(transmission?sequence?number,tsn)被確認(rèn)或發(fā)送到該目的地址的heartbeat數(shù)據(jù)塊在rto內(nèi)收到heartbeat?ack,則清除對應(yīng)目的地址的錯誤計數(shù)。另外,如果該目的地址的狀態(tài)為未激活,則置為激活,并向上層發(fā)送通知。
2、當(dāng)前heartbeat數(shù)據(jù)塊檢測路徑故障時,僅能檢測到路徑出現(xiàn)連續(xù)丟包的問題,如果傳輸路徑出現(xiàn)其他長度的包丟包或概率性丟包等路徑問題,現(xiàn)有的路徑故障檢測方法可能存在無法檢測出故障的情況。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是提供一種路徑故障檢測方法及裝置,可檢測出不同長度的包丟包和概率性丟包的路徑問題。
2、為達(dá)到上述目的,本發(fā)明的實施例提供一種路徑故障檢測方法,包括:
3、獲取流控制傳輸協(xié)議sctp路徑的路徑狀態(tài),所述路徑狀態(tài)包括傳輸狀態(tài)或空閑狀態(tài);
4、當(dāng)所述路徑狀態(tài)為傳輸狀態(tài)時,根據(jù)所述sctp路徑上傳輸?shù)臄?shù)據(jù),檢測所述sctp路徑是否存在故障;
5、當(dāng)所述路徑狀態(tài)為空閑狀態(tài)時,在所述sctp路徑上傳輸不同長度的心跳數(shù)據(jù)塊,并根據(jù)所述心跳數(shù)據(jù)塊檢測所述sctp路徑是否存在故障。
6、為達(dá)到上述目的,本發(fā)明的實施例提供一種路徑故障檢測裝置,包括:
7、獲取模塊,用于獲取流控制傳輸協(xié)議sctp路徑的路徑狀態(tài),所述路徑狀態(tài)包括傳輸狀態(tài)或空閑狀態(tài);
8、第一處理模塊,用于當(dāng)所述路徑狀態(tài)為傳輸狀態(tài)時,根據(jù)所述sctp路徑上傳輸?shù)臄?shù)據(jù),檢測所述sctp路徑是否存在故障;
9、第二處理模塊,用于當(dāng)所述路徑狀態(tài)為空閑狀態(tài)時,在所述sctp路徑上傳輸不同長度的心跳數(shù)據(jù)塊,并根據(jù)所述心跳數(shù)據(jù)塊檢測所述sctp路徑是否存在故障。
10、為達(dá)到上述目的,本發(fā)明的實施例提供一種路徑故障檢測裝置,包括:收發(fā)機和處理器;
11、所述處理器用于:獲取流控制傳輸協(xié)議sctp路徑的路徑狀態(tài),所述路徑狀態(tài)包括傳輸狀態(tài)或空閑狀態(tài);當(dāng)所述路徑狀態(tài)為傳輸狀態(tài)時,根據(jù)所述sctp路徑上傳輸?shù)臄?shù)據(jù),檢測所述sctp路徑是否存在故障;當(dāng)所述路徑狀態(tài)為空閑狀態(tài)時,在所述sctp路徑上傳輸不同長度的心跳數(shù)據(jù)塊,并根據(jù)所述心跳數(shù)據(jù)塊檢測所述sctp路徑是否存在故障。
12、為達(dá)到上述目的,本發(fā)明的實施例提供一種路徑故障檢測裝置,包括:收發(fā)器、處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運行的程序或指令;所述處理器執(zhí)行所述程序或指令時實現(xiàn)如上所述的路徑故障檢測方法的步驟。
13、為達(dá)到上述目的,本發(fā)明的實施例提供一種可讀存儲介質(zhì),其上存儲有程序或指令,所述程序或指令被處理器執(zhí)行時實現(xiàn)如上所述的路徑故障檢測方法的步驟。
14、本發(fā)明的上述技術(shù)方案的有益效果如下:
15、本發(fā)明實施例的路徑故障檢測方法及裝置,通過sctp路徑上傳輸?shù)臄?shù)據(jù)或不同長度的心跳數(shù)據(jù)塊來確定是否存在故障,可檢測出路徑不同長度的包丟包和概率性丟包,提高了路徑故障檢測準(zhǔn)確度。
1.一種路徑故障檢測方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的路徑故障檢測方法,其特征在于,根據(jù)所述sctp路徑上傳輸?shù)臄?shù)據(jù),檢測所述sctp路徑是否存在故障,包括以下至少一項:
3.根據(jù)權(quán)利要求2所述的路徑故障檢測方法,其特征在于,當(dāng)未開啟sctp綁定時,按照第一路徑最大傳輸單元pmtu檢測所述sctp路徑上數(shù)據(jù)的丟包率,確定所述sctp路徑是否存在故障,包括:
4.根據(jù)權(quán)利要求2所述的路徑故障檢測方法,其特征在于,根據(jù)所述sctp路徑上不同長度的數(shù)據(jù)的丟包率,確定所述sctp路徑是否存在故障,包括以下至少一項:
5.根據(jù)權(quán)利要求4所述的路徑故障檢測方法,其特征在于,根據(jù)所述sctp路徑上數(shù)據(jù)的最小長度遞減連續(xù)檢測n次的丟包率,確定所述sctp路徑是否存在故障,包括:
6.根據(jù)權(quán)利要求1所述的路徑故障檢測方法,其特征在于,在所述sctp路徑上傳輸不同長度的心跳數(shù)據(jù)塊,并根據(jù)所述心跳數(shù)據(jù)塊檢測所述sctp路徑是否存在故障,包括以下任一項:
7.一種路徑故障檢測裝置,其特征在于,包括:
8.一種路徑故障檢測裝置,其特征在于,包括:收發(fā)機和處理器;
9.一種路徑故障檢測裝置,包括:收發(fā)器、處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運行的程序或指令;其特征在于,所述處理器執(zhí)行所述程序或指令時實現(xiàn)如權(quán)利要求1至6任一項所述的路徑故障檢測方法的步驟。
10.一種可讀存儲介質(zhì),其上存儲有程序或指令,其特征在于,所述程序或指令被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至6任一項所述的路徑故障檢測方法的步驟。