LTE_Uu接口协议栈中ASN_1模块的设计与应用

合集下载

DSRC协议ASN.1模块的设计与实现

DSRC协议ASN.1模块的设计与实现
维普资讯
第2 8卷 第 6期
20 0 8年 6 月
文章编号 :0 1 9 8 (0 8 0 10 — 0 1 20 )6—19 0 4 0— 4
计 算机 应 用
Co u e p iai n mp t rAp lc to s
Vo . . 128 No 6
J n 0 8 u e2 0
DR S C协 议 A N 1模 块 的 设 计 与 实 现 S.
唐 波 , 王 能
( 华东师范大学 信息科学技术学院 , 上海 20 4 ) 0 2 1
(b i s 13 cr) tws @ 6 .o e n

要: 通过研 究专用短程通信( S C 协议栈 中的应 用层部 分 , 对其 中的 A N. P R编解码模块 , 计并 实 DR ) 针 S 1 E 设
现 了一种编解码框 架, 架包括 A N 1映射规 则、 框 S. 通用编解码流程 以及符合 小设备应 用的 内存 管理机制 。良好 的模 块划分使得此框架具有较好的通 用性 。测 试结 果表 明, 此实现框 架具有 良好 的性 能, 满足协议的实时性要 求。 关键词 : 专用短程通信 ; S . ;紧缩编码 规则 ;内存管理 A N1
式减少冗余 :
1 省略类型字段 : ) 由于通信 双方有 着互 相兼容 的 A N 1 S .
描述 , 接收方总是可以通过参考 A N 1描述 来获知编码域 中 S. 各个字段是哪种类型的 内容 ; 2 精简长度字 段 : 于定值 的长度 字段 , E ) 对 P R可 以省略 编码 ; 并且长度字段 的单位根据编码对象 的不 同可 以是位 、 字
s o t a h r me r a o d pef r n c , a tme t h e ・i e uie n ft e p o o o . h w h tt e fa wo k h sg o ro ma e nd i e st e r a tme r q r me to ae nt t yo teapi t nl e f ei t hrR neC m u i t n( S C rt o s c , bt c:B sdo es d fh pl a o yr dc e S ot ag o m n ai D R )po clt k r h u ci a oD a d c o o a

N[1].1编解码模块在LTE协议栈中的研究与应用

N[1].1编解码模块在LTE协议栈中的研究与应用
在根据数据结构实现编解码时,需要区分RRC消息
要进行特殊的处理。 3)对RRC消息的赋值不仅存在于解码过程中,LTE 协议栈高层也需要对RRC消息进行赋值,并将赋值的 RRC消息交由编解码模块进行编码。因此,将内存管理 作为一个独立的模块。并供LTE协议栈高层调用,可以 保证数据的一致性。 内存管理模块的设计基于“多次申请,一次释放”的 原则.使用一个数组作为ASN.1编解码模块的专用内存 区.并用一个偏移变量指向当前可用的内存,提供3个 函数。分别是初始化函数、内存分配函数以及内存释放 函数。解码过程及LTE协议栈高层对RRC消息赋值所 需要的内存均在专用内存区中按顺序申请,待完成一次 解码任务或编码任务后统一释放内存,开销仅为D(1)。
l Wide band network l贲带网络
文章编号:1002—8692(201 1)01---0070--04
口日匹亘耍雯亟圜
ASN.1编解码模块在LTE协议栈中的 研究与应用
李小文。冉靖
(重庆邮电大学计算机科学与技术学院,重庆400065) 【摘 要】ASN.1能实现异构系统之间的信息交换,用它描述的信息独立于任何应用环境,开发LTE协议栈软件必须设计并实现针
l—l l—I :[匝]÷_忙卫i:
;[巫二H_书]妇:;

: :


