第3讲_网络协议及其设计方法_第1页
第3讲_网络协议及其设计方法_第2页
第3讲_网络协议及其设计方法_第3页
第3讲_网络协议及其设计方法_第4页
第3讲_网络协议及其设计方法_第5页
已阅读5页,还剩177页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第第3 3讲讲 网络协议及其设计方法网络协议及其设计方法2内容提纲内容提纲1 网络协议基本概念网络协议基本概念2 网络协议的发展和要素网络协议的发展和要素3 网络协议缺陷示例网络协议缺陷示例4 协议标准化协议标准化5 网络协议工程网络协议工程6 网络协议设计方法网络协议设计方法7 协议形式化描述技术协议形式化描述技术 3协议基本概念协议基本概念v 协议是某一种活动或行为所遵守的准则,是有关各方协议是某一种活动或行为所遵守的准则,是有关各方事先约定好的和必须遵守的规则。事先约定好的和必须遵守的规则。v 网络协议是为网络中互相通信的对等实体间进行数据交换而建立的规则、标准或约定,规定信号的传输

2、方式及其意义,是计算机网络不可缺少的组成部分,保证实体在计算机网络中有条不紊地交换数据。v 实体(Entity)是指任何可以发送或接收信息的硬件或软件进程,在大多数情况下,就是一个特定的软件进程。v 位于不同系统的同一层次内交互的实体,就构成了对等实体。 4协议基本概念(协议基本概念(Cont.)v 英格兰国家物理实验室英格兰国家物理实验室NPL(National Physical Laboratory)的的R.A. Scantlebury和和K.A.Bartlett在一份备在一份备忘录忘录( (A protocol for use in the NPL data communications

3、 network) )中最早将中最早将“协议协议(protocol)”一词用于描述数据一词用于描述数据通信过程。(通信过程。(19671967年年4 4月,月,19691969年年ARPNETARPNET开始运行)开始运行) “协议是关于分布式系统进行信息交换时的一种约定,协议是关于分布式系统进行信息交换时的一种约定,协议应按照语言的方式进行定义。协议应按照语言的方式进行定义。” v 基于他们的观点:网络协议就是具有规定文法、语法和基于他们的观点:网络协议就是具有规定文法、语法和语义的语言,其中,语义的语言,其中,文法文法给出了有效信息的精确格式,给出了有效信息的精确格式,语法语法描述了数据交

4、换的规则,描述了数据交换的规则,语义语义规定了可交换信息的规定了可交换信息的词汇及其含义。词汇及其含义。5协议基本概念(协议基本概念(Cont.)v 协议三要素协议三要素( (从语言的角度来理解协议从语言的角度来理解协议) ):语法(语法(SyntaxSyntax):协议元素的结构或格式):协议元素的结构或格式(怎么表达)(怎么表达)。语义(语义(SemanticsSemantics):协议元素的类型,具体发出何种信息):协议元素的类型,具体发出何种信息和采取何种动作(和采取何种动作(什么含义什么含义)。)。同步(同步(TimingTiming):相关事件实现的严格顺序):相关事件实现的严格顺

5、序(前后关系)(前后关系)。 v 五个基本要素五个基本要素( (从功能实现的角度从功能实现的角度) ):服务说明服务说明环境假设环境假设协议词汇(消息类型)协议词汇(消息类型)消息的编码格式消息的编码格式过程规则过程规则6协议基本概念:语法协议基本概念:语法v 在语言学中,语法是指语言组成成分在语言学中,语法是指语言组成成分(词、句等词、句等)之间以之间以按照什么样的关系结合而构成语句或语言,也即是语按照什么样的关系结合而构成语句或语言,也即是语言的结构方法和构成规则。言的结构方法和构成规则。v 在网络协议中,可以将交换的报文在网络协议中,可以将交换的报文( (也称为协议数据单也称为协议数据单

6、元元PDU)PDU)分为两种:用于传输用户数据的数据报文和用分为两种:用于传输用户数据的数据报文和用于协议控制的控制报文。网络协议中的于协议控制的控制报文。网络协议中的语法体现在数语法体现在数据报文据报文 ( (包括其中的控制信息,通常在报文的首部包括其中的控制信息,通常在报文的首部) )和和各种控制报文的结构和格式上各种控制报文的结构和格式上,也即是规定报文的长,也即是规定报文的长度,报文中划分多少个域度,报文中划分多少个域(Field)(Field),每个域的名称、意,每个域的名称、意义、数据类型、长度等。其中,报文中各个域的类型、义、数据类型、长度等。其中,报文中各个域的类型、长度及相互

7、间的位置、顺序关系则构成了长度及相互间的位置、顺序关系则构成了词法词法。词法。词法也是语法的一个组成部分。也是语法的一个组成部分。 7协议基本概念:语义协议基本概念:语义v 网络协议的语义可以理解为协议数据报文中的控制信网络协议的语义可以理解为协议数据报文中的控制信息和控制报文所约定的含义,即需要发出何种控制信息和控制报文所约定的含义,即需要发出何种控制信息,完成何种动作以及做出何种响应。息,完成何种动作以及做出何种响应。v 例如:例如:报文首部控制信息中的目的地址信息指明了报文的目的地,报文首部控制信息中的目的地址信息指明了报文的目的地,接收到此报文的网络结点均将其作为进行路由选择的依据,接

8、收到此报文的网络结点均将其作为进行路由选择的依据,因而在首部控制信息中特定域内出现的目标结点地址就是一因而在首部控制信息中特定域内出现的目标结点地址就是一种语义。种语义。 为了实现有连接的传输服务,设计了一套实现连接的控制报为了实现有连接的传输服务,设计了一套实现连接的控制报文。发起连接方构造一个请求连接的协议控制报文,这个文。发起连接方构造一个请求连接的协议控制报文,这个“请求连接请求连接”就是该控制报文的语义。收端收到这个控制报就是该控制报文的语义。收端收到这个控制报文后,根据已知的格式分析规定域中报文编码就可了解这个文后,根据已知的格式分析规定域中报文编码就可了解这个“请求连接请求连接”

9、的语义,从而作出的语义,从而作出“允许连接允许连接”或或“拒绝连接拒绝连接”的响应。的响应。8协议基本概念:语义(协议基本概念:语义(Cont.)v例如:例如:“允许连接允许连接”报文和报文和“拒绝连接拒绝连接”报文的格式和语报文的格式和语义也是协议中约定好的,通信双方通过这些约定语义也是协议中约定好的,通信双方通过这些约定语义的控制报文按一定时序关系进行交换即可实现建义的控制报文按一定时序关系进行交换即可实现建立连接的功能和提供有连接服务。立连接的功能和提供有连接服务。 在协议中常使用的在协议中常使用的“数据收到确认数据收到确认”报文报文(ACK(ACK报报文文) )、“出错通知出错通知”报

10、文、报文、“紧急通知紧急通知”报文等均报文等均可看成为具有特定语义的网络协议的语句,即协议可看成为具有特定语义的网络协议的语句,即协议的组成部分。的组成部分。 9协议基本概念:同步协议基本概念:同步v 简单地说,同步是指事件实现顺序的详细说明。简单地说,同步是指事件实现顺序的详细说明。 v 具体来说,同步是指通信过程中各种控制报文传送的具体来说,同步是指通信过程中各种控制报文传送的顺序关系,例如顺序关系,例如“允许连接允许连接”或或“拒绝连接拒绝连接”报文必报文必须是作为请求连接报文的一种响应来发送,须是作为请求连接报文的一种响应来发送,“拆除连拆除连接接”报文也必须在建立连接后的某种条件下发

11、送,等报文也必须在建立连接后的某种条件下发送,等等。等。v 这种控制报文发送的时序关系,也决定了通信双方所这种控制报文发送的时序关系,也决定了通信双方所处的通信状态处的通信状态( (发送状态、接收状态、等待状态等发送状态、接收状态、等待状态等) )的的制约关系,所以常用通信双方的有限状态机的方法来制约关系,所以常用通信双方的有限状态机的方法来描述网络协议。描述网络协议。 v 在有些文献中,也将这种同步关系视为协议语法的一在有些文献中,也将这种同步关系视为协议语法的一部分。部分。 10协议相关定义:进一步延伸协议相关定义:进一步延伸v进一步延伸为计算机通信协议。进一步延伸为计算机通信协议。 v协

12、议是协议是计算机网络和分布式系统计算机网络和分布式系统中各种中各种通信实通信实体体或或进程间进程间相互交换信息时必须遵守的一组规相互交换信息时必须遵守的一组规则或约定则或约定。v网络协议工程中的许多技术和方法可应用到分网络协议工程中的许多技术和方法可应用到分布式系统中进程间通信协议的设计活动中。布式系统中进程间通信协议的设计活动中。 11协议相关定义:网络体系结构协议相关定义:网络体系结构v大量研究和实践经验表明,对于非常复杂的计大量研究和实践经验表明,对于非常复杂的计算机网络协议,其结构应采用层次式的。算机网络协议,其结构应采用层次式的。 v在计算机网络中,将在计算机网络中,将计算机网络的计

13、算机网络的各层各层及其及其协协议议的集合的集合,称为网络的,称为网络的体系结构体系结构(architecture)。ISOISO的的OSI/RMOSI/RM(开放系统互连(开放系统互连/ /参考模型)参考模型)IBMIBM的的SNASNA(系统网络体系结构)(系统网络体系结构)DECDEC的的DNADNA(分布式网络体系结构)(分布式网络体系结构)IETFIETF的的TCP/IPTCP/IP 12内容提纲内容提纲1 网络协议基本概念网络协议基本概念2 网络协议的发展和要素网络协议的发展和要素3 网络协议缺陷示例网络协议缺陷示例4 协议标准化协议标准化5 网络协议工程网络协议工程6 网络协议设计

14、方法网络协议设计方法7 协议形式化描述技术协议形式化描述技术13协议的发展:早期的协议协议的发展:早期的协议v 战争中的烽火通信、敲鼓和鸣锣战争中的烽火通信、敲鼓和鸣锣 v 改进的火炬通信(两组,每组五个火炬)改进的火炬通信(两组,每组五个火炬)v 美国革命战争使用的悬挂不同物品的旗杆美国革命战争使用的悬挂不同物品的旗杆v Chappe的反射信号系统(一个调节器和两个指示器的反射信号系统(一个调节器和两个指示器)v 百叶窗通信系统(多扇百叶窗构成简单百叶窗通信系统(多扇百叶窗构成简单0、1序列序列)。)。v Telegraph,节省成本和提高速度。,节省成本和提高速度。v Firstly us

15、ed on several lines of the Great Western Railways in England v Purpose: avoid more than one train is in the tunnel at the same time.14火炬通信火炬通信协议的发展:早期的协议协议的发展:早期的协议反射信号系统反射信号系统百叶窗通信系统百叶窗通信系统15协议的发展:电报协议的发展:电报(Telegraph)v 1753,C.M给给Scots杂志的信中描述了一个使用一些平行电杂志的信中描述了一个使用一些平行电线来通信的电子电报。线来通信的电子电报。v 1830,英国,

16、英国Michael Faraday和美国和美国Joseph Henry发现了电发现了电磁感应。磁感应。v 1837,William Cooke利用电流来使处在接收端磁场中的利用电流来使处在接收端磁场中的罗盘指针发生偏转,从而得到信号。罗盘指针发生偏转,从而得到信号。v 1837年年6月月12日,第一个电报系统的专利,日,第一个电报系统的专利,“五磁针信号五磁针信号系统系统”。v 1842年,年,Cooke“火车可以无所畏惧地行驶,而无论时间火车可以无所畏惧地行驶,而无论时间是否正确,也不管其是否在正确的轨道上,因为在使用该是否正确,也不管其是否在正确的轨道上,因为在使用该系统后,其速率总可以及

17、时地降下来,从而避免碰撞系统后,其速率总可以及时地降下来,从而避免碰撞”。16协议的发展:现代网络协议协议的发展:现代网络协议vIBM SNA、ISO OSI/RM和和DoD TCP/IP等著名等著名体系结构和协议已发挥了不可估量的作用;体系结构和协议已发挥了不可估量的作用;vSNA是协议体系结构的开拓者;是协议体系结构的开拓者;vOSI/RM是网络协议的指路灯;是网络协议的指路灯;vTCP/IP是目前盛行的实事上的工业标准;是目前盛行的实事上的工业标准;vXTP、VMTP、IPv6和和NETBLT的出现,将使的出现,将使计算机网络进入一个高性能的时代。计算机网络进入一个高性能的时代。 17协

18、议的类别协议的类别v链路协议链路协议v网络协议网络协议 v传输协议传输协议v应用协议应用协议v控制协议控制协议v信令协议信令协议v接口协议接口协议v管理维护协议管理维护协议v18协议五要素说明协议五要素说明(Lynch简单文件传送协议)简单文件传送协议)v服务说明服务说明 通过电话线传输文本文件,一个发送端和一个接收端、通过电话线传输文本文件,一个发送端和一个接收端、全双工通信全双工通信v环境假设环境假设 包括两个用户和一条传输通道,用户仅需提交文件传包括两个用户和一条传输通道,用户仅需提交文件传送请求,传输通道可能引起消息出错,但不会造成消送请求,传输通道可能引起消息出错,但不会造成消息丢失

19、和复制,并可检测出错误的消息息丢失和复制,并可检测出错误的消息v协议词汇协议词汇 定义了三种消息(报文)定义了三种消息(报文)ack(肯定确认的消息)、(肯定确认的消息)、nak(否定确认的消息)和(否定确认的消息)和err(传输错误的消息)(传输错误的消息)19协议五要素说明协议五要素说明(Lynch简单文件传送协议)简单文件传送协议)v消息的编码格式消息的编码格式 包含两个部分:控制字段和数据字段包含两个部分:控制字段和数据字段 con_tag,data enum control ack, nak, err struct message enum control con_tag; unsi

20、gned char data; v过程规则(自然语言描述)过程规则(自然语言描述) (1)如果收端收到正确消息,则在回送的消息中加入)如果收端收到正确消息,则在回送的消息中加入ack;否则收到了错误消息,则反馈的消息中加入否则收到了错误消息,则反馈的消息中加入nak。 (2)如果发端收到带有)如果发端收到带有nak的消息,则重传上一个消息,否的消息,则重传上一个消息,否则发送下一个消息。则发送下一个消息。20Lynch简单文件传送协议的工作流程图简单文件传送协议的工作流程图注释:注释:next:o表示取出将要传送的下一个数据项;表示取出将要传送的下一个数据项; i表示输入,表示输入,o表示输出

