基于有色Petri网的TCP协议建模与分析

时间:2022-08-29 11:26:46

基于有色Petri网的TCP协议建模与分析

【摘要】在介绍TCP协议基础上,根据有色Petri 网的建模方法和工具CPN Tools,对TCP协议的连接建立模块建立了有色Petri网模型,得到模型的可达树,通过可达树的方法,验证了所建模型的逻辑正确性。

【关键词】TCP 协议;有色Petri网;形式化描述;可达树

随着数据通信和网络的发展,现在TCP/IP(Transfer Control Protocol/Internet Protocol)协议簇成为占主导地位的网络体系结构,被广泛的使用。有色Petri网(Colored Petri Net,CPN)是由丹麦的Jensen Kurt于1981年在Petri网基础上定义的一种具有层次性的高级Petri网。利用在计算机上开发的CPN的建模分析工具──CPN Tools,可以建立描述系统的CPN静态模型,并对系统模型的动态行为进行仿真,分析系统的分布、并发、同步、异步等特性,以及建立系统模型的状态空间并分析系统的活性问题、可达性问题等。由于CPN具有严格的网理论形式化的数学描述、上述的特性以及建模工具提供的仿真分析功能,因此在网络通信协议的验证和分析上得到了广泛的应用。

一、TCP协议连接的建立过程

TCP是一个可靠的,面向连接的,端到端的传输协议,它提供了具有流量控制的可靠的数据传输。TCP的连接建立称为“三次握手”。(1)客户发送第一个报文段,SYN报文段,在这个报文段中只有SYN标志置1,这个报文段的作用是使序号同步。客户端选择一个随机数作为第一序号,并把这个序号发给服务器。注意SYN报文段是一控制报文段,不携带任何数据但它消耗一个序列号。(2)服务器发送第二个报文段,即SYN+ACK报文段,其中有两个标志置为1这个报文段有两个目的,一个是使用SYN同步初始序号,另一个是服务器使用ACK标志确认已经从客户端收到的SYN报文段,同时给出期望从客户端收到的下一个序号。服务器还必须定义客户端要使用的接收窗口(rwnd),这就实现了TCP的流量控制。(3)客户端发送第三个报文段。这仅仅是一个ACK报文段。它使用ACK标志和确认号字段来确认收到了第二个报文。注意这个报文段的序号和SYN的报文段使用的序号一样,这个ACK报文段不消耗任何序号。客户还必须定义服务窗口值。在某些情况下第三个报文段可以携带客户端的第一个数据块,在这种情况下第三个报文段必须有一个新的序号来表示数据源的第一个自己的编号。一般的来说,第三个报文段不携带数据的,因而不消耗序号。

二、CPN模型

在利用CPN Tool建立具体模型之前,先对模型中各库所和变迁,以及颜色类型,变量做一说明。当P1,P2,P4,P7中有标识的时候,即发送端主动打开准备发送连接请求和接受端被动打开监听,发送第一个请求报文,其序号用变量n1绑定,在接收端收到这个请求信息的时候把n1加1作为服务器想从客户端得到下一报文段的序号,同时和自己的初始序号一起组成确认报文段序列,用(n3,n2)来绑定。当客户端接到这个报文的时候进行检查,如果n3=n1+1,说明得到服务器确认报文安全,发送客户确认报文,用(n3,n4)绑定,同时把n1作为数据传输的初始序号。如果n3不等于n1+1,客户端重新发送连接请求。在服务器端收到客户端确认报文的时进行检查,如果n4=n2+1,把n2作为接收数据的初始编号,等待接收数据,否则继续监听。在初始标识下最后到的P8和P11中有标记,说明连接建立成功。

三、模型验证与分析

Petri网的模型验证方法有两种:可达树(Reachability Tree)方法和线性代数(Matrix Equations)方法。在初始标识下通过工具CPN Tool我们可以得到连接的CPN模型的可达树。(1)可达树各结点中库所包含的标记不超过两个,且当库所包含两个标识时标记颜色各不相同,因此TCP协议连接建立的有色Petri网模型是安全的,有界的。(2)可达树中各变迁至少引发一次,没有从不引发的变迁。树中每个标号有后继标号,即每个标号都是可以引发的。对于可达集R(M0),每一标号都有一条从根到的变迁路径,即。根据活性的定义,可知该模型是活的,不会有死锁发生。(3)可达树中不存在无用的循环,其中两个循环是处理发送端和接收端所接受的报文序号是否匹配。(4)可达树中可达状态M3经变迁T3可回到初始状态,所以该CPN模型是可逆的。保证了协议周期的实现,即能够重复执行请求连接的功能。

本文利用有色Petri网的建模的方法和工具CPN Tool,建立了TCP协议的连接建立过程的有色Petri网模型,得到模型的了可达树,通过可达树的方法,验证了所建模型的有界性、安全性、活性、可逆性等性质。从而证明了所构造的形式化模型的正确性,同时也验证了协议的逻辑正确性。

参 考 文 献

[1]周必水,郦泓.有色Petri网在通信协议中的应用[J].系统仿真学报.2003,15(8):112~114

[2]Behrouz A.Forouzan,Sophia Chung Fegan.TCP/IP协议簇[M].清华大学出版社,2006(5)

[3]胡瑜.基于有色petri网理论的并行自动测试系统建模研究[J].电子科技大学学报.2003:47~53

上一篇:浅谈集中式数据库的事务恢复机制 下一篇:浅谈在数控加工中心上的内螺纹加工