收藏 分享(赏)

第4章-协议形式描述语言(1-SDL).ppt

上传人:ysd1539 文档编号:7272858 上传时间:2019-05-12 格式:PPT 页数:70 大小:2.23MB
下载 相关 举报
第4章-协议形式描述语言(1-SDL).ppt_第1页
第1页 / 共70页
第4章-协议形式描述语言(1-SDL).ppt_第2页
第2页 / 共70页
第4章-协议形式描述语言(1-SDL).ppt_第3页
第3页 / 共70页
第4章-协议形式描述语言(1-SDL).ppt_第4页
第4页 / 共70页
第4章-协议形式描述语言(1-SDL).ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、第 4 章 协议形式描述语言 (1-SDL),2,内容提要,概述,1,SDL系统结构定义,2,SDL中的数据,3,系统、功能块和进程,4,协议描述,5,3,SDL: History,早在70年代初期(1972年),国际电报电话咨询CCITT(它的职能现由ITU-T代替)内的一个15人(分别来自贝尔、爱立信、Motorola等大的公司或组织)的研究小组就开始研究协议的规范及其描述语言SDL(Specification and Description Language) 在1976年提出了SDL的初步定义文本,建议书Z.101Z.103 (或称为Z.100系列建议书),开发了基本的图形描述语言。

2、1980年修订为Z.101Z.104,1984年又进行了扩充(加入了结构和数据,并使SDL的定义更加严格)。 为了便于协议的具体实现和验证,1984年CCITT的第研究组又提出了面向PASCAL的SDL,X.250建议书。,4,SDL: History (Cont.),1988,1992,1996年又进行了修订。在1992的修订中,加入了面向对象的特点,这一次改动最大。 在1992年的版本基础上,CCITT又对SDL作了进一步的修订,降低了许多规则的要求使得SDL语言更容易理解和更灵活地使用,形成了1996版的SDL。该版本大大扩充了SDL的表示能力并简化了接口。由于改动较小,最终只是作为附录

3、加入1992年的版本。 目前的版本SDL-2000是1999年更新的,其中对面向对象的特征进行了更多的扩展,以便可以更好地支持对象建模和代码生成。 正在制定SDL-2010 为了区分不同年份制定的SDL标准,通常用“SDL-yy”的形式来表示在yy年制定的SDL标准。例如,SDL-92表示1992年发表的SDL标准。,5,SDL: Overview,SDL语言是一种主要针对电信系统的需要而研制的面向对象的形式描述语言,比较适于描述复杂的实时应用。 它对系统的结构、行为和数据有较强的描述能力,例如电信系统中的呼叫处理、维护和故障处理、系统控制、数据通信协议等。 SDL是一种基于扩展有限状态机和抽

4、象数据类型的混合技术。同其它的形式描述语言一样,SDL既可描述比较粗的系统的描述,亦可描述系统的详细设计。,一个抽象数据类型包括: 数据对象的一个集合; 作用于这些数据对象的抽象运算的集合; 这种类型对象的封装,即除了使用类型中所定义的运算外,用户不能对这些对象进行操作,6,SDL: Overview (Cont.),一般不将它作为实现语言来使用,但是从SDL描述的规范自动转换成某种编程语言是完全可能的,有很多这样的工具出现。 另外,可以将SDL同其它的语言结合起来使用,例如,与MSC(Message Sequence Chart, Z.120),ASN.1(Abstract Syntax N

5、otation One, Z.105), TTCN(Tree and Tabular Combined Notation, ISO/IEC 9646-3)结合起来使用。,7,SDL: 三种语法形式,三种语法: 图形表示的SDL/GR(Graphical Representation) 比较适合于描述系统的结构和控制流 用文字短语表示的SDL/PR(Textual Phrase Representation) 比较适合于机器处理 程序语言形式的SDL, X.250 为了保证等价性(这样就可互相转换),SDL的语义严格地和三种具体语法定义分开来。 SDL的语义是利用公共语言模型的抽象语法来定义的。

6、 此外,还提供了(但不是建议书的内容)公共语言模型的数字定义。,8,SDL/PR使用的主要符号,9,内容提要,概述,1,SDL系统结构定义,2,SDL中的数据,3,系统、功能块和进程,4,协议描述,5,10,SDL的静态结构,在SDL中,把整个开放系统说明为由许多互连的抽象机(扩展的有限状态机FSM)所组成。每个抽象机的动态行为用它与其他机器或环境的交互和对交互数据的操作来描述。 一个SDL的静态结构用系统(System)、功能块(Block)进程(Process)和过程(Procedure)和通道(Channel)来描述 在SDL中,将系统、功能块、进程等称为代理(Agent) 各个代理用块

