• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

10-Segment Routing配置指导

目录

11-SRv6 OAM配置

本章节下载 11-SRv6 OAM配置  (345.49 KB)

11-SRv6 OAM配置


1 SRv6 OAM

1.1  SRv6 OAM简介

SRv6 OAM(Operations, Administration, and Maintenance,操作、管理和维护)用于检测SRv6路径的连通性、定位SRv6路径的故障点和检测PE到CE之间链路连通性。

1.1.1  SRv6 OAM检测方式

SRv6 OAM支持如下检测方式:

·     SRv6 SID Ping/Tracert方式:用于检查网络连接及主机是否可达。

·     SRv6 TE Policy Ping/Tracert方式:在检查网络连接是否可达的同时,还可以分析网络什么地方发生了故障。

其中,SRv6 SID Ping和SRv6 TE Policy Ping为我司私有协议。

1.1.2  SRv6 OAM协议扩展

1. OAM O-bit

图1-1 SRH的Flags字段格式

 

图1-1所示,O-bit位于SRH的Flags字段,用于指示SRv6节点执行OAM处理。若报文中的O-bit置位,则SRv6节点需要基于SRH处理报文。在SRv6 OAM中,如果需要报文传输路径上的SRv6节点都对源节点发送的OAM检测报文进行应答,则需要源节点在发送的报文中将O-bit置位。

2. End.OP SID

End.OP SID是一个OAM类型的SRv6 SID,用于SRv6 SID和SRv6 TE Policy的Ping/Tracert场景:

·     在进行非逐段检测SRv6 SID Ping和非Overlay方式的SRv6 SID Tracert时,End.OP SID不是最后一跳,如果设备收到的报文的目的地址为End.OP SID,则对下一个SRv6 SID进行检查。如果是尾节点的本地SRv6 SID,则回复应答报文;否则丢弃该报文。

·     在进行逐段检测SRv6 SID Ping、Overlay方式的SRv6 SID Tracert或者SRv6 TE Policy的Ping/Tracert时,End.OP SID通常作为最后一跳,即如果指定End.OP SID,则SID列表中该End.OP SID之后应保证不再携带其他尾节点上的本地SID,否则该End.OP SID之后的其他SID可能无法应答。

图1-2所示,以非逐段的SRv6 SID Ping为例,源节点Device A Ping目的节点Device C。Device A在构造ICMPv6请求报文时在SRH头中插入节点Device C的End.OP SID。Device C收到ICMPv6请求报文后,发现报文目的地址是自己的End.OP SID,检查SRv6 SID c是不是自己的本地SRv6 SID。如果是,则向Device A发送ICMPv6应答报文;否则丢弃ICMPv6请求报文。

图1-2 End.OP SID应用示意图

 

1.1.3  SRv6 SID Ping

SRv6 SID Ping支持逐段检测和非逐段检测两种检测方式。

1. 逐段检测

逐段检测是指在SRv6转发路径中,检测源节点和所有SRv6节点之间的连通性。SRv6转发路径中所有SRv6节点均会向源节点回复ICMPv6响应报文。

进行逐段检测时,如果指定End.OP SID,应该保证定End.OP SID是最后一跳SID,如果后面还有其他SID,则后续SID不能为尾节点上的本地节点,否则无法应答。

图1-3 SRv6 SID Ping逐段检测方式示意图

 

图1-3所示,逐段检测工作过程为:

(1)     Device A向Decive D发起Ping,依次指定Device B的SRv6 SID和Device D的SRv6 SID。Device A构造ICMPv6请求报文,封装SRH扩展头并进行发送。

(2)     中间节点收到ICMPv6请求报文后:

¡     如果中间节点为SRv6节点(如Device B),且报文的IPv6目的地址为本地的SRv6 SID,同时报文SRH的Flags字段中O标记位置位,则向Device A发送ICMPv6应答报文,并且基于SRH转发ICMPv6请求报文。

¡     如果中间节点不是SRv6节点(如Device C),则不向Device A发送ICMPv6应答报文,直接根据目的IPv6地址查找IPv6路由表转发ICMPv6请求报文。

