分段路由:一个新的SDN内部技术互联网
IP包转发技术传统上依赖于能以最短路径到达目的地的IP地址。但由于不同路径上流量的类型不尽相同,因此它往往取决于不同的应用类型。例如,实时的 UC&C应用程序通常更喜欢低延时,低抖动的路径,而大数据应用则更喜欢低丢包率的高带宽通道。根据应用的需要将流量进行分段管理是非常有用的。然而,策略路由很难去搭建,而且它是静态的(或者接近动态的,如果你有优秀的自动化工具)。
多个应用程序之间需要同一级别的服务也需要使用策略路由。问题是,这些应用程序获取带宽时,通信类带宽的分配是满了的吗?如何让网络告诉应用程序,在没有带宽的情况下还能知道所需的流量类别?这就是为什么我们需要软件定义网络(SDN)的原因,因为它让应用程序或策略管理器来进行流量转发。OpenFlow技术有能力使其应用政策变得动态化,现在,一个相对较新的技术提供了另一种方法:分段路由(SR)。
什么是分段路由?
SR(分段路由)是SDN技术的分组转发机制,是用来替代OpenFlow的。SR是由思科提出来的,并已通过IETF标准化认证。一些厂商正在部署这项技术,有一些客户也正在使用它。
经验丰富的网络专业人员团队已经开始密切关注SR。你可以在互联网上找到大量有关SR的文件,但我发现有些资料漏掉了一些重要的细节(如每个路由器/节点的分配标签)。下面是有关SR的一些较好的、详细的背景资料:
- 思科软件战略(可观看思科高级副总裁与Sumeet Arora的20分钟对话)
- SR概述(可观看思科研究员Clarence Filfils12分钟的技术简报)
- 分段路由101(可观看IPSpace.net播客)
SR使用路径标签机制(多协议标签交换,或者MPLS,或是在IPv4或IPv6中的路径包头的标签)来指定路由数据包必须通过的网络路径。数据包必须通过在标签路径中的每个节点,但也有可能会通过其他中间节点,这使得它的功能非常类似于IPv4的松散源路由机制。松散源路由机制减少了路由数据包到其希望高达的的目的地所需的标签数量,网络沿着标签列表中节点之间的最短路径转发数据包。
和MPLS不一样,每个路由器是一个节点,SR在每一个节点上分配固定的、32位的标签(用于开发和分配,而不诉诸到正在进行维护标签机制工作的电子表格中)。标签是固定的,不是动态的,类似于在 MPLS的3层VPN,能使故障排除更加容易。标签和拓扑信息通过三种路由协议(中间系统到中间系统;开放最短路径优先;边界网关协议)中的一种,延伸传播至整个网络中。SR不需要标签分发协议,从而消除了路由协议和标签分发协议之间需要同步的障碍。
像PCE(路径计算元件)这样的外部系统,应用了SR后,可以定义路径。一个PCE能够创建不共享拓扑或从批量数据流中分离出来的实时UC&C流量路径。PCE与路由协议交互以获得拓扑和其它信息,用于确定添加到数据包的标签组。其结果是,在一个SR系统上既包含了运行在控制平面上用于收集拓扑信息的路由器,也包含了在PCE上运行的使用该拓扑信息来计算不同应用路径的路由协议。
当PCE确定某个flow应该经过所有路径而非最短路径时,它会发送一个标签堆栈条目到该flow的入口路由器,其他路由器无需接收来自PCE的任何信息,就编程转发协议来说,SR已是非常高效的了。
SR和OpenFlow有何不同?
OpenFlow必须加载沿着源头到目的地的路径进入控制器开关的转发表项,SR与仅在入口路由器插入MPLS包头的松散源路由是不同的,它是在PCE 上定义编码转发路径的。SR程序和MPLS标签栈为每个flow提供该flow的入口路由器路径,而不是让flow通过同一条路径到达所有交换机入口。
另一个区别是,一个OpenFlow控制器从所有的交换机/路由器收集相邻关系信息,并使用该信息来做出转发决定。而SR PCE依靠路由协议进行拓扑信息收集和标签传播。SR机制使用在硬件上运行的路由协议,有可能使得这些协议的新版本更难以部署,难度水平取决于系统架构。
有一个替代选择,这是好事
当我看到SR能提供类似于SDN的功能时,我觉得它是替代OpenFlow的第一选择。SR需要更多的开发,以便它能达到像一些OpenFlow产品具有的双向应用的能力。另外,更积极的的一面是,把flow引向多个网络设备,SR看起来可能比OpenFlow机制更为有效。
正如任何新技术一样,它将需要几年时间去完善整个系统。网络IT人员也将需要对这项新技术有一个更好的理解,了解其如何才能实现最佳部署。