Gen.
:[亘[]叶—[卫::
闻1


Partnership Pmject)的TD—SCDMA(Time Division
ITF柠制而协议转结构图
Synchronous
CDMA)系统11l和LTE系统。I.TE系统采用
ASN.1来描述窄中接口的层3的RRC消息。笔者针对
的基本信息单元是指由ASN.1结构类型所构成的RRC

LTE网络架构和协议栈

LTE网络架构和协议栈

LTE网络架构和协议栈随着移动通信技术的不断发展,LTE(Long Term Evolution)成为4G移动通信的主流技术。

LTE网络架构和协议栈是构建LTE系统的核心组成部分,下面将对LTE网络架构和协议栈进行详细介绍。

一、LTE网络架构LTE网络架构由两部分组成:E-UTRAN(Evolved UMTS Terrestrial Radio Access Network)和EPC(Evolved Packet Core)。

1. E-UTRAN(Evolved UMTS Terrestrial Radio Access Network)E-UTRAN是LTE系统的无线接入网络,包括基站和与之相连的核心网。

基站被称为eNodeB,负责无线信号的传输和接收。

eNodeB通过X2接口相连,用于基站之间的信号传输和协同。

与核心网的连接通过S1接口实现,包括控制面和用户面的传输。

2. EPC(Evolved Packet Core)EPC是LTE系统的核心网络,负责用户数据的传输和控制信息的处理。

EPC由三个主要组成部分构成:MME(Mobility Management Entity)、SGW(Serving Gateway)和PGW(Packet Data Network Gateway)。

MME负责移动性管理和控制平面的处理;SGW负责用户数据的传输;PGW连接到外部数据网络,负责数据分组的处理和路由。

二、LTE协议栈LTE协议栈由各种协议组成,实现系统中不同层次之间的通信和控制。

LTE协议栈按照OSI(Open Systems Interconnection)参考模型分为七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

1. 物理层物理层负责数据的传输和调制解调。

LTE使用OFDM(Orthogonal Frequency Division Multiplexing)技术进行信号的调制和解调,以提高传输效率和抗干扰性能。

ASN.1在网络管理中的应用研究

ASN.1在网络管理中的应用研究
3 . Co mp u t e rDe p a r t me n t , Hu n a n V o c a t i o n a l I n s t i t u t e o f I n f o r ma t i o n T e c h n o l o g y Hu n a n Ch a n g s h a 41 0 2 0 0 )
【A b s t r a c t】 T h e A S N . 1 l a n g u a g e d e i f n e s s t r u c t u r e o f m a n a g e m e n t i n f o r m a t i o n , m a n a g e m e n t i n f o ma r t i o n b a s e , s i m p l e n e t w o r k m a n a g e m e n t p r o t o c o 1 .
【K e y w o r d s】 A S N . 1 : S M I ; M I B ; S N M P
1 简介
在 电 信 和 计 算 机 网 络 领 域 ,抽 象 语 法 标 记 语 言
( Ab s t r a c t S y n t a xNo t a t i o no n e , AS N. 1 是 一套 标准 ,是 描 述 数 据 的表 示 、 编码 、 传输 、 解 码 的灵 活 的记 法 。它 提供 了一 套正 式 、 无 歧 义 和精 确 的规则 形 式化 描 述独 立 于特 定计算 机 硬件 的对 象结 构 。 简单 网络 管理 协议 ( S i mp l e Ne t wo r k Ma n a g e me n t P r o t o c o l , S N MP )构 成 了 互 联 网 工 程 工 作 小 组 ( I n t e r n e t E n g i n e e r i n g T a s k F o r c e, I E T F )定义 的 I n t e r n e t 协议 簇 的

ASN.1

ASN.1

ASN.1在网络管理中的应用研究作者:刘雪飞吴伯桥凌涛来源:《信息安全与技术》2013年第06期【摘要】 ASN.1语言定义了网络管理信息结构、网络管理信息库、简单网络管理协议。

以这些网络管理相关RFC文档为例,对应用于网络管理中的常用ASN.1语法进行了总结性研究。

【关键词】抽象语法标记语言;网络管理信息结构;网络管理信息库;简单网络管理协议【中图分类号】 TP393 【文献标识码】 A1 简介在电信和计算机网络领域,抽象语法标记语言(Abstract Syntax Notation one, ASN.1)是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法。

它提供了一套正式、无歧义和精确的规则形式化描述独立于特定计算机硬件的对象结构。

简单网络管理协议(Simple Network Management Protocol, SNMP)构成了互联网工程工作小组(Internet Engineering Task Force ,IETF)定义的Internet协议簇的一部分。

该协议支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。

它由一组网络管理的标准组成,包含一个应用层协议SNMP、管理信息结构(Structure of Management Information, SMI)和网络管理信息库(Management Information Base , MIB)。

本文通过对以上网络管理相关的RFC文档的研究,总结了ASN.1的基本使用规则。

2 管理信息结构文档(RFC1155)RFC1155主要定义了TCP/IP网络中网络管理信息的结构和标识,其定义主要使用ASN.1通用的数据类型。

网络是由一个一个基本对象组成,这些基本对象可以概括为多种对象类型,要描述对象类型,通常要有对象类型的名字、语法和编码。

ASN.1中的OBJECT IDENTIFIER类型,它是一种为管理方便而分配的以”.”号分割的数字序列,该数字序列唯一定义了在网络中的对象类型。

ans1语法

ans1语法

ans1语法
ASN.1(Abstract Syntax Notation One)是一种接口定义语言,用于描述数据结构的语法。

它是一种标准化的语法,用于描述数据交换的格式和结构。

ASN.1定义了数据类型、数据结构、数据元素的规则和符号,使得不同系统和应用程序之间能够进行互操作。

ASN.1的基本语法规则包括以下几点:
1.数据类型:ASN.1定义了基本的数据类型,如 INTEGER、BOOLEAN、BIT
STRING、OCTET STRING、NULL、REAL等。

2.数据结构:ASN.1使用记录(RECORD)、序列(SEQUENCE)、集合
(SET)等数据结构来描述复杂的数据类型。

3.标签和长度:在ASN.1中,每个数据元素都有一个标签和一个长度。

标签
用于标识数据元素,长度用于表示数据的长度。

4.约束:ASN.1定义了各种约束,如值约束、大小约束、存在约束等,用于限
制数据元素的取值范围和表现形式。

5.模块化:ASN.1支持模块化定义,可以将一组相关的数据类型和数据结构定
义在一个模块中,以便重用和共享。

在实际应用中,可以使用各种工具和软件来生成代码、检查语法和生成文档等。

这些工具可以帮助开发人员更轻松地使用和管理ASN.1定义的数据结构和数据类型。

ASN1讲解


► DER(ASN.1
Distinguished Encoding Rules)
BER的子集,定义了唯一一种方法,使用ASN.1语法将数 BER的子集,定义了唯一一种方法,使用ASN.1语法将数 据对象转换成二进制字节码
BER
DER
ASN.1背景 ASN.1背景
► 特点
标准性 高效性 扩展性 比其他任何一种语言更为丰富的数据结构
► OctetString
任意的字节流,长度可以为任意值(包括0) 任意的字节流,长度可以为任意值(包括0) DEROctetString
byte[] data = ... ; DEROctetString derOctetString = new DEROctetString(data);
ASN.1编码介绍 ASN.1编码介绍
DERInteger version = new DERInteger(new BigInteger(2));
ASN.1编码介绍 ASN.1编码介绍
► OID编码示例 OID编码示例
pkcspkcs-1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) US(840) rsadsi(113549) pkcs(1) 1 } memberrsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } pkcsSHA1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 } pkcs提示 1.2.840.113549.1.1.5 提示 ... 06 09 2A 86 48 86 F7 0D 01 01 05 ...
ASN.1基本概念和语法 ASN.1基本概念和语法

lte,uu接口协议栈

lte,uu接口协议栈篇一:LTE-Uu口信令流程详解汇总LTE空口信令流程详解以及相关优化案例汇总 1、附着信令流程1.1 、Attach附着信令流程(统计时延:红色的为开始和结束信令)EPS MMEPS MMUL CCCHDL CCCHUL DCCHDL DCCHDL DCCHUL DCCHEPS MMEPS MMEPS MMEPS MMUL DCCHDL DCCHEPS MMEPS MMEPS MMEPS MMUL DCCHDL DCCHUL DCCHDL DCCHDL DCCHUL DCCHEPS MMEPS MMEPS SMEPS SMEPS MMEPS MMUL DCCHDL DCCHUL DCCHAttach request Unknown(0x0734) rrcConnectionRequest rrcConnectionSetup rrcConnectionSetupCompleterrcConnectionReconfiguration dlInformationTransfer rrcConnectionReconfigurationComplete Security protected NAS message Authentication request Authentication response Unknown(0x077B) ulInformationTransfer dlInformationTransfer Security protected NAS message Security mode command Security mode complete Unknown(0x0790) ulInformationTransfer ueCapabilityEnquiry ueCapabilityInformation securityModeCommand rrcConnectionReconfiguration rrcConnectionReconfigurationComplete Security protected NAS message Attach accept Activate default EPS bearer context request Activate default EPS bearer context accept Attach complete Unknown(0x072D) ulInformationTransfer rrcConnectionReconfiguration rrcConnectionReconfigurationCompleteattach.xlsAttach信令流程详解1.2、Detach去附着信令流程(统计时延:红色的为开始和结束信令)EPS MMEPS MMDL DCCHEPS MMEPS MMDL DCCHEPS SM Detach request Unknown(0x0734) ulInformationTransfer dlInformationTransfer Security protected NAS message Detach accept rrcConnectionRelease PDN connectivity requestdeatch.xlsDetach信令流程详解2、呼叫业务信令流程2.1、UE主叫信令流程(统计时延:红色的为开始和结束信令)EPS MMUL CCCHDL CCCHUL DCCHDL DCCHUL DCCHDL DCCHUL DCCHDL DCCHUL DCCH Extended service request rrcConnectionRequest rrcConnectionSetup rrcConnectionSetupComplete rrcConnectionReconfiguration rrcConnectionReconfigurationComplete securityModeCommand rrcConnectionReconfiguration rrcConnectionReconfigurationComplete rrcConnectionReconfiguration rrcConnectionReconfigurationCompleteUE 主叫信令.xlsUE主叫信令流程详解2.2、UE被叫信令流程(统计时延:红色的为开始和结束信令)DL PCCHEPS MMUL CCCHDL CCCHUL DCCHUL DCCHDL DCCHDL DCCHUL DCCHDL DCCHUL DCCH Paging Extended service request rrcConnectionRequest rrcConnectionSetup rrcConnectionSetupComplete rrcConnectionReconfiguration rrcConnectionReconfigurationComplete securityModeCommand rrcConnectionReconfiguration rrcConnectionReconfigurationComplete rrcConnectionReconfiguration rrcConnectionReconfigurationCompleteUE 被叫信令.xlsUE被叫信令流程详解3、重选与切换信令流程3.1、小区重选信令流程DL BCCH:DL SCHDL BCCH:DL SCHDL BCCH:DL SCHDL BCCH:DL SCHDL BCCH:DL SCHDL BCCH:DL SCHDL BCCH:DL SCH systemInformationBlockType1 systemInformation systemInformationBlockType1 systemInformationBlockType1 systemInformation systemInformationBlockType1 systemInformationBlockType1 systemInformationBlockType1重选.xls重选信令流程详解3.2、基站内同频切换信令流程(统计时延:红色的为开始和结束信令)UL DCCHDL DCCHUL DCCHDL DCCHUL DCCHDL BCCH:DL SCHDL BCCH:DL SCHDL BCCH:DL SCHDL BCCH:DL SCH measurementReport rrcConnectionReconfiguration rrcConnectionReconfigurationComplete rrcConnectionReconfiguration rrcConnectionReconfigurationComplete systemInformationBlockType1 systemInformationBlockType1 systemInformationBlockType1 systemInformationBlockType1 systemInformation基站内同频切换信令流程详解基站内同频切换信令.xls3.3、基站间同频切换信令流程(统计时延:红色的为开始和结束信令)UL DCCHDL DCCHUL DCCHDL BCCH:DL SCHDL DCCHUL DCCH measurementReport rrcConnectionReconfiguration rrcConnectionReconfigurationCompletesystemInformationBlockType1 rrcConnectionReconfiguration rrcConnectionReconfigurationComplete基站间同频切换信令流程详解基站间同频切换信令.xls 4、跟踪区域更新信令流程4.1、新小区所属跟踪区域不在终端跟踪区域列表中信令流程4.2、周期性跟踪区域更新信令流程篇二:TDD-LTE协议栈-下篇-空口协议TDD-LTE协议栈-下篇-空口协议协议栈-下篇下篇:1无线侧接口协议2.核心网侧接口协议一、无线侧接口协议1.1S1接口1.2 S1篇三:LTE培训材料-7 LTE接口协议分析一、LTE接口概述——LTE系统总体架构EPS通过IP连接是用户通过公共数据网(PDN)接入互联网,以及提供诸如VoIP等业务。

asn.1定义的简单类型

asn.1定义的简单类型
ASN.1是一种用于定义网络数据的国际标准,它主要用于在网络中编码数据以便于交换数据。

在ASN.1定义的简单类型中,包括布尔型,整型,实数型,枚举型,比特串型和字节串型等。

这些类型的数据是以明文的形式进行编码的。

其中,整数型可以表示浮点数,枚举型可以表示MERATED标识符,比特串型和字节串型可以表示非结构化数据。

在ASN.1的编码规则中,主要数据类型及其编码方式都是以特定的格式编码的,比如布尔型编码为0或1,整型编码为固定长度的二进制数字,实数型编码为分数形式,枚举型编码为一系列合法的枚举值,比特串型和字节串型编码为有序的序列。

总的来说,ASN.1中的简单类型定义简洁明了,编码规则明确易懂,使数据交换更加高效,同时也保障了数据的完整性和准确性。

asn1二进制数据解析获取类型

asn1二进制数据解析获取类型(原创版)目录1.ASN1 简介2.二进制数据解析3.获取类型方法4.应用示例正文【ASN1 简介】ASN1(Abstract Syntax Notation One)是一种用于表示和编码数据的抽象语法规范。

它是一种通用的数据表示方法,广泛应用于各种网络协议和数据交换格式中。

