專利名稱:一種基于丟失pdu檢測機制發(fā)送狀態(tài)pdu的方法
技術領域:
本發(fā)明涉及網(wǎng)絡通訊技術領域,具體涉及一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法。
背景技術:
在UTRAN(Universal Terrestrial Radio Access Network通用陸地無線接入網(wǎng)絡)中,RLC(無線鏈路控制)子層支持AM(確認模式)、UM(非確認模式)和TM(透明模式)三種模式。由于數(shù)據(jù)業(yè)務的QoS(服務質(zhì)量)一般要求保證數(shù)據(jù)的可靠性,因此在數(shù)據(jù)業(yè)務中RLC子層通常采用AM。
在AM下,RLC子層的PDU(協(xié)議數(shù)據(jù)單元)類型分為AMD PDU(確認模式的數(shù)據(jù)PDU)和控制PDU兩大類??刂芇DU又可以分為狀態(tài)PDU、復位PDU和復位響應PDU三種。
RLC(無線鏈路控制)子層采用AM的工作流程圖如附圖1所示。
在圖1中,發(fā)送方的RLC子層接收到來自上層協(xié)議棧的PDU后,首先根據(jù)配置的RLC PDU的大小進行分段級聯(lián),然后添加RLC協(xié)議頭組裝成完整的AMD PDU,最后完成加密等操作后發(fā)送給下層協(xié)議棧;接收方的RLC子層接收來自下層協(xié)議棧的SDU,下層協(xié)議棧的SDU對應于RLC子層的AMD PDU,接收方的RLC子層首先對AMD PDU進行解密等操作,然后結(jié)合當前狀態(tài)信息和AMD PDU中的Poll(輪循)標志判斷是否需要向發(fā)送方發(fā)送狀態(tài)PDU,最后,接收方通過解析并重組AMD PDU后,提交給接收方的上層協(xié)議棧。
由于無線通信的具有傳輸誤碼率較高、帶寬資源寶貴的特點,所以,鏈路控制子層的RLC協(xié)議被設計為請求重傳,即只有在接收方明確要求重新傳輸AMD PDU的情況下才被重新傳輸,而不是采用類似TCP等協(xié)議的超時重傳方式。接收方的RLC子層通過狀態(tài)PDU通知發(fā)送方哪些AMD PDU需要重新傳輸,從而實現(xiàn)選擇性重傳,而不是go-back-N的完全重傳,節(jié)省了無線通信系統(tǒng)中空中接口的帶寬資源。
RLC子層利用狀態(tài)PDU實現(xiàn)選擇性重傳的數(shù)據(jù)交互過程如附圖2所示。
在圖2中,發(fā)送方的RLC子層順序的將序列號為1、2、3的AMD PDU傳輸至接收方的RLC子層,由于序列號SN=2的AMD PDU在傳輸過程中丟失,接收方的RLC子層在確定SN=2的AMD PDU未正確接收時,向發(fā)送方發(fā)送狀態(tài)PDU,發(fā)送方根據(jù)該狀態(tài)PDU重新發(fā)送SN=2的AMD PDU。
在上述過程中,接收方可基于丟失PDU(Missing Pdu)檢測機制或基于周期性機制來發(fā)送狀態(tài)PDU。
下面對基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法進行詳細說明。
在對該方法進行詳細說明之前,先需要了解一下3GPP25.322協(xié)議中定義的流量控制的滑動窗口機制,具體如附圖3所示在圖3中,VT(A)、VT(S)、VT(MS)、VR(R)、VR(H)和VR(MR)為協(xié)議定義的狀態(tài)變量。
在發(fā)送窗口中,VT(A)至VT(MS)之間的長度為發(fā)送窗口的大小,單位為AMD PDU的數(shù)量;VT(A)之前為已經(jīng)按照順序被發(fā)送方確認正確接收的AMD PDU;VT(A)至VT(S)之間為已經(jīng)至少發(fā)送過一次、但還沒有收到接收實體正確接收狀態(tài)報告的AMD PDU;VT(S)至VT(MS)之間為允許發(fā)送的AMD PDU。如果發(fā)送方有新的AMD PDU需要發(fā)送時,VT(S)向后移動;如果發(fā)送方通過接收實體的狀態(tài)報告確定序列號為VT(A)的AMDPDU已被正確接收時,VT(A)向后移動,VT(MS)也相應地向后移動。
在接收窗口中,VR(R)至VR(MR)之間的長度為接收窗口的大小,單位為AMD PDU的數(shù)量;VR(R)之前為已經(jīng)正確接收的AMD PDU;VR(R)至VR(MR)之間為允許接收的AMD PDU。如果接收方接收到序列號為VR(H)至VR(MR)之間的AMD PDU時,VR(H)向后移動;如果接收方接收到序列號為VR(R)的AMD PDU時,VR(R)向后移動,VR(MR)也相應地向后移動。
從上面的介紹中可知,VR(R)之前為已經(jīng)正確接收的AMD PDU,VR(R)為下一個期待接收的PDU,如果接收方接收的AMD PDU的SN不等于VR(R),則很明顯必然有AMD PDU丟失,接收方向發(fā)送方發(fā)送狀態(tài)PDU。
下面結(jié)合附圖4舉例說明接收方基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法。
圖4中,接收窗口在初始情況下Vr(R)等于Vr(H),且均為0,如果第一個SN為0的AMD PDU丟失,其后的SN為1至SN為18的AMD PDU均被正確接收,則對于SN為1至SN為18的AMD PDU,接收方每接收到一個AMD PDU均確定發(fā)生了丟失PDU,因而,接收方需要向發(fā)送方發(fā)送18次狀態(tài)PDU,從而造成了狀態(tài)PDU的頻繁發(fā)送。
由于狀態(tài)PDU的發(fā)送占用反向帶寬資源,特別是在反向信道同時有數(shù)據(jù)需要傳輸時,狀態(tài)PDU的頻繁發(fā)送會降低反向數(shù)據(jù)傳輸?shù)男省?br>
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,以避免頻繁發(fā)送狀態(tài)PDU的現(xiàn)象,從而實現(xiàn)了提高數(shù)據(jù)傳輸效率的目的。
為達到上述目的,本發(fā)明提供的一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,包括a、接收方接收AMD PDU,并獲取該AMD PDU的序列號;b、所述接收方確定其當前期望的序列號和當前接收的最大序列號;
c、所述接收方在根據(jù)所述當前期望的序列號、當前接收的最大序列號、所述獲取的序列號確定發(fā)生了丟失PDU時,向發(fā)送方發(fā)送狀態(tài)PDU。
所述步驟b中當前期望的序列號為所述接收方接收狀態(tài)的Vr(R)。
所述步驟b中當前接收的最大序列號為所述接收方接收狀態(tài)的Vr(H)。
所述步驟b中當前接收的最大序列號為所述接收方接收狀態(tài)的Vr(H)-1。
所述步驟c包括所述接收方判斷所述獲取的序列號、所述當前期望的序列號和所述當前接收的最大序列號的大?。蝗绻霁@取的序列號與所述當前期望的序列號相同或所述獲取的序列號與所述當前接收的最大序列號加1后的數(shù)值相同,則確定未丟失PDU,本方法結(jié)束;否則,確定發(fā)生了丟失PDU,所述接收方向發(fā)送方發(fā)送狀態(tài)PDU。
通過上述技術方案的描述可知,本發(fā)明通過將接收的AMD PDU的序列號與接收方當前期望的序列號和當前接收的最大序列號進行對比,不但能夠及時發(fā)現(xiàn)丟失PDU,而且還避免了反向頻繁發(fā)送狀態(tài)PDU的現(xiàn)象,從而通過本發(fā)明提供的技術方案實現(xiàn)了提高數(shù)據(jù)傳輸效率的目的。
圖1是RLC子層采用AM的工作流程圖;圖2是RLC子層利用狀態(tài)PDU實現(xiàn)選擇性重傳的數(shù)據(jù)交互流程圖;圖3是接收方和發(fā)送方的滑動窗口示意圖;圖4是現(xiàn)有技術的接收方基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法示意圖;圖5是本發(fā)明的接收方基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法流程圖。
具體實施例方式
本發(fā)明的核心是接收方接收AMD PDU,并獲取該AMD PDU的序列號,所述接收方確定其當前期望的序列號和當前接收的最大序列號,所述接收方在根據(jù)所述當前期望的序列號、當前接收的最大序列號、所述獲取的序列號確定發(fā)生了丟失PDU時,向發(fā)送方發(fā)送狀態(tài)PDU。
下面基于本發(fā)明的核心思想對本發(fā)明提供的技術方案做進一步的描述。
本發(fā)明的接收方在接收到AMD PDU時,首先需要獲取該AMD PDU的序列號,然后將該序列號與接收方當前期望的序列號和當前接收的最大序列號進行對比,從而確定是否發(fā)生了丟失PDU。
將序列號與當前期望的序列號和當前接收的最大序列號進行對比,是本發(fā)明提出的有效的丟失PDU檢測機制,下面以接收方的接收狀態(tài)為接收窗口為例,對本發(fā)明的丟失PDU檢測機制進行說明。
接收方接收窗口的Vr(R)、Vr(H)和Vr(Mr)為協(xié)議定義的狀態(tài)變量,Vr(R)至Vr(Mr)之間的長度為接收窗口的大小,單位為AMD PDU的數(shù)量。
Vr(R)為接收方當前期望接收的AMD PDU的序列號,Vr(R)之前為已經(jīng)正確接收的AMD PDU。由于接收方更新Vr(H)的時間不同,所以,接收方當前接收的最大序列號可以為Vr(H),也可以為Vr(H)-1,如當接收方對每個接收到的AMD PDU處理完成后再更新Vr(H)時,接收方當前接收的最大序列號為Vr(H),當接收方在對每個接收到的AMD PDU處理前更新Vr(H)時,則接收方當前接收的最大序列號為Vr(H)-1。
接收方的接收窗口被Vr(H)分為兩部分,一部分為Vr(R)至Vr(H),即SN∈[Vr(R),Vr(H))的部分,另一部分為Vr(H)至Vr(Mr),即SN∈[Vr(H),Vr(Mr))的部分。Vr(R)至Vr(H)之間的AMD PDU為發(fā)送方已經(jīng)發(fā)送、接收方尚未完全正確接收的部分。Vr(H)至Vr(Mr)之間為接收方完全沒有接收到任何AMD PDU的區(qū)域。
對于接收方來說,發(fā)送方發(fā)送來的任何一個合法的AMD PDU其SN必然在Vr(R)和Vr(Mr)形成的接收窗口之內(nèi)。如果接收方接收的AMD PDU的序列號SN∈[Vr(R),Vr(H)),則說明該AMD PDU是屬于重傳的AMD PDU,如果接收的AMD PDU的序列號SN∈[Vr(H),Vr(Mr))則屬于新發(fā)送的AMD PDU。
本發(fā)明提出的發(fā)生丟失PDU的判斷準則為對于新發(fā)送的AMD PDU,即SN∈[Vr(H),Vr(Mr))的AMD PDU,由于RLC協(xié)議規(guī)定發(fā)送方具有順序發(fā)送的本質(zhì)特性,所以,對于任何一個新發(fā)送的SN為X的AMD PDU,如果其前一個SN為X-1的AMD PDU沒有被接收方接收,則必然發(fā)生了丟失PDU。也就是說,對于新發(fā)送的AMD PDU,如果該AMD PDU的序列號X不等于接收方當前接收的最大序列號加1后的數(shù)值,則確定必然發(fā)生了丟失PDU。
對于重傳的AMD PDU,即SN∈[Vr(H),Vr(Mr))的AMD PDU,由于RLC協(xié)議規(guī)定發(fā)送方在重傳AMD PDU時,必然優(yōu)先傳輸序列號低的AMD PDU,所以,如果接收方接收的SN不等于Vr(R),則必然發(fā)生了丟失PDU。也就是說,對于重傳的AMD PDU,如果該AMDPDU的序列號X不等于接收方當前期望接收的序列號時,則必然發(fā)生了丟失PDU。
下面根據(jù)本發(fā)明的發(fā)生丟失PDU的判斷準則分析圖4中的情況。
在圖4中,接收窗口在初始情況下,Vr(R)與Vr(H)相等、且均為0,即接收方當前期望的序列號為0。如果第一個SN為0的AMD PDU在傳輸過程中丟失,接收方接收到SN為1的AMD PDU時,由于該AMD PDU的SN為1,而Vr(R)為0,即接收方當前期望的序列號為0,AMD PDU的SN與Vr(R)、Vr(H)均不相同,則確定發(fā)生了丟失PDU,接收方向發(fā)送方發(fā)送狀態(tài)PDU,報告SN為0的AMD PDU丟失。
接收方存儲SN為1的AMD PDU,且Vr(H)向后移動,Vr(H)為2,Vr(R)仍然為0。
接收方順序接收SN為2的AMD PDU,由于該AMD PDU的SN為2,而Vr(R)為0,Vr(H)為2,即接收方當前期望的序列號為0、且接收方當前接收的最大序列號為1,AMD PDU的SN與當前接收的最大序列號+1后的數(shù)值相同,則確定沒有發(fā)生丟失PDU,接收方不需要向發(fā)送方發(fā)送狀態(tài)PDU。
接收方存儲SN為2的AMD PDU,且Vr(H)向后移動,Vr(H)為3,Vr(R)仍然為0。
如果SN為3至18的AMD PDU順序發(fā)送過來,接收方依照上述方法順序接收SN為3至18的AMD PDU,并順序存儲SN為3至18的AMD PDU,Vr(H)為19,Vr(R)仍然為0、且均不需要向發(fā)送方發(fā)送丟失PDU的狀態(tài)PDU。
如果接收方接收到SN為0的AMD PDU,由于該AMD PDU的SN為0,而Vr(R)為0,即接收方當前期望的序列號為0,AMD PDU的SN與接收方當前期望的序列號相同,所以,確定沒有發(fā)生丟失PDU,接收方不需要向發(fā)送方發(fā)送狀態(tài)PDU。
附圖5為本發(fā)明的基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法流程圖。
圖5中,在步驟500,接收方接收AMD PDU。
到步驟510,接收方獲取該AMD PDU的序列號SN。
到步驟520,接收方確定其當前期望的序列號和當前接收的最大序列號。
到步驟530,接收方判斷其接收的AMD PDU的SN是否與當前期望的序列號相同或上述接收的AMD PDU的SN是否與當前接收的最大序列號加1后的數(shù)值相同。如果SN與當前期望的序列號相同或SN與當前接收的最大序列號加1后的數(shù)值相同,到步驟540,確定沒有發(fā)生丟失PDU,存儲該AMD PDU,相應變更接收方當前期望的序列號或當前接收的最大序列號。到步驟500。
在步驟530,如果接收方確定SN與當前期望的序列號和當前接收的最大序列號加1后的數(shù)值都不相同,則確定發(fā)生了丟失PDU,到步驟550,接收方向發(fā)送方發(fā)送狀態(tài)PDU,且存儲該AMD PDU,變更接收方當前接收的最大序列號。到步驟500。
通過上述方法的描述可知,本發(fā)明提供了的檢測丟失PDU發(fā)生機制的方法,能夠有效及時的檢測發(fā)生了丟失PDU,及時要求發(fā)送方重傳丟失的AMDPDU,同時又避免了反向頻繁傳輸狀態(tài)PDU的現(xiàn)象,從而使反向傳輸?shù)臄?shù)據(jù)不受狀態(tài)PDU的影響,在高速率、長時延的現(xiàn)代無線通信環(huán)境中有效的提高了數(shù)據(jù)傳輸效率。
雖然通過實施例描繪了本發(fā)明,本領域普通技術人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,本發(fā)明的申請文件的權(quán)利要求包括這些變形和變化。
權(quán)利要求
1.一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,其特征在于,包括a、接收方接收AMD PDU,并獲取該AMD PDU的序列號;b、所述接收方確定其當前期望的序列號和當前接收的最大序列號;c、所述接收方在根據(jù)所述當前期望的序列號、當前接收的最大序列號、所述獲取的序列號確定發(fā)生了丟失PDU時,向發(fā)送方發(fā)送狀態(tài)PDU。
2.如權(quán)利要求1所述的一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,其特征在于,所述步驟b中當前期望的序列號為所述接收方接收狀態(tài)的Vr(R)。
3.如權(quán)利要求1所述的一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,其特征在于,所述步驟b中當前接收的最大序列號為所述接收方接收狀態(tài)的Vr(H)。
4.如權(quán)利要求1所述的一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,其特征在于,所述步驟b中當前接收的最大序列號為所述接收方接收狀態(tài)的Vr(H)-1。
5.如權(quán)利要求1至4中任一權(quán)利要求所述的一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,其特征在于,所述步驟c包括所述接收方判斷所述獲取的序列號、所述當前期望的序列號和所述當前接收的最大序列號的大??;如果所述獲取的序列號與所述當前期望的序列號相同或所述獲取的序列號與所述當前接收的最大序列號加1后的數(shù)值相同,則確定未丟失PDU,本方法結(jié)束;否則,確定發(fā)生了丟失PDU,所述接收方向發(fā)送方發(fā)送狀態(tài)PDU。
全文摘要
本發(fā)明提供一種基于丟失PDU檢測機制發(fā)送狀態(tài)PDU的方法,其核心為接收方接收AMD PDU,并獲取該AMD PDU的序列號,所述接收方確定其當前期望的序列號和當前接收的最大序列號,所述接收方在根據(jù)所述當前期望的序列號、當前接收的最大序列號、所述獲取的序列號確定發(fā)生了丟失PDU時,向發(fā)送方發(fā)送狀態(tài)PDU。本發(fā)明通過將接收的AMD PDU的序列號與接收方當前期望的序列號和當前接收的最大序列號進行對比,不但能夠及時發(fā)現(xiàn)丟失了PDU,而且還避免了反向頻繁發(fā)送狀態(tài)PDU的現(xiàn)象,從而實現(xiàn)了提高數(shù)據(jù)傳輸效率的目的。
文檔編號H04L1/16GK1889414SQ20051008017
公開日2007年1月3日 申請日期2005年6月30日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者沈偉峰, 湯正華 申請人:華為技術有限公司