欢迎来到优发表网

购物车(0)

期刊大全 杂志订阅 SCI期刊 期刊投稿 出版社 公文范文 精品范文

sip协议范文

时间:2023-02-16 23:28:54

序论:在您撰写sip协议时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。

sip协议

第1篇

【关键词】sip;网络;ngn

the application research of sip protocol

fu cheng-biao

(department of computer science and engineering qujing nomal university,qujing yunnan 655011,china)

【abstract】with the rapid development of ngn network, as a peer-to-peer protocol sip of ngn technology has been widely used in contemporary ngn network, has been a hotspot in current researches, this paper based on the analysis of the sip protocol, it is studied on the application of softswitch.

【key words】sip;network;ngn

1 sip协议分析

sip是internet工程任务组(ietf)推出的一种用于建立、修改和终止多媒体会话的应用层控制协议,通过组播或单播联系的网络进行通信[1]。sip支持会话描述,允许参与者在兼容媒体类型上协商达成一致。它还可以通过和重定向请求来支持用户移动性[2]。

sip协议中定义:sip消息是客户机和服务器之间通信的基本信息单元。它是一个基于utf-8的文本编码协议,语法消息描述如下:

1.1 通用格式

sip消息分为两大类:请求消息(request)和响应消息(response),其格式遵循rfc2822 internet文本消息格式标准。

通用消息格式定义如下:

start-line //起始行

message-header //头域字段

crlf //空行

[message-body] //消息体

1.2 请求消息

请求消息的定义如下:

request = request-line //请求行

*(general-header | request-header | entity-header) //头

crlf //空行

[message-body] //消息体

1.3 响应消息

当服务器收到一个sip请求消息,对其分析理解后,服务器需要根据具体请求要返回一个或多个消息,这就是sip响应消息。sip响应消息格式定义如下:

response=status-line //状态行

*(general-header | response-header | entity-header) //头

crlf //空行

[message-body] //消息体

sip响应消息的状态行由sip版本开始,接着是一个状态码,最后是一个与状态码相关的描述性短语(reason-phrase),然后由一个crlf行结束符结束。

响应消息中的响应状态码用来区分各种不同的sip响应。状态码是一个3位十进制整数,用来表示服务器对客户机所发请求的理解和执行结果。

由于在实际应用中,对请求消息的处理结果会因为情况的不同而不同,而且还会不断发展。因此,sip协议中对各种可能的响应情况进行了分类和编码。比如:1xx:标识临时消息,其含义是请求消息已收到,请等待对该请求的处理。

1.4 sip消息头域字段

sip的消息头域在语法和语义上都与http的头域非常相似,其格式如下:

header=“header-name”:header-value

sip的头域由头域名字和头域值组成,两者之间以冒号“:”分隔。允许一个头域有多个头域值,多个值之间以都以“;”分隔,我们也可以根据需要增加头域以支持新的特性。

2 sip协议应用研究

作为ngn中的核心控制协议,sip协议的应用主要有三个方面:一是用于软交换与软交换之间;二是用于软交换与sip终端之间;三是用于软交换与应用服务器之间实现增值业务。

sip协议作为软交换中的对等协议,有着自身不取代的优势:其一,它最突出的特点是具有很强的灵活性和可扩充性,要让sip支持各项新业务,只需将它已有的消息头字段进行简单的扩展。其二,sip具有动态注册机制,以至它具有对移动业务的支持具有天然的优势。其三,sip协议为实现固定和移动业务的无缝融合创造了条件。sip已经被3gpp选定作为第三代移动通信的多媒体领域的重要协议,用来实现基于ip的移动语音和多媒体通信[3]。sip这些优越特征使其在下一代网络中占据很重要的主导地位。如下图1所示。

图1 软交换协议应用

sip能控制多个参与者,能动态调整和修改会话属性,控制它们参加的多媒体会话的建立和终止。例

如传输的媒体类型、媒体的编解码格式、会话带宽要求、对组播和单播的支持等等都可以进行动态的调整。从sip的实质内容来看,它提供以下功能[4]:

第一,呼叫过程中实现呼叫特征改变。例如,一个呼叫过程首先被设置为只有语音模式,但是在呼叫过程中,用户可以按需开启视频功能。

第二,呼叫过程中参与者能够进行管理。比如能够把其它用户加入呼叫、取消其连接、呼叫转移或设为呼叫保持。

第三,sip协议具有特征协商功能。例如多方通话中,每一方均支持相同的语音编码,但视频编码不能取得一致,则视频可以根据需要选择支持或不支持。

第四,sip协议具有用户定位和名字翻译功能。由于sip协议本身含有向注册服务器注册的功能,因此无论被呼叫方在哪里,都能确保呼叫到达被叫方。

从sip的设计上来看,它充分考虑了对其他协议的扩展性和适应性。它支持多种地址描述和寻址。比如地址可以描述为:“被叫号码@网关地址”、“用户名字@主机地址”或“tel:0874-3258547”等多种形式。

3 结论

本文分析sip协议的基础上,研究了sip在现网中的应用,并对其在软交换应用过程中的应用作了分析。本文所阐述的sip协议在软交换中的应用分析,在现网中的应用有一定的现实意义。

【参考文献】

[1]曾欣旖,陈名松,盖晓娜.sip协议测试研究[j].电子设计工程,2010,18(4):83-84.

[2]姜秀玉,杨峰,崔再惠.sip协议实现中消息解析的研究[j].计算机工程与设计,2010,31(13):2988-2995.

[3]何娇,陈盛云.sip视频会议中服务器的研究与改进[j].电视技术,2013,37(1):147-149.

第2篇

关键词:会话初始化协议SIP;TCPN;建模;模型

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)25-0035-02

1 引言

第三代合作伙伴3GPP选择SIP协议作为第三代移动通信系统的IP多媒体子系统(IMS)心灵协议,是因其具有灵活、无缝和可扩展性,它将逐渐成为下一代网络NGN中关键控制协议之一。它可以满足多媒体通信与网络电话的要求,所以很多的通讯公司均先后研发出了支持SIP的服务产品与终端产品。为充分适应这些技术的发展,SIP协议需要进行进一步的完善与扩充,但是如果协议在设计环节出现任何问题都会给系统带来难以预料的影响,所以为保证协议的稳定性和安全性,应在早期开发时尽可能挖掘其隐蔽的问题并找出解决方案。

