Segment Routing + MPLS,即SR-MPLS正在改变我们对传输网络设计,特别是光层设计的看法,它能将光网络的关键功能转移到路由网络中,让光网络和路由网络在一个平台上共存。
同时,SR-MPLS更是一种强大的,可编程的MPLS版本,可以为光网络的 ROADM功能移入路由网络提供一种实用的方法。
MPLS,顾名思义,它不受协议限制(多协议),使用标签(标签交换)在网络中传输数据包。MPLS通过在数据包头部应用标签,对接收到的数据包进行封装;MPLS域中的每个路由器都会查看MPLS标签,以了解如何处理每个数据包。MPLS域中的路由器不查看或关心数据包中的内容,它只关心标签。当数据包离开MPLS域时,标签就会被移除,然后由标准IP路由器接管。
传统的MPLS非常适合在网络中进行高效的流量传输,并提供大量服务。但在需要对流量路径和提供保护的路径进行精细控制时,MPLS就显得力不从心了。利用RSVP协议(RSVP-TE)控制数据包的路径(即 "流量工程")在传统MPLS中是可行的,但其设计、配置和维护都非常复杂,因此很少有运营商选择使用它。这就是为什么光网络仍然是路径选择、路径分集和路径保护的事实层。
SR-MPLS的运行方式与传统MPLS不同,因为它是由路径计算引擎(PCE)驱动的。PCE可控制路径选择和流量工程,使每个数据包通过网络的路径完全可编程。SR-MPLS基于 "源路由 "概念。它在第一个路由器(称为 "头端 "或 "源路由器")上计算和编程数据包到目的地的路径。路径计算可由头端路由器或外部PCE设备完成,后者可提供高级流量工程选项。
借助SR-MPLS,每个路由器都能了解整个网络拓扑结构,标签(称为段标识符(SID))是静态的、可编程的,并在整个SR-MPLS域中持续存在。SR-TE进程负责从底层路由协议(OSPF 或 ISIS)中收集拓扑和SID信息,并将其存储在SR-TE数据库(SR-TE DB)中。
SR-MPLS中没有隧道的概念,而是创建 "策略",利用SID列表(编程指令)指示数据包的去向。头端路由器或PCE使用SR-TE DB和策略信息来计算路径并填充数据包转发表。
当一个未标记的IP数据包进入SR-MPLS网络时,接收数据包的路由器("源路由器")会知道数据包到达目的地的所有可能路径。SR-MPLS源路由器会利用这些信息编制一份指令列表(称为SID列表),引导数据包到达目的地。源路由器将SID列表附加到数据包上,然后将数据包转发出去。当数据包穿越网络时,每个路由器都会参考数据包的SID列表,以确定如何处理该数据包。
下面两张图片是相同的拓扑结构。左边的工作站正在向右边的服务器发送数据包,地址为10.10.10.10。
传统MPLS与SR-MPLS
第一张图显示了从R1到10.10.10.10所使用的传统MPLS标签分配示例;考虑到标签是随机生成的,这只是一个假设。
第二张图显示的是从连接到R1到达10.10.10.10所使用的SR-MPLS标签(SID)分配。为了形成对比,我们展示了传统的MPLS网络标签,但我们并不会深入探讨其中的细节,而是将重点放在SR-MPLS的功能上。
乍一看,你会发现什么?没错,在SR-MPLS示例中,每跳只使用一个SID(标签),而传统MPLS则有四个不同的标签,每跳使用一个不同的标签。SR-MPLS的SID并不是随机生成的,而是由用户指定的。请注意与每个路由器相关的1600x编号。每台路由器都配置了唯一的SID;每台路由器都知道彼此的SID以及如何到达对方。
在上面这个例子中,连接到R1的工作站需要访问连接到R4的10.10.10.10服务器。R1知道10.10.10.x网络连接到R4;因此,R1知道它需要将数据包发送到R4。R1还知道R4的 SID是16004,因此它将标签16004应用于数据包并将其转发。
由于我们有多条路径,但还没有流量工程,而且两条路径的成本相等(R1和R3之间有3跳),因此流量在两条路径上使用等成本多路径(ECMP)进行负载平衡。当R2和R5 收到一个带有16004标签的数据包时,它们知道该数据包的目的地是R4,R4的SID是16004,因此它们会以16004作为SID转发该数据包。
R3和R6也是如此,与传统的MPLS一样,倒数第二个路由器在将数据包发送到R4之前会删除(弹出)标签。R4收到无标签数据包后,将其视为标准IP数据包,并转发给10.10.10.10的服务器。
基于相同的拓扑结构,假设我们希望下图中的绿色路径(R1→R2→R3→R4)为主要流量路径,紫色路径(R1→R5→R6→R4)为保护路径。通过启用SR-MPLS-TE,并使用 "显式路径 "功能,我们就可以指定流量的确切路径。在我们的示例中,我们将在R1上创建一个策略,指示前往10.10.10.x的流量使用由16002、16003和 6004组成的SID列表。数据包在离开R1时将被指示转到R2 (16002),然后转到R3 (16003),最后转到R4 (16004)。
TI-LFA主路径和保护路径
提供 <50ms 保护切换的机制称为TI-LFA或拓扑独立快速重路由。通过TI-LFA,可以轻松实现 <50 毫秒的故障切换时间,因为TI-LFA已经提前计算出了 "新路径 "或保护路径。如果主路径发生故障,数据包立刻就知道该去哪里。
在这个例子中,由于我们明确指示流量走绿色路径(R1→R2→R3→R4),TI-LFA会计算出最佳替代路径,即 "融合后路径"。在本例中,唯一的选择是紫色路径(R1→R5→R6→R4)。该路径存储在转发信息库(FIB)中。如果主路径发生故障R1将根据保存在R1的FIB中的指令立即开始通过保护路径转发数据包。
虽然这只是SR-MPLS 流量工程的一个基本例子,但也是光层通常处理的路径选择和路径保护的绝佳范例。SR-MPLS-TE有无限的流量工程选项。例如,可以指定两个流量绝不使用同一链路(不同路由);可以用颜色标识符给路径 "上色",以引导流量。此外,PCE还可以从每个跨距收集带宽和延迟数据,然后根据这些指标做出路径决策。
希望以上内容能让大家对SR-MPLS以及SR-MPLS如何使路由层简化光层有一个基本的了解。那么,这是否预示着基于ROADM的光网络将走向终结呢?
情况可能不是这样的,尽管基于路由器的 DWDM 架构在传输网络设计中占有重要地位,并能为许多网络提供商带来简化和成本节约。此外,基于路由器的DWDM和ROADM架构在许多情况下可以而且应该共存,因为它们都能以各自的方式提高了效率和节约了成本。