CN112261699B - 一种基于oai平台的nr协议栈的系统及实现方法 - Google Patents
一种基于oai平台的nr协议栈的系统及实现方法 Download PDFInfo
- Publication number
- CN112261699B CN112261699B CN202011116643.4A CN202011116643A CN112261699B CN 112261699 B CN112261699 B CN 112261699B CN 202011116643 A CN202011116643 A CN 202011116643A CN 112261699 B CN112261699 B CN 112261699B
- Authority
- CN
- China
- Prior art keywords
- pdu
- pdcp
- layer
- data
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000004891 communication Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims abstract description 14
- 230000006978 adaptation Effects 0.000 claims abstract description 11
- 230000011664 signaling Effects 0.000 claims abstract description 8
- 238000007726 management method Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 101150069304 ASN1 gene Proteins 0.000 claims description 5
- 230000006837 decompression Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 108091005487 SCARB1 Proteins 0.000 claims description 3
- 102100037118 Scavenger receptor class B member 1 Human genes 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000012384 transportation and delivery Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000000926 separation method Methods 0.000 abstract description 3
- 238000001994 activation Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 101001055444 Homo sapiens Mediator of RNA polymerase II transcription subunit 20 Proteins 0.000 description 3
- 102100026165 Mediator of RNA polymerase II transcription subunit 20 Human genes 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 102100022734 Acyl carrier protein, mitochondrial Human genes 0.000 description 1
- 101000678845 Homo sapiens Acyl carrier protein, mitochondrial Proteins 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001585 disappearance potential spectroscopy Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/02—Data link layer protocols
Abstract
本发明公开了一种基于OAI平台的NR协议栈的系统及实现方法,采用多核绑定线程的方式将CU和DU绑定到不同的内核中运行,公共管理平台实现第三方的协议栈和公共平台库的适配;PDCP模块实现CU和DU组件之间的通信和不同的协议功能和处理流程;UE接入控制管理模块用于RRC的增加、修改和释放连接以及DU小区切换和CU的切换;协议转发模块根据对应的用户配置参数进行组装SRB和DRB承载协议参数,根据参数进行编解码,实现CU和DU的控制面和用户面的信令和数据的转发。本发明基于OAI平台上增加公共接口库增强可扩展项、可移植性,更好的适配第三方协议栈,采用组件式架构实现CU和DU的分离,更好的满足其组件之间通信的时延需求,提高数据转发速率。
Description
技术领域
本发明涉及无线通信技术领域,具体涉及一种基于OAI平台的NR协议栈的系统及实现方法。
背景技术
长期演进(Long Term Evolution,LTE)在2008年发布了第一个标准技术规范LTERelease 8,Release 8作为3G到4G技术之间的一个过渡标准,又被称为3.9G,之后第三代合作伙伴计划(The 3rd Generation Partnership Project,3GPP)陆续发布了Release 9和Release 10等一系列规范,其中Release10是3GPP制定的第一个真正的4G技术。2017年Release 15正式发布,标志着5G标准化的第一阶段完成。Release 16将在2019年底发布,预示3GPP 5G工作的第二阶段即将完成,预计将完全符合IMT-2020要求,整个行业正在向着5G的商业化迈进。
随着系统协议与应用的复杂性不断提升,开发验证系统协议性能的测试平台迫在眉睫。现有的3大类测试平台,分别是常规仿真仪器、小型测试平台以及协议验证机。其中,常规仿真仪器是建立在完全可控的环境当中,即系统或网络模型均为提前设定,因此存在着不真实、过于理想的问题;小型测试平台提供的是半可控的环境,所有的系统元素都相对真实,但整体系统体系并不完善,存在各种瑕疵;协议验证机虽然简单、准确,但是其高昂的使用费用,限制了其实用范围和研究领域,鉴于以上3种仿真平台的弊端,OAI(Open AirInterface)仿真平台以其开源、实时性和能够完全模拟无线接入协议等特点,得到了广泛的应用。
OAI是欧洲EURECOM组织针对无线通信和信号处理而研究开发的开源平台,基于C语言,采用计算机模拟通信节点,节点间通过局域网上的IP地址进行通信互联,在抽象PHY和MAC接口进行交换数据信息,提供一个可控的通信网络系统,研究者可以在OAI模拟平台下,做大量的仿真实验和实时操作,并且当计算机CPU和GPU处理能力足够强劲、局域网传输速度足够迅速时,OAI在复杂度和性能等方面都有明显的改善。
但是,目前OAI在架构方面的可移植性、协议栈分层等方面存在着不足,CU(集中单元)协议栈采用的是Linux实时线程调度策略,只是在单线程和单核下运行,不适用于5G系统的高并发、高带宽的传输方式,而且PD-CP内存只采用单一指针申请内存的方式,不适用于5GNR的CU和DU的协议栈分离的内存迁移的场景,对于第三方的公共协议栈和平台库也没有统一的进行管理,可扩展性和可移植性不够,存在着效率问题。
有鉴于此,需要提供一种基于OAI平台的NR协议栈的系统及实现方法,在基于OAI平台上增加公共接口库的方式来提供架构的可扩展项、可移植性,更好的适配第三方协议栈,PDCP层采用组件式架构来满足CU和DU分离的时候,其组件之间的通信时延,DPDK的内存零拷贝的方式封装和传输信令和数据,进一步的提高数据转发速率。
发明内容
本发明所要解决的技术问题是现有的OAI平台中,目前CU只在一个内核中进行协议处理和内存分配,没有对线程资源进行合理的分配,而且对于第三方的公共库,比如TCP的socket、ASN1编码库没有统一和合理的管理部署,开放性、可扩展性和可移植性不够强,并且PD-CP层也没有实现控制面和用户面分离,不支持3GPP后续的协议演进后的软件功能部署和集成的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种基于OAI平台的NR协议栈的系统,包括:
公共管理平台,实现第三方的协议栈和公共平台库的适配;
PDCP模块,实现CU和DU组件之间的通信,不同的协议功能和处理流程;
UE接入管理模块,用于RRC的增加、修改和释放连接,以及DU小区切换和CU的切换;
协议转发模块,根据对应的用户配置参数进行组装SRB和DRB承载协议参数,根据参数进行编解码,实现CU和DU的控制面和用户面的信令和数据的转发。
上述方案中,公共平台库包括ASN.1编码库和DPDK库,所述ASN.1编码库的数据集成在所述公共平台库中。
上述方案中,PDCP模块包括数据处理模块、加密和解密功能模块、头压缩管理模块、完整性保护模块,所述数据处理模块用于DRB、SRB承载的上下行数据的处理,分为上行处理模块和下行处理模块。
上述方案中,还包括:
配置管理层,用户通过配置管理层下发CU和CU-UP的相关配置,实现资源的动态可配置性;
公共机制管理层,用来适配操作系统、线程资源管理和调度、内存分配、ASN1编码库,TCP和UDP的Socket连接适配、以及DPDK的适配。
一种基于OAI平台的NR协议栈的实现方法,包括:
利用多核绑定线程,将CU和DU绑定到不同的内核中运行;
所述CU的PDCP层接收上层RRC层的SDU,判断所述SDU是否进行了配置,若是,则启动所述PDCP层的丢弃定时器,如不是,则对所述PDCP层的SDU数据设置安全性保护;
所述PDCP层将所述SDU封装在PDU中发送到所述DU的RLC层;并在发送时判断所述PDCP层的PDCP实体与所述RLC层RLC实体的关联状态;
PDCP层接收RLC层的数据PDU,根据PDU计算出PDU的RCVD_COUNT值;
所述PDCP实体对所述PDU的RCVD_COUNT值数据进行解密;
所述PDCP实体对解密后的RCVD_COUNT值进行完整性校验;若验证失败,则向上层报告完整性验证失败,丢弃所述PDU;
若验证通过,PDCP实体判断是否收到重复数据包,若是,丢弃该数据包,若不是,将接收到的所述PDU存放到接收缓存内。
上述方案中,所述PDCP实体与一个或两个RLC实体进行关联,当所述PDCP实体关联一个RLC实体,将PDU递交到下一层。
上述方案中,当所述PDCP实体关联两个RLC实体,则判断所述PDU的配置和激活状态,所述PDU的配置和激活状态,包括:
所述PDU未配置未激活,判断所述PDCP层的PDU的数据传输量,若所述PDU的数据传输量小于ul数据分割阈值,将所述PDU发送到主RLC实体,否则,将所述PDU发送到主或辅RLC主体;
所述PDU配置并激活,复制所述PDU并将所述PDU发送到对应的RLC实体;
所述PDU配置未激活,将所述PDU发送到主RLC主体。
上述方案中,所述PDCP层的SDU的安全性保护包括:头压缩、完整性保护和加密处理;
上述方案中,对解密后的RCVD_COUNT值进行完整性校验的方法,包括:
判断RCVD_COUNT的值是否大于RX_NEXT,若大于,则更新RX_NEXT为RCVD_COUNT+1;
判断是否配置了无序投递,若是,则将PDU递交到上层;
判断RCVD_COUNT的值是否等于RX_NEXT,若等于,则执行头解压缩,按COUNT值的升序排列,递交到上一层,并更新RX_DELIV为第一个还未递交到上层的PDU的COUNT值;
判断是否重排序定时器,正在运行RX_DELIV大于等于RX_REORD,若是,则停止并重置重排序定时器;
判断是否重排序定时器,未运行RX_DELIV小于RX_NEXT,则将RX_REORD更新为RX_NEXT,再开始运行重排序定时器。
上述方案中,建立UE与gNB之间的RRC连接步骤,包括:
UE的NAS请求建立RRC连接,UE开始RRC连接建立过程;
UE中的NAS先建立一个RRC连接,发出一个初始状态的NAS消息;
gNB分配UE上下文,建立SRB1,并通过发送INITIAL UE MES SAGE消息通知AMF建立新连接;
gNB接收到UE状态转换中UE空闲状态下RRC发送的RRC Connection Request消息,激活UE连接建立控制过程;
RRC Connection Request消息通过SRB0/CCCH信道发送,在UE连接建立控制过程执行期间执行RRC连接建立活动。
与现有技术相比,本发明提供的方案,将CU和DU绑定到不同的内核中运行,采用公共管理组件来进行ASN编码库、TCP、UDP的套接字的管理组件、DPDK的管理组件的部署,以及线程资源的管理、调度和核分配,实现软件架构的分层模块化,能够更好的集成第三方协议库,PDCP层的内存管理采用组件化设计,满足CU和DU组件之间的通信的延迟需求,并且实现了PDCP的功能模块划分,能根据网络业务需求进行功能组合,实现CU和DU的不同的协议功能和处理流程。
附图说明
图1为本发明提供中基于OAI平台的NR协议栈的系统的架构图;
图2为本发明中PDCP的内存设计结构图;
图3为本发明中基于OAI平台的NR协议栈的实现方法的流程示意图;
图4为本发明中PDU的配置和激活状态的流程图;
图5为本发明中解密后的RCVD_COUNT值进行完整性校验的流程图;
图6为本发明中UE连接建立控制过程用于建立UE与gNB之间的RRC连接的流程图;
图7为本发明中完整的AS激活过程的流程图。
具体实施方式
本发明提供了一种基于OAI平台的NR协议栈的系统及实现方法,采用多核绑定线程的方式,将CU和DU绑定到不同的内核中运行,能够更加的灵活的分配线程资源,并且进行资源调度,核分配可以根据用户配置来制定。
信令的转发采用ASN.1编码格式进行协议编码和解码,ASN.1编码组件采用ASN.1源码库编译之后的可执行代码作,集成在公共组件模块中,能够更好的实现软件扩展。
PDCP层处理上,内存管理采用组件式架构来实现CU和DU的分离,能过更好的满足其组件之间的通信的时延需求,对PDCP层进行了功能模块和功能组件的划分,统一了同一功能模块对应的功能组件接口,避免了不同协议接口差异性;实现不同制式的协议功能和处理流程;并设计了新的高效的层内通信机制,在满足处理时延的前提下,也增加了灵活性。最后,对PDCP层实体管理模块、头/解压缩模块、完整性保护/验证模块以及数据处理流程均采用组件式设计方案进行具体实现。
下面结合说明书附图和具体实施方式对本发明做出详细说明。
如图1所示,一种基于OAI平台的NR协议栈的系统,包括:
公共管理平台,实现第三方的协议栈和公共平台库的适配;
PDCP模块,实现CU和DU组件之间的通信,不同的协议功能和处理流程;
UE接入管理模块,用于RRC的增加、修改和释放连接,以及DU小区切换和CU的切换;
协议转发模块,根据对应的用户配置参数进行组装SRB和DRB承载协议参数,根据参数进行编解码,实现CU和DU的控制面和用户面的信令和数据的转发。
增加配置管理层,相关用户可以通过配置管理层来下发CU和CU-UP的相关配置,实现资源的动态可配置性。
增加公共机制管理层,用来适配操作系统、线程资源管理和调度、内存分配、ASN1编码库,TCP和UDP的Socket连接适配、以及DPDK的适配,其中DPDK适配是方案中新添加的功能,实现报文的零拷贝,实现CU的虚拟化和云化功能。
公共平台库包括ASN.1编码库和DPDK库,ASN.1编码库的数据集成在所述公共平台库中。在原有的OAI系统中,ASN1.库文件只是在单独的模块中,没有进行统一的管理,并且相关的库文件也只是在编译后生成,在此方案中,ASN.1所有库文件将集成在公共管理库中,提供了更好的可扩展性和可移植性,能够适配任何形式的协议编码格式,由于之前的OAI系统采用内核中断机制和通知收发数据包,不能满足当前CU-UP的用户面虚拟化对数据报文的CPU的性能要求,因此本发明引入DPDK库,实现CU-UP和CU-CP的分离的信令数据的高带宽,大容量的传输,由于DPDK处理数据不经过内核,并且实现报文的零拷贝,极大的提高了数据传输性能,提高了用户面的数据转发效率,内存管理模块中针对PDCP层采用组件化设计思路,实现CU-CP和CU-UP的分离的时候的内存管理。
PDCP模块包括数据处理模块、加密和解密功能模块、头压缩管理模块、完整性保护模块,数据处理模块用于DRB、SRB承载的上下行数据的处理,分为上行处理模块和下行处理模块。
协议转发模块分为F1接口模块、NG接口模块、E1接口模块、XN接口模块。协议转发模块调用公共平台库的ASN.1编码模块,根据对应的用户配置参数进行组装SRB和DRB承载协议参数,根据参数进行编解码,实现CU和DU的控制面和用户面的信令和数据的转发,此外还能够调用DPDK的接口,适配在加速卡模式下的报文的协议转发,实现CU-UP的虚拟化加速和云化部署。
如图2所示,PDCP的内存划分为:
状态信息存储区,存储的是PDCP层运行过程中的上下文关键信息;如:RRC层的配置信息、安全性参数、CU和DU的配置参数、用户类型队列等配置参数信息。这些信息会在协议栈初始化阶段创建或者随着用户的接入而产生,这些状态都具有持续性,且作用时间较长,不会被轻易改变。
堆内存区,存储的是数据处理过程中的动态分配和释放的变量;如:缓存排序时产生的结点,业务处理流程中产生的临时变量等。这些变量会随着程序处理的需要进行申请和释放,作用时间较短。
承载实体存储区,存储的是PDCP实体和相应的承载数据,也可以将所有的业务数据都放在这一块区域,制定相应的内存索引。通过内存索引迅速找到该存储区在内存中的位置,并找到业务数据进行相应的处理操作。
本发明中的业务数据会全部存储在为PDCP层划分的共享内存区,因此PDCP层内的模块间的通信采用内存索引的交互,能够迅速找到共享内存区中的业务数据,并对其进行相应的处理,这种通信机制,在模块间只需要传递数据量很少的内存索引信息,省去了实体交互的过程,大大减少了通信时延,便于内存管理,满足了协议栈需求。
本发明中,CU和DU采用socket通信方式,通过unix域socket封装成un_sock模块,以文件描述符的方式由linux内核管理和调度。
如图3所示,在上、下行处理模块中,基于OAI平台的NR协议栈的实现方法,包括:
在下行处理模块中,
步骤S10,利用多核绑定线程,将CU和DU绑定到不同的内核中运行;
步骤S20,CU的PDCP层接收上层RRC层的SDU,判断SDU是否进行了配置,若是,则启动PDCP层的丢弃定时器,如不是,则对SDU数据设置安全性保护;
步骤S30,PDCP层将SDU封装在PDU中发送到DU的RLC层,并在发送时判断PDCP层的PDCP实体与RLC层RLC实体的关联状态;
在上行处理模块中,
步骤S40,PDCP层接收RLC层的数据PDU,根据PDU计算出PDU的RCVD_COUNT值;
步骤S50,PDCP实体对PDU的RCVD_COUNT值数据进行解密;
步骤S60,PDCP实体对解密后的RCVD_COUNT值进行完整性校验;若验证失败,则向上层报告完整性验证失败,丢弃PDU;
步骤S70,若验证通过,PDCP实体判断是否收到重复数据包,若是,丢弃该数据包,若不是,将接收到的PDU存放到接收缓存内。
PDCP层的SDU数据设置安全性保护包括:头压缩、完整性保护和加密处理;
如图4所示,在步骤S20中,PDCP层从上层(RRC层或SDAP层)接收到SDU后,如果进行了配置,会为该SDU开启相关的丢弃定时器;然后对数据进行头压缩、完整性保护、加密处理和加头处理,
均采用TX_NEXT(代表要发送的下一个PDCP层的SDU的COUNT值),相应的SN(PDCP序列号长度)为TX_NEXT%2(pdcp-SN-Size),用以维护发送的数据序列号,并更新TX_NEXT值加1;最后将产生的PDCP数据PDU传送给下层;但发送时需要判断该PDCP发送实体关联一个还是两个RLC实体,判断方法包括:
PDCP实体关联一个RLC实体,PDU递交到下一层相关RLC实体;
PDCP实体关联两个RLC实体,则判断PDU的配置和激活状态;
判断PDU的配置和激活状态的方法,包括:
PDU未配置未激活,则判断PDCP层的PDU的数据传输量,若PDU的数据传输量小于ul数据分割阈值(ul-DataSplitThreshold),则将PDU发送到主RLC实体,否则,将PDU发送到主或辅RLC主体;
PDU配置并激活,复制PDU并将PDU发送到对应的RLC实体;
PDU配置未激活,将PDU发送到主RLC主体。
如果发送PDCP实体与DAPS承载相关联,并且没有请求上行链路数据交换,则将PDCP层的PDU提交给与源小区相关联的RLC实体,否则,将PDCP Data PDU提交给目标小区相关联的RLC实体。
如图5所示,PDCP层接收下层RLC层的数据PDU,根据PDU计算出PDU的RCVD_COUNT值,如果RCVD_COUNT小于RX_DELIV表示之前已经收到了该PDU,丢弃此PDCP数据PDU
反之,使用RCVD_COUNT值执行解密和完整性验证,如果完整性验证失败,则向上层报告指示完整性验证失败,丢弃此PDCP数据PDU。否则,使用RCVD_COUNT执行解密和完整性验证通过;将接收PDCP实体需将接收到的PDU存放在接收缓存里。
对解密后的RCVD_COUNT值进行完整性校验的方法,包括:
判断RCVD_COUNT的值是否大于RX_NEXT,若大于,则更新RX_NEXT为RCVD_COUNT+1;
判断是否配置了无序投递,若是,则将PDU递交到上层;
判断RCVD_COUNT的值是否等于RX_NEXT,若等于,则执行头解压缩,按COUNT值的升序排列,递交到上一层,并更新RX_DELIV为第一个还未递交到上层的PDU的COUNT值;
判断是否重排序定时器,正在运行RX_DELIV大于等于RX_REORD,若是,则停止并重置重排序定时器;
判断是否重排序定时器,未运行RX_DELIV小于RX_NEXT,则将RX_REORD更新为RX_NEXT,再开始运行重排序定时器。
其中,RX_DELIV指示第一个等待递交但还未递交到上层的PDU的COUNT值,COUNT值共32bit,其中低SN bit代表SN号,高(32-SN)bit代表HFN,HFN(状态变量)指COUNT值的HFN部分,SN(状态变量)指COUNT值的SN部分,
RCVD_COUNT指接收到的PD的COUNT值,由[RCVD_HFN,RCVD_SN]组成。
其中,RCVD_SN指接收到的PDU的SN号,包含在PDU头部。
RCVD_HFN指接收到的PDU的HFN号。
如图6所示,UE连接建立控制过程用于建立UE与gNB之间的RRC连接,具体步骤为:
步骤S100,UE的NAS请求建立RRC连接,UE开始RRC连接建立过程,(为了建立UE和AMF之间的NAS信令连接);
步骤S110,UE中的NAS先建立一个RRC连接,发出一个初始状态的NAS消息;
步骤S120,gNB分配UE上下文,建立SRB1,并通过发送INITIAL UE MESSAGE消息通知AMF建立新连接;
步骤S130,gNB接收到UE状态转换中UE空闲状态下RRC发送的RRCConnectionRequest消息,激活UE连接建立控制过程;
步骤S140,RRCConnectionRequest消息通过SRB0/CCCH信道发送,在UE连接建立控制过程执行期间执行RRC连接建立活动。
当RRC连接建立(RRC Connection Setup)之后,UE活动执行以下内部过程:
1、RRM UE准入,
该过程用于允许接入RRM中的UE。RRM会分配UE所需的必要资源或拒绝UE准入,当从UE接收到RRConnection Setup Complete消息时,RRC将指示RRM提交这些资源分配。
2、在低层创建UE实体,
此过程用于在低层(PHY,MAC,RLC和PDCP层)创建UE实体。
3、ASN编码/解码,该过程用于解码来自UE的输入ASN编码的消息,并对要发送给UE的消息进行编码,发送给UE的信息作为RRC Container消息封装在F1接口消息中,通过调用协议转发模块进行编解码操作。
4、初始化UE消息,RRC通过发送INITIAL UE MESSAGE消息向AMF通知新连接。
当RRC完成建立之后,进行UE初始化上下文的过程,在此过程中,CU通知DU更新UE上下文,DU给CU回复更新UE上下文的结果给CU,然后执行初始安全激活,将UE能力信息传送给AMF,建立SRB2并建立AMF请求的E-RABS。
当gNB接收到来自AMF的INITIAL CONTEXT SETUP REQUEST消息时,UE连接建立控制过程被激活。在初始UE上下文控制过程期间,执行如下UE行为:NGAP初始UE上下文设置,初始安全激活,UE传输能力,RRC连接重配置,在执行初始UE上下文设置控制过程后,UE的FSM切换到UE-CONNECTED状态,并且UE和NG-RAN准备好进行数据交换。
在初始化上下文环境建立过程中,AMF通知gNB,在AS密钥获得过程中直接由KAMF得到KgNB,以及UE支持的完整性保护和加密算法。因此,在接收到KgNB和来自AMF的算法后,gNB可以开始和UE一起激活AS安全。对于AS安全的初始激活,在RRC连接建立过程完成后,CU将封装Security Mode Command消息作为RRC Container打包在UE Context Setup Request消息发送给DU,表示对UE执行了完整性保护,完整的AS激活过程如图7所示。
AS安全激活之后,进行RRC重配置操作,RRC连接重配的目的是修改RRC连接,如建立、修改、释放RB,设置、修改、释放测量以及修改连接配置参数。如果SRB2之前尚未建立,则应通过此活动建立SRB2,RRC重配置活动执行如下过程:RRM执行无线信号准入,低层重配,UE重配,重新配置完成之后,DU将RRC Reconfigureation Complete消息通过UL RRCMessage Transfer消息传输给CU,然后CU给AMF回复Initial UE Context Setup Reponse消息,整个接入流程完毕。
当UE需要释放RRC连接之后,开始UE连接释放控制。UE连接释放控制过程用于释放UE和gNB之间的连接,并释放为UE分配的所有资源。在此过程中,gNB释放与UE相关的所有RB并释放UE上下文和UE索引,UE主FSM切换到UE_IDLE状态。当gNB在F1AP连接已经建立或UE主FSM已经被调用的状态下,从DU接收CU的F1AP的UE上下文释放命令消息时,UE连接释放控制过程通常会被激活。CU通过向DU发送F1AP UE上下文释放请求消息来触发UE连接释放控制过程。
与现有技术相比,本发明提供的方案,将CU和DU绑定到不同的内核中运行,采用公共管理组件来进行ASN编码库、TCP、UDP的套接字的管理组件、DPDK的管理组件的部署,以及线程资源的管理、调度和核分配,实现软件架构的分层模块化,能够更好的集成第三方协议库,PDCP层的内存管理采用组件化设计,满足CU和DU组件之间的通信的延迟需求,并且实现了PDCP的功能模块划分,能根据网络业务需求进行功能组合,实现CU和DU的不同的协议功能和处理流程。
本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
Claims (10)
1.一种基于OAI平台的NR协议栈的系统,其特征在于,包括:
公共管理平台,实现第三方的协议栈和公共平台库的适配;
PDCP模块,实现CU和DU组件之间的通信,不同的协议功能和处理流程;
UE接入控制管理模块,用于RRC的增加、修改和释放连接,以及DU小区切换和CU的切换;
协议转发模块,根据对应的用户配置参数进行组装SRB和DRB承载协议参数,根据参数进行编解码,实现CU和DU的控制面和用户面的信令和数据的转发。
2.根据权利要求1所述的系统,其特征在于,所述公共平台库包括ASN.1编码库和DPDK库,所述ASN.1编码库的数据集成在所述公共平台库中。
3.根据权利要求1所述的系统,其特征在于,所述PDCP模块包括数据处理模块、加密和解密功能模块、头压缩管理模块、完整性保护模块,数据处理模块用于DRB、SRB承载的上下行数据的处理,分为上行处理模块和下行处理模块。
4.根据权利要求1所述的系统,其特征在于,还包括:
配置管理层,用户通过配置管理层下发CU和CU-UP的相关配置,实现资源的动态可配置性;
公共机制管理层,用来适配操作系统、线程资源管理和调度、内存分配、ASN1编码库,TCP和UDP的Socket连接适配、以及DPDK的适配。
5.一种基于OAI平台的NR协议栈的实现方法,其特征在于,包括:
利用多核绑定线程,将CU和DU绑定到不同的内核中运行;
所述CU的PDCP层接收上层RRC层的SDU,判断所述SDU是否进行了配置,若是,则启动所述PDCP层的丢弃定时器,若不是,则对所述PDCP层的SDU数据设置安全性保护;
所述PDCP层将所述SDU封装在PDU中发送到所述DU的RLC层;并在发送时判断所述PDCP层的PDCP实体与所述RLC层RLC实体的关联状态;
PDCP层接收RLC层的数据PDU,根据PDU计算出PDU的RCVD_COUNT值;
所述PDCP实体对所述PDU的RCVD_COUNT值数据进行解密;
所述PDCP实体对解密后的RCVD_COUNT值进行完整性校验;若验证失败,则向上层报告完整性验证失败,丢弃所述PDU;
若验证通过,PDCP实体判断是否收到重复数据包,若是,丢弃该数据包,若不是,将接收到的所述PDU存放到接收缓存内。
6.根据权利要求5所述的方法,其特征在于,所述PDCP实体与一个或两个RLC实体进行关联,当所述PDCP实体关联一个RLC实体,将PDU递交到下一层。
7.根据权利要求6所述的方法,其特征在于,当所述PDCP实体关联两个RLC实体,则判断所述PDU的配置和激活状态,所述PDU的配置和激活状态,包括:
所述PDU未配置未激活,判断所述PDCP的PDU的数据传输量,若所述PDU的数据传输量小于ul数据分割阈值,将所述PDU发送到主RLC实体,否则,将所述PDU发送到主或辅RLC主体;
所述PDU配置并激活,复制所述PDU并将所述PDU发送到对应的RLC实体;
所述PDU配置未激活,将所述PDU发送到主RLC主体。
8.根据权利要求5所述的方法,其特征在于,所述PDCP的SDU的安全性保护包括:实体管理、头解压缩、完整性保护、加密验证处理以及数据处理。
9.根据权利要求5所述的方法,其特征在于,对解密后的RCVD_COUNT值进行完整性校验的方法,包括:
判断RCVD_COUNT的值是否大于RX_NEXT,若大于,则更新RX_NEXT为RCVD_COUNT+1;
判断是否配置了无序投递,若是,则将PDU递交到上层;
判断RCVD_COUNT的值是否等于RX_NEXT,若等于,则执行头解压缩,按COUNT值的升序排列,递交到上一层,并更新RX_DELIV为第一个还未递交到上层的PDU的COUNT值;
判断是否重排序定时器,正在运行RX_DELIV大于等于RX_REORD,若是,则停止并重置重排序定时器;
判断是否重排序定时器,未运行RX_DELIV小于RX_NEXT,则将RX_REORD更新为RX_NEXT,再开始运行重排序定时器。
10.根据权利要求5所述的方法,其特征在于,建立UE与gNB之间的RRC连接步骤,包括:
UE的NAS请求建立RRC连接,UE开始RRC连接建立过程;
UE中的NAS先建立一个RRC连接,发出一个初始状态的NAS消息;
gNB分配UE上下文,建立SRB1,并通过发送INITIAL UE MES SAGE消息通知AMF建立新连接;
gNB接收到UE状态转换中UE空闲状态下RRC发送的RRC Connection Request消息,激活UE连接建立控制过程;
RRC Connection Request消息通过SRB0/CCCH信道发送,在UE连接建立控制过程执行期间执行RRC连接建立活动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011116643.4A CN112261699B (zh) | 2020-10-19 | 2020-10-19 | 一种基于oai平台的nr协议栈的系统及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011116643.4A CN112261699B (zh) | 2020-10-19 | 2020-10-19 | 一种基于oai平台的nr协议栈的系统及实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112261699A CN112261699A (zh) | 2021-01-22 |
CN112261699B true CN112261699B (zh) | 2023-04-07 |
Family
ID=74245446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011116643.4A Active CN112261699B (zh) | 2020-10-19 | 2020-10-19 | 一种基于oai平台的nr协议栈的系统及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112261699B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306139A (zh) * | 2011-08-23 | 2012-01-04 | 北京科技大学 | 用于ofdm无线通信系统的异构多核数字信号处理器 |
CN105827654A (zh) * | 2016-05-26 | 2016-08-03 | 西安电子科技大学 | 基于gmr-1 3g系统多核并行协议栈结构设计方法 |
CN108541032A (zh) * | 2017-09-22 | 2018-09-14 | 中兴通讯股份有限公司 | 无线基站分离架构下的通信方法、功能实体及无线基站 |
-
2020
- 2020-10-19 CN CN202011116643.4A patent/CN112261699B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306139A (zh) * | 2011-08-23 | 2012-01-04 | 北京科技大学 | 用于ofdm无线通信系统的异构多核数字信号处理器 |
CN105827654A (zh) * | 2016-05-26 | 2016-08-03 | 西安电子科技大学 | 基于gmr-1 3g系统多核并行协议栈结构设计方法 |
CN108541032A (zh) * | 2017-09-22 | 2018-09-14 | 中兴通讯股份有限公司 | 无线基站分离架构下的通信方法、功能实体及无线基站 |
Non-Patent Citations (5)
Title |
---|
5G Cloud-Native: Network Management & Automation;Osama Arouk等;《2020 IEEE/IFIP Network Operations and Management Symposium》;全文 * |
5G通信系统半实物仿真方法研究;江甲沫,冯浩,杜滢,刘慧;《信息通信技术与政策》;全文 * |
Experimental OAI-based Testbed for Evaluating the Impact of Different Functional Splits on C-RAN Performance;Abdullah I. Salama等;《Proceedings of NILES 2019:Novel Intelligent and Leading Emerging Sciences Conference》;全文 * |
OAI 技术发展及其在通信领域的应用;张凌 周荣生 杨新章;《广东通信技术》;全文 * |
openAirInterface:A Flexible Platform for 5G Research;Navid Nikaein等;《ACM SIGCOMM Computer Communication Review》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112261699A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7028898B2 (ja) | 複製送信の構成、複製送信方法および装置 | |
CN105530706B (zh) | 一种传输下行数据的方法和设备 | |
CN110691370B (zh) | 一种数据传输方法、装置及系统 | |
CN104272796A (zh) | 处理分组数据汇聚协议数据单元 | |
JP2019533395A (ja) | データを送受信するための方法およびシステム | |
CN111866796B (zh) | 用于获取无线承载配置的方法和装置 | |
US20230224982A1 (en) | Computing data transmission method and apparatus | |
Hirschman et al. | High-performance evolved packet core signaling and bearer processing on general-purpose processors | |
CN110536487A (zh) | 一种数据传输方法及装置 | |
CN114079541A (zh) | 序列号的指示、确定方法及装置 | |
EP2266364A1 (en) | Unique radio bearer (rb) procedure | |
CN112261699B (zh) | 一种基于oai平台的nr协议栈的系统及实现方法 | |
WO2011157190A2 (zh) | 数据接收处理方法及装置 | |
CN107211321A (zh) | 基于边缘云移动代理的毫米波无线电接入技术的机会接入 | |
CN115412986A (zh) | 基于终端指示的数据转发方法、系统、设备及存储介质 | |
WO2022120744A1 (zh) | 数据传输处理方法及相关装置 | |
Qian et al. | Efficient design and implementation of LTE UE link-layer protocol stack | |
CN112825496B (zh) | 时间信息传输的处理方法、装置及存储介质 | |
Lai et al. | Ultra-low latency nfv services using dpdk | |
CN109474956A (zh) | 上行数据传输方法、定时器配置方法及相关设备 | |
Yu et al. | Implementation of c-ran architecture with cu-cp and cu-up separation based on sdr/nfv | |
RU2742262C1 (ru) | Способ управления, узел и компьютерный носитель данных | |
Alam et al. | CPU resource usage analysis for downlink PDCP processing in CRAN | |
CN107018531B (zh) | 一种在长期演进lte基站中处理数据业务的方法及基站 | |
CN113906780A (zh) | 用于传输数据的方法及其设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231225 Address after: Building A, Runhui Science and Technology Park, No. 18 Shenzhou Road, Huangpu District, Guangzhou City, Guangdong Province, 510663 (self numbered 301, 3rd floor) Patentee after: Guangzhou New Generation Chip Technology Co.,Ltd. Address before: 510000 Room 201, 88 Haiyun Road, Science City, high tech Industrial Development Zone, Huangpu District, Guangzhou City, Guangdong Province Patentee before: GUANGDONG NEW GENERATION COMMUNICATION AND NETWORK INNOVATION INSTITUTE |
|
TR01 | Transfer of patent right |