贝博恩创新科技网

互联网best effort的可靠性如何保障?

什么是“Best Effort”(尽力而为)?

Best Effort,中文常翻译为“尽力而为”或“尽最大努力”,是一种网络服务模型,它的核心思想是:网络尽其所能将数据包从发送方传递到接收方,但不提供任何关于服务质量(如延迟、丢包、抖动)的保证。

互联网best effort的可靠性如何保障?-图1
(图片来源网络,侵删)

网络就像一个普通的邮政系统

  • 你把一封信(数据包)投进邮筒,邮局会尽力把它送到收件人手中。
  • 邮局不会承诺:
    • 这封信明天一定能到(不保证延迟)。
    • 这封信绝对不会丢失或损坏(不保证不丢包)。
    • 两封同一天寄出的信,不会一个先到后一个到(不保证抖动)。
  • 如果信件丢失了,邮局不会主动通知你,更不会重新为你寄一封(不保证可靠)。

Best Effort 的核心特征

Best Effort 模型具有以下几个关键特征:

  1. 无连接

    • 在数据传输之前,不需要在发送方和接收方之间建立一个专用的连接或电路。
    • 每个数据包都是独立处理的,像一个独立的信件,有自己的“地址”(源IP和目的IP)。
    • 这与传统的电话网(电路交换)形成鲜明对比,打电话前必须先建立一条独占的通话线路。
  2. 无状态

    互联网best effort的可靠性如何保障?-图2
    (图片来源网络,侵删)
    • 路由器在转发数据包时,不会记住之前处理过的数据包。
    • 每个数据包都是“新”的,路由器只根据其包头中的目的IP地址,查询自己的路由表,然后决定下一跳该发往哪里。
    • 这使得网络设备非常简单和高效,不需要维护复杂的连接状态。
  3. 不保证服务质量

    • 不保证延迟:数据包的传输时间可能从几毫秒到几秒不等,甚至更长。
    • 不保证丢包:如果网络拥堵,路由器队列满了,新的数据包就会被丢弃,这就像邮局爆仓,信件被扔掉一样。
    • 不保证顺序:由于不同数据包可能选择不同的路径(路径不同,延迟不同),到达接收方的顺序可能与发送顺序不一致,数据包2可能比数据包1先到。
    • 不保证带宽:网络不保证你总能获得特定的传输速率,你的速度取决于当前网络的拥塞状况。
  4. 尽力而为

    这是它的唯一承诺,只要网络没有完全瘫痪,数据包就会被处理和转发,网络会“尽其所能”,但“不保证结果”。


为什么互联网要采用 Best Effort 模型?

这背后是互联网设计的核心哲学——简单、鲁棒、可扩展

互联网best effort的可靠性如何保障?-图3
(图片来源网络,侵删)
  1. 简单性

    • 将复杂性推到了网络的边缘(即用户的主机和应用程序),而不是核心网络。
    • 网络核心的路由器只需要做一件事:根据IP地址快速转发数据包,这使得路由器可以做得非常快、便宜且可靠。
  2. 鲁棒性

    因为网络核心是无状态的,所以单个路由器的故障不会影响整个网络,数据包会自动绕过故障的路由器,寻找新的路径,这种“去中心化”的设计让互联网非常抗打击。

  3. 可扩展性

    不需要为每对通信的双方维护连接状态,使得网络可以轻松地扩展到数十亿设备和用户,如果采用面向连接的模型(如ATM网络),为全球数十亿设备维护连接状态是不可想象的。

  4. 公平性

    在理想情况下,Best Effort 模型对所有用户和流量都是“一视同仁”的,它不区分谁是“付费用户”,谁是“普通用户”,所有数据包在网络拥塞时都有被丢弃的平等机会。


Best Effort 的优缺点

优点:

  • 成本低廉:网络设备简单,无需复杂的资源预留和管理机制。
  • 部署简单:协议栈简单,易于实现和部署。
  • 高度灵活:可以承载任何类型的流量,无论是网页浏览、邮件还是文件传输。
  • 鲁棒性强:对网络故障有很好的自愈能力。

缺点:

  • 不适合实时应用:对于视频会议、在线游戏、VoIP(网络电话)等应用,延迟、丢包和抖动是致命的,Best Effort 无法满足它们的需求。
  • 用户体验不稳定:在网络高峰期,网速会变得非常慢,视频会卡顿,网页加载缓慢。

如何克服 Best Effort 的缺点?—— 服务质量 的引入

正是因为 Best Effort 无法满足所有应用的需求,才发展出了服务质量 技术。

QoS 的目标是在 Best Effort 的基础上,为某些特定的流量提供“更好的服务”,它不是要推翻 Best Effort,而是在其之上增加一层“优先级”机制。

常见的 QoS 技术包括:

  1. 流量分类与标记

    在网络边缘(如公司路由器),识别出重要的流量(如视频会议数据包),并给它打上一个“标记”(如DiffServ代码点中的EF,表示Expedited Forwarding,加速转发)。

  2. 队列管理

    在网络拥堵时,路由器不再是“先到先服务,满了就扔”,它会优先处理被标记为高优先级的数据包,确保它们能先被发送出去。

  3. 拥塞避免

    当队列快要满了,主动丢弃一些低优先级的数据包,以避免整个网络发生“雪崩式”的拥塞。

  4. 流量整形与监管

    控制进入网络的流量速率,防止某个用户或应用占用过多带宽,影响其他用户。

一个形象的比喻:

  • Best Effort:高速公路上的所有车辆都在普通车道,谁先到谁先过,堵车大家一起堵。
  • QoS:在高速公路上设置了公交车道/应急车道,公交车(重要数据包)可以在拥堵时走专用道,保证通行;而普通社会车辆(普通数据包)仍然在普通车道上尽力而为。

特性 描述
核心思想 网络只承诺“尽力”传递数据,不保证任何服务质量指标。
网络类型 数据报网络,如互联网。
对比模型 电路交换,如传统电话网(建立独占连接,保证质量)。
设计哲学 核心简单,边缘智能,将复杂性留给应用程序(如TCP协议通过重传机制来保证可靠性)。
优点 简单、鲁棒、可扩展、成本低。
缺点 不适合实时、对延迟敏感的应用。
演进 通过 QoS 技术在 Best Effort 基础上提供差异化服务,以满足多样化需求。

Best Effort 是互联网的基石,它以其无与伦比的简单性、鲁棒性和可扩展性,成就了互联网今天的辉煌,而在此基础上发展出的 QoS 技术,则让互联网能够更好地服务于对质量有更高要求的现代应用。

分享:
扫描分享到社交APP
上一篇
下一篇