LTE常用定时器Timer

一、接入类定时器

初始接入流程说明

主要受T300、T302定时器的影响:
UE RRC连接建立请求消息是由UE的RRC层发起,并向MAC层发出随机接入指示以后,启动T300定时器,接收到RRC Connection Setup消息或RRC Connection Reject消息,或NAS层指示终止RRC连接建立时停止; 如果T300超时,则通知上层RRC连接建立失败, UE转入空闲模式。

网络在RRC连接拒绝时,会在RRC Connection Reject消息中同时向UE指示等待时间(T302时长),UE需等待T302指示的时间后,再发起下一次RRC连接建立流程。


 

T300 定时器

【功能描述】
该参数表示UE侧控制RRC connection establishment过程的定时器。在UE发送RRCConnectionRequest后启动。

在超时前如果:
1.UE收到RRCConnectionSetup或RRCConnectionReject;
2.触发Cell-reselection过程;
3.NAS层终止RRC connection establishment过程。
则定时器停止。

如定时器超时,则UE重置MAC层、释放MAC层配置、重置所有已建立RBs(Radio Bears)的RLC实体。并通知NAS层RRC connection establishment失败。

【对网络质量的影响】
增加该参数的取值,可以提高UE的RRC connection establishment过程中随机接入的成功率。但是,当UE选择的小区信道质量较差或负载较大时,可能增加UE的无谓随机接入尝试次数。

减少该参数的取值,当UE选择的小区信道质量较差或负载较大时,可能减少UE的无谓随机接入尝试次数。但是,可能降低UE的RRC connection establishment过程中随机接入的成功率。

【取值范围】
ENUMERATED { ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,ms2000}

【取值建议】
1000ms(东莞现网取值为1000ms)

 T302 定时器

【功能描述】
T302用于控制eUTRAN拒绝UE的RRC连接建立到UE下一次发起RRC连接建立过程的时间。UE接收RRCConnectionReject信息后得到其中的参数waitTime,定时器T302的取值由waitTime决定。

【对网络质量的影响】
设置过大会造成UE RRC连接拒绝后限制时长过大,使本能够再次建立的RRC不能及时被建立,影响用户感知。

【取值范围】
INTEGER (1..16)

【取值建议】
2s(东莞现网取值2S)
“突发大话务场景下LTE网络保障演习”选取的2个小区为“东莞华凯广场D-HLH-1”、“东莞西平F-HLH-1”。8月22日上午10时根据方案调整演习小区参数(不活动定时器参数由现网20调整为10,T302定时器参数由现网2调整为16,开启异频负荷均衡算法)

二、掉线类定时器

1.无线链路失败检测流程

在UE进行无线链路检测时,当连续收到的下行失步指示(out of sync)个数等于N310时,则会触发定时器T310的启动。

如果在T310持续过程中,连续又收到下行同步指示(in sync)个数等于N311时,则停止T310定时器,指示链路同步已恢复。

如定时器T310 超时,则认为检测到无线链路失败,将触发RRC连接重建过程。

2.定时器参数介绍

 N310 变量

【功能描述】
该参数表示接收连续“失步(out-of-sync)”指示的最大数目,达到最大数目后触发T310定时器的启动。

【对网络质量的影响】
N310设置的越大,UE对RL失步的判断就越不敏感,可能造成本来不可用的RL迟迟不能被上报RL失步进而无法触发后续的恢复或重建操作;该参数设置过小,会造成不必要的RRC重建。

【取值范围】
ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20}

【取值范围】
n20(东莞现网取值20)

 T310 定时器

【功能描述】
UE的RRC层检测到physical layer problems时,启动定时器T310.该定时器运行期间,如果无线链路恢复,则停止该定时器,否则一直运行。该定时超时,认为无线链路失败。

【对网络质量的影响】
T310设置的越大,UE察觉RL下行失步的时间就越长,此时间内相关资源无法及时释放,也无法发起恢复操作或响应新的资源建立请求,影响用户的感知。该参数设置过小,会造成不必要的RRC 重建。

【取值范围】
ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000}

【取值建议】
1000ms(东莞现网取值1000ms)

N311变量

【功能描述】
该参数用于设置停止T310定时器所需要收到的最大连续“in-sync”指示的个数

【对网络质量的影响】
N311设置的越大,越可以保证RL恢复下行同步的可靠性,但相应的也会增加导致T310超时的风险,一旦T310超时,就会触发RL FAILURE原因的连接重建流程;

【取值范围】
ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10}

【取值建议】
n1(东莞现网取值1)

