如何理解段路由(SPRING)?—Vecloud微云

段路由(SPRING)是一种转发范例,它基于特定的通信流提供源路由,这意味着通信流的源可以定义通信将采用的路径。
它的工作方式是,源(应用程序流)从可能与正常最短路径不同的可用路径中选择特定的所需路径(基于流需求),并将其编码为数据包头中的受控列表。指令称为“ 段
”。
由于IPv4标头没有扩展标头支持分段路由功能(仅在需要时才允许将特定的IP选项添加到IPv4标头),因此无法直接支持它。
IPv6标头使用对扩展标头的本机支持构建,从而减轻了开发人员的需求。
SPRING引入了两个模型,可以使用 MPLS 或 IPv6 作为转发平面来转发具有所需段(SR-MPLS 或
SR-IPv6)的数据包。它是一个引人注目的架构,包含软件定义网络(SDN),并且是应用工程路由(AER)的基础。
根据图A,SDN控制器是可能的应用程序流程和启用SPRING的实际生产网络之间的链接,它区分了应用程序需求和可用资源。
在这里插入图片描述
图A
首先,应用程序相互传达其要求(SLA,延迟,带宽等)。这些要求由SDN控制器收集,而SDN控制器又从网络资源中收集足以满足这些要求的网络资源数据,例如拓扑,链接状态和链接利用率。最后,通过一系列指令段,将应用程序流映射到每个流的特定路径。
SPRING完全依赖于添加到IGP(OSPF / IS-IS)和 BGP 的少量扩展TLV,以支持其功能。
SPRING中的节点可以是任何节点,可以是路由器,交换机,服务器,甚至可以是基于虚拟机的转发器。在使用MPLS作为转发平面的情况下
,一组有序的 “段” 被转码到一个标签堆栈中,堆栈中的每个标签都简单地表达为一个指令段。在使用IPv6 作为转发平面的情况下
,这些有序段被转码为一系列跃点列表,插入到IPv6 标头的扩展名(SRH)中 ,每个跃点代表一个指令段。
归根结底,细分代表的是SR的子路径。节点可以合并以形成到网络目的地的完整路由。
指令段由两种方法提供:局部段和全局段。而它们中的任何一个都可以独立使用或彼此一致使用,以生成基于特定流的路径。
SR-MPLS
SR-MPLS是MPLS转发平面的分段路由模型。MPLS转发范例未做任何更改。MPLS操作(推送 / 交换 / 弹出)仍在进行,以将业务流隧道传输到所需的目的地。
当数据包从一开始就被发起时,发起者节点会推送多个分段标签(基于特定的业务流需求),这些分段标签表示要组合多少条指令/子路径并形成一条完整的所需路径。标记的流量将通过在中间MPLS节点之间交换最上面的段标签来转发,要处理的段是标记堆栈中最上面的段。
一旦某个段已由SR完全处理过。节点,其关联的标签被弹出,然后将流量转发到其余的SR。通过交换下一个SR将要处理的下一个段标签,将序列中的节点进行交换。系列中的节点,依此类推。
在这里插入图片描述
图B
在这里插入图片描述
图C
根据图C,指令完成后(到达标签的目的地),第一个节点(全局)标签{ 65 }在节点{ D } 弹出。
一旦完成其在该节点内的相关指令(通过将数据包转发至第一个接口),节点{ D } 就将其弹出邻接(本地)标签{ 9001 } 。
最后,路由器{ P }将弹出其余标签{ 66 }作为默认PHP行为,并将IP数据包转发到节点{ Z }。
Vecloud是一家面向企业提供云交换网络服务为核心业务的技术创新企业,公司有24*7专业运维团队支撑,可以快速定位客户使用中遇到的问题,最快解决问题。

猜你喜欢

转载自blog.csdn.net/vecloud/article/details/108733283