第2章-协议计设[3-协议设计方法].pptVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 2 章 协议设计 (3-协议设计方法) 协议设计方法:设计原则 一个好的结构化协议设计,应具有以下特点: 简单(Simplicity) : 协议应该尽量简单而非复杂,因为复杂的协议比较容易出错且很难设计、实现、测试和验证。一个轻量(light-weight)协议具有简单、健壮和高效的特点。 典型例子:SNMP与CMIP 模块化(Module) 一个大的具有良好结构的协议可以由许多小的经过精心设计的且容易理解的模块组成。每一个模块一般完成一种功能。理解了模块的构造方式和模块间的交互方式就能很好地理解协议的工作方式。 这样设计出来的协议比较容易理解和实现,并且容易验证和维护。 协议设计方法:设计原则 一个好的结构化协议设计,应具有以下特点: (Cont.) 有界性(bounded)、自稳定性(self-stabilizing)和自适应性(self-adapting) “有界性”是指协议不能超出系统的限制,如报文队列的容量。 “自稳定性”是指协议从任一状态开始,总能在有限时间内,经过有限的状态转换总能达到稳定状态。 “自适应性”是指协议能根据环境的变化动态地适应这种变化,如自适应滑动窗口协议能根据信道的质量和发送的数据的多少动态地调整其流控策略。 健壮性(robustness) 设计一个在正常条件下能很好地工作的协议不是一件困难的事。但是要能很好地处理诸多非正常的情况则比较难。 设计协议时对其环境应尽量少作假定,以避免设计出来的协议过分依赖环境中的某些可能发生变化的特性。 例如,70年代设计的很多链路级协议如果用在现在的高速数据链路上就不能很好地工作。 协议设计方法:设计原则 一个好的结构化协议设计,应具有以下特点: (Cont.) 一致性(consistency) :一个好的协议中不能出现死锁、活锁和不正确的终止。 在上述特点中,最基本的是:简单和模块化 。 根据这些特点,人们总结出协议设计的十大基本原则[Holz91],这些原则是协议设计的指南,而非必须要做到的原则: 协议设计方法:设计原则 协议设计十大原则: 在开始设计协议之前,确保已清楚、完整地了解了所要解决的问题,包括所有的设计标准、要求和限制等。 在定义服务之前不要考虑用什么样的结构去实现这些服务,即在考虑如何做之前先考虑做什么。 在设计模块的内部功能之前先设计模块的外部功能,即先考虑它与外部的接口。 尽量用简单地方法来解决问题。奇巧的协议比简单的协议更容易出错,更难实现、验证,通常还效率低。复杂的问题通常是由简单地问题构成的。设计者的任务是将复杂的问题划分成简单的问题,然后分而治之。 不要将无关的功能混在一起。 协议设计方法:设计原则 协议设计十大原则: (Cont.) 不要限制枝节性的东西。一个好的设计应该是可扩展的,能解决一类问题而不是某一特殊问题。 在实现一个设计之前,先建立原型,并进行验证。 实现协议,并进行性能分析,如果有必要,进行性能优化。 检查最后的实现是否与协议设计中的要求一致,即进行协议的一致性测试。 不要跳过原则1到7。这一条也是最常被违反的一条规则。 协议设计方法:分层设计 ARPANET的研制经验表明,对于非常复杂的计算机网络协议,其结构应采用层次式的。 Why Layering? Why Layering? Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies 协议设计方法:分层设计 分层的原则: 当需要有一个不同等级的抽象时,就应当有一个相应的层次 每一层的功能应当是非常明确的 层与层的边界应该选择得使通过这些边界的信息量尽量地少些 难点:层次太少会使每一层协议太复杂,太多则在描述和综合各层的系统工程任务时产生较大困难。 TCP/IP: Features Layering not strict - only where appropriate Can define new abstractions on top of any existing protocol IP/UDP provides simple “send a packet” svc Ex: RPC, DNS, IP phone, etc. Hourglass shape IP centerpiece, common denominator Design and implementation go hand-in-hand IETF requires two independent, interoperable implementations befor

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档