LTE 切換過程中的數據切換


http://blog.sina.com.cn/s/blog_673b30dd0100j4p4.html

LTE中的切換,根據無線承載(Radio Bearer)的QoS要求的不同,可以分為無縫切換(Seamless handover)和無損切換(lossless handover)。

無縫切換,應用於對於時間延遲有嚴格要求,而對誤包率(丟包率)具有相對容忍度的一些應用(比如,語音 VoIP)。無縫切換在LTE中可以降低切換的復雜度和時間延遲,但同時可能引起某些數據包的丟失。無縫切換主要應用於控制面的無線承載 (SRB)以及用戶數據面RLC  UM 模式的無線承載。

在無縫切換的模式下,對於下行的數據傳輸,源eNodeB將尚未進行傳輸的PDCP SDU轉發給目標eNodeB,對於經S1接口轉發下來,尚未進行PDCP處理的下行數據,源eNodeB也同樣轉發給目標eNodeB。已經完成PDCP SDU傳輸的下行數據, 則無需轉發給目標eNodeB。對於已經進行了部分PDCP SDU的傳輸,但尚存部分RLC PDU的數據,源eNodeB會將剩余的RLC PDU丟棄,也就是說,在無縫切換模式下,源eNodeB不會將下行數據的RLC 上下文 (RLC Context)轉發給目標eNodeB,這樣,這部分PDCP SDU的數據將會丟失。目標eNodeB側,會將PDCP的SN和HFN重新置為零。同時,目標eNodeB在傳輸經由S1接口的下行數據之前,會優先傳輸源eNodeB通過X2接口轉發過來的下行數據。我們知道,SGW在將下行通道切換到目標eNodeB之前會向源eNodeB發送“End Marker ”數據包。源eNodeB會將此數據包轉發給目標eNodeB。目標eNodeB據此可以獲知源eNodeB轉發數據的結束。(基於X2的切換過程中,SGW發生變化時,是否會發送“End Marker”數據包?)

 在無縫切換的模式下,對於上行的PDCP SDU數據, 同樣,對於已經在源eNodeB中完成傳輸的數據,UE不會在目標eNodeB中重新發送。相反, 在目標eNodeB中,UE 將傳輸那些尚未在源eNodeB中傳輸的PDCP SDU數據 (對於已經完成了部分RLC PDU傳輸的 PDCP SDU數據,UE會在目標eNodeB中傳輸剩余部分的RLC PDU嗎?RLC層在LTE中切換過程中的角色是什么?個人認為不會)。源eNodeB將所有接收到的PDCP SDU上行數據轉發給SGW,其中可能包括有失序的PDCP SDU。對於無法組裝成PDCP SDU的部分RLC PDU ,源eNodeB將把他們丟棄。也就是說, 源eNodeB並不將上行數據的RLC 上下文轉發給目標eNodeB,這部分對應的PDCP SDU上行數據將會丟失。

 

無損切換主要用於RLC- AM模式的無線承載,典型的例子如FTP上下載,PDCP SDU傳輸的丟失可能對上層協議(TCP)的吞吐量有較大的影響,相反,對於時間延遲不象實時應用那樣敏感。

在正常的工作模式下(即未發生切換時),UE和eNodeB上的RLC層保證了數據的有序傳輸,對於由於RLC的重傳或者由於MAC層的HARQ引起的RLC層的失序,RLC層可以根據其頭部的序列號來重新加以排序。LTE中, PDCP的頭部也標有序列號, 可以以此來保證切換過程中數據的有序傳輸和重復檢測,也可以用來保證切換過程中數據的無損傳輸。(為什么由PDCP層而不是RLC層來保證切換后數據的無損呢?)

 

在無損切換中,對於上行數據,切換到目標eNodeB后,UE會從第一個尚未在源eNodeB中得到確認的PDCP SDU開始,重傳以后的PDCP SDU包(其中可能包括源eNodeB收到,但UE沒有收到確認的PDCP SDU或UE雖收到確認,但失序的PDCP SDU),除非目標eNodeB通過PDCP 狀態報告包確認收到其中的某些SDU(源eNodeB轉發給目標eNodeB)。

如下圖所示:

LTE <wbr>切換過程中的數據切換

對於上行的數據,UE已經傳輸了SN號為1到5 的PDCP PDU,切換發生時(源eNodeB發送SN Status Transfer消息給目標eNodeB),源eNodeB只收到了SN號為1,2和4 的PDCP PDU 並向UE做了確認,對於序號為3和5的PDCP PDU,源eNodeB只收到了部分RLC PDU。UE會將SN標號為3,4和5的PDCP PDU放到PDCP的重傳序列中,因為3是UE沒有收到確認的第一個包,盡管源eNodeB已經收到了包4並且UE也得到了確認。

