由于NB-IoT协议栈的有些知识点都是围绕CP和UP来展开的,故在描述协议栈之前先来了解下NB特有的数据传输方案。
一、数据传输方案
CIoT EPS优化的目的,是为了提升NB-IoT对小数据以及SMS的支持。CIoT EPS优化的内容包括控制面CIoT优化、用户面CIoT优化、无PDN连接的EMM注册、S1-U接口的数据传输以及头压缩等。
<1> CP方案
无需建立空口数据无线承载(DRB)和S1-U连接,直接通过NAS消息传输数据,支持IP数据和非IP数据的传输。核心网新增网元SCEF(Service Capability Exposure Function),用于支撑非IP数据随信令的传输。3GPP已明确CP方案为必选方案。上行数据从基站发送到MME之后,有两条路径可选:一是发往SGW后再发往PGW;二是发往SCEF,再直接发给服务器。使用控制面的CIoT优化可以不再建立DRB,但是只适用于低频率且低速率的数据业务传输。
使用控制面传输数据,主要是通过RRC信令中的NAS专有消息dedicatedInfoNAS-r13来携带用户数据。如果是小于100字节的小包,终端只需要发RRC Conn Setup Complete 一条携带NAS消息的信令就可以完成数据上报,可以极大简化终端的设计,降低信令开销和降低功耗。
<2> UP方案
增加RRC-Suspended状态,前一次传输数据的用户面连接被挂起,下次传输可恢复挂起的用户面连接,无需新建用户面连接。(用户面的CIoT优化,主要目的是简化从RRC空闲态到连接态变化的过程)
在支持用户面CIoT EPS优化时,RRC连接释放消息中会携带ResumeIdentity-r13信元,用来给UE分配Resume ID;在UE执行RRC恢复时,需要携带该Resume ID给基站,重新激活保存的上下文;与CP方案相比,UE和基站需要保存用户面连接相关上下文。3GPP已明确UP方案为可选方案。
二、NB-IoT协议栈介绍(主要对比LTE来看)
1> RRC功能
从RRC的功能来看,相比于LTE
没有变化的功能有: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功能
此处需要进行区分:CP模式整个PDCP层的功能全部砍掉;UP模式PDCP层的功能与LTE基本一致。
3> RLC功能
没有变化的功能有:1)TM(透传模式),2)AM(确认模式),3)分段和重组,4)级联,5)纠错,6)重复检测。
取消的功能有:UM(非确认模式)
有变化的功能有:UP模式RLC重建,CP模式没有RLC重建。
可以看出RLC这次相对于LTE变化不是那么大。
4> MAC功能
没有变化的功能有:复用解复用
有变化的功能有: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的能力
根据23.401协议描述,MME支持以下类型:CP模式 & UP模式,CP模式 OR UP模式;不支持以下类型:CP模式 UP模式。协议认可使用以下两种方式选择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流程。
3> 支持Non-IP data传输
物联网场景之下,终端大多数都是100字节内小包为主,如果继续使用IP包的方式,IP包头的开销会很大,例如:传输层是UDP就是28字节的话,28/100,光IP包头的开销就有28%。于是引入了Non-IP数据传输(Non-IP Data Delivery),即在数据传输的时候剥离掉IP层的封装,可以减小数据包的payload,非常适用于物联网使用。
协议定义两种传输机制,建议使用单独APN支持Non-IP传输。如果使用Non-IP传输,则需要在核心网新增网元SCEF,MME在终端接入的时候就可以从HSS获取过来的开户数据判断是否Non-IP的包,如果是则走SCEF,如果是普通的终端就接入SGW。