21、表示输出Next: ostartreceiveack: onak: iack: inak: oerr: iack: oNext: o21内容提纲内容提纲1 网络协议基本概念网络协议基本概念2 网络协议的发展和要素网络协议的发展和要素3 网络协议缺陷示例网络协议缺陷示例4 协议标准化协议标准化5 网络协议工程网络协议工程6 网络协议设计方法网络协议设计方法7 协议形式化描述技术协议形式化描述技术22协议缺陷示例协议缺陷示例:克莱顿隧道事故克莱顿隧道事故23协议缺陷示例:技术协议缺陷示例:技术(Technology)v semaphores with block-interval system(空

22、闲空闲/阻塞信号阻塞信号系统系统)turn green signal to red automatically as a train passesset to green by hand afterwardsv signalmen on both ends linked by telegraphic linev malfunction of block-interval system signalled by a bellv red and white flags to replace malfunctioning semaphore24协议缺陷示例:报文协议缺陷示例:报文(Messages)

23、vMessage:TT: Train in Tunnel(火车在隧道中)(火车在隧道中)TF: Tunnel is Free(隧道已空)(隧道已空)TL: Has Train left the Tunnel?(火车离开隧道否?)(火车离开隧道否?)25协议缺陷示例:差错控制机制协议缺陷示例:差错控制机制vError Free Functioning(正常情况)(正常情况)train enters tunnel, signalman A sends TT to Btrain leaves the tunnel, B sends TF to AA sets semaphore to green b

