您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 网络协议设计与开发1要点
网络协议设计与开发康军长安大学信息工程学院内容提要•课时:20课时授课+10课时上机•主要内容:–网络协议工程方法–网络协议开发技术•参考资料:–吴礼发著,《网络协议工程》,电子工业出版社,2011–TCP/IP详解卷2–TCP/IP详解卷3–(中国协议分析网)前言一、设么叫协议?•例如:–人与人之间–人与物之间–物与物之间•协议是多个对象之间为了实现某个共同目标而制定的、需要共同遵守的、关于各自行为方式的时序化的约定。•用系统的观点看协议–系统是由相互作用相互依赖的若干组成部分结合而成的,具有特定功能的有机整体,而且这个有机整体又是它从属的更大系统的组成部分。–系统包含:输入、系统部件(关联、状态)、输出–遵循协议的对象构成的总体形成了一个系统。–在上述系统中,各个对象之间根据协议内容,按照一定时序关系改变各自的状态(事件),在某一时刻各个对象呈现出不同的确定性的状态,这样的系统称之为“离散事件系统”。–例如:数字电路系统(组合+时序逻辑电路)–例如:一个简单的串行奇偶检测电路电路中包括T触发器,输入、输出,状态;在上述系统中有没有协议?奇偶检测系统是由T触发器构成,T触发器是由基本门电路构成,所以上述系统是由若干基本门电路按照确定的连接方式构成,各个单元之间按照已知的方式协调工作从而形成上述系统。•一些结论:–协议定义了系统内各组成单元的功能集合以及它们之间的关联方式。–系统按照协议运行时,表现为系统状态的时序性变化(即状态变迁)–在已学的技术中,可以用状态图或状态表的方式描述系统按照协议的运行情况。–设计协议就是设计一种离散事件系统!二、如何设计协议?–协议工程:按照系统化、规范化、可度量化等工程原则和方法去进行协议的设计。–什么叫系统化?为什么要系统化?•系统化:把协议看做是一种离散事件系统•系统化有利于合理简化问题,并找到分析问题的科学方法。–什么叫规范化?为什么要规范化?•规范化:按照标准化的步骤进行协议设计•规范化有利于保证协议的正确性、提高设计效率–什么叫可度量化?为什么要可度量化?•可度量化就是对协议的正确性和性能进行量化•可度量化有利于确定性的比较优劣三、本课程的目标•学习如何合理的设计计算机网络协议。–网络的协议模型(通用模板)–网络协议应该包含的内容–网络协议的设计方法–网络协议性能的保证机制–网络协议的描述方式–网络协议的测试方法–网络协议的验证方法第一讲基本概念一、网络协议:为计算机网络中对等实体进行数据交换而建立的规则、标准或约定的集合。网络协议是由语法、语义和同步(时序关系)三个要素组成:•实体(Entity)是指任何可以发送或接收信息的硬件或软件进程,在大多数情况下,就是一个特定的软件进程。•位于不同系统的同一层次内交互的实体,就构成了对等实体。协议定义:语法•在语言学中,语法是指语言组成成分(词、句等)之间以什么样的关系结合而构成语句或语言,也即是语言的结构方法和构成规则。•网络协议中的语法的含义?–网络协议中的语法体现为数据报文中的控制信息(通常在报文的首部)和各种控制报文的结构、格式,也即是规定报文的长度,报文中划分多少个域(Field),每个域的名称、意义、数据类型、长度等。其中,报文中各个域的类型、长度及相互间的位置、顺序关系则构成了词法。协议定义:语义•网络协议的语义可以理解为协议数据报文中的控制信息和控制报文所约定的含义,即需要发出何种控制信息,完成何种动作以及做出何种响应。•例如:–报文首部控制信息中的目的地址信息指明了报文的目的地,接收到此报文的网络结点均将其作为进行路由选择的依据,因而规定在首部控制信息中在给定域给出目标结点地址就是一种语义。–为了实现有连接的传输服务,设计了一套实现连接的控制报文。发起连接方构造一个请求连接的协议控制报文,这个“请求连接”就是该控制报文的语义。收端收到这个控制报文后,根据已知的格式分析规定域中报文类型码就可了解这个“请求连接”的语义,从而作出“允许连接”或“拒绝连接”的响应。协议定义:语义(Cont.)•例如(续):–“允许连接”报文和“拒绝连接”报文的格式和语义也是协议中约定好的,通信双方通过这些约定语义的控制报文按一定时序关系的交换即可实现建立连接的功能和提供有连接服务。–其它的在协议中常使用的“数据收到确认”报文(ACK报文)、“出错通知”报文、“紧急通知”报文等等均可看成为具有特定语义的网络协议的语句,即协议的组成部分。协议定义:同步•简单地说,同步是指事件实现顺序的详细说明。–具体来说,同步是指通信过程中各种控制报文传送的顺序关系,例如“允许连接”或“拒绝连接”报文必须是作为请求连接报文的一种响应来发送,“拆除连接”报文也必须在建立连接后的某种条件下发送等等。–这种控制报文发送的时序关系,也决定了通信双方所处的通信状态(发送状态、接收状态、等待状态等)的制约关系,所以常用通信双方的有限状态机的方法来描述网络协议。•在有些文献中,也将这种同步关系视为协议语法的一部分。协议定义:进一步延伸•进一步延伸为计算机通信协议。–协议是计算机网络和分布式系统中各种通信实体或进程间相互交换信息时必须遵守的一组规则或约定。–网络协议工程中的许多技术和方法均可应用到分布式系统中的进程间通信协议的设计活动当中。•大量的研制经验表明,对于非常复杂的计算机网络协议,其结构应采用层次式的。•在计算机网络中,将计算机网络的各层及其协议的集合,称为网络的体系结构(architecture)。–ISO的OSI/RM(开放系统互连/参考模型)–IBM的SNA(系统网络体系结构)–DEC的DNA(分布式网络体系结构)–IETF的TCP/IP二、协议标准化•Whatarestandards?–Standardsaredocumentedagreementscontainingtechnicalspecificationstobeusedconsistentlyasrules,guidelines,ordefinitionsofcharacteristics,toensurethatmaterials,products,processesandservicesarefitfortheirpurpose–InternationalStandardscontributetomakinglifesimpler,andtoincreasingthereliabilityandeffectivenessofthegoodsandservicesweuse–Industry-widestandardizationisaconditionexistingwithinaparticularindustrialsectorwhenthelargemajorityofproductsorservicesconformtothesamestandards协议标准化(Cont.)•WhyPushForStandardization?Theaimistofacilitatetrade,exchangeandtechnologytransferthrough–Enhancedproductqualityandreliabilityatareasonableprice.–Greatercompatibilityandinteroperabilityofgoodsandservices.–Simplificationforimprovedusability.–Increaseddistributionefficiency,andeaseofmaintenance协议标准化(Cont.)•Whatmakesupastandard?Itmaycontain:–Symbols–Definitions–Diagrams–Codes–Testmethods协议标准化(Cont.)•OrganizationforStandardizationforProtocols–InternationalOrganizationforStandardization(ISO)–国际电报电话咨询委员会(CCITT)–InternationalTelecommunicationsUnion(ITU-T)–InternetEngineeringTaskForce(IETF)–InstituteofElectricalandElectronicsEngineers(IEEE)–WorldWideWebConsortium(W3C)–AssociationforComputingMachinery(ACM)–AsynchronousTransferModeForum(ATMForum)–AmericanNationalStandardsInstitute(ANSI)ISO•是一个涉及范围很广的国际标准开发机构,包括很多政府的或民间的标准研究机构,如美国的国家标准研究所ANSI。成立于1947年。•ISO下属多个技术委员会TC(TechnicalCommittees),TC又由多个分委员会SC(Subcommittees)组成。每个SC下有多个工作组WG(WorkingGroups)。–例如,TC97主要负责与计算机有关的标准的制定,TC97/SC6主要处理电信领域的标准,TC97/SC6/WG1则主要负责数据链路协议标准。•一个ISO标准从最初的提名到真正发行要经历七个步骤。ISO(Cont.)•ISO制定的很多标准是与另一个标准化组织,国际电工技术委员会IEC(InternationalElectrotechnicalCommission),合作制定的。•IEC关心的主要是电子和电气工程标准(器材、元件以及测量方法的标准化)。在信息技术领域,虽然IEC强调的是硬件,而ISO强调的是软件,但它们的职能在很多地方有所重叠。•1987年由这两个组织联合成立了联合技术委员会JTC,而ISO的TC97同时宣告解散。代替旧的ISO的TC97组织是ISO/IECJTC1,而其下属的各分委员会SC的名称仍用原来TC97中的各分委员会的序号。这个委员会负责信息技术领域文档的开发,这些文档最终可能成为ISO及IEC的标准。ISO(Cont.)•ISO制定的与协议有关的著名标准:–OSI/RM(ISO7498),TC97/SC16制定,虽然没有流行,但其中有很多协议被广泛使用–形式描述语言LOTOS(LanguageofTemporalOrderingSpecifications)和Estelle,ISOTC97/SC21/WG1下的2个不同的子工作组分别制定的,它们得到广泛的应用。–一致性测试序列标准:•ISO9646-1(CCITTX.290)一般概念•ISO9646-2抽象测试集(suite)规范•ISO9646-3树表组合记法TTCN(TreeandTabularCombinedNotation)•ISO9646-4测试实现•ISO9646-5一致性认证处理对测试实验室及其客户的要求•ISO9646-6测试实验室的操作CCITTandITU-T•CCITT(InternationalTelephoneandTelegraphConsultativeCommittee,国际电话与电报顾问委员会)最开始主要从通信的角度考虑一些标准的制定。•随着科学技术的发展,通信与信息处理的界限变得比较模糊了。于是,通信与信息处理就都成为CCITT与ISOTC97共同关心的领域。•很多ISO制定的标准,CCITT均有与之相对应的标准。–CCITT的建议书X.200就是开放系统互连参考模型,它与ISO7498基本上是相同的。•CCITT制定的著名标准:–X.25–形式描述语言SDL(SpecificationandDescriptionLanguage)广泛用交换系统的描述。CCITTandITU-T(Cont.)•ITU-T是国际电信联盟ITU(InternationalTelecommunicationUni
本文标题:网络协议设计与开发1要点
链接地址:https://www.777doc.com/doc-3870955 .html