起初,互联网的设计意旨是以最低成本路径提供尽可能优质的连接。当时,连接到互联网的站点相对较少,而在这些站点中,只有满足可接受使用策略的应用才能进行连接。
如今,连接到互联网的企业、家庭和设备数量已有数十亿之多。关键应用场景包括远程医疗、交通管控和金融交易。某些应用(例如电子邮件)可以容忍丢失、延迟和延迟变化,而其他应用(例如游戏)则对此类问题十分反感。
在当今的互联网中,许多应用需要的不仅仅是以最低成本路径提供尽可能优质的连接。
由于这些应用无处不在,因此网络运营商必须提供一些诸如大规模流量工程和快速重新路由等高级服务。为了使这些高级服务实现规模化,运营商必须降低网络复杂度。
而分段路由 (SR) 提供了一种创新型的流量定向方法。这种方法可用于解决一些长期存在的问题,例如流量工程和快速重新路由。为了解决这些问题,SR 可简化路由协议、网络设计和网络运维。
许多网络设备供应商实施的 SR 都具有可互操作性。然而,无论是瞻博网络还是整个行业, SR 始终在不断创新。本系列博客旨在为读者展现这一分段路由复兴之路。
要理解最新的 SR 创新成果,读者必须首先对 SR 基础知识有一定的直观理解。因此,本系列博客的目标之一就是回顾 SR 基础知识。这些 SR 基础知识包括从实施和实验中获得的见解,以及对早期规范的回顾。
本系列博客的另一个目的是,介绍有关 SR 部署和运维的最佳实践。最后,本系列博客将说明存在的差距、新的需求以及近期的SR 创新成果。
首先,我们要介绍 SR 域和 SR 路径。
SR 域
SR 域是指一组使用 SR 协议的节点。在 SR 域中,节点可以执行入口、中继或出口程序。图 1 展示了一个网络,在该网络中,源节点会向目标节点发送数据包。源节点和目标节点位于 SR 域之外,但这两个节点之间的路径会遍历 SR 域。
图 1:SR 域
当数据包到达 SR 入口节点后,它会受到该入口节点中的策略约束。策略包括匹配条件和操作。如果该数据包满足匹配条件,则该SR 入口节点便可将该数据包封装在一个 SR 隧道中。该 SR 隧道会沿着 SR 路径遍历到出口节点。
可通过对该 SR 路径进行设计来满足任意数量的约束条件(例如最小链路带宽、最大路径延迟等)。虽然 SR 路径可以遵循最低成本路径到达出口节点,但通过约束条件也可使其遵循另一条路径。
在许多情况下,源节点与 SR 入口节点分别位于独立的硬件平台之上。举例来说,源节点可以是一台笔记本电脑,而 SR 入口节点则可以是一个路由器。但是,情况并非总是如此。在某些情况下,源节点可以是一个虚拟机,而 SR 入口节点则可以是一个虚拟机管理程序。两者均可位于同一硬件平台之上。
同理,SR 出口节点与目标节点也可分别位于独立的硬件平台之上。但是,它们也可位于同一平台之上。
在非典型配置中,源节点位于 SR 域中。在这种情况下,源节点也是 SR 入口节点,因为它执行 SR 入口程序。同理,目标节点也可位于 SR 域中。在这种情况下,目标节点也是 SR 出口节点,因为它执行 SR 出口程序。
SR 路径
SR 路径是一个有序分段列表,用于将 SR 入口节点连接到 SR 出口节点。虽然 SR 路径可以遵循从入口到出口的最低成本路径,但它也可以遵循另一条路径。
许多 SR 路径可以共享同一分段。图 2 举例说明了路径 A 将入口 A 连接到出口 Z,而路径 B 将入口 B 连接到同一出口节点。两条路径均遍历分段 3。
图 2:共享一个分段的 SR 路径
当 SR 入口节点将数据包封装在 SR 隧道中后,它会将相关分段列表编码到该隧道标头中。然后,它会向下游转发该数据包。中继节点会处理该隧道标头,从而将该数据包从当前分段转发到下一分段。
由于 SR 入口节点将路径信息编码在隧道标头中,因此中继节点不需要保留有关所支持的每个路径的信息。中继节点只需处理隧道标头,就可将数据包从当前分段转发到下一分段。
SR 的主要优势便在于此。由于中继节点不需要保留路径信息,因此也就避免了与保留该信息相关的开销。路由协议得到简化,扩展特性得到改善,而网络运维也变得不再困难。
虽然对数据包中的路径信息进行编码并从中继节点中删除此信息会带来一些新的挑战,
但从工程角度来说,其积极影响仍是主要的。后续博客将对这些工程方面的利弊得失进行讨论。
下期预告
在本系列博客的下一期文章中,我们将对分段和分段类型进行更全面的定义。