LTE中的切換,根據(jù)無(wú)線承載(Radio Bearer)的QoS要求的不同,可以分為無(wú)縫切換(Seamless
handover)和無(wú)損切換(lossless handover)。無(wú)縫切換,應(yīng)用于對(duì)于時(shí)間延遲有嚴(yán)格要求,而對(duì)誤包率(丟包率)具有相對(duì)容忍度的一些應(yīng)用(比如,語(yǔ)音
VoIP)。無(wú)縫切換在LTE中可以降低切換的復(fù)雜度和時(shí)間延遲,但同時(shí)可能引起某些數(shù)據(jù)包的丟失。無(wú)縫切換主要應(yīng)用于控制面的無(wú)線承載
(SRB)以及用戶數(shù)據(jù)面RLC 在無(wú)縫切換的模式下,對(duì)于下行的數(shù)據(jù)傳輸,源eNodeB將尚未進(jìn)行傳輸?shù)腜DCP SDU轉(zhuǎn)發(fā)給目標(biāo)eNodeB,對(duì)于經(jīng)S1接口轉(zhuǎn)發(fā)下來(lái),尚未進(jìn)行PDCP處理的下行數(shù)據(jù),源eNodeB也同樣轉(zhuǎn)發(fā)給目標(biāo)eNodeB。已經(jīng)完成PDCP SDU傳輸?shù)南滦袛?shù)據(jù), 則無(wú)需轉(zhuǎn)發(fā)給目標(biāo)eNodeB。對(duì)于已經(jīng)進(jìn)行了部分PDCP SDU的傳輸,但尚存部分RLC PDU的數(shù)據(jù),源eNodeB會(huì)將剩余的RLC PDU丟棄,也就是說(shuō),在無(wú)縫切換模式下,源eNodeB不會(huì)將下行數(shù)據(jù)的RLC 上下文 (RLC Context)轉(zhuǎn)發(fā)給目標(biāo)eNodeB,這樣,這部分PDCP SDU的數(shù)據(jù)將會(huì)丟失。目標(biāo)eNodeB側(cè),會(huì)將PDCP的SN和HFN重新置為零。同時(shí),目標(biāo)eNodeB在傳輸經(jīng)由S1接口的下行數(shù)據(jù)之前,會(huì)優(yōu)先傳輸源eNodeB通過(guò)X2接口轉(zhuǎn)發(fā)過(guò)來(lái)的下行數(shù)據(jù)。我們知道,SGW在將下行通道切換到目標(biāo)eNodeB之前會(huì)向源eNodeB發(fā)送“End Marker ”數(shù)據(jù)包。源eNodeB會(huì)將此數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)eNodeB。目標(biāo)eNodeB據(jù)此可以獲知源eNodeB轉(zhuǎn)發(fā)數(shù)據(jù)的結(jié)束。(基于X2的切換過(guò)程中,SGW發(fā)生變化時(shí),是否會(huì)發(fā)送“End Marker”數(shù)據(jù)包?) 無(wú)損切換主要用于RLC- AM模式的無(wú)線承載,典型的例子如FTP上下載,PDCP SDU傳輸?shù)膩G失可能對(duì)上層協(xié)議(TCP)的吞吐量有較大的影響,相反,對(duì)于時(shí)間延遲不象實(shí)時(shí)應(yīng)用那樣敏感。 在正常的工作模式下(即未發(fā)生切換時(shí)),UE和eNodeB上的RLC層保證了數(shù)據(jù)的有序傳輸,對(duì)于由于RLC的重傳或者由于MAC層的HARQ引起的RLC層的失序,RLC層可以根據(jù)其頭部的序列號(hào)來(lái)重新加以排序。LTE中, PDCP的頭部也標(biāo)有序列號(hào), 可以以此來(lái)保證切換過(guò)程中數(shù)據(jù)的有序傳輸和重復(fù)檢測(cè),也可以用來(lái)保證切換過(guò)程中數(shù)據(jù)的無(wú)損傳輸。(為什么由PDCP層而不是RLC層來(lái)保證切換后數(shù)據(jù)的無(wú)損呢?) 在無(wú)損切換中,對(duì)于上行數(shù)據(jù),切換到目標(biāo)eNodeB后,UE會(huì)從第一個(gè)尚未在源eNodeB中得到確認(rèn)的PDCP SDU開(kāi)始,重傳以后的PDCP SDU包(其中可能包括源eNodeB收到,但UE沒(méi)有收到確認(rèn)的PDCP SDU或UE雖收到確認(rèn),但失序的PDCP SDU),除非目標(biāo)eNodeB通過(guò)PDCP 狀態(tài)報(bào)告包確認(rèn)收到其中的某些SDU(源eNodeB轉(zhuǎn)發(fā)給目標(biāo)eNodeB)。 如下圖所示: 對(duì)于上行的數(shù)據(jù),UE已經(jīng)傳輸了SN號(hào)為1到5 的PDCP PDU,切換發(fā)生時(shí)(源eNodeB發(fā)送SN Status Transfer消息給目標(biāo)eNodeB),源eNodeB只收到了SN號(hào)為1,2和4 的PDCP PDU 并向UE做了確認(rèn),對(duì)于序號(hào)為3和5的PDCP PDU,源eNodeB只收到了部分RLC PDU。UE會(huì)將SN標(biāo)號(hào)為3,4和5的PDCP PDU放到PDCP的重傳序列中,因?yàn)?是UE沒(méi)有收到確認(rèn)的第一個(gè)包,盡管源eNodeB已經(jīng)收到了包4并且UE也得到了確認(rèn)。 源eNodeB發(fā)送SN Status Transfer消息給目標(biāo)eNodeB后,會(huì)將收到的連續(xù)PDCP SDU轉(zhuǎn)發(fā)給SGW,圖中,對(duì)應(yīng)的是SN號(hào)為1和2的PDCP PDU。而對(duì)于收到的部分RLC PDU數(shù)據(jù)(對(duì)應(yīng)SN號(hào)為3和5 的PDCP PDU),源eNodeB會(huì)將其丟棄,也就是說(shuō),源eNodeB并不向目標(biāo)eNodeB轉(zhuǎn)發(fā)上行數(shù)據(jù)的RLC 上下文 (Context)。如果源eNodeB和目標(biāo)eNodeB雙方協(xié)商同意要進(jìn)行上行的失序PDCP SDU的轉(zhuǎn)發(fā),則源eNodeB將SN號(hào)為4 的PDCP PDU轉(zhuǎn)發(fā)給目標(biāo)eNodeB。否則,源eNodeB也會(huì)將相應(yīng)的PDCP包丟棄。圖中,包4 被源eNodeB轉(zhuǎn)發(fā)給目標(biāo)eNodeB。 切換發(fā)生,UE接入到目標(biāo)eNodeB,與目標(biāo)eNodeB之間建立了數(shù)據(jù)連接,由于包1,2已經(jīng)在源eNodeB中得到確認(rèn),因而UE不會(huì)在目標(biāo)eNodeB中重復(fù)發(fā)送,而將PDCP SN號(hào)為3,4,5,6的包依次向目標(biāo)eNodeB發(fā)送。目標(biāo)eNodeB依據(jù)SN號(hào)來(lái)對(duì)PDCP的PDU進(jìn)行排序和重復(fù)檢測(cè)。在此例中,包4屬于重復(fù)的數(shù)據(jù)包。目標(biāo)eNodeB將排序好的無(wú)重復(fù)的PDCP SDU發(fā)送給SGW。 目標(biāo)eNodeB也會(huì)向UE發(fā)送基于PDCP 的控制包,報(bào)告當(dāng)前eNodeB側(cè)PDCP SN號(hào)的狀態(tài)。如果在UE在重傳3,4,5上行數(shù)據(jù)包之前接收到目標(biāo)eNodeB下發(fā)的PDCP狀態(tài)報(bào)告,獲知目標(biāo)eNodeB已經(jīng)收到包4,則UE無(wú)需重傳包4, 只需重傳包3和5以及新包6等即可。但規(guī)范中并未強(qiáng)制目標(biāo)eNodeB發(fā)送PDCP狀態(tài)報(bào)告的時(shí)間,UE也無(wú)需等到收到目標(biāo)eNodeB的PDCP狀態(tài)報(bào)告后,才重新開(kāi)始上行數(shù)據(jù)的傳輸。圖中,包4被UE在目標(biāo)eNodeB中重復(fù)傳輸,目標(biāo)eNodeB中的PDCP層會(huì)根據(jù)PDCP的SN號(hào)進(jìn)行PDCP包的重復(fù)檢測(cè)。 在無(wú)損切換的過(guò)程中,對(duì)于下行的PDCP SDU,如果UE已經(jīng)在源eNodeB中完成PDCP SDU的確認(rèn), 源eNodeB無(wú)需將它們轉(zhuǎn)發(fā)給目標(biāo)eNodeB (包括連續(xù)的和失序的PDCP SDU)。源eNodeB需要將尚未傳輸完畢(包括已有部分傳輸和尚未進(jìn)行傳輸?shù)摹W⒁?,與無(wú)縫切換中不同,無(wú)縫切換中轉(zhuǎn)發(fā)的是尚未進(jìn)行傳輸?shù)腟DU)的PDCP SDU轉(zhuǎn)發(fā)給目標(biāo)eNodeB,包括經(jīng)S1接口轉(zhuǎn)發(fā)下來(lái),尚未進(jìn)行PDCP處理的下行數(shù)據(jù)。對(duì)于已經(jīng)進(jìn)行了部分PDCP SDU的傳輸,但尚存部分RLC PDU的數(shù)據(jù),源eNodeB會(huì)將RLC PDU丟棄,也就是說(shuō),在無(wú)縫切換模式下,源eNodeB不會(huì)將RLC 上下文 (RLC Context)轉(zhuǎn)發(fā)給目標(biāo)eNodeB(源eNodeB丟棄的只是RLC的上下文,并非是PDCP SDU的數(shù)據(jù),PDCP SDU的數(shù)據(jù)仍會(huì)轉(zhuǎn)發(fā)給目標(biāo)eNodeB,因?yàn)樗麄儗儆谏形磦鬏斖戤叺腜DCP SDU)。如下圖所示: 在切換過(guò)程發(fā)生時(shí),源eNodeB已經(jīng)傳輸了SN號(hào)為1至4的PDCP PDU,編號(hào)為5的PDCP PDU還未開(kāi)始傳輸。而在UE側(cè),SN號(hào)為3的PDCP PDU 沒(méi)有收到,UE已經(jīng)向源eNodeB發(fā)送了1,2和4的確認(rèn),但是源eNodeB只收到了1和2的確認(rèn)。因此,源eNodeB會(huì)將除了1,2 之外的PDCP SDU(這里是解壓后的數(shù)據(jù),因此是SDU,其對(duì)應(yīng)的PDU的SN號(hào)會(huì)在GTP-U擴(kuò)展頭部的“PDCP PDU Number”域中給出)轉(zhuǎn)發(fā)給目標(biāo)eNodeB,包括SN號(hào)為3,4和5的PDCP SDU。源eNodeB會(huì)從SGW收到“End Marker”包,表明下行數(shù)據(jù)承載將由源eNodeB切換到目標(biāo)eNodeB,不會(huì)再有數(shù)據(jù)通過(guò)源eNodeB的通道下發(fā)下來(lái)。源eNodeB會(huì)將此“End Marker”數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)eNodeB,表明到目標(biāo)eNodeB數(shù)據(jù)轉(zhuǎn)發(fā)的結(jié)束。 和圖中表示的不同,如果UE已經(jīng)向源eNodeB發(fā)送了包1,2和4的確認(rèn),并且源eNodeB都已經(jīng)收到,包括對(duì)包4的確認(rèn)。那么源eNodeB將只轉(zhuǎn)發(fā)3,5等數(shù)據(jù)包給目標(biāo)eNodeB而不會(huì)轉(zhuǎn)發(fā)包4,因?yàn)榇_認(rèn)UE已經(jīng)收到包4。這點(diǎn)和上行的數(shù)據(jù)轉(zhuǎn)發(fā)有些不同。在上行數(shù)據(jù)傳送中,UE雖然可以確定某失序的數(shù)據(jù)包在源eNodeB中已經(jīng)收到,但不知道源和目標(biāo)eNodeB之間是否會(huì)轉(zhuǎn)發(fā)此失序數(shù)據(jù)(依賴于兩eNodeB之間的協(xié)商),因此,UE需要準(zhǔn)備在目標(biāo)eNodeB中的重傳。 目標(biāo)eNodeB在接收源eNodeB轉(zhuǎn)發(fā)的數(shù)據(jù)的同時(shí),也可能收到SGW發(fā)送過(guò)來(lái)的下行數(shù)據(jù)。在這種情況下,目標(biāo)eNodeB會(huì)優(yōu)先發(fā)送源eNodeB通過(guò)X2接口發(fā)送過(guò)來(lái)的數(shù)據(jù),直到“End Marker”標(biāo)志。目標(biāo)eNodeB也會(huì)依次分配下一個(gè)PDCP SN號(hào)給新的數(shù)據(jù)包(這個(gè)數(shù)據(jù)包,可能來(lái)自SGW,也可能來(lái)自源eNodeB)。圖中,目標(biāo)eNodeB會(huì)將包3,4,5依次下發(fā)給UE,而后,生成序號(hào)為6的PDCP PDU包,發(fā)送給UE。此時(shí),UE上的PDCP層就會(huì)檢測(cè)到重復(fù)的包4,在去除重復(fù)的包和排序后,將PDCP SDU提交給上層應(yīng)用。 3GPP規(guī)范(36.300)中建議UE在接入到目標(biāo)eNodeB,獲得上行授權(quán)以后,應(yīng)首先發(fā)送PDCP層的狀態(tài)報(bào)告給目標(biāo)eNodeB。在這種情況下,目標(biāo)eNodeB就會(huì)獲知UE已經(jīng)收到了包4,就不會(huì)向UE重復(fù)發(fā)送包4了。
|
|