目前研究SIP协议主要涉及以下几方面:基于SIP的应用于服务[3];SIP测试工具和方法;其他协议与SIP协同工作。因时间着色Petri网TCPN[2]在描述带有较复杂的交互动作和时间约束的系统过程中具有明显的优势,故本文以TCPN为模型分析工具进行SIP协议分层TCPN模型的构造,并在不同状态下实现分层建模。

2 SIP协议事务处理

SIP协议通过事务进行会话控制,其主要事务有INVITE、non_INVITE事务。INVITE事务完成会话的创建,non_INVITE事务则完成会话的保持与关闭。SIP端系统(User Agent,UA)是连接服务器从而发送服务请求的一种应用程序。因UA向服务器发送服务请求并接收来自服务器的响应,故一个UA有UAS(用户服务器)和UAC(用户客户端)两部分,这两部分就是SIP协议中的两个最关键的参与者,UAC创建呼叫请求,UAS接受呼叫给出响应。

在SIP的请求消息中,最常用的有INVITE、REGISTER、CANCEL和BYE。其响应消息有1xx、2xx、3xx、4xx、5xx、6xx6种。SIP的呼叫方式有3种:从UAC到UAS的直接呼叫、从UAC发出的重定向呼叫、服务器发起呼叫。本文主要针对应用最广的直接呼叫进行分层建模。

3 SIP协议TCPN分层建模

本文应用CPN Tools[4]进行INVITE事务的分层建模,并在不同的抽象层次上描述协议行为细化模型。这种方法在一个层次中描述协议细节,有利于优化或局部完善协议模型,也能有效把握模型规模,便于确认模型与分析协议性质。

SIP协议的TCPN分层模型中的10个模型页分别处于不同的层次,每页所描述的是对应抽象级别上的协议功能,低级别页作为高级别页的替代变迁子页。各层次模型页功能描述如下表1。各层内部模块细化是依据UAS与UAC在INVITE事务执行过程中具备的不同状态进行的,因在terminated状态下协议无行为,而仅表示终止事务,故没有单独描述此状态。

3.1 总体流程建模

SIP协议分层TCPN模型的top page(顶级页)如下图1所示,它总体描述了协议运行的网络拓扑,其中使用了2个替代变迁对NET、UAS和UAC在协议运行过程中的交互行为进行描述。UAC通过NET向UAS发送REQUEST型数据,UAS将RESPONSES型数据通过NET回传给UAC。

Client页用以描述UAC的行为,下图2所示为其页模型。图中的3个替代变迁对应的子页能够更加细致地描述处于不同状态的UAC端行为。库所Scene用以描述UAC的行为,变迁TransErr可以模拟协议在不同条件下出现传输层错误时所采取的处理方式。

3.2 网络层建模

下图3所示为NET页模型,描述的是由UAC到UAS的网络传输建模。库所Schannel_Em记录的是有多少个消息被成功地传送到了UAS端,其初值为0。库所CollectorCTS用以收集不可靠链路丢失的消息。变迁RCTS与CTOS用以模拟不可靠链路。不可靠链路的具体建模方式如表2所示。

通过上述时间类型、弧表达式及防卫表达式的应用,可模拟存在重复数据包、延迟、丢包的不可靠链路。若对其某些参数做适当的修改,便可动态调整其链路的可靠性,以此来真实地模拟不可靠链路。

3.3 具体行为建模

本文表1中的Sproceeding、Ccalling、Cproceeding等底层模型页描述UAS和UAC在不同状态下处理事件的过程,也就是对协议的具体行为建模。下文以UAC端处于Ccalling状态时的应答消息处理行为为例,阐述具体行为的模型描述方式。

下图4所示为UAC处于Ccalling状态时处理INVITE消息的模型,即Ccalling页模型。图中CallTimer表示UAC处于超时状态时消息的处理过程,CallResp表示UAC收到UAS应答时对消息的处理过程。库所TimerAorB用以控制A与B两个定时器的触发。融合库所cloneCs用队列存放UAC每次状态的变化,其队首为UAC的当前状态,Scenec记录UAC的当前状态和导致UAC变为此状态的事件。Message存放初始条件下从SIP协议上层收到的INVITE请求。Channel_Em用以记录当前是否收到UAS的应答,其初值为0。

当收到UAS会送的响应消息时,变迁CallResp被点火执行,即运行其对应的函数代码。此函数代码中sta与st均为SCENEC型变量,st是处理消息前UAC的状态,sta为处理消息后UAC的状态。Action部分调用函数call_resp(st,resp)完成UAC对不同类型响应消息的处理,该函数代码如下:

由上述代码可知,处理类型为r2xx的应答消息后UAC处于TERM状态,处理类型为r3xx的应答消息后处于COMP状态,处理类型为r1xx的应答消息后处于PROC状态。

4 总结

本文给出了SIP协议处理INVITE事务的TCPN分层模型,对该协议总体流程、网络层、UAS与UAC间的具体行为在不同模型层次上分别进行建模。该层次模型规模可控、功能划分直观、数据结构完备,为建模后期协议的验证与改进提供了较完善的模型基础。

参考文献:

[1] 姜秀玉,杨峰,崔再惠.SIP协议实现中消息解析的研究[J].计算机工程与设计,2010(7).

[2] 何中阳,李鸥,杨白薇,等.基于TCPN的TCP协议形式化描述[J].计算机工程,2011(9).

第3篇

关键词:会话发起协议;安全;超文本传输摘要认证;安全/多用途邮件扩展协议

中图分类号:TN915文献标识码:A

文章编号:1004-373X(2009)05-072-03

Analysis and Research of SIP Protocol and Its Security

BAI Yunjie,MU Weixin,LIU Runjie,SHEN Jinyuan

(Information Engineering College,Zhengzhou University,Zhengzhou,450001,China)

Abstract:Session Initial Protocol(SIP)is currently replacing H.323 to be the promising signaling protocol for VoIP network.In this paper,the function,structure and work flow of SIP protocol are reviewed.Then the security problems faced by SIP,the security mechanisms of SIP,such as IPSec,TLS,HTTP-Digest,S/MIME and so on are analysed and introduced,the virtues and shortcomings of all kinds of security mechanisms are pointed out by comparasion.At last,a conclusion of SIP security and security improvement direction for the future research work is given.

