版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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
3、NPL data communications network) )中最早将中最早将“协议协议(protocol)”一词用于描述数据一词用于描述数据 通信过程。(通信过程。(19671967年年4 4月,月,19691969年年ARPNETARPNET开始运行)开始运行) “协议是关于分布式系统进行信息交换时的一种约定,协议是关于分布式系统进行信息交换时的一种约定, 协议应按照语言的方式进行定义。协议应按照语言的方式进行定义。” v 基于他们的观点:网络协议就是具有规定文法、语法和基于他们的观点:网络协议就是具有规定文法、语法和 语义的语言,其中,语义的语言,其中,文法文法给出了有效信息的精确
4、格式,给出了有效信息的精确格式, 语法语法描述了数据交换的规则,描述了数据交换的规则,语义语义规定了可交换信息的规定了可交换信息的 词汇及其含义。词汇及其含义。 5 协议基本概念(协议基本概念(Cont.) v 协议三要素协议三要素( (从语言的角度来理解协议从语言的角度来理解协议) ): 语法(语法(SyntaxSyntax):协议元素的结构或格式):协议元素的结构或格式(怎么表达)(怎么表达)。 语义(语义(SemanticsSemantics):协议元素的类型,具体发出何种信息):协议元素的类型,具体发出何种信息 和采取何种动作(和采取何种动作(什么含义什么含义)。)。 同步(同步(Ti
5、mingTiming):相关事件实现的严格顺序):相关事件实现的严格顺序(前后关系)(前后关系)。 v 五个基本要素五个基本要素( (从功能实现的角度从功能实现的角度) ): 服务说明服务说明 环境假设环境假设 协议词汇(消息类型)协议词汇(消息类型) 消息的编码格式消息的编码格式 过程规则过程规则 6 协议基本概念:语法协议基本概念:语法 v 在语言学中,语法是指语言组成成分在语言学中,语法是指语言组成成分(词、句等词、句等)之间以之间以 按照什么样的关系结合而构成语句或语言,也即是语按照什么样的关系结合而构成语句或语言,也即是语 言的结构方法和构成规则。言的结构方法和构成规则。 v 在网络
6、协议中,可以将交换的报文在网络协议中,可以将交换的报文( (也称为协议数据单也称为协议数据单 元元PDU)PDU)分为两种:用于传输用户数据的数据报文和用分为两种:用于传输用户数据的数据报文和用 于协议控制的控制报文。网络协议中的于协议控制的控制报文。网络协议中的语法体现在数语法体现在数 据报文据报文 ( (包括其中的控制信息,通常在报文的首部包括其中的控制信息,通常在报文的首部) )和和 各种控制报文的结构和格式上各种控制报文的结构和格式上,也即是规定报文的长,也即是规定报文的长 度,报文中划分多少个域度,报文中划分多少个域(Field)(Field),每个域的名称、意,每个域的名称、意 义
7、、数据类型、长度等。其中,报文中各个域的类型、义、数据类型、长度等。其中,报文中各个域的类型、 长度及相互间的位置、顺序关系则构成了长度及相互间的位置、顺序关系则构成了词法词法。词法。词法 也是语法的一个组成部分。也是语法的一个组成部分。 7 协议基本概念:语义协议基本概念:语义 v 网络协议的语义可以理解为协议数据报文中的控制信网络协议的语义可以理解为协议数据报文中的控制信 息和控制报文所约定的含义,即需要发出何种控制信息和控制报文所约定的含义,即需要发出何种控制信 息,完成何种动作以及做出何种响应。息,完成何种动作以及做出何种响应。 v 例如:例如: 报文首部控制信息中的目的地址信息指明了
8、报文的目的地,报文首部控制信息中的目的地址信息指明了报文的目的地, 接收到此报文的网络结点均将其作为进行路由选择的依据,接收到此报文的网络结点均将其作为进行路由选择的依据, 因而在首部控制信息中特定域内出现的目标结点地址就是一因而在首部控制信息中特定域内出现的目标结点地址就是一 种语义。种语义。 为了实现有连接的传输服务,设计了一套实现连接的控制报为了实现有连接的传输服务,设计了一套实现连接的控制报 文。发起连接方构造一个请求连接的协议控制报文,这个文。发起连接方构造一个请求连接的协议控制报文,这个 “请求连接请求连接”就是该控制报文的语义。收端收到这个控制报就是该控制报文的语义。收端收到这个
9、控制报 文后,根据已知的格式分析规定域中报文编码就可了解这个文后,根据已知的格式分析规定域中报文编码就可了解这个 “请求连接请求连接”的语义,从而作出的语义,从而作出“允许连接允许连接”或或“拒绝连接拒绝连接” 的响应。的响应。 8 协议基本概念:语义(协议基本概念:语义(Cont.) v例如:例如: “允许连接允许连接”报文和报文和“拒绝连接拒绝连接”报文的格式和语报文的格式和语 义也是协议中约定好的,通信双方通过这些约定语义也是协议中约定好的,通信双方通过这些约定语 义的控制报文按一定时序关系进行交换即可实现建义的控制报文按一定时序关系进行交换即可实现建 立连接的功能和提供有连接服务。立连
10、接的功能和提供有连接服务。 在协议中常使用的在协议中常使用的“数据收到确认数据收到确认”报文报文(ACK(ACK报报 文文) )、“出错通知出错通知”报文、报文、“紧急通知紧急通知”报文等均报文等均 可看成为具有特定语义的网络协议的语句,即协议可看成为具有特定语义的网络协议的语句,即协议 的组成部分。的组成部分。 9 协议基本概念:同步协议基本概念:同步 v 简单地说,同步是指事件实现顺序的详细说明。简单地说,同步是指事件实现顺序的详细说明。 v 具体来说,同步是指通信过程中各种控制报文传送的具体来说,同步是指通信过程中各种控制报文传送的 顺序关系,例如顺序关系,例如“允许连接允许连接”或或“
11、拒绝连接拒绝连接”报文必报文必 须是作为请求连接报文的一种响应来发送,须是作为请求连接报文的一种响应来发送,“拆除连拆除连 接接”报文也必须在建立连接后的某种条件下发送,等报文也必须在建立连接后的某种条件下发送,等 等。等。 v 这种控制报文发送的时序关系,也决定了通信双方所这种控制报文发送的时序关系,也决定了通信双方所 处的通信状态处的通信状态( (发送状态、接收状态、等待状态等发送状态、接收状态、等待状态等) )的的 制约关系,所以常用通信双方的有限状态机的方法来制约关系,所以常用通信双方的有限状态机的方法来 描述网络协议。描述网络协议。 v 在有些文献中,也将这种同步关系视为协议语法的一
12、在有些文献中,也将这种同步关系视为协议语法的一 部分。部分。 10 协议相关定义:进一步延伸协议相关定义:进一步延伸 v进一步延伸为计算机通信协议。进一步延伸为计算机通信协议。 v协议是协议是计算机网络和分布式系统计算机网络和分布式系统中各种中各种通信实通信实 体体或或进程间进程间相互交换信息时必须遵守的一组规相互交换信息时必须遵守的一组规 则或约定则或约定。 v网络协议工程中的许多技术和方法可应用到分网络协议工程中的许多技术和方法可应用到分 布式系统中进程间通信协议的设计活动中。布式系统中进程间通信协议的设计活动中。 11 协议相关定义:网络体系结构协议相关定义:网络体系结构 v大量研究和实
13、践经验表明,对于非常复杂的计大量研究和实践经验表明,对于非常复杂的计 算机网络协议,其结构应采用层次式的。算机网络协议,其结构应采用层次式的。 v在计算机网络中,将在计算机网络中,将计算机网络的计算机网络的各层各层及其及其协协 议议的集合的集合,称为网络的,称为网络的体系结构体系结构(architecture)。 ISOISO的的OSI/RMOSI/RM(开放系统互连(开放系统互连/ /参考模型)参考模型) IBMIBM的的SNASNA(系统网络体系结构)(系统网络体系结构) DECDEC的的DNADNA(分布式网络体系结构)(分布式网络体系结构) IETFIETF的的TCP/IPTCP/IP
14、 12 内容提纲内容提纲 1 网络协议基本概念网络协议基本概念 2 网络协议的发展和要素网络协议的发展和要素 3 网络协议缺陷示例网络协议缺陷示例 4 协议标准化协议标准化 5 网络协议工程网络协议工程 6 网络协议设计方法网络协议设计方法 7 协议形式化描述技术协议形式化描述技术 13 协议的发展:早期的协议协议的发展:早期的协议 v 战争中的烽火通信、敲鼓和鸣锣战争中的烽火通信、敲鼓和鸣锣 v 改进的火炬通信(两组,每组五个火炬)改进的火炬通信(两组,每组五个火炬) v 美国革命战争使用的悬挂不同物品的旗杆美国革命战争使用的悬挂不同物品的旗杆 v Chappe的反射信号系统(一个调节器和两
15、个指示器的反射信号系统(一个调节器和两个指示器) v 百叶窗通信系统(多扇百叶窗构成简单百叶窗通信系统(多扇百叶窗构成简单0、1序列序列)。)。 v Telegraph,节省成本和提高速度。,节省成本和提高速度。 v Firstly used 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 火炬通信火炬通信 协议的发展:早期的协议协议的发展:早期的协议 反射信号系统反射信号系统
16、百叶窗通信系统百叶窗通信系统 15 协议的发展:电报协议的发展:电报(Telegraph) v 1753,C.M给给Scots杂志的信中描述了一个使用一些平行电杂志的信中描述了一个使用一些平行电 线来通信的电子电报。线来通信的电子电报。 v 1830,英国,英国Michael Faraday和美国和美国Joseph Henry发现了电发现了电 磁感应。磁感应。 v 1837,William Cooke利用电流来使处在接收端磁场中的利用电流来使处在接收端磁场中的 罗盘指针发生偏转,从而得到信号。罗盘指针发生偏转,从而得到信号。 v 1837年年6月月12日,第一个电报系统的专利,日,第一个电报系
17、统的专利,“五磁针信号五磁针信号 系统系统”。 v 1842年,年,Cooke“火车可以无所畏惧地行驶,而无论时间火车可以无所畏惧地行驶,而无论时间 是否正确,也不管其是否在正确的轨道上,因为在使用该是否正确,也不管其是否在正确的轨道上,因为在使用该 系统后,其速率总可以及时地降下来,从而避免碰撞系统后,其速率总可以及时地降下来,从而避免碰撞”。 16 协议的发展:现代网络协议协议的发展:现代网络协议 vIBM SNA、ISO OSI/RM和和DoD TCP/IP等著名等著名 体系结构和协议已发挥了不可估量的作用;体系结构和协议已发挥了不可估量的作用; vSNA是协议体系结构的开拓者;是协议体
18、系结构的开拓者; vOSI/RM是网络协议的指路灯;是网络协议的指路灯; vTCP/IP是目前盛行的实事上的工业标准;是目前盛行的实事上的工业标准; vXTP、VMTP、IPv6和和NETBLT的出现,将使的出现,将使 计算机网络进入一个高性能的时代。计算机网络进入一个高性能的时代。 17 协议的类别协议的类别 v链路协议链路协议 v网络协议网络协议 v传输协议传输协议 v应用协议应用协议 v控制协议控制协议 v信令协议信令协议 v接口协议接口协议 v管理维护协议管理维护协议 v 18 协议五要素说明协议五要素说明(Lynch简单文件传送协议)简单文件传送协议) v服务说明服务说明 通过电话线
19、传输文本文件,一个发送端和一个接收端、通过电话线传输文本文件,一个发送端和一个接收端、 全双工通信全双工通信 v环境假设环境假设 包括两个用户和一条传输通道,用户仅需提交文件传包括两个用户和一条传输通道,用户仅需提交文件传 送请求,传输通道可能引起消息出错,但不会造成消送请求,传输通道可能引起消息出错,但不会造成消 息丢失和复制,并可检测出错误的消息息丢失和复制,并可检测出错误的消息 v协议词汇协议词汇 定义了三种消息(报文)定义了三种消息(报文)ack(肯定确认的消息)、(肯定确认的消息)、 nak(否定确认的消息)和(否定确认的消息)和err(传输错误的消息)(传输错误的消息) 19 协议
20、五要素说明协议五要素说明(Lynch简单文件传送协议)简单文件传送协议) v消息的编码格式消息的编码格式 包含两个部分:控制字段和数据字段包含两个部分:控制字段和数据字段 con_tag,data enum control ack, nak, err struct message enum control con_tag; unsigned char data; v过程规则(自然语言描述)过程规则(自然语言描述) (1)如果收端收到正确消息,则在回送的消息中加入)如果收端收到正确消息,则在回送的消息中加入ack; 否则收到了错误消息,则反馈的消息中加入否则收到了错误消息,则反馈的消息中加入na
21、k。 (2)如果发端收到带有)如果发端收到带有nak的消息,则重传上一个消息,否的消息,则重传上一个消息,否 则发送下一个消息。则发送下一个消息。 20 Lynch简单文件传送协议的工作流程图简单文件传送协议的工作流程图 注释:注释:next:o表示取出将要传送的下一个数据项;表示取出将要传送的下一个数据项; i表示输入,表示输入,o表示输出表示输出 Next: o start receive ack: o nak: i ack: i nak: o err: i ack: o Next: o 21 内容提纲内容提纲 1 网络协议基本概念网络协议基本概念 2 网络协议的发展和要素网络协议的发展和
22、要素 3 网络协议缺陷示例网络协议缺陷示例 4 协议标准化协议标准化 5 网络协议工程网络协议工程 6 网络协议设计方法网络协议设计方法 7 协议形式化描述技术协议形式化描述技术 22 协议缺陷示例协议缺陷示例:克莱顿隧道事故克莱顿隧道事故 23 协议缺陷示例:技术协议缺陷示例:技术(Technology) v semaphores with block-interval system(空闲空闲/阻塞信号阻塞信号 系统系统) turn green signal to red automatically as a train passes set to green by hand afterwa
23、rds v signalmen on both ends linked by telegraphic line v malfunction of block-interval system signalled by a bell v red and white flags to replace malfunctioning semaphore 24 协议缺陷示例:报文协议缺陷示例:报文(Messages) vMessage: TT: Train in Tunnel(火车在隧道中)(火车在隧道中) TF: Tunnel is Free(隧道已空)(隧道已空) TL: Has Train left
24、 the Tunnel?(火车离开隧道否?)(火车离开隧道否?) 25 协议缺陷示例:差错控制机制协议缺陷示例:差错控制机制 vError Free Functioning(正常情况)(正常情况) train enters tunnel, signalman A sends TT to B train leaves the tunnel, B sends TF to A A sets semaphore to green by hand vUnder Error Situation(故障情况)(故障情况) train enters tunnel, A sends TT to B bell ri
25、ngs, A shows red flag to next train train leaves the tunnel, B sends TF to A A shows white flag to next train 26 协议缺陷示例:事故协议缺陷示例:事故(Accident) vOne day in August 1861 at Clayton Tunnel. train-1 enters tunnel, block-interval system fails(fails to set the signal to red), so the bell warns signalman A,
26、then A 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 enters the tunnel. train-3 sees the red flag and stops before the tunnel en
27、trance. 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 been specified.) A sends TL (has the train left the tunnel?)to B 28 协议缺陷示例:
28、事故(协议缺陷示例:事故(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 deliberation. 29 协议缺陷示例:事故(协议缺陷示例:事故(Accident) vResult train-3 and train-2
29、 crashed: 21 people died and 176 got injured The set of instructions given to the signalmen was incomplete, which leads to the accident 30 协议缺陷示例:教训(协议缺陷示例:教训(Lessons) v “One can almost hear the same comment being made time after time.I could not imagine that could ever happen. Yet bitter experience
30、 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) veven the most simple protocols may contain errors vIt is the
31、 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 operation vtechniques to design, analyze and verify protocols are necessary 32 内
32、容提纲内容提纲 1 网络协议基本概念网络协议基本概念 2 网络协议的发展和要素网络协议的发展和要素 3 网络协议缺陷示例网络协议缺陷示例 4 协议标准化协议标准化 5 网络协议工程网络协议工程 6 网络协议设计方法网络协议设计方法 7 协议形式化描述技术协议形式化描述技术 33 协议标准化协议标准化 vWhat are standards? Standards are documented agreements containing technical specifications to be used consistently as rules, guidelines, or definit
33、ions of characteristics, to ensure that materials, products, processes and services are fit for their purpose International Standards contribute to making life simpler, and to increasing the reliability and effectiveness of the goods and services we use Industry-wide standardization is a condition e
34、xisting within a particular industrial sector when the large majority of products or services conform to the same standards 34 标准的定义和分类标准的定义和分类 v 定义 名词术语的定义 部件的分类 材料、性能或操作的规范 规程的描述 数量和质量的测量等 . v 分类 “de facto”(事实上的) “de jure”(法律上的) 标准是一组规定的规标准是一组规定的规 则、条件或要求。则、条件或要求。 事实上的标准是无计事实上的标准是无计 划而客观形成的。划而客观形成
35、的。 “法定法定”标准是某些权标准是某些权 威标准化机构制定的威标准化机构制定的 正式、合法的标准。正式、合法的标准。 35 协议标准化(协议标准化(Cont.) vWhy Push For Standardization?The aim is to facilitate trade, exchange and technology transfer through Enhanced product quality and reliability at a reasonable price. Greater compatibility and interoperability of goods
36、 and services. Simplification for improved usability. Increased distribution efficiency, and ease of maintenance 36 协议标准化(协议标准化(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 a 1000-page tome(册、
37、卷)(册、卷), 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 features 37 协议标准化(协议标准化(Cont.) vWhat makes up a standard? It may contain: S
38、ymbols Definitions Diagrams Codes Test methods 38 协议标准化(协议标准化(Cont.) vOrganization for Standardization for Protocols International Organization for Standardization (ISO) 国际电报电话咨询委员会国际电报电话咨询委员会 (CCITT) International Telecommunications Union (ITU-T) Internet Engineering Task Force (IETF) Institute of
39、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) 39 Timing: Its important for standards vMIT D. Clark
40、s “apocalypse(启示启示) of the two elephants” The best period for standardization is between burst of research and burst of marketing The period is very short TCP/IP already entrenched by mid/late eighties OSI/RM is put up in the burst of marketing of TCP/IP 40 标准化的时机标准化的时机 关键:在两个驼峰之间的低谷阶段制定标准关键:在两个驼峰之间
41、的低谷阶段制定标准 时间时间 活动活动 投资投资 研究研究 制定标准制定标准 41 Examples: OSI/RM Problems vTannenbaum(泰伦鲍姆泰伦鲍姆): Bad technology Bad timing Bad implementation Bad politics 42 Bad technology v Model and protocol flawed v Standardized before implemented Design by committee without implementation vs. design by implementors/r
42、esearchers/engineers Boundaries somewhat arbitrary Top three layers not clear (application, presentation, session) v Why seven layers? Many fundamental issues can be addressed at multiple layers Reliability Flow control Security Addressing/naming 43 Bad timing vMIT D. Clarks “apocalypse(启示启示) of the
43、 two elephants” Technology activity vs. time to standardization vTCP/IP already entrenched by mid/late eighties 44 Bad implementations vComplexity huge 第二次则在此第二次则在此 基础上获得较为满意的软件产品,通常把一次基础上获得较为满意的软件产品,通常把一次 得到的试验性产品称得到的试验性产品称“原型原型”。 v特点:减少由于软件需求不明确而给开发带来特点:减少由于软件需求不明确而给开发带来 的风险。的风险。 72 螺旋模型螺旋模型 v 对于大
44、型项目,开发一个原型往往达不到要求,并且对于大型项目,开发一个原型往往达不到要求,并且 以前的模型忽略了风险分析工作。结合瀑布模型和演以前的模型忽略了风险分析工作。结合瀑布模型和演 化模型的优点,化模型的优点,Barry W. Boehm基于基于TRW公司的经历,公司的经历, 1988年提出了软件开发的螺旋模型。该模型考虑风险年提出了软件开发的螺旋模型。该模型考虑风险 分析,如分清需求分析,如分清需求, 资源资源, 进度安排中的不确定性,是进度安排中的不确定性,是 一种产品生命周期模型。一种产品生命周期模型。 v 优点:优点:能控制并减小消除风险;模型与用户和开发人能控制并减小消除风险;模型与
45、用户和开发人 员的知识技能匹配;模型利于管理可控制;迭代和递员的知识技能匹配;模型利于管理可控制;迭代和递 增的;较好的通用性;适合大型软件开发。增的;较好的通用性;适合大型软件开发。 v 缺点:缺点:需要风险分析评估专门技术;需要开发人员具需要风险分析评估专门技术;需要开发人员具 有相当丰富的风险评估经验和专门知识;要求用户参有相当丰富的风险评估经验和专门知识;要求用户参 与阶段评价。与阶段评价。 73 并行处理模型并行处理模型 v该模型有多个阶段,关注多个任务的并该模型有多个阶段,关注多个任务的并 发执行,表示为一系列的主要活动、任发执行,表示为一系列的主要活动、任 务及其相关状态。务及其
46、相关状态。 v将协议工程活动定义为一个活动网络,将协议工程活动定义为一个活动网络, 提供了协议实现的当前状态的准确视图。提供了协议实现的当前状态的准确视图。 设计较复杂,适用于各种协议开发,可设计较复杂,适用于各种协议开发,可 随时了解开发的状态。随时了解开发的状态。 74 小结小结 v一般来说为客户开发软件,在开发及测试完毕一般来说为客户开发软件,在开发及测试完毕 软件后客户就要实际开始使用,那么就使用瀑软件后客户就要实际开始使用,那么就使用瀑 布模型。当然在需求明确的情况下自然也要使布模型。当然在需求明确的情况下自然也要使 用瀑布模型。用瀑布模型。 v对于自主开发及客户需求不明并有较长的设
47、计对于自主开发及客户需求不明并有较长的设计 时间时间可以用演化模型。可以用演化模型。 v而螺旋模型适于适合于大型软件开发,吸收了而螺旋模型适于适合于大型软件开发,吸收了 演化演化概念,不过有时也用于用户需求不明的概念,不过有时也用于用户需求不明的 情况下。情况下。 75 内容提纲内容提纲 1 网络协议基本概念网络协议基本概念 2 网络协议的发展和要素网络协议的发展和要素 3 网络协议缺陷示例网络协议缺陷示例 4 协议标准化协议标准化 5 网络协议工程网络协议工程 6 网络协议设计方法网络协议设计方法 7 协议形式化描述技术协议形式化描述技术 76 协议设计概述协议设计概述 v协议设计的含义协议
48、设计的含义 根据协议的需求说明和工作环境构造协议的非形式根据协议的需求说明和工作环境构造协议的非形式 描述文本描述文本称为协议设计。它的称为协议设计。它的好坏直接关系到开发好坏直接关系到开发 出来的协议性能、功能是否能满足用户需求。出来的协议性能、功能是否能满足用户需求。 v协议设计是一件很困难的事情协议设计是一件很困难的事情 The problem of designing efficient and unambiguous communication protocols existed long before the first computers were built. Example:
49、 Clayton Tunnel Protocol Example: 蓝军与白军作战问题(两军问题)蓝军与白军作战问题(两军问题) 77 一个简单的网络协议(蓝白军对抗)一个简单的网络协议(蓝白军对抗) v 占据两个山顶的蓝军与驻扎在这两山之间的山谷的白占据两个山顶的蓝军与驻扎在这两山之间的山谷的白 军作战。其力量对比是:任何一个山顶上的蓝军打不军作战。其力量对比是:任何一个山顶上的蓝军打不 过白军,但两个山顶的蓝军协同作战则可战胜白军。过白军,但两个山顶的蓝军协同作战则可战胜白军。 一个山顶上的蓝军拟于次日正午向白军发起攻击,于一个山顶上的蓝军拟于次日正午向白军发起攻击,于 是发送电文给另一山
50、顶上的友军(或派遣信使)。但是发送电文给另一山顶上的友军(或派遣信使)。但 通信线路不好,电文出错或丢失的可能性较大(或信通信线路不好,电文出错或丢失的可能性较大(或信 使可能被俘虏)。因此要求收到电文的友军必须送回使可能被俘虏)。因此要求收到电文的友军必须送回 一个确认电文。但此确认电文也可能出错或丢失。一个确认电文。但此确认电文也可能出错或丢失。 v 试问能否设计出一种协议使得蓝军能够实现协同作战试问能否设计出一种协议使得蓝军能够实现协同作战 因而一定因而一定(即即100 %)取得胜利?取得胜利? 78 如果报文肯定能成功到达,蓝军 1 和蓝军 2 的协同进攻将获胜。 但情况并非如此简单。
51、因为所发的报文可能会丢失。 丢失! 因此蓝军 1 必须在收到蓝军 2 的确认后才能进攻。 白军 蓝军 1 蓝军 2 79 因此,收到报文后必须加以确认 但这个确认报文也可能丢失: 丢失! 白军 蓝军 1 蓝军 2 故蓝军 2 必须要收到蓝军 1 发出的对此“确认”的确认, 才能知道发送出的确认是否被蓝军 1 正确收到。 两次握手两次握手 80 因此蓝军 1 收到确认报文后应发送对此确认的确认。 但是,蓝军 1 无法知道最后发送的这个确认是否被蓝军 2 收到,仍需收到蓝军 2 发来的确认才行! 白军 蓝军 1 蓝军 2 三次握手三次握手 四次握手四次握手 81 协议必须能够应付所有的(而不是部分
52、的)协议必须能够应付所有的(而不是部分的) 不利情况,像这样简单的问题居然无法设计不利情况,像这样简单的问题居然无法设计 出一种协议来解决。出一种协议来解决。 实际上,实际上,没有一种协议能够使蓝军没有一种协议能够使蓝军 100% 获获 胜。胜。因为这样因为这样无限循环下去,无限循环下去,最后发出信息的最后发出信息的 蓝军蓝军指挥官永远无法确定该信息能否安全到达,指挥官永远无法确定该信息能否安全到达, 所以他不会贸然行动。同样,另一支蓝军也明所以他不会贸然行动。同样,另一支蓝军也明 白这个道理,也不会发动进攻。白这个道理,也不会发动进攻。 82 协议模型协议模型 v分层设计,分层设计,n 层协
53、议模型层协议模型 (n+1) 实体实体 (n) 实体实体 (n+1) 实体实体 (n) 实体实体 (n) 协议协议 提供提供(n-1)服务服务 提供提供(n)服务服务 (n) 服务用户服务用户 (n) 服务提供者服务提供者 通过通过(n-1)连接进行通信连接进行通信 (n + 1) 层层 (n - 1) 层层 (n) 层层 nSAP (n-1)SAP nSAP (n-1)SAP (n-1)SPs(n-1)SPs (n)SPs(n)SPs (n)PDUs 在OSI中,实体(entity) 表示任何可以发送和接 收信息的硬件或软件进 程。 两个(n)实体在(n) 协议的控制下的 通信,使(n)层能
54、 够向上一层(n+1) 提供服务。这种 服务是(n)服务。 接受(n)服务的是 上一层实体,即 (n+1)实体。它们 也称为(n)用户或 (n)服务用户。 83 协议模型协议模型 v分层设计,分层设计,n 层协议模型层协议模型 (n+1) 实体实体 (n) 实体实体 (n+1) 实体实体 (n) 实体实体 (n) 协议协议 提供提供(n-1)服务服务 提供提供(n)服务服务 (n) 服务用户服务用户 (n) 服务提供者服务提供者 通过通过(n-1)连接进行通信连接进行通信 (n + 1) 层层 (n - 1) 层层 (n) 层层 nSAP (n-1)SAP nSAP (n-1)SAP (n-1
55、)SPs(n-1)SPs (n)SPs(n)SPs (n)PDUs 一个一个(n)实体向上一层所提供的服务由实体向上一层所提供的服务由 以下三部分构成:以下三部分构成: (n)实体自己提供的某些功能。实体自己提供的某些功能。 从从(n-1)层及其以下各层以及本地系层及其以下各层以及本地系 统环境得到的服务。统环境得到的服务。 (1)(1) 通过与处在另一系统中的对等通过与处在另一系统中的对等(n) 实体的通信而得到的服务。实体的通信而得到的服务。 将将(n)层对等实体之间,层对等实体之间, 为实现该层协议所交换为实现该层协议所交换 的信息单元称为协议数的信息单元称为协议数 据单元据单元PDU(
56、Protocol Data Unit)。通常将第。通常将第n 层的协议数据单元记为层的协议数据单元记为 (n)PDU。 84 PDUs v PDU通常由通常由2部分构成:用户数据和协议控制信息部分构成:用户数据和协议控制信息 PCI(Protocol Control Information)。 PCIPCI一般作为首部加在用户数据的前面,但有时也可作为尾部一般作为首部加在用户数据的前面,但有时也可作为尾部 加在用户数据的后面,例如检验和加在用户数据的后面,例如检验和(checksum)(checksum)常放在尾部。常放在尾部。 v 两种类型:两种类型: 数据数据PDU 控制控制PDU,不携带
57、用户数据。,不携带用户数据。 v 在不同协议层次中在不同协议层次中PDU表示不同(以表示不同(以TCP/IPTCP/IP为例):为例): 物理层:比特物理层:比特(bit); 数据链路层:帧数据链路层:帧(frame)或信元或信元(cell); 网络层网络层 :数据报:数据报”(datagram) 运输层运输层 : 数据段数据段”(segment)、分组或包(、分组或包(packet) 应用层:数据流(应用层:数据流(Stream)或报文)或报文(Message) 85 PDUs and SDUs vOSI将层与层之间交换的数据单元称为将层与层之间交换的数据单元称为服务数服务数 据单元据单元S
58、DU(Service Data Unit)。 v一个一个(n)服务数据单元就是服务数据单元就是(n)服务所要传送的服务所要传送的 逻辑数据单元。逻辑数据单元。 SDU就是数据就是数据PDU中的用户数据,但不一定是一一中的用户数据,但不一定是一一 对应关系。对应关系。 可以是多个可以是多个SDU合成为一个合成为一个PDU(称为称为“拼装拼装”),), 也可以是将一个也可以是将一个SDU划分为几个划分为几个PDU(称为称为“分分 段段”)。)。 86 PDUs and SDUs (Cont.) (N+1) SDU(N+1) service (N) SDU(N) service (N+1) PDU(
59、N+1) PEPCIData (N) PDU(N) PEPCIData PCIPCIData 87 PDU和和IDU v同一系统的相邻两个实体的一次交互中,经过同一系统的相邻两个实体的一次交互中,经过 层间接口的信息单元的大小称为接口数据单元层间接口的信息单元的大小称为接口数据单元 (IDU)。 v根据层间接口的性质,接口信息单元大小有一根据层间接口的性质,接口信息单元大小有一 定要求。定要求。 PDU通过层间接口还要加上接口控制信息(通过层间接口还要加上接口控制信息(ICI),), 用来说明通过的总字节数或是否需要加速传送等用来说明通过的总字节数或是否需要加速传送等。 ICIICI只是在只是
60、在PDUPDU通过接口时才有用。一个通过接口时才有用。一个PDUPDU加上适当加上适当 的的ICIICI就构成就构成IDUIDU,当,当IDUIDU通过层间接口后,就将原先通过层间接口后,就将原先 加上的加上的ICIICI去掉,对构成下一层的去掉,对构成下一层的PDUPDU没有用。没有用。 88 PDU和和SDU、IDU关系图关系图 N层层 N-1层层 (N)PCI(N)SDU (N)PDU(N-1)ICI (N-1)IDU (N-1)PCI(N-1)SDU(N-1)ICI 舍弃舍弃 (N-1)PDU 89 协议设计的内容协议设计的内容 1 协议的通信环境协议的通信环境 2 协议提供的服务协议
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 优势与劣势采购管理制度
- 中学政府采购管理制度
- 供应商采购与付款制度
- 施工企业采购报销制度
- 中心学校采购制度
- 商贸公司采购流程制度
- 校园疫情物资采购制度
- 药物网上采购制度
- 采购结算审核管理制度
- 政府询价采购制度规定
- 胃穿孔患者的护理
- 2025统编版道德与法治小学六年级下册每课教学反思(附教材目录)
- 护理疑难病例胰腺癌讨论
- 《经络与腧穴》课件-手厥阴心包经
- 零红蝶全地图超详细攻略
- 2024届高考语文复习:诗歌专题训练虚实结合(含答案)
- 智能交通监控系统运维服务方案(纯方案-)
- 2024年广东中山市港口镇下南村招聘合同制综合工作人员2人历年(高频重点复习提升训练)共500题附带答案详解
- 高一化学学习探究诊断(必修1)(西城学探诊)
- 材料成形工艺基础智慧树知到期末考试答案章节答案2024年华东交通大学
- 高中数学学业水平考试(合格考)知识点总结
评论
0/150
提交评论