计算机网络:端到端原则对互联网的影响与面临的问题

来源:互联网 发布:策略经营单机手游 知乎 编辑:程序博客网 时间:2024/05/16 08:09

中文摘要

摘要:互联网中的端到端原则是指如果一种机制能在端系统实现,那么就不应该将其在网络核心中实现,从而保证互联网核心的稳定性、可维护性和可扩展性。端到端原则自提出以来便对互联网产生了巨大的影响。本文将根据《End to End Arguments in system design》与《Rethinking the design of the Internet: The end to end arguments vs. the brave new world》两篇文章,总结端到端原则对当今互联网的影响和面临的问题。
关键词:端到端原则;互联网

Abstraction

Abstraction: In networks designed according to end-to-end principle, features which can be realized by end systems are expected to reside in the end nodes of the network, rather than in intermediary nodes so that the network would keep reliable, extendible and maintainable. The end-to-end principle has influenced the network greatly since it firstly articulated back in 1981 by Saltzer, Reed, and Clark. This passage is going to make a brief summary about the influence that the end-to-end principle brought and the problem that aroused nowadays according to End to End Arguments in system design and Rethinking the design of the Internet: The end to end arguments vs. the brave new world.
Keywords:End-to-end principle;Internet

1. 概述

自从上世纪80年代端到端原则提出以来,互联网已经发生了翻天覆地的变化。网络从最初几所大学的通讯网成长到覆盖全球、应用广泛的互联网。端到端原则[1]为互联网的繁荣发展做出了巨大的贡献,为一批又一批新兴的互联网应用提供了坚实的基础。端到端原则在保证了互联网核心的精简而有效的同时给予了端用户极大的自由。但是随着互联网的发展,这种自由可能被恶意软件利用。伴随着人们日益迫切的新需求,端到端原则面临极大的挑战。未来的网络需要作出做出妥善的调整来满足这些新需求。

2. 端到端原则的提出背景与主要思想

《End to End Arguments in system design》一文由MIT的CS实验室在1981年发表。其正处于数据交换网络(data communication network)逐渐成为计算系统的一个重要组成部分的关键时期。对于计算机系统的开发人员来说,如何选择每个部分应该提供的功能成为一个核心问题[1]。该文讨论的正是确定该数据交换网络与计算机系统的其他组成部分的功能边界划分。该文指出有很多底层实现的功能,如错误检查,重传和加密解密功能在网络底层实现其实是多余的。其有可能是由于以下原因导致的:
1. 功能如加密解密必须是由端设备来完成的,以避免可能存在的从网络底层向端设备传输中潜在的安全问题。同样的端设备也不是完全信任底层的加密解密机制,即使底层实现了加密解密功能,端设备还是会由于不信任而重新实现这些功能,造成了该功能的多余。
2. 功能如查错则可能不能完全由底层实现。如在端设备上或端设备到网络底层的传输过程中发生的错误是不能够被网络底层的检错机制检测到的,从而还是需要在端设备上重新实现。
3. 功能如网络底层确认反馈对于端设备是多余的。端设备关心的问题不是消息是否已经到达对方的端设备,而是对方端设备对该信息所做出的反馈动作。
因而在网络中,这些功能不应该依靠网络底层而是应该由端设备实现。
但是网络底层实现的某些功能并不是对网络毫无益处。网络底层实现部分功能可能会带来性能方面的改善。如若在底层加入一定的校验功能,可以缩短出错重传所消耗的时间[1]。
总的来说,在网络通讯系统设计中需要遵循端到端原则,妥善的选择在网络底层中需要实现的功能。

3.端对端原则对当今互联网的影响