Keywords:session initial protocol;security;HTTP-Digest;secure/multi-purpose Interned mail extesion protocol

0 引 言

SIP(Session Initial Protocol)是一种应用层协议,采用Client/Sever结构的消息机制,分布式控制模式,呼叫建立过程简单。使用SIP作为VoIP(Voice over IP)网络的核心信令控制协议,已成为未来发展趋势。

SIP的设计充分考虑了协议的易用性和灵活性,却在安全性方面存在缺陷。本文分析了基于

SIP网络的安全问题,并提出改进措施。

1 SIP介绍及其安全威胁

1.1 SIP简介

SIP是由IETF (Internet Engineering Task Force)的MMUSIC(Multiparty Multimedia Session Control)工作组于1999年提出的应用层控制协议[1]。SIP用来创建、修改和终结两个或多个参与者参加的会话。参与会话的成员可以通过组播方式、单播联网或者两者结合的形式进行通信。

SIP实体主要由四部分组成[2]:用户(User Agent,UA)、服务器 (Proxy Sever)、 重定向服务器 (Redirect Sever) 和注册服务器(Register)。

有两种类型SIP消息:请求消息和响应消息。请求消息包含一个请求行、几个消息头(header)、一个空行和一个消息体。如:INVITE SIP:bob@biloxi.eomSIP/2.0。响应消息包含状态行、消息头、空行和消息体。状态行的格式为:版本号、状态码和原因短语,如:SlP/2.0 180 Ringing[3]。图1是SIP的会话建立流程。

1.2 SIP安全问题

SIP协议采用文本形式表示消息的词法和语法,易于实现,但也因此使得SIP容易被攻击者加以模仿、篡改,加以非法利用。另外SIP用户广泛分布于IP网络上,所有影响数据网络的攻击都可能会影响到SIP的安全。具体来说,SIP的安全隐患有以下几方面:

(1) 注册攻击(Registration Hijacking)

SIP允许第三方代表用户注册联系信息,这就使攻击者恶意注册成为可能。攻击者为一个URI的所有Contact地址,这样所有到用户的呼叫就全部被转向攻击者的设备。

(2) 伪装服务器(Impersonating a Sever)

呼叫请求的目的域是在Request-URI中指定的。UA直接向域中的服务器发出呼叫请求,这就给攻击者机会来伪装成SIP服务器。

(3) 篡改消息体(Tampering with Message Bodies)

SIP的UA通过信任的Proxy来呼叫路由,UA通过SIP消息体来传送体来传送媒体会话加密的密钥时,恶意的Proxy就可以改动消息体,或者作为中间人,或者直接改写会话加密的安全特性。攻击者可以改动消息的SDP部分,将RTP媒体流指向分线设备,对通信进行搭线窃听。

(4) 终止会话(Tearing Down Sessions)

当会话建立以后,通过发送消息可以修改通话状态。例如会话被第三方截获,获得To,From内容,然后在消息中插入BYE请求,用户的正常会话就终止。

(5) 拒绝服务(Denial of Service,DoS)

DoS是指特定的网络接口发送大量的信息而使系统破坏或暂时不可用。攻击者要想攻击网络中的某台主机,可以通过伪造一条看似来自这台主机的SIP消息,然后将这条消息发往大量的SIP服务器,通过SIP服务器,向要攻击的目的主机发送大量的SIP应答消息,从而使目的主机遭受拒绝服务攻击。

2 SIP安全策略

防止攻击的最好方法是保证信息的私密性和完整性,防止重放攻击和信息欺骗,提供会话的验证和信息保密,防止拒绝服务攻击。理论上,信息的完全加密可以为信令的机密性提供最好的保护,但SIP请求和响应不能在端到端的用户之间完全加密,因为消息头域(如Request-URI和Via)对服务器来说必须是可见的,同时Proxy需要修改消息的某些参数(如增加Via头域值)。

SIP协议支持两种加密方式。第一种是端到端(End to End)加密,针对一些不需要中间服务器处理且包含用户信息的SIP消息头和消息体可以进行端到端的加密。另一种方法是逐跳(Hop by Hop)加密。这种加密方式可以通过SIP外部的安全机制来实现。

2.1 网络层IPSec协议

IPSec(Internet Protocol Security,Internet协议安全)是一种逐跳加密机制[4],IPSec安全协议工作在网络层,运行在它上面的所有网络通道都是加密的。IPSec为信息加密和鉴定提供许多选项,如访问控制,数据源认证和抗重播等。它可以创建安全隧道来通过不信任的网络,从虚拟专用网VPN中进行连接。一个加密的VPN隧道使得通信数据只能被通信双方理解,因此可以有效的防止窃听和其他攻击。图2为IPSec体系结构。

IPSec的缺点是网络实施复杂,实现代价较高,而且存在扩展性的问题,对于遍布在公网上的SIP终端来说建立IPSec通道是不现实的。

2.2 传输层TLS协议

TLS(Transport Layer Security,传输层安全)提供的是面向连接的传输层安全服务[5]。它是另一种逐跳加密机制。该协议分为两层:TLS握手协议和TLS记录协议。前者用于协商安全机制,后者具体执行该安全机制。

TLS的工作流程如图3所示。在SIP网络中应用TLS可以为需要逐条之间安全通信的主机提供安全服务,保证会话的安全。它也为SIP实体提供对临近服务器的鉴别服务。TLS的优点是高层协议可以透明地建立在TLS协议层之上,而且不依赖于低层的传输协议,可以建立在任何能够提供可靠连接的协议之上。其缺点是必须运行在TCP之上,对于通常运行在UDP之上的SIP服务器,同时维持大量的TLS连接会负荷较重。

2.3 PGP加密签名

PGP(Pretty Good Privacy)是一种端到端的加密签名算法[6]。SIP消息体和部分信息头可以通过PGP进行加密。PGP加密系统使用一对数学上相关的密钥,其中一个(公钥)用来加密信息,另一个(私钥)用来解密信息。PGP采用的传统加密技术部分所使用的密钥称为“会话密钥”(SEK)。每次使用时,PGP都随机产生一个128 b的IDEA会话密钥,用来加密报文。PGP的主要步骤如图4所示。

PGP的缺点是加密机制实现较为复杂,缺少有效的密钥分发和管理机制。

