UMTS网络中SGSN侧RANAP协议的分析与实现_第1页
UMTS网络中SGSN侧RANAP协议的分析与实现_第2页
UMTS网络中SGSN侧RANAP协议的分析与实现_第3页
UMTS网络中SGSN侧RANAP协议的分析与实现_第4页
UMTS网络中SGSN侧RANAP协议的分析与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、umts网络中sgsn狈ij ranap协议的分析 与实现吴世娥,曾志民,夏海轮(北京邮电大学信息与通信工程学院,北京100876)摘要:在umts网络中,sgsn通过iu-ps接口与rnc和连,通过gn接口与ggsn和连, 主要提供ps域的路由转发、移动性管理、会话管理、鉴权和加密等功能。ranap作为sgsn 侧的一层重要协议,它釆用asn.1编解码方式,以无连接方式和而向连接方式在lu接口上 实现传送信令信息的功能。木文首先介绍了 umts网络屮sgsn网元,然后对ranap协 议进行了分析,并且提出了 ranap的设计与实现方案,该方案使用oss asn.l tools进行 消息编解码

2、,最后通过测试结果证明了设计方案的可行性与正确性。关键词:umts; ranap; iu-ps; asn.l 编解码:oss asn.l tools 中图分类号:tn929.533the aanalysis and implimentation of ranap in sgsn inumts networkwu shie, zeng zhimin, xia hailun(school of information and communication engineering,beijing university of posts andtelecommunications, beijing 10

3、0876)abstract: in umts network, sgsn connects with rnc by iu-ps interface, and it connects withggsn by gn interface sgsn is mainly responsible for the ps domain routing forwarding, mobility management, session management, authentication and encryption functions. ranap as an important protocol in sgs

4、n, it uses the asn.l encoding and decoding way to send signaling messages in iu interface in connectionless and connection-oriented way. this paper introduces sgsn in umts network at first, and then analyses ranap protocol and proposes a design and implementation scheme of ranap. the scheme uses oss

5、 asn.l tools to encode and decode ranap message at last, the correctness and feasibility of the scheme are proved by the test results.keywords: umts; ranap; iu-ps; asn.l encoding and decodong; oss asn.l tools0引言随着无线通信技术与ip技术的紧密结合,移动数据和多媒体通信的应用越来越广泛, 已经超过传统的话音成为移动通信承载的主要业务,3gpp移动通信网络从gsm电路交换 网络发展到gpr

6、s(general packet radio service)分组交换网络,再到能提供高速率实时数据业 务的umts(universal mobile telecommunication system)网络,目前更是发展到支持高达百兆 数据传输速率的sae(system architecture evolution)m络。传统的gsm网络只冇电路域业 务,无法支持分组数据业务,为了解决该问题,在gprs中引入了 sgsn,它通过gb接ii 与pcu相连,主要记录移动台的当前位置信息,并且在移动台与ggsn z间完成移动分组 数据的发送与接收。umts作为3g的代表,能够把第二代移动通信系统通过

