新四季網

無線側tcp數據重傳的方法和設備的製作方法

2023-05-07 14:18:56

專利名稱:無線側tcp數據重傳的方法和設備的製作方法
技術領域:
本發明涉及通信技術領域,特別涉及一種無線側TCP數據重傳的方法和設備。
背景技術:
TCP (Transmission Control Protocol,傳輸控制協議)是一種面向連接(連接導向)的、可靠的、基於字節流的運輸層(Transport Layer)通信協議。在具有TCP代理功能的RNC (Radio Network Controller,無線網絡控制器)或者有TCP實體的3G (3rd Generation,第三代移動通信技術)終端的無線側,由於空口丟包和非按序遞交,會導致終端收到大量的亂序包,終端的TCP實體在收到亂序包後會發送DupACK (重複確認)或者SACK (選擇性確認),表示丟失某個數據包。 其實,這些包在空口被分成很多小包進行傳輸,由於某個小包的丟棄,導致整個大包不能遞交給終端的TCP實體,這時候終端的TCP實體就會發送Dup ACK或者SACK,要求RNC側的TCP代理重傳這包數據。而小包丟失後會在RLC (Radio Link Control,無線鏈路控制)層重傳,當重傳的小包被終端正確接收後,整個大包就交給終端的TCP層。但是,如果這時候RNC的TCP層也重傳了這包數據,就會導致這包在空口中重複傳輸,導致空口資源和帶寬的浪費。Dup ACK或者SACK是TCP協議告知發送端數據丟失的兩種方式
連續收到3個Dup ACK (一共4個ACK具有相同的確認號),表示確認號開始的數據包接收端沒有收到。SACK是直接告訴發送端哪些數據收到了,哪些數據沒有收到。目前TCP代理對重傳的處理大多是按照TCP協議的重傳機制或者對TCP協議重傳機制的改進。( I) TCP協議快速重傳算法
如果發送方在重傳計時器超時之前連續收到3個Dup ACK (一共4個ACK具有相同的確認號),則說明極有可能某一包數據已經丟失,此時立即啟動快速重傳算法,也就是立即重傳這一包數據。(2)重傳定時器
當TCP發送一個報文段時,會根據RTT (Round-Trip Time,往返時間)創建一個針對特定報文段的重傳計時器。如果在計時器截止時間之前收到對這個報文段的確認,則撤銷這個定時器;如果在計時器截止時間之前沒有收到對這個報文段的確認,則重傳這個報文段,並清除定時器。(3)次冪重傳算法
這個算法是在快速重傳算法上的改進,如果重傳計時器超時之前收到3個Dup ACKC-共4個ACK具有相同的確認號),則立即重傳這一包,後續繼續收到3個Dup ACK,不再重傳,直到收到8個ACK具有相同的確認號,才重傳這一包,後續收到16個ACK具有相同的確認號,才重傳這一包......從而,避免後續不必要的多次重傳。
在實現本發明的過程中,發明人發現現有技術中至少存在以下問題
以上三種方法,TCP協議快速重傳算法和重傳定時器是TCP協議的一部分,次冪重傳算法是基於快速重傳算法的一種改進。這些方法在解決無線側是否需要重傳數據包的問題上有很大的局限性,具體分析如下
(I)TCP協議快速重傳算法,這個是TCP協議規定的實現方式,這種方式的弊端很明顯,在無線環境較差的情況下,TCP實體發送的數據包在RLC被分割成多個小包,如果丟失其中的部分小包,而重傳這些小包的過程需要一定的時間或者這些小包在空口反覆的丟棄,都會導致終端發送大量的Dup ACK,如果按照快速重傳算法,整個數據包被不停的發送,浪費帶寬和空口的資源。(2)重傳定時器的方法在無線環境中具有局限性,主要是RTT在空口是一個變化很大的值,根據以前的值預測往往不準。如果RTT時間預測短了,會導致沒必要的重傳,浪費帶寬和空口資源;如果RTT時間預測長了,首先實時性較差,其次發送窗滿,也會導致空口空閒,導致空口資源不必要的浪費。(3)次冪重傳算法是對TCP協議快速重傳算法的改進,雖然可以減少TCP實體發送重複數據包的次數,但是不能避免,而且,如果數據包再次丟失了,再次重傳數據包的實時性較差。綜上所述,這些方法都不可避免的帶來的空口帶寬資源浪費,而且還有可能引入實時性差等其他問題。