源eNodeB發送SN Status Transfer消息給目標eNodeB后,會將收到的連續PDCP SDU轉發給SGW,圖中,對應的是SN號為1和2的PDCP PDU。而對於收到的部分RLC PDU數據(對應SN號為3和5 的PDCP PDU),源eNodeB會將其丟棄,也就是說,源eNodeB並不向目標eNodeB轉發上行數據的RLC 上下文 (Context)。如果源eNodeB和目標eNodeB雙方協商同意要進行上行的失序PDCP SDU的轉發,則源eNodeB將SN號為4 的PDCP PDU轉發給目標eNodeB。否則,源eNodeB也會將相應的PDCP包丟棄。圖中,包4 被源eNodeB轉發給目標eNodeB。

切換發生,UE接入到目標eNodeB,與目標eNodeB之間建立了數據連接,由於包1,2已經在源eNodeB中得到確認,因而UE不會在目標eNodeB中重復發送,而將PDCP SN號為3,4,5,6的包依次向目標eNodeB發送。目標eNodeB依據SN號來對PDCP的PDU進行排序和重復檢測。在此例中,包4屬於重復的數據包。目標eNodeB將排序好的無重復的PDCP SDU發送給SGW。

目標eNodeB也會向UE發送基於PDCP 的控制包,報告當前eNodeB側PDCP SN號的狀態。如果在UE在重傳3,4,5上行數據包之前接收到目標eNodeB下發的PDCP狀態報告,獲知目標eNodeB已經收到包4,則UE無需重傳包4, 只需重傳包3和5以及新包6等即可。但規范中並未強制目標eNodeB發送PDCP狀態報告的時間,UE也無需等到收到目標eNodeB的PDCP狀態報告后,才重新開始上行數據的傳輸。圖中,包4被UE在目標eNodeB中重復傳輸,目標eNodeB中的PDCP層會根據PDCP的SN號進行PDCP包的重復檢測。

 

在無損切換的過程中,對於下行的PDCP SDU,如果UE已經在源eNodeB中完成PDCP SDU的確認, 源eNodeB無需將它們轉發給目標eNodeB (包括連續的和失序的PDCP SDU)。源eNodeB需要將尚未傳輸完畢(包括已有部分傳輸和尚未進行傳輸的。注意,與無縫切換中不同,無縫切換中轉發的是尚未進行傳輸的SDU)的PDCP SDU轉發給目標eNodeB,包括經S1接口轉發下來,尚未進行PDCP處理的下行數據。對於已經進行了部分PDCP SDU的傳輸,但尚存部分RLC PDU的數據,源eNodeB會將RLC PDU丟棄,也就是說,在無縫切換模式下,源eNodeB不會將RLC 上下文 (RLC Context)轉發給目標eNodeB(源eNodeB丟棄的只是RLC的上下文,並非是PDCP SDU的數據,PDCP SDU的數據仍會轉發給目標eNodeB,因為他們屬於尚未傳輸完畢的PDCP SDU)。如下圖所示:

在切換過程發生時,源eNodeB已經傳輸了SN號為1至4的PDCP PDU,編號為5的PDCP PDU還未開始傳輸。而在UE側,SN號為3的PDCP PDU 沒有收到,UE已經向源eNodeB發送了1,2和4的確認,但是源eNodeB只收到了1和2的確認。因此,源eNodeB會將除了1,2 之外的PDCP SDU(這里是解壓后的數據,因此是SDU,其對應的PDU的SN號會在GTP-U擴展頭部的“PDCP PDU Number”域中給出)轉發給目標eNodeB,包括SN號為3,4和5的PDCP SDU。源eNodeB會從SGW收到“End Marker”包,表明下行數據承載將由源eNodeB切換到目標eNodeB,不會再有數據通過源eNodeB的通道下發下來。源eNodeB會將此“End Marker”數據包轉發給目標eNodeB,表明到目標eNodeB數據轉發的結束。

和圖中表示的不同,如果UE已經向源eNodeB發送了包1,2和4的確認,並且源eNodeB都已經收到,包括對包4的確認。那么源eNodeB將只轉發3,5等數據包給目標eNodeB而不會轉發包4,因為確認UE已經收到包4。這點和上行的數據轉發有些不同。在上行數據傳送中,UE雖然可以確定某失序的數據包在源eNodeB中已經收到,但不知道源和目標eNodeB之間是否會轉發此失序數據(依賴於兩eNodeB之間的協商),因此,UE需要准備在目標eNodeB中的重傳。

 

LTE <wbr>切換過程中的數據切換

目標eNodeB在接收源eNodeB轉發的數據的同時,也可能收到SGW發送過來的下行數據。在這種情況下,目標eNodeB會優先發送源eNodeB通過X2接口發送過來的數據,直到“End Marker”標志。目標eNodeB也會依次分配下一個PDCP SN號給新的數據包(這個數據包,可能來自SGW,也可能來自源eNodeB)。圖中,目標eNodeB會將包3,4,5依次下發給UE,而后,生成序號為6的PDCP PDU包,發送給UE。此時,UE上的PDCP層就會檢測到重復的包4,在去除重復的包和排序后,將PDCP SDU提交給上層應用。

3GPP規范(36.300)中建議UE在接入到目標eNodeB,獲得上行授權以后,應首先發送PDCP層的狀態報告給目標eNodeB。在這種情況下,目標eNodeB就會獲知UE已經收到了包4,就不會向UE重復發送包4了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM