网络上End-to-end的感想_第1页
网络上End-to-end的感想_第2页
网络上End-to-end的感想_第3页
网络上End-to-end的感想_第4页
网络上End-to-end的感想_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、仅供个人参考网络分层设计与TCP协议实现读END-TO-END ARGUMENTS IN SY STEM DESIGN 有感目录11. 论文回顾22. 网络设计的分层思想33. TCP协议的提出44. 注意的问题55. 总结61. 论文回顾END-TO-END ARGUMENT IN SY STEM DESIGN写于 1984年,当时计算机网络技术还相当不成熟,但是作者这篇文章对于计算 机分层结构的形成具有直接的重要的作用。文章主要提出了在分布式系统下端到端的系统设计原则,而这也 成为了 In ternet日后主要的设计原则。在In ternet设计原则中,考虑 最多的两个因素就是代价与性能。

2、 作为当时网络发展的两个趋势:利 用底层网络实现和高层网络实现,作者从位错误恢复、安全加密、重 复消息限制、系统崩溃、确认机制等进行比较,得出进行端到端系统 设计的优越性。即网络设计应当尽量简单化,可以将一部分功能赋予 高层网络进行实现,反而能得到更大的效率。首先作者就端到端系统传输的整个过程分为以下几步:设有主机A与主机 B 进行通信。 A 主机与 B 主机之间的信息传递分以下几步:图 1.1 端到端系统文件传输过程 这个利用端到端原则进行的传送的应用, 即小心的文件传输。 这种应 用主要的威胁有:本身文件出错、传输过程出错、接收过程出错和数 据安全等。现有的能够保证数据传输正确性和安全性的

3、做法主要有:一、进行多次文件复制,即通过简单的多次传输进行数据完整性和 安全性的保证;二、进行超时重传,设定 ACK 进行确认,根据请求进行重发;三、进行数据的检查和操作,以保证数据的正确性。虽然这些方法去除一些威胁,但不足以去除所有的威胁。 于是作者对在底层实现这些方法和在高层实现这些方法做了比较, 得 出以下结论:一、通常利用底层来实现这些功能可以很大程度上提高整个系统的 性能,但是代价太大;二、为了在一个原本不可靠的网络上实现可靠传输, 就需要一个独立 于网络层的可靠传输协议和一个端系统的应用层的错误检测功能。 即 利用高层来实现数据传输等功能也一样能够保证数据的可靠传输。三、与底层方法

4、相比,实现的效率和所付出的代价之比,高层明显要 更好。接下来作者分别对下列几个功能在底层和高层的实现做了比较:一、传送过程的可靠保证,在高层通过 RFNM 机制等能实现对数据 的可靠性保证;二、数据的安全传送过程的加密与解密, 通信系统本身无须为所有的 流量进行自动加密,这些操作可在高层完成;三、重复信息的限制, 由于提供重复信息后还可能收到以前的请求数 据,可以通过高层来鉴别;四、保证先进先出的传送顺序, 信息通过不同的链路到达后顺序可能 被打乱,可以在高层进行顺序排序。五、传送管理,底层的核心功能应该尽量简易,不提供传送确认。 此后作者就端到端系统在其他系统领域的应用进行了分析。 他指出了

