端到端原则

当我们设计一个大的系统(例如操作系统或网络协议族)时,总会遇到“在什么位置实现某个功能”的问题。端到端原则(The End-To-End Arguments)起初就是为了解决在通信系统中的在什么地方增加功能最合适,然而在接下来的时间里,它被用来维护公开性、增强可靠性健壮性、保护用户的选择权和使用户的开发更容易等。在计算机网络中,它对网络体系结构的发展具有核心指导意义。

关于端到端原则,《TCP/IP详解(卷1:协议)》的中文译本中是这么翻译的:只有在通信系统端角度的应用知识的帮助下,才能完全和正确地实现问题中提到的功能。因此,作为通信自身的一个特点,不可能提供有疑问的功能(有时,通信系统提供的一个功能不完整的版本可能用于提高性能)。这一原则认为只有涉及通信系统的应用程序或最终用户,其正确性和完整性才可能得到实现。从理解的角度来说,遵循端到端原则的网络设计思路应该是这样的:如果一种机制能够在端系统实现,那么就不应该在网络核心中实现,网络核心应该尽可能提供通用的服务,而具体应用相关的功能应该避免在网络核心中实现。端到端原则旨在让客户端承担网络应用的开发和创新,而让网络本身保持相对的简单。总之,这个原则认为重要功能(例如差错控制、加密、交付确认)通常不会在大型系统的低层实现,但是低层可以提供方便端系统工作的功能,并最终可能改善性能。这种观点表明低层功能不应以完美为目标,这是因为对应用程序需求做出完美推测是不可能的。

端到端原则倾向于支持一种使用“哑”网络和连接到网络的“智能”系统的设计方案。TCP/IP中所看到的很多功能(例如,保证数据不丢失、发送方控制发送速率等)在端主机的应用程序中实现。选择哪些功能在同一计算机、网络或软件栈中实现,这是另一个称为命运共享(fate sharing)的相关原则。

正是因为网络应用能够迅速在边缘网上开发、运行、产生效益,无需对核心网进行改动,所以因特网上不断创新的应用能够应运而生,发展了资源共享、通信、游戏、信息发布等各种各样丰富多彩的应用模式,成为因特网得以被普通用户广泛使用的根本原因。

命运共享原则

命运共享(Fate Sharing)建议将所有必要的状态放在通信端点,这些状态用于维护一个互动的通信关联(例如虚拟连接)。由于这个原因,导致通信失效的情况也会导致一个或更多端点失效,这样显然会导致整个通信的失败。命运共享是一种通过虚拟连接(例如,由TCP实现的连接)维持活动的设计理念,即便网络在一段时间内失效。命运共享也支持一种“带智能终端主机的哑网络”模型。

本文内容摘自《TCP/IP详解 卷1:协议(中文版)第2版》、百度百科、维基百科

