(计算机软件与理论专业论文)ip电话协议分析与监控技术研究.pdf_第1页
(计算机软件与理论专业论文)ip电话协议分析与监控技术研究.pdf_第2页
(计算机软件与理论专业论文)ip电话协议分析与监控技术研究.pdf_第3页
(计算机软件与理论专业论文)ip电话协议分析与监控技术研究.pdf_第4页
(计算机软件与理论专业论文)ip电话协议分析与监控技术研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机软件与理论专业论文)ip电话协议分析与监控技术研究.pdf.pdf 免费下载

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

文档简介

摘要 随着i n t e m e t f l s 叭i i :j t d ii 情令均以 i s u l l 为例。 ( 1 ) a 力用,? t 使刖r u 话饥拔接入吗_ _ f 【| 被i i 【i 号码接入剖d l t 也孤关。 ( 2 ) 网关1 采集1 3 方, i x 话号码( 被i i i 号码、_ ;f f | a 方电话号码( :卜i i i i 号码) ,睑 u i i i 尔人学硕f :。似论文 查地址映射表,如有数据,直接进行地址翻译,否则利用“请求用户接入认证” ( a r q ) 消息,向网:r 发送。 ( 3 ) 网守接收到来自网关l 的“请求用户接入认证”( a r q ) 消息后,检查用 户合法性,确定用户权限,并进行地址翻译,将接入认证通过和授权( a c f ) 或拒 绝( a r j ) 消息发送到网关1 。网关1 在收到a c f 消息后,作进一步处理,收到a r j 消息后,做拆线处理。 ( 4 ) 如网关l 有授权和地址映射缓冲区,在缓冲区中存储新数据,同时向被叫 网关2 发起呼叫建立请求“s e t u p ”里面包含有h 2 4 5 的通道信息。 ( 5 ) 网关2 向网关l 发送“呼叫进展”( c a l lp r o c e e d i n g ) 消息,里面包含有 h 2 4 5 的通道信息。 ( 6 ) h 2 4 5 通道建立成功后,网关2 向p s t n 发送i a m ,请求接续被叫。 ( 7 ) 网关2 收到p s t n 发回的a c m 信号时,被叫振铃。 ( 8 ) 网关2 向网关1 发送a l e r t 消息,网关1 收到该消息后,向主叫发回铃音。 ( 9 ) 被叫摘机,网关2 收到a n m 消息。向网关l 发送”连接”( c o n n e c t ) 消息。 ( 1 0 ) 网关l 收到c o n n e c t 消息,启动计费计数器,同时接通主叫。 ( 1 1 ) 向网守提供呼叫或开始计费的信息( 任选) 2 3 2 非快速呼叫建立流程 非快速呼叫建立流程与快速连接的呼叫流程类似,只是在网关1 发出的s e t u p 消息里,没有h 2 4 5 消息,网关2 向网关1 发出的c a l l p r o c e e d i n g 消息里带有 h 2 4 5 的端口信息。网关l 在收到c a l l 能力交换,然后进行主从决定处理流程 p r q c e e d i n g 消息后,首先与网关2 进行 最后进行逻辑通道打开处理。 2 4 、h 3 2 3 体系l p 电话监控框架 , i p 电话监控的目的是获取通话双方的用户信息和通话内容。根据以上协议分 析结果,r a s 信息、呼叫信令信息、2 4 5 信息与监控业务的关系归结如下: r a s 信息主要负责网:j :与网关之m 的呼叫控制,包括设备管理、呼叫地址解析、 汁赞认证信息等。获取r a s 信息仃助j 二分析域内用户信息和网络拓扑关系,但不 影1 1 自对具体的通活监控,l lj j h 往实际监控工作中,一一般不处理r a s 信息。 在呼叫信令消息巾,u i 旧川1 来携带些重要的信息,如主破叫m 关地址、l : 山尔人学硕卜。? :他沦文 被叫电话号码、i i 2 4 5 地址和端口或者快速连接信息等。其中,s e t u p 消息足一次 通话过程的第一条呼q 信令消息,r e l e ;- l s c 消息是一次通话过为! 的最后条呼叫信 令消息。分析m2 2 5 0 消息可知一次通话的起止、可获取通话双方的信息并实现 对特定用户通话实簏监控,因此, l2 2 5 0 消息分析是监控业务的关键技术之一。 h 2 4 5 消息中包含用于r t p 话音数据传输的u d p 地址和媒体编码信息,用于控 制u d p 数据的处理和话音解码。 综上所述,h 3 2 3 系列i p 电话监控处理框架如图2 2 所示。 其中,协议识别模块从输入i p 帧中识别端口号为1 7 2 0 的t c p 帧送信令解析模 块,u d p r t p 帧送语音帧处理模块;信令解析模块解析h 3 2 3i p 电话的h 2 2 5 0 信令,媒体逻辑信道信息送语音帧处理模块,决定是否控守某个r t p 对话,用户 信息入库;语音帧处理模块根据信令解析结果确定一个r t p 对话是否在监控范围 之内;语音合路模块将两个方向的语音帧处理成可直接监听的串行数据;语音监 听模块根据用户信息查找语音数据送语音播放设备。 凹2 2 :h3 2 3 】p 电话娩挖眶架 本章首先介绍了h 3 2 3 p 电话的体系结构,通过分析h 3 2 3i p 电话的呼叫流 程,设计出h 3 2 3 体系r p 电话的监控框架。 曰e高 卯 一 r齑。 i i ij i 人学硕f :f t 论文 第3 章ip 电话监控相关协议解析 3 1h 2 2 5 0 协议 h 2 2 5 0 协议主要有两大功能:r a s 功能和呼叫信令功能。 3 1 1r a s 信令功能 r a s 信令功能就是采用h 2 2 5 0 中的消息在端点和网守之间实现注册、接入许 可、带宽修改、查询状态和拆除呼叫等过程。只有打开r a s 信令通路后才建立其它 h 3 2 3 通路。r a s 呼叫信令通路与h 2 4 5 控制通路是相互独立的,没有网守的网络环 境不使用r a s 信令。 3 i 2r a s 消息 r a s 消息是端点( 终端或网关) 和网守之间的注册( r e g i s t r a t i o n ) 、接入认证 ( a d m i s s i o n ) 和状态( s t a t u s ) 的消息。基本上是管理功能,它包含以下几个过程: ( 1 ) 网问搜寻( g a t e k e e p e rd i s c o v e r y ) :用于端点搜寻其归属网闸,采用多播 机制完成。 其后所有r a s 消息均限定在端点和其归属网闸之间传送。 ( 2 ) 端点登记( e n d p o i n tr e g i s t r a t i o n ) :用子端点向网闸登记其自身信息,主 要是别 名和呼叫控制信道运输层地址,包括去除登记过程。 ( 3 ) 端点定位( e n d p o i n tl o c a t i o n ) :用于端点或网闸向相应的网闸询问某一 端点呼叫控制信道的传输层地址。 ( 4 ) 呼叫接纳( c a l la d m i s s i o n ) :呼叫开始时的第一步操作,询问网闸是允许 该呼叫发起。 ( 5 ) 呼叫退出( c a l ld i s e n g a g e m e n t ) :, - 乎u q 结束后通知网闸,该端点巳退出呼 叫( 回复空闲) 。 ( 6 ) 带宽管理:支持端点在呼叫过程中提出带宽改变要求,“t 网闸作决定。 ( 7 ) 状态查询( s t a t u s ) :主要用于网闸询问终端的77 村l 关机状态。 ( 8 ) 刚关资源指示:向网闸通告该网关的呵用资源。 r c a c f 和d r u d c f 魁整个l l 于m l 过程的第一一队用l 最后对消息,分别标志i t - l i t i 的 始和结束。矗:胩c 消息中。端点给出纠的端的机;i _ 删i 4 0 如果接 p t l l i 乎l l t i ,则把i - - 的端或自已的呼i j 控制f 占道传输层地址舀i a c f :t 返州。不f f i 二l l :6 ;i = 起呼叫f j i f 篮发送 1 1 a r q 请求,被叫在收到对端的s e t u p 消息时也要向所属网闸发送a r q i , ; i 求,红a r q 消 息中有参数区分是哪一种情况。存a r q 消息中还有:j 个关:j 二l l 乎叫的标u5 参数。 r a s 协议消息基于u d p 传送,h 3 2 3 协议为该类协议消息分配了一个专用的u d i , 端口号1 7 1 8 ( 单播) 或者1 7 1 9 ( 组播) 。这部分协议数据对v o l l ,监控没有多大帮助, 因此,本文中不再对其做详细分析。 3 1 3 呼叫信令功能 呼叫信令功能采用h 2 2 5 中的消息在h 3 2 3 端点之间建立连接,包括呼叫的建立 和拆除等流程。呼叫信令通路是在h 2 4 5 控制通路和其它逻辑通路之前打开的。在 没有网守的系统中,呼叫信令通路在与呼叫有关的两个端点间打开:在有网守的系 统中,由网守决定是在端点和网守间使用呼叫信令还是在端点间使用呼叫信令。 3 1 - 4 呼叫信令消息 为了保证可靠性且便于与s c n 的互通,h 2 2 5 o 基本呼叫控制信息取自q 9 3 1 和q 9 3 2 消息,所以也将呼叫信令消息称为q 9 3 1 消息。 消息类别消息名 作用消息性质 s e t u p请求建立呼叫 m s e t u ph c n o w le d g e响应建立消息,请求后续 o 地址信息 c a l lp r o c e e d i n g 响应建立消思,表不被叫 0 号码已全,呼叫建立过程 已经启动 呼叫建立消 a l e r t i n g指示呼叫己经到达被叫, m 息 正向其发通知指示被叫应 答 c o n n e c tm p r o g r e s s指示呼叫建立中的其它消 0 息( 如网问互通,带内信令 等) 呼叫清除消r e l e a s ec o m pl e t e 指不释放l 信道和呼叫引 m 息用 【n f m m a ti o l l 提供| :( 加信息( 如后续被 o il i 地址) n o t i f v 通知远端用户呼叫一i 发! i 三 ( ) 时| 1 i j ( 女l 】i 呼叫暂停k 复) 0 sl a t t l se n q u r r v 终端或网络向对力咖 ,j i 呼 ( ) 其它消息 叫j 队态 山尔人顶- i :学付论文 s t a t u s 响应s t a t u se n q u r r y 消息: m 也可主动报告呼叫状态或 收到不认识消息 f a c i li t y 用于补充业务操作调用和 m q 9 3 2 消息证实m u s e r i n f o r m a ti o n 用于主被叫之问直接传送 o 信息 表3 一l :呼叫信令消息 注:m 表示必选消息,o 表示任选消息 q 9 3 1 和q 9 3 2 是i s d n 的标准,但并不是所有内容都可以拿来套用。h 2 2 5 o 的 呼叫控制协议按h 3 2 3 协议的要求,在q 9 3 1 和q 9 3 2 协议的基础上对信令过程作了 筛选,增补了信令消息中用户一用户信息单元的内容,并对消息中其它某些信息 单元的个别字段作了编码和定义上的扩充和界定。 h 2 2 5 o 的呼叫信令消息中有s e t u p ( 发起呼叫) 、a l e r t i n g ( 提醒) 、c o n n e c t ( 连 接建立) 、r e l e a s e c o m p l e t e ( 拆除呼叫) 等。 由于控制信令传输的可靠性要求高,在h 3 2 3 协议框架v o l p 中,呼叫信令基于 t c p 协议传送,t c p 业务端口号为1 7 2 0 ,其消息格式及其在i p 反文中的封装格式如 图3 - 1 所示。 i p 头 t c p 头h 2 2 5 0 消息体 , t p k t q 9 3 1 消息头i ei ei ei e u u l e | 芏| 3 1 :1 12 2 5 0 控制信令的消息结构及封装格式 注: ( 1 ) t c p 头的源端口或目的端口其一为1 7 2 0 : ( 2 ) 可选的四字节标以头t pk 1 i :0 30 0 x xx x :其后两字为长度,标识包含t ) k t 在内的整个消息长度。 ( 3 ) 0 9 3 l 消息头长为5 字节,包含字节的协议以别符( p d ) o x 0 8 ,:个字节的 c r v ( o x 0 2x xx x ) 平字节的消息类型: ( 4 ) f 占息要素iefi n f l o r m a t io i le 1e m e n t s ) ,1 :同的消息类j 哩行小刚的、1 i 等 l i 尔人j 硕卜学何论文 量的消息要素: ( 5 ) 用户信息要素u u i i ! ( u s e r u s e r n l o r m a t j o i 3e l e m e n t s ) 是消息体中最重 要的部分i = l = i 四部分组成,依次为:u u e 标以符o x 7 e ,- - - 乎:节数据氏度,a s n 1 协议识别符o x 0 5 ,数据( a s n ip e r 编码) 。 3 2h 2 4 5 控制信令 h 2 4 5 控制信令包括能力交换过程,主从确定过程,逻辑信道信令过程以及呼 叫释放过程; 3 2 1 能力交换 能力交换过程是 2 2 5 n 乎叫建立成功后首先要执行的一个过程,它使通信双方 了解对方接收和发送信号的能力。 每个逻辑信道传输的媒体信息、采用的编码算法以及占用的带宽都是特定的。 因此,在信道建立之前,收发双方必须就这些参数进行协商,确定双方可接受的 参数范围。这就是h 2 4 5 的能力交换过程。 h 2 4 5 协议采用接收方控制的原则建立逻辑信道,发送方只能在接收方规定的 范围内确定信道特性参数。能力交换的主要功能就是通过适当的消息向对方通告 本端的接收能力。该消息也允许发送方通告其发送能力,但作用只是表示本端的 一种选择意向,希望对方在确定其接收能力时予以考虑。当获知对方的接收能力 后,发送端只能在此范围内确定其发送方式,并启动逻辑信道打开过程。 3 2 2 主从确定 主从确定过程用于避免信令过程中的冲突现象。主要应用于会议通信中的 m c ( 多点控制) 的仲裁。由于一个会议呼叫只能有一个m c ,如果两个与会的 1 3 2 3 实 体都含有m c ,则必须通过一定的规则确定其中主m c 同样的过程也适用于双向信道 建立时的主从终端确定。主从状态确定后,在整个呼1 1l 中将保持不变。在建立信 道连接之前必须首先解决端点州f 3 j 主从关系。每个n : 2 3 端点应该既能:1 :作_ - j 二:i - f j l 方式,也能:i :作于从机方式。在执行此过程时,每个端点需要l i 成一个随机数, 称为“状态确定号”。其墩值范为0 一( 2 一1 ) 。对于每个呼叫,端点只能选定 个随机数。 为了确定字从关系,任一瑞点l 盯以向对乃发送 食 i i i 尔人学硕+ :节似论文 m a s t e r s l a v e d e t e r m i n a t i o n ( 主从确定) 消息该消息包含两个参数:状态确定号和 终端类型。终端类型力i 为一个整型数。对方收到确定消息后,执行确定计算过程。 确定的规则是:首先比较两个端点的终端类型值,大者为主机:如果棚同,再比较 两个端点的状态确定号,大者为主机:如果仍然相同。则判定为不可确定。一般 情况下是可以确定的。此时对方回送确定证实消息,告知判定结果。如果不可确 定,则回送确定拒绝消息,告知理由为“数字相同”,此时本段重新尘成一个状 态确定号,再次启动主从确定过程。 能力交换和主从确定是h 2 4 5 协议的两个初始化过程,只有在这两个过程成功 完成后,才能进行后续的信道建立过程。如果任一个过程失败,必须至少重试两 次,才能放弃连接建立并释放呼叫。 3 2 3 逻辑信道信令过程 在能力交换过程完成后,端点就可根据对方的接收能力发起信道建立过程。逻 辑信道的信令过程包括逻辑信道的打开和关闭,采用证实协议过程实现。其设计 思路是首先建立连接,确保接收方能够接收、并己准备好接收由对端发来的数据 后,开始媒体数据的传送。在接纳新的逻辑信道时,接收方必须确保原有逻辑信 道的通信不受影响。 该协议过程还包括双向信道的打开。为了防止双方终端同时打开信道,引起冲 突,须将其中一方定义为主终端,另一方定义为从终端。 逻辑信道关闭一般也由发送方发起。接收方也能提出关闭逻辑信道的请求,但 发送方可以接受该请求,也可以拒绝该请求。设计此过程的目的是使接收方在遇 到特殊情况,如无法解码输入信息时,可以主动提出关闭信道请求。另一用途是 在双向逻辑通道的情况下,可由非信道建立方( 例如从终端) 请求关闭信道。 需要注意的是,接收方只能提出请求,真f 的关闭过程仍应由发送方启动。 ( 1 ) 单向信道打丌过程 信道打丌始终山发送方启动。它向接收方发送打丌逻辑信道消息,消息包含前 向逻辑信道号和信道参数。其中,信道号必须山发送方赋值,实消息返刚此值 以和请求消息匹配。信道参数包括数槲类型、媒体信息、是需要确保f 每送、是 7 i 执f i 静音抑制、ii 的地终端标i 己等。如果咳信道用来传送l ,r l ,封装的实时媒体信 息( 如爵频剃跳频) ,m 0 信道参数j 垂应该t _ ! 土j j 会活物:以、关联会话标以、媒体控制 尔人学硕- i :。 似论文 信道。对方接收到此消息并确认后,回送打,i :逻辑信道证实消息,消息包含日口向 逻辑信道号和 j i 向复用证实参数。如果传送的是r t i ,流,则证实参数中应包含:媒 体信道和媒体控制信道。 经由此过程,两端点问建立起了前r t p 信道和双向r t c p 言道。这罩,“前向, 指的是打开逻辑信道消息发送方至接收方的方向。需要注意的是,在单向信道打 开过程中,消息中不含反向信道参数。 如果某r t p 流的前向信道己经建立,接着又由对方发起建立反向信道,则应保 证本次建立过程中交换的r t c p 信道的运输层地址和前向信道建立时交换的地址相 同。通过r t p 会话标识可以判定这两个信道和同一个r t p 流相关。如果两个端点同 时发起对同- - r t p 会话的信道建立过程,则主机方应拒绝对方的请求。其后,从机 方再重新发起反向的信道建立。 ( 2 ) 双向信道打开过程 双向信道打开过程和单向信道基本相同,其主要差别在于消息中还包含反向信 道参数。因此一次消息交换同时建立两个方向的信道。此外,请求方收到对端的 证实消息后,还需回发一个确认消息,表示反向信道建立成功,可以开始传送信 号。如果对端不能支持本端要求的反向信道,则回送拒绝消息,然后立即启动双 向信道于打开过程,其反向信道参数等于本端发送的前向信道参数,其前向信道 参数取为双方都能支持的参数值。 如果发生双方同时启动同一双向信道的打开过程,则执行主机方发起的请求。 冲突检测方法是双方建立信道的参数相同,或者虽然参数不尽相同,但可判断为 用于同一目的。 3 2 4h 2 4 5 消息 i t 2 4 5 消息的类型有4 1 , p :请求、响应、命令和指示。请求消息要求接受方执行 所要求的操作并立即i 响应;响应消息是对请求消息的回复,可以确认或拒绝请求:一 命令消息也要求接受方执行所要求的操作,但不要求回送响应消息;指示消息只 是传送信息,不要求接受方执行操作,也无需返吲干h 应。h2 4 5 灌j 息在表3 2 中描 述 l 消息类别消息 接收端状态发送端状态| | ) e t el n i f i l l t j o r m ( 必选) m 主从确定消息 i ) e icr n l in a t i o l la c k n o w le d g e mm 尔人学顺十。学俺论文 o e t e r m in a t i o nr e j e c t m m d e t e r m i n a ti o nr e l e a s e 1 m c a p i b i l i t ys e t mm 终端能力消息 c a p i b ilit ys e ta c k n o w l e d g em m c a p i b i li t ys e tr e j e c t mm c a p i b i l i t ys e tr e l e a s e mm o p e nl o g i c a lc h a n n e l mm o p e nl o g i c a lc h a n n e l mm a c k n o w l e d g e 逻辑通路消息 o p e nl o g i c a lc h a n n e lr e j e c t mm o p e nl o g i c a lc h a n n e l mm c o n f i r m c l o s el o g i c a lc h a n n e lmm c l o s el o g i c a lc h a n n e l mm a c k n o w l e d g e r e q u e s tc h a n n e lc l o s e ko r e q u e s tc h a n n e lc l o s e 0 ( 任选) o a c k n o w l e d g e r e q u e s tc h a n n e lc l o s e 0 m r e j e c t r e q u e s tc h a n n e lc l o s e om r e l e a s e 表3 2 :h 2 4 5 消息 3 2 5h 2 4 5 消息结构及封装格式 i p 头t c p 头 h 2 4 5 消息数据。二 t p k th 2 4 5p d u h 2 4 5p d uh2 4 5p d u 图3 2 : f 2 4 5 消息结 勾段封装惜 注:( 1 ) t c p 端口号由q 9 3 1 协议协商给定; ( 2 ) 可选的四字节t p k l 、:0 30 0x xx x ,后两字节长度表示包括t p k t 在内的整个 i 2 4 5 消息的长度。如果没有f p k ,r ,则只有一个1 1 2 4 5p d u ,如有t p k t ,则可能有 多个“2 4 5 j | f i 息: ( 3 ) i i 2 4 j 5 消息以a s n 1p i ! r 编码方式编码; ( 4 ) 强烈建议一个h2 4 5 i f i 息 携,特个 | 2 1 5i d u ,r n l 携带多个每个 尔人学彤i 一 :。学似论文 t 1 2 4 5p d u 之前都加j :两字节的长度。 3 30 0 3 1 消息 q 9 3 l 协议中每个消息山以下部分组成:协议鉴5 ;l j 语、呼叫参考、消息类型、 其它信息单元。每条消息都必须含有前三项信息单元,而其它信息单元对于每个 消息类型是特定的。消息的结构在图3 - 3 中加以说明。 87654 3 2 协议鉴别语 0o 0 o 呼叫参考值的k 度 呼叫参考值 o消息类型 所需的其它信息单元 图:卜3 :一般消息的结构示例 表示呼叫参考标记0 :从发起呼叫侧发送消息;1 :向发起 呼叫仰i 发送消息 3 3 1 协议鉴别语 协议鉴别语的用途是为了把用户一网络接口呼叫控制的消息和其它消息相区 别。也是为了将其中的消息与编码成其它i t u t 建议的o s i 网络层协议单元相区别。 协议鉴别语是每个消息的第一部分。在i p 电话系统中协议鉴别语采用q 9 3 1 协议, q 9 3 1 用户一网络呼叫控制消息的协议鉴别语编码为o x 0 8 ,其它协议标识应视为差 错。 3 3 2 呼叫参考 呼叫参考的用途是在本地用户一网络接口上识别消息所涉及的呼叫或设施登 记撇消的请求,见图j 。呼叫参考是每条消息的第一郝分。第一个八比特组的第 卜4 比特表示呼叫参考值的长度呼叫参考信息单元的最大长度为三个八比特组。 接收设衙f f j 动作仪与呼叫参考值有关,而与呼叫参考信。自、币j l f l j 长度无关。 所有的网络羽i 用户1 必须能够支持一个八比特绷的| 】于i l l i 参考值( f t 门二基本接入 方式) 和两个八比特组呼叫参考值( 用于。次错速率接) 。呼叫参考f 吉息帮元包 尔人学硕f :学俺论文 括呼叫参考值和呼叫参考标记。呼叫参考值是由呼叫的发送接口分配的。这些值 在一特定的d 通路二层逻辑链路连接内对发送侧是唯一的。在呼叫结束后或成功地 暂停后,相关的呼叫参考值可以重新分配给以后的呼叫。 在同一个d 通路二层逻辑链路上,对于不同方向上的两个, - 乎m l 可以使用两个相同的 呼叫参考值。 呼口q 参考标记用于识别呼叫是由二层逻辑链路的哪一端发出的,可以取值o 或者l 。发送端总是置呼叫参考标记为o ,终端侧则总是置呼叫参考标记为 1 。呼叫参考标记目的是解决同时尝试分配同一呼叫参考值。 呼叫参考标记也适用于使用全局呼叫参考。全局呼叫参考的值为零。接收到含 有全局呼叫参考消息的设备应解释为该消息与相应数据链路连接标识符相关的全 部呼叫参考均有关系。 虚呼叫参考消息单元含有一个八比特组长,编码为“0 0 0 0 0 0 0 0 ”,长度亦为0 。 虚呼叫参考不用于基本呼叫相关程序,而用于某些补充业务的控制程序。 3 3 3 消息类型 消息类型的用途是识别_ i _ f 在发送的消息的功能。消息类型是每条消息的第三部 分。最高比特位留作今后扩展使用。表3 3 列出t d s s l 的主要消息。 消息类型编码说明 用于呼叫建立的消息 提醒0 0 0 0 0 0 0 l由被叫用户发送给网络并由网络发送给主 ( a 1 e r t i n g )叫用户,表示被叫用户已开始提醒。 呼叫进程0 0 0 0 0 0 1 0由被叫用户发送给网络或由网络发给主叫 ( c a l l p r o c e e d i n g )用户,表示所请求的呼叫已开始建立,不再 接受任何呼叫建立信息。 连接( c o n n e ct ) 0 0 0 0 0 1 1 1由被叫用户发给网络并由网络发送给主叫 用户,表示被叫用户已接受嘛叫 连接证实 0 0 0 0 1 1 1 1由网络向被叫用户发送,表陔用户已得到了 ( c o n n e c t a c k n o w le d g e ) 呼叫。也可由主叫用户向网络发送,以允许 使用对称性呼叫控制程序。 进展( p r o c e s s ) 0 0 0 0 0 0 l li _ l _ ih j 尸或l 删络芨迭,表刁- 丑膻事件阴呼h 进 展或提供带内信息码型相关的呼叫进展情 况 建立( s e t u p ) 0 0 0 0 0 1 0 1主叫h 1 户向网络,并山网络向被叫用户在启 动呼叫时发送 建立确认( ) 0 0 0 i1 0 1 e b 网络向主i il | 用户或山被叫向网络发送,表 ( s e tl l pa c k n o w e d g e ) rr ;- m i 建立已门:始,但可能需要更多的信息。 用。刑乎叫清除的消息 i i4 ;j 、学“61l 学似论文 拆线( d is c o n n c c t ) 0 1 0 0 0 1 0 l山 ;i _ j 广t 发送,请示网络拆除端到端的连接, 或山网络向用户发送表示端到端的连接被 拆除。 释放( r e a l e a s e ) 0 1 0 0 1 1 0 l山用户或网络发送,表示发送该消息的设备 已拆除了通路。接收设备将释放该通路并在 发送释放完成消息后释放i 呼叫参考。 释放完成 0 1 0 1 1 0 l o由用户或网络发送,表示发送该消息的设备 ( r e a l e a s ec o m p l e t e ) 已经释放了通路和呼叫参考,该通路可被重 用。 重新启动 0 1 0 0 0 1 l o 重新启动证实 0 l 0 0 1 l l o 其它消息 信息( i n f o r m a t i o n ) 0 1 l l l 0 1 l由用户或网络发送,以提供附加的信息,它 可用来提供呼叫建立信息或其它与呼叫相 关的信息。 通知( n o t i f y ) 0 1 1 0 1 l l o 状态( s t a t u s ) 0 1 l l l l 0 1 状态查询 0 1 1 1 0 1 0 1 ( s t a t u se n q u i r y ) 设施( f a c i l i t y ) 0 11 0 0 0 l o用于补充业务的申请。 保持( h o l d ) 0 0 1 0 0 1 0 0用于请求对现有呼叫实现保持功能 保持确认( h o l da c k ) 0 0 1 0 1 0 0 0指示保持功能已成功实现 恢复( r e t r i e v e ) 0 0 l1 0 0 0 l 恢复确认 0 0 1 1 0 0 1 l用于指示被保持的呼叫已成功恢复。 ( r e t r i e v ea c k ) 用户一用户信息 o o l 0 0 0 0 0用于用户问传递信息。 ( u s e r u s e r l n f o r m a t i o n ) 表3 3 :q 9 3 1 消息类型 消息中包含许多内容,这些内容以信息单元形式提出。信息单元分两类:单八 比特组信息单元;可变长度信息单元。主要信息单元编码见表3 4 。 信息单元 编码 最大长度 单八比特组单元 发送完全 1 0 1 0 0 0 0 l l 可变长度的信息单元 承载能力( b e a r e rc a p a bii it y ) 0 0 0 0 0 1 0 0 1 2 原因( c a u s e ) 0 0 0 0 1 0 0 ( ) :j 2 呼叫状态( c a s t a t e ) 0 0 ( ) 1 0 1 0 ( ) : 通路识别( c h a n n e l 0 0 0 11 0 0 ( ) : 4 i d e n t i f i c a t i o n ) 通知表不语( n o t i f ic a li ( ) f 1 ( ) ( 1 1 0 0 1 1l 3 in d i c a t o y ) 键盘设备( k e y p a dr a ( 、i ll ? )0 0 1 0 1 1 0 ( ; :h 进腱表不语( p r o g r e s si n d i c a t o r ) ( ) o i ) l ll l o3 主叫用户号码( c a l li n gp a r t y o l l o l l 0 02 4 n u m b e r ) 主叫用户子地址( c a l l i n gp a r t y o l l o l l o l2 3 s u b a d d r e s s ) 被叫用户号码( c a l l e dp a r t y 0 1 1 1 0 0 0 02 3 n u m b e r ) 被叫用户子地址( c a l l e dp a r t y 0 1 1 1 0 0 0 12 3 s u b a d d r e s s ) 蔓新届动表不话( r e s t a r t 0 1 1 0 0 13 i n d i c a t o r ) ( u s e r u s e r ) 0 1 l l l l l 0 3 5 1 3 l 表3 4 :q 9 3 1 信息单元编码 3 4a s n 1 ( p e r ) 消息 a s n 1 ( a b s t r a c ts y n t a xn o t a t i o no n e ) 是由i t u t 和i s o 联合制定的, 它定义的编码规则( 如b e r 、p e r ) 是描述数据的表示、编码、传输、解码的是一 种无歧义的精确的记法。目前,很多网络协议的消息格式都是用a s n 1 句法描述 的,并指明了采用何种编码规则。由于a s n 1 已经成为国际化的标准,经a s n 1 处理的信息独立于任何应用环境,就不会因为应用环境的不同而引起二义性的解 释。 i t u t 专门讲述a s n i 的共有2 0 多个协议:x 2 0 8 、x 2 0 9 和x 6 8 0 x 6 9 9 , 内容相当丰富,也非常复杂。本章首先对b e r 和p e r 的要点做简要介绍,然后以 一个实例介绍a s n 1 ( p e r ) 冗长繁杂的解码细节。 3 4 1 数据类型 a s n 1 定义了很多数据结构类型,包括简单类型和复合类型,这些数据类型 和有关名词的解释在x 2 0 8 x 6 8 0 中有详述。 简单类型包括n u l l 、b o o l 、i n t e g e r 、r e a l 、b i t s t r i n g 、o c t e s t r n g 、 e n u m e r a t e d 、o b j e c t d e n t f e r 等。它们是构成复合类型以及更复杂的数据类 型的基础。其中,b o o 。是斫i 尔量,i n n ! g e r 相当于整数值的集合,r e a l 类型相当 于实数值的集合,i 1 1 、s7 f r 【n ( :是以比特为单位的二:进制字符,f ) c m rs t r i n g 则是 以字节为单位的字符串。e n u m e r a t e l ) 足一个定义变量值的集合,变量的值只存列 举出来的范围内。( j b i e c | 、 i ) e n i ie rb ! l i j l l 术表示i s o f t u t 定义的对缘信息。 n u l l 。类,鬯一般只 观机c o l c e 顺t 1 或s e q u e n c e 租is 项的0 p t i o n a i 项t n i i l i 尔人学硕n 学f 移i _ 仑文 项本身2 1 :没有任何意义,不需要编码。但它仍然算一项,譬如,往c i i o l ( j n 类型巾 的n u l l ,项仍然要分配索引号。 复合类型有s e q u e n c e ,c i d i c e ,s e 7 r ,s i ! q u e n u e o f ,s e t o f 等:其中s e q u e n c e 类型是组不同数据类型的集合,相当于c 语言中的记录。c l i 0 1 c e 类型是_ i _ f | 来选 择一组数据类型中的一个,也就是棚当于c 语言中的枚举。s e q u e n c e o f 和s e r o f 类型定义了一些同一数据类型元素的集合,相当于c 语言中的数组。这两者的差 别是:s e q u e n c e o f 内各项的顺序是重要的,而s e t o f 则表明其内各项的顺序可以 任意。 网络协议的制定者通过这些a s n 1 自带的数据类型,可以定义出具有任意复 杂结构的数据类型,且不同的数据类型之间可以有继承关系。在网络协议的具体 实现中,这些数据类型的编解码的操作则要深入到a s n 1 自带的那些数据类型 中去进行。 3 4 2 编码规则 a s n 1 定义的编码规则有多种,目前用得最多、影响也最大的是b e r ( b a s i c e n c o d i n gr u l e s ) 和p e r ( p a c k e de n c o d i n gr u l e s ) 这两种方案。它们分别在i t u t 的x 2 0 9 x 6 9 0 和x 6 9 1 中有详述。需要指出的是,不管网络协议采用的 是哪种编码规则,在具体实现的时候都必须严格按照相应协议来实行:否则即使 是一个字节甚至比特的差错,也将使得网络无法实现互通。 3 4 2 1b e r 编码方案介绍 b e r 编码规定:每个传输的数据值,不管是简单类型还是复合类型,都由t l c 三个字段构成,如下图所示。其中:t 是标识类型的八位数组( t a g ) ,l 是数据 字段的长度( l e n g t h ) ,以字节为单位。c 即数据字段的内容 ( c o n t e n t ) 。 如图3 - 4 所示,每个数据项的第一个字节都是t ( 类型) 字段。该字段又可分 为3 部分。其中比特8 7 代表类别,规定用0 0 ,0 l ,1 0 ,11 分! l ;| j 代表通用类, 应用类,上f 文类希i 专门j 类。比特6 代表p c 比特,该项为0 表示为简单类型, 陔项为l 表示为复合类型。比特j l 表示类型的编号。 枥;i r 2 编码表蛐l 下: l :b o o l e a nt y p e 2 :in t e g e t l t y p e ( 内竹) 1 i 一? * j # 7 l _ t l - 【_ : :b it s t r i n gt y p e 4 :o c t e t s t r in g t y p e 5 :n u l lt y p e 6 :o b j e c ti d e n t i f i e rf f y p e 7 :o b j e c td e s c r i p t o rt y p e 8 :e x t e r n a lt y p e 9 :r e a lt y p e l o :e n u m e r a t e dt y p e 1 2t o1 5 :r e s e r v e df o r f u t u r ev e r s i o n so ft h i sr e c o m m e n d a t i o n 1 6 :s e q u e n c ea n ds e q u e n c e o ft y p e s 1 7 :s e ta n ds e t o ft y p e s 1 8t o2 2 2 5t o2 7 :c h a r a c t e rs t r i n gt y p e s 2 3 2 4 :t i m et y p e s 、 若标记编号是大于3 l 的数,则低5 位为3 1 ( 1 1 1 1 1 ) ,真正的值在后一个或后 n 个字节中。 l 字段标识数据占据了多少字节。若长度小于1 2 8 字节,则直接用1 个字节编 码。该字节最高位为0 。长度大于1 2 8 个字节的数据的长度段则包括了多个字节, 其中第一个字节的最高位为1 ,低7 位为长度段所占用的字节数。 c 字段的内容则依赖于当前数据的类型,这些类型的编码都是根据x 6 9 0 的 规定来的。每种数据类型都有自己的编码规则,在此不再一一赘述。 需要指出的是这种t l c 结构是可以嵌套的,在c 字段中又可以包含其他数据 的t l c 字段。譬如,若s e q u e c e 类型中包含了另一个s e q u e n c e 类型,则编码时 后者的编码将嵌入到前者里去,这种嵌套还可以一层一层地进行。 3 4 2 2p e r 编码方案 由于b e r 的编码包含了过多的冗余信息,使得网络传输负荷过大。i t u t 在 9 0 年代初又制定了p e r 编码。x 6 9 1 中把p e r 的编码又分为a l i g n e dv a r i a n t 和 u n a li g n e dv a r i a n t 这两种情况。其中,u n a l i g n e dv a r i a n t 的编码都是按比特来 的,各个数据项的编码之间没有填充的比特,因此它比a l i g n e dv a r i a n t 更为精 简。p e r 的编码原则就是用尽可能简单的规则得到最简洁的编码。当然p e r 的编码 舰则也更加复杂。除了o b j e c i i d i n l i e r 等少数类型沿用了b e r 的编码方法外, p e r 各个数据类型的编码比眦f 都精简得多,冗余信息极少。譬如:b o u l e a n 类型 的编鹳在p e r 中仅需要l b i t 而赴b e r 中儿c :i 个字段就至少要24 1 ) i t 。但是p e r 的使刖必须有一个日“提,邶就是剐络通信的收发双方都清楚形仡使用的a s nl 句 法捕述的数椭结f f ;j ,当然这只需要收发舣疗自1 5 遵循统一的通信协议| :! | j t j c l i i 尔人学硕l 学f t 【仑文 p e r 的编码思路与b i i r 有着很大的不同。它的每种数掘类型的编码结果都有 ( 导苦) , 1 ( k 度) , c ( 内容) 三个字段。与b e ra :同的是p l c 三个字段部 是可选的,而且这三个字段以比特为单位,不一定都用字节。这甩的p 字段是刖 来表示数据类型的a s n 1 句法是否含扩展标记,或s e q u e n c e s e l 中的可选项、 缺省项是否参与编码。 同b e r 一样,p e r 的编码具体实现也是嵌 套进行的,如图3 5 所示。 与b e r 编码比较,p e r 编码的精简主要来自于 以下三方面: 1 ) 没有t 字段: ! 【c 】 。 p 】j 【l 】 听i 可i 间而i ( 币i - u l ,一 由于网络的通信双方都遵循统一的网络机议,因此它们可以从数据结构中推 导出特定元素的类型和标识,就可以在编码中省略类型标识符。 2 ) 长度段的编码更加精简 b e r 的长度段的编码都是字节,而且b e r 长度的编码不考虑具体条件;然而 p e r 的长度字段根据编码类型的不同,有不同的单位。这些单位可以是比特、字节、 元素、字符等。这也是p e r 利用数据结构已知的优势来减少编码量的又一方式; 而且根据具体的条件限制,p e r 的长度段还可以大幅度削减,譬如当数据类型的长 度固定时,该数据项的长度甚至可以不编码。 p e r 长度段的编码规则也要复杂得多,这方面的论述在x 6 9 1 中占据了相当大 的篇幅。 3 ) 对数字类型的编码更加精简 在对i n t e g e r 等数字类型( 包括i n t e g e r 和一些类型的长度值编码的情况) 进行编码时,b e r 是直

温馨提示

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

评论

0/150

提交评论