您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > 1协议工程之协议工程概论
网络协议工程尹洪胜2011年4月2第一章协议工程概论1.1概论协议:是某种活动或者行为所遵守的准则或规则。在计算机世界中,协议是计算机之间或者计算机与其它设备之间用来通信的规则或语言。协议工程学:是研究协议设计,协议验证、协议实现、协议测试等技术的一门新的计算机学科。协议工程研究目的:旨在减少协议开发中潜在地错误,提高协议开发效率,促进协议标准化地发展3第一章协议工程概论1.1.1早期的通信及协议协议最早诞生在通信系统中,协议设计的历史与通信本身一样古老。为实现远距离信息传递需要两个条件:(1)要有发送/接收信号的装置——硬件(2)一套通信规则(协议)——软件4第一章协议工程概论早期的通信系统(1)击鼓传令(2)烽火通信(3)光通信(4)电磁通信1.1.2协议缺陷的教训1861年8月发生在克莱顿隧道中的事故,在1.5英里长的隧道两端,一天24小时有人值班。事故造成21人死亡,176人受伤5第一章协议工程概论通信协议(1)列车允许从A——B运行。(2)当列车A进入后,A端向B端发“火车在隧道中”消息。(3)当火车在B端出现时,B端信号员向A端信号员发“隧道空”消息。(4)为安全起见,可以让A端信号员向B端信号员发“火车离开隧道?”询问消息AB6第一章协议工程概论1.2协议及系统的相互作用1.2.1分层系统模型7第一章协议工程概论1.2.2系统的相互作用在n层协议中存在着多种相互作用(1)局部系统与通道系统之间相互作用(2)局部系统之间的相互作用(3)全局系统与外部环境之间相互作用在n层内,系统相互作用按照确定的规则进行,这些系统作用规则的总和就构成n层协议。8第一章协议工程概论1.2.3事件与活动局部系统(协议实体),是系统相互作用的主角,它的活动是由事件驱动的.对局部系统而言,存在两类事件:(1)内部事件局部系统内部产生的事件,如时钟超时(2)外部事件局部系统外部产生的事件。如收到一个服务请求,通道收到一个报文。9第一章协议工程概论1.2.4协议及协议的描述基于上述系统相互作用的概念,给协议如下定义:对于n层全局系统,局部系统之间相互作用的规则以及它们与外部环境和通道系统相互作用的规则的总和就是n层协议。协议必须以某种方式描述(文字、图形等),协议描述至少包括以下内容:(1)局部系统之间交换的报文的确切定义(2)各个局部系统在一个事件产生时进行什么样的活动。(3)各个局部系统怎样通过观察作用点使用通道系统提供的服务。(4)各个局部系统怎样通过观察作用点向外部提供服务。10第一章协议工程概论1.2.5OSI模型应用层表示层会话层传输层网络层链路层物理层应用层表示层会话层传输层网络层链路层物理层接收信息的进程发送信息的进程七层参考模型数据流的物理传输层间的逻辑通信每一层执行功能并将信息送往下一层每一层执行功能并将信息送往上一层11第一章协议工程概论1应用层ApplicationLayer简称A层7表示层PresentationLayer简称P层5会话层SessionLayer简称S层4传输层TransportLayer简称T层3网络层NetworkLayer简称N层2链路层DatalinkLayer简称DL层1物理层PhysicalLayer简称PL层12第一章协议工程概论(1)协议实体(Protocolentity)协议实体简称实体,一个实体就是一个局部系统,n层实体记作(n)-entity.OSI模型各层实体分别记为:A-entity;P-entity;S-entity;T-entityN-entity;DL-entity;PL-entity13第一章协议工程概论(2)协议机(protocolmachine)协议机是协议实体的代名词,缩写:PM;n层协议机记为(n)PM;OSI模型各层协议机记为APM,PPM,SPM,TPM,NPM,DLPM,PLPM14第一章协议工程概论(3)服务n层服务是n层全局系统统一行为的一种体现。n层服务向(n+1)层外部环境提供服务,外部环境使用n层服务,完成通讯任务。n层的服务记为(n)-service,OSI模型各层服务分别记为:A-Service,P-Service,S-Service,T-Service,N-service,DL-Service,PL-service15第一章协议工程概论(4)服务提供者(serviceprovider)n层服务的提供者就是n层的局部系统(协议机)(5)服务的使用者(serviceuser)n层服务的使用者就是(n+1)层的局部系统,但不一定是协议机,例如应用层服务的使用者不一定是协议机,n层服务的使用者称为n层用户。16第一章协议工程概论(6)服务访问(SAP)服务访问点(ServiceAccessPoint)是服务使用者和服务提供者的界面(观察作用点),n层服务访问点(n)SAP,OSI模型各层的服务访问点分别记为:ASAP,PSAP,SSAP,TSAP,NSAP,DLSAP,PLSAP。(7)服务原语(serviceprimitive)服务原语是服务使用者和提供者相互作用的原子行动描述。所谓原子行动是不能部分执行的行动,要么完全执行,要么不执行。服务原语描述服务提供者和服务使用者一次原子交互作用的名称以及各参数的含义。一条服务原语的执行在访问点引起一个事件,这个事件是一种原子事件(Atomicevent)。17第一章协议工程概论(8)服务规范(ServiceSpacification)确切定义了服务使用者和服务提供者之间相互使用的规则。(例如:服务的执行序列等)(9)地址(Address)地址就是服务访问点标识(SAPidentifier),n层地址记为(n)-address,OSI模型层的地址分别记为:A-address;P-address;S-address;T-addressN-address;DL-address;PL-address18第一章协议工程概论(10)协议(Protocol)协议是一组n层实体层执行n层功能中相互通信行为的规则和格式。n层协议记为(n)-protocol,OSI各层协议分别记为:A-protocol;P-protocol;S-protocol;T-protocol;N-protocolDL-protocolPL-protocol19第一章协议工程概论(11)协议规范(ProtocolSpecification)协议规范用某种语言确切定义了实体之间通信规则和交换的报文的格式,以及实体利用低层服务的规则(12)协议数据单元(PDU)协议数据单元(ProtocolDataUnit)是实体之间交换的报文。n层协议数据单元记作:(n)PDU,OSI模型各层的PDU分别记为:APDU,PPDU,SPDU,TPDU,NPDU,DLPDU,PLPDU20第一章协议工程概论(13)服务数据单元(SDU)服务数据单元(ServiceDataUnit)是服务提供者和服务使用者之间传递的数据单元,n层服务数据单元记作(n)SDU,OSI各层的SDU分别记作ASDU,PSDU,SSDU,TSDU,NSDU,DLSDU,PLSDU。(14)协议控制信息(PCI)协议控制信息(ProtocolControlInformation)是实体本身产生的控制信息,它是PDU中一部分,n层协议控制信息记作(n)PCI21第一章协议工程概论APCI,PPCI,TPCI,SPCI,NPCI,DLPCI,PLPCI,(n-1)SDU=(n)PDU=(n)SDU+(n)PCI(n)SDU(n)PDU(n)PCI(n)PDU(n-1)层(n-1)SDU(n-1)SDU22第一章协议工程概论1.3协议的开发过程协议的开发包括六个过程协议设计(PDU格式,协议机制,服务原语等设计)协议描述,用某种语言确切地描述协议元素协议的验证与性能分析,对所描述的协议验证其正确性,分析其性能;协议实现,根据描述的协议产生网络硬软件协议测试,对实现的协议进行测试协议维护,对网络软硬件进行维护23第一章协议工程概论N层全局系统是一个分布系统,它的行为完全由n层协议所支配,分布系统的复杂性就是协议的复杂性.复杂性体现在:(1)分布性:多个局部系统分布在不同的机器上.(2)并发性:各个局部系统并发工作(3)异步性:各个局部系统不能同时观察到事件产生(4)实时性:局部系统的活动有严格的时序要求和时间要求。(5)通道系统的不稳定性24第一章协议工程概论协议开发困难:(1)网络软件规模大,开发周期长(2)潜在错误多,排除困难(3)协议标准化保障困难(4)软件一致性差(5)软件可维护性低由于上述原因,协议开发过程急需要工程化,提高网络软件生产率,促进标准化的实现,提高网络软件的可靠性和可维护性。25第一章协议工程概论协议设计协议标准文本协议验证协议性能评价协议软件代码协议实现协议一致性测试协议形式描述协议综合26第一章协议工程概论1.3协议工程的研究内容1.3.1协议工程的定义剖析一体化的、形式化的协议开发过程叫——协议工程。使协议开发一体化的、形式化的的理论和技术以及协议工程系统建造技术——协议开发技术(协议技术或协议工程学)27第一章协议工程概论一体化:协议的设计、验证、实现和测试,在技术上前后衔接,并在同一个开发系统中完成。形式化:用形式描述语言FDL(FormalDescriptionLanguage)连接协议开发的各个阶段。协议的表示形式有:非形式描述文本;形式描述文本28第一章协议工程概论协议工程系统包括许多软件工具,包括许多协议表示。在协议工程中,协议的表示形式有:非形式描述文本:用自然语言和图表。形式描述文本:用FDL描述的协议,严密,无二意,可符号执行,可转换成程序设计语言。29第一章协议工程概论与机器无关的代码:是由形式描述文本翻译过来的程序。(pascal,c等),是因为协议的抽象性。实现代码(ImplementationCode):指协议实现后的最终代码。(50%)测试套具(TestSuit):一组关于协议测试和测试数据的文件,它由协议的形式文本产生。测试套具是用另外一种语言描述的(测试描述语言TTCN)。转换(Transformation)系统:将协议的非形式化描述文本转换成形式描述文本。验证(Verification)系统:对协议进行验证检查,发现并修改潜在错误。30第一章协议工程概论性能分析(PerformanceAnalysis):对协议性能进行分析评价,修改协议,提高性能。翻译(Translation)系统:将形式描述文本翻译成源程序代码。实现(Implementation)系统:实现是具体操作系统所提供的程序开发环境。测试(Test)系统:测试套具在该系统中执行,对实现代码进行测试,分析结果,检测错误,将错误反馈给实现系统,修改实现代码。测试套具生成(TestSuitGeneration)系统:根据协议的形式描述文件产生测试程序(描述怎样测试)和测试数据,该系统部分功能可由人工完成。31第一章协议工程概论一个完整的协议工程系统非形式描述文本转换形式描述文本转换与机器无关代码实现实现代码测试测试套具生成系统测试包性能分析验证系统32第一章协议工程概论协议工程技术可归结为5个方面(1)协议设计技术(构造、综合、开发)(2)协议模型及形式描述技术(3)协议验证分析技术(4)协议实现技术(5)协议测试技术33第一章协议工程概论1.3.2协议设计技术协议设计不同于协议标准的制定,协议标准制定是设计出协议所必须完成的功能和应该提供的服务,然后求得在某个范围内的认可和统一协议标准是用自然语言描述的。协议设计要求有不同含义:(1)是指协议设计过程(2)亦指协议经过严格验证和性能分析之后就完成了设计任务。34第一章协议工程概论无论哪种含义的协议设计,都涉及两个共同技术问题:(1)环境分析方法(2)协议设计方法n层全局系统就是N层协议设计环境,N层环境的分析包括四个内容:(1)n层实体实现哪些功能?(2)向(n+1)层提供什
本文标题:1协议工程之协议工程概论
链接地址:https://www.777doc.com/doc-383816 .html