5、 ACK 机制和端到端加密思想的来源和讨论。同时指出只有在航空或 者金融领域才有足够的经济实力能够利用底层来进行数据的可靠传 输,而端到端系统已经能够满足错误控制和纠错处理方面的要求了。最后作者总结了端到端原则犹如奥卡姆剃刀( Occam's Razor ), 即如果在底层设计的功能已经超过它所能提供的必要核心业务了, 那 么可以考虑在其他层进行此类功能的设计。 而改变的做法就是设计一 个端到端的系统,负责数据的可靠传输等。2. 网络设计的分层思想从作者的设计理念我们不难看出, 作者为同年提出的 ISO 的网络七 层结构的提出奠定了理论基础。作者在文章最后也指出,对于 “时下 流行这种

6、基于网络分层的想法是可取的, 这样可以加强模块间的分工 合作。网络分层的优越性,正是体现在底层实现的复杂和代价昂贵, 因此网络设计的简易化和接口化已经成为了网络设计的基本原则。 众所周知, 网络传输是一种不可靠的传输, 因此在网络的最核心 的重要的部分只可以做数据的传输而不能去做一些特殊的应用, 最终 网络需要检查是否进行了正确的传输, 这里也只有靠网络的高层去判 断,并由此出现网络高层的确定重传机制等。 因此作者提出网络的核 心部分(交换与路由)应当只需要去做最迫切而且是最简单的任务 - 数据传输, 而不应该将复杂的任务赋予底层的不可靠网络传输, 使得 网络的核心复杂度降低, 同时也提高了网

7、络的灵活性, 使得网络的升 级和维护都变得更加容易。端到端的设计原则, 屏蔽了底层硬件和网络状况的复杂性, 将数据 传输过程中的完整性和安全性等要求交付于网络高层负责, 从而大大 简化了网络的核心复杂度。端到端原则主要包括三个设计理念:1. 降低网络核心复杂度。互联网的目的之一是在应用程序中隐藏所 有的物理细节, 因此对于在传输过程中可能出现的不可靠因素, 我们 只有在端系统才知道,因此我们赋予底层的操作也越简单越好。 Internet 将确认传输正确的任务交给端系统去完成,从而最大的保证 了传输的可靠性和完整性。 可以通过确认和超时重传等机制来保证传 输的正确,因此建立一个独立于网络层和物理

8、层的可靠传输协议和错 误检测功能就很有必要。2. 数据传输的尽力传输服务。对于整个网络传输来说,对于网络层 及其底层的要求只是提供尽可能打的数据传输速率, 至于数据的完整 性和正确性要求可以交付给高层即端系统来负责。后面将要介绍的TCP 协议正是基于这样一样思想而设计出来的。3. 端到端地址的透明性。端到端设计的原则同样有给 Internet 上的 主机分配唯一的地址, 这样在传输过程中不需要在中间的节点或者转 发节点上对包的内容进行修改。 而且端系统之上的应用程序也不需要 知道实际传输的具体线路,为实际应用带来了方便。 因此网络的分层和模块化趋势是端到端原则在 Internet 体系的具体体

9、 现,这样不仅将底层和网络层解放出来专注于数据传输服务, 更使得 整个网络服务质量的保证的核心功能集中于端系统, 大大的减少了成 本和简化了网络架构。3. TCP 协议的提出 正是基于文章所提出的端到端原则, 90 年代最流行的 TCP 协议以及 相应的 TCP/IP 分层也就应运而生了。 TCP 协议能够实现端到端系统 所要求的可靠数据传输功能, 从而让底层协议脱离于数据的可靠性服 务的保证,专注于网络速率的最大化。TCP 实现了网络的分层结构,整个网络被划分为四层,共有应用层、 传输层、网络层和链路层。 其中传输层实现的就是文章所提及的端系 统所要求的功能。 不同层次的协议负责不同的通信功

10、能, 高层协议以 低层协议的服务为基础, 低层协议接收来高层协议的命令和请求。 其 中传输层主要负责两台主机间的应用程序提供端到端的通信,在 TCP/IP 协议族中,有两个互不相同的传输协议: TCP (传输控制协 议)和UDP (用户数据报协议)。TCP 为两台主机提供高可靠性的数据通信,它所做的工作包括把应 用程序交给它的数据分成合适的小块交给下面的网络层, 确认接收到 的分组,设置发送最后确认分组的超时时钟等。 由于运输层提供了高 可靠性的端到端的通信, 因此底层和网络层可以忽略这些细节。 为了 提供这种可靠的服务,达到文章中所要求的传输服务要求, TCP 采 用了超时重传、 发送和接收

11、端到端的确认分组等机制。 下面就具体实 现进行分析:一、关于传送过程的可靠性保证。 TCP 协议将数据分割成最适合发 送的数据块,我们称之为报文段。然后发出一个段后, TCP 就启动 一个定时器, 等待目的端确认收到这个报文段。 如果不能及时收到一 个确认,将重发这个报文段。而当另一端的 TCP 收到该报文段后, 通常推迟几分之一秒后会进行确认发送。二、数据的安全传送过程的加密与解密。 TCP 首先将会进行首部和 数据的检验和, 目的是检测数据在传输过程中的任何变化。 如果检测 段的检验和有差错, TCP 将丢弃这个报文段和不确认收到此报文段。 因此在应用层加密后的数据在运输层可以得到很好的数

12、据完整性保 证。三、重复信息的限制。如果 TCP 收到重复的报文段, TCP 的接收端 必须丢弃重复的数据。四、保证先进先出的传送顺序。 既然 TCP 报文段作为 IP 数据包来发 送,而 IP 数据包的达到可能会失序, 因此 TCP 的报文段到底也可能 会失序。因此 TCP 将对接收到的数据通过序号技术进行重新排序, 将收到的数据以正确的顺序交给应用层。五、传送管理。此外针对网络传送情况的复杂性, TCP 还提供了流 量控制和拥塞控制等。利用滑动窗口原理, TCP 接收端只允许另一 端发送接收端缓冲区所能接纳的数据。 这将防止较快主机致使较慢主 机的缓冲区溢出。4. 注意的问题在 TCP 可

13、提供可靠、有序传输服务,实现端到端思想的同时,我 们也应该看到 TCP 的一些不足。由于采用了滑动窗口机制, 它只能保证一个消息从节点 A 到节点 B 被正确传递,从节点 B 到节点 C 也能正确传递,但是它不能保证在 节点 B 本身不出错。正是由于这些窗口系统的脆弱性,仍然需要提 供真正的物理层端的端到端的检测以保证可靠/有序的服务,即底层的链路层已实现了这种功能。比如 TCP/IP 协议的链路层一样会进行 差错检测( CRC )、流量控制等的服务。5. 总结本文主要从END-TO-END ARGUMENTS IN SY STEM DESIGN 一文出发,作者阐述了在 Internet 系统

14、设计中最重要的原则之一 -端 到端理论。简而言之,端到端了理论说明有些功能(比如提供可靠 / 有序的服务) 不应该在系统的较低层提供, 除非能在低层完全正确的 被实现,而且花费的代价不是太大。这条原则促使了 TCP 协议的诞 生,解决了如何在一个不可靠的网络通信信道上进行了可靠的网络传 输服务。这条原则在设计 RISC 系统的原则上也一样适用,当然这条原则并不是绝对的,有时为了性能优化的需要也允许在较低层提供一些不 完全的功能。<The End-TO-End Arguments in System Design> 读后感73 滑冰这篇论文剖析了端对端原则在网络系统设计时的作用。作者

15、在文 章开始对端到端下了定义: 在两台机器之间建立连接, 两端并不知道 中间经历的多么复杂的连接,经过了另外的多少机器。接下来,作者对端到端原则的一个应用做了介绍,即小心的文件 传输。它可以去除一些威胁, 但是不足以消灭所有。 文章列出了 5 种 基本的威胁,包括 :1. Read file error2. Software copy file error3. Hardware copy file error4. More than 1 changed bit5. Host crash at anytime之后举例说明一些解决威胁的办法,如复制一份拷贝,重新传输 等。作者举了一个来自他们自己大

16、学 MIT 的实验例子作反面说明, 强调了威胁被层层放大以至于无法解决的可能性。接下来,作者列举了更多端到端的应用领域,如传输确认,数据 安全,复制信息限制,确保 FIFO 信息传递,交换管理等。作者之后说明,端到端并不是一个限制性的规则。我们可以灵活 地运用它,为设计协议和网络体系结构进行服务。在总结中,作者希 望自己的讨论可以为“当下”流行的网络协议层次结构提供一些帮助。 当然,这也已经是 1983 年的文章了。目前网络协议的层次结构基本 固定,而 TCP 协议也正是用来实现端到端的一个具体例子。我认为,端到端应该是网络体系结构最自然的形式。因为信息的 发送和获取在绝大多数情况下都是一一对

17、应的。 对于服务器和主机来 说,也应该是不加区分的两个终端。不过,我感觉有些自然的想法被 打破的时候, 也将是网络体系结构设计上升到一个新台阶的时候。 希 望端到端可以为演化成一个更好的原则做好准备吧。 对于这篇文章,我想我的专业知识的缺乏还不足以让我理解其中提到 的一些设计思想。 但是在未来的课程中, 我可以带着在阅读中遇到的 问题进行学习。 到课程结束的时候, 相信我可以对文章中的内容有更 深刻的体会。不得用于商业用途End-to-end argument in system design 读书笔记这篇文章对网络分层体系结构的产生和发展产生过重要的影响, 文中所涉猎到诸多的课题, 如网络性

18、能和代价的平衡选择, 数据传输 中的确认和重传机制的实现等, 仍然在目前的网络设计中有着指导性 的意义。“端到端”的网络设计观点,由此成为对网络结构设计的一 篇经典论文,帮助我们更好的理解当前 TCP/IP、ISO 七层协议等网络 分层设计原理。一、作者的中心观点 作者提出了分布式系统下端到端的系统设计原则,即底层网络设 计应注重与核心传输功能的实现, 而不是花费更大的代价去实现其他 的功能。作者指出,错误恢复、安全加密、重复消息限制、系统崩溃 恢复、传输确认等技术实现,都支持端到端观点的成立。在网络的底 层应该简化结构,把更多的功能实现,如数据确认和重传、安全加密 等功能放到高层网络实现,效

19、率会更高。二、观点辨析作者以文件传输过程来分析端到端网络设计的合理性:文件传输过程如图所示,图1 A-B端到端文件传输过程在传输过程中可能遇到诸多难以控制的风险,包括文件本身出错、通信传输过程出错、接收过程出错、数据包完整性的度量以及其 他一些未知的错误发生。作者讨论了当前技术条件下解决文件传输错 误的几种途径:1、进行多次的文件复制,通过多次的简单传输保证 数据写入的正确性;2、端到端的数据确认和请求重传 3、进行错误 检测。建立一个可靠的文件传输机制离不开底层链路的支持。从性能分析的角度讲,基于一个不可靠的网路建立一个可靠的文 件传输,底层网络可以实现完善的功能,但是权衡性能和代价,在底

20、层实现这些功能的代价太大,不如在高层网络进行这些功能实现。实 现数据的可靠传输,需要建立错误检查功能,在应用层也能实现。作 者从三方面提出例证:1、借鉴 ARPANET 网络的方法,高层可以使用 RFNM 原理实现 消息确认机制,保证数据传输的准确性;2、在高层实现数据加密功能而不是在底层实现是必要的,因为 数据加密需要密钥; 传输过程中数据的安全性很脆弱; 数据的最终确 认仍然在高层。 高层对数据加密功能的实现手段具有互补性, 而底层 无需实现这些功能;3、为防范网路对重复信息的抑制,高层可以实现对数据重复请 求的鉴别;4、在先进先出的信息传输机制中,信息的序列可能被打乱,高 层则可以重组信

21、息序列;5、传输管理中,消息的确认报文最好由高层完成,底层的设计 上应尽量减少冗余信息的传输。应用于实际问题,端到端的观点分析需要做细微的甄别。如在语 音传输中, 人们更侧重于对声音同步性的要求而非正确率, 过多的时 间延迟会导致人们的反感。因此,作者指出,端到端的观点不是一个 硬性的绝对规则,而是一个帮助设计应用程序和协议的设计的指导。 目前,只有金融和航空领域才有能力和需求, 完成底层的数据可靠性 传输,在其他领域端到端系统已经能够满足错误控制和纠错处理方面 的要求了。总而言之,端到端的观点犹如奥卡姆剃刀(Occam's Razo),即 如果在底层设计的功能已经超过它所能提供的必要核心业务了, 那么 可以考虑在其他层进行此类功能的设计。 而改变的做法就是设计一个 端到端的系统,负责数据的可靠传输等。三、文章主要贡献文章的观点和分析思路为网络的分层设计思想奠定了理论基础。 作者在文章最后也指出, 对于“时下”流行这种基于网络分层的想法是 可取的,这样可以加强模块间的分工合作。网络分层的优越性,正是 体现在底层实现的复杂和代价昂贵, 因此网络设计的简易化和接口化 已经成为了网络设计的基本原则 。仅供个人用于学习、研究;不得用于商业用途For personal use o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论