深扒 NB-IoT(2)| NB-IoT 协议栈剖析

举报
IoT_1919 发表于 2019/12/10 15:56:33 2019/12/10
【摘要】 这一讲主要给大家详细讲解下 NB-IoT 的协议栈,在讲协议栈之前先来了解下 NB 特有的数据传输方案,因为协议栈的有些知识点都是围绕 CP 和 UP 来讲解的。一、数据传输方案CIoT EPS 优化的目的,是为了提升 NB-IoT 对小数据以及 SMS 的支持。CIoT EPS 优化的内容包括控制面 CIoT 优化、用户面 CIoT 优化、无 PDN 连接的 EMM 注册、S1-U 接口的...

这一讲主要给大家详细讲解下 NB-IoT 的协议栈,在讲协议栈之前先来了解下 NB 特有的数据传输方案,因为协议栈的有些知识点都是围绕 CP 和 UP 来讲解的。


一、数据传输方案


CIoT EPS 优化的目的,是为了提升 NB-IoT 对小数据以及 SMS 的支持。CIoT EPS 优化的内容包括控制面 CIoT 优化、用户面 CIoT 优化、无 PDN 连接的 EMM 注册、S1-U 接口的数据传输以及头压缩等。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


1)CP 方案


无需建立空口数据无线承载(DRB)和 S1-U 连接,直接通过 NAS 消息传输数据,支持 IP 数据和非 IP 数据的传输。核心网新增网元 SCEF(Service Capability Exposure Function),用来支撑非 IP 数据随信令的传输。


3 GPP 已明确 CP 方案为必选方案 


上行数据从基站发送到 MME 之后,有两条路径可选:一是发往 SGW 后再发往 PGW;二是发往 SCEF,再直接发给服务器。使用控制面的 CIoT 优化可以不再建立 DRB,但是只适用于低频率且低速率的数据业务传输。


使用控制面传输数据,主要是通过 RRC 信令中的 NAS 专有消息 dedicatedInfoNAS-r13 来携带用户数据。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


从上图可以看出,如果是小于 100 字节的小包,终端只需要发 RRC Conn Setup Complete 一条携带 NAS 消息的信令就可以完成数据上报,可以极大简化终端的设计,降低信令开销和降低功耗。


2) UP 方案


增加 RRC-Suspended 状态,前一次传输数据的用户面连接被挂起,下次传输可恢复挂起的用户面连接,无需新建用户面连接。(用户面的 CIoT 优化,主要目的是简化从 RRC 空闲态到连接态变化的过程)


在支持用户面 CIoT EPS 优化时,RRC 连接释放消息中会携带 ResumeIdentity-r13 信元,用来给 UE 分配 Resume ID:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


在 UE 执行 RRC 恢复时,需要携带该 Resume ID 给基站,重新激活保存的上下文:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


与 CP 方案相比,UE 和基站需要保存用户面连接相关上下文。 


3 GPP 已明确 UP 方案为可选方案。 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


上图是 3 个 RRC 状态的关系,下图从 RRC Connect 到 RRC Suspended 状态转换的信令流程,需要注意的是 RRC Connection Release 这条信令里面会携带释放原因 Suspend。


Suspend 流程的预置条件:NB-IoT UE 附着到 MME 并建立 UP 承载,处于 ECM-Connected 状态,至少建立了 1 个 DRB。


触发:eNodeB 检测到 Nbinactivitytimer 超时,发送 RRC connection release(suspended 指示)。


UE 动作:保存 UE AS 上下文,包括 RRC/PDCP/RLC/MAC 协议层配置、安全上下文、ROHC 状态、CRNTI 和当前小区的 PCI;

保存 resume identity,用于 RRC 连接恢复; 挂起所有的 SRB 和 DRB。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


二、NB-IOT 协议栈介绍(主要对比 LTE 来看)


1)RRC 功能

从 RRC 的功能跟看,相比 LTE640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


没有变化的功能有:1)PLMN 及小区选择,2)准入控制,3)NAS 消息转发