24、y handvUnder Error Situation(故障情况)(故障情况)train enters tunnel, A sends TT to Bbell rings, A shows red flag to next traintrain leaves the tunnel, B sends TF to AA shows white flag to next train26协议缺陷示例:事故协议缺陷示例:事故(Accident)vOne day in August 1861 at Clayton Tunnel.train-1 enters tunnel, block-interval

25、system fails(fails to set the signal to red), so the bell warns signalman A, thenA sends TT to B, then fetches the red flag to warn the next train.train-2 comes too fast, could not stop in time, and has already passed the green signal. Fortunately, its driver glimpse the red flag just in time as he

26、enters the tunnel.train-3 sees the red flag and stops before the tunnel entrance.27协议缺陷示例:事故(协议缺陷示例:事故(Accident) A sends another TT to B (for train-2), wish to notify B B does not understand second TT(because the protocol did not account for this event so the meaning of two sbusequent TT had not bee

27、n specified.) A sends TL (has the train left the tunnel?)to B28协议缺陷示例:事故(协议缺陷示例:事故(Accident) B sees train-1 has left and sends TF A thinks two trains left the tunnel and shows white flag to train-3 However, train-2 had seen red flag before, is afraid and tries to return to position A After some deli

28、beration.29协议缺陷示例:事故(协议缺陷示例:事故(Accident)vResult train-3 and train-2 crashed: 21 people died and 176 got injured The set of instructions given to the signalmen was incomplete, which leads to the accident30协议缺陷示例:教训(协议缺陷示例:教训(Lessons)v “One can almost hear the same comment being made time after time.I

29、 could not imagine that could ever happen. Yet bitter experience showed that it could, and gradually the regulations and railway engineering practice were elaborated.”vProtocol: Use Under normal circumstances and that allowed for a safe recovery from unexpected events.31协议缺陷示例:教训(协议缺陷示例:教训(Lessons)v

30、even the most simple protocols may contain errorsvIt is the unexpected sequences of events that lead to protocol failures, and the hardest problem in protocol design is precisely that we must try to expect the unexpected.vprotocols must be fully verified before they are put in operationvtechniques t

31、o design, analyze and verify protocols are necessary32内容提纲内容提纲1 网络协议基本概念网络协议基本概念2 网络协议的发展和要素网络协议的发展和要素3 网络协议缺陷示例网络协议缺陷示例4 协议标准化协议标准化5 网络协议工程网络协议工程6 网络协议设计方法网络协议设计方法7 协议形式化描述技术协议形式化描述技术33协议标准化协议标准化vWhat are standards?Standards are documented agreements containing technical specifications to be used c

32、onsistently as rules, guidelines, or definitions of characteristics, to ensure that materials, products, processes and services are fit for their purposeInternational Standards contribute to making life simpler, and to increasing the reliability and effectiveness of the goods and services we useIndu

33、stry-wide standardization is a condition existing within a particular industrial sector when the large majority of products or services conform to the same standards34标准的定义和分类标准的定义和分类v 定义 名词术语的定义 部件的分类 材料、性能或操作的规范 规程的描述 数量和质量的测量等 .v 分类 “de facto”(事实上的) “de jure”(法律上的)标准是一组规定的规标准是一组规定的规则、条件或要求。则、条件或要

34、求。事实上的标准是无计事实上的标准是无计划而客观形成的。划而客观形成的。“法定法定”标准是某些权标准是某些权威标准化机构制定的威标准化机构制定的正式、合法的标准。正式、合法的标准。35协议标准化(协议标准化(Cont.)vWhy Push For Standardization?The aim is to facilitate trade, exchange and technology transfer throughEnhanced product quality and reliability at a reasonable price.Greater compatibility and

35、 interoperability of goods and services.Simplification for improved usability.Increased distribution efficiency, and ease of maintenance36协议标准化(协议标准化(Cont.)vWhat does a standard look like? - ISO explains the major components of their standards documents:It can be anything from a one-page document to

36、 a 1000-page tome(册、卷)(册、卷), including twice the length of the standard itself in informative annexes(附件)(附件)It may specify the tasks that a certain range of equipment must be able to perform, or describe in detail an apparatus and its safety features37协议标准化(协议标准化(Cont.)vWhat makes up a standard? It

37、 may contain:SymbolsDefinitionsDiagramsCodesTest methods38协议标准化(协议标准化(Cont.)vOrganization for Standardization for Protocols International Organization for Standardization (ISO) 国际电报电话咨询委员会国际电报电话咨询委员会 (CCITT)International Telecommunications Union (ITU-T)Internet Engineering Task Force (IETF) Institut

38、e of Electrical and Electronics Engineers (IEEE)Institute of Electrical Engineers (IEE) World Wide Web Consortium (W3C)Association for Computing Machinery (ACM)Asynchronous Transfer Mode Forum (ATM Forum)American National Standards Institute (ANSI)39Timing: Its important for standardsvMIT D. Clarks

39、“apocalypse(启示启示) of the two elephants”The best period for standardization is between burst of research and burst of marketingThe period is very shortTCP/IP already entrenched by mid/late eightiesOSI/RM is put up in the burst of marketing of TCP/IP40标准化的时机标准化的时机关键:在两个驼峰之间的低谷阶段制定标准关键:在两个驼峰之间的低谷阶段制定标准

40、时间时间活动活动 投资投资研究研究制定标准制定标准41Examples: OSI/RM ProblemsvTannenbaum(泰伦鲍姆泰伦鲍姆):Bad technologyBad timingBad implementationBad politics42Bad technologyv Model and protocol flawedv Standardized before implementedDesign by committee without implementation vs. design by implementors/researchers/engineersBound

41、aries somewhat arbitraryTop three layers not clear(application, presentation, session)v Why seven layers? Many fundamental issues can be addressed at multiple layersReliabilityFlow controlSecurityAddressing/naming43Bad timingvMIT D. Clarks “apocalypse(启示启示) of the two elephants”Technology activity v

42、s. time to standardizationvTCP/IP already entrenched by mid/late eighties44Bad implementationsvComplexity huge & slow implementations (考虑大而全,要全部实现就苯拙且效率低考虑大而全,要全部实现就苯拙且效率低)vCompetitor (BSD TCP/IP) was good, free, and easy to deploy45Bad politicsvPushed by European Community and U.S. governmentvN

43、egative image of government dictating standardsRemember “Clipper Chip(剪取器芯片剪取器芯片. 一种可以放一种可以放置在电话内用来对通话进行扰频以防窃听的有置在电话内用来对通话进行扰频以防窃听的有争议的编码装置)争议的编码装置)”46TCP/IP: Featuresv Layering not strict - only where appropriateCan define new abstractions on top of any existing protocolIP/UDP provides simple “send

44、 a packet” serviceEx: SNMP, DNS, IP phone, etc. v Hourglass shapeIP centerpiecev Design and implementation go hand-in-handIETF requires two independent, interoperable implementations before standardizationThe “dogma(教义)(教义)”: We reject kings, presidents, and voting. We believe in rough consensus (大体

45、一致(大体一致 )and working code. - D. Clark47内容提纲内容提纲1 网络协议基本概念网络协议基本概念2 网络协议的发展和要素网络协议的发展和要素3 网络协议缺陷示例网络协议缺陷示例4 协议标准化协议标准化5 网络协议工程网络协议工程6 网络协议设计方法网络协议设计方法7 协议形式化描述技术协议形式化描述技术48网络协议工程:网络协议工程:Why?网络服务要求的提高应用的多样性网络系统的多样性导致在协议方面的体现复杂性分布性并发性异步性不稳定性多样性完整性正确性安全性可移植性标准化使得直觉的设计方法不能保证协议的协议工程协议工程(Protocol Engineeri

46、ng)软件工程的经验网络系统的规模提升49协议工程概念协议工程概念v随着网络服务要求的提高,网络系统的复杂性随着网络服务要求的提高,网络系统的复杂性在协议方面体现出在协议方面体现出空间分布性空间分布性、并发性并发性、异步异步性性、不稳定性不稳定性和和多样性多样性,高质量的通信协议再,高质量的通信协议再也不可能靠人工直觉的方法来设计;也不可能靠人工直觉的方法来设计;v协议工程(协议工程(Protocol Engineering)用)用形式化的形式化的方法方法来描述在协议设计和维护中的各个活动,来描述在协议设计和维护中的各个活动,建立一套严格的协议设计方法,使协议开发的建立一套严格的协议设计方法,

47、使协议开发的整个过程整个过程一体化一体化、系统化系统化和和形式化形式化,从而保证,从而保证协议的完整性、正确性、安全性和可移植性。协议的完整性、正确性、安全性和可移植性。50Protocol Engineering: What?v 七十年代未人们开始用形式化的方法描述通信协议。七十年代未人们开始用形式化的方法描述通信协议。v 19811981年,在软件工程思想的基础上,年,在软件工程思想的基础上,PiatkowskiPiatkowski(皮皮亚考斯基亚考斯基)首先提出了)首先提出了“协议工程(协议工程(PEPE:Protocol Protocol EngineeringEngineering)

48、”的概念的概念v 协议工程学用形式化方法描述协议设计和维护中的各协议工程学用形式化方法描述协议设计和维护中的各个过程,它是以协议软件为研究对象的软件工程,而个过程,它是以协议软件为研究对象的软件工程,而且建立了一套比一般软件工程方法更为严格、更为数且建立了一套比一般软件工程方法更为严格、更为数学化的理论和方法,为协议软件的开发提供一整套工学化的理论和方法,为协议软件的开发提供一整套工程规范。程规范。v 集成化集成化(Integrated)(Integrated)、形式化形式化(Formal)(Formal)的协议开发过的协议开发过程程称为协议工程。协议工程的目的是减少协议开发过称为协议工程。协

49、议工程的目的是减少协议开发过程中潜在的错误,提高协议开发的效率,促进协议标程中潜在的错误,提高协议开发的效率,促进协议标准化的发展。准化的发展。 所谓所谓“集成化(一体化)集成化(一体化)”,就是指协议描述、验证、,就是指协议描述、验证、实现和测试等技术前后衔接,并在同一个开发系统中实现和测试等技术前后衔接,并在同一个开发系统中完成。在以往的协议开发过程中,各个阶段互不衔接。完成。在以往的协议开发过程中,各个阶段互不衔接。协议设计者凭自己的经验和智慧设计出协议,用自然协议设计者凭自己的经验和智慧设计出协议,用自然语言进行描述,经过他人审定或模拟之后,就予以公语言进行描述,经过他人审定或模拟之后

50、,就予以公布。其他的人只有在感兴趣时才采用某种方法和理论布。其他的人只有在感兴趣时才采用某种方法和理论对协议进行验证。协议实现往往根据自己的环境和要对协议进行验证。协议实现往往根据自己的环境和要求修改协议,协议实现之后不考虑实现与协议规范是求修改协议,协议实现之后不考虑实现与协议规范是否一致。协议的测试往往由协议实现者自己进行,这否一致。协议的测试往往由协议实现者自己进行,这实际上是一种程序调试。实际上是一种程序调试。 所谓所谓“形式化形式化”,就是指用形式描述技术,就是指用形式描述技术FDT(Formal Description Technique)贯穿协议开贯穿协议开发的各个阶段。形式化描

51、述语言发的各个阶段。形式化描述语言FDL(Formal Description Language)以一种或多种形式化描述以一种或多种形式化描述技术为基础,有严格的语法和语义定义,抽象于技术为基础,有严格的语法和语义定义,抽象于具体的实现,可以转换、翻译成程序设计语言。具体的实现,可以转换、翻译成程序设计语言。当协议进行形式化描述后,协议的验证、自动实当协议进行形式化描述后,协议的验证、自动实现、测试就可以在一个集成化的协议工程系统中现、测试就可以在一个集成化的协议工程系统中进行了。进行了。 51协议表现形式协议表现形式在协议开发过程中,协议表现为以下几种形式:在协议开发过程中,协议表现为以下几

52、种形式:v 非形式描述文本:用自然语言和图表表达的协议。非形式描述文本:用自然语言和图表表达的协议。v 形式描述文本:用形式描述语言(形式描述文本:用形式描述语言(FDL)描述的协议,可转换)描述的协议,可转换成程序设计语言程序。它一般基于某种数学模型,如:有限状成程序设计语言程序。它一般基于某种数学模型,如:有限状态机(态机(FSM)、)、PETRI网、网、 ITU-T的规范描述语言(的规范描述语言(SDL)、)、时态逻辑(时态逻辑(TL)、通信系统演算()、通信系统演算(CCS)等。)等。v 与机器无关的协议源程序代码(与机器无关的协议源程序代码(Machine-independent S

53、ource Code):这是由形式描述文本翻译过来的程序设计语言。):这是由形式描述文本翻译过来的程序设计语言。v 协议实现代码(协议实现代码(Implementation Code):协议在一种机器的实):协议在一种机器的实现还包括大量协议文本没有描述的程序,如缓冲器的分配管理、现还包括大量协议文本没有描述的程序,如缓冲器的分配管理、系统输入输出等操作,这部分程序称作协议实现代码。系统输入输出等操作,这部分程序称作协议实现代码。v 测试套件(测试套件(Test Suite):是一组关于协议测试步骤和测试数据):是一组关于协议测试步骤和测试数据的文件,由协议的形式描述文本产生,用于测试协议的实

54、现代的文件,由协议的形式描述文本产生,用于测试协议的实现代码。码。 52协议一般开发实现流程协议一般开发实现流程v熟悉协议熟悉协议( (需求背景、实现内容,相互间关系)需求背景、实现内容,相互间关系) v制定实现方案(组织、结构、层次)制定实现方案(组织、结构、层次)v编写特定的实现程序(编写特定的实现程序(SDLSDL,JavaJava、C/C+C/C+等等, ,考考虑环境因素)虑环境因素)v运行调试运行调试v测试验证测试验证53Protocol Engineering: Procedure非形式化协议规范非形式化协议规范形式化协议规范形式化协议规范形式描述形式描述与机器无关的源代码与机器无

55、关的源代码实现代码实现代码(产品产品)转换转换实现实现产品测试器产品测试器测试序列发生器测试序列发生器一致性测试一致性测试性能分析性能分析模拟模拟验证验证设计设计用户需求说明(服务描述)用户需求说明(服务描述)首先需要设计满足首先需要设计满足需求的协议规范,需求的协议规范,而后要通过验证和分而后要通过验证和分析来证明其可用和正确析来证明其可用和正确。54协议开发主要活动间的关系协议开发主要活动间的关系55PE Activities: Designv 常用的定义:根据协议的需求说明构造协议的非形式常用的定义:根据协议的需求说明构造协议的非形式描述文本描述文本(经过非形式的验证分析)经过非形式的验

56、证分析) 称为称为协议设计协议设计;而将而将“协议的设计、形式描述、验证、实现、测试、协议的设计、形式描述、验证、实现、测试、运行运行”这一全过程称为这一全过程称为“协议开发协议开发”,即协议开发是,即协议开发是指协议工程活动的全过程。指协议工程活动的全过程。 v 其他定义:其他定义:将协议设计定义为将协议设计定义为“从协议的需求说明到从协议的需求说明到协议的形式描述文本,并经过严格验证和性能分析协议的形式描述文本,并经过严格验证和性能分析”这一过程,或定义为协议工程活动的全过程,即相当这一过程,或定义为协议工程活动的全过程,即相当于于“协议开发协议开发”。 v 包括:包括:协议环境分析协议环

57、境分析 、协议的功能设计、协议组织形协议的功能设计、协议组织形式的确定、协议元素的构造、协议文本的编制等式的确定、协议元素的构造、协议文本的编制等。56PE Activities : Design(Cont.)v 协议设计质量的好坏直接关系到开发出来的协议性能、协议设计质量的好坏直接关系到开发出来的协议性能、功能是否能满足用户需求的一个重要因素。协议设计功能是否能满足用户需求的一个重要因素。协议设计阶段的结果是非形式描述协议文本。阶段的结果是非形式描述协议文本。 v 协议设计涉及很多技术,如差错控制技术、流量控制协议设计涉及很多技术,如差错控制技术、流量控制技术、会话管理技术、路由选择技术等。

58、技术、会话管理技术、路由选择技术等。v 协议设计还要遵循一些原则,如结构化、模块化等。协议设计还要遵循一些原则,如结构化、模块化等。 v 协议设计中常犯的两类错误:协议设计中常犯的两类错误: 协议不完善或不完整协议不完善或不完整 设计的规则存在冲突设计的规则存在冲突57PE Activities : Formal Descrpt.v 通信系统行为的复杂性增大了行为描述的难度,人们必通信系统行为的复杂性增大了行为描述的难度,人们必须借助一种语言或一种技术来准确地描述系统行为。须借助一种语言或一种技术来准确地描述系统行为。v 在过去,人们习惯使用自然语言进行协议描述在过去,人们习惯使用自然语言进行

59、协议描述优点:表达能力强、方便、易懂优点:表达能力强、方便、易懂缺点:不严格、不精确、结构不好、没有描述标准、有二义性缺点:不严格、不精确、结构不好、没有描述标准、有二义性必须手工实现协议、难以进行协议测试和验证,效率低必须手工实现协议、难以进行协议测试和验证,效率低 不同的人对协议描述的理解不一样导致不同的协议实现之间不不同的人对协议描述的理解不一样导致不同的协议实现之间不能互操作,甚至还会得出错误的协议。能互操作,甚至还会得出错误的协议。 v 用程序语言描述:便于协议实现,但可读性差,不能很用程序语言描述:便于协议实现,但可读性差,不能很好的表述协议的并发行、不确定性好的表述协议的并发行、

60、不确定性v 解决办法:形式(化)描述技术解决办法:形式(化)描述技术 FDT (Formal Description Technique) 58PE Activities : Formal Descrpt.(Cont.)v 采用形式描述技术的最终目的是:采用形式描述技术的最终目的是:为开发者提供一种分析协议的方法;为开发者提供一种分析协议的方法;作为对开发结果验证的基础;作为对开发结果验证的基础;为设计人员和应用人员提供交流途径;为设计人员和应用人员提供交流途径;作为开发文档能在将来再开发时使用。作为开发文档能在将来再开发时使用。 v 理想形式描述技术应既能描述系统行为特征,又方便实现:理想形式描述技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论