2.4 S/MIME

S/MIME(Secure/Multipurpose Internet Mail Extensions,安全/多用途Internet邮件扩展)[7]协议的一般功能和PGP相似,它提供电子邮件消息的数字签名和加密功能。

SIP消息可以携带MIME消息内容,也采用S/MIME安全机制为MIME消息内容提供安全保护。采用S/MIME可以为端到端的SIP消息内容提供机密性和完整。当UAS接到含有S/MIME的请求时,首先对其数字签名进行验证,验证通过后将X.509签名证书加入本地公钥圈进行保存。图5为S/MIME在SIP中的基本流程。

S/MIME的一个缺陷是缺乏有效的公钥基础设施,另一个缺陷是使用Tunneling SIP 时将产生非常长的消息,此时虽然可以采用TCP 作为传输层协议,但是从网络的利用率来讲,还是不理想。

2.5 HTTP-Digest摘要认证

HTTP摘要认证[8]是SIP协议的基本认证方式,它基于一种挑战/响应(challenge/response)模式,为SIP实体提供身份认证。在SIP网络中,HTTP摘要认证方式可以被用于用户到用户(User-to-User)的认证和服务器到用户(Proxy-to-User)的认证。图6是SIP注册用户鉴权过程。用户到用户的认证是指UAS、注册服务器或重定向服务器对于UAC的认证,使用401响应状态码,服务器到用户的认证是指服务器对于UAC的认证,使用407响应状态码。

目前,HTTP摘要认证仅能实现Server对本域内

UA的认证,无法实现UA对Server的认证、Proxy对

Proxy的认证和Proxy对域外UA的认证。

3 结 语

随着多媒体会议,VoIP,IMS等领域采用SIP协议为核心层信令控制协议,SIP成为一个应用广

泛、逐渐走向成熟的协议。

SIP协议虽然有开放、简易、可扩充等优点,但其自身并没有制定相应安全策略,现有的安全机制还有不完善的地方。许多人正在研究新的方法来提高SIP安全,例如在S/MIME的框架下,采用SigComp[9,10] (信号压缩)技术,选择合适的压缩算法(如基于字典模型的LZW或LZSS)压缩SIP/SDP消息体,然后有选择地加密部分消息体,这样可以提高SIP消息传输的有效性和安全性。这也是作者下一步的研究方向。

参考文献

[1]IETF.RFC 3261.SIP:Session Initiation Protocol.2002.

[2]白建军,彭晖.SIP揭秘[M].北京:人民邮电出版社,2003.

[3]司端锋,韩心慧,龙勤,等.SIP标准中的核心技术与研究进展[J].软件学报,2005,16(2):239-250.

[4]Kent S,Atkinson R.Security Architecture for the Internet Protolol.RFC2401.1999.

[5]Dierks T,Allen C.TLS Protocol Version.RFC 2246, 1999.

[6]Zimmermann PR.The Official PGP User′s Guide.MIT Press,1995.

[7]Ramsdell B.S/MIME Version 3 Message Specification.RFC 2633,1999.

[8]Franks J,Hallam-Baker P,Hostetler J,et al.HTTP Authentication:Basic and Digest Access Authentication.Request for Comments 2617.Internet Engineering Task Force,1999:94-112.

[9]IETF.Signaling Compression (SigComp).RFC 3220,2003.

[10]IETF.The Session Initiation Protocol(SIP) and Session Description Protocol(SDP) Static Dictionary for Signaling Compression(SigComp).RFC 3485,2003.

作者简介 白芸洁 女,1981年出生,河南郑州人,硕士研究生。主要研究领域为下一代网络、信息安全。

穆维新 男,高级工程师,教授。主要研究领域为软交换、网络安全。

第4篇

【关键词】IMS网络SIP协议多媒体通信

一、引言

随着通信技术的发展及人们对通信要求的提高,当今的通信业务集音频、数据信息、视频于一体。同时,Internet及IP网络的发展也为各种通信业务提供了基础。

SIP是IETF指定的用于实现多媒体回话控制的协议,该协议具有实现简单、扩展性强的特点,并且具有强大的多媒体会话和业务扩展能力以及用户查找和定位能力。由于SIP可以和现有的Internet协议紧密联系,从而获得了广泛应用,并且SIP已被3GPP组织作为R5/R6多媒体子系统(IMS)的呼叫控制协议。本文将对IMS网络和SIP协议进行介绍,并提出一种基于IMS网络的SIP信令协议栈。

二、IMS网络结构及SIP协议

IMS是3GPP在R5版本中提出的支持IP多媒体业务的子系统。IMS以SIP为核心呼叫控制协议,为移动终端提供多媒体呼叫控制业务,具有应用服务器层、会话控制层、传输与终端层三层结构,包括CSCF、HSS、MGCF和MGW等实体。

IMS中最重要的实体是CSCF和HSS,CSCF负责处理多媒体会话业务,相当于SIP服务器,包括CSCF(P-CSCF)、查询CSCF(I-CSCF)和服务CSCF(S-CSCF)。HSS(归属用户服务器)是IMS中所有与用户和服务相关的数据主存储器,存储了用户身份、注册信息、接入参数和服务触发信息等。

SIP是IETF制定基于ASCII码的面向IP电话和多媒体会议的应用层控制协议,用于建立、修改和终止多媒体会话,使参与会话的成员可以通过多播方式、单播连网或二者结合的方式进行通信。

典型SIP协议中有客户机和服务器之分,客户机是为了向服务器发送请求而与服务器建立连接的应用程序,User Agent和Proxy中含有客户机;服务器是用来向来自客户机的请求提供服务并处理应答的应用程序。SIP协议具有四层结构,最底层是语法和编码层,第二层是传输层,第三层是事物层,最顶层是事物用户层(TU层)。

三、基于IMS网络的SIP信令协议栈

在SIP协议中,用户客户端通过向服务器发送在网络中的路由请求即可以建立起一个会话过程。因为注册服务器需要提供用户的位置信息,所以需要将SIP地址映射转换为IP地址。IMS中的呼叫会话控制功能(CSCF)的网络实体是服务器和注册服务器,CSCF即是控制实现实时多媒体业务的多媒体服务器。IMS包括三种呼叫会话控制功能:CSCF(P-CSCF)、问讯CSCF(I-CSCF)、服务CSCF(S-CSCF)。CSCF通过SIP协议来实现上述控制控制功能,其中P-CSCF为移动用户接入IMS提供的SIP服务器,I-CSCF是运营网络的入口服务器,同时可以对其它网络隐藏其归属网络的拓扑图,S-CSCF是SIP的注册服务器,执行用户的会话控制服务。因此,IMS网络可以在CSCF的基础上利用SIP协议经过注册过程和会话过程来实现多媒体通信的目的。

