【IT168评论】边界网关协议(BGP)被认为是互联网的粘合剂。然而,如果我们从长远的角度来看,还有一个问题仍未得到解答。BGP是否有能力选择非常好的路径而不是最短路径?
有些供应商为基于BGP的网络提供基于性能的解决方案。他们采用了各种实践,比如发送ping命令来监控网络,然后修改BGP属性,比如AS前置来让BGP执行基于性能的路由(PBR)。然而,这在许多方面都不尽如人意。
BGP的问题在于它不具备容量或性能,因此它的决策可能会降低应用程序的性能。例如,BGP所依赖的路径选择属性是AS-Path length和multi-exit discriminator (med),它们并不总是与网络性能相关。
此外,BGP仅根据策略或可用路由集来更改路径。传统上,它只允许使用一条路径到达目的地。因此,传统路由存在不足,因为它并不总是寻找非常好的路径,而非常好的路径可能不是最短路径。
停电和限电
事实上,我们生活在一个“灯火管制”的世界。然而,BGP最初的设计目的只是检测停电,即一个链接无法将流量重新路由到另一个链接的事件。在一个持续时间可以持续10毫秒到10秒的世界中,您应该能够在亚秒内检测到故障并重新路由到更好的路径。
这激发了我的好奇心,我想挖掘出SD-WAN引入的一些真正重要的原因。我们都知道它能节省成本,还能做很多其他事情,但路由效率低下是否是主要原因之一?我决定与Sorell坐下来讨论基于策略路由(PBR)的需求。
SD-WAN正在蓬勃发展
传统路由中的低效因素是SD-WAN真正腾飞的主要原因之一。SD-WAN供应商在其路由中添加专有机制,以选择非常好的路径,而不是最短路径。
最初,我们没有实时通信,比如语音和视频,这是延迟和抖动敏感的。此外,我们还假设所有的连接都是平等的。但在当今世界,我们看到更多的混合搭配,例如100g和较慢的长期演进(LTE)连接。最短路径是非常好的路径的假设不再成立。
引入新协议
为了克服传统路由的缺点,我们开始使用新的协议,比如IPv6段路由和命名数据网络,以及改进路由的特定SD-WAN供应商机制。
为实现非常好的路由,必须进行有效的数据包控制。SD-WAN覆盖层通过使用封装来提供这一点,封装可以是GRE、UDP、以太网、MPLS、VxLAN和IPsec的组合。IPv6段路由实现了在每个数据包中插入一组段(IPv6地址列表),命名的数据网络可以通过路由协议分布。
另一个关键需求是逐跳有效负载加密。您应该能够为没有传输层加密的会话加密有效负载。重新加密数据可能代价高昂;它将数据包分割开来,使网络更加复杂。因此,避免双重加密也是必须的。
SD-WAN覆盖为IPsec提供了一种全有或全无的方法。IPv6段路由需要IPsec提供的应用层安全性,命名数据网络可以提供这种安全性,因为它是基于对象的。
各种SD-WAN解决方案
以上是一些可用的新协议和SD-WAN供应商提供的一些技术。不同的供应商将有不同的机制来实现PBR。不同供应商使用不同名称的术语PBR,例如“应用程序感知路由”。
SD-WAN供应商使用许多因素来影响路由决策。它们不只是像传统路由默认情况下所做的那样,根据跳转或链接的数量做出路由决策。它们监视链接的执行情况,而不只是评估链接是启动还是关闭。
他们使用各种机制来执行PBR。例如,有些人向每个包添加时间戳。然而,其他人在传输控制协议(TCP)序列号的基础上向数据包添加序列号。
另一种选择是使用域名系统(DNS)和传输层安全(TLS)证书自动识别应用程序,然后根据应用程序的身份进行识别;他们有它的默认类。然而,其他人通过添加专有标签来使用时间戳。这与向包中添加序列号是一样的,但是序列号在第3层而不是第4层。
我可以绑定所有的应用程序和序列号,然后使用网络时间协议(NTP)来识别延迟、抖动和丢弃的数据包。在两端运行NTP可以识别端到端和逐跳性能。
一些供应商使用互联网控制消息协议(ICMP)或双向转发检测(BFD)。因此,不是为每个可能引入开销的数据包添加标签,而是每四分之一秒或半秒进行一次采样。
实际上,尚未确定哪种技术是最好的,但是一致的是,这些机制正在检查元素,比如延迟、丢失的包和链接上的抖动。本质上,不同的供应商使用不同的技术来选择非常好的路径,但是最终的结果仍然是相同的。
TCP的问题
由于传输控制协议(TCP)和自适应的编码,今天出现的一个关键问题称为waves。假设在一个链接上有30个文件传输,现在要执行文件传输,TCP窗口的大小将增长到最大限度。路由器将开始删除数据包,然后降低TCP窗口大小。结果,带宽减小,当不丢弃包时,窗口大小增加。这达到了阈值,最终,包开始再次被丢弃。
这可以是一个持续的过程,一次又一次地发生。由于所有这些波动都阻碍了效率,我们需要像广域网(WAN)优化这样的产品来管理多个TCP流。为什么?因为只有TCP知道它所控制的流,即单个流。它不知道其他流在路径上移动。首先,TCP窗口大小只知道一个文件传输。
自适应编解码器的问题
如果链接干净,自适应编解码器将使用6兆字节以上的视频,但是一旦它开始丢弃数据包,自适应编解码器将发送更多数据包用于在编解码器中转发错误控制。因此,在它后退以改变帧速率和分辨率之前,这会使问题变得更糟。
自适应编码与固定编解码器相反,它总是发送固定的数据包大小。自适应编码是WebRTC中使用的标准码,可以根据网络条件改变抖动、缓冲区大小和数据包频率。
自适应编码器可以更好地利用具有比例如MPLS等更稳定链路更高的损耗和抖动速率的因特网连接。这就是为什么实时语音和视频不使用TCP的原因,因为如果数据包丢失,发送新数据包就没有意义了。从逻辑上讲,拥有TCP的附加标题并不能为您带来任何好处。
另一方面,QUIC可以使用单个流并跨多个网络流运行它。这有助于视频应用程序进行重新缓存,并提高吞吐量。此外,它还有助于提高带宽密集型应用程序的响应速度。
新技术的引入
随着边缘计算、增强现实(AR)、虚拟现实(VR)、实时驾驶应用、关键系统上的物联网传感器等超敏感时延应用的引入,PBR成为必需品。
使用AR,您希望计算在端点的5到10毫秒之间完成。在电力不足和路径拥堵的世界里,你需要更快地选择一条更好的路径。此外,服务提供商(SP)正在推出5G网络,并宣布使用不同的路由协议作为PBR。因此,PBR的前景是光明的。
随着语音视频、边缘和虚拟现实在市场上的存在,PBR将会越来越受欢迎。甚至Facebook和谷歌也把PBR放到了它们的内部网络中。随着时间的推移,它将在所有网络中发挥作用,特别是在私有和公共的互联网交换点上。
互联网交流点
当BGP在90年代中期首次推出时,由于互联网交换点相距很远,所以最短路径的概念比今天更适用,在这里您拥有高度分布的互联网。
随着不同的服务提供商转向软件定义的网络并更新它们使用的路由协议,互联网体系结构将发生变化。然而,就可预见的未来而言,核心互联网交易所仍将使用BGP。