(3)     Device D收到ICMPv6请求报文后,报文SRH的Flags字段中O标记位置位且SL=0,需要查找Local SID表,确认报文目的IPv6地址是否为本地的SRv6 SID:

¡     如果报文目的IPv6地址是Device D的SRv6 SID,则校验通过,向Device A发送ICMPv6应答报文。

¡     如果报文目的IPv6地址不是Device D的SRv6 SID,则校验不通过,丢弃ICMPv6请求报文。

(4)     如果Device A在超时时间内收到目的节点的ICMPv6应答报文,则目的节点可达;否则,目的点不可达。

2. 非逐段检测

非逐段检测是指仅检测源节点和目的节点之间的连通性。仅目的节点向源节点回复ICMPv6响应报文。

进行非逐段检测时,不论是否指定End.OP SID,均可以进行SRv6 SID Ping操作,下文以未指定End.OP SID为例进行介绍。

图1-4 SRv6 SID Ping非逐段检测方式示意图

 

图1-4所示,非逐段检测工作过程为:

(1)     Device A向Decive D发起Ping,依次指定Device B的SRv6 SID和Device D的SRv6 SID。Device A构造ICMPv6请求报文,封装SRH扩展头并进行发送。

(2)     中间节点收到ICMPv6请求报文后:

¡     如果中间节点为SRv6节点(如Device B),且报文的IPv6目的地址为本地的SRv6 SID,则基于SRH转发ICMPv6请求报文。

¡     如果中间节点不是SRv6节点(如Device C),则根据目的IPv6地址查找IPv6路由表转发ICMPv6请求报文。

(3)     Device D收到ICMPv6请求报文后,报文SRH中SL=0,需要查找Local SID表,确认报文目的IPv6地址是否为本地的SRv6 SID:

¡     如果报文目的IPv6地址是Device D的SRv6 SID,则校验通过,向Device A发送ICMPv6应答报文。

¡     如果报文目的IPv6地址不是Device D的SRv6 SID,则校验不通过,丢弃ICMPv6请求报文。

(4)     如果Device A在超时时间内收到目的节点的ICMPv6应答报文,则目的节点可达;否则,目的节点不可达。

1.1.4  SRv6 SID Tracert

SRv6 SID Tracert支持Overlay检测和非Overlay检测两种方式。

1. Overlay检测

通过Overlay方式查看SRv6转发路径时,仅显示转发路径上所有SRv6节点的信息。

进行Overlay检测时,如果指定End.OP SID,应该保证定End.OP SID是最后一跳SID,如果后面还有其他SID,则后续SID不能为尾节点上的本地节点,否则无法应答。

图1-5 SRv6 SID Tracert Overlay检测方式示意图

 

图1-5所示,Overlay检测工作过程为:

(1)     Device A向Decive D发起Tracert,依次指定Device B的SRv6 SID和Device D的SRv6 SID。Device A构造UDP报文(该报文的目的UDP端口号是目的端的任何一个应用程序都不可能使用的端口号),封装SRH扩展头并进行发送。此时IPv6报文首部的Hop limit字段的取值设置为64。

(2)     中间节点收到UDP报文后:

¡     如果中间节点为SRv6节点(如Device B),且报文的IPv6目的地址为本地的SRv6 SID,同时报文SRH的Flags字段中O标记位置位,则向Device A发送ICMPv6端口不可达报文,并且基于SRH转发UDP报文。

¡     如果中间节点不是SRv6节点(如Device C),则不向Device A发送ICMPv6端口不可达报文,直接根据目的IPv6地址查找IPv6路由表转发UDP报文。

(3)     Device D收到UDP报文后,报文SRH的Flags字段中O标记位置位且SL=0,需要查找Local SID表,确认报文目的IPv6地址是否为本地的SRv6 SID:

¡     如果报文目的IPv6地址是Device D的SRv6 SID,则校验通过,向Device A发送ICMPv6端口不可达报文。

