1.一種移動Ad-hoc網(wǎng)絡中TCP連接性能的優(yōu)化方法,其特征在于,包括以下步驟:
步驟一、選取代理節(jié)點;
步驟二、代理節(jié)點進行序列號檢測;
步驟三、代理節(jié)點通知源節(jié)點TCP包丟失;
步驟四、源節(jié)點接收丟失信息并重傳。
2.根據(jù)權利要求1所述的一種移動Ad-hoc網(wǎng)絡中TCP連接性能的優(yōu)化方法,其特征在于步驟一選取代理節(jié)點,包括以下步驟:
步驟101,在接收到來自應用層的數(shù)據(jù)包后,移動自組織網(wǎng)需要建立源節(jié)點與目的節(jié)點間的連接,源節(jié)點向目的節(jié)點發(fā)送路徑請求RREQ,源節(jié)點向目的節(jié)點發(fā)送的路徑請求中包含源節(jié)點與目的節(jié)點間的總跳數(shù)HC,RREQ通過各個中間節(jié)點最終到達目的節(jié)點;
步驟102,目的節(jié)點收到發(fā)自源節(jié)點的RREQ,從中讀取源節(jié)點與目的節(jié)點間的總跳數(shù),若總跳數(shù)大于最小允許跳數(shù)值,則在源節(jié)點與目的節(jié)點間選取代理節(jié)點,進入步驟103,若總跳數(shù)不大于最小允許跳數(shù)值,則不在源節(jié)點與目的節(jié)點間選取代理節(jié)點,目的節(jié)點與源節(jié)點之間采用正常的方式傳輸來自應用層的數(shù)據(jù)包;
步驟103,目的節(jié)點獲得代理跳數(shù),若源節(jié)點與目的節(jié)點間的總跳數(shù)HC為偶數(shù),則將源節(jié)點與目的節(jié)點間的總跳數(shù)HC除以2,得到代理跳數(shù)PHC,若源節(jié)點與目的節(jié)點間的總跳數(shù)HC為奇數(shù),則將源節(jié)點與目的節(jié)點間的總跳數(shù)HC加1后除以2,得代理跳數(shù)PHC;
步驟104,目的節(jié)點向源節(jié)點回返一個路徑請求回應消息RREP,其中包含上述在步驟103中計算出的代理跳數(shù)PHC,該RREP經(jīng)過源節(jié)點與目的節(jié)點間的各個中間節(jié)點到達源節(jié)點,各個中間節(jié)點在接收到RREP時,讀取RREP中包含的代理跳數(shù)PHC以及RREP所記錄的跳數(shù),并將RREP包含的代理跳數(shù)PHC與RREP所記錄的跳數(shù)進行比較,其中RREP所記錄的跳數(shù)從目的節(jié)點處開始起算,由0開始,RREP每經(jīng)過一跳,RREP所記錄的跳數(shù)就增加1,直至RREP被傳送至源節(jié)點,若中間節(jié)點所讀取的RREP中所包含的代理跳數(shù)PHC與RREP所記錄的跳數(shù)相等,該中間節(jié)點便被選為代理節(jié)點,并將RREP繼續(xù)向源節(jié)點傳送,若RREP中包含的代理跳數(shù)PHC與RREP所記錄的跳數(shù)不等,則該中間節(jié)點就不被選為代理節(jié)點,僅將RREP繼續(xù)向源節(jié)點傳送,通過這樣的RREP的傳遞過程,在中間節(jié)點中選取出代理節(jié)點;
步驟105,代理節(jié)點向目的節(jié)點發(fā)送一個代理信息P-INFORM包以告知目的節(jié)點代理節(jié)點的地址即代理地址,代理信息包中包括代理地址;、
步驟106,代理節(jié)點與目的節(jié)點間的各個中間節(jié)點在收到代理信息包P-INFORM后,各個中間節(jié)點讀取代理信息P-INFORM包中的代理地址,并進行記錄;
步驟107,代理節(jié)點將代理節(jié)點的地址附加到向源節(jié)點回送的RREP中,代理節(jié)點與源節(jié)點間的各個中間節(jié)點在收到RREP后,各個中間節(jié)點讀取代理信息 P-INFORM包中的代理地址并進行記錄,網(wǎng)絡中的所有節(jié)點均確認了被選為代理節(jié)點的中間節(jié)點在網(wǎng)絡中的位置。
3.根據(jù)權利要求1或2所述選取代理節(jié)點,其特征在于,所述最小允許跳數(shù)值表示在源節(jié)點與目的節(jié)點間采用代理節(jié)點時的最小跳數(shù)值,總跳數(shù)大于最小允許跳數(shù)值,則在源節(jié)點與目的節(jié)點間選取代理節(jié)點,總跳數(shù)不大于最小允許跳數(shù)值,則不在源節(jié)點與目的節(jié)點間選取代理節(jié)點,最小允許跳數(shù)值設置為3。
4.根據(jù)權利要求1-3任一項所述的一種移動Ad-hoc網(wǎng)絡中TCP連接性能的優(yōu)化方法,其特征在于步驟二代理節(jié)點進行序列號檢測,代理節(jié)點通過維護當前序列號cur_seqno與期望序列號exp_seqno來判斷數(shù)據(jù)傳輸過程中是否出現(xiàn)TCP包丟失的情況,每個TCP包均包含有一個TCP包序列號tcp_seqno,用以區(qū)分和標明各個TCP包從源節(jié)點發(fā)出時的順序,各TCP包的TCP包序列號tcp_seqno按TCP包由源節(jié)點發(fā)出的順序依序遞增,首個發(fā)出的TCP包的TCP包序列號tcp_seqno為1,其后發(fā)出的TCP包的TCP包序列號tcp_seqno依次增加1,包括以下步驟:
步驟201,代理節(jié)點維護當前序列號cur_seqno與期望序列號exp_seqno,源節(jié)點向目的節(jié)點發(fā)送TCP包時,TCP包從源節(jié)點處經(jīng)過中間節(jié)點傳輸至代理節(jié)點,代理節(jié)點每次接收到發(fā)送自源節(jié)點的TCP包后都按照如下過程更新當前序列號cur_seqno與期望序列號exp_seqno:代理節(jié)點將當前序列號cur_seqno設置為接收到的TCP包的序列號tcp_seqno,若當前序列號cur_seqno為1,則將期望序列號exp_seqno設置為當前序列號,若果當前序列號cur_seqno不為1,則將期望序列號exp_seqno加1,代理節(jié)點每次按照上述過程更新當前序列號cur_seqno與期望序列號exp_seqno;
步驟202,代理節(jié)點將當前序列號cur_seqno與期望序列號exp_seqno作比較,若當前序列號cur_seqno與期望序列號exp_seqno相等,說明沒有任何TCP包丟失,若期望序列號exp_seqno小于當前序列號cur_seqno,說明發(fā)生TCP包丟失,則代理節(jié)點將期望序列號exp_seqno作為首個丟失序列號first_miss_seqno,將當前序列號cur_seqno減去期望序列號exp_seqno的值作為丟失TCP包的數(shù)量num_miss_pktcp并進入步驟三,若期望序列號exp_seqno大于當前序列號cur_seqno,說明重傳的TCP包被接收,則代理節(jié)點不再增加期望序列號exp_seqno的值,取當前序列號cur_seqno與期望序列號exp_seqno的最大值作為期望序列號exp_seqno。
5.根據(jù)權利要求1或2或4所述的一種移動Ad-hoc網(wǎng)絡中TCP連接性能的優(yōu)化方法,其特征在于步驟三代理節(jié)點通知源節(jié)點TCP包丟失,代理節(jié)點向源節(jié)點發(fā)送代理確認信息PACK包,代理確認信息PACK包中包含在步驟202得出的首個丟失序列號first_miss_seqno和丟失TCP包的數(shù)量num_miss_pktcp。
6.根據(jù)權利要求1-5任一項所述的一種移動Ad-hoc網(wǎng)絡中TCP連接性能的優(yōu)化方法,其特征在于步驟四的源節(jié)點接收丟失信息并重傳,當源節(jié)點接收到PACK包時,位于源節(jié)點處的TCP數(shù)據(jù)源會檢查這些ACK包,源節(jié)點根據(jù)首個丟失序列號與丟失TCP包的數(shù)量,確定源節(jié)點需要重傳的TCP的序列號與數(shù)量,并確保丟失的TCP包均被重傳,丟失的TCP包均會在來自目的節(jié)點的端到端確認信息到達源節(jié)點之前向目的節(jié)點發(fā)送。