三、切换类定时器

1. 切换流程

在“E-UTRAN内切换”和“切换入E-UTRAN 的系统间切换”的情况下,UE在收到带有“mobilityControlInfo”的RRC连接重配置消息时启动T304定时器,在完成新小区的随机接入后停止该定时器。

T304定时器超时后,UE需恢复原小区配置并发起RRC重建流程。

2. 定时器参数介绍

 T304 定时器(For Intra-Lte)

【功能描述】
在“E-UTRAN内切换”和“切换入E-UTRAN的系统间切换”的情况下,UE在收到带有“mobilityControlInfo”的RRC连接重配置消息时启动定时器,在完成新小区的随机接入后停止定时器;定时器超时后UE需恢复原小区配置并发起RRC重建请求

【对网络质量的影响】
用于系统内切换,该值设置过大会导致切换失败无法及时回退并发起RRC连接重建过程(回源)

【取值范围】
ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000,ms2000, spare1}

【取值建议】
500ms

四、重建立类定时器

1. RRC连接重建立流程

RRC重建过程可以发生在:切换失败、无线链路失败、底层完整性保护失败和RRC重配置失败这几种场景。

完整的RRC重建成功流程包括:UE发起重建,开始搜小区(包括找到合适小区驻留,并发起RRC Connection Reestablishment Request),到UE最终发送RRC Connection Reconfiguration Complete消息指示重建完成。

2. 定时器参数介绍


 T311定时器

【功能描述】
T311用于UE的RRC连接重建过程,T311控制UE开始RRC连接重建到UE选择一个小区过程所需的时间,期间UE执行cell-selection过程。

【对网络质量的影响】
设置值越大,UE进行小区选择过程中所被允许的时间越长, RRC Connection Reestablishment过程越滞后;如果该参数设置过小,可能在某些链路可以被挽救的情况下,却由于定时器设置不合理而进入IDLE状态,引起掉话,严重影响用户感知。

【取值范围】
ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000,ms20000, ms30000}

【取值建议】
1000ms

 T301定时器

【功能描述】
在UE上传RRCConnectionReestabilshmentRequest后启动。在超时前如果收到UE收到RRCConnectionReestablishment或RRCConnectionReestablishmentReject,则定时器停止。定时器超时,则UE变为RRC_IDLE状态。

【对网络质量的影响】
增加该参数的取值,可以提高UE的RRC connection re-establishment过程中随机接入的成功率。但是,当UE选择的小区信道质量较差或负载较大时,可能增加UE的无谓随机接入尝试次数。减少该参数的取值,当UE选择的小区信道质量较差或负载较大时,可能减少UE的无谓随机接入尝试次数。但是,可能降低UE的RRC connection re-establishment过程中随机接入的成功率。

【取值范围】
ENUMERATED { ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,ms2000}

【取值建议】

600ms
 

  • 6
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux 定时器 timer_list 是一个内核数据结构,用于管理内核中的定时器。它是一个双向链表,每个节点表示一个定时器timer_list 的定义位于 `<linux/timer.h>` 头文件中。 每个 timer_list 节点的定义如下: ```c struct timer_list { struct list_head entry; // 定时器节点的链表指针 unsigned long expires; // 定时器的到期时间 void (*function)(unsigned long); // 定时器回调函数 unsigned long data; // 传递给回调函数的参数 struct tvec_base *base; // 定时器所属的时间轮 int slack; // 定时器的松弛时间 }; ``` 其中,`entry` 是一个 `list_head` 结构,用于将节点连接到定时器链表中。`expires` 表示定时器的到期时间,以 jiffies 单位表示。`function` 是定时器的回调函数,在定时器到期时被调用。`data` 是传递给回调函数的参数。`base` 表示定时器所属的时间轮,`slack` 是定时器的松弛时间,用于处理定时器的精度。 在使用 timer_list 时,可以使用以下函数进行初始化和操作: - `timer_setup(struct timer_list *timer, void (*function)(unsigned long), unsigned int flags)`:初始化一个定时器,并指定回调函数和标志。 - `init_timer(struct timer_list *timer)`:初始化一个定时器。 - `add_timer(struct timer_list *timer)`:将定时器添加到定时器链表中。 - `del_timer(struct timer_list *timer)`:从定时器链表中删除定时器。 - `mod_timer(struct timer_list *timer, unsigned long expires)`:修改定时器的到期时间。 这些函数可以通过 `<linux/timer.h>` 头文件中的宏来调用。通过操作 timer_list,可以实现在 Linux 内核中的定时器功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值