Pre-reading----End-to-end argument in system design

End-to-end argument in system design


这篇文章对网络分层体系结构的产生和发展产生过重要的影响,文中所涉猎到诸多的课题,如网络性能和代价的平衡选择,数据传输中的确认和重传机制的实现等,仍然在目前的网络设计中有着指导性的意义。“端到端”的网络设计观点,由此成为对网络结构设计的一篇经典论文,帮助我们更好的理解当前TCP/IP、ISO七层协议等网络分层设计原理。
一、作者的中心观点
作者提出了分布式系统下端到端的系统设计原则,即底层网络设计应注重与核心传输功能的实现,而不是花费更大的代价去实现其他的功能。作者指出,错误恢复、安全加密、重复消息限制、系统崩溃恢复、传输确认等技术实现,都支持端到端观点的成立。在网络的底层应该简化结构,把更多的功能实现,如数据确认和重传、安全加密等功能放到高层网络实现,效率会更高。
二、观点辨析
作者以文件传输过程来分析端到端网络设计的合理性:文件传输过程如图所示,
《End-to-end <wbr>argument <wbr>in <wbr>system <wbr>design》读书笔记
图1   A-B端到端文件传输过程
在传输过程中可能遇到诸多难以控制的风险,包括文件本身出错、通信传输过程出错、接收过程出错、数据包完整性的度量以及其他一些未知的错误发生。作者讨论了当前技术条件下解决文件传输错误的几种途径:1、进行多次的文件复制,通过多次的简单传输保证数据写入的正确性;2、端到端的数据确认和请求重传3、进行错误检测。建立一个可靠的文件传输机制离不开底层链路的支持。
从性能分析的角度讲,基于一个不可靠的网路建立一个可靠的文件传输,底层网络可以实现完善的功能,但是权衡性能和代价,在底层实现这些功能的代价太大,不如在高层网络进行这些功能实现。实现数据的可靠传输,需要建立错误检查功能,在应用层也能实现。作者从三方面提出例证:
1、借鉴ARPANET网络的方法,高层可以使用RFNM原理实现消息确认机制,保证数据传输的准确性;
2、在高层实现数据加密功能而不是在底层实现是必要的,因为数据加密需要密钥;传输过程中数据的安全性很脆弱;数据的最终确认仍然在高层。高层对数据加密功能的实现手段具有互补性,而底层无需实现这些功能;
3、为防范网路对重复信息的抑制,高层可以实现对数据重复请求的鉴别;
4、在先进先出的信息传输机制中,信息的序列可能被打乱,高层则可以重组信息序列;
5、传输管理中,消息的确认报文最好由高层完成,底层的设计上应尽量减少冗余信息的传输。
应用于实际问题,端到端的观点分析需要做细微的甄别。如在语音传输中,人们更侧重于对声音同步性的要求而非正确率,过多的时间延迟会导致人们的反感。因此,作者指出,端到端的观点不是一个硬性的绝对规则,而是一个帮助设计应用程序和协议的设计的指导。目前,只有金融和航空领域才有能力和需求,完成底层的数据可靠性传输,在其他领域端到端系统已经能够满足错误控制和纠错处理方面的要求了。
总而言之,端到端的观点犹如奥卡姆剃刀(Occam's Razor),即如果在底层设计的功能已经超过它所能提供的必要核心业务了,那么可以考虑在其他层进行此类功能的设计。而改变的做法就是设计一个端到端的系统,负责数据的可靠传输等。
三、文章主要贡献
文章的观点和分析思路为网络的分层设计思想奠定了理论基础。作者在文章最后也指出,对于“时下”流行这种基于网络分层的想法是可取的,这样可以加强模块间的分工合作。网络分层的优越性,正是体现在底层实现的复杂和代价昂贵,因此网络设计的简易化和接口化已经成为了网络设计的基本原则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值