(信号与信息处理专业论文)p2p+sip技术在企业中的高可用性应用研究.pdf_第1页
(信号与信息处理专业论文)p2p+sip技术在企业中的高可用性应用研究.pdf_第2页
(信号与信息处理专业论文)p2p+sip技术在企业中的高可用性应用研究.pdf_第3页
(信号与信息处理专业论文)p2p+sip技术在企业中的高可用性应用研究.pdf_第4页
(信号与信息处理专业论文)p2p+sip技术在企业中的高可用性应用研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(信号与信息处理专业论文)p2p+sip技术在企业中的高可用性应用研究.pdf.pdf 免费下载

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

文档简介

独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 王羞a 煮 日期: 2 q q 生3 旦1 5 目迎:互夕 关于论文使削授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校 攻读学位期间论文工作的知识产权单位属:b 京邮电大学。学校有权保留并向国家有关部门或 机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。( 保密的学位 论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注释:本 学位论文不属于保密范围,适用本授权书。 本人签名:一王羞趁马 日期: 2 q 逝生3 臼! 旦塑:至! p 导师签名:手为害舡 日期:为“l 苒3 乒_ p 2 ps i p 技术在企业中的高可用性应用研究 摘要 s 口( s e s s i o nh l i 血t i o np r o t o c 0 1 ) 是由i e t f ( i n t 黜e te n 百n e e 血g1 懿kf o r c e ) 组织于1 9 9 9 年提出的一个在基于口网络中,特别是在i n t c r n e t 这样一种结构的 网络环境中,实现实时通信应用的一种应用层的信令控制协议,具有简单、开放、 灵活、可扩展等多方面明显优点,成为下一代网络软交换体系的重要技术。s i p 中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务器建立连 接的应用程序。服务器是用于向客户机发来的请求提供服务并回送应答的应用程 序。总之s 口是c s 结构,那么就存在c s 结构普遍存在的缺点,具有存在单点 故障,服务器配置问题,不能快速组网等等问题。而p 2 p ( p e e rt op e e r ) 就是一 种用于不同p c 用户之间,不经过中继设备直接交换数据或服务的技术。每个人 可以直接连接到其他用户的计算机,而不需要通过服务器进行计算机之间的通 信。p 2 p 系统具有易升级和可靠的特点因为不存在单点故障的问题。所以,我们 想到一个问题就是可不可以用p 2 p 的技术去克服s i p 存在的问题,但是又不影 响s i p 的功能。我们都知道s i p 中服务器的作用是帮助s i pu a 进行用户之间的 定位。所以我们只要想出一个办法可以定位到用户,那么就可以去掉s i p 中的服 务器,就是说可以把c s 结构改造成p 2 p 结构。s i p 和p 2 p 结构共同的特点是都 需要注册,才能进行定位。因此本论文中把s i p 的注册和资源定位问题用p 2 p 去实现,利用p 2 p 系统的路由特点,照样能实现s 口的定位功能,不影响s i p 的 功能,而又克服了s i pc s 结构的很多憋端。s m 的u a 对应p 2 p 的p e e r 本文的 主要工作在于方案的提出和消息的研究上,因为消息需要扩展。而接着又用这个 框架去解决一些企业中常存在的问题,比如负载均衡等问题,这一部分的内容研 究不是特别深,但是已经发现了研究的方向和价值,另外还对p 2 ps i p 系统存在 的一些问题进行了阐述。 关键词p 2 p s i p 资源定位注册 t ea n a l y s i so fh i g ha a l l a b i l i t y o fp 2 ps i pt e c h n o l o g yi ne n t e r p s e a b s t r a c t t h es e s 8 i o ni n i t i a t i o np r o t o c o l ( s p ) i san e ws i g n a h n g ,p r 鹤e n c ea f l dm s 咖tm 髓蚰g i l l g p m t o c o ld e v e l 印e dt 0s e t 坤,m o d i 甄眦dt e a rd o w nm l l t i m 酣i as 髓硝蚰s ,r e q i l e 8 ta n dd e l i v e r p r e s c n c e 蛆di n s c a n tm 髑s a g e so v e rt l l e1 1 1 t e m e t e x i s t i n gh l t e m e tt e i e p h o n yc l i t _ s e r v e r 枷t e c t l l r eb a 8 e do ns i p0 rh 3 2 3t y p i c a l l ye m p l o yar e 百s 订 描叩s e r 忙rf 打d o m a i l l t h eu s e r a 2 雠t so f 1 e u s e r s 证m e d 砌a 恤f e 萄s t e f t h e i r 口a d d r e s 8 鹳w i 也t h e & e r v e r 也a t 也e o 也盯u s e r s c a nr e a c ht h e m s c a l a b i i i t ) ra i l dr e i i a b i l i t yo fs u c hs e 押e r 七a s e ds ”i 砌sa r ea c h i e v e du 8 i n g 打a d i d o n a lr 。d l l n d a n c y 稠d 撕l o v e rm e 出o d ss u c ha sd n s ,口a d d r e s st a k o d v 盯,m a ca d d r e s s t a k v 嚣o ra p p i i c 确o nl a y 盯s w i l c h e s t h em a j o r i t yo fm es y s t e f nc o s ti s 血m a i n 缸l a n c e8 芏l d c o 右g m m t i 伽,e y p i c a i l yb yad 洲c a t e ds y s t e ma d m i n i s n 丑t o ri t l l h ed o m a i l l i ta l s om e a n st h a l q m k l ys e m l 培u p l h es y s t e m i nas m a l le n v i r o m n 曲t i sn o te a $ y w ec a ns e ea ss m b a s e d v o i c e o v e ri p( v o i p ) s 蜘e n l 8h a v ei n c r e a s e di np d p u l a r i 咄s i t 帆t i o n sh a v ee m e r g e d w b 船ec e n 廿a l i z e ds c r v 邯a r ee i t h e ri n c o n v e n j c n to rl l i l d e s i m b l e o t l l eo m e rh a n d , p 2 ps y s t e m sa r ci n l 】翩锄l ys c i a b l ea 1 1 dr e l i a b l eb e c a u s eo ft h e1 a c ko fas i n 西ep o i n t 缸l l l r e a 1 1p a n i d p 锄t sa r cp e e r sa 1 1 dc o m m l l i l i c a t ei nd i s t m u t e d ,p o t c l l t i a l l y u n t m s t e dc i l v i m n m e n 匕t oa c b j e v eac c n a i no b j e c 垃v es u c ha s1 0 c a t i n gm u s i c 丘l e so r u s e r s a n dt h e w ec o n s i d e ra b o u tt h ep f o b l e mo fc o m b i n i n g 廿l ep 2 pa n ds i p t e d m o l o g yt oa d i l i e v es o m ep r o d u c t i o n b e c a u s eb o t l lm es i pc sa r c l l i t e c t l l r ea 1 1 d p 2 pa r c h i t e c t u r cn e e dr e 西s 打a t i o na n dl o c a d o np m c e s s w ea 1 1 a l y z eu s i n gp 2 p 枷t e c t i l r et oi n m i e i i l 锄ts i p 俞m c t i o n 卸do v e r c o m es o m ef a u l t so fm ec s a r 吐血e c m r e h e r ew em a i l l l yd og o m ew o r ki nu s i n gp 2 po v e d a yt oi m p l c m e n ts i p r e 酊s h a t i o na n dr e s o u r c e1 0 c a t i o n a sw ei m o wa sl o n ga sl o c a t i o ni sf i n i s h e dt h e s e s s i o ni se s t a b l i s h e d t h e nl o c a t i o ni sa n 嫱l p o r t 眦ts t e pi ns i p 如n c t i o n a n dt h e a i l t 缸o rs t 印o fr c s o u r c el o c a t i o ni sr e 百s 仃a t i o na n dw ea i s oe x t e n dt h i ss c h e f n et o r e s 0 1 v eo m e r 口r o b l e r n si ne n t e r p r i s es u c ha sl o a db a l 锄c i n gc t c ,a tl a s tw ea l s od i s c u s s s o m ee x i s t i n gp r o b l e mo f s u c h8 y s t e n l k e yw o r d sp 2 ps 口r e s o u r c el o c a t i o n r e 垂s 删i o n 3 1 1 研究背景 第一章绪论 近年来,随着计算机通信,软件技术和芯片技术的革命性突破,使i n 嘧n e t 成为全球最大,发展最快的网络,人们对通信的需求也逐渐她由对语音业务的简 单需求发展到对数据,图像,语音业务的综合需求,电路交换网( p s t n ,p u b l i c s w t c h e d l h c p h o n e n e 呻o r k ) 业务的局限性愈显突出。从另一个角度看,电路交 换网必将被分组网络替代,分组网络的业务需求将更为复杂,丰富和个性化,人 们在期盼着由下一代网络( n g n ,n e x tg c n e r a t i o nn e t v o r k ) 来提供下一代网络的 新型通信业务。 n g n 的目标是建设一个能够提供话音、数据、多媒体等多种业务的,集通 信、信息、电子商务、娱乐于一体,满足自由通信的分组融合网络。为了实现这 一目标,i e t f ,i t u - t 制定并完善了一系列标准协议:h t 2 4 8 ,m e g a c o ,s i p ,b i c c , s i g t r 硼,h 3 2 3 。其中,会话初始协议( s i p ,s e s s i o nh l i t i a t i o np r o t o c 0 1 ) 是n g n 系列 协议的重要组成部分,它体现了i p 电话向商业电话模式演进趋势,向用户提供强 大功能。s i p 协议的开发目的是用来帮助提供跨越i n t 啪c t 的高级电话业务。 i n t e m e t 电话( 1 p 电话) 正在向一种正式的商业电话模式演进,s i p 就是用来确保这 种演进实现的n c n 系列协议中重要的一员。 s i p 协议是一个正在发展和研究中的协议。一方面,它借鉴了其它i n t e m e t 标准和协议的设计思想,在风格上遵循i n t e m d 一贯坚持的简练、开放、兼容 和可扩展等原则,并且充分注意到i n t e m e t 开放而复杂的网络环境下的安全问 题。另一方面,它也充分考虑了对传统公众电话网的各种业务,包括i n 业务和 i s d n 附加业务的支持。 p 2 p 也称为对等网或点对点技术。随着网络在内容和连接设备数量上的发 展,p 2 p 网络变得越来越流行。p 2 p 作为一种网络模型,其中所有的节点是对等 的,这些对等的节点称为对等点。各节点具有相同的责任与能力协同完成任务。 对等点之间通过直接互连共享信息资源,处理器资源,存储器资源甚至高速缓存 资源等,无需依赖集中式服务器或资源就可完成。这种模式与当今广泛使用的 c s 的网络模式形成鲜明对比,c s 模式中服务器是网络的控制核心,而p 2 p 模 式的节点则具有很高的自制性和随意性。由于采用了分布式策略,避免了传统的 c s 模式中由于服务集中而引起的网络带宽瓶颈,性能瓶颈,及安全问题。 我们结合已有的开源的,标准的s i p 和具有自组特性的d h tp 2 p 协议结合起 来构成开放的,标准的解决方案去杠杆现有的应用和设备。现有的v 0 口系统需 要定位资源,会话建立和管理。资源定位找到和定位网络架构中的其他用户并建 立通话。会话建立和管理允许用户初始化跟其他用户的多媒体会话或文本会话, 并且管理此会话至结束。现在大多数v o 口系统是集中型系统即c s 结构。用户 通过u a 与系统连接。u a 可以是软件的形势或者硬件设备。其实s i p 中的会话 建立可以不通过代理服务器,只要知道对方的地址。所以我们可以用p 2 p 去实 现s i p 中的资源定位,而不用传统的s 口代理,就可以把传统的s m 结构改变成 p 2 p 结构,克服了c s 结构存在的很多问题。 更重要的是我们可以结合s 口和p 2 p 两种技术,进一步去解决企业中的其 他一些问题,如单点故障,负载均衡等问题。所以这是一个非常值得研究的一种 技术。 1 2 项目背景 本人在硕士研究生期间,主要从事通信网的研究开发工作,本课题研究内容 在北京软信通科技有限公司进行的,该公司主要致力于软交换、智能网及相关产 品的研发和生产,为电信运营商、电信增值服务提供商、企业集团用户提供面向 i p 宽带网络的语音、数据和多媒体融合的多业务统一通信平台的完整解决方案。 公司做的产品m c x ( 配有软交换和其他一些功能的p b x ) 上配有s i p 实体,我们需 要一些措施来解决s i p 网络的c s 结构存在的一些憋端和其他一些问题,我们决定 结合p 2 p 技术来解决c s 结构中的一些憋端。而该项目是个预言性项目,理论性 较强,而且由于一些条件的限制,实现部分还不够完整。 具体来说,我在攻读学位期间该论文相关的研究主要包括以下三个方面: 1 对现有的s 口协议进行了深入的研究。对s i p 的体系结构( 包括用户代理、 网络服务器) 、s m 消息以及s i p 操作,研究s i p 协议基本语音通信流程等。 2 p 2 p 系统的架构分析,p 2 p 软件如s k y p e b t ,c h o r d 等软件的研究,c h o r d 源码的 研读,源码修改等。 3 需求分析,p 2 ps i p 英文草稿的研读,p 2 ps 口技术的原理,架构的分析,方 案的设计,改善,部分测试环境的搭建,测试等。 2 1 s i p 协议概述 第二章s i p 协议发展 s i p ( s e s s i o ni n i t i a t i o np r o t o c 0 1 ,会话启动协议) 是由i e t f ( i n t e r n e t 工程任务组) 于1 9 9 9 年提出的i p 电话信令协议,其主要目的是为了解决i p 网络中 的信令控制以及同软交换( s o f t s w i t c h ) 的通信,从而构成下一代的增值业务平 台。 2 1 1s i p 的基本概念 s i p 作为一个应用层的多媒体会话信令协议,可以用来创建、修改和终结一 个或多个参加者参加的会话进程。这些会话包括i n t e r n e t 多媒体会议、i n t e r n e t 电话、远程教育以及远程医疗等。参加会话的成员可以通过组播方式、单播连网 方式或者两者结合的方式进行通信。 s i p 利用带有会话描述的s i p 邀请消息来创建会话,以使参加者能够通过s i p 交互进行媒体类型协商。会话本身可以通过基于组播协议的会话通告协议( s a p ) 、 电子邮件、网页通告以及轻量级号薄访问协议( l d a p ) 等方式预先通告各个可能的 参加者 2 1 2s i p 的特点 s i p 从逻辑上分是一个四层结构,既底层( 语法与编码) 、传输层、事务层和 事务用户层s i p 借鉴了其他i n t e r n e t 标准和协议的设计思想,是一个与h t t p 和 s m t p 类似的、基于文本的协议。它在设计上充分考虑了其他协议的可扩展性,具 有灵活的扩展机制和强大的能力协商机制。 s i p 独立与媒体,任何多媒体应用( 例如:游戏、远程教学) 都可以使用s i p 来建立会话。s i p 独立于传输层协议和其它会议控制协议。它可以与其他协议一 起构建i n t e r n e t 多媒体通信系统,这些协议包括r s v p ( 资源预留协议) ,r t p r t c p ( 实时传输实时传输控制协议) ,s d p ( 会话描述协议) ,s a p ( 会话通告协议) ,r t s p ( 实时流协议) ,s c c p ( 简单会议控制协议) 等。s i p 协议应和这些协议配合,向用 户提供完整的服务。但,s i p 协议的功能和操作不依赖于上述任何协议。典型的 协议栈框架如图2 1 所示 嗣螨簦 链酷攫 糖理震 圈备1 囊燮坤奄 毳褥漩捷 需要注意的是,s i p 协议本身并不提供业务或服务,但s i p 提供基本原语 ( p 血面t i v 曲用于实现不同的业务。傍j 如,s 口能够定位一个用户并向其不透明 地传送一对象,如果这一s i p 原语中携带的对象为一会话描述,且此会话描述使 用s d p 协议,则端用户可以对此s d p 描述的会话参数进行协商。另一方面,如 果相同的原语用于传递主叫用户的照片,则“主叫标识( c a l l e ri d ”业务可以 很容易地实现。也就是说,在s i p 协议中,相同的一条通信原语可以用于提供不 同的业务。s i p 不提供会议控制服务f 如发言控制、投票等) ,也不能预留资源, 但是可用s 理弓l 入会议控制协议和资源预留协议。业务提供的安全性是至关重要 的,因此,s i p 协议中提供了一整套的安全机制,其中包括防止d o s 攻击,鉴权f 端 用户之间,服务器到用户之间) 机制,完整性保护和消息加密等。 3 2 1 3s i p 的主要功能 总的来说,s i p 能够支持以下几种多媒体通信的信令功能: 用户位置,确定参加通信的终端用户的位置; 终端能力协商,确定通信的媒体类型和参数: 用户意愿交互,确定被删是否愿意参加某个会话: 建立呼叫,包括向被叫“振铃”,确定主叫和被叫的呼叫参数; 呼叫处理和控制,包括呼叫重定向、呼嘲转移、中止呼叫等等: 多点传送会议邀请。 s 【p 可以通过m c n 、单播联网方式或组播方式刨建多方会话,支持p s t n 和 0 i n t e m e t 电话之间的网关功能。s i p 同时支持i p v 4 与i p v 6 _ 【4 】 2 2s i p 与h 3 2 3 的比较 3 2 3 是i t u 玎第1 6 工作组的建议,是为在网络上实现多媒体业务( 实时的语 音、视频和数据) 而制定的。它规范了多媒体业务的成分、协议以及处理过程。 i i 3 2 3 由一组协议构成,其中有负责音频与视频信号的编码、解码和包装,有负 责呼叫信令收发和控制的信令,还有负责能力交换的信令,可以实现语音( i p p h o n c ) 、视频( 可视电话) 和数据的融合。h t 3 2 3 推出较早,协议发展得比较成 熟,其优点在于对网络结构、操作系统和硬件平台没有依赖性,可以提供多点功 能、组播和带宽管理,而且支持不同功能节点间和不同网络间的会议。h 3 2 3 和 s 碑设计之初都是作为多媒体通信的应用层控制( 信令) 协议,它们能实现的信令 功能基本相同,也都利用r t p 作为媒体传输的协议,但两者的设计风格截然不同。 比较而言,s i p 的优势主要有以下几点: 1 ,s i p 是基于文本的协议,而h 3 2 3 采用基于a s n i 和压缩编码规则的二 进制方法表示其消息,因此,s i p 对以文本形式表示的消息的词法和语法分析就 比较简单,易于解析和调试。 2 ,s i p 会话请求过程和媒体协商过程等是一起进行的,因此呼叫建立时间短。 而在h 3 2 3 中呼叫建立过程和进行媒体参数等协商的信令控制过程是分开进的。 3 ,h 3 2 3 为实现补充业务定义了专门的协议,如h 4 5 0 1 ,h 4 5 0 2 和h 4 5 0 - 3 等,架构复杂,在扩充能力的实现上存在互操作性问题而s 口只要充分利用已定 义的头域,必要时对头域进行简单扩展就能很方便地支持补充业务或智能业务, 因此具有丰富的扩充能力和兼容功能。 4 ,h 3 2 3 进行集中、层次式控制。尽管集中控制便于管理( 如便于计费和带宽 管理等) ,但是当用于控制大型会议电话时,h 3 2 3 中执行会议控制功能的多点控 制单元很可能成为瓶颈。而s i p 类似于其他的i n t e m e t 协议,设计上就是为分布式 的呼叫模型服务的,具有分布式的组播功能,从而把网络设备的复杂性推向了网 络边缘。 5 ,h 3 2 3 最早是为单个l a n 的应用考虑的,在w a n ( 特别是存在大量h 3 2 3 域 时) 上寻址、用户定位和环路检测方面较欠缺。而s m 采用类似b g p 的环路检测机 制,可以队无状态的方式执行。s p 在风格上遵循了i n t c r i l e t 一贯坚持的简练、开 放、兼容和可扩展等原则,能够快速、轻松地部署和管理各种应用,这一点对于 基于业务的网络发展方向来说至关重要。 5 】 2 3s i p 协议结构框架 s 是分层结构协议。其逻辑层次结构如图2 - 2 所示。 【1 1 1 目2 4 s 职棒诳分蓉赭鞫 s 口协议的最底层为语法和编解码层。s 球消息使用a b n f 语法进行描述, 这一层详细定义了s 口消息的格式。 第二层为传输层。该层主要定义了客户端如何通过网络发送请求和接收响应 以及服务器端如何通过网络接收请求和发送响应的细节。所有的s i p 单元( e l e m e n t ) 均包含传输层。 第三层为事务层。事务层是s 口中的基础组件。所谓事务,是客户端向服器 端发送的请求及其相应所有后继响应所组成的集合。事务层负责处理应用层消息 的重传、将收到的响应匹配至请求,并处理应用层的超时事件等。u a cf u s e r a g e e n tc l i e n t ) 完成的任何消息交互任务都是通过一系列事务来进行的。事务层都 包含着一个客户端组件和一个服务器端组件。每一组件都有一有限状态机维护, 该有限状态机详细定义了处理请求的过程。 事务层之上的第四层称之为事务用户层r r r a l l s a c t i o nu s 神。每一s i p 实体,除 了无状态的代理服务器( s t a t e l e s sp r o x y ) ,都是一个t u 。当t u 想要发送一请求时, 它创建一客户端事务实例,并将请求消息以及目的i p 地址、端口号传递给这一客 户端事务实例,由客户端事务实例完成消息的发送和响应消息的接收。 上述s l p 中定义的层与层之间是一种松耦合关系,且并不是所有的s i p 单元都 包含s d 协议中定义的每一层。s i p 中所说的单元仅具有逻辑意义,并不是物理单 元。一个具体的物理实现可能包含若干个逻辑单元所具有的功能。【8 】 2 4 基于s i p 的网络结构 s 口采用的是客户服务器( c s ) 控制方式。呼叫控制请求发出方称为客户, 请求接收和处理方称为服务器。由于端系统既可能发出请求,又可能接收请求, 因此s i p 端系统应包含一个客户协议程序和一个服务器协议程序,分别称为用户 代理客户端( u a c ) 和用户代理服务器( u a s ) u a c 是一逻辑实体,它负责产生请求 消息,并使用客户端事务有限状态机将其发送出去。同样地,u a s 也是 一逻辑实体,根据相应的s i p 请求产生响应消息,响应可以是接收、拒绝或重定 向该请求。在s i p 网络中有两类服务器: 代理服务器( p r o x ys e r v 呻:s 婵请求可经由多个代理服务器,每个服务器接 收请求后将其转发给下一跳服务器。下一跳可能是另一个代理服务器,也可能是 最终的用户代理服务器。代理服务器又可进一步划分为有状态( s t a l e 血1 ) 和无状态 ( s t a t e l e s s ) 两类。其中,有状态代理服务器记忆所有入向和出向请求以及对应的响 应,在处理某一s i p 请求期间维护客户端和服务器端事务状态机,因此可以掌握 每个呼叫的进展状态,实旌相应的控制策略。其控制能力强,但处理开销比较大, 一般位于用户代理附近,软交换设备即在此基础上构成。无状态代理服务器不记 忆任何信息,它仅转发从下行流( d o w n s 廿e a m ) 收到的请求和从上行流( u p s 骶a m ) 收到的响应消息,因此其处理任务简单,处理速度快,可用作s i p 核心网络的高 速转发设备。 重定向服务器( r e d i r e c ts e r v c r ) :其功能是通过响应( 3 x x 响应) 告诉 客户下一跳服务器的地址,然后客户根据此地址向下一跳服务器重新发送请求。 n 1 1 一啊 瓣暑穗辨麴c 塌翘甜精张 图2 - 3 示出s i p 的c s 网络结构。由图可见,代理服务器和重定向服务器在确定下 一跳服务器时都可能向定位服务器( l o c a t i o ns e r v 神发出查询请求。s i p 重定向服 务器或代理服务器可从定位服务器获得被叫可能的位置。定位服务器处维持着记 录地址( a o r a d 出e s so f r e c o r d ) 和联系地址( c o n t a c ta d d r 鹤s ) 绑定的列表,这一 列表信息通过用户的r e g i s t e r 消息建立或修改。查询该服务器可采用多种协 议,如矗n 2 暇l n a p 或基于多播的协议。考虑到用户的移动性,用户可能会在多 个主机上登录,因此定位服务器有可能返回多个位置信息。如果重定向服务器收 到多个位置指示,则将这些位置信息全部回送给客户;如果代理服务器收到多个 位置指示,则可按顺序方式或并行方式逐一试探这些位置,直至呼叫成功或被用 户拒绝为止。s 口请求到达端用户后,用户代理服务器通常根据使用者的交互信 息或其他输入信息做出响应。 2 5s i p 消息 s i p 消息是s i p 客户机和服务器之间通信的基本信息单元。s 弹是一个基于 文本的协议,s i p 消息采用u t f 一8 ( r f c 2 2 7 9 ) 编码的i s o 1 0 6 4 6 字符集 为基础【2 3 】,以空格为词间隔符,以c r l f 为行结束符。s 口协议借鉴了m t p 协 议( r f c 2 0 6 8 ) 1 4 l 的设计思想,有很多的消息格式与之相同。协议基本上采用 a b n f :a l 碹m t e db a d a i s _ n a l l rf o r n l ( r f c 2 2 3 4 ) 2 5 】语法形式描述s 伊消息及其 包含的子域。与h t r p 协议不同,s i p 协议支持u d p 传输协议,所以对于发送的 u d p 数据报,包括所有的头和消息体不应超过所经路径上的最大传输单m t u ( 如 果所经路径的m t u 己知) ,默认的m t u 大小为1 5 0 0 字节。 2 5 1s i p 消息的通用格式 s 消息包括从客户机向服务器发送的请求或服务器向客户机发送的应答, 也就是说s i p 消息分为两大类:请求消息和应答消息。即 s i p m e s s a g e = m x l u e s t sr 唧o n s e ; s 口消息,不管是请求消息还是应答消息,其格式都遵循n e m e t 文本消息格式标 准( r f c 8 2 2 ) 2 4 】。通用消息( g e n 甜c - m e s s a g e ) 格式定义如下: g e n e r i c - m e s s a g e = s t a r t l i n e m e s s a g e - h e a d e r c r l f m c s s a 罟p b o d y 】 所有消息都由三部分组成:一个s t a r t 1 i n e ,一个或多个头域和消息体部分f 消 息体可以为空) 。它们以行为单位组织在一起。每个头域就是一行,s t a r t 1 i l l e 和 所有头域合起来,相对于消息体而称之为消息头,消息头与消息体之间由一空行 隔开。对s t a n - l m e 和m e s 鼢g e - h e a d e r 的进一步限定就形成了下面s i p 消息的通用 格式 s t a r t - l i n e = r o q u e s t l i n eis t a t i 硌一l i n e ; 1 4 m e s s a g e - h e a d e r2 ( g e n 盯a l _ h e a d c r i r e q u e s t m e a d e r i r e s p o n s e - h e a d e f l c i l t i 睁h e a d e r ) 可以看出,通过s t a r t 1 m e 区分请求消息和应答消息:如s t a m l i n e = r e 口u e s t l i n e , 则该消息为请求消息;如s t a m l i n e = s t a t i l s l i n e ,则该消息为应答消息。消息头域 分成四类:g e i l e r “h e a d r e q u e s t - h e a d r c s p o n s c _ h e a d 盯和饥t i 妒h e a d e r 。 g e l l e r a l - h e a d e r 为描述消息基本属性的通用头域,可用于请求消息或应答消 息;r c q u e s t - h e a d c r 为请求头域,只可用于请求消息,它用来传递有关请求或客户 机本身的一些附加信息,对请求进行补充说明;r e s p o n s e - h e a d e r 为应答头域,只可 用于应答消息,它用来传递有关应答的附加信息,对应答进行补充说明,如有关 服务器的信息和需要作出的下一步动作的提示等;d t y - h e a d e r 是消息体头域,用 于描述消息体内容的长度、格式和编码类型等属性,可用于请求消息或应答消息。 头域h e a d * f i d d 一共有3 6 种,它们分别为: g e l l e r a l - h e a d e r 类: c a l l d ,f r o m ,t 0 ,a ,c o n t a c t , c s e q ,e n c r y p t i o n ,e x p i r c s ,r e c o r d - r o u t e , t i m e s l a m p ,d a t e ,a c c 印t ,a c c 印t e n c o d i n 吕a c c 印t l a n g u a g e ; e i 】t i t y _ h e a d e r 类: c o n t e n t - e n c o d i l l g ,c o n t e n t l e n 癣h ,c o n t c l l t - t y p e ; r e q u e s t h e a d e r 类: s u b j e c 匕u s e r a g c n t ,o r g a i l i z a d o n ,c o n t a c t ,a u t l l o r i z a t i o n ,p r o x y - a u 廿l o r i z a t i o n , p r o x y r 田u i r e ,r e s p o n s e k e y ,r e q u h ,p r i o r i t y ,h i d e ,r o u t e ,m a x f o n 盯d s : r e s p o n s e h e a d 盯类: p r o x y - a u 也e n t i c a t e ,w r w a u m 觚t i c a t e ,r e t 妒a r e r ,s e r v e f ,w 锄i n 舀a l l o w , u n s u p p o r t e d ; 每个头域都由域名f i e l d _ n 锄e 和域值6 e l d v a l u e 两部分组成,中间以“:”冒号相隔。 一般对域值f i e l d - v a l u e 的规定和解释与具体各个域名f i e l d m 锄e 有关。下面是一些 头域的举例: a c c e p t :a p p l i c a t i o n s d p ;1 e v e l = l ,印p l i c a t i o t l ,x p r i v a f e ,t e x 讹n d c a l l d :1 2 2 3 9 6 7 2 3 5 b u p t e d u c n c o n t e n t l c n g c h :2 5 8 7 h i d e :r c 岷t e c o n t a c t :s p :w a t s o n t s i n 曲u a e d u c n ;t a g = 1 2 3 ;q = 0 7 ,m a i h o :w a 乜o n n o ”b u p t e d u c i l t o :t c l :0 1 0 6 2 2 8 6 1 9 8 f m m :6 2 2 8 6 1 9 8 p p h o n e g a t e w a y b t a c o m ;u s e f p h o n e s i p 协议对消息头中的部分头域作了强制性要求,即消息头中必须含有 t o ,f r o m ,c a l l i d ,c s c q 头域。下面是对一些重要的头域的详细解释。 1 1f r o m 头部 f 舢头部用以指示请求的发起者。服务器将此字段从请求消息复制到响应消 息。该字段的一般格式为: f r o m :显示名( s 坤一u r l ) ;t a g 黾x x x 其中,显示名为用户界面上显示的字符,如果系统不予显示,应置显示名为:“匿 名( a m o n y m o u s ) ”。显示名为任选子字段。t a g 称为标记,为1 6 进制字符串,中间 可带连字符“一”。标记值必须全局唯一。f m m 字段的示例可为: f r o m :”b o b ” ;t a g = a 4 8 s f r o m :s i p :+ 1 2 1 2 5 5 5 1 2 1 2 p h o n e 2 n e t c o m ;t a g = 8 8 7 s f r o m :a n o n y m 0 1 l s ;t a 卿y h 8 2 ) t o 头部 该字段指明请求的接收者,其格式和f m m 头部相同。t o 字段中的标记参数 可用于区分由同一s pu 刚标识的不同的用户实例。由于代理服务器可以并行 叉分( f b r k ) 发送多个请求,同一请求可能到达用户的不同实例( 如固定电话、移动 电话等) 。由于每个实例都可能响应,因此需用标记来区分来自不同用户的响应。 标记还能用于多播请求,籍此可在u a c 区分来自不同用户的响应。t o 字段中的 标记是由u a s 、登记服务器或重定向服务器置入,代理服务器不能在上行 ( u p s 仃e 锄) 前转的响应中加入标记。 3 ) c a l l _ d 头部 该字段用以标识一个特定的邀请或标识某一客户的所有登记。需要注意的 是,一个多媒体会议可能会有多个呼叫,每个呼叫有其自己的c a l l i d 。收到 i n 啪请求后,如果确认用户已对该c a l l i d 做出响应,则被叫u a s 不应再向用 户发出提示信息。如果用户已是某会议的成员,且会话描述中的会议参数也没有 变化,则被叫u a s 接受此呼叫,不做任何提示,也不校核c a l l i d 。若收到的邀请 的c a l l i d 己存在但会议参数发生变化,则用户应用程序可以通告用户,并自动接 受此邀请,也可等待用户的确认。c a l l i d 的般格式为:c a l l d :本地标识 主机 4 ) c s e q 头部 c s e q 称之为命令序号。客户在每个请求中应加入此字段,它由请求方法和一 个十进制序号组成。其中序号部分为3 2 b i t s 的无符号整数,但必须小于2 3l 由请求 客户选定,在c a l l i d 范围内唯一确定。序号初值可为任意值,其后具相同c a l l - i d 值,但不同请求方法、头部或消息体的请求,其c s e q 序号应加i 。重发请求的序 号保持不变。服务器将请求中的c s e q 值复制到响应消息中。a c k 和c a n c e l 请 求的c s e q 值和对应的玳t e 请求相同。u a s 必须记忆相同的c a l l d 的i n v i t e 请 求的最高序号,收到序号低于此值的i n v i t e 请求应在给出响应后予以丢弃。c s c q 的示例如下所示: c s e q :4 1 1 7i n v r r e 5 1 a 头部 a 字段用以指示请求历经的路径。它可以防止请求消息传送产生环路,并 确保响应和请求消息选择同样的路径,以保证通过防火墙或满足其他特定的选路 要求。 6 1m a 】【- f o r 啪r d s 头部 m a x f o 柳a r d s 头部指示了请求到达目的地的最大跳数。u a c 在每一请求消 息中必须插入此头部。该头部为一整数值,初始值应为7 0 ,每一跳代理服务器 负责将此头部值减1 。如果在没有到达目的地时m a x f o 州a r d s 头部值已减至0 , 则代理服务器回送“4 8 3t o om a n yh o p s ”响应。 7 ) c o n t a d 头部 该字段用于i n v i t e ,a c k 和r e g i s t e r 请求以及成功响应、呼叫进展响 应和重定向响应消息,其作用是给出其后和用户直接通信的地址。对i n v i t e 请 求的成功响应消息可包含c o n t a c t 字段,它使其后s l p 请求( 如a c k 请求) 可直接发 送该字段给定的地址。该地址一般是被叫主机的地址,如果该主机位于防火墙之 后,则为代理服务器地址。对应于i n v i t e 请求的呼叫进展响应消息中包含的 c o n f a c t 字段的含义和成功响应消息相同。但是,c a n c 丑l 请求不能直接发往该 地址,必须沿原请求发送的路径前传。r e g i s t e r 请求中的c o n t a c t 字段指明用户 可达位置。该请求还定义了通配c o n t a c t 字段“妒,它只能和值为。的e x p i r c 字 段配合使用,表示去除某用户的所有登记。c o n t a c t 字段也可设定e x p i r e 参数,给 定登记的失效时间。如果没有设定该参数,则用e x p i r e 字段值作为其缺省值。如 果两者均无,则认为在:r c 西s t r a r 处登记的s i pu r j 的失效时间为协议规定的默认时 间1 小时。r e g i s t e r 请求的成功响应消息中的c o n t a c t 字段返回该用户当前可达 的所有位置。 2 5 2s i p u i u l 结构 s i pu r l 用于标识使用s 邛协议访问的资源,其一般结构为 s :u s e r :p a 鹳w o r d h o s t :p o r t ;u r i - p a r 锄e t e 培? h e a d e r s 该结构和一般的u r j 相同。其中

温馨提示

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

最新文档

评论

0/150

提交评论