7、通用无线分 组业务平滑演进到3g,它的传输数据能力远远超过前两代,最高速率达到2mbit/s,能够更 好的支持移动数据业务。在umts网络中,sgsn通过iu_ps接i i与无线接入网(utran, universal terrestrial radio access network)相连,主要提供ps域的路由转发、移动性管理、作者简介:吴世娥,(1989j ,女,硕士研究生,主要研究方向:移动通信。通信联系人:夏海轮,(1980-),男,讲师,主要研究方向:移动通信。e-mail: xiahailun会话管理、鉴权和加密筹功能。大i此,sgsn在整个umts网络屮具冇重要作用,ranap (

8、radio access network application part)作为sgsn网元协议栈屮的一部分,对其进行分 析与实现具有重人意义。本文首先对umts网络中sgsn网元进行了介绍,并对sgsn协议栈中ranap协议 的功能进行了分析,在此基础上提出了 ranap的设计方案并对其进行实现,然后搭建了测 试环境进行测试,验证该设计方案的正确性,最后给出了测试结果并对结果进行了分析。1 umts网络屮sgsn网元umts是由欧洲提出的采川wcdma空中接口技术的第三代移动通信系统,它由核心 网(cn, core network)s通用陆地无线接入网(utran)和用户设备(ue, use

9、r equipment)三 个部分组成。cn和utran z间的接口是iu接口,utran和ue z间的接口是uu接i i。 cn是为umts用户提供通信业务的基础平台;utran的主要功能是生成和维护ue与cn 间用丁通信的无线接入承载业务;ue是用户端终止无线信道的设备,通过空中无线接口 uu 给用户提供接入网络业务的能力。umts的协议结构,从功能方血可分为接入层和非接入层两大部分。其屮,接入层是指ue和utran间的无线接口协议集、utran和核心网(cn)间的接口协议集;非接入层是 指ue和cn之间的核心网协议。核心网分组域功能实体包括sgsn、ggsn以及边界网 关等。英中,sgs

10、n为umts核心网分组域中特有的功能节点,通过lu-ps接口与rnc (radio network controller)相连,主要提供ps域的路山转发、移动性管理、会话管理、鉴权和加 密等功能;通过gn接口与ggsn相连,提供ip数据包到无线单元z间的传输通路和协议 变换等功能。sgsn的协议栈如图1所示,主耍包括控制面协议栈与数据面协议栈,控制面 协议栈主耍包括gmm/sm> ranap、sccp、m3ua、sctp及gtp中的gtp-c部分,数 据面协议栈主要为gtp协议屮的gtp-u协议部分5一7。otpjcranapsccpkbtraserpudpipwesgs懺制面协议魏tf

11、lltqtp-ltudpudpipsgsnft据面协议魏图1 sgsn协议栈figi. sgsn protocol stack2 ranap协议分析2.1 ranap 功能ftl sgsn控制面协议栈町以看出,无线接入网络应用部分ranap位于gmm/sm与sccp z间,ranap在rnc和cn z间以无连接方式和面向连接方式通过对高层协议的封 装和承载为上层业务提供信令传输功能,在每个激活的移动用户和核心网z间使用一个信令 连接来传送第三层的信令消息,对各移动用户的不同信令流程提供独立的连接,为上层nas 提供连接状态信息。在umts系统屮,gtp隧道不仅存在于sgsn与ggsn设备z间的

12、 gn接口,还通过iu.ps接口延伸到了 rnco lu_ps 口 gtp隧道的建立与删除需由ranap 完成,故ranap子系统负责asm1per编解码、协议数据合法性处理、流量控制、寻呼、 复位、安全模式控制、迁移、用户面资源指派和nas消息承载等。其屮,用户面资源指 派主要指使用ranap信令來建立、更新以及释放gtp-u传输通道。2.2 ranap过程及消息ranap协议的功能通过各种基本过程(ep)來实现。皋本过程是分别定义的utran和 cn间交互的单元,英目标是以一种灵活的方式來构建业务序列。每个ranap功能可能要 求运行一到多个基本过程,ranap基本过程可以分为三类:cla

13、ssi、class2与class3。classi: 一个请求,接收方只冋一个响应,响应有执行成功的情形,也有执行不成功的情况。class2: 冇请求,没响应,默认接收方执行成功。class3: 一个请求,可能会冇多个响应,只冇与 rab相关的过程属于该类过程。按消息传送方式分,ranap消息分为两类:无连接与面向连接消息。无连接消息主要 包括寻呼、数据量报告、过载控制、复位、复位资源与错误指示消息。面向连接的消息主要 包括初始ue消息、公共id、直传消息、安全模式控制、cn跟踪、rab的分配、修改与 释放消息。当ranap发送无连接消息时,不需要建立iu信令连接,只需要调用sccp发送消息函数

14、传递消息。当ranap传送而向连接的消息时,首先要建立lu倍令连接,rnc侧ranap 发送初始ue消息建立lu信令连接,sgsn侧ranap收到的该消息后,rnc与cn的iu 信令连接已建立,sgsn侧ranap会发送公共id消息,告知rnc有关一个用户的永久 nas ue标识(imsi) , z后,ranap要发送和接收到的nas消息都通过直传消息传送。3 ranap的设计与实现3.1 ranap的总体设计ranap上层为gmm/sm协议,下层为sccp协议。在实现ranap过程中,将英与 gmm/sm. sccp、m3ua、gtp放在同一个进程中,层与层之间采用函数调川的方式进行 通信,

15、底展使用sctpo为了实现ranap的功能,ranap层划分为五个子模块,具体如 图2所示:1sccp模块图2 ranap协议模块朋构fig2. ranap protocol module structure3.2 nas消息处理了模块的设计与实现nas消息处理子模块主要负责与上层nas的交互,主要包括两个接口,分别为 umts_gmmsm_recvmsg()与 ranap_gmmsm_sendmsg()o 当 ranap 从底层 sccp 接收到消息并 进行处理后,若判断为上层gmm/sm的消息,则调用umts_gmmsm_recvmsg(),将nas消 息递交给gmm/sm进行处理;当上层

16、nas耍发送消息时,gmm/sm模块会调用 ranap_gmmsm_sendmsg(),经过ranap的处理,将nas消息作为数据传给底层sccp。此 外,对于ranap本层的一些消息,如公共id、安全模式控制、iu释放等,也可以通过 nmap_gmmsm_sendmsg()判断应沖何时传送。3.3 ranap消息处理子模块的设计与实现ranap消息处理子模块的设计与实现是实现ranap协议最关键的一部分,需要与 nas消息处理了模块、asn.1编解码了模块、定时器管理了模块及sccp接口了模块进行 交互。该模块主要川于处理ranap消息,需耍建立ranap上下文來维护ranap层的重 要参数

17、,在消息处理过程中,还需要维护一套状态机,随着消息的处理,状态机会进行状态 的跳转。该状态机主要包括三部分:lu连接未建立状态、iu连接建立状态及iu连接建立等 待响应状态。其屮iu连接建立等待响应状态主要是针対ranap classi与class3消息的处 理所设置的状态。ranap初始化为iu连接未建立状态,当接收到rnc侧发來的初始ue 消息后,建立iu信令连接,状态变为iu连接建立状态,当sgsn侧的ranap发送classi 与class3消息之后,状态就会变为lu连接建立等待响应状态,当接收rnc后的响应消息(hi 释放响应消息除外)z后,状态跳转为iu连接建立状态,当接收到iu释

18、放响应消息后,对 应的ranap上卜-文会释放,并且状态会变为lu连接未建立状态。当rnc侧ranap传递gmm附着请求消息时,有两种情况:一种是通过sccp的cr 消息传输;另一种通过dt1消息传输,此时先耍发送cr建立sccp连接。第一种情况由 ranap的初始ue消息携带gmm附着请求消息,第二种情况山ranap的直传消息携带gmm附着请求消息,文屮为第二种情况。ranap消息的接收与发送都需要川到sccp的连接标识,该标识川于表示一个sccp 连接,当传送nas消息时,需要建立ranap连接。因此,ranap消息处理了模块屮还需 要维护sctp文件描述符、sccp连接、ranap连接与

19、gmm/sm模块川户的対应关系, gmm/sm模块用户用p-tmsi来标识。该对应关系放于一个结构体中,称为连接结构体。 在设计过程中,为了方便,将sccp的连接及ranap连接设为相同值。当多个连接存在时, 会有多个连接结构体,这些连接结构体存储在链表中。当sgsn侧sccp接收到cr消息时,可以得到一个连接标识,sgsn向rnc冋应cc 消息,同时将连接结构体加入链表中,此时该连接结构体中还没冇对gmm/sm的用户标识 填入数据,该数据是在gmm接收到附着消息并为用户分配了 p-tmsi后填入的。ranap接收消息的处理流程如图3所示,当sccp接收到数据消息时,会通过sccp 接口子模块

20、中的ranap_sccp_prim()传递给ranap,此时,ranap会得到一个连接标识,通 过该标识査找所对应的连接结构体是否存在,若不存在,删除该消息,若存在,查找对应的 ranap上下文,当为ranap的第一条消息时,ranap上下文不存在,需要建立一个 ranap上下文,之后,对接收到的消息通过asn.1编解码子模块进行解码,然后通过nas 消息处理子模块中的umls_gmmsmecvmsg()递交给nas进行处理。图3 ranap接收消息处理流程 fig3 the ranap receive message processranap发送消息的处理流程如图4所示,当gmm/sm要发送

21、消息时,会通过nas消 息处理了模块屮的ranap_gmmsm_scndmsg()传递给ranap,同时会帶冇用户的p-tmsi, ranap通过p-tmsi查找链表节点,获得对应的连接结构体,同时会得到sccp的连接标 识,经过asn编解码了模块进行编码后,通过sccp接口了模块屮的sccp_scnd()将消息 传送岀去。图4 ranap发送消息处理流程 fig4. the ranap send message processsgsn与rnc通信,除了传递信令外,还耍通过gtp-u隧道传送数据,gtp-u隧道通 过ranap屮rab的分配、修改及释放消息进行建立、修改与释放。在建立gtp隧道

22、时, sgsn发送的rab分配消息会带有上行teid(tunnel endpoint identifier)与传输层地址,上 行teid用于gtp隧道的上行标识,该传输层地址表示sgsn侧用户面传输数据的地址, rnc给sgsn的rab分配响应消息中会带有下行teid与传输层地址,下行teid于gtp 隧道的下行标识,该传输层地址表示rnc侧用户面传输数据的地址。此时,rnc与sgsn 侧的隧道建立完成,可以传送数据。当隧道需要改变时,对以通过rab修改消息完成。当 数据传送完毕时,rab释放消息可以删除rnc与sgsn侧己建立的隧道。3.4 asn.1编解码了模块的设计与实现不同于sgsn协

23、议栈屮的其他协议层,ranap消息采用的编码方式为asn.1编码中的 aper方式,在asn.1编解码子模块中使用了 oss asntoolsiw进行编解码。ranap在使 用该编译器时,为了方便,当收到來自rnc的消息吋,调用ranap_decode()进行解码,首先 判断消息的类型,然后再调用相应的解码函数完成消息的解码,解析出相应的ie并进行存储。在编码时,由于已知要发送的消息类型,故针对每个消息有一个编码函数,将相应消息 的ie传递给该函数可以完成消息的编码。3.5定时器管理了模块的设计与实现由于ranap的基木过程屮有classi与class3消息,故需要一个定时器管理了模块, 该模

24、块主要川丁管理立时器,并h対定时器的管理采川统一笛理方式。将ranap层所川到 所育定时器加入一个链表中,当ranap发送classi与class3消息后,启动相应定时器, 并将处时器加入链表,如來在一定的时间内接收到响应消息,则关闭响应的定时器并将定时 器清零,反z,如杲定时器超时,仍然没收到期望响应,则定时器清零,并且重新发送消息, 重启定时器,当超过最大重传次数并没收到期望响应时,删除定时器并报错,表明消息传送 失败。对某一个定时器的操作不会影响其他定时器。3.6 sccp接口子模块的设计与实现sccp接口了模块指sccp与ranap的接口,主要完成ranap消息的发送与接收, 和应的处

25、理函数为sccp_send()与ranap_sccp_prim()0当ranap耍发送消息时,ranap会 调用sccp_send(),来b rnc的消息会进入ranap_sccp_prim()函数,经过解码后可以得到消 息类型,然后对以进行相应的处理。4测试及结果分析为了验证sgsn侧ranap设计与实现的正确性,搭建了测试环境,包括业务层、rnc 仿真拨测系统、sgsn模拟器以及openggsmioio rnc仿真拨测系统川來模拟rnc,通过iu 口测试sgsn,在sgsn模拟器中,ranap与gmm/sm、sccp、m3ua以及gtp放在同 一进程屮,底层通过sctp传送消息。sgsn和

26、ggsn可以对ps流量进行控制,因此,ggsn 的数量収决丁同时发牛的分组数据会话数。测试中考虑的同时发生分组数据会话为1个,故 只连接一个ggsn。验证的方法是通过wireshark t具进行抓包,并对抓取的数据包进行分 析。图5是gmm附着过程的数据包,首先通过cr与cc消息建立sccp连接,然后通过 ranap的第一条宜传消息建立ranap连接,当附着完成后,先通过ranap的iu释放消 息释放ranap连接,z后再通过sccp的rlsd与rlc消息释放sccp连接。同时,还 可以看到经过asn.1编码的ranap消息格式。t>««s-?*irc«ft

27、ostillxf<ih£>£si 3s.23s23216.117. id. 2s310.117.0.226scyp64sack01 40.53540?13512bkcp (int. itu)110 602 40.53558912o133乂cp (int. itu)120 sackcc63 40. 537717fl&map13sack(ddlr«cttf00 40.ww191o.u7.10. 253 izo1359ctp pamap124sack id-cdretttr.injfer (ota67 4ii.u22u13s12brahap172sa

28、ck1 d-dlrcttf-inst4r68 40.6412s612813sramap1s6sack1 d-dlrcttf-insf4r09 4o.m4ca<13j12bpanapimsackid-dlrecttranjfer70 40.mj4q912o133"2132sackid-iu-aelea?e71 40 g4754713512braxap12bsackid-lunalflasa72 40.64771丄2813sso二pitu)12®sackrlsd73 m0.64wo51351289xp (int itu)120sackrlc(dtap)c»o a

29、ttach pqufisi)ictent<ty(dtap)idorrtlty rospcns(dtap) (g»1> attach accopc cotap) (gho attach coiplete,i uhjm ral i曰 rachonetworkpart sup.pdu: 饷"心仆护wga (0)i- imt 1 dt 1 ricfir5£d9o p-ocedirecode: id-ccoiontd (15)criticality; lancre (1)& valuob cqlmcfild耳 proxocolies: 1 het=ite

30、<i 0; 1 d-psrnanenthls-te-id二 protacolie-fleldid: 1d-f«rrunfintr4k2-ue-id <23) crkicallxy: lonore (1)& value fe pernanentrtas-ue-id: insl (0) 1nsx: 6400o121436s0or0inzi dlqlcs: 46ool&1224s6ood图5附着信令流程fig5. attach procedure200图6为业务请求、pdp上下文激活与去激活、分离信令流程,当业务层要发送数据时,gmm要发送业务请求,sccp先建

31、立信令连接,业务请求消息会通过ranap的h传消息传送,此时建立了 ranap信令连接,sm发送ranap 发送 rab assignment 开启 gtp 隧道,pdp 激活请求消息,即 configuration requests 当接收到rab assignment响应消息后完成205gtp隧道的建立,开始发送数据。当数据发送完成厉,sm会发送去激活pdp上下文请求,z后ranap发送rab assignment删除gtp隧道,接着开始分离过程,退岀网络。nr-12813512810.117.10. ?5312813 j10.117. 9.22613j12813s12510.117.10

32、. 25310.117 9.2?。10.117.10. 25310.117.10. 25310.117. 9.220 13 51q.117. 9.22010.117.9.22610.117.10.253 13512810.117.10. 2531281351281351281351q.11t. 9.22013512313512810.117.10. ?53jiiuabu u.1z117.9.22<>13s12b10.117.10.25512117.9.22610.117.10.25310 117.9.22610.117.9.226

33、10.117.10.2j3 12b10.117.19.2 j310.117.10.255 10.117.9.221 12013510.117.9.22-113s12b13512bl3512b10.117.10.25 31201b512913s10.117.9,22图6it seep (rnc, sccp (mt. pomapbamapsctpraz4ap m/<ap5ctp ppo 1ccppa/3pra/1apitu? itu)l«a«thim crpppppppppglap cssctsct當口itu>1?6 sack cc17u sock 1d-dlrec

34、t7ran$fer (otqp) 138 so:彳dyottlmm02 sack1s& 1d-sficurltyrod»zoncro1135 sack d-sezurityhadecontrot62 sockim configuration roquost17® 5a.ck id-pls-a5 5i<jnentiso zg: "d*从a5£fyn£r氏10c sack conf igur.it 1 on62 5心m hemteeatw heuteeat jckm hcaatecj&tm hemt&tjck106 i

35、t(qeq) serulce neqisestraziapra/iap(rnt, tint.(i nt. (int.jtu>3tu>jtu)itu)02 sackw hewteejitm mafitecatjck146 id-oirecttransfer (dtap) (sm)138 «>< 1d-o1rficttf insfr (dtap) 62 sacki?6 1d-rab-as1grmfini13b s4ck 1d-fcfi-as5lgtient130 5qck id-iu-peiease126 £a£h: d-iu-peloaa1?c 5dcx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论