本节通过引入有限状态机进行修改和二次开发,实现了一个稳定高效的SIP协议栈,通过提供SIP操作的基本数据结构和应用程序编程接口(API),如用于表示SIP中各类对象的数据结构、对消息和消息体进行解析的API以及实现四类有限状态机的API。该协议栈主要包括4个模块:状态机模块、解析器模块、工具模块、上层封装接口模块,其结构图如图1所示。

3.2解析器模块

解析器模块主要完成对SIP消息的语法解析,它的作用是将收到的SIP消息从文本解析为SIP消息结构体(sip_t),处理完后将待发送的sip_t结构还原成SIP文本消息后在发送。SIP消息的解析过程为:对收到的消息解析起始行,若是SIP请求则解析SIP请求方法、请求URI和SIP版本,若非SIP请求则解析SIP版本、状态码和原因短语;然后依次进行解析SIP头域、解析SIP消息体并保存各项参数完成解析过程。

3.3工具模块

工具模块主要提供完善的SDP协商机制和对话管理的API。本协议栈中的SDP协商工具使用从SDP offer去构建SDP answer的方法,通过分析invit请求中消息体SDP部分的媒体参数描述来构造对于invit请求的响应消息中的SDP消息部分。在对话中,可以动态创建新的事务来开始端点之间的SIP通信过程,帮助管理UA的消息排序和UA之间正确的路由。本协议栈的对话管理工具主要是创建对话并对对话消息进行管理。

3.4上层封装接口模块

上层封装接口模块根据MVC模式中的Model层的调用方式提供面向Model层的简便易用的操作协议栈接口。上层封装接口模块在eXosip封装SIP协议调用接口的基础上进一步封装,供Model层调用,从而使用简单的几行代码就可以实现一个音视频的呼叫。

四、结束语

SIP协议可以创建、管理和终结IMS网络中各种类型的多媒体业务,从而使各种类型的客户端通过SIP都可以建立高质量的端到端通信。本文提出一种SIP协议栈,实现了SIP软终端,可以在IMS网络下实现具备基于SIP的视频和音频通信功能。

参考文献

[1]孙建勇.基于SIP协议的软终端的研究与实现[D].北京邮电大学,2004.

[2]陈朝鹏. SIP协议在IMS系统中的应用[J].中国科技信息,2006(2).

[3]徐晓宇,张惠民. SIP会话协议在第三代移动网络中关键问题研究[J].数据通信,2004(2).

第5篇

关键词:SIP协议;安全性

中图分类号:TN915

SIP协议作为应用层信令控制协议,其连同其他协议为用户提供服务。SIP协议运用UDP传输,利用自身应用层可靠性机制确保传输信息的准确性和可靠性。SIP协议是当前使用较为广泛的VoIP协议,控制实现IP网络信令。SIP协议设计之初将协议灵活性和易用性考虑在内,却忽略了SIP协议安全性的重要性,致使,目前SIP协议安全性存在缺陷。

1 SIP协议存在的安全隐患

1.1 注册劫持

SIP协议注册指的是用户终端将自己信息注册到某个注册服务器上,在这个注册服务器上,根据address-of-record能找到该用户地址,该注册服务器可查看Register消息From字段确定消息能否修改注册用户的注册地址。但From字段可能被UA拥有者修改,这就为恶意修改注册信息提供了可能。比如,恶意攻击者可模拟UA,以检查的名义修改address-of-record相关联系地址,恶意攻击者首先注销原有合法用户注册信息,接着,修改From字段,让自己设备地址成为“合法注册用户”,通过这种修改,可让自己设备成功访问当前合法用户可访问的位置。这种形式的攻击是对无请求发送数字签名的攻击,通常情况下,大概所有的SIP UAs希望认证收到的请求,从而控制对自身资源的访问。正是这种恶意威胁的存在让SIP实体对原始请求做安全认证成为了一种必然。

1.2 伪装服务器

伪装服务器是攻击者实现攻击的一种手段,恶意攻击者常常将自己伪装成远端服务器,用户终端UA错误地被截获。例如,恶意攻击者在区域,重定向服务器在区域,恶意攻击者常将自己伪装成为在区域,一旦用户UA向区域发送消息,在区域的恶意攻击者便截获用户发往区域的请求,并假冒区域的重定向服务器向用户回答伪造的应答。这种恶意攻击严重地威胁着相当大一部分成员,一旦用户发送给区域的信息被区域截获,同时应答给用户一个伪造的应答,这样一来,以后用户UA所有的Register请求会发到区域。攻击者将应答From字段改为重定向服务器就可实现伪装服务器的目的,这就需要用户UA认证接受请求的服务器安全性[1]。

1.3 篡改消息

篡改消息分为篡改SIP消息体和篡改SIP消息头字段两种类型。篡改SIP消息体是指攻击者修改SIP消息的加密密钥,SIP UA路由必然请求通过信任的proxy服务器,UA信任proxy服务器转发请求,虽然,proxy服务器被信任,但它不希望proxy服务器得到会话密钥,这是因为,一旦proxy服务器有恶意的存在,其就会像中间人一样修改会话密钥,从而破坏原始请求UA安全。篡改消息带来的威胁不只是针对会话密钥,其对SIP端到端的内容都有一定的威胁,比如,对SDP、向用户展示的MIME包体以及电话信令等等。如果攻击者修改SDP包体,比如在RTP媒体流中安装窃听设备,那么就可以达到窃听语音通信的目的。为了保护一些重要的SIP消息头字段,UA要加密SIP包体,同时对端端之间的头字段做限制,比如对于Subject主题字段,可能出现攻击者将Subject重要请求改为次要请求,对于这种篡改SIP消息头字段的恶意攻击必须有一种安全机制来保护。但并非所有的头字段需要保护,有一部分头字段在proxy服务器处理请求的过程中合法更改的[2]。

1.4 恶意修改或结束对话