ASN1 使用二进制编码方式,可以描述多种数据类型,例如整数、浮点数、字符串、数组等。

【二进制数据解析】ASN1 编码的数据是二进制格式,通常需要经过解析才能转换为对应的数据类型。

解析过程主要包括以下步骤:1.确定数据类型:根据编码数据中的类型标签,确定数据类型。

类型标签是一个整数,表示数据类型的编码值。

例如,整数的类型标签为 0,浮点数的类型标签为 1,字符串类型标签为 2 等。

2.解析数据长度:根据编码数据中的长度指示符,确定数据长度。

长度指示符可以是一个整数,也可以是一个变长字段。

整数长度指示符表示数据长度的固定值,而变长字段则表示数据长度是可变的。

3.提取数据:根据确定的数据类型和数据长度,从编码数据中提取相应的数据。

【获取类型方法】在 ASN1 编码的数据中,可以通过类型标签获取数据类型。

类型标签是一个整数,表示数据类型的编码值。

例如,整数的类型标签为 0,浮点数的类型标签为 1,字符串类型标签为 2 等。

根据类型标签,可以确定数据的类型,从而进行相应的解析和处理。

【应用示例】假设有一个 ASN1 编码的数据:0x02010203010102030101020301,其中前两个字节表示类型标签,后两个字节表示数据长度。

根据类型标签0x02,可以确定该数据类型为浮点数。

根据数据长度 0x0101,可以确定数据长度为 3。

从原始数据中提取数据,得到浮点数:3.1415926535。

同样,对于编码数据:0x01020102010102030101020301,类型标签为0x01,表示数据类型为整数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1引言随着移动通信技术的蓬勃发展,以及移动通信与宽带无线接入技术的相互融合,3GPP开展了UTRA长期演进(Long Term Evolution,LTE)技术的研究。

与以往的TD-SCDMA等3G移动通信系统相比,LTE能提供对各种数据传输的支持和比以往所有移动通信系统更高的数据传输率,这必然会加大用户设备(UE)与eNodeB之间的信令交互。

在3GPP制定的标准中,引入了使用UPER编码规则的ASN.1语言来描述LTE-Uu接口协议栈信令消息[1]。

ASN.1的数据类型可分为简单类型和复合类型两大类。

简单类型是通过直接规定一组该类型值而定义的不可分解的基本数据类型,包括Null,Bool,Integer,Bit String,Octet String,Object Identifier等。

复合类型是引用一个或多个其他类型构成的任意复杂的数据类型,这里的其他类型可以是简单类型,也可以是复合类型。

