LTE 中基于X2的切换
LTE 中基于X2的切换 (36.300, 23.401)SGW 保持不变
http://blog.sina.com.cn/s/blog_673b30dd0100j4pe.html

1:eNodeB为UE配置测量报告的参数。是通过RRCConnnectionReconfiguration中的Measurement Configuration IE 来实现的。
measConfig
{
measObjectToAddModList
{
{
measObjectId 1,
measObject measObjectEUTRA :
{
carrierFreq 5230,
allowedMeasBandwidth mbw6,
presenceAntennaPort1 FALSE,
neighCellConfig '00'B,
cellsToAddModList
{
{
cellIndex 1,
physCellId 116,
cellIndividualOffset dB0
}
}
}
}
},
reportConfigToAddModList
{
{
reportConfigId 1,
reportConfig reportConfigEUTRA :
{
triggerType event :
{
eventId eventA3 :
{
a3-Offset -7,
reportOnLeave TRUE
},
hysteresis 2,
timeToTrigger ms128 发送测量报告前,测量条件必须连续满足的时间。
},
triggerQuantity rsrp,
reportQuantity sameAsTriggerQuantity,
maxReportCells 2, 除服务小区外,测量报告中包含的最多小区数目。
reportInterval ms1024,如果eNodeB没有相应初始的测量报告,UE再次发送测量报告的周期。再次报告时,需要仍然满足报告条件吗?
reportAmount r64 如果eNodeB没有响应初始的测量报告,UE发送再次测量报告的数目。
}
}
},
measIdToAddModList
{
{
measId 1,
measObjectId 1,
reportConfigId 1
}
}
},
在Measurement Configuration中,以 Measurement ID来标识每个测量,每个测量包含 Measurement Object 和 Report Configuration两个部分, Measurement Object 定义了UE需要测量的目标,Report Configuration则定义了触发测量报告的事件。在LTE中,测量报告的发送可以是事件触发的,或周期发送的,或事件触发周期发送的。
触发测量报告的事件主要有以下几种:
A1: 服务小区的测量值高于预定的测量门限(对于EUTRAN来说,测量值包括RSRP和RSRQ)。
A2: 服务小区的测量值低于预先设定的测量门限。
A3: 相邻的EUTRA小区的测量值优于目标小区 + 预定的偏移量。
A4 :相邻的EUTRA小区测量值高于预定的测量门限。
A5:服务小区的测量值低于预先设定的测量门限并且相邻小区的测量值高于另一预定的测量门限。
B1:Inter RAT的邻小区测量值高于预定的测量门限。
B2:目标小区低于预先设定的测量门限并且Inter RAT的邻小区测量值高于另一预定的测量门限。
2:这样当测量报告条件满足后, UE就会向eNodeB发送测量报告。
message c1 : measurementReport :
{
criticalExtensions c1 : measurementReport-r8 :
{
measResults
{
measId 1,
measResultServCell
{
rsrpResult 56,
rsrqResult 14
},
measResultNeighCells measResultListEUTRA :
{
{
physCellId 116,
measResult
{
rsrpResult 54
}
}
}
}
}
}
3:源eNodeB根据RRM信息和UE上报的测量报告决定进行切换。
LTE中的切换都是硬切换,也就是说,在接入新的eNodeB之前,断开与原有eNodeB之间的连接。LTE不支持软切换,不存在激活集的概念。
根据源eBodeB 和目标eNodeB是否连接到同一个MME(池,MME Pool)以及他们之间是否存在X2连接,LTE中的切换,可以划分为基于X2的切换和基于S1的切换。LTE中,将缺省进行基于X2的切换,除非源和目标eNodeB之间不在同一个MME(池)的范围或者不存在X2连接或者源eNodeB配置成需要进行基于S1的切换。
在基于X2的切换过程中, EPC中的MME(池)保持不变,而与之相连的SGW则有可能发生改变。
在基于X2的切换过程中,切换过程(包括信令和用户面数据)是在两个eNodeB之间直接进行的,切换时延相对较小。在切换成功的最后才通知MME,以进行路径的切换。
在基于X2的切换过程中,源eNodeB资源的释放是由目标eNodeB直接触发的。
.在基于X2的切换过程中,可以对每个EPS承载采用不同的转发机制。(无缝切换和无损切换)
4 :源eNodeB决定进行基于X2的切换,通过X2接口向目标eNodeB发送Handover
Request 消息, 包括如下信元(IE)。
|
IE/Group Name |
Presence |
|
Message Type |
M |
|
Old eNB UE X2AP ID |
M |
|
Cause |
M |
|
Target Cell ID |
M |
|
GUMMEI |
M |
|
UE Context Information |
|
|
> MME UE S1AP ID |
M |
|
> UE Security Capabilities |
M |
|
>AS Security Information |
M |
|
> UE Aggregate Maximum Bit Rate |
M |
|
> Subscriber Profile ID for RAT/Frequency priority |
O |
|
>E-RABs To Be Setup List |
|
|
>>E-RABs To Be Setup Item |
|
|
>>> E-RAB ID |
M |
|
>>> E-RAB Level QoS Parameters |
M |
|
>>> DL Forwarding |
O |
|
>>> UL GTP Tunnel Endpoint |
M |
|
>RRC Context |
M |
|
>Handover Restriction List |
O |
|
>Location Reporting Information |
O |
|
UE History Information |
M |
|
Trace Activation |
O |
|
SRVCC Operation Possible |
O |
其中Old eNB UE X2AP 将X2AP通道在源eNodeB侧的标识通知目标eNodeB,以建立两个eNodeB之间的X2AP通道。UE Context Information信元中的ERAB List中包含上行的GTP Tunnel在SGW侧的TEID,目标eNodeB将根据此TEID值在步骤11向(源)SGW发送数据。
5:目标eNodeB根据接收到的 E-RAB的QoS属性进行接入控制判断,如果允许接入,
目标eNodeB将根据E-RAB的QoS属性预留相应的资源,分配C-RNTI以及随机接入的专用前导序列等。
6:目标eNodeB进行L1/L2层的切换准备工作,会向源eNodeB发送Handover Request Acknowledge 确认。 在此消息中,与接入目标eNodeB有关的相关RRC信令作为Transparent Container也包含在其中。
7:源eNodeB将目标eNodeB生成的RRCConnectionReconfiguration消息(包含MobilityControlInfo信元),发送给UE,其中包括目标小区的物理标识,UE在目标小区中的C-RNTI,目标小区接入的专用前导序列,目标小区的安全算法等。
message c1 : rrcConnectionReconfiguration :
{
rrc-TransactionIdentifier 0,
criticalExtensions c1 : rrcConnectionReconfiguration-r8 :
{
mobilityControlInfo
{
targetPhysCellId 116,
t304 ms2000,
newUE-Identity '00000111 11100000'B,
radioResourceConfigCommon
{
rach-ConfigCommon
{
preambleInfo
{
numberOfRA-Preambles n52
},
powerRampingParameters
{
powerRampingStep dB2,
preambleInitialReceivedTargetPower dBm-104
},
ra-SupervisionInfo
{
preambleTransMax n6,
ra-ResponseWindowSize sf10,
mac-ContentionResolutionTimer sf64
},
maxHARQ-Msg3Tx 1
},
prach-Config
{
rootSequenceIndex 22,
prach-ConfigInfo
{
prach-ConfigIndex 14,
highSpeedFlag FALSE,
zeroCorrelationZoneConfig 5,
prach-FreqOffset 0
}
},
pusch-ConfigCommon
{
pusch-ConfigBasic
{
n-SB 1,
hoppingMode interSubFrame,
pusch-HoppingOffset 0,
enable64QAM FALSE
},
ul-ReferenceSignalsPUSCH
{
groupHoppingEnabled FALSE,
groupAssignmentPUSCH 0,
sequenceHoppingEnabled FALSE,
cyclicShift 0
}
},
ul-CyclicPrefixLength len1
}
},
radioResourceConfigDedicated
{
physicalConfigDedicated
{
schedulingRequestConfig setup :
{
sr-PUCCH-ResourceIndex 0,
sr-ConfigIndex 154,
dsr-TransMax n4
}
}
},
securityConfigHO
{
handoverType intraLTE :
{
securityAlgorithmConfig
{
cipheringAlgorithm eea0,
integrityProtAlgorithm spare1
},
keyChangeIndicator FALSE,
nextHopChainingCount 1
}
}
}
}
8: 对于需要进行无损传输的DRB(数据承载),源eNodeB发送SN STATUS TRANSFER消息给目标eNodeB,包括针对需要保持PDCP的E-RAB(例如RLC AM模式)的上行PDCP的接收状态,和下行PDCP的发送状态。目的是为了保证切换过程中的无损数据传输。此时源eNodeB开始转发用户面数据给目标eNodeB。根据切换类型的不同(无缝切换还是无损切换),数据转发的机制也有所不同。(详见关于无缝切换和无损切换的讨论。)目标eNodeB将源eNodeB转发的数据进行缓存。
9:接收到RRCConnectionReconfiguration消息后,UE从源eNodeB中去附着,然后通过随机接入过程与目标eNodeB建立同步。(LTE中,为了简化起见,eNodeB内的不同Cell之间的切换和eNodeB之间的切换是统一对待处理的。),如果在步骤7中接收到专用的随机接入前导序列,则采用无竞争的随机接入过程,否则采用基于竞争的随机接入过程。
10:目标eNodeB返回给UE上行的资源分配及时间同步信息。
11:UE发送RRCConnectionConfigurationComplete消息给目标eNodeB,确认切换成功。此时UE和目标eNodeB之间进行数据的上,下行传输。目标eNodeB开始将上行数据转发给SGW,此时目标eNodeB并不知道此次切换是否要进行SGW的Relocation,只是将上行数据转发给从源eNodeB获得的源SGW,此时由于到目标eNodeB的下行隧道尚未建立,因而下行的数据仍然需要通过源eNodeB转发到目标eNodeB。
12:目标eNodeB发送Path Switch Request消息给MME,将UE已经进行了小区切换的信息通知给MME。其中包括目标小区的TAI + ECGI 以及被目标小区拒绝的EPS承载列表(如果有的话)。目标eNodeB的下行TEID值是此时通知给MME。
(29.274)
|
IE/Group Name |
Presence |
|
Message Type |
M |
|
eNB UE S1AP ID |
M |
|
E-RAB To Be Switched in Downlink List |
M |
|
>E-RABs Switched in Downlink Item IEs |
|
|
>>E-RAB ID |
M |
|
>>Transport layer address |
M |
|
>>GTP-TEID |
M |
|
Source MME UE S1AP ID |
M |
|
E-UTRAN CGI |
M |
|
TAI |
M |
|
UE Security Capabilities |
M |
13:MME认为SGW可以保持不变,发送UPDATE USER PLANE REQUEST(Modify Bearer Request)消息给SGW,其中包括用户S1 GTP-U在目标eNodeB侧的FTEID值。
14:SGW不再向源eNodeB发送UE的用户面数据,将下行的数据切换到目标eNodeB侧,由于SGW保持不变,因此不需要SGW与PGW之间的信令交互。SGW发送一个或多个“END Marker”数据包给源eNodeB。源eNodeB将“End Marker”消息转发给目标eNodeB。End Marker数据包不含有任何的数据,在GTP的头部表明是End Marker数据包,指示对应的GTP Tunnel上的数据传输结束。随后,SGW释放掉到源eNodeB的用户面资源。此时UE与PGW之间的上,下行GTP-U通道都经过目标eNodeB了。
15: SGW发送 “UPDATE USER PLANE RESPONSE” (Modify Bearer Response)消息给MME。
16: MME发送“PATH Swith ACK”消息给目标eNodeB。
17:收到MME的上述消息后,目标eNodeB发送“UE Context Release”消息给源eNodeB,通知源eNodeB切换成功,可以释放相关资源。
18:接收到消息后,目标eNodeB开始释放相关资源。
LTE 中基于X2的切换 (36.300, 23.401)SGW Relocate
http://blog.sina.com.cn/s/blog_673b30dd0100j4pj.html
上文的信令流程是SGW在切换前后保持不变的情形。如果MME认为需要重新定位SGW (Relocate), 则其信令流程如下图所示。图中假定目标eNodeB和源SGW之间存在IP连接(否则,即认为需要进行基于S1的切换),这样,在UE发送RRCConnectionReconfigurationComplete消息,接入到目标eNodeB后,上行的数据就可以通过目标eNodeB向源SGW和PGW进行发送(通过Handover Request消息,目标eNodeB获得了源SGW的上行GTP Tunnel的TEID值)。当然,目标SGW和目标eNodeB之间以及源SGW和源eNodeB之间的IP连接是存在的。(否则无法建立通常的GTP-U隧道)。
1:目标eNodeB发送Path Switch Request消息给MME, MME根据相应的准则,选择了一个与源SGW不同的目标SGW。(注: MME是根据TA(Tracking Area)的粒度来选择SGW的,SGW不同,意味着TA发生了变化, 随后需要进行TAU的过程???)。
2:MME发送Create Session Request消息给新的SGW, (Create Session Request消息包含的内容参见EPS Initial Attach 过程),与EPS Initial Attach过程不同,下行GTP-U隧道在目标eNodeB侧的TEID值也包括在此消息中。
3:目标SGW为下行数据分配TEID, 并向PGW发送Modify Bearer Request消息。PGW更新相应的信息,返回Modify Bearer Response消息给SGW。此时PDW已经获得与目标SGW以及目标eNodeB相连的下行GTP-U隧道信息,因而开始通过新的GTP隧道传送下行数据。
4:目标SGW发送Create Session Response消息给MME。通知MME上行GTP-U隧道的FTEID值。MME启动定时器,在步骤7使用
5:MME回应Path Switch Request Ack消息给目标eNodeB, 此时目标eNodeB获得了与目标SGW以及PGW相连的上行GTP-U隧道信息,因而开始通过新的GTP隧道来发送上行数据。
6:目标eNodeB发送UE Context Release消息给源eNodeB, 通知源eNodeB切换成功,源eNodeB可以删除相关的资源。
7:4中的定时器超时后,MME发送Delete Session Request消息给源SGW, 释放与源SGW相关的承载资源。
LTE 中基于X2的切换的更多相关文章
- LTE中基于S1的切换
1:源eNodeB决定进行基于S1的切换.S1切换的原因可能是源eNodeB和目标eNodeB之间不存在X2连接,或者源eNodeB根据其他情况作出的判断. 2:源eNodeB向源MME发送Hando ...
- 【转】Power System 中基于 VIOS 的虚拟以太网实现
基于 VIOS 的虚拟以太网适配器的工作原理和配置实现 本文对 Power 系统中基于 VIOS 的虚拟以太网适配器(Virtual Ethernet Adapter)的工作原理.基本配置选项和配置步 ...
- 高效管理 Elasticsearch 中基于时间的索引——本质是在利用滚动模式做数据的冷热分离,热索引可以用ssd
高效管理 Elasticsearch 中基于时间的索引 转自:http://stormluke.me/es-managing-time-based-indices-efficiently/ 用 Ela ...
- WebGIS中基于控制点库进行SHP数据坐标转换的一种查询优化策略
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 目前项目中基于控制点库进行SHP数据的坐标转换,流程大致为:遍 ...
- WebGIS中基于AGS的画圆查询简析以及通过Polygon来构造圆的算法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 某个项目需求中需要在前端进行画圆查询,将圆范围上的多边形要素 ...
- VC中基于 Windows 的精确定时[转]
在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等.特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要 ...
- Struts2中基于Annotation的细粒度权限控制
Struts2中基于Annotation的细粒度权限控制 2009-10-19 14:25:53| 分类: Struts2 | 标签: |字号大中小 订阅 权限控制是保护系统安全运行很重要 ...
- java环境中基于jvm的两大语言:scala,groovy
一.java环境中基于jvm的两大语言:scala,groovy 可以在java项目里混编这两种语言: scala:静态语言,多范式语言,糅合了面向对象.面向过程:可以与java和net互操作:融汇了 ...
- python中基于descriptor的一些概念
python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...
随机推荐
- 我的第一个Python程序
#我的第一个Python程序 def is_valid_date(strdate): #判断是否是一个有效的日期字符串 try: #判断是否是时间格式 if ":" in strd ...
- 你不知道的javaScript笔记(5)
原生函数 常用的原生函数 String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol( ...
- 你不知道的javaScript笔记(1)
规避冲突 function foo(){ function bar(a){ i = 3; console.log(a + i); } for ( var i=0; i < 10; i++){ b ...
- js前台加密,java后端解密
1.前台JS <script type="text/javascript"> $(function() { $(" ...
- 重写Alert和confirm方法去除地址显示
//重写alert方法,去掉地址显示window.alert = function(name){var iframe = document.createElement("IFRAME&quo ...
- 魔板 Magic Squares(广搜,状态转化)
题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有一种颜色.这8种颜 ...
- 《瞿葩的数字游戏》T3-三角圣地(Lucas)
题目背景 国王1带大家到了数字王国的中心:三角圣地. 题目描述 不是说三角形是最稳定的图形嘛,数字王国的中心便是由一个倒三角构成.这个倒三角的顶端有一排数字,分别是1~N.1~N可以交换位置.之后的每 ...
- 根据坐标计算距离(mysql函数)
CREATE DEFINER=`root`@`localhost` FUNCTION `getDistance`(lng1 ) BEGIN DECLARE result double; DECLARE ...
- [转]win7下修改C盘USERS文件下的名称
Win7下C:\Users\Cortana以账户名称命名的系统文件夹用户名的修改 Win7下C:\Users\Cortana以账户名称命名的系统文件夹用户名的修改 Win7下C:\Users\Co ...
- 查询表名里含有Bill的表有哪些
Select Name from Master.dbo.sysobjects where xtype='u' and Name like '%Bill%' order by name