SDN关键技术-Segment Routing协议简介

当前,SDN作为一种新的网络架构,已经成为行业高度关注的热点。其倡导的开放式网络,代表了从网络应用适应网络能力向网络能力主动适配网络应用需求这个网络建设理念的改变。转发与控制分离、集中的控制层面、开放的网络编程接口是SDN网络架构的主要特征。

OpenFlow作为最主要的SDN协议,希望以一种全新转发协议颠覆现有以IP、MPLS网络架构。但是,这种激进的演进方式没有得到设备厂家及电信运营商的支持,通过对现有网络协议进行扩展和优化,推动现有网络平滑演进,实现网络开放的目标才是更加可行的选择。

Segment Routing就是这样的背景下,由IETF推动的支持SDN架构的新型路由转发协议。目前,Segment Routing还处于草案阶段,但是已经形成了完整的体系架构,并得到了大部分设备厂家的支持。

1

Segment Rouging 介绍

Segment Routing 是一种源路由机制,用于优化IP,MPLS的网络能力。可以使网络获得更佳的可扩展性,并以更加简单的方式提供TE、FRR、MPLS VPN等功能。在未来的SDN网络架构中,Segment Routing将为网络提供和上层应用快速交互的能力。

2

Segment Rouging 工作原理

和MPLS的网络类似,SegmentRouting也是以标签交换为基础的。但是和MPLS网络需要依靠LDP,RSVP等外部协议实现标签的分发、TE等功能不同,Segment Routing只是对现有的IGP协议进行简单的扩展,就可以实现TE、FRR、MPLS VPN等功能。

在Segment Routing的网络中,通过Segment表示网络前缀。在当前的Segment Routing草案中,定义了两种Segment:Nodal Segment和AdjacencySegment。

Nodal Segment是全局标签,每一个节点都会分配全局唯一的Nodal Segment,通常使用Loopback接口的地址。

Adjacency Segment是本地标签,在本地有效,用于表示特定的SR节点。(不需要全局唯一)

图1 拓扑图

在图1所示的拓扑中,我们假定所有的路由器都启用了IS-IS或者OSPF协议,链路都有相同的metric。每一个SR节点的都有自己的Nodal Segment,并通过IGP协议通告其他节点。一个SR节点,通过IS-IS或者OSPF协议,可以自动建立起表示到其它SR节点最短转发路径的一组segments(类似MPLS标签栈)。Adjacency Segment则和通往某一邻接设备的下一跳节点相关联:

(1)每一个节点都会将loopback地址作为自己全局标签(Nodal Segment),其他SR数据层面的节点都会接收这一信息。在图1中,节点B的Nodal Segment是70,节点S和R就使用70来计算到达B的路径。

(2)在图1中,F为B-F之间的链路分配了Adjacency Segment10000(本地有效),并通过IGP通告出去。

我们可以这样理解Nodal Segment和Adjacency Segment。管理者给网络分配了一个Segment地址块,我们从这个地址块中为每一个SR节点分配Nodal Segment,以保证其全局唯一性。而Adjacency Segment是在这个地址块之外的,由每个节点自行分配的。

通过上述的示例,我们可以看到:通过将Nodal Segment和路由前缀相关联,我们可以通过最短路径到达任意节点,而转发路径是一条还是等价多路径负载分担,则取决于网络的IGP拓扑。

3

Segment Rouging 示例

我们通过两个具体的示例来看SegmentRouging的工作原理:

示例1(图2):节点R通告自己的Nodal Segment 70 给多有的节点。如果S要到达R, 使用 Segment 70进行选路(源路由),Segment 70代表的转发路径集成了IGP协议的ECMP属性。在图2所示的报文转发过程总,S为报文标记了Segments 列表{70},在节B和D,因为R是他们的直连节点,Segment 70将从列表中弹出,然后按照IGP转发路径把报文发给R。

图2 示例1

