(计算机科学与技术专业论文)基于iua综合接入网关的研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于iua综合接入网关的研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于iua综合接入网关的研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于iua综合接入网关的研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于iua综合接入网关的研究与实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机科学与技术专业论文)基于iua综合接入网关的研究与实现.pdf.pdf 免费下载

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

文档简介

北京邮电大学硕士学位论文 基于iu a 综合接入网关的实现与研究 摘要 本文详细讨论了下一代网络中的关键网络元素综合接入网关的具体实现方 案。本方案采用i u a 作为适配协议。对i u a 协议进行深入研究,并提出了在综 合接入网关内部对于i u a 协议的具体实现,同其他进程的接口等各种问题,并 且对实现过程中的一些关键问题了提出了切实有效的解决方案。最后,对综合接 入网关的私网穿越问题提出了一种解决方案。论文主要分为四个部分。 第一部分概述了下一代网络的概念和特征。并对当前处于下一代网络接入层 的媒体网关的概念和功能进行了简单的介绍,对网关内部的协议分别从控制层, 接入层以及核心接入层等方面进行了简单的阐述。 第二部分对网关内部同i u a 协议存在接口关系的其他协议进行了简单的介 绍。对媒体控制协议h 2 4 8 协议的定义和功能进行了概述,并对其消息类型和结 构进行了解释。对网关信令侧的h 廿d 协议,从功能,接口以及消息类型进行 了概述。对s i g t ra n 协议族进行了简单的介绍。特别是对于底层的传送协议 s c r p ,对其传递信令的优势和可靠性进行了简单的描述。此外在本部分的最后, 还对s l g t r a n 协议的组网结构和模型进行了探讨。 第三部分详细讨论了i u a 协议的协议架构。首先对于i u a 协议能够提供的 业务从各个方面进行了详细的描述。其次,对于i u a 协议能够提供的功能进行 了阐述。再次对于i u a 能够提供的边界原语进行了详细的论述。在本部分的最 后,对于跟具体实现密切相关的i u a 协议过程进行了详细的探讨。 第四部分讨论了基于i u a 的综合接入网关的总体设计,i u a 适配层的协议栈 的总体设计。详细讨论了i u a 的消息类型和协议过程。首先,对接入网关内部 的i u a 进程同其他进程之间的接口进行了定义和设计。其次,根据i u a 进程的 消息流程,对协议的具体实现过程进行了详细的介绍。再次,根据具体实现过程 中所遇到的问题,结合当前的实际环境,对i u a 协议提出了一点改进意见。在 本部分的最后,还对信令网关的可靠性进行了研究和实现,其中包括a s 内部负 荷分担算法的设计与实现以及信令网关私网穿越问题的研究。 第五部分对本论文进行了概要的总结。 关键字接入网关,s i g t r a n ,i u a ,a s ,a s p h 2 4 8 - 1 1 一 北京邮电大学硕士学位论文 a b s t r a c t t h i st h e s i sm a i n l yd i s c u s s e st h ei m p l e m e n to fi n t e g r a t e da c c e s sg a t e w a yi nn e x t g e n e r a t i o nn e 帆o r k ( n g n ) a r c h i t e c t i l r e i n t e g r a t e da o c e s sg a t e w a yp l a y sa n i m p q r t a n lr o l ei nn g n ,a n dt h ef u n c t i o no fj ii s 虹a n s p o n i n gm e d j as t i 弓a m sa n dt h e s c ns i g n a l i n go v e ri pn e t w o t k m e d i ad a t ai sc o n t r o l l e db yh 2 4 8p r o t o c o l s ,a n dt h e t r a n s p o r to fs i g n a l i n gi si 1 i l p l e m e n t e db y1 u ap r o t o c o i i nt h i sp a p er ip a ym o r c a t t e n t i o no ni u a p r o t o c o l 锄dh a v ead e e pr e s e a 10 ni t a sar e s u l t ,ib r j n gf o r w a r d a ne f f e c t i v er e s o l v eo ns o m ek c yp r o b l e m s t 1 l ep a p c ri sd i v i d e di n t of i v ep a n f i r s t ,t h ep a p c rd i s c i l s s e d 1 e n c e p ta n d 也ec h a r a c t e r i s t i co fn g n a i l da l s o m a k e sas i m p l ep r e s e n t a t j o no fm e d i ag a t e w a yw l l i c hi n d u d e sc o n t r o ll a y e la c c e s s l a y e ra n dc o r cl a y e re t c i ns e c o n dp a r t ,i ld e s c r i b e st h e s ep r o t o o d l sw h i c hh a v ei n t e r f a c e sw i t hi u a p r o t o c o l ,s u c ha sh 2 4 8p r o i o 1w h i c hc a i i c o n t r o l st h em e d i as t r e a m s ,u 世d p r o t o c o lw h i c h 把m l i t e s1 s d ns i g n a l i g 飘dp a s s e si t t oi u a p r o t o c o li ni n t e g r a t e d a c c e s sg a t e w a y s c r pp r o l o c o lw h i c hc a i it r a l l s p o ni s d ns i 舯a l i i l go v e r i pn e t w o r k a sat r a n s p o r tl a y e rp f o t o c 0 1 i ta l s od i s “s ss i g t r a np r o t o o d ls u i t c sa r c h i t e c t u 坞,t h e s e r v i c ci tp r o v i d e st oi t su p p c rl a y c r ,i t sf i l n d i o na i l di m p l e m e n tr c 王a t e dk e yp r o c e d u r e i td e p i d st h ed 征f c r e n c e sb e 脚,e e ns i g t r a np m t o c o l ss u i t ea n dp s t n i s d n p r o t o c 0 1 s a tl a s t i td i s c u s s e st 1 1 e 咖o r km o d e l sw h j c hs 1 0 删p r o t o c o l sc a n c o m p o s e i nt l l i r dp a r t ,i td i s c u s s 也ei u a p r o t o ls u i t ea r c h i t e c t u r e ,t h es e r v i c ei tp r o v i d e s t oi t su p p e rl a y e r ,i t sf l i n c t i o na n di l p l e m e n tr e l a t e dk e yp i d c e d u r c i ta l s od e s c r i b e s t h eb o u n d a r yp r i m i t i v e si tc a np r o v i d e a tt h el a s to ft h i sp a n ,j tg i v e st l l ed e t a i l e d p r o t o c 0 1p r o c e s s e s t h ef o u t hp a r tj st h em o s ti m p o r f a n tp a no ft l l i sp a p e l “s h o w st h es y s t e md e s 蟾n o fi u a - b a s e di n t e g r a t e da c c e s sg a t e w a ya n dt h ed e t a i l e dj m p l e m e n t e dp m c e s so fi u a p o c e s s t h el a s tp a ns h o w st h ew o r kih a v ed o n ef o rt l l i ss u b j e c t k e yw o r d sa c c e s sg a t e w a ys i g t r a n ,i u a ,a s ,a sp h 2 4 8 7 - u 1 - i ! 窒墅皇盔兰堡主兰些笙苎 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内套以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 郭磊日期:乒。 ilii r t p# + 一+ # # * + - 一一+ # ( d i a ) # is c t pi i 霉 _ # 柚+ 一一一+ 嚣 d * * * * * * - * * | i * * 抖 尊重# b 1 l 一+ 一一+ # #l b 2 # - 一i _ oo 一卜一扣一 r t p #* 1+ 一+ l ( d i a ) # #l拈 # b 3 1 # 一#*# 嚣l嚣 嚣 l # # 聃# 柏# # # # l 蛐l# # # # # 孵鞴# 辅# # 黼 h e d i ag a t e a 9d i ab a t e w 叫 c 口n t r o l l e r 图4 4 媒体流和信令交互图 在上述方案中,虽然h 2 4 8 协议并没有同o 9 3 1 信令消息的中继传送没有直接 的联系,但是在h 2 4 8 协议和i u a 协议之间有些交互是必需的。例如,在h 2 4 8 协 北京邮电大学硕士学位论文 议的s e r v i c e c h a l l g e 消息和s c t p 关联的初始化是否之间必须进行同步。 本问题的解决方案如下:网关内部的h 2 4 8 进程并不知道d 信道的存在和信 令中继传输的的存在。但网关启动之后,它就发送s e i c e c h a n g e 消息告知媒体网 关控制器自己的存在,在其收到响应消息之后,下一步就要进行承载信令消息的 s c t p 链接的初始化。下表列出了在s e r v i c e c h a n 2 e 消息和s c t p 偶联的管理之间 的互相依赖关系。 h 2 4 8 s e r v j c e c h a n z e 消息 重启( r 0 0 t 或者所有的i s d n 终端) g r a c e f u l 关闭f r o o t 或者所有的i s d n 终 端1 强制关闭( r o o t 或者所有的i s d n 终端) 断开链接 h a l l d 0 毋m g c l 发送迁移消息给媒体网 关,告知其服务器从m g c l 转移到 m g c 2 、 f a i l o v e “m g l 发送h a l l d o 仃消息给媒体 网关控制器,告知其终端从m g l 改正到 m g 2 、 s c 砰偶联 媒体网关进行s c t p 偶联的初始化 媒体网关断开s c t p 偶联 媒体网关a b o r t s c t p 偶联 检查s c r p 偶联是否仍是可操作的,否 则进行初始化 媒体网关主动断开到m g c l 的偶联 媒体网关初始化到m g c 2 的偶联 如果m g l 和媒体网关控制器之间的 s c r p 偶联没有端口,在由m g c 主动发 起a b o n 命令 m g 2 主动发起s c l l p 偶联的初始化。 备注:1 只有当整个接入网关受到影响或者目前网关内部所有可用的i s d n 终端 收到影响的时候,r e s t a r t ,g r a c e 削f o r c e d s h u t d o w 的同步要求才是必须的,否则不 需要进行同步。 2 当一个i s d n 终端重启或者关闭的时候,s c 印偶联并不需要做任何变化。 这是因为,一旦一条s c r p 偶联建立之后,其内部包含的流的数量已经固定,是否用 来传送数据流并不受到任何影响。 3 媒体网关作为客户端,媒体网关控制器作为服务器端。 4 媒体网关已经和主媒体网关控制器及备用媒体网关控制器建立了s c t p 偶 联。 4 2 3 同s c t p 的接口 在第二章已经对s c t p 协议的基本概念进行了描述,在本节将会对s c t p 的应 用,以及它同上下层的接口进行进一步的描述和定义。 北京邮电大学硕士学位论文 4 2 3 1s c t p 的应用 s c t p 传送业务能够分解成如下几个功能块,如图4 5 所示。 s c t p 用户的应用 圈1 3s c t p 传送业务的功能图 图4 5s c t p 传送业务功能图 ( 1 ) 偶联( a s s o d a t i o n ) 的建立和释放 偶联是由s c r p 用户发起请求来启动的。出于安全的目的,为了避免遭受攻 击,在偶联的启动过程中采用了o k i e 机制。s c r p 提供了一个对激活偶联的完 善关闭程序,它必须根据s a 口用户的请求来执行,当然s c r p 也提供一种非完 善的关闭程序,这个程序的执行可以根据用户的请求未关闭也可以由s c t p 检小 差错来关闭。 s c r p 不支持这种半打开状态( 类似t c p ) ,即一端可以在另一端结束后继续 发送数据当一个端点执行了关闭程序后。对于完善的关闭程序,当一端点执行了 关闭后,在偶联的两端应停止接收从用户来的新数据,并只递交队列中的数据的。 ( 2 ) 流内数据的顺序递交 s c r p 中的流用来指示需要按顺序递交到高层协议的用户消息的序列,在同 一个流中的消息要按照其顺序进行递交。s c r p 用户能够在偶联建立时规定在一 个偶联中支持的流的个数,偶联中流的个数是可以协商的。用户消息可以通过流 号来进行关联。在发送端的s c r p 内部,s e r p 为每个通过s c r p 层的用户消息 分配一个流号。在接收端,s a r p 层保证在一个给定的流中把消息按照顺序递交 给s c t p 用户。只有当一个流被闭塞时,下一个被等待的连续的用户消息可以从 另外一个流上递交。 当然s c t p 也提供非顺序递交的业务,当收到用户消息可以使用这种方式立 一一一一一一 北京邮电大学硕士学位论文 即递交到s c r p 用户。 s c t p 用户可以在a s s o c i a t i o n 建立时指明a s s o c i a t i o n 支持的s t r e a m 的数量。 在这里要注意s c 狎和t c p 中流( s t r e a m ) 概念的不同: 在s c t p 中s t r e a m 指的是一列用户消息 在t c p 中s t r e 锄指的是一列b v t e ( 3 ) 用户数据分段 在需要的时候,s c r p 可以对用户消息进行分段,以确保发送到低层的s c t p 分组长度能够符合通路m t u 的要求。在接收方的s a r p ,在把消息递交给s c t p 用户之前,把各分段信息重组成完整的用户消息。 ( 4 ) 数据接收确认和避免拥塞 s c r p 为每个用户数据分段或未分段的消息分配一个传输顺序号码( t s n ) , t s n 独立于在流一级分配的任何流的顺序号码。因此接收方需要确认所有收到 的t s n ,尽管在接收序列中可能存在未收到的“缝隙”。所谓缝隙就是指未收到的 d a e a 数据块的t s n 间隔采用。采用这种方式就把可靠的递交功能与流内的顺 序递交功能相分离。 数据接收确认和拥塞避免功能可以在定时的接收确认没有收到时,负责对分 组进行重发。分组重发功能通过与用于t c p 协议类似的程序来实现。 ( 5 ) 块复用 s c t p 分组在发送到低层时要包含一个公共的分组头,随后跟着一个或多个 数据块。每个数据块中既可以包含用户数据,也可以包含s c r p 的控制信息。s c r p 用户具有有能力选择是否请求把多于一个的用_ 户消息捆绑在一个s c r p 分组中。 s c r p 的这种数据块捆绑的功能负责生成一个完整的s a r p 分组;在接收端,则 要对这个完整的s c 四分组进行分解。 在出现拥塞的时候,s c r p 的实旄仍旧可以执行捆绑功能,尽管用户己经请 求了s c r p 不必进行捆绑。用户禁止进行捆绑只影响s c r p 实施,即在传送之前 产生一个较小的时延。 ( 6 ) 分组的有效性 每个s c r p 公共分组头中都包含一个必备的验证标签字段3 2 比特长的校验 字段,验证标签的值由偶联的两端在偶联启动时选择。如果收到的分组中未包含 期望的验证标签值,则舍弃该分组。校验码由s a r p 分组的发送方设置,以提供 附加的保护用来避免有网络造成的数据差错。接收方对包含无效校验码的s c t p 分组予以丢弃。 ( 7 ) 通路关联 发送方的s c t p 用户能够使用一组传送地址作为s c r p 分组的目的地。s c t p 北京邮电大学硕士学位论文 通路管理功能根据s c r p 用户的指令和当前合格的目的地的可达性状态,为每个 发送的s c t p 分组选择一个目的地传送地址,通路管理功能通过心跳消息来监视 通路的可达性,并当任何远端传送地址发生状态变化时,向s c t p 用户指示。通 路管理功能也用来在偶联建立时,向远端报告合格的本地传送地址集,并且把从 远端返回的传送地址报告给本地s c r p 用户。 当偶联建立后,通路管理功能为每个s e r p 端点定义一个首选通路用未在正 常情况下发送s c t p 分组。在接收端,在处理s c t p 分组前,通路管理功能用来 验证输入的s c r p 分组是否属于存在的有效偶联。 42 3 2s c t p 边界描述 s c t p 通过接收高层协议( s c r p 用户) 发送原语请求为s a 瞪的用户提供的 业务,并且根据不同事件从s c r p 向s c r p 用户发送通知。下面的两个小节分别 列出了经常用到的s c t p 层同高层协议之间的接口函数。 4 2 3 2 1由高层协议向s c t p 发送的原语 1 ) i n m a i j z e ( 1 0 c a l p o r t ,【l o c a l e l i 酉b l ea d d r e s s l i s t 】) 返回结果:l o c a ls c r pi n s t a l l c en a m e 这个原语允许s c t p 启动其内部的数据结构,并为建立操作环境分配所需的 资源,一旦s c r p 启动,则高层协议就可以与其它s c l l p 端点直接通信,而不需一 要再调用该原语。s c r p 将向高层协议返回一个本地s c r p 实例名。 2 ) a s s o c “r e ( 1 0 c a ls c i n s t 柚c cn 锄e ,d e s t i n a t i o nt m 印o na d d r ,o u tb o u n d s t r e a mc o u n t ) 返回结果:a s s o c i a t j o ni d 【,d e s t i n a t i o nt r a n s p o na d d rl s t mo u tb o u n ds t r e 锄 c o u n t 】 该原语用来由高层启动个到特定端点的偶联。对等端点将按照在该端点定 义的传送地址的方式进行规定,如果本地s c r p 实例末启动,则认为该原语是一 个差错。 返回结果用来返回偶联是否成功建立,如果不成功,则返回一个差错,如果 偶联成功建立则返回结果中还应包含到对端的完整的传送地址己经本端点的输 出流的数量。 3 ) s h u t d o w n ( a s s o c j a t i o ni d ) 返回结果:r c s u l t 该原语用来完善地关闭一个偶联,任何本地排队的用户数据都将被递交到对 端。该偶联将在收到所有发送的s c r p 分组的证实后被中止。返回结果用来指示 北京邮电大学硕士学位论文 是否成功的关闭了该偶联。 4 ) s e n d ( a s s o c i a t i o ni d ;b u f :f e ra d d r e s s ,b y t ec o u n t ,c o n t e x t ,s t r e a mi d ,l i f et i m e 】【,d e s t i n a t j o nt r a n s p o r ta d d r e s s 】l ,u n o r d er n a g ) ,n o b u n d l en a g ,p a y l o a dp r o t o c o l i d ) 返回结果:r e s u l t s c t p 用户使用该原语通知s c r p 发送数据,返回结果用来指示是否成功的 发送了数据。 5 ) r e c e i v e ( a s s o c i a t i o n i d ,b u f f e ra d d r e s s b u f f e rs i z e ,s t r e a m i d ) j 压回结果:b y t ec o u n t ,t m n s p o r ta d d f e s s ,s l r c a i l l d ,s t r e a ms e o u e n c en u m b e r ,p a r t i a lf l a g 】 ,d e l i v e r yn u m b e r ,p a y l o a dp r o t o c o l i d 该原语用来把在s c r p 队列中的可用第一个用户消息读到由高层协议规定的 缓冲区中。所读消息的字节数将作为结果返回,如果有可能也可以返回其它信息。 如果s c r p 队列中没有消息,则可以向上返回这种情况,或者是先不执行该操作, 直到队列中有新消息为止。 6 ) s t 硝兀i s ( a s s o d a t i 0 j d ) 返回结果:s t a t u sd a t a 该原语用来要求s c 研返回一个包含以下信息的数据块:偶联连接状态、目 的地传送地址表、目的传送地址的可达性状态,当前的接收方窗口大小、当前的 拥塞窗口大小、未确认的d 加陡数据块的数量、收到的d 蝴r a 数据块的数量、 首选通路、首选通路上最近收到的s 肿、首选通路的r 1 d 和其它目的地地址的 s i t 和r t o 等。 4 z3 2 2 由s c t p 向高屡协议发送的通知原语 1 ) d a 工a a r r l v en o t i 石c “i o n 当一个用户消息被成功的接收,并且准备向高层恢复时,s c r p 将用该原语 通知高层协议。 2 ) s e n df a i l u r en o t i f i c a t i o n 当一个消息不能被s c r p 递交时,s c r p 将发送该原语通知高层协议。 3 ) n e t w o r ks 1 a t u sc h a n g en o t i f i c a t i o n 当目的地传送地址被标记为未激活时( 例如,当s c r p 检测出故障) ,或标 记为激活时( 当s c r p 检出故障恢复) ,s c r p 将用该原语通知高层协议。 4 ) c o m m u n i c 灯i o nu pn o t i f i c a t j o n s 口甲用该原语通知高层协议本地s c r p 己经准备好发送或接收用户数据, 或者是个丢失通信的端点又已经恢复。 5 ) c o m m u n i c a t i o nl o s tn o t j f j c a t i o n 当s c r p 完全丢失了到一个端点的通信时( 用心跳消息) ,或者是检出端点 1 4 0 北京邮电大学硕士学位论文 已经执行了中止操作,则s c t p 将使用咳原语通知高层协议。 6 ) c o m m u n i c a t i n ne r r o rn o t i f i c a t i o n 当s c t p 从对端收到了一个e r r o r 数据块,并且确定需要向高层协议通知 时,才使用该原语。 7 ) r e s t a r tn o t i 6 c a t i o n 当s c t p 检出其对端已经重新启动时,则可以用该原语通知高层协议。 8 ) s h u t d o w nc o m p l e t en o t i f i c a t j o n 当s c r p 己经完成了关闭程序后,则用该原语通知高层协议。 4 2 3 3 具体的接口实现过程 在具体的实现过程中,为了提高程序效率和健壮性,在上下层具体的实现过 程中做了一些改动。本节就对几个重要的接口进行简单的介绍。 4 2 3 3 1 初始化函数 在从m m i 接收到用户的配置信息之后,要由i u a 进程负责进行本地的s c t p 的初始化工作,以为下一步的建立s c r p 链接做好准备。具体的实现函数如下: s c i p i i l i t i a l i z c ( s t m c tt a gs c 耻l a d d r + p l o c a l a d d r “s t ,u j n t u p l _ m s g _ b o 均; 参数说明:p l d c a n d d r u s t 进程使用的i p 地址和端口对的列表 u p l - m s gb 0 x 该进程使用的信箱标号 返回值;无 功能:完成s c r p 的本地初始化工作,进行地址和邮箱的绑定工作 网关采用的操作系统为r m o s ,内部进程之间采用的是信箱通信,所以在 打算调用s c r p 功能的进程中,必须在调用之前,进行本地的s c 仰初始化,把自己 的i p 地址,端口和所用的信箱告诉s c r p 进程,这样就使得s c r p 进程在链接建立 失败,成功,收到数据等的时候能够发送消息指示到正确的进程。 4 2 3 3 2 链路状态管理函数 根据协议r f c3 0 5 7 ,在网络方案部署中,具有i u a 功能的媒体网关作为服务器 端,软交换平台作为客户端。在系统启动的时候,信令网关的i u a 进程并不主动发 起建立s c t p 链接的动作,而是由a s p 发起建链的请求。在具体的实现过程中,考 虑的实际情况,根据不同的情况采取不同的方案 如果a s p 支持主动发起链接,则信令网关在启动之后,只是等待对椎的s c t p 北京邮电大学硕士学位论文 建链指示。本模式也是默认模式。 如果a s p 并不主动发起链接,则由信令网关在启动之后,根据配置情况,在配置 选项中加载一个开关选项,主动发起建链请求。本模式为备用模式。 在i u a 进程处理s c r p 链路状态变化的时候,定义了一个通用的数据结构,用 来标示不同的事件,咀用来转移到不同的消息处理函数,具体如下: s t r u c ts c t p j l v u s h o r ts nt y p e ;消息类型 u s h o r t s n n a 萨; u i n ts n j e n 舀h : ; 其中s nt y p e 主要包含以下几类消息: 带d e f i n e s c r pa s s o c _ _ c h a n g e o x 0 0 0 1 偶联的状态发生变化 静d e f i n e s c r pp e e ra d d rc h a n g e 0 x 0 0 0 2 对端地址发生改变 埘e f i n e s c t pr e m o ,i ee r r o r o x o 0 0 3 远端节点错误 带d e f i n e s c t ps e n d 蹦l e d o x 0 0 0 4 数据发送失败 撑d e f i n e s c t ps h u t d o w ne n to x 0 0 0 5 链路断掉 列e f j n e s c l l pa d a p t i o n 刖d i o 锄o n o x o 0 0 6 链路自适应指示 托e f i n 毛s c r p 啪i a ld e u v e r ye v e n t 0 x o 0 0 7 部分失效指示 样d e f i n e s c r ps 田;t 王溘m 砌三s e te v e n to x o 0 0 8 流的数量重置指示。 其中最重要的是s c r pa s s o cc h a n g e 消息,其内部又可以分为几种不同 的偶联的状态变化的类型。具体的处理流程见图4 6 。 压丽再面闻 i 情息 图4 6s c r p 链路状态管理消息图 通过本小节中定义的接口,就能够完成s c r p 链路管理的功能,从而为下一步 的所要传送和接收的数据的收发,进行网关和软交换平台之间s c r p 链路的管理 i 窜蜜一几出 北京邮电大学硕士学位论文 以及为网关内部状态机的变化提供消息源的触发。 4 2 333 数据收发函数 为了方便上层数据对数据的处理,在s c t p 同i u a 之间定义了一个通用的数 据结构,如下: s t r u c ts c t p s n d r c v d a i a s t m c ts c t p s n d r c v i 0s n d r c v i n f o ; u i n td a t 4 j e n ; b y te d a t a 【l 】: ) ; 其中s n d r c v i l l f o 表示数据收发的s c r p 偶联i d ,其底层承载的流号码以及i p 地址信息,使得上层用户能够根据这些信息查询到进行消息处理的a sp ,该消息所 对应的e 1 端口等。 d a t a j e n 表示数据净荷的长度。 d a t a 表示数据在系统内存中的起始地址; 在i u a 进程收到底层的s c r p 进程发送上来的消息之后,进行解码之后就调 用消息处理函数,读取偶联i d ,流号码等消息,找到相应的消息处理的a s p ,然后调 用相应的函数进行下一步处理。 当i u a 进程希望给s c r p 进程发送消息时,同时也有定义的函数来使用,如下: v o i ds c t p s e n d ( u i i i ti l a s s o c i d ,b y t e4 p b u | l e r ,u s h o r tn c n t ,u i n tc o n t e x t ,w b r dn s t r e 锄i d ,u i n tn “f e t i m e ,蜀只a d d ra d e s h 气d d r ,i n tn u n o r d e 阑a g ,i n tn n o b u n d l e f l a g ,u i n ln p a y l o a d p o t o 耐i d ) 其中主要的参数说明如下: n a s s o d d :表示要承载该数据的偶联号; p b u f f e r :表示要发送的数据的起始地址; n c n t :表示数据的长度 n s t r e a m i d 表示数据在偶联内部占用的流号 如果i u a 进程有数据要发送出去的时候,就可以先按照消息的格式组好数据, 然后就可以把这段二进制流送到底层的s c r p 进程,由该进程负责数据往对端的 传送,期间只是加上自己的数据头部,并不对消息的内容进行更改。 北京邮电大学硕士学位论文 424 人机接口( 栅i ) 在信令网关内部,只包含有i s d n 的l 钟d 层,q 9 3 1 层在远端的a s p 上,因此 在信令网关中需要增加层管理的功能,用来对e 1 线路,s c t p 链接,网关内部的各 个状态机等进行管理。在协议文本中,s c r p 进程,i u a 进程都需要向层管理发送 统计信息,告警信息,诊断信息等,同时,层管理也会向s c t p 进程以及i u a 进程发 送请求,要求他们做出一些动作,来执行完成某些功能,举例如下。 为了管理信令网关和软交换之间的s c r p 偶联和业务,信令网关的i u a 层负 责维护所有已经动态注册的远端a s p 的状态,同时,还要维护远端a s p 的 激活去激活的状态。 本地管理可以通过原语指示本地i u a 层向对方的i u a 节点建立一个s c t p 偶联。可以通过使用m s c r p e s l a b u s h 原语r e q u e s t ( 请求) 、i n d i c a t e ( 指 示) 、c o n 矗m ( 确认) 和对端i u a 节点所建立的s c t p 偶联。 i u a 层可能也需要使用m s c r ps 1 肖n7 sr e q u e s t 和i n d i c a t i o n 原语来通知本 地管理相应的偶联状态。例如,i u a 可能会通知本地管理释放一个偶联,这 可由i u a 层内部的原语产生,也可由s c r p 传输层的原语产生。 在具体的实现过程中,把层管理的功能划分为数据配置模块,故障管理模块,性 能统计模块,调试观察模块,系统维护模块等。根据万林克公司的路由器系列,网关 系列等的解决方案以及便于用户操作,管理等因素,把层管理作为人机接口功能来 实现,由用户通过终端敲入相应的命令,配置系统参数,读取系统中存储参数等,来 实现层管理的功能。具体的实现如下。 4 2 4 1 数据配置功能 在实际应用中,需要对i u a 进程内部的a s ,a s p 以及i u a 层的参数进行配置, 比如i p 地址,端口,名称等。配置的时候把网关通过串口线同终端p c 相连,用户就 可以从终端上敲入命令,对网关参数进行配置。 在具体的实现过程中,对a s ,a s p 和i u a 参数采用一个通用的数据结构,把配 置信息顺序的填写到m e s s a g c 里面,来完成配置工具,该数据结构如下: s 仃i l c ti u j l o b l e c h a rn a m e 【m a x _ a s j 正n 】; i p a d d r1 0 c a l - i p l ; i p a d d r l o c a l i p 2 ; u i n tl o c a 上一s c t p _ p o r t ; 北京邮电大学硕士学位论文 u i n th e a r b e a t v a j u e : u i n tf a i l o v e rv a l u e ;+ 设置f a i l o v e tt i m e r 值,毫秒级4 u i n tt r a 岱c m o d e : u 弧s c t p u p _ r t x ;8 配置s c r p 重传间隔+ u i n ts c t p s t r e a m s ;配置某个a s 中s c r p 内部流的数量+ u i n is c t p j l i n i t ;4 设置s c t p t l 初始化定时器,毫秒级8 u i n ta s p _ n u m ;+ 设置该a s 内部包含的a s p 的数量4 b y t ed a t a 【4 】:丰该a s 内部所包含的a s p 的参数起始地址e ; s t n l c ti u a - a s p g l o b l e c h a ra s p - n a r n e 【m a 豇s p _ l e n 】; d l a ra s _ _ n 锄e 【 d a xa s l e n 】; i p a d d rl o c a l j p l ;,章配置主球地址+ i p a d d r1 0 c a l - j p 2 ; u i n tp o r t ; u i n ti p n u m :+ a s p 地址列表中的地址数量+ , u i n tm u l t i p o n ;p 获得计算i i d 的值时的参数+ u i n tm u l t i s l o t ;p 获得计算i i d 的值时的参数吖 一 u i n ik e e 岬j v e : u i n tp r e c e d e n c e ; u i n tm a x _ s c t p - a s s o c i a t i o n ;,该a s p 内部偶联的最大数量4 u i l l ts c t p - j a t h j c t r a n s ; u i n ts c t p j 3 - t i l l l e o u t ; b ”ed a t a 【1 】; ; 由于配置选项的包含问题,在增加和删除配置的时候要考虑顺序问题。 4 2 4 1 1 l u a 配置线索 程序内部的全局变量在i u a 协议初始化表启动时已存在,不能删除。对i u a 协议初始化表的修改只能在协议栈下次启动时生效。 增加i u a 配置表时,a s 表必须先于链路表,a s 表和a s p 表须先于a s a s p 表,其他的顺序不做限制。 一 f 北京邮电大学硕士学位论文 增加i u a 配置表顺序建议: l 、增加a s 记录; 2 ) 增力口a s p 记录; 3 ) 增加a s - a s p 记录,表示a s 和a s p 问的映射管理,一个a s 有哪些a s p 为 之服务。这些a s p 必须是前面第1 步已经增加了的; 4 ) 增加i u a d s s l 信令链路表,i u a d s s l 信令链路表中的a s i d 必须是前面第 2 步已经增加了的。 删除表时,须将a s 表中的链路全部删除才可以删除a s 表,删除a s p 表或a s 表时须将与其相关的a s a s p 表全部删除,其他的顺序不做限制。 表删除顺序建议: 1 ) 先删除i u a d s s l 信令链路表: 2 ) 删除a s 中为之服务的a s p ,即删除a s i d 相同的a s - a s p 表中的记录,这 些a s p 与s g 之间没有建立连接。删除前可以通过s h o wi u as t a t ea s p 命令, 确认a s p 为d o w n 状态; 3 ) 删除a s p 表,该a s p 与s g 之间没有建立连接。 4 ) 删除a s 表,确保该a s 表的所有链路都已删除,且没有为之服务的a s p ; 4 2 1 4 2 配置i u 从s 记景表 该命令用于向i u a 协议栈增加a s 。目前发送消息时接口标识只支持数字方 式,即只选0 。业务模式为主备和负荷分担两种,是指为该a s 服务的多个a s p 之间的业务分配方式。如果为主备则每次只能有一个a s p 可以处理该a s 的业 务,如果为负荷分担则允许同时有多个a s p 处理该a s 的业务,具体分配由固 定的分配算法决定。最小激活的a s p 个数是指要正常处理该a s 的业务需要多 少a s p 为其服务,最少为1 个。大于1 的值只对负荷分担方式有效,主备方式 恒为1 。a s 未决定时器的数值是指a s 处于激活状态时,由于为其服务的a s p 状态改变引起没有一个a s p 可以处理该a s 的业务时,a s 处于等待状态的时间, 该段时间内如果没有一个为其服务的a s p 状态转为激活,则a s 状态再发生迁 移。该值时间单位为m s ,最少不能小于1 s ,b 口不少于1 0 0 0 l l l l s 。 在数管模式下配置a a s 记录表。 配置i u a a s 记录表 l 操作l 命令 北京邮电大学硕士学位论文 操作命令 a d di u a a sa s j d a s i d 【i f - t e x t t r a n s m 氲 增加i u a 协议a si t e x t - t r a j l s m j t 】 t r a 雎c - m o d e 记录 t f a 蛳c m o d e m i n - a s p - a c t j v e m i n a s p - a c t i v e 【p d t i m e v a l u ep d t i t n e v a l u e 插入i u a 协议a si n s e ti u a a sa s i di f - t e x t t r a n s m i tt r a f n c m o d e 记录

温馨提示

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

评论

0/150

提交评论