7、图(Block Diagram)来表示,一个代理可以对应多个块图。 各块图以边框(Frame)为分界,一主要包括四个部分:块图的类型和标记、页号、文本记号、块图的主要内容,11,SDL的静态结构,规范(Specification)所描述的对象称为一个系统,将其它所有不属于系统的内容称为环境(ENV),从环境中可以观察和影响系统的行为。一般假定环境的行为模式与SDL规定的行为模式相似,并且遵守系统规范中强加的限制。,系统与其环境用系统边界分开。,通道在功能块之间以及在功能块与系统边界之间充当传输信号的媒介,既可是单方向的,也可以是双向的。,根据系统与其环境之间有无交互,可将系统分为开放的(ope

8、n)系统和封闭的(closed)系统。如果系统是开放的,则系统与环境之间有交互:环境给系统发送信号,并从系统接收信号形式的响应;如果系统是封闭的,则系统与环境之间没有交互。,功能块含有进程,并用来构造系统。,12,SDL structure and Communication Channels,t,13,Specification of System,在一个SDL应用中,一个系统的描述规范由以下几部分组成: 一个或多个功能块。功能块通过通道互相连接,并通过通道连接到系统边界。 在描述功能块时,进程、服务类型、过程(Procedure)、数据类型和信号均可作为功能块描述规范的一部分。 SDL进程

9、可保留和处理数据。数据受进程的局部变量的约束。利用信号,数据值可在进程之间传送,也可传向环境或从环境传来。进程的局部变量由该进程给出定义。 所有通道、信号(Signal)、信号表(Signal List)、预定义的数据类型与/或宏(macro)的定义。,14,Tree of Blocks: Hierachy,SDL提供了结构化的概念。 系统中的每一个功能块由一组进程或一组子功能块组成,进程间通过信号路由(Signal routes)或功能块的子结构(Substructure)相连接。 子功能块又可由一组进程或一组子功能块组成。这样可得到一个系统的分级多层描述:功能块树 (Tree of Blo

10、cks),15,Tree of Blocks,16,SDL对系统动态行为的描述,各功能块包含若干个进程,各进程的实例(Instance,即进程的一次活动,用PId来表示)的并发操作产生了SDL系统的动态行为 。 进程的状态与动作是用扩展的FSM来模拟的。 进程状态的变化受外来信号激励,进程也可向环境发回响应信号。 一个进程可同时收到多个信号。SDL设置了队列以暂时存放这些信号(一般采用先进先出的方式)。但进程也可自和行处理保留信号。保留信号是指在某些状态下需等待其他信号到达并处理之后方能处理的信号。,17,SDL behaviour,This SDL description shows a s

11、ystem in state S1 that can receive the signals A or B. If it receives A the system may, non-deterministicaly output X or Y and return to state S1 (to wait on further input of A or B). If it receives B the system will output Z and move to state S2 to await new signals.,any,SDL Process,t,18,SDL/PR 对“系

12、统”的定义语法图,SDL/PR的语法采用Pascal的语法图形式定义,关键字,关键字,19,内容提要,概述,1,SDL系统结构定义,2,SDL中的数据,3,系统、功能块和进程,4,协议描述,5,20,Overview,在SDL中,数据的定义一般基于抽象数据类型(Abstract data type),与抽象数据类型ACT ONE和LOTOS的数据类型相似。 “抽象数据类型”是指其定义并不描述(数据)类型是如何实现的,而仅仅描述当将操作符(Operators)应用到该类型的数据值上时产生何种结果。 例如,逻辑值“真”或“假”在具体的程序设计语言中可实现为true; false或T, F或0, 1

13、。在数学上,一种抽象数据类型就是一种代数。,21,SDL预定义数据类型,SDL定义了一些预定义的数据类型,如布尔(Boolean)、整数(Integer)、自然数(Natural)、实数(Real)、字符(Character)、字符串(Charstring)、进程标识符(PId)、时刻(Time)、持续时间(Duration)。 此外,SDL还预定义了一些产生器(Generator),如数组(Array)、串(String)、计时器(Timer)和幂集(Powerset)等。 这些预定义的数据类可在任何级别上SDL描述中使用。用户还可用上述数据类型自行定义其他的数据类型。,22,类(Sort)