示例2(图3):通过使用AdjacencySegment(Fig. 3),可以引导流量经过特定的节点和端口。在图3所示的网络拓扑中,如果S希望通过B和D之间的链路到达R,那么我们在转发路径的源节点使用{ 71, 10000, 70 }的Segments列表。首先S通过IGP路由把报文发给71所代表的B节点。当报文到达A节点时,因为B是A节点的下一跳,所以A节点会将71弹出,然后将报文发给B。B节点会根据adj. segment将报文发给D,然后D使用IGP路径把报文转发到R。

图3 示例2

Segment Routing定义的Segment为32bit,在MPLS的环境中,使用最右侧的20Bit最为标签值,MPLS标签栈代表了Segments列表。Segment Routing可以转发IPv4/IPv6报文,并可以和LDP、RSVP等协议共同控制网络。

4

Segment Rouging应用场景

(1)提供快速重路由保护:SR可以在独立提供FRR保护,而不需要依靠RSVP协议(传统的MPLS TE需要部署RSVP协议)。

(2)实施流量工程(Traffic Engineering),可以依据带宽、时延等网络参数,主流的定义基于CoS的服务策略。

(3)应用于SDN网络架构:一个可编程的开放网络,应该是易操作的、可扩展的。和LDP、RSVP等协议相比,Segment Routing在易操作和扩展性方面有明显的优势。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2016-05-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

容器 Flannel vxlan 基本原理和验证

作者简介:yangjunsss,曾就职于IBM、青云QingCloud,现就职于华为,研究方向:容器微服务、IaaS、P2P分布式。邮箱 cj.yangjun@...

33420
来自专栏吴裕超

要不要用gzip优化前端项目

这两天在做项目优化,注意到webpack有一个compression-webpack-plugin插件,可以打包成gzip格式部署到服务器,了解到了GZIP,其...

1.1K80
来自专栏蓝天

LVS初步

很多人知道LVS,但可能知之不多,希望阅读本文后,能够对LVS有一个基本的感性认识。

8830
来自专栏猫哥学前班

网络慢?看看路由器设置对不对

防蹭网 开启 UPnP QoS 与网络限速 设置正确的 MTU 值 使用路由器交换机模式 使用无线中继扩展 Wi-Fi 信号 1、防蹭网 这是最最首要的一条...

985160
来自专栏腾讯架构师的专栏

从 10 Gb 到 40 Gb,从百万级到千万级转发,打造高性能 TGW

TGW 是一套实现多网接入的负载均衡系统,为腾讯业务提供着外网接入服务。随着 TGW 影响力的提升,越来越多的业务接入 TGW,对于 TGW 的整体负载能力要求...

2.4K20
来自专栏余子军的专栏

Linux 2.6.16 TCP 连接速度异常的问题分析

发现访问公司某些业务时,速度非常不稳定,并且整体慢于竞争对手。分析认为 SESU10 母盘上内核 TCP 拥塞控制算法和 Windows 的 Ack 频率控制的...

2.1K00

构建高可扩展的纯IPv6云主机

本文介绍了如何在商用服务器之间使用纯IPv6通信构建新的高度可扩展的云托管解决方案,我们面临的IPv6协议有哪些问题,以及我们如何解决这些问题以处理超过1000...

69380
来自专栏风中追风

分布式基础__聊聊TCP传输的滑动窗口协议的演进

写这篇文章前,我有些肺腑之言想感谢一下我的微信好友“风大”。 是他给了我信心,原来没有很难的技术,只要你肯努力总能赶上其他人。 后来关注他的博客后,发现他尽然觉...

397150
来自专栏腾讯云数据库(TencentDB)

腾讯云新一代自研数据库CynosDB技术详解——架构设计

CynosDB是腾讯云新一代分布式数据库,100%兼容MySQL和PostgreSQL,支持存储弹性扩展,一主多从共享数据,性能更是超越社区原生MySQL和Po...

11.8K60
来自专栏北京马哥教育

LVS集群详解

一、什么是集群 LVS(Linux Virtual Server)Linux虚拟服务器,将多台虚拟主机组织起来满足同一个需求。由国人章文嵩开发,通过LVS提...

532100

扫码关注云+社区

领取腾讯云代金券