SIP根据BYE请求结束会话,有的恶意攻击者会伪造这种请求,如果伪造的请求被接收到,会话会提前被结束。比如,非会话方的恶意攻击者获得初始信息,这些初始信息包括会话双方在会话过程中的参数,一旦恶意攻击者在会话过程中发送BYE请求,当BYE请求被接收到后,会话会提前结束。除了会话终止还有恶意修改等,比如,发送re-INVITE请求改变会话。恶意攻击者之所以能恶意修改会话或者提前终止会话都是因为其在会话双方建立会话阶段捕获了一些初始消息,获取了一些重要的会话参数,比如,From字段、To字段等等,如果这些重要的会话参数被加密传输,恶意攻击者就不能伪造请求了。

1.5 拒绝服务

拒绝服务是指攻击者通过转发网络通讯堵塞其网络接口,从而使某个特定的网络节点不能正常工作,因攻击受害的可能是网络、联网主机或路由器等。常见的拒绝服务有以下两种[3]:(1)对SIP中间服务器的攻击;(2)对SIP终端系统的攻击。

2 SIP协议安全对策

2.1 网络层和传输层的安全保护

为确保消息的安全性和可靠性,要对消息进行完全加密,理论上,SIP协议由其自身底层安全机制确保自身安全,比如利用网络层IPSec、传输层TLS等加密SIP消息。但基于IPSec网络的复杂性,这种方法的成本较高,所以,考虑TLS,TLS可能遭受IP欺骗,但其作为一个能确保会话安全性的手段,可以考虑采用TLS加密SIP消息。TLS工作在应用程序和TCP层之间,面向TCP以上传输层的安全,在传输过程中,得益于其TLS套接口,消息的可靠性和机密性得到了保证。然而,对SIP服务器来说,不能维持过量的TLS负荷,其的扩展性是应该考虑的问题。

2.2 HTTP摘要认证

SIP协议常采用HTTP摘要认证机制来完成身份的认证,HTTP摘要认证可有唯一确定的用户名及密码认证一个用户,其认证机制主要有Proxy-to-User和User -to-User两种模式。其中,User -to-User只实现Register-to-User情况,因此,通过ser -to-User实现UA之间认证的可靠性并不能保证。目前,HTTP摘要认证只能实现Server在本区域UA认证,不能实现Proxy对域外UA认证、Proxy之间的认证以及UA对Server的认证。

2.3 应用层端到端加密

SIP协议可利用PGP加密方式和S/MIME加密方式来完成应用层端到端的加密,这是因为PGP和S/MIME均是公私钥和单向散列算法相结合的加密体系,均能提供数字签名、鉴别以及保密的功能,这样可确保被加密信息的机密性和真实性。但考虑到一些SIP消息头域只有对Proxy可见才行,所以,端到端的加密不一定能完成对SIP消息的完全加密。

3 结束语

本文详细地阐述了当前SIP协议存在的安全威胁,并提出了提高SIP协议安全性的一些认证机制,但这些提出的安全策略都存在一定的弊端,随着信息网络技术的不断发展,对SIP协议及其安全性要进行更深入地探讨。

参考文献:

[1]俞志春,方滨兴,张兆心.SIP协议的安全性研究[J].计算机应用,2007(11):2124-2125.

[2]司端锋,潘爱民.IP电话中的安全性研究[J].计算机工程,2007(03):105-107.

[3]黄元飞,金丽萍.网络与信息安全标准化现状及下一步研究重点[J].电信科学,2008(01):23-26.

[4]薛晓飞,陈璐等.RTP基于SIP和RTP的VOIP通信[J].指挥信息系统与技术,2012(01):68-71.

[5]赵鑫.采用无比特率编码的可管理P2P流媒体分发模式[J].指挥信息系统与技术,2012(05):40-45.

第6篇

关键词:软交换 SIP

中图分类号:TP302.1 文献标识码:A 文章编号:1007-9416(2013)02-0051-01

当今社会是信息爆炸的社会,随着网络业务的飞速发展,电信网中的数据业务量越来越大。而目前许多的数据业务还在传统的公众交换电话网(PSTN)上传送,这些数据量很大的数据业务给并不适合传送数据业务的电话网造成了巨大的压力。因此,基于分组技术的数据网与电路交换网最终必将走向融合,产生下一代由业务驱动的网络即下一代网络。软交换是下一代网络交换的核心,如果说传统电信网络是基于程控交换机的网络,而下一代网络则是基于软交换的网络。

1 软交换

软交换的概念最早起源于美国。当时在企业网络环境下,用户采用基于以太网的电话,通过一套基于PC服务器的呼叫控制软件(Call Manager、Call Server),实现PBX(Private Branch eXchange,用户级交换机)功能(IP PBX)。对于这样一套设备,系统不需单独铺设网络,而只通过与局域网共享就可实现管理与维护的统一,综合成本远低于传统的PBX。由于企业网环境对设备的可靠性、计费和管理要求不高,主要用于满足通信需求,设备门槛低,许多设备商都可提供此类解决方案,因此IP PBX应用获得了巨大成功。受到IP PBX成功的启发,为了提高网络综合运营效益,网络的发展更加趋于合理、开放,更好的服务于用户。业界提出了这样一种思想:将传统的交换设备部件化,分为呼叫控制与媒体处理,二者之间采用标准协议(MGCP、H248)且主要使用纯软件进行处理,于是,Soft Switch(软交换)技术应运而生。软交换概念一经提出,很快便得到了业界的广泛认同和重视,ISC(International Soft Switch Consortium)的成立更加快了软交换技术的发展步伐,软交换相关标准和协议得到了IETF、ITU-T等国际标准化组织的重视。

2 SIP协议介绍

会话初始化协议SIP(Session Initiation Protocol)是一个面向Internet 会议和电话的简单信令协议。SIP协议是应用层信令协议,定义了用户间交互式媒体会话的发起,修改和终止过程,它的主要目的是为了解决IP网中的信令控制,以及同软交换机的通信,从而构成新一代的通信平台。SIP协议最早由是由MMUSIC IETF工作组在1995年研究的,由IETF组织在1999年提议成为的一个标准。 SIP主要借鉴了Web网的HTTP和SMTP两个协议。目前仍在不断的发展之中。

SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话,同时SIP协议的编码采用的是最基本的文本编码,使得它的通用性和保密性得到了很大的提升。同时SIP协议在信息交互时采用事务机制,每一个请求触发Server的操作方法,请求和响应构成一个事务,事务间彼此独立。在传输方面SIP协议承载在IP网,网络层协议为IP,传输层协议可用TCP或UDP,推荐首选UDP。

用SIP来建立通讯通常需要有六个步骤(如图1所示):

(1)登记,发起和定位用户;

(2)进行媒体协商--通常采用SDP方式来携带媒体参数;

(3)由被叫方来决定是否接纳该呼叫;

(4)呼叫媒体流建立并交互;

(5)呼叫更改或处理;

(6)呼叫终止。

这六个步骤需要会话发起者A与服务器,服务器与会话接受者B之间进行11次会话协商,分别为:

(1)用户摘机发起一路呼叫,终端A向该区域的服务器发起lnvitc请求;

(2)服务器通过认证/计费中心确认用户认证已通过后,检查请求消息中的Via头域中是否已包含其地址。若已包含,说明发生环回,返回指示错误的应答;如果没有问题,服务器在请求消息的Via头域插入自身地址,并向lnvitc消息的To域所指示的被叫终端B转送lnvitc请求;

(3)服务器向终端A送呼叫处理中的应答消息,100Trying;

(4)终端B向服务器送呼叫处理中的应答消息,100Trying;

(5)终端B指示被叫用户振铃,用户振铃后,向服务器发送180Ringing振铃信息;

(6)服务器向终端A转发被叫用户振铃信息;

(7)被叫用户摘机,终端B向服务器返回表示连接成功的应答(2000K);

(8)服务器向终端A转发该成功指示(2000K);

(9)终端A收到消息后,向服务器发ACK消息进行确认;

(10)服务器将ACK确认消息转发给终端B;

(11)主被叫用户之间建立通信连接,开始通话。

3 结语

SIP协议在软交换网络中的应用范围非常广泛。但是现在SIP对许多传统业务的支持能力还是有限,所以对SIP协议的研究也是任重而道远。由于SIP易于扩展的特性,不同厂家的实现难免有许多自己的发挥,也加大了SIP协议互通的难度。但是无论如何,SIP的诸多优点还是有目共睹的,SIP在软交换网络中的应用必然越来越广泛。

参考文献

第7篇

【关键词】SIP;H.323;XMPP;VOIP电话

【中图分类号】TP3 11.1 【文献标识码】A 【文章编号】1672-5158(2013)01―0085―02

1 引言

VOIP(基于网络的语音传送)是语音通信发展的趋势。大多数电信厂商均认为,虽然目前VOIP在语音通信流量中只占很少的比例,但随着时间的推移和技术的发展,VOIP电话语音所占比例正快速增长。作为实现VOIP系统的软交换协议,会话控制协议(SIP)和H.323、XMPP协议就是其中的三大主流技术,其中,SIP信令控制协议正越来越受到人们的关注。

2 SIP协议

SIP最早源于二十世纪九十年代中期哥伦比亚大学提出的研究成果,后经IETF的一个标准化应用控制(信令)协议。众所周知,它可用来建立、修改以及终止多个参与者参加的多媒体会话进程。参与会话的成员可以通过单播连网、组播方式或者两者结合的形式进行通信。并能动态调整和修改会话属性(如会话带宽要求、传输的媒体类型、媒体编解码格式等)。

SIP协议中有客户机和服务器之分。客户机是向服务器发送sIP请求并能够与服务器建立连接的终端应用程序。用户(User Agent)和(Proxy)中都包含客户机的应用。服务器是一个逻辑实体,它响应客户机发出的SIP请求,提供接收、拒绝和重定向等服务,并回送应答的应用程序,主要包括用户服务器、服务器、重定向服务器、注册服务器等四类服务器:

SIP协议最初规定了六种信令:REGISTER、INVITE、ACK、BYE、CANCEL、OPTIONS。其中REGISTER用于客户端向注册服务器等级和绑定用户的位置等消息;INVITE和ACK用于创建会话呼叫,成功建立呼叫会话,或者用于改变已经建立以后会话属性;BYE用以终结和断开已经建立的会话;CANCEL用于终止已经发起但还未完全建立会话的请求;OPTIONS用于查询其它用户和服务器能力。

SIP在设计上充分考虑了对其它协议的扩展适应性。它支持许多种地址描述和寻址,包括用户名@主机地址;被叫号码@PSTN网关地址;Tel:010-5 9988888普通电话的描述等。这样,SIP主叫按照被叫地址就可以识别出被叫在模拟电话网络上的位置,然后通过一个与模拟电话网络相连的语音网关发起请求呼叫。

SIP主要支持三种方式建立呼叫,包括:由用户客户机(UAC)直接向用户服务器(UAS)发起的呼叫,由用户客户机在重定向服务器的协助下进行的重定向呼叫和由服务器代表用户客户机向被叫发起呼叫。图1是由SIP建立呼叫的模型。

3 SIP和H.323、XMPP协议的比较

SIP和H.323、XMPP协议都是作为多媒体通信的应用层控信令协议设计的。H.323试图用VOIP电话替换传统的模拟通信,且只是传输方式由原来的电路交换变成了分组交换,就如同模拟传输变成数字传输。XMPP(可扩展通讯和表示协议)以Jabber协议为基础,可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。而SIP协议侧重于将IP电话作为因特网上的一个应用,相比较于较其它协议(如FTP,E-mail等),虽然都利用RTP作为媒体传输的协议,但H.323是一个相对复杂的协议,增加了信令和QoS的要求。

H.323采用基于抽象语法标记ASN.1和压缩编码规则的简洁的二进制编码规则发送其各种形式的信息。XMPP是基于可扩展标记语言(XML)的协议,它继承了在XML环境中灵活的扩展性,因此,基于XMPP的应用具有超强的可扩展性。而SIP以文本形式描述的协议,类似于HTTP。基于文本的编码协议,能够显而易见的表示其头域的意义,如From、To、Subject等域名。过去的实践,已经充分证明了这种不需要复杂文档说明的标准的优越性。