發明內容
本發明實施例提供一種無線側TCP數據重傳的方法和設備,解決現有的技術方案中在存在跨無線網絡TCP連接的系統中,無法合理解決無線側重傳處理,造成系統資源浪費的問題。為達到上述目的,本發明實施例一方面提供了一種無線側TCP數據重傳的方法,至少包括以下步驟
當TCP實體接收到終端設備發送的上行消息時,所述TCP實體判斷所述上行消息中是否包含Dup ACK消息;
如果包含,所述TCP實體判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息;
如果判斷結果為是,所述TCP實體對所述Dup ACK消息進行計數累加;
所述TCP實體判斷所述Dup ACK消息當前的計數值是否達到2 ;
如果達到,所述TCP實體重傳所述Dup ACK消息所對應的數據包,並將所述Dup ACK消息的計數值置零。另一方面,本發明實施例還提供了一種網絡設備,作為TCP實體應用於存在跨無線網絡的TCP連接的網絡系統中,至少包括
接收模塊,用於接收終端設備發送的上行消息;
第一判斷模塊,用於判斷所述接收模塊所接收到的上行消息中是否包含Dup ACK消
息;
第二判斷模塊,用於在所述第一判斷模塊的判斷結果為包含時,判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息;
計數模塊,用於在所述第二判斷模塊的判斷結果為是時,對所述接收模塊所接收到的Dup ACK消息進行計數累加;
第三判斷模塊,用於判斷所述計數模塊所計數的Dup ACK消息當前的計數值是否達到
2 ;
處理模塊,用於在所述第三判斷模塊的判斷結果為達到時,重傳所述Dup ACK消息所對應的數據包,並通知所述計數模塊將所述Dup ACK消息的計數值置零。與現有技術相比,本發明實施例所提出的技術方案具有以下優點
通過應用本發明實施例的技術方案,在TCP實體接收到終端設備發送的包含Dup ACK消息的上行消息的情況下,如果TCP實體判斷RLC層已經將該Dup ACK消息所對應的數據包的所有分片包發送給終端設備,並接收到了終端設備返回的確認消息,則對該Dup ACK消息進行計數累加,並在計數值達到2時,重傳該Dup ACK消息所對應的數據包,從而,可以靈活運用TCP實體數據本地緩衝及重傳的特點,並結合RLC可靠傳輸的特性,對終端設備的DupACK進行甄別,實現TCP層數據的快速重傳,在TCP代理的無線側準確確定數據包是否需要TCP層的重傳,提高了 TCP的性能和空口資源利用率,避免了非必要的數據重傳所帶來的系統資源浪費。


