[互联网]第3章 协议模型技术.ppt
《[互联网]第3章 协议模型技术.ppt》由会员分享,可在线阅读,更多相关《[互联网]第3章 协议模型技术.ppt(89页珍藏版)》请在三一办公上搜索。
1、网络协议工程,南京邮电大学计算机学院,2/89,第3章 协议模型技术,3.1 引言3.2 有限状态机(FSM)3.3 Petri网3.4 时序逻辑(TL)3.5 通信进程演算(CCS),3/89,3.1 引言,协议模型技术是协议工程的核心技术之一,是协议工程的基础。形式描述语言、协议正确性验证、协议自动化实现以及协议测试都基于某种模型技术。协议模型技术旨在精确地表述(n-1)层通道,n层局部系统和全局系统的行为和性质。n层局部系统由各种协议元素组成,因此,模型技术必须精确地表述各种协议元素的性质和行为,以及它们之间作用关系(即协议机制)。全局系统性质即协议性质。,4/89,3.1.1 协议性质
2、,3.1.1 协议性质3.1.2 协议元素性质3.1.3 通道类别3.1.4 协议模型的选取,5/89,3.1.1 协议性质,一个好协议应该具有的协议性质,主要包括:1 活动性(liveness)2 安全性(Safety)3 一致性(consistency)4 完备性(completeness),6/89,3.1.1 协议性质,1 活动性协议活动性指协议运行时发生所期望的事情,包括:预定的事件会产生、指定的协议状态会达到、应该进行的协议行动会进行等等。活动性体现在终止性和进展性两个方面,如果协议有终止性和进展性也就具有活动性。终止性协议从任何一个状态开始运行,总能正确地达到终止状态。进展性协议
3、从初始状态运行,总能正确地达到指定状态。某些情况下,终止状态和初始状态是同一的,协议从初始状态开始运行总能正确地回到初始状态,并可反复运行,即具有回归性。回归性终止性进展性活动性,7/89,3.1.1 协议性质,活动性可以从事件状态表观察和分析协议活动性。一个简单系统示例:,(a)事件状态表,(b)FSM图,8/89,3.1.1 协议性质,2 安全性(Safety)协议安全性指协议运行时没有坏事情出现。这些坏事情包括不可接收的事件、不可进一步向前的状态、错误的行动、错误的条件、变量值越界等等。坏事情一般导致两种现象:死锁(deadlock)协议堵塞在某一个状态而无法向前活锁(livelock)
4、协议作无意义的循环示例:从事件状态表和FSM观察死锁和活锁现象。假定O1-I2不能保证,即不能产生I2(坏事情产生),则系统在S0时收到I1之后就永远停止在S1上,除非再次输入I3,否则无法回到S0,即死锁。假定S3收到I3后,输出O2,转到S0,则导致S0、S1和S3无止境循环,即活锁。,9/89,3.1.1 协议性质,3 一致性一致性是指协议服务行为(性质)和协议行为(性质)一致。一致性包括两个方面:协议应该提供用户要求的服务;协议无需提供用户没有要求的服务。,10/89,3.1.1 协议性质,4 完备性完备性是指协议性质完全符合协议环境的各种要求,即协议的构造考虑了用户要求、用户特点、通
5、道性质、工作模式等各种潜在因素的影响,考虑了各种错误事件、异常情况的处理。,11/89,3.1.1 协议性质,注1:协议性质的分类一般性质:与协议具体内容无关的性质,如:安全性和活动性。协议验证技术所侧重的。特殊性质:与协议具体内容相关的性质,如:一致性和完备性协议测试技术所侧重的。注2:一致性部分正确性等价性完备性完全正确性有界性:协议元素性质和通道性质,12/89,3.1.2 协议元素性质,协议元素性质对协议模型有重要影响协议元素性质如下:1 事件成对性2 事件原子性3 事件时序性4 状态时序性5 变量有界性6 过程的原子性,13/89,3.1.2 协议元素性质,事件成对性事件分通信事件和
6、内部事件两类,通信事件是成对出现的,而内部事件不是成对出现的。例如,n层用户发出服务原语(输出事件)和n层协议接收到服务原语(输入事件)成对地出现在(n)SAP的两侧,(n)SAP为事件发生点。n层协议实体A发出一个PDU和B收到一个PDU是一对通信事件,出现在两个(n-1)SAP上,出现在两个不同的事件发生点。,14/89,3.1.2 协议元素性质,事件成对性通信事件分两类:同步事件(也叫协同事件):输入事件和输出事件发生在同一个事件点上,同时出现。异步事件:输入事件和输出事件发生在两个事件点上,不同时出现,输出事件滞后于输入事件,15/89,3.1.2 协议元素性质,事件原子性不论通信事件
7、还是内部事件要么不发生,一旦发生就一定完成,这种性质称为事件的原子性。有原子性的事件称为原子事件(atomic events)。例如,当n层协议实体向(n-1)层通道输出一个报文时,输出一旦启动,即使是输出失败(通道丢失报文),事件“输出报文”也认为已发生。假定所有事件都有原子性。,16/89,3.1.2 协议元素性质,事件时序性服务原语状态图表述了服务原语的时序关系PDU交换规则表述了PDU的时序关系通信事件由服务原语和PDU的交换引起,因此,服务原语状态图和PDU交换规则决定了通信事件时序性。状态时序性事件时序性决定了状态时序性变量有界性协议变量的取值范围有明确定义,17/89,3.1.2
8、 协议元素性质,过程的原子性一个协议过程可能包括多个协议行动,过程一旦启动之后,所有包括的行动一次性完成,不经历中间协议状态,不被其它过程打断,这种性质就是过程的原子性,具有原子性的过程为原子过程。协议运行时,从一个状态到另一个状态的转换可处理成原子过程。,18/89,3.1.3 通道类别,通道分成三类:空通道报文的传送时间和延时时间为0的通道。非缓冲通道任何时刻,最多只有一个正在传送中报文的通道缓冲通道允许有多个报文停留的通道,19/89,3.1.3 通道类别,事件点、事件通道的两端为两个通信事件发生点,一个报文从通道一端传送到另一端的过程中,两个事件点产生四个事件。两个端点分别标记为a和b
9、,假定报文从a端传送到b端,经历:a端用户通道a端通道b端b端用户四个事件的含义:a!m a端用户向通道a端发送报文ma?m 通道从a端接收报文m,并启动传送b!m 通道完成报文传送,将报文发送给b端用户b?m b端用户从通道b端接收报文,20/89,3.1.3 通道类别,四个事件的含义:a!m a端用户向通道a端发送报文ma?m 通道从a端接收报文m,并启动传送b!m 通道完成报文传送,将报文发送给b端用户b?m b端用户从通道b端接收报文a!m与a?m、b!m与b?m是协同事件(同步事件)a!m与b?m、a?m与b!m是异步事件假设报文传送延时T秒,异步事件延迟为T秒对于空通道,T0,a!
10、m与b?m、a?m与b!m可处理为同步事件。通道工作方式可以是单工、半双工、全双工。全双工可视为两个独立的单工通道。,21/89,3.1.4 协议模型的选取,来自数学模型(或方法)、自动机模型(或程序模型)理想的协议模型能方便地充分地表示协议元素和通道的各种性质,有强的表达能力和实用性;容易观察协议性质,容易进行协议验证和测试。模型FSM、Petri网等,22/89,3.2 有限状态机(FSM),FSM定义通道FSM协议实体FSMFSM简化FSM合成FSM扩充,23/89,3.2.1 FSM定义,有限状态机FSM定义为四元系统,其中,S是系统状态集,状态数有限,(无限状态机为图灵机)i为系统初
11、始状态,iSE为原子事件集T为状态转换函数集,24/89,3.2.1 FSM定义,有限状态机FSM转换函数定义为当系统处于状态Si时,如果发生事件e,那么系统状态变成Sj。FSM可以用于协议模型技术能表示协议元素的时序性以及状态随事件变化的关系具有直观易懂的优点。,25/89,3.2.1 FSM定义,有限状态机FSM图形表示法圆圈 表示状态,圆圈内的符号表示状态含义弧 带箭头的弧表示状态转换,弧的标识表示事件黑点圆 中心为黑点的圆表示初始状态方框 表示系统边界,边框上的小圆表示事件发生点(或系统和外界的耦合点)。,26/89,3.2.2 通道FSM,空通道状态数为1,即只有一个初始状态。真正的
12、空通道不存在,但是我们有时可将非缓冲通道简化成空通道。非缓冲通道假设一个方向上传送的报文相同,则单工非缓冲通道状态数为2,半双工的状态数为3,全双工的状态数为4。,27/89,3.2.2 通道FSM,非缓冲通道FSM示例:,28/89,3.2.2 通道FSM,图(a)表示单工FSM,初始状态表示通道中无报文,状态1表示报文在传送中,ma表示a端用户报文。图(c)表示半双工FSM,状态1表示a端用户报文ma在传送中,状态2表示b端用户报文mb在传送中。,29/89,3.2.2 通道FSM,缓冲通道其状态数随通道中允许停留的报文数目和报文种类数而急剧增加。如果所有报文相同,则队列边界为n的单工缓冲
13、通道的状态数为(n+1),队列边界表示通道中缓冲队列的最大允许长度;对于全双工通道,状态数为(n+1)2很多情况下,通道中的报文是不同的,如,顺序号不同。如果通道中有多个不同的报文(每种报文最多一个,并且报文有序),那么边界为n的单工缓冲通道的状态数为2n个。,30/89,3.2.2 通道FSM,缓冲通道,31/89,3.2.3 协议实体FSM,以AB协议系统为实例,说明怎样用FSM表示协议实体,32/89,3.2.3 协议实体FSM,图(a)为AB协议系统,S和R为协议实体,S表示发送端,R表示接收端。A、B分别为AB协议系统和其用户的耦合点。通道CH为非缓冲通道,端点分别为a和b。,33/
14、89,3.2.3 协议实体FSM,S有四个状态1 S已从A接收报文,顺序号置成0,报文命名为m02 S已向a发出m0,等待R的ack03 S已从A接收报文,顺序号置成1,报文命名为m14 S已向a发出m1,等待R的ack1R有四个状态1 R已从b接收报文m02 R已向b发ack03 R已从b接收报文m14 R已向b发ack1,34/89,3.2.3 协议实体FSM,图(b)为S的FSM图(c)为R的FSM,35/89,3.2.4 FSM简化,FSM的缺点是会产生状态爆炸。队列边界为n的系统的FSM的状态数可大于2n,两个状态数为x和y的FSM合并后的状态数可为xy。FSM简化旨在减少状态数。,
15、36/89,3.2.4 FSM简化,FSM简化方法方法1 状态层次化方法2 使用原子过程方法3 使用协议变量方法4 隐藏内部协同事件方法5 通道FSM的简化,37/89,3.2.4 FSM简化,方法1 状态层次化将若干协议功能按阶段组织起来设置状态,然后分阶段设立子状态,可大大减少每一级的状态数。如:ISO T层协议设立22个总状态,数据传输阶段为状态OPEN,在此阶段还包括若干子状态。在只考虑连接建立和撤销等协议功能时,定义22个总状态就可以了。如:TCP协议设立了12个总状态。数据传输阶段为状态ESTAB。,38/89,3.2.4 FSM简化,方法2 使用原子过程在FSM的四元系统中,如果
16、转换函数SiSjT和SjSkT能够合并成SiSkT,那么状态Sj就可以消去。两个转换函数对应于两个协议过程,它们能够合并的准则是:合并后的过程为原子过程。如:单工非缓冲通道的a?ma和b!ma,a?ma和drop可合并成两个原子过程。,39/89,3.2.4 FSM简化,方法3 使用协议变量FSM扩充中使用该方法,40/89,3.2.4 FSM简化,方法4 隐藏内部协同事件两个系统的FSM合成时,合成之前两个系统的耦合点变成合成系统的内部事件点,合成之前分别出现在两个系统中的协同事件变成合成系统的内部事件。内部协同事件根据需要可以隐藏,相关联的状态可以合并。隐藏内部协同事件的方法:,41/89
17、,3.2.4 FSM简化,方法4 隐藏内部协同事件隐藏内部协同事件的方法:第一步:用I表示内部协同事件。如果,并且e1和e2为协同事件,那么,I=。第二步:合并关联的两个状态。SiSk合并成一个状态,或重新定义成一个新状态。Sj是否消去,根据其它方法进行。,42/89,3.2.4 FSM简化,方法5 通道FSM的简化简化原则原则1:如果n层协议实体采用同步通信方式(一问一答),那么不管(n-1)层通道是否缓冲通道,都可以处理成非缓冲通道。原则2:如果报文传送时间和延时时间对协议机制无影响,或者只影响协议变量的值,那么非缓冲通道可处理成空通道。,43/89,3.2.4 FSM简化,44/89,3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 互联网 互联网第3章 协议模型技术 协议 模型 技术
链接地址:https://www.31ppt.com/p-4602623.html