作为网工有必要了解一下什么是SRv6?
什么是SRv6SRv6Segment RoutingIPv6基于IPv6转发平面的段路由简单来讲即SRSegment RoutingIPv6是新一代IP承载协议。其采用现有的IPv6转发技术通过灵活的IPv6扩展头实现网络可编程。SRv6简化了网络协议类型具有良好的扩展性和可编程性可满足更多新业务的多样化需求提供高可靠性在云业务中有良好的应用前景。为什么需要SRv6传统网络困局全球信息化的进程使得互联网应用得到了迅速而蓬勃的发展随着网络规模的扩大以及云时代的到来网络业务种类越来越多不同业务对网络的要求不尽相同传统IP/MPLS网络遇到不少挑战IP承载网的孤岛问题。MPLS统一了承载网但是IP骨干网、城域网、移动承载网之间是独立的MPLS域是相互分离的需要使用跨域VPN等复杂的技术来互联导致端到端业务的部署非常复杂。而且在L2VPN、L3VPN多种业务并存的情况下设备中可能同时存在LDP、RSVP、IGP、BGP等协议管理复杂不适合大规模业务部署。IPv4与MPLS的可编程空间有限。当前很多新业务需要在转发平面加入更多的转发信息但IETF已经发表声明停止为IPv4制定更新的标准另外MPLS只有20bit的标签空间且标签字段固定、长度固定缺乏可扩展性导致很难满足未来业务的网络编程需求。应用与承载网隔离。目前应用与承载网的解耦导致网络自身的优化困难难以提升网络的价值。当前运营商普遍面临被管道化的挑战无法从增值应用中获得相应的收益而应用信息的缺失也使得运营商只能采用粗放的方式进行网络调度和优化造成资源的浪费。MPLS也曾试图更靠近主机和应用但因为其本身网络边界多、管理复杂度大等多方面的原因均以失败告终。传统网络数据面和控制面紧密耦合相互绑定销售在演进上相互依赖业务上线周期长难以应对现在新兴业务快速发展的局面。SRv6的出现解决了上述一系列问题推动网络进入一个全新的时代。SRv6技术价值SRv6是基于IPv6转发平面的SR技术其结合了SR源路由优势和IPv6简洁易扩展的特质具有其独特的优势。SRv6技术特点及价值可以归纳为以下三点智慧SRv6具有强大的可编程能力。SRv6具有网络路径、业务、转发行为三层可编程空间使得其能支撑大量不同业务的不同诉求契合了业务驱动网络的大潮流。SRv6完全基于SDN架构可以跨越APP和网络之间的鸿沟将APP的应用程序信息带入到网络中可以基于全局信息进行网络调度和优化。极简SRv6不再使用LDP/RSVP-TE协议也不需要MPLS标签简化了协议管理简单。EVPN和SRv6的结合可以使得IP承载网简化归一。SRv6打破了MPLS跨域边界部署简单提升了跨域体验。纯IP化SRv6基于Native IPv6进行转发。SRv6是通过扩展报文头来实现的没有改变原有IPv6报文的封装结构SRv6报文依然是IPv6报文普通的IPv6设备也可以识别SRv6报文。SRv6设备能够和普通IPv6设备共同部署对现有网络具有更好的兼容性可以支撑业务快速上线平滑演进。另外基于Native IPv6使得其可以进入数据中心网络甚至用户终端促进云网融合。SRv6基于以上特点成为构建“智简IP”的利器。同时也为IPv6的发展带来了转机开启了IPv6新时代。什么是Segment Routing?前面提到SRv6即SRIPv6。IPv6大家都知道那什么是SR呢SR技术是SDN竞争压力下的产物其核心思想是将报文转发路径切割为不同的分段并在路径起始点往报文中插入分段信息中间节点只需要按照报文里携带的分段信息转发即可。这样的路径分段称之为“Segment”并通过SIDSegment Identifier段标识来标识。SR的设计理念在现实生活中屡见不鲜下面举一个例子来更好的理解其原理。假设你从上海出发去巴黎旅游需要在维也纳转机。那你的出行路线分为两段上海→维也纳、维也纳→巴黎。则你只需要在上海买好上海途经维也纳到巴黎的票按照计划根据机票经过两段飞到巴黎即可。上海到巴黎出行图报文在SR技术的转发过程也是类似的。由上可知SR技术关键在于两点对路径进行分段Segment以及在起始节点对路径进行排序组合Segment List确定出行路径。在SR技术中将代表不同功能的Segment进行组合可以实现对路径的编程满足不同路径服务质量的需求。SR技术支持MPLS和IPv6两种转发平面基于MPLS转发平面的SR称为SR-MPLSSegment Routing MPLS其SID为MPLS标签Label基于IPv6转发平面的SR称为SRv6其SID为IPv6地址。SRv6如何实现网络编程SR技术中通过对Segment的组合实现路径编程。那SRv6是如何实现网络编程的呢SRv6将网络比作计算机类比计算机编程将网络承载的业务翻译成发给沿途网络设备的一系列转发指令从而实现网络编程满足业务的定制化需求。SRH为基于IPv6转发平面实现SR技术在IPv6路由扩展头新增SRHSegment Routing Header扩展头该扩展头指定一个IPv6的显式路径存储IPv6的Segment List信息。Segment List即对段和网络节点进行有序排列得到的一条转发路径。报文转发时依靠Segments Left和Segment List字段共同决定IPv6目的地址IPv6 DA信息从而指导报文的转发路径和行为。三层可编程空间SRv6的可编程能力来源于三部分Segment序列。如前所述可以将多个Segment组合起来形成SRv6路径即路径可编辑。对SRv6 SID 128bit的运用。SRv6 Segment定义了SRv6网络编程中的网络指令指示要去哪怎么去。标识SRv6 Segment的ID被称为SRv6 SID。SRv6 SID是一个128bit的值为IPv6地址形式由Locator、Function和Arguments三部分组成。Locator具有定位功能。提供IPv6的路由能力报文通过该字段实现寻址转发。此外Locator对应的路由也是可聚合的。Function用来表达该设备指令要执行的转发动作不同的转发行为由不同的Function来表达。Arguments可选字段是对Function的补充是指令在执行时对应的参数这些参数可能包含流、服务或任何其他相关的信息。SRv6的每个Segment是128bit可以灵活分为多段每段功能和长度可以自定义由此具备灵活编程能力即业务可编辑。Segment序列之后的Optional TLVType-Length-Value。报文在网络中传送时需要在转发面封装一些非规则的信息可以通过SRH中TLV的灵活组合来完成即应用可编辑。SRv6通过以上三层编程空间具备了更强大的网络编程能力可以更好地满足不同的网络路径需求和SDN技术完美融合实现网络与应用的互动使能业务驱动的可编程网络。SRv6在网络中是如何工作的SRv6具有超强的网络编程能力那其在网络中具体是怎样工作的呢下面我们通过SRv6报文转发流程和SRv6的工作模式两方面来讲其在网络中的工作实现。报文转发流程采用示例说明SRv6的报文转发流程。如图所示假设有报文需要从主机1转发到主机2主机1将报文发送给节点A处理。节点A、B、D、E均支持SRv6节点C不支持SRv6只支持IPv6。我们在源节点A上进行网络编程希望报文经过B-C、C-D链路送达节点E由E节点送达主机2。报文转发流程分为以下几步源节点A将SRv6路径信息封装在SRH中指定B-CC-D链路的SID另外封装E点发布的SID A5::10此SID对应于节点E的一个IPv4 VPN共3个SID按照逆序形式压入SID序列。此时SLSegment Left2将Segment List[2]值复制到目的地址DA字段按照最长匹配原则查找IPv6路由表将其转发到节点B。报文到达节点BB节点查找本地SID表存储本节点生成的SRv6 SID信息,命中自身的SIDEnd.X SID执行SID对应的指令动作。SL值减1并将Segment List[1]值复制到DA字段同时将报文从SID绑定的链路B-C发送出去。报文到达节点CC无SRv6能力无法识别SRH按照正常IPv6报文处理流程按照最长匹配原则查找IPv6路由表将其转发到当前目的地址所代表的节点D。节点D收报文后根据目的地址A4::45查找本地SID表命中自身的SIDEnd.X SID。同节点BSL值减1将A5::10作为DA并将报文发送出去。节点E收到报文后根据A5::10查找本地SID表命中自身SIDEnd.DT4 SID执行对应的指令动作解封装报文去除IPv6报文头并将内层IPv4报文在SID绑定的VPN实例的IPv4路由表中进程查表转发最终将报文发送给主机2。SRv6工作模式SRv6工作模式分为两种SRv6 BESegment Routing IPv6 Best Effort和SRv6 TE PolicySegment Routing IPv6 Traffic Engineering Policy。两种模式都可以用来承载传统业务比如L3VPN、EVPN L3VPN、EVPN VPLS 、EVPN VPWS、公网IP等。SRv6 TE PolicySRv6 TE Policy利用Segment Routing的源路由机制通过在头节点封装一个有序的指令列表路径信息来指导报文穿越网络。SRv6 TE Policy用于实现流量工程提升网络质量满足业务的端到端需求。其和SDN结合更好的契合于业务驱动网络的大潮流也是SRv6主推的工作模式。SRv6 TE Policy工作流程SRv6 TE Policy的工作流程可分为四步转发器PE3通过BGP-LS将网络拓扑信息上报给控制器。拓扑信息包括节点链路信息、链路的开销/带宽/时延等TE属性。控制器对收集到的拓扑信息进行分析按照业务需求计算路径符合业务的SLA。控制器将路径信息下发给网络的头节点PE1头节点生成SRv6 TE Policy。其中包括头端地址、目的地址和Color扩展团体属性等关键信息。网络的头节点PE1为业务选择合适的SRv6 TE Policy指导转发。转发时各转发器按照SRv6报文中携带的信息执行自己发布的SID指令。SRv6 BESRv6 BE类似于MPLS网络中的LDP是指基于IGP最短路径算法计算得到最优SRv6路径仅使用一个业务SID来指引报文在链路中的转发是一种尽力而为的工作模式。其没有流量工程能力一般用于承载普通VPN业务用于快速开通业务。以L3VPNv4 over SRv6 BE为例讲述SRv6 BE的业务实现。如图所示网络中部署VPNPE1和PE2部署SRv6P部署IPv6。路由发布阶段PE2上配置Locator。PE2通过IGP协议将SRv6 SID对应的Locator网段路由2001:DB8:2::/64发布给PE1。PE1安装路由到自己的IPv6路由表。PE2在Locator范围内配置VPN实例的SID 2001:DB8:2::B100生成Local SID表。PE2收到CE2发布的私网IPv4路由后将私网IPv4路由转换成BGP VPNv4路由通过BGP邻居关系发布给PE1。此路由携带SRv6 VPN SID属性也就是VPN实例的SID 2001:DB8:2::B100。PE1接收到VPNv4路由后将其交叉到对应的VPN实例路由表然后转换成普通IPv4路由对CE1发布。数据转发阶段CE1向PE1发送一个普通IPv4报文。PE1从绑定了VPN实例的接口上收到私网报文以后查找对应VPN实例的路由转发表匹配目的IPv4前缀查找到关联的SRv6 VPN SID以及下一跳信息。然后直接使用SRv6 VPN SID 2001:DB8:2::B100作为目的地址封装成IPv6报文。PE1然后按照最长匹配原则匹配到路由2001:DB8:2::/64按最短路径转发到P设备。P设备按照最长匹配原则匹配到路由2001:DB8:2::/64按最短路径转发到PE2。PE2使用2001:DB8:2::B100查找Local SID表匹配到SID对应的转发动作将IPv6报文头去除然后根据SID匹配VPN实例查找VPN实例路由表进行转发。报文恢复成普通IPv4报文。SRv6 vs SR-MPLSSR技术支持MPLS和IPv6两种转发平面基于MPLS转发平面的SR为SR-MPLS基于IPv6转发平面的SR为SRv6。为什么说SRv6是新一代IP承载协议呢SRv6相比SR-MPLS有哪些优势呢学习资料赠送【资料领取】华为HCIA Datacom官方电子教材华为企业网络常用图标大全附PPT下载模拟器eNSP安装教程附下载链接试听视频 | 华为Datacom HCIA-HCIP-HCIE