复合类型有Sequence,Choice,Set,Sequence of,Set of等[2]。

LTE-Uu接口协议栈信令消息采用的均是紧凑而快的编码方式,从而能获得更高的通信效率。

需要指出的是,ASN.1中数据类型的编码,具体实现时必须严格按照X.691协议来完成。

否则即使是编解码过程中1bit的差错,也可能使整个LTE系统无法正常运行[3]。

文献[4-7]讨论了提出开发自动编译器和新ASN.1运行库等的解决方法,但这些都主要针对TD-SCDMA及其他协议标准,而且一方面LTE-Uu接口协议栈的大部分功能与TD-SCDMA等相比已经有了很大的变化,另一方面信令消息随着LTE协议版本的变化仍然在不断改变。

因此,笔者结合文献[4-7]各自ASN.1方案具有的优点,对LTE-Uu接口协议栈中ASN.1语言描述信令消息的编码和解码技术及在此基础上的一致性测试应用做了探索性的研究。

2LTE-Uu接口协议栈结构在3GPP协议中,LTE-Uu接口协议栈从功能和任务上来看,分为物理层(L1)、数据链路层(L2)和无线资源控制层(L3)。

数据链路层又分为媒介接入控制(Medium文章编号:1002-8692(2010)10-0071-03LTE-Uu接口协议栈中ASN.1模块的设计与应用*李校林1,2,文小强2(1.重庆信科设计有限公司,重庆400065;2.重庆邮电大学,通信新技术应用研究所,重庆400065)【摘要】基于ASN.1及其UPER编码规则的理论,提出了LTE-Uu接口协议栈中ASN.1编解码模块的设计与应用方案。

设计过程首先包含完整编译码所需信息的数据结构,并通过调用独立的编解码函数库,从数据结构中提取相应的参数完成解析。

通过检验ASN.1编解码模块在协议一致性测试中的应用,该模块能够达到3GPP协议实际测试的要求。

【关键词】LTE-Uu接口协议栈;ASN.1编解码器;UPER【中图分类号】TN929.5【文献标识码】ADesign and Application of ASN.1Module in LTE-Uu Interface Protocol StackLI Xiao-lin1,2,WEN Xiao-qiang2(1.Chongqing Information Technology Designing Co.,Ltd.,Chongqing400065,China;2.Institute of the Applications of Advanced Telecommunications Technology,Chongqing University of Posts and Telecommunications,Chongqing400065,China)【Abstract】A practical project on the design of the ASN.1encoder and decoder in the LTE-Uu interface protocol stack is put forward and realized in this paper on the theory of the ASN.1and its UPER coding rule.The design contains the complete coding and decoding information data structure,and by calling a separate codec library,the corresponding parameters is extracted from data structure to complete the analysis.By examining the ASN.1encoding and decoding modules in protocol conformance testing application,it is demonstrated that the function of ASN.1encoder and decoder modules meet the3GPP protocol actual testing requirements.【Key words】LTE-Uu interface protocol stack;ASN.1encoder and decoder;unaligned packed encoding rules·实用设计·*国家科技重大专项(2009ZX03002-009)Access Control,MAC)层、无线链路控制(Radio Link Control,RLC)层和分组数据汇聚协议(Packet Date Convergence Protocol,PDCP)层[8]。

ASN.1编解码模块处于LTE RRC层中信息的最关键部分,是LTE-Uu接口协议栈信息块重组过程的核心之一[1]。

L3RRC层消息在发送端首先经过ASN.1编解码模块的编码,形成RRC的PDU模块,再分别经L2的PD-CP,RLC层和MAC层处理后,经L1物理层发送出去。

在接收端,则需要进行发送端的逆过程,经L1物理层接收后,经过L2的MAC,RLC和PDCP层的处理,再送往L3 RRC层的ASN.1编解码模块进行信令消息的解码,完成信令消息的解析。

其中,MAC层的主要任务是完成逻辑信道与传输信道之间的映射,因此发送端的MAC层实体需要通过对不同映射关系下的数据添加不同的MAC头来区分不同类型的数据。