端到端原则与命运共享原则相关推荐

  1. 端到端论点和命运共享

    [网络]端到端论点和命运共享 TCP/IP协议族设计的两个重要原则<TCP/IP详解 卷1> 端到端论点 必须有端系统[可以理解为主机的系统]的支持才能完善功能 这个原则认为重要功能( 例 ...

  2. 对“端到端”原则的理解

    对"端到端"原则的理解 前些天读了两篇论文,一篇是J.H.Saltzer,D.P.Read 和D.D.Clark 在80年代初发表的<The End-TO-End Argum ...

  3. 互联网的成功和端到端原则

    本文很短,就几句话. 互联网之所以发展迅速,得益于端到端原则: 保持一个极简的核心,将复杂留在端. 道理很简单. 核心若不极简,互联网将无法适应变化.随着接入节点的增加,核心的负担将指数增加,互联网规 ...

  4. 读“端到端原则”有感

    读"端到端原则"有感 关于端到端原则 我的思考 最近在学习CS144,其中某节课提到了端到端原则,初看英语描述有些疑惑,便找到了以下文章进一步阅读,作者写得很好,引发了我的一些思考 ...

  5. 计算机多用户如何共享软件,电脑端有没有可以多人共享日程表的软件?

    原标题:电脑端有没有可以多人共享日程表的软件? 对于一个团队管理者来说,若想保障团队工作的顺利进行,首先就要提前制定团队日程表,做好团队任务的管理工作,其次是将制定的日程表分享给团队成员,以便他们可以 ...

  6. 压箱底总结:流系统端到端一致性对比

    点击上方"朱小厮的博客",选择"设为星标" 回复"666"获取公众号专属资料 分布式最难的2个问题: 1.Exactly Once Mess ...

  7. 吐血之作 | 流系统Spark/Flink/Kafka/DataFlow端到端一致性实现对比

    长文预警, 全文两万五千多字, 37页word文档的长度 (略有杂乱,有些非常复杂的地方可能需要更多的例子来说明,使得初学者也能很容易看懂,但是实在花的时间已经太多太多了,留待后边利用起碎片时间一点点 ...

  8. 端到端一致性,流系统Spark/Flink/Kafka/DataFlow对比总结(压箱宝具呕血之作)

    前 这篇文章可以说是作者压箱底儿的知识总结(之一,毕竟作者学的东西很杂 ╮( ̄▽ ̄"")╭ )了. 断断续续写了将近三个月, 耗费了大量的精力, 本来的目的本来只是想对比一下各个s ...

  9. 端到端TVM编译器(上)

    端到端TVM编译器(上) 摘要 将机器学习引入到各种各样的硬件设备中.AI框架依赖于特定于供应商的算子库,针对窄范围的服务器级gpu进行优化.将工作负载部署到新平台,例如手机.嵌入式设备和加速器(例如 ...

最新文章

  1. 图表对比详解:亚马逊、微软和谷歌云的机器学习即服务哪家强
  2. JavaWeb(一)——web服务器、Tomcat安装和配置
  3. linux根据端口查pid、根据pid查端口、根据pid查服务路径
  4. oracle误删数据的解决方法
  5. CCleaner 2.11.636 - 系统优化和隐私保护工具
  6. BERT源码分析PART I
  7. 快捷软件启动工具 Rolan2(转载)
  8. 计算机更新过后cad,CAD2022更新了什么?具有哪些新功能?
  9. 用计算机画图软件画画教程,电脑画图软件有什么使用技巧,电脑画图软件教程...
  10. 驱动人生安装驱动计算机无法启动,驱动人生安装驱动时无法启用这个硬件解决方法 如何获得system权限...
  11. Unrecognized Android Studio (or Android Support plugin for IntelliJ IDEA) version ‘202.7660.26.42.74
  12. python转换js_将节点js转换为python-seri
  13. 小程序——scroll-view 页面不滚动与隐藏导航条
  14. 在python中画正态分布图像
  15. mac foxmail html签名,Foxmail for mac邮箱账号添加设置图文教程
  16. 麻省理工学院计算机工程专业排名,美国大学排名大赏之计算机工程专业
  17. MT4自定义指标导入方法
  18. 抓取空气质量指数AQI_PM2.5历史数据,可视化展示
  19. Microsoft office 2007 word PPT 转pdf的插件
  20. python学习笔记(七):运算符和流程控制

热门文章

  1. 计算机音乐抖音神曲,2019抖音十大神曲纯音乐 2019抖音最火的纯音乐盘点
  2. Unity ShaderLab特效教程 适用于贴图、sprite和ugui的2d着色器实例 代码+详解注释 【将贴图转为马赛克效果】
  3. 酷睿i5 11400h什么水平 i5 11400h参数 i511400h相当于什么级别
  4. 明日之后安卓服务器大佬最多,《明日之后》安卓服上线第一天全线爆满,想登录得等“明日之后”...
  5. 亚马逊扫号侵权,卖家要如何自保?如何申诉?
  6. 可爱的小老鼠计算机教案,可爱的老鼠小班教案.doc
  7. Linux服务器搭建 -- Web静态/动态服务器及论坛的搭建(apache)
  8. Fibonacci Again斐波那契
  9. 图片压缩 --可以压缩证件照的那种呦
  10. 苹果电脑发布新版的MacBook Air