14、,在SDL中,类(Sort) 是值的集合。集合中的元素个数可以是有限的,也可以是无限的,但不能为空。 例如,布尔类Boolean为True, False。 不同于面向对象的程序设计中的“类(class)”,程序设计语言中的数据“类型( type)” 一般来说,SDL中的数据类型定义包括三个部分:类定义,操作符(Operators)定义和等式(Equations)定义。,23,类(Sort): Boolean类定义,NEWTYPE BooleanLITERALS True, FalseOPERATORS“Not” : Boolean - Boolean;“And” : Boolean, Bool

15、ean - Boolean;“Or” : Boolean, Boolean - Boolean;AXIOMSNot True = = False;Not False = = True;True And True = = True;True And False = = False;False And True = = False;False And False = = True;True Or True = = True;True Or False = = True;False Or True = = True;False Or False = = False;ENDNEWTYPE Boolea

16、n;,类定义开始关键字,类定义结束关键字,类名。主要用于操作符定义和声明变量,操作符关键字。将多个来自同一个类或不同类的值映射成一个值,操作符定义,定义类的值(literal),等价式(Equations)。描述值之间的关系,24,类(Sort):等价式,值与操作符的组合构成词(term) 词的数量一般要大于类的值的数量。例如,布尔类的值True和False与操作符Not相结合可构成的词的集合是: True, False, Not(True), Not (False), Not(Not(True), Not(Not(False), Not(Not(Not (True), 集合中的元素数量有无穷

17、多个。我们可以给出一些规则,即等价式,来说明给定类中的哪些词表示同一个类的值。 等价式定义以关键字AXIOMS开始,每一个等价式以分号结束。例如,Boolean类定义中的等价式:Not(True) = = False;说明Not(True)与False表示Boolean类的同一个值。,25,类(Sort):等值类,等值类(equivalence classes) 将词的集合分成多个子集,将值相等的词放在同一个子集中,称为等值类(equivalence classes) 根据下面两个等价式Not(True) = = False;Not(False) = = True;可以将Boolean类的词的

18、集合分成两个等值类:True, Not(False), Not(Not(True), False, Not(True), Not(Not(False), 换句话说,等价式用来说明操作符的特点。,26,类(Sort):等价式参数化,有的时候,用有限个数的等价式来说明操作符的所有特性是不可能的。因此,SDL提供变量和FOR ALL等使等价式参数化,大大提高它的描述能力。 可以给等价式加上条件,即只有在给定条件成立时,该等价式才成立,则称这种等价式为条件等价式(Conditional equation)。 其一般格式为:condition = = equations; 下面的例子是一个关于实数除法的

19、条件价等式: FOR ALL x, z IN Real (z/=0 = = True = = (x/z)*z = = x); FOR ALL x, x In Real (z=0 = = True = = (x/z)*z = = ERROR!); FOR ALL x, z IN Real (x/z)*z = = IF z/=0 THEN x ELSE ERROR! FI),表示这种操作符的使用方式是不允许的,如果使用它将会产生动态错误。,27,类(Sort):产生式(Generator),有些不同类定义之间的差别很小,且它们的构造方式很相似。例如,类sets, fields, look-up t

20、ables, arrays和queues,有很多相似之处。 在这样的情况下,可以为它们定义一个共同的类,它们的不同之处可用参数化的方式来解决。这样参数化的类称为产生器,用关键字GENERATOR表示。 SDL预定义了一些产生器,如array(数组),String(串)和Powerset(幂集)。,28,类(Sort): 继承(Inherits),在SDL中,允许在一个类的定义中直接调用另一个已有的类定义,称为继承(Inheritance)。 被调用的类称为父类(Parent sort),而调用类则称为子类(Child sort)。 子类继承了父类中的所有类的值,一些或全部操作符,所有的等价式。

21、 为了避免混淆,可以将继承下来的操作符和类的值重命名。,29,类(Sort): 继承(Inherits) (Cont.),NEWTYPE Sort1LITERALS Lit1, Lit2;OPERATORSOpt1 : Opt2 : Opt3 : AXIOMS ENDNEWTYPE Sort1;,NEWTYPE Sort2INHERITS Sort1OPERATORS (Opt1, Opt2 = OptA);ADDINGLITERALS LitA;OPERATORS OptB: AXIOMS ENDNEWTYPE Sort2;,只继承了Sort1中的两个操作符Opt1和Opt2,并且将操作符O

22、pt2还重命名为OptA,如果要继承所有的操作符,则可以用 “OPERATORS ALL”来表示,ADDING表示在子类中增加的类值、操作符和等价式。,30,常量和变量重命名,在SDL中,常量用关键字SYNONYM定义,例如,SYNONYM max_length Integer = 4096; 类的重命名用SYNTYPE定义,例如:SYNTYPE counter = Integer; ENDSYNTYPE; 在重命名类时,还可以对新的类的值的范围进行限制,例如: SYNTYPE window = Integer CONSTANTS 0:4; ENDSYNTYPE;,31,记录(Records)

23、,在SDL中,记录用关键字STRUCT定义,如下示: NEWTYPE address_typeSTRUCT last_name, first_name, street, city: Charstring;number : Integer;ENDNEWTYPE; 可以用下面的方法给一个记录类型的变量赋值:address :=(.Lai, Richard, Carbost Court, Macleod, 2.); 访问记录中的域的方法则是在记录类型的变量名后加一个“!”和被访问的域名:town := address!city;,32,宏 (Macro)定义,33,宏(Marco)调用,34,Tim

24、e,Two predefined sorts: time and duration Time expresses a time instant (real number) A duration is a time interval Reading the actual time: now operator: return the value of “global” time Timers declaring timers setting timer with expiry time: set operation resetting (cancelling) timer: reset reset

25、 operation when a timer expires, a signal is inserted in the input queue of the process instance possible to inspect the status of a timer: active operation,35,内容提要,概述,1,SDL系统结构定义,2,SDL中的数据,3,系统、功能块和进程,4,协议描述,5,36,系统的描述,B1,B2,C1 S1,S2,C4 S5,C2 S3,C3 S4,SYSTEM sample,(a) 用SDL/GR表示的系统例子,I(1),系统名,描述系统中

26、所有功能块之间或功能块与环境之间交互的信号,也可能还包括信号携带的值的类型的说明。系统级定义的信号既可用于本级系统描述,还可用于更低层次上的描述,如描述功能块中的信号。,信号表描述(Signal list specification)。信号表通常是指一组相关信号,并可以嵌套定义。使用信号表的目的是节省空间,并使得描述更简洁。在SDL/PR中,信号表用关键字SIGNALLIST来定义,而在SDL/PR中,用信号表符号(一个中括号)来表示。,37,系统的描述,B1,B2,C1 S1,S2,C4 S5,C2 S3,C3 S4,SYSTEM sample,(a) 用SDL/GR表示的系统例子,I(1)

27、,通道描述(Channel specification)。 一个通道定义包括:通道名,通道可以传输的信号列表以及通道端点标志。通道端点中至少有一个必须是功能块。在SDL/PR中,通道的定义包括在关键字CHANNEL和ENDCHANNEL之间,关键字FROM和TO表示通信路径,而关键字WITH表示信号列表。在SDL/GR表示中,通道用通道符号(一根带箭头的线条)来表示。,通道名必须尽可能地靠近通道符号线。通道的信号表在中括号中给出,且靠近通道符号线上的箭头,指示信号的方向,38,系统的描述,B1,B2,C1 S1,S2,C4 S5,C2 S3,C3 S4,SYSTEM sample,(a) 用S

28、DL/GR表示的系统例子,I(1),功能块描述(Block specification)。一个系统中必须至少包含一个功能块。在系统图(diagram)中,对功能块的描述有两种形式:功能块引用(block reference),这种方式只需要指出功能块的名字;详细描述功能块内的进程以及进程间的交互的功能块图(block diagram)。,数据描述(Data specification)。这一部分描述用户定义的对所有功能块可见的数据类(NEWTYPE, SYNTYPE, GENERATOR)。,39,系统的描述(Cont.),SYSTEM sample;SIGNAL S1, S2, S3, S4

29、, S5;CHANNEL C1 FROM ENV TO B1 WITH S1, S2;ENDCHANNEL C1;CHANNEL C2 FROM B1 TO B2 WITH S3;ENDCHANNEL C2;CHANNEL C3 FROM B2 TO B1 WITH S4;ENDCHANNEL C3;CHANNEL C4 FROM B2 TO ENV WITH S5;ENDCHANNEL C4;BLOCK B1 REFERENCED;BLOCK B2 REFERENCED; ENDSYSTEM sample;,(b) 用SDL/PR表示的系统例子,40,功能块的描述,功能块的主要目的是描述系统

30、结构。利用功能块,可以将一个大的系统分层描述,不同层次对应着系统的不同抽象级别。 功能块描述部分主要描述进程与进程之间、进程与通道之间的通信,通信手段主要包括共享变量或通过信号路由(signal routes)交换信号。,41,功能块的描述,R1 S1,R4 S4,Sa R5,R2 S2,BLOCK B1,(a) 用SDL/GR表示的功能块例子,Sb,C1,C3,C2,R3 S3,块名,信号或信号表描述,信号路由描述(Signal route specification)。信号路由是指连接功能块内的不同进程以及将功能块内的进程与环境连接起来的通信路径。与通道一样,信号路由也是用来表示通信路径的

31、,既可是单向的,也有双向信号路由。信号路由中的箭头在线条的两端。,42,功能块的描述,R1 S1,R4 S4,Sa R5,R2 S2,BLOCK B1,(a) 用SDL/GR表示的功能块例子,Sb,C1,C3,C2,R3 S3,通道与信号路由间的连接(Channel-to-route connection)。通道与信号路由间的连接是指功能块外面的通道与功能块内部的信号路由间的连接。,进程描述(Process specification)。描述功能块内的进程。如果功能块内没有子功能块,则必须至少有一个进程在此处描述。进程可以有两种表现形式,一种是仅仅包含进程名的进程引用(Process refe

32、rence),另一种是与进程的有限状态机相一致的详细描述(进程图)。,数据描述(Data specification)。这一部分描述用户定义的对所有功能块可见的数据类(NEWTYPE, SYNTYPE, GENERATOR)。,43,功能块的描述,BLOCK B1;SIGNAL Sa, Sb;SIGNALROUTE R1 FROM ENV TO P1 WITH S1;SIGNALROUTE R2 FROM ENV TO P2 WITH S2;SIGNALROUTE R3 FROM P1 TO ENV WITH S3;SIGNALROUTE R4 FROM ENV TO P2 WITH S4;S

33、IGNALROUTE R5 FROM P1 TO P2 WITH Sa;FROM P2 TO P1 WITH Sb;CONNECT C1 AND R1, R2;CONNECT C2 AND R3;CONNECT C3 AND R4;PROCESS P1 REFERENCED;PROCESS P2 REFERENCED; ENDBLOCK B1;,(b) 用SDL/PR表示的功能块例子,44,进程的描述,系统的动态行为是通过进程来体现的: 进程在某一状态等待一个信号,当收到一个信号时,进程执行与该信号相关的指定操作。 执行完所有规定的操作后,进程进入下一个状态,等待新的输入信号。 进程包含很多状

34、态,在不同状态下对收到的信号作出不同的处理。可以将状态看作是进程运行过程中的某一点,在该点进程不执行任何动作,但却在监视输入队列中是否有信号到达。,45,进程的描述,有两种方式创建进程(进程实例): 一种是在创建系统时产生, 另一种是用CREATE调用来显示创建。这种方式一般只被同一功能块中的另一个进程来使用。 进程可以一直存活下去,或执行一个停止操作(Stop)来终止运行。 进程的描述规范实际上定义的是进程的类型。同一类型的进程可以有多个实例,这些实例可同时被创建和并行运行。,46,进程的描述,进程名,第一个整型参数指定系统创建时创建的进程实例个数,它的默认值为1。第二个整型参数指定可同时运

35、行的进程实例的个数,它的默认值是任意大(unbounded,即无限制)。,变量定义。可以将变量定义成与同一功能块中其它进程共享的变量(REVEALED变量),或可被共它功能块中的进程访问的变量(EXPORTED变量)。,47,进程的描述,48,进程的描述,在进程体中,每一个状态定义开始时都必须描述进程在该状态等待的所有可能的输入或激励(Stimuli)。这些输入包括:接收的所有输入信号(Inputs),需要保存下来在将来处理的信号(Saves),实现有条件接收信号的使能条件(Enabling conditions),连续信号(Continuous signals,与使能条件相似,但没有与具体的

36、信号相关联)。,除了Save以外,上述每一个输入必须有对应的转换(动作系列)定义,当这些输入出现时,进程将执行定义的转换。,49,进程的描述,其它的描述内容: 合法的输入信号集(Valid input signal set)。定义进程可以接收的信号,用信号标志符表来表示。 过程描述(Procedure specification)。指定进程可以调用的过程。过程的描述也可只包含一个过程名,表示一个可独立定义的本地过程,这种方式称为过程引用(Procedure call)。 数据描述(Data specification)。定义进程使用的局部数据类。 视图变量定义(View definition)

37、。声明可以保存其它进程实例拥有的变量值的变量,称为视图变量。同样,对于每一个视图变量,必须指定数据类型。,50,进程的描述,其它的描述内容(Cont.): 进口变量定义(Import definition)。声明一个进程想要访问的其它进程中的变量,称为进口变量。同样,对于每一个进口变量,必须指定数据类型。 计时器定义(Timer definition)。声明一个进程体中使用的计时器。,51,内容提要,概述,1,SDL系统结构定义,2,SDL中的数据,3,系统、功能块和进程,4,协议描述,5,52,Example: Sliding Window Protocol,SWP系统包括三个功能块:sen

38、der_entity(发送功能块),receiver_entity(接收功能块)和medium(媒体或信道)。由于发送方和接收方(网络层协议实体)不是系统描述的一部分,因此将它们看作是环境的一部分。,通道ut:从环境到发送功能块,通道ur:从接收功能块到环境,信号UDTreq表示发送功能块从发送方请求数据,UDTind信号是接收功能块通知接收方数据到达,53,Example: Sliding Window Protocol,发送功能块通过双向通道mt将数据(MDTreq信号)发送到信道并从信道得到数据应答(MAKind信号)。,接收功能块则通过双向通道mr从信道得到数据(MDTind信号)并发

39、送数据应答(MAKreq信号)到信道上。,54,Example: Sliding Window Protocol,ur,receiver,MDTind,r,MAKreq,UDTind,r_sap,BLOCK receiver_entity,mr,transmitter,MAKind,s,MDTreq,MAKind,s_sap,BLOCK sender_entity,ut,mt,(a) 功能块 sender_entity,(b) 功能块receiver_entity,发送功能块只包含一个进程transmitter,该进程在系统启动时被实例化一次,且只被实例化一次。,接收功能块同样也只包含一个进程

40、receiver,且在系统启动时被实例化一次。,55,Example: Sliding Window Protocol,MsgHazard,MsgManager,AckHazard,AckManager,(LM),mm,(LA),aa,BLOCK medium,rmr,MDTind,MAKreq,rar,MAKind,sar,MDTreq,smr,mt,mt,mr,mr,(c) 功能块medium,信道由两个队列管理进程(MsgManager和AckManager)和两个错误处理进程(MsgHazard和AckHazard)组成。,处理正常数据,处理异常数据(数据丢失,用信号LM表示),处理正

41、常应答,处理异常应答(应答丢失,用信号LA表示),信号及信号表定义,56,Example: Sliding Window Protocol,上面的讨论只是描述了滑动窗口协议中部分协议操作。对于协议中的一个很重要的协议操作,计时器则没有描述。 在滑动窗口协议中,协议需要为每一个发送的数据帧启动一个计时器。 我们可以用SDL中的Timer类和时间信号(tim)来模型化计时器(tim的不同实例分别对应不同的发送报文的计时器),用Duration类来描述超时值,并定义计时器操作原语SET和RESET。 有关细节可参考ISO相关技术报告,57,Representation assumptions,Two

42、 protocol entities sender PE and receiver PE,58,SDL system structure,SenderPE,LLS,ReceiverPE,LSAPA,LDreq,LDind,SAPB,LDind,LSAPA,LDreq,Dind,59,Example 1: Dummy protocol (No flow control),60,Example 2: X-on/X-off protocol,Three PDU types Data PDU: sent to the receiver PE by the sender PE; it contains

43、user data Suspend PDU: sent to the sender PE by the receiver PE to signal that the sender should stop sending data PDUs Resume PDU: sent to the sender PE by the receiver PE to signal that the sender should resume sending data PDUs,61,X-on/X-off protocol: SenderPE,62,X-on/X-off protocol: Receiver PE,

44、63,Example 3: Stop and Wait Protocol,Protocol is independent of the speed of system parts, but it is still incapable of handling LLS errorsTwo PDU types Data PDU: contains user data Ack PDU: acknowledges the reception of a data PDU,64,Stop and Wait Protocol,65,Example 4: Window Protocol,Protocol bas

45、ed on a credit for outstanding Data PDUs This credit is called window size (value W)We start the reasoning with a reliable LLS,66,Window Protocol (Cont.),67,Example 5: Alternating bit protocol,Two PDU types Data PDU sequence number, data Ack PDU sequence numberIn the case of the alternating bit protocol the sequence numbers are 0 or 1 Sequence numbers are often called PDU identification,68,Alternating bit protocol: Sender PE,69,Alternating bit protocol: Receiver PE,70,思考题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报