接收端则需要根据不同的传输信道指示及数据格式去掉相应的MAC头;RLC层的功能主要完成数据的分段、重组及确保数据的正确有序传输;PDCP层主要完成对信令消息的加密和完整性保护;最后是RRC层进行ASN.1消息编解码的模块化处理及解析。

3ASN.1UPER编解码模块设计与实现目前,国内外通信软件协议栈制造商对LTE中各个接口协议栈都十分重视。

OSS Nokalva和Trillium公司推出的软件除了信令消息分析功能外,有的还具备部分协议模拟功能。

虽然ASN.1编解码部分在这些软件中的形式各有千秋,但其达到的效果是完全一致的。

ASN.1编解码处理流程如图1所示。

在对LTE-Uu接口协议栈的ASN.1编解码模块的设计中提出了软件设计中模块定义和代码实现的方案,并给出了实际开发中遇到的某些困难的解决方法。

要实现ASN.1编解码模块,需要:1)将该协议栈中用ASN.1记法描述的消息(rrc.asn)编译成C语言描述的源文件(rrc.h);2)生成ASN.1记法描述的消息(rrc.asn)中对应C数据结构的编解码函数(rrc.c)。

图1中的编译是指将ASN.1记法描述的rrc.asn文件编译成rrc.h文件以及与rrc.h对应的rrc.c文件。

其中rrc.h 文件用于声明编译之后生成的C数据类型和编解码函数,rrc.c文件用于实现编解码函数。

这些编解码函数再调用图1中的ASN.1编解码基本函数库(Basic_asn.h,Basic_asn.c)实现编解码功能。

最后得到用于LTE-Uu接口协议栈的可执行文件,从而完成从ASN.1描述到二进制比特流的转换,使得其信息能在LTE系统网络中传输。

图1的编译过程比较繁杂,因为如果将TD-SCDMA空中接口的ASN.1消息手工翻译成C文件则会多达数万行,任务庞大。

不过LTE RRC的ASN.1消息相对TD-SCDMA 来说,简化了很多。

笔者通过剔除不必要的ASN.1类型并设计特定的数据结构,将LTE RRC的这些消息经过ASN.1映射成C文件后,再加上其他一些优化措施,将整个LTE RRC消息的C文件(rrc.c,rrc.h)压缩至1~2Mbyte。

LTE RRC消息编译成C代码文件后,还需进行编解码函数库的编写。

ASN.1模块的比较核心部分就是编解码函数库,它包括ASN.1的各个数据类型所对应的编解码函数,具体实现必须严格根据X.691协议中的UPER编码规则来编写。

之后,再进行一系列的严格测试才能确定其正确性。

最后完整的ASN.1编解码函数库的源代码约为6000行。

4ASN.1编解码模块的测试与应用由于LTE RRC的ASN.1消息中包含很多协议数据单元(PDU),不同的PDU下面又包含许多复杂结构。

因此使用结构测试的方法对ASN.1编解码模块进行测试,同时通过观察该模块在一致性测试中的应用来进一步验证ASN.1编解码模块的可靠性。

4.1ASN.1模块的结构测试结构测试又称为“白盒测试”或单元测试,它是基于软件内部结构进行测试的,其目的是通过执行每条语句、遍历程序的各个分支来检查整个程序代码的正确性。

在测试的实现中采取了有步骤分层次的方法:先对简单类型编解码函数进行测试,然后对复杂类型编解码函数进行测试。

为确保测试的准确性和可靠性,在复杂类型测试中采用了两种方法:一种是采用手工对接口信令消息中包含RRC-Connection-Setup消息的DL-CCCH-Message进行赋值,先调用ASN.1编解码模块进行编码,对于编码后的结果再调用ASN.l编解码模块进行解码。

选取DL-CCCH-Mes-sage 消息是因为这种类型消息包含了几乎所有的ASN.1的数据类型,并且包含的复合结构比较多,具有很强的通用性。

经多次符合X.691标准的随机赋值测试后发现,解码后的结果与开始的赋值是完全一致的。

另外一种方式是结合OSS Nokalva 公司的OSS ASN.1GUI 软件对DL-CCCH-Message 消息赋值,通过该软件生成符合UPER 编码规则的比特流。

相关文档
最新文档