在电话会议支持方面,由于H.323协议中规定由多点控制单元(MCU)集中控制会议各种功能,要求所有参加会议终端都将控制消息发送到MCU,MCU极有可能成为电话会议的瓶颈;另外H.323协议只支持信令的单播功能,而不支持组播功能,限制了协议的可扩展性,同时也降低了可靠性。虽然XMPP是支持组播的消息类型,但协议本身仍需为创建方便和高效的多人视频会议进行完善。而SIP协议设计之初就设立了分布式的呼叫机制,其组播功能不仅能够便于会议控制,而且简化了用户的定位、邀请群组等,并且节约了宽带的占用。

H.323中专门定义了用于增值业务的协议,比如H.450.1、H.450.2和H.450.3等。XMPP协议经过扩展以后,可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容系统和基于地址的服务等应用程序。同样,SIP协议也可以非常方便地支持补充业务或智能业务。只要充分利用SIP已定义的方法和头域,就可以轻松实现对这些业务的支持。对于无法通过现有的方法和头域实现的业务,因SIP本身就是一种可扩展的协议,所以也可以通过扩展特定的方法和头域实现相应的智能业务,并在体系结构中增加业务,提供一些补充服务或与智能网设备的接口。

在H.323中,呼叫建立过程涉及到三条信令信道的协调,呼叫建立所需的时间很长。XMPP使用订阅协议管理多方通信中的带内通信(主要是多方数据通信),并为带外多方通信提供基础平台。在SIP中,会话请求过程是和媒体信道协商过程等一起建立的。尽管第二版的H.323协议,已经优化了呼叫请求的过程,缩短了呼叫建立会话的时间,但仍无法与SIP只需要1.5个回路时延建立呼叫相提并论。并且,H.323的呼叫信令通道和H.245控制信道需要依赖可靠的传输协议。而SIP独立于低层协议,一般使用UDP协议,通过利用自己信令层的可靠性机制来保证消息的可靠传输。

4 企业SIP电话设计方案

考虑SIP在企业网中的实际应用,本文按照SIP协议规范提出了一套VOIP电话系统设计方案,SIP终端不仅可以在企业内部网络正常应用,也可以透过企业防火墙借助互联网进行应用,图2其系统结构示意图。也就是说,企业IP电话网络中使用私有地址的SIP终端可以作为被叫被外界SIP终端呼叫。这样VOIP在企业网络的应用才有意义。

4.1 系统基本工作流程

用户注册:用户通过客户机自动向SIP服务器端发送注册信息;该服务器的SIP注册服务模块接收注册信息后,要先对客户端进行身份验证,确认其合法后再对该用户的状态信息、IP地址信息等进行更新。

会话建立:用户A准备发起一次与用户B通话时,首先A通过其用户客户机将会话请求传至SIP服务器,之后通过该服务器进一步查找用户B的有关信息,并进行精确定位,服务器判定用户B是否具有接通能力,如果可以则将用户A的呼叫请求直接转发给用户B,否则服务器直接向A返回拒绝信息。

通话过程:如果A和B之问的通信链路建立成功,则他们之间直接进行通信直至会话结束,通话结束时向服务器发送会话结束请求。

4.2 系统协议结构

由于SIP仅是会话初始化协议,不能像H.323协议的通信系统那样提供全部的语音会话业务,必须协同其他协议共同来建立一个完整的多媒体业务体系结构,本方案采用的协议结构如图3。在应用层,SIP协议主要负责会话的建立、管理以及性能协商等任务,由于SIP协议本身提供了可靠的响应机制,故在传输层选用UDP协议也能保证信令的正确传输。实时流协议(RTSP)用于控制“一点到多点”的多媒体数据流。系统采用了资源预留协议(RSVP)和实时传输控制协议(RTCP),以确保系统具有较高的服务质量。资源预留协议规定和分配了IP网络的资源保护技术,可将资源预留给一个或多个给定的会话,并且该会话优先于任何试图参与双方之间的其它媒体交换;实时传输控制协议用来检测并潜在地解决发送问题,从而监控会话质量和检测网络问题以达到对QoS的监控。

实时传输协议(RTP)用来实现端到端的语音数据的实时传输业务。由于使用UDP协议,得到了端到端的QoS支持,基于SIP协议的IP电话系统,在网络带宽被其它业务负载较重时,可以降低在超时连接时导致呼叫建立的延迟,因此本方案在传输层选用无状态的UDP来传送语音信息。这里以将RTP看作是在UDP协议上运行应用服务,构成支持实时数据传递所需的传输功能的不同部分。

5 国内外SIP协议的应用

自2000年6月,瑞典举行的Voice On the Net 2000展示会以来,VOIP主流通信协议的发展和变化一直为人们所重点关注。

目前,采用H.323的VOIP服务对终端设备的要求较高。XMPP协议是IETF近期的标准,有待进一步完善。而SIP协议优势非常明显,它简单灵活、分布控制,而且极易与其它服务集成。因此,在开发VOIP产品的同时,要关注SIP的发展,借鉴其有用之处。不可否认,在整个电信网络中,一直存在采用H.323协议统一VOIP实现的呼声,不过,电信厂商和运营公司均承认SIP的灵活性,并已采取行动利用SIP协议开发相关应用产品。

微软公司:早在2000年,微软公司就推出了基于SIP协议的即时通信产品,经过不断优化和升级,其最新的版本是LYNC 2013,LYNC 2013提供了在线状态、即时消息、语音、视频、WEB会议等功能,已经占据了国际统一通信大部分市场。

AVAYA:从2004年就已经开始着手基于SIP的产品及解决方案的研发,而Avaya在SIP上的定位也非常明确,所以在解决方案的规划上,Avaya力求把SIP和原有的应用层解决方案紧密融合。并在原有应用的基础上扩展由于SIP的引入而增加的新的功能。CCS服务器是Avaya最新的SIP服务集成解决方案,CCS服务器集成了SIP中几乎所有的主要服务器功能,为企业基于SIP的通信网络提供集成的服务。

华为公司:近年来,华为公司认为随着基于SIP的VoIP实现门槛越来越低,语音业务将逐步退出主导地位,成为一种最基本的业务。因此,华为公司不仅仅了基于SIP的语音网关产品,如:迅时MX51系列语音网关;还推出了基于SIP的融合通信产品eSpace。

据美国一家资讯公司对VOIP相关协议的实际应用情况和未来前景的预测,到2015年,SIP应用将达到全部VOIP相关安装协议的46%,而H.323今后的应用比例将逐步下降。

相关范文