¡     如果报文目的IPv6地址不是Device D的SRv6 SID,则校验不通过,并丢弃UDP报文。

(4)     如果Device A在超时时间内收到目的节点的ICMPv6端口不可达报文,则目的节点可达,且可以根据Tracert结果得到数据报文从源节点到目的节点所经历的路径;否则,目的节点不可达,且可以根据Tracert结果定位故障节点。

2. 非Overlay检测

通过非Overlay方式查看SRv6转发路径时,会显示转发路径上所有节点(包括支持SRv6的节点和不支持SRv6的节点)的信息。

进行非Overlay检测时,不论是否指定End.OP SID,均可以进行SRv6 SID Tracert操作,下文以未指定End.OP SID为例进行介绍。

图1-6 SRv6 SID Tracert非Overlay检测方式示意图

 

图1-6所示,非Overlay检测工作过程为:

(1)     Device A向Decive D发起Tracert,依次指定Device B的SRv6 SID、Device D的SRv6 SID。Device A构造UDP报文(该报文的目的UDP端口号是目的端的任何一个应用程序都不可能使用的端口号),封装SRH扩展头并进行发送。此时IPv6报文首部的Hop limit字段的取值设置为1。

(2)     中间节点收到UDP报文后,如果Hop limit字段的值变成0,则向Device A发送ICMPv6超时报文。

(3)     Device A收到中间节点发送的ICMPv6超时报文后,将Hop limit字段的取值加1,继续发送UDP报文。

(4)     中间节点收到UDP报文后,如果Hop limit字段的值未变成0,则向下一节点转发UDP报文。

¡     如果中间节点为SRv6节点(如Device B),且报文的IPv6目的地址为本地的SRv6 SID,则基于SRH转发UDP报文。

¡     如果中间节点不是SRv6节点(如Device C),则根据目的IPv6地址查找IPv6路由表转发UDP报文。

(5)     Device D收到UDP报文后,Hop limit字段的值变成0,报文SRH中SL=0,需要查找Local SID表,确认报文目的IPv6地址是否为本地的SRv6 SID:

¡     如果报文目的IPv6地址是Device D的SRv6 SID,则校验通过,向Device A发送ICMPv6端口不可达报文。

¡     如果报文目的IPv6地址不是Device D的SRv6 SID,则校验不通过,并丢弃UDP报文。

(6)     如果Device A在超时时间内收到目的节点的ICMPv6端口不可达报文,则目的节点可达,且可以根据Tracert结果得到数据报文从源节点到目的节点所经历的路径;否则,目的节点不可达,且可以根据Tracert结果定位故障节点。

1.1.5  SRv6 TE Policy Ping

SRv6 TE Policy Ping主要用于检查SRv6 TE Policy中各个节点是否可达。

图1-7 SRv6 TE Policy Ping示意图

 

图1-7所示,SRv6 TE Policy中的SID列表为{b, d}。SRv6 TE Policy Ping工作过程为:

(1)     Device A向Decive D发起Ping,构造ICMPv6请求报文,将SRv6 TE Policy的SID列表封装到SRH中并进行发送。

(2)     中间节点收到ICMPv6请求报文后:

¡     如果中间节点为SRv6节点(如Device B),则基于SRH向Device C转发ICMPv6请求报文。

¡     如果中间节点不是SRv6节点(如Device C),则直接根据目的IPv6地址查找IPv6路由表转发ICMPv6请求报文。

(3)     Device D收到ICMPv6请求报文后,报文SRH的SL=0,需要查找Local SID表,确认报文目的IPv6地址是否本地的SRv6 SID:

¡     如果报文目的IPv6地址是Device D的SRv6 SID,则校验通过,向Device A发送ICMPv6应答报文。

¡     如果报文目的IPv6地址不是Device D的SRv6 SID,则校验不通过,丢弃ICMPv6请求报文。

(4)     如果Device A在超时时间内收到Device D的ICMPv6应答报文,则SRv6 TE Policy中各个节点可达;否则,SRv6 TE Policy中存在不可达节点。

