SIP协议的着色Petri网模型及仿真
2010-01-12王霞,赵峰
王 霞,赵 峰
(泰州职业技术学院,江苏 泰州 225300)
SIP协议的着色Petri网模型及仿真
王 霞,赵 峰
(泰州职业技术学院,江苏 泰州 225300)
文章通过对SIP协议邀请交互和服务器交互的分析,利用着色Petri网来模拟一个SIP协议的交互过程。利用CPN TOOLS建立一个SIP交互模型,并通过仿真实验得到相关的数据,科学地评价模型的性能。
着色petri网;CPN Tools;仿真
着色Petri网作为一种形式化方法适合对复杂系统进行仿真与性能评价,时间信息的引入可以方便地表达系统的复杂信息,成熟工具CPN Tools的支持使我们对CPN模型的建立,仿真,性能评价变得简单而实用。利用CPN Tools可以从模拟过程中发生的变迁和模型经历的状态中提取有效数据作为性能评价的依据。
1 SIP邀请交互
SIP协议可以分为四层,每一层包括一组独立的功能。自下而上结构分为语法层,编码层,传输层和用户交换层。语法和编码层指定一个SIP信息的结构,传输层通过底层传送或者接收SIP消息。交换层位于SIP协议传输层的上一层,每一次信息交换包含一个客户机请求和一个服务器响应。位于顶层的是用户层,能创建或终止一个SIP交互[1]。当会话交互处在呼叫状态的时候,下面六种情况的一种将发生。Timer A触发,交互重置定时器并重新发送邀请请求;Timer B触发,交互进入终止状态(Terminated state)。
表1 SIP消息响应属性
当一个邀请请求设法在网络上传送时SIP的传输层报告了一个错误,那么交互将通知用户错误并进入终止状态;当接收到一个临时响应信息1xx,交互会把响应传递给客户并进入出发状态,进而等待下一步的响应;当接收到一个最终成功的响应消息2xx,代表服务器已经接受了邀请请求,交互会通过响应信息通知客户并进入终止状态(Term inated state);当接收到的是一个最终失败的响应信息(non-success response(300-699)),那代表服务器接收到邀请请求但并没有接受邀请请求[2]。
当进入开始状态(Proceeding state),客户交互将会发生如下情况:接收到一个临时响应信息1xx,停留在开始状态;接收到一个最终成功的响应(final success response),从而进入终止状态;接收到一个最终不成功的响应(final nonsuccess response),创建和发送一个确认信息(ACK)后转到完成状态(Completed state)。
完成状态(Comp leted state)的目的是吸收300-699响应信息,当传输不可靠的时候让服务器重新传输信息。当这个状态发生的时候,定时器Timer D触发,当时间耗尽以后会进入终止状态;如果在Timer D时间耗尽前收到一个300-699响应信息,那么交互将创建并发送一个确认信息(ACK)并停留在相同的状态。
2 邀请交互模型
很明显,基于CPN的状态机模型更加直观,我们可以用CPN的库所表示实体,用CPN的变迁来表示引起状态变化的动作。由于状态机的不完整性和RFC3261所定义的状态机和文字描述的不一致性,在建模之前要先确定一个SIP的邀请交互。接下来我们首先来描述这些方面,然后介绍在不可靠情况下的邀请交互的CPN模型。
2.1 假定条件
服务器交互必须在被创建之后产生并发送一个100Trying应答。当服务器交互收到一个邀请请求并发送一个100Trying应答时必须进入一个状态,我们把这个新状态定义为开始(Proceeding T)。交互被创建并从用户交换层收到邀请请求后立即进入开始状态。这个状态下只可能发生一个事件,就是服务器交互应答100Trying响应[3]。
当客户交互处于完成状态时,将会只收到300-699响应。服务器交互在发送1xx响应后还能收到300-699响应,不可靠的情况下信息可能被重新排序,1xx应答也可能在300-699应答后才到达。我们假设这时客户交互丢弃临时响应并停留在完成状态。
服务交互在完成状态时,Timer G可触发,我们假设Timer G在每次触发以后重设时间。
2.2 定时器
客户交互用到了三个定时器:A,B和D。Timer B设定了客户交互在呼叫状态等待服务器端的一个临时或者最终的响应的最大时间。Timer A只用于传输不可靠的时候来控制邀请请求的重传。Timer D也只在传输不可靠的时候起作用。在三个定时器之间,A和B之间是相关的。Timer A每次触发,它的值都会置为前一时间的两倍。Timer B的值是64*T1, Timer B触发前,Timer A可以发生六次,分别间隔时间为:T1,2*T1,4*T1,8*T1,16*T1,32*T1。Timer A每触发一次,邀请请求就重传信息。
2.3 一个不可靠邀请交互的SIP协议的CPN模型
为了在同时间把一个服务器交互状态和一个客户交互状态区分开,在服务器交互状态的名字前面加上一个大写的S(proceeding T状态除外)。例如,proceeding S代表服务器交互的开始状态,proceeding 代表一个客户交互的开始状态。SIP响应一个100Trying 应答;r101代表一个101到199之间的临时应答;r2xx表示一个2xx应答;r3xx表示一个300-699应答。
2.4 客户交互
图1模型中的左面一部分,包括客户库所和发送邀请,他们之间通过一个变迁联系。客户CPN库所定义为颜色集STATEC模拟客户邀请交互的状态。客户的初始标记为calling。INVITE Sent库所定义为颜色集INT,用来计算已经传输和重传的邀请请求数。Send Request模拟原邀请请求怎样通过SIP传输层进行交互。(即,将请求库所中的标记置为INVITE)
2.5 服务器交互
图1中右边部分即库所Server和r3xxResent,服务器邀请交互定义了五个变迁。库所Server定义颜色集STATES,模拟服务交互的状态Proceeding模拟一个我们附加给服务交互的新状态Proceeding。因为交互创建和进入proceeding状态是在用户交换层从SIP传输层直接收到邀请请求之后,库所Server的初始标记不可能是proceeding。假定初始标记为Idle,来模拟服务器端正在从客户端接收邀请请求。库所r3xxResent定义为INT型,来记录Timer G触发时r3xx重传的次数[4]。
3 协议仿真结果分析
我们利用CPN Tools对SIP协议的CPN模型进行仿真模拟,确定该模型的性能指标。同时对模型进行结构分析,得到标准状态空间报告,分析是否存在死锁。CPN Tools得出的状态空间报告有五部分,这里分析其中重要的三种:统计数字分析、有界性分析和活性分析。
3.1 统计数字分析
表2 状态空间报告—统计数字分析
表2列举了CPN Tools仿真得到的统计信息,State space给出了状态空间的结点与连接弧的个数,在该模型中分别为15075和214964,构造该状态空间过程花费了300秒的时间;而sac graph为强连接图,与状态空间图在结点和连接弧在个数上明显不相等,这说明协议模型中的数据包有很多需要重传,重传的平均次数不到两次,符合协议运行的实际情况,属于正常差别。
3.2 有界性分析
表3 状态空间报告——有界性分析
表3给出了每个库所拥有的托肯的数量区间,如库所A最多有12个托肯,最少可以没有托肯,其它库所也是有穷的。从结果可以看出,该模型中的库所完全是符合实际应用要求的,也就是说所有的库所都是有界的。
3.3 活性分析
表4 状态空间报告——活性分析
表4给出活性分析结果。Dead Markings是死标识状态,这时任何赋值变迁都是非使能的。Dead Transition是死的变迁,即该变迁在该模型中的任何发生序列中都无法发生。由结果看,本试验中的模型不存在死变迁。Live Transition是活的变迁。该模型存在死标识状态,该标识下任何变迁都是不可以发生的,实际上这时的状态就是数据传输完成的状态。
4 结束语
随着网络底层技术的开发和高层应用要求的提高,特别是ATM 和多媒体通信应用需求的增加,网络协议的研究进入新的阶段。如何有效利用网络资源满足应用需求成为协议工程研究的热门话题,因此相继出现了许多高性能协议,它们的形式化描述提出更高的要求,如何构建适当的Petri 网模型成为新的课题。
[1] 袁崇义.Petri网原理[M].北京:电子工业出版社,2005.
[2] 袁崇义.Petri网原理与应用[M].北京:电子工业出版社,2005.
[3] 张智江.sip协议及其应用[M].北京:电子工业出版社,2005.
[4] 付强,林闯,尹浩.基于CPN的业务流程执行语言建模[J].微计算机信息,2007,23(3):4-6.
The CPN M odel and Simu lation of Sip Protocol
WANG Xia, ZHAO Feng
(Taizhou Polytechnic College, Taizhou Jiangsu 225300,China)
In this paper, we analyses the interaction of SIP-invite and Server, use the colored petri net to simulate a process of SIP Protocol interaction. We established a SIP interaction model w ith CPN tools and obtained related data w ith simulation experiment, then performance scienti f c evaluation to the model.
colored petri nets; CPN tools; simulation
TP311
A
1671-0142(2010)01-0011-03
王霞(1980-),女,江苏泰兴人,工程师.
(责任编辑 施 翔)