网络协议设计与开发1要点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络协议设计与开发
康军 长安大学信息工程学院
内容提要
• 课时:20课时授课+10课时上机 • 主要内容: – 网络协议工程方法 – 网络协议开发技术 • 参考资料: – 吴礼发著,《网络协议工程》,电子工业出版社,2011 – TCP/IP详解 卷2 – TCP/IP详解 卷3 – http://www.cnpaf.net/(中国协议分析网)
协议定义:同步
• 简单地说,同步是指事件实现顺序的详细说 明。
–具体来说,同步是指通信过程中各种控制报文 传送的顺序关系,例如“允许连接”或“拒绝 连接”报文必须是作为请求连接报文的一种响 应来发送,“拆除连接”报文也必须在建立连 接后的某种条件下发送等等。 –这种控制报文发送的时序关系,也决定了通信 双方所处的通信状态(发送状态、接收状态、等 待状态等)的制约关系,所以常用通信双方的有 限状态机的方法来描述网络协议。
• 实体(Entity)是指任何可以发送或接收信息的硬件 或软件进程,在大多数情况下,就是一个特定的 软件进程。 • 位于不同系统的同一层次内交互的实体,就构成 了对等实体。
协议定义:语法
• 在语言学中,语法是指语言组成成分(词、句等)之 间以什么样的关系结合而构成语句或语言,也即是 语言的结构方法和构成规则。 • 网络协议中的语法的含义? –网络协议中的语法体现为数据报文中的控制信 息(通常在报文的首部)和各种控制报文的结构、 格式,也即是规定报文的长度,报文中划分多少 个域(Field),每个域的名称、意义、数据类型、 长度等。其中,报文中各个域的类型、长度及相 互间的位置、顺序关系则构成了词法。
二、如何设计协议?
– 协议工程:按照系统化、规范化、可度量化等工程原则和 方法去进行协议的设计。
– 什么叫系统化?为什么要系统化?
• 系统化:把协议看做是一种离散事件系统 • 系统化有利于合理简化问题,并找到分析问题的科学方 法。 – 什么叫规范化?为什么要规范化? • 规范化:按照标准化的步骤进行协议设计 • 规范化有利于保证协议的正确性、提高设计效率 – 什么叫可度量化?为什么要可度量化? • 可度量化就是对协议的正确性和性能进行量化 • 可度量化有利于确定性的比较优劣
协议定义:语义
• 网络协议的语义可以理解为协议数据报文中的控制信 息和控制报文所约定的含义,即需要发出何种控制信 息,完成何种动作以及做出何种响应。 • 例如:
–报文首部控制信息中的目的地址信息指明了报文的目的地, 接收到此报文的网络结点均将其作为进行路由选择的依据, 因而规定在首部控制信息中在给定域给出目标结点地址就 是一种语义。 –为了实现有连接的传输服务,设计了一套实现连接的控制 报文。发起连接方构造一个请求连接的协议控制报文,这 个“请求连接”就是该控制报文的语义。收端收到这个控 制报文后,根据已知的格式分析规定域中报文类型码就可 了解这个“请求连接”的语义,从而作出“允许连接”或 “拒绝连接”的响应。
– 系统包含:输入、系统部件(关联、状态)、输 出 – 遵循协议的对象构成的总体形成了一个系统。 – 在上述系统中,各个对象之间根据协议内容,按 照一定时序关系改变各自的状态(事件),在某 一时刻各个对象呈现出不同的确定性的状态,这 样的系统称之为“离散事件系统”。 – 例如:数字电路系统(组合+时序逻辑电路)
协议定义:语义(Cont.)
• 例如(续):
– “允许连接”报文和“拒绝连接”报文的格式 和语义也是协议中约定好的,通信双方通过这 些约定语义的控制报文按一定时序关系的交换 即可实现建立连接的功能和提供有连接服务。 –其它的在协议中常使用的“数据收到确认”报 文(ACK报文)、“出错通知”报文、“紧急通知” 报文等等均可看成为具有特定语义的网络协议 的语句,即协议的组成部分。
• 大量的研制经验表明,对于非常复杂的计 算机网络协议,其结构应采用层次式的。 • 在计算机网络中,将计算机网络的各层及 其协议的集合,称为网络的体系结构 (architecture)。
–ISO的OSI/RM(开放系统互连/参考模型) –IBM的SNA(系统网络体系结构) –DEC的DNA(分布式网络体系结构) –IETF的TCP/IP
前言
一、设么叫协议? • 例如:
– 人与人之间 – 人与物之间 – 物与物之间
• 协议是多个对象之间为了实现某个共同目 标而制定的、需要共同遵守的、关于各自 行为方式的时序化的约定。
• 用系统的观点看协议
– 系统是由相互作用相互依赖的若干组成部分结 合而成的,具有特定功能的有机整体,而且这 个有机整体又是它从属的更大系统的组成部分。
三、本课程的目标 • 学习如何合理的设计计算机网络协议。
– 网络的协议模型(通用模板) – 网络协议应该包含的内容 – 网络协议的设计方法 – 网络协议性能的保证机制 – 网络协议的描述方式 – 网络协议的测试方法 – 网络协议的验证方法
第一讲 基本概念
一、网络协议:为计算机网络中对等实体进
行数据交换而建立的规则、标准或约定的 集合。网络协议是由语法、语义和同步 (时序关系)三个要素组成:
• 在有些文献中,也将这种同步关系视为协议 语法的一部分。
协议定义:进一步延伸
• 进一步延伸为计算机通信协议。
– 协议是计算机网络和分布式系统中各种通信 实体或进程间相互交换信息时必须遵守的一 组规则或约定。 –网络协议工程中的许多技术和方法均可应用 到分布式系统中的进程间通信协议的设计活 动当中。
– 例如:一个简单的串行奇偶检测电路
电路中包括T触发器,输入、输出,状态;在上述系统 中有没有协议?
奇偶检测系统是由T触发器构成,T触发器是由基本门电路构成, 所以上述系统是由若干基本门电路按照确定的连接方式构成,各 个单元之间按照已知的方式协调工作从而形成上述系统。
• 一些结论:
– 协议定义了系统内各组成单元的功能集合以及 它们之间的关联方式。 – 系统按照协议运行时,表现为系统状态的时序 性变化(即状态变迁)பைடு நூலகம்– 在已学的技术中,可以用状态图或状态表的方 式描述系统按照协议的运行情况。 – 设计协议就是设计一种离散事件系统!
康军 长安大学信息工程学院
内容提要
• 课时:20课时授课+10课时上机 • 主要内容: – 网络协议工程方法 – 网络协议开发技术 • 参考资料: – 吴礼发著,《网络协议工程》,电子工业出版社,2011 – TCP/IP详解 卷2 – TCP/IP详解 卷3 – http://www.cnpaf.net/(中国协议分析网)
协议定义:同步
• 简单地说,同步是指事件实现顺序的详细说 明。
–具体来说,同步是指通信过程中各种控制报文 传送的顺序关系,例如“允许连接”或“拒绝 连接”报文必须是作为请求连接报文的一种响 应来发送,“拆除连接”报文也必须在建立连 接后的某种条件下发送等等。 –这种控制报文发送的时序关系,也决定了通信 双方所处的通信状态(发送状态、接收状态、等 待状态等)的制约关系,所以常用通信双方的有 限状态机的方法来描述网络协议。
• 实体(Entity)是指任何可以发送或接收信息的硬件 或软件进程,在大多数情况下,就是一个特定的 软件进程。 • 位于不同系统的同一层次内交互的实体,就构成 了对等实体。
协议定义:语法
• 在语言学中,语法是指语言组成成分(词、句等)之 间以什么样的关系结合而构成语句或语言,也即是 语言的结构方法和构成规则。 • 网络协议中的语法的含义? –网络协议中的语法体现为数据报文中的控制信 息(通常在报文的首部)和各种控制报文的结构、 格式,也即是规定报文的长度,报文中划分多少 个域(Field),每个域的名称、意义、数据类型、 长度等。其中,报文中各个域的类型、长度及相 互间的位置、顺序关系则构成了词法。
二、如何设计协议?
– 协议工程:按照系统化、规范化、可度量化等工程原则和 方法去进行协议的设计。
– 什么叫系统化?为什么要系统化?
• 系统化:把协议看做是一种离散事件系统 • 系统化有利于合理简化问题,并找到分析问题的科学方 法。 – 什么叫规范化?为什么要规范化? • 规范化:按照标准化的步骤进行协议设计 • 规范化有利于保证协议的正确性、提高设计效率 – 什么叫可度量化?为什么要可度量化? • 可度量化就是对协议的正确性和性能进行量化 • 可度量化有利于确定性的比较优劣
协议定义:语义
• 网络协议的语义可以理解为协议数据报文中的控制信 息和控制报文所约定的含义,即需要发出何种控制信 息,完成何种动作以及做出何种响应。 • 例如:
–报文首部控制信息中的目的地址信息指明了报文的目的地, 接收到此报文的网络结点均将其作为进行路由选择的依据, 因而规定在首部控制信息中在给定域给出目标结点地址就 是一种语义。 –为了实现有连接的传输服务,设计了一套实现连接的控制 报文。发起连接方构造一个请求连接的协议控制报文,这 个“请求连接”就是该控制报文的语义。收端收到这个控 制报文后,根据已知的格式分析规定域中报文类型码就可 了解这个“请求连接”的语义,从而作出“允许连接”或 “拒绝连接”的响应。
– 系统包含:输入、系统部件(关联、状态)、输 出 – 遵循协议的对象构成的总体形成了一个系统。 – 在上述系统中,各个对象之间根据协议内容,按 照一定时序关系改变各自的状态(事件),在某 一时刻各个对象呈现出不同的确定性的状态,这 样的系统称之为“离散事件系统”。 – 例如:数字电路系统(组合+时序逻辑电路)
协议定义:语义(Cont.)
• 例如(续):
– “允许连接”报文和“拒绝连接”报文的格式 和语义也是协议中约定好的,通信双方通过这 些约定语义的控制报文按一定时序关系的交换 即可实现建立连接的功能和提供有连接服务。 –其它的在协议中常使用的“数据收到确认”报 文(ACK报文)、“出错通知”报文、“紧急通知” 报文等等均可看成为具有特定语义的网络协议 的语句,即协议的组成部分。
• 大量的研制经验表明,对于非常复杂的计 算机网络协议,其结构应采用层次式的。 • 在计算机网络中,将计算机网络的各层及 其协议的集合,称为网络的体系结构 (architecture)。
–ISO的OSI/RM(开放系统互连/参考模型) –IBM的SNA(系统网络体系结构) –DEC的DNA(分布式网络体系结构) –IETF的TCP/IP
前言
一、设么叫协议? • 例如:
– 人与人之间 – 人与物之间 – 物与物之间
• 协议是多个对象之间为了实现某个共同目 标而制定的、需要共同遵守的、关于各自 行为方式的时序化的约定。
• 用系统的观点看协议
– 系统是由相互作用相互依赖的若干组成部分结 合而成的,具有特定功能的有机整体,而且这 个有机整体又是它从属的更大系统的组成部分。
三、本课程的目标 • 学习如何合理的设计计算机网络协议。
– 网络的协议模型(通用模板) – 网络协议应该包含的内容 – 网络协议的设计方法 – 网络协议性能的保证机制 – 网络协议的描述方式 – 网络协议的测试方法 – 网络协议的验证方法
第一讲 基本概念
一、网络协议:为计算机网络中对等实体进
行数据交换而建立的规则、标准或约定的 集合。网络协议是由语法、语义和同步 (时序关系)三个要素组成:
• 在有些文献中,也将这种同步关系视为协议 语法的一部分。
协议定义:进一步延伸
• 进一步延伸为计算机通信协议。
– 协议是计算机网络和分布式系统中各种通信 实体或进程间相互交换信息时必须遵守的一 组规则或约定。 –网络协议工程中的许多技术和方法均可应用 到分布式系统中的进程间通信协议的设计活 动当中。
– 例如:一个简单的串行奇偶检测电路
电路中包括T触发器,输入、输出,状态;在上述系统 中有没有协议?
奇偶检测系统是由T触发器构成,T触发器是由基本门电路构成, 所以上述系统是由若干基本门电路按照确定的连接方式构成,各 个单元之间按照已知的方式协调工作从而形成上述系统。
• 一些结论:
– 协议定义了系统内各组成单元的功能集合以及 它们之间的关联方式。 – 系统按照协议运行时,表现为系统状态的时序 性变化(即状态变迁)பைடு நூலகம்– 在已学的技术中,可以用状态图或状态表的方 式描述系统按照协议的运行情况。 – 设计协议就是设计一种离散事件系统!