1.1.6  SRv6 TE Policy Tracert

SRv6 TE Policy Tracert在检查SRv6 TE Policy中各个节点是否可达的同时,还可以定位网络中发生故障的节点。

图1-8 SRv6 TE Policy Tracert示意图

 

图1-8所示,SRv6 TE Policy中的SID列表为{b, d}。SRv6 TE Policy Tracert工作过程为:

(1)     Device A向Decive C发起Tracert,构造UDP报文(该报文的目的UDP端口号是目的端的任何一个应用程序都不可能使用的端口号),将SRv6 TE Policy的SID列表封装到SRH中并进行发送。此时IPv6报文首部的Hop limit字段的取值设置为1。

(2)     中间节点收到UDP报文后,如果Hop limit字段的值变成0,则向Device A发送ICMPv6超时报文。

(3)     Device A收到Device B发送的ICMPv6超时报文后,将Hop limit字段的取值加1继续发送UDP报文。

(4)     中间节点收到UDP报文后,如果Hop limit字段的值未变成0,则向下一节点转发UDP报文。

¡     如果中间节点为SRv6节点(如Device B),且报文的IPv6目的地址为本地的SRv6 SID,则基于SRH转发UDP报文。

¡     如果中间节点不是SRv6节点(如Device C),则根据目的IPv6地址查找IPv6路由表转发UDP报文。

(5)     Device D收到UDP报文后,Hop limit字段的值变成0,报文SRH中SL=0,需要查找Local SID表,确认报文目的IPv6地址是否本地的SRv6 SID:

¡     如果目的IPv6地址是Device D的SRv6 SID,则校验通过,向Device A发送ICMPv6端口不可达报文。

¡     如果目的IPv6地址不是Device D的SRv6 SID,则校验不通过,并丢弃UDP报文。

(6)     如果Device A在超时时间内收到目的节点的ICMPv6端口不可达报文,则SRv6 TE Policy中各个节点可达,无故障节点;否则,SRv6 TE Policy中存在不可达节点,且可以根据Tracert结果定位故障节点。

1.2  SRv6 OAM配置限制和指导

执行ping或tracert操作指定SID列表时,需要注意:

·     End SID、End.X SID、End(COC32) SID或End.X(COC32) SID作为尾节点的SRv6 SID时,其SID附加行为必须为PSP。

·     End.DT4 SID/End.DT6 SID/End.DT46 SID/End.DX4 SID/End.DX6 SID只能作为尾节点的SRv6 SID。

standard工作模式下,设备不支持本功能。

sdn-wan工作模式下,仅以下表格中的单板支持本功能。

表1-1 单板信息一览表

单板类型

单板丝印

CSPEX单板

CSPEX-1304S、CSPEX-1404S、CSPEX-1504S

‌‌

1.3  执行SRv6 SID Ping操作

1. 配置限制和指导

对于逐段检测场景,不能指定End.OP SID。

2. 配置步骤

可在任意视图下执行本命令,通过SRv6 SID Ping功能检测SRv6转发路径的连通性。

ping ipv6-sid [ -a source-ipv6 | -c count | -m interval | -q | -s packet-size | -t timeout | -tc traffic-class | -v ] * [ segment-by-segment ] { sid | coc32 sid common-prefix-length }&<1-10> [ network-slice slice-id [ force-match-slice ] ]

1.4  执行SRv6 SID Tracert操作

1. 配置限制和指导

对于Overlay检测场景,不能指定End.OP SID。

2. 配置准备

对于非Overlay检测场景:

·     需要在中间设备(源节点与目的节点之间的设备)上开启设备的ICMPv6超时报文的发送功能。

·     需要在目的节点开启设备的ICMPv6超时报文的发送功能和ICMPv6目的不可达报文的发送功能。

对于Overlay检测场景,需要在中间设备(源节点与目的节点之间的设备)和目的节点上开启设备的ICMPv6目的不可达报文的发送功能。

3. 配置步骤