自《End to End Arguments in system design》提出网络系统设计中的端到端原则以来,该原则深深影响了互联网的分层以及互联网的发展。当今互联网的繁荣与端到端原则息息相关。
1. 端到端原则为互联网的分层设计提供了正确的方向
互联网的分层的出现解决了互联网中的功能划分的问题,而端到端原则表明如果一种机制能在端系统实现,那么就不应该将其在网络核心中实现。网络核心应该尽可能提供通用的服务,而具体应用相关的功能应该避免在网络核心中出现[2]。端到端的设计原则保证了互联网底层的功能的最简化,使互联网核心保持一个相对精简而有效的状态。
2. 精简而有效的互联网核心保证了互联网的发展
精简而有效的核心提供了以下益处
- 精简的互联网核心由于不存在复杂的系统而降低了互联网维护难度。从而支持互联网稳定的运行,为互联网的发展奠定了坚实的基础。
- 精简的互联网核心由于提供了通用的服务,网络边缘的基于网络的应用程序无需遵循复杂的规则就可以接入互联网。这给予了这些应用程序足够的自由度,令其能够根据具体的需求实现功能、快速的更新与部署,降低了互联网应用的开发难度。
因此,互联网核心的端到端原则为互联网提供了可观的伸缩性、通用性和开放性[2],保证了互联网的发展。
3. 端到端原则带来的互联网哲学(Internet Philosophy)
端到端原则除了技术上的影响,还引导了互联网哲学。端到端提供的精简的内核代表着其缺乏对端设备的控制,端设备因而具有了很大程度的自由[3]。这种自由为互联网的蓬勃发展提供了无限可能。
4. 基于互联网的应用不受ISP的控制,而可以快速的开发、部署、产生效益,好的创意往往会被这种自由的氛围而放大,为互联网带来新的生机。如当今已经改变我们生活方式的社交网络,电商平台,即时通讯。而这种氛围在吸引了大量的风险投资的同时也培养起了特殊的冒险精神[2],并成为互联网公司的文化背景。
5. 自由也意味着高度自治,端设备要对自己在网络中的动作自我约束。由于互联网内部缺少对端设备的控制,很难统一的对设备进行约束,因此端设备必须无论是向互联网中发送的信息,抑或是从互联网接受到信息负责。也正是这个原因,导致了新的互联网危机。

4. 端到端原则在当今互联网中出现的问题

在端到端原则提出的20年里,互联网得到了巨大的发展。最初的ARPAnet已不复存在,互联网主干流量变成由ISP负责承载[4]。而发展往往伴随着新的问题,因此作者David D. Clark发表了《Rethinking the design of the Internet: The end to end arguments vs. the brave new world》一文。该文总结了互联网发展中遇到的主要问题,并给出一些应对措施和解决方法。
互联网涉及的问题主要分为以下几个部分:
1. 信任的崩塌
上文提到的互联网的设计初衷是需要端设备与软件实现自我约束。而现在使用端到端软件的用户之间并不是完全相互信任的,但是还是需要必要的通讯[3]。而由于有的端软件在后台默默收集用户的信息,端到端的软件也失去了用户的信任。用户希望在使用端设备/软件时,有安全保障。
2. 第三方介入
政府希望能够控制互联网内容保证国家安全,ISP也希望获取互联网流量数据用于更新服务器[3]。而原来的端到端原则的互联网不提供这些第三方介入的功能。作为端用户,也不希望被第三方监听。
3. 恶意信息
正是因为缺乏对互联网的控制,有些恶意信息乘虚而入。如垃圾邮件等恶意信息无法得到有效的阻拦。
但是这并不意味着端到端原则应该抛弃,主要有两个原因。
1. 端到端原则的前提是将一些重复的功能向互联网边缘方向移动。而第三方介入、互联网通讯内容的管控等功能不能由端设备实现,或者端设备实现起来非常复杂。故这些功能本身就不属于端到端原则适用的范围。
2. 互联网之所以拥有现在的发展,正是依赖于端到端提供的可靠基础与创新环境。若抛弃端到端原则,不利于互联网的进一步发展。

5. 端到端原则的未来

虽然端到端原则不应该被抛弃,但是现有的问题仍需解决。由于这些功能不符合端到端原则,在现行的网络内核中实现这些问题面临着巨大的困难。可以通过以下几种方式尝试解决这些问题:
1. 通过改进端设备实现这些需求。如垃圾邮件的筛选可以在服务器端或用户端两头进行处理,恶意程序可以通过用户防火墙进行控制等。虽然通过端设备很难实现全部功能,但是将风险降到用户可以接受的程度还是可行的[3]。
2. 建立新的网络为中心的服务并与当前端到端的网络结合。将邮件,、通讯,、支付等有安全需求的软件转移到新的以网络为中心的服务,而其他的没有类似需求的软件保留在端到端的网络中。
3. 非技术手段如法律等同样可以改善这些问题[3]。完善互联网相关法律,通过非技术手段约束端设备履行自己的责任,可以减少恶意信息的出现。

参考文献

[1]. J.H. Saltzer, D.P. Reed, and D.D. Clark, “End-to-end arguments in system design,” ACM Transactions in Computer Systems, Volume 2 Issue 4, Nov. 1984, pp.277-288.
[2]. 张海粟, “对因特网端到端原则的思考,” [EB/OL] http:// blog.sciencenet.cn/home.php?mod=space&uid=237587&do=blog&id=224869, Apr. 2009
[3]. Marjory S. Blumenthal, and David D. Clark, “Rethinking the design of the Internet: the end-to-end arguments vs. the brave new world,” ACM Transactions in Computer Systems, Volume 1 Issue 1, Aug. 2001, pp.70-109.
[4]. James F. Kurose, and Keith W. Ross, 计算机网络-自顶向上方法与Internet特色(第六版), 机械工业出版社, Oct. 2016, pp.44

原创粉丝点击