圖I為本發明實施例所提出的一種無線側TCP數據重傳的方法的流程示意 圖2為本發明實施例所提出的一種無線側TCP數據重傳的方法中的根據SACK消息進行數據包重傳處理的流程示意 圖3為本發明實施例所提出的一種具體場景中的無線側TCP數據重傳的方法的流程示意 圖4為本發明實施例提出的一種網絡設備的結構示意圖。
具體實施例方式如背景技術所述,TCP是為有線網絡Internet而研究、開發出來的可靠的傳輸協議。有線網絡的傳輸特性是低誤碼率、易擁塞性,因此,它的傳輸控制算法主要是基於網絡 的擁塞模型而設計的。但是,當一個TCP連接跨越了有線和無線兩個網絡時,TCP將不能適應無線傳輸信道的高誤碼率、高時延抖動、小區切換、亂序等特性,弓I起錯誤的慢啟動、擁塞避免和重傳,當空口質量迅速恢復的時候,TCP數據不能及時傳輸,造成帶寬資源利用率降低、有效帶寬下降和吞吐波動等現象。為了提升上述跨越無線網絡TCP連接的傳輸性能,現有技術中比較通用的做法是在RNC側設置TCP代理,通過本地緩存、排序、流量控制、本地重傳、抑制Dup ACK等機制來增強無線側傳輸的性能。但是,在無線環境中,由於空口環境變化大,會導致很多的亂序包,這些包的重傳可以在RLC解決,如果在TCP層重傳,會導致空口資源不必要的浪費。
為了克服這樣的缺陷,本發明實施例提出了一種無線側TCP數據重傳的方法,主要解決在TCP代理的無線側如何確定數據包是否需要TCP層的重傳,以提高TCP的性能和空口資源利用率的問題。如圖I所示,為本發明實施例所提出的一種無線側TCP數據重傳的方法的流程示意圖,該方法具體包括以下步驟
步驟SlOl、當TCP實體接收到終端設備發送的上行消息時,所述TCP實體判斷所述上行消息中是否包含Dup ACK消息。如果包含,則執行步驟S102 ;
如果不包含,則按照預設規則採用其它方式(例如,根據SACK消息或者其他信息進行處理)進行相應的處理,具體的處理方式在後續說明中進行描述,在此不再贅述。
步驟S102、所述TCP實體判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。如果判斷結果為是,則表示相應的數據包已經在RLC層發送完畢,但是終端設備側並沒有正確接收,可能需要進行相應的重傳處理,需要通過後續過程進行判斷,因此,執行步驟S103 ;
如果判斷結果為否,則表示相應的數據包在RLC層中還沒有發送完畢,或者,雖然RLC已經發送,但是暫時還沒有收到終端設備側返回的正確接收的確認消息,相應的Dup ACK消息所提出的重傳請求有可能隨著數據包完成發送並接收到終端設備的確認而解決,因此,可以暫時進行相應的重傳處理,在本實施例中,TCP實體進一步執行步驟S106。在實際的應用場景中,本步驟的處理具體包括
(I)所述TCP實體確定所述Dup ACK消息所對應的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號。(2)所述TCP實體判斷所述序列號的最大值是否達到所述Dup ACK消息所對應的數據包在RLC層的終止序列號。如果達到,所述TCP實體確認RLC層已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。相反,如果沒有達到,則表示相應的數據包在RLC層中還沒有發送完畢,或者,雖然RLC已經發送,但是暫時還沒有收到終端設備側返回的正確接收的確認消息。步驟S103、所述TCP實體對所述Dup ACK消息進行計數累加。步驟S104、所述TCP實體判斷所述Dup ACK消息當前的計數值是否達到2。如果達到,則執行步驟S105 ;
如果沒有達到,則表示TCP實體對於該Dup ACK消息所對應的數據包暫時不需要進行重傳處理,返回步驟SlOl。需要說明的是,在本實施例中,採用Dup ACK消息的計數值等於2的依據作為數據包重傳的觸發條件的思想在於
在上行數據中,ACK消息(包括Dup ACK消息)和RLC層確認數據(包括終端設備側接收到數據包中的分片包後所發送的正確接收的確認消息)經常會在同一個FP (FrameProtocol,幀協議)幀中,基於這樣的原因,如果設置Dup ACK消息的計數值等於I即觸發數據包重傳,則會出現很大概率的重複多發。但是,如果Dup ACK消息的計數值等於2才觸發數據包重傳,則說明在上次收到到Dup ACK消息時,RLC層已經將該數據包全部發送給終端設備側,並收到終端設備側的確認。步驟S105、所述TCP實體重傳所述Dup ACK消息所對應的數據包,並將所述DupACK消息的計數值置零。在實際的應用場景中,所述TCP實體在進行數據包重傳的過程中,還需要記錄進行重傳的所述數據包在RLC層的終止序列號,以便將該終止序列號作為在後續處理過程中判斷是否對該數據包是否進行重傳處理的依據。通過這樣的處理,完成了對該Dup ACK消息所對應的數據包的重傳處理,本步驟執行完成後,繼續執行步驟S106。步驟S106、所述TCP實體將所述Dup ACK消息的計數值置零。
將Dup ACK消息的計數值置零後,可以對該Dup ACK消息開始新的計數過程,以便確定執行新的重傳處理過程。需要進一步說明的是,TCP實體完成根據Dup ACK消息進行數據包重傳的處理過程,在此基礎上,TCP實體還可以按照預設規則採用其它方式(例如,根據SACK消息或者其他信息進行處理)繼續進行後續的處理,具體的處理方式在後續說明中進行描述,在此不再贅述。需要說明的是,在步驟SlOl判斷結果為否,以及步驟S106完成之後,均提到了 TCP實體按照預設規則採用其它方式進行處理的過程,在實際應用中,這樣的預設規則所對應的處理過程可以包括多種類型,其中,為了提高數據包重傳過程的全面性和準確性,可以根據SACK消息進行這樣的處理。具體的,當所述TCP實體在步驟SlOl中判斷所述上行消息中不包含Dup ACK消息,或所述TCP實體在步驟S105中重傳所述Dup ACK消息所對應的數據包之後,還包括以下的根據SACK消息進行數據包重傳處理的過程,該過程的流程示意圖如圖2所示,具體包括以下步驟
步驟S201、所述TCP實體判斷自身所接收到的上行消息中是否包含SACK消息。如果包含,則執行步驟S202 ;
如果不包含,則進行其他處理或者直接停止當前的數據包重傳處理。步驟S202、所述TCP實體按照所述SACK消息所對應的各數據包的發送順序,選擇相應的數據包。步驟S203、所述TCP實體判斷RLC層是否已經將當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。如果判斷結果為是,則執行步驟S204 ;
如果判斷結果為否,則執行步驟S205。與前述的步驟S102相類似,本步驟中進行判斷的過程具體如下
所述TCP實體確定所述當前所選擇的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號。所述TCP實體判斷所述序列號的最大值是否達到所述當前所選擇的數據包在RLC層的終止序列號。如果達到,所述TCP實體確認RLC層已經將所述當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。步驟S204、所述TCP實體重傳所述當前所選擇的數據包。在實際的應用場景中,所述TCP實體在進行數據包重傳的過程中,還需要記錄進行重傳的所述數據包在RLC層的終止序列號,以便將該終止序列號作為在後續處理過程中判斷是否對該數據包是否進行重傳處理的依據。步驟S205、所述TCP實體確認當前所選擇的數據包之後的所述SACK消息所對應的各數據包均沒有發送完畢。
通過本步驟,可以快速的確定後續數據包的發送狀態,避免分別對SACK消息所對應的每個數據包進行分別判斷所帶來的系統資源和處理時間的消耗,提高相應的處理效率。需要說明的是,上述的根據SACK消息進行處理的過程可以在前述的根據Dup ACK消息進行重傳處理的基礎上,對終端設備側返回的信息進行更加全面的處理,從而,更加準確的確定是否對相應的數據包進行重傳處理。與現有技術相比,本發明實施例所提出的技術方案具有以下優點
通過應用本發明實施例的技術方案,在TCP實體接收到終端設備發送的包含Dup ACK消息的上行消息的情況下,如果TCP實體判斷RLC層已經將該Dup ACK消息所對應的數據包的所有分片包發送給終端設備,並接收到了終端設備返回的確認消息,則對該Dup ACK消息進行計數累加,並在計數值達到2時,重傳該Dup ACK消息所對應的數據包,從而,可以靈活運用TCP實體數據本地緩衝及重傳的特點,並結合RLC可靠傳輸的特性,對終端設備的DupACK進行甄別,實現TCP層數據的快速重傳,在TCP代理的無線側準確確定數據包是否需要TCP層的重傳,提高了 TCP的性能和空口資源利用率,避免了非必要的數據重傳所帶來的系統資源浪費。下面,結合具體的應用場景,對本發明實施例所提出的技術方案進行說明。本發明實施例所提出的技術方案是一種靈活運用TCP實體數據本地緩衝及重傳的特點,並結合RLC (無線鏈路層)可靠傳輸的特性,對終端設備側發送的Dup ACK消息進行甄別,以實現快速重傳TCP層數據的方法。如圖3所示,為本發明實施例所提出的一種具體應用場景下的無線側TCP數據重傳的方法的流程示意圖,該方法具體包括以下步驟
步驟S301、TCP實體在RLC層進行正常的數據包發送。在此過程中,TCP實體記錄下每個數據包在RLC層最後一個分片包的序列號,即前述的終止序列號。在實際的應用場景中,本步驟的處理過程實際為
TCP層將數據包發送給RLC層,RLC將數據包分段形成多個分片包,並將最後一個分片包的序列號(EndSn,即前述的終止序列號)在TCP層記錄下來。步驟S302、TCP實體接收到終端設備發送的ACK消息,判斷是否是Dup ACK消息。如果判斷結果為是,則執彳丁步驟S303 ;
如果判斷結果為否,則執行步驟S308。步驟S303、TCP實體確定該Dup ACK消息所對應的需要重傳的數據包的EndSn,以及RLC層收到的終端設備已經確認的該數據包的分片包序列號AckSn。
步驟S304、TCP實體將所確定的最大的AckSn和EndSn進行比較。如果該AckSn大於等於EndSn,則執行步驟S305 ;
如果該AckSn小於EndSn,則表示TCP實體對於該Dup ACK消息所對應的數據包暫時不需要進行重傳處理,對本次所接收到的ACK消息中的Dup ACK消息的處理過程結束,可以執行步驟S308進行SACK處理,或者進行其他處理,在圖3中,表示為進行其他處理。步驟S305、TCP實體將該Dup Ack消息所對應的Dup Ack變量加I。步驟S306、TCP實體判斷該Dup Ack變量是否等於2。如果是,則執行步驟S307 ; 如果否,則表示TCP實體對於該Dup ACK消息所對應的數據包暫時不需要進行重傳處理,對本次所接收到的ACK消息中的Dup ACK消息的處理過程結束,可以執行步驟S308進行SACK處理,或者進行其他處理,在圖3中,表示為進行其他處理。步驟S307、TCP實體重發該數據包給RLC層,並記錄新發送數據包的最後一個分片包的Sn,以更新該數據包的EndSn,同時,將該Dup Ack變量清零。本步驟執行完成後,為了實現更加準確和全面的數據重傳處理,可以進一步執行步驟S308。步驟S308、TCP實體判斷當前是否接收到SACK消息。如果有,則執行步驟S309,進行相應的轉SACK處理流程;
如果沒有,則表示TCP實體不需要根據SACK消息對相應的數據包進行重傳處理,在實際的應用場景中,此種情況下,可以進行其他處理。步驟S309、TCP實體按照所述SACK消息所對應的各數據包的發送順序,選擇相應的數據包。步驟S310、TCP實體確定該數據包的EndSn,以及RLC層收到的終端設備已經確認的該數據包的分片包序列號AckSn。步驟S311、TCP實體將所確定的最大的AckSn和該數據包的EndSn進行比較。如果該AckSn大於等於EndSn,則執行步驟S312 ;
如果該AckSn小於EndSn,則執行步驟S314。步驟S312、TCP實體重傳該數據包。在實際的應用場景中,所述TCP實體在進行數據包重傳的過程中,還需要記錄進行重傳的所述數據包在RLC層的終止序列號,以便將該終止序列號作為在後續處理過程中判斷是否對該數據包是否進行重傳處理的依據。本步驟執行完成後,繼續執行步驟S313。步驟S313、TCP實體判斷SACK消息對應的需要重傳的數據包是否全部選擇完畢。如果判斷結果為否,則返回步驟S309 ;
如果判斷結果為是,則執行其他處理。步驟S314、TCP實體確認當前所選擇的數據包之後的SACK消息所對應的各數據包均沒有發送完畢。
本步驟完成後,直接執行其他處理。
通過本步驟,可以快速的確定後續數據包的發送狀態,避免分別對SACK消息所對應的每個數據包進行分別判斷所帶來的系統資源和處理時間的消耗,提高相應的處理效率。需要說明的是,在實際的應用場景中,上述的各步驟中所提及的其他處理,可以包括
返回步驟S302繼續等待後續的ACK消息,或者按照預設的處理規則進行其他處理操作,該其他處理具體內容的變化並不會影響本發明的保護範圍。與現有技術相比,本發明實施例所提出的技術方案具有以下優點
通過應用本發明實施例的技術方案,在TCP實體接收到終端設備發送的包含Dup ACK消息的上行消息的情況下,如果TCP實體判斷RLC層 已經將該Dup ACK消息所對應的數據包的所有分片包發送給終端設備,並接收到了終端設備返回的確認消息,則對該Dup ACK消息進行計數累加,並在計數值達到2時,重傳該Dup ACK消息所對應的數據包,從而,可以靈活運用TCP實體數據本地緩衝及重傳的特點,並結合RLC可靠傳輸的特性,對終端設備的DupACK進行甄別,實現TCP層數據的快速重傳,在TCP代理的無線側準確確定數據包是否需要TCP層的重傳,提高了 TCP的性能和空口資源利用率,避免了非必要的數據重傳所帶來的系統資源浪費。為了實現本發明實施例的技術方案,本發明實施例還提供了一種網絡設備,作為TCP實體應用於存在跨無線網絡的TCP連接的網絡系統中,其結構示意圖如圖4所示,至少包括
接收模塊41,用於接收終端設備發送的上行消息;
第一判斷模塊42,用於判斷所述接收模塊41所接收到的上行消息中是否包含Dup ACK消息;
第二判斷模塊43,用於在所述第一判斷模塊42的判斷結果為包含時,判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息;
計數模塊44,用於在所述第二判斷模塊43的判斷結果為是時,對所述接收模塊41所接收到的Dup ACK消息進行計數累加;
第三判斷模塊45,用於判斷所述計數模塊44所計數的Dup ACK消息當前的計數值是否達到2 ;
處理模塊46,用於在所述第三判斷模塊45的判斷結果為達到時,重傳所述Dup ACK消息所對應的數據包,並通知所述計數模塊44將所述Dup ACK消息的計數值置零。其中,所述第二判斷模塊43,具體用於
確定所述Dup ACK消息所對應的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號;
判斷所述序列號的最大值是否達到所述Dup ACK消息所對應的數據包在RLC層的終止序列號;
如果達到,確認RLC層已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。進一步的,所述計數模塊44,還用於在所述第二判斷模塊43的判斷結果為否時,將所述Dup ACK消息的計數值置零。需要說明的是,所述處理模塊46,還用於在重傳所述Dup ACK消息所對應的數據包的過程中,記錄進行重傳的所述數據包在RLC層的終止序列號。另一方面,該網絡設備還包括第四判斷模塊47、選擇模塊48和第五判斷模塊49 所述第四判斷模塊47,用於在所述第一判斷模塊42判斷所述上行消息中不包含Dup
ACK消息,或所述處理模塊46重傳所述Dup ACK消息所對應的數據包之後,判斷所述上行消息中是否包含SACK消息;
所述選擇模塊48,用於在所述第四判斷模塊47的判斷結果為包含時,按照所述SACK消息所對應的各數據包的發送順序,選擇相應的數據包;
所述第五判斷模塊49,用於判斷RLC層是否已經將所述選擇模塊48當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息;
所述處理模塊46,還用於在所述第五判斷模塊49的判斷結果為是時,重傳所述當前所 選擇的數據包。其中,所述第五判斷模塊49,具體用於
確定所述選擇模塊48當前所選擇的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號;
判斷所述序列號的最大值是否達到所述當前所選擇的數據包在RLC層的終止序列號;如果達到,確認RLC層已經將所述當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。進一步的,所述處理模塊46,還用於在所述第五判斷模塊49的判斷結果為否時,確認所述選擇模塊48當前所選擇的數據包之後的所述SACK消息所對應的各數據包均沒有發送完畢。在實際的應用場景中,所述處理模塊46,還用於在重傳所述選擇模塊48當前所選擇的數據包的過程中,記錄進行重傳的所述數據包在RLC層的終止序列號。與現有技術相比,本發明實施例所提出的技術方案具有以下優點
通過應用本發明實施例的技術方案,在TCP實體接收到終端設備發送的包含Dup ACK消息的上行消息的情況下,如果TCP實體判斷RLC層已經將該Dup ACK消息所對應的數據包的所有分片包發送給終端設備,並接收到了終端設備返回的確認消息,則對該Dup ACK消息進行計數累加,並在計數值達到2時,重傳該Dup ACK消息所對應的數據包,從而,可以靈活運用TCP實體數據本地緩衝及重傳的特點,並結合RLC可靠傳輸的特性,對終端設備的DupACK進行甄別,實現TCP層數據的快速重傳,在TCP代理的無線側準確確定數據包是否需要TCP層的重傳,提高了 TCP的性能和空口資源利用率,避免了非必要的數據重傳所帶來的系統資源浪費。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明實施例可以通過硬體實現,也可以藉助軟體加必要的通用硬體平臺的方式來實現。基於這樣的理解,本發明實施例的技術方案可以以軟體產品的形式體現出來,該軟體產品可以存儲在一個非易失性存儲介質(可以是⑶-ROM,U盤,移動硬碟等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或網絡側設備等)執行本發明實施例各個實施場景所述的方法。本領域技術人員可以理解附圖只是一個優選實施場景的示意圖,附圖中的模塊或流程並不一定是實施本發明實施例所必須的。
本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布於實施場景的裝置中,也可以進行相應變化位於不同於本實施場景的一個或多個裝置中。上述實施場景的模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。上述本發明實施例序號僅僅為了描述,不代表實施場景的優劣。以上公開的僅為本發明實施例的幾個具體實施場景,但是,本發明實施例並非局限於此,任何本領域的技術人員能思之的變化都應 落入本發明實施例的業務限制範圍。
權利要求
1.一種無線側TCP數據重傳的方法,其特徵在於,至少包括以下步驟 當TCP實體接收到終端設備發送的上行消息時,所述TCP實體判斷所述上行消息中是否包含Dup ACK消息; 如果包含,所述TCP實體判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息; 如果判斷結果為是,所述TCP實體對所述Dup ACK消息進行計數累加; 所述TCP實體判斷所述Dup ACK消息當前的計數值是否達到2 ; 如果達到,所述TCP實體重傳所述Dup ACK消息所對應的數據包,並將所述Dup ACK消息的計數值置零。
2.如權利要求I所述的方法,其特徵在於,所述TCP實體判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息,具體包括 所述TCP實體確定所述Dup ACK消息所對應的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號; 所述TCP實體判斷所述序列號的最大值是否達到所述Dup ACK消息所對應的數據包在RLC層的終止序列號; 如果達到,所述TCP實體確認RLC層已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。
3.如權利要求I所述的方法,其特徵在於,所述TCP實體判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息之後,還包括 如果判斷結果為否,所述TCP實體將所述Dup ACK消息的計數值置零。
4.如權利要求I所述的方法,其特徵在於,所述TCP實體重傳所述DupACK消息所對應的數據包的過程中,還包括 所述TCP實體記錄進行重傳的所述數據包在RLC層的終止序列號。
5.如權利要求I所述的方法,其特徵在於,當所述TCP實體判斷所述上行消息中不包含Dup ACK消息,或所述TCP實體重傳所述Dup ACK消息所對應的數據包之後,還包括 所述TCP實體判斷所述上行消息中是否包含SACK消息; 如果包含,所述TCP實體按照所述SACK消息所對應的各數據包的發送順序,選擇相應的數據包; 所述TCP實體判斷RLC層是否已經將當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息; 如果判斷結果為是,所述TCP實體重傳所述當前所選擇的數據包。
6.如權利要求5所述的方法,其特徵在於,所述TCP實體判斷RLC層是否已經將當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息,具體包括 所述TCP實體確定所述當前所選擇的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號; 所述TCP實體判斷所述序列號的最大值是否達到所述當前所選擇的數據包在RLC層的終止序列號; 如果達到,所述TCP實體確認RLC層已經將所述當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。
7.如權利要求5所述的方法,其特徵在於,所述TCP實體判斷RLC層是否已經將當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息之後,還包括 如果判斷結果為否,所述TCP實體確認當前所選擇的數據包之後的所述SACK消息所對應的各數據包均沒有發送完畢。
8.如權利要求5所述的方法,其特徵在於,所述TCP實體重傳所述當前所選擇的數據包的過程中,還包括 所述TCP實體記錄進行重傳的所述數據包在RLC層的終止序列號。
9.一種網絡設備,作為TCP實體應用於存在跨無線網絡的TCP連接的網絡系統中,其特徵在於,包括 接收模塊,用於接收終端設備發送的上行消息; 第一判斷模塊,用於判斷所述接收模塊所接收到的上行消息中是否包含Dup ACK消息; 第二判斷模塊,用於在所述第一判斷模塊的判斷結果為包含時,判斷RLC層是否已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息; 計數模塊,用於在所述第二判斷模塊的判斷結果為是時,對所述接收模塊所接收到的Dup ACK消息進行計數累加; 第三判斷模塊,用於判斷所述計數模塊所計數的Dup ACK消息當前的計數值是否達到2 ; 處理模塊,用於在所述第三判斷模塊的判斷結果為達到時,重傳所述Dup ACK消息所對應的數據包,並通知所述計數模塊將所述Dup ACK消息的計數值置零。
10.如權利要求9所述的網絡設備,其特徵在於,所述第二判斷模塊,具體用於 確定所述Dup ACK消息所對應的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號; 判斷所述序列號的最大值是否達到所述Dup ACK消息所對應的數據包在RLC層的終止序列號; 如果達到,確認RLC層已經將所述Dup ACK消息所對應的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。
11.如權利要求9所述的網絡設備,其特徵在於,所述計數模塊,還用於在所述第二判斷模塊的判斷結果為否時,將所述Dup ACK消息的計數值置零。
12.如權利要求9所述的網絡設備,其特徵在於,所述處理模塊,還用於 在重傳所述Dup ACK消息所對應的數據包的過程中,記錄進行重傳的所述數據包在RLC層的終止序列號。
13.如權利要求9所述的網絡設備,其特徵在於,還包括第四判斷模塊、選擇模塊和第五判斷模塊 所述第四判斷模塊,用於在所述第一判斷模塊判斷所述上行消息中不包含Dup ACK消息,或所述處理模塊重傳所述Dup ACK消息所對應的數據包之後,判斷所述上行消息中是否包含SACK消息; 所述選擇模塊,用於在所述第四判斷模塊的判斷結果為包含時,按照所述SACK消息所對應的各數據包的發送順序,選擇相應的數據包; 所述第五判斷模塊,用於判斷RLC層是否已經將所述選擇模塊當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息; 所述處理模塊,還用於在所述第五判斷模塊的判斷結果為是時,重傳所述當前所選擇的數據包。
14.如權利要求13所述的網絡設備,其特徵在於,所述第五判斷模塊,具體用於 確定所述選擇模塊當前所選擇的數據包的各分片包中,已經由所述終端設備確認的分片包的序列號; 判斷所述序列號的最大值是否達到所述當前所選擇的數據包在RLC層的終止序列號;如果達到,確認RLC層已經將所述當前所選擇的數據包的所有分片包發送給所述終端設備,並接收到了所述終端設備返回的確認消息。
15.如權利要求13所述的網絡設備,其特徵在於,所述處理模塊,還用於 在所述第五判斷模塊的判斷結果為否時,確認所述選擇模塊當前所選擇的數據包之後的所述SACK消息所對應的各數據包均沒有發送完畢。
16.如權利要求13所述的網絡設備,其特徵在於,所述處理模塊,還用於 在重傳所述選擇模塊當前所選擇的數據包的過程中,記錄進行重傳的所述數據包在RLC層的終止序列號。
全文摘要
本發明實施例公開了一種無線側TCP數據重傳的方法和設備,通過應用本發明實施例的技術方案,在TCP實體接收到終端設備發送的包含DupACK消息的上行消息的情況下,如果TCP實體判斷RLC層已經將該DupACK消息所對應的數據包的所有分片包發送給終端設備,並接收到了終端設備返回的確認消息,則對該DupACK消息進行計數累加,並在計數值達到2時,重傳該DupACK消息所對應的數據包,從而,可以靈活運用TCP實體數據本地緩衝及重傳的特點,並結合RLC可靠傳輸的特性,對終端設備的DupACK進行甄別,實現TCP層數據的快速重傳,在TCP代理的無線側準確確定數據包是否需要TCP層的重傳,提高了TCP的性能和空口資源利用率,避免了非必要的數據重傳所帶來的系統資源浪費。
文檔編號H04L1/16GK102664718SQ20121012985
公開日2012年9月12日 申請日期2012年4月28日 優先權日2012年4月28日
發明者柴新旺 申請人:大唐移動通信設備有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