取消的功能有:1)测量报告,2)切换及移动性管理


有变化的功能有 [括号内是变化的内容]

1)系统消息广播 [系统消息块及内容差异]

2)小区重选 [不支持异系统重选,不支持基于 RSRQ 重选,不支持基于优先级重选]

3)无线资源管理 [支持 SRB1bis (CP-opt), 支持最多 2 个 DRB(UP-opt), 支持 RRC suspend-resume 流程(UP-opt)]

4)寻呼/通知 [支持寻呼扩展流程,不支持 ETWS/CMAS]


NB/LTE RRC 层差异综合来看:


空闲态:

可以发起 RRC 连接恢复过程(仅 UP 模式)

终端/基站保持接入层的上下文(仅 UP 模式)


连接态:  

不支持网络控制的移动性(测量报告、切换)

不监听寻呼和系统消息

不支持 RRC 连接重建和重配置(仅 CP 模式)


无线承载管理:

信令无线承载:引入 SRB1bis;不支持 SRB2

数据无线承载:CP 模式不支持 DRB, UP 模式最多支持 2 个 DRB


2)PDCP 功能

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

这里就需要进行区分:

CP 模式整个 PDCP 层的功能全部砍掉;

UP 模式 PDCP 层的功能与 LTE 基本一致;


3) RLC 功能

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


没有变化的功能有:1)TM(透传模式),2)AM(确认模式),3)分段和重组,4)级联,5)纠错,6)重复检测

取消的功能有:UM(非确认模式)

有变化的功能有:UP 模式 RLC 重建,CP 模式没有 RLC 重建


可以看出 RLC 这次相对于 LTE 变化不是那么大


4) MAC 功能640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


没有变化的功能有:复用解复用

有变化的功能有:

1) 信道映射, 上下行信道简化

2) HARQ: 单 HARQ 进程,只支持异步自适应重传

3) 调度: 调度周期和资源,MCS 和 TBS,覆盖等级和重复次数

4) DRX: 只支持长周期 DRX, 空闲态和连接态 eDRX,

5) 随机接入:NPRACH 资源,覆盖等级


三、协议栈接口


1)S1 协议栈接口


  • NB-IoT 与 LTE 可以共用同一个 S1 接口,连接到同一个 MME;也可以通过不同的 S1 接口,连接到不同的 MME


  • 在配置 S1 接口时,需要配置对应 MME 支持 NB-IoT 的能力


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


根据 23.401 协议描述,MME 支持以下类型:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


协议认可使用以下两种方式选择 MME:


  • MME 重定向(DECOR)功能:如果 MME 不支持 NB,或者支持的类型不对,MME 会把消息返还给 eNB 并提供重新路由。

  • eNB 配置 MME 能力:eNB 上配置哪些 MME 支持 NB,以及支持的类型。


2)X2 协议栈接口


  • NB-IoT 和 LTE 可以共用 X2 接口。

  • NB-IoT 不支持基于 X2 接口的切换,但是通过 X2 接口可以实现,支持基站间 RRC Connection Resume 流程;


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


3)支持 Non-IP data 传输


物联网场景之下,终端大多数都是 100 字节内小包为主,如果继续使用 IP 包的方式,IP 包头的开销会很大,例如:传输层是 UDP 就是 28 字节的话,28/100,光 IP 包头的开销就有 28%。


于是引入了 Non-IP 数据传输(Non-IP Data Delivery), 即在数据传输的时候剥离掉 IP 层的封装,可以减小数据包的 payload,非常适用于物联网使用。


协议定义两种传输机制,建议使用单独 APN 支持 Non-IP 传输。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

如果使用 Non-IP 传输,则需要在核心网新增网元 SCEF,MME 在终端接入的时候就可以从 HSS 获取过来的开户数据判断是否 Non-IP 的包,如果是 则走 SCEF,如果是普通的终端就接入 SGW。


好啦,本期就先介绍到这里,下一期会详细介绍 NB-IoT 物理层。感兴趣的童鞋们不要错过哦~


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。