可在任意视图下执行本命令,通过SRv6 SID Tracert功能查看包含指定SRv6 SID列表的IPv6报文从源节点到目的节点所经过的路径。

tracert ipv6-sid [ -a source-ipv6 | -f first-hop | -i interface-type interface-number | -m max-hops | -p port | -q packet-number | -s packet-size | -t traffic-class | -w timeout ] * [ overlay ] { sid | coc32 sid common-prefix-length }&<1-n> [ network-slice slice-id [ force-match-slice ] ]

1.5  执行SRv6 TE Policy Ping操作

可在任意视图下执行本命令,通过SRv6 TE Policy Ping功能检测SRv6转发路径的连通性。

ping srv6-te policy { policy-name policy-name | color color-value end-point ipv6 ipv6-address | binding-sid bsid } [ for-match-slice ] [ end-op end-op | endpoint | destination srv6-sid ] [ -a source-ipv6 | -c count | -h hop-limit | -m interval | -s packet-size | -t timeout | -tc traffic-class ] *

1.6  执行SRv6 TE Policy Tracert操作

1. 配置准备

需要在中间设备(源节点与目的节点之间的设备)和目的节点上开启设备的ICMPv6超时报文的发送功能。

需要在目的节点开启设备的ICMPv6目的不可达报文的发送功能。

2. 配置步骤

可在任意视图下执行本命令,通过SRv6 TE Policy Tracert功能检查SRv6 TE Policy中各个节点是否可达的同时,还可以定位网络中发生故障的节点。

tracert srv6-te policy { policy-name policy-name | color color-value end-point ipv6 ipv6-address | binding-sid bsid } [ for-match-slice ] [ end-op end-op | endpoint | destination srv6-sid ] [ -a source-ipv6 | -f first-hop | -m max-hops | -p port | -q packet-number | -s packet-size | -tc traffic-class | -w timeout ] *

1.7  配置远端End.OP SID所属的Locator段

1. 功能简介

End.OP SID是一个OAM类型的SRv6 SID,用于SRv6转发路径和SRv6 TE Policy的Ping/Tracert场景。在进行SRv6转发路径和SRv6 TE Policy的Ping/Tracert时,如果设备收到的报文的目的地址为End.OP SID,则对下一个SRv6 SID进行检查。如果是本地SRv6 SID,则回复应答报文;否则丢弃该报文。

在执行ping srv6-te policytracert srv6-te policy命令时,如果不同SID列表的最后一个SID属于不同Locator,那么通过指定End.OP SID的方式将无法让所有SID列表都能连通,此时可以在源节点配置本命令配置远端End.OP SID所属的Locator段,执行ping和tracert的时候可以根据SID列表的最后一个SID按照最长匹配原则,自动在Locator段内选取End.OP SID,以保证所有SID列表的连通性。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置远端End.OP SID所属的Locator段。

remote end-op ipv6-address prefix-length

缺省情况下,未配置远端End.OP SID的范围。

1.8  开启ICMPv6差错报文中继功能

1. 功能简介

进行SRv6 TE Policy Tracert操作时,如果SRv6 TE Policy迭代到另外一个SRv6 TE Policy(例如SRv6 TE Policy A迭代到SRv6 TE Policy B),则SRv6 TE Policy B的SID列表中的节点仅会向SRv6 TE Policy B的源节点返回ICMPv6超时报文,不会向SRv6 TE Policy A的源节点返回ICMPv6超时报文,导致SRv6 TE Policy A的源节点认为SRv6 TE Policy A中存在不可达节点,进行误检测。

为了解决上述问题,可以在SRv6 TE Policy B的源节点开启ICMPv6差错报文中继功能。SRv6 TE Policy B的源节点从SRv6 TE Policy B的其他节点收到ICMPv6超时报文后,SRv6 TE Policy B的源节点作为代理节点,将ICMPv6超时报文转发到SRv6 TE Policy A的源节点,避免误检测。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     开启ICMPv6差错报文中继功能。

icmpv6-error relay enable

缺省情况下,ICMPv6差错报文中继功能处于关闭状态。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们