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

11-Segment Routing配置指导

目录

07-SRv6 OAM配置

本章节下载 07-SRv6 OAM配置  (312.88 KB)

07-SRv6 OAM配置


1 SRv6 OAM

1.1  SRv6 OAM简介

SRv6 OAM(Operations, Administration, and Maintenance,操作、管理和维护)用于检测SRv6路径的连通性和定位SRv6路径的故障点。SRv6 OAM通过SRv6 SID和SRv6 TE Policy的Ping/Tracert来实现。

·     SRv6 SID Ping和SRv6 TE Policy Ping用于检查网络连接及主机是否可达。SRv6 SID Ping和SRv6 TE Policy Ping为我司私有协议。

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

1.1.1  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和SRv6 TE Policy的Ping/Tracert时,如果设备收到的报文的目的地址为End.OP SID,则对下一个SRv6 SID进行检查。如果是本地SRv6 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.2  SRv6 SID Ping

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

1. 逐段检测

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

进行逐段检测时,不能指定End.OP 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响应报文。

图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.3  SRv6 SID Tracert

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

1. Overlay检测

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

进行Overlay检测时,不能指定End.OP 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的节点)的信息。

图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.4  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.5  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。

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 }&<1-11>

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 | -t traffic-class | -w timeout ] * [ overlay ] { sid }&<1-11>

1.5  执行SRv6 TE Policy Ping操作

1. 配置限制和指导

需要在目的节点上要配置End.OP类型的SID。

2. 配置步骤

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

ping srv6-te policy { policy-name policy-name | color color-value end-point ipv6 ipv6-address | binding-sid bsid } [ end-op end-op ] [ -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. 配置限制和指导

需要在目的节点上要配置End.OP类型的SID。

2. 配置准备

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

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

3. 配置步骤

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

tracert srv6-te policy { policy-name policy-name | color color-value end-point ipv6 ipv6-address | binding-sid bsid } [ end-op end-op ] [ -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的范围。

 

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

新华三官网
联系我们