02-BIER OAM配置
本章节下载: 02-BIER OAM配置 (329.54 KB)
目 录
BIER OAM(Operations, Administration, and Maintenance,操作、管理和维护)用于检测BIER转发路径的连通性和定位BIER路径的故障点。BIER OAM支持Ping和Tracert两种诊断方式:
· BIER Ping用于检查BIER网络的连通性。
· BIER Tracert在检查BIER网络连通性的同时,还可以分析BIER网络中什么地方发生了故障。
这两种诊断方式均使用IPv6头和UDP头对请求报文进行内层封装、然后将封装后的请求报文再封装外层IPv6 BIER头,最后通过BIER隧道发送。BIER OAM需要在响应端打开一个UDP监听端口,用于监听和接收请求报文,默认的UDP端口号为49100。BIER OAM响应端收到请求报文后,通过UDP报文进行回复。
BIER OAM支持的Ping和Tracert均使用BIER OAM Echo Request/Reply报文进行网络诊断。
G-BIER Echo Request/Reply报文的封装格式分别如图1-1所示。
图1-1 G-BIER OAM Echo Request报文格式
BIERv6 Echo Request/Reply报文的封装格式如图1-2所示。
MSR6 Echo Request/Reply报文的封装格式如图1-3所示。
BIER OAM Request/Reply报文各字段的含义如下:
· G-BIER/BIERv6/MSR6头部:有关G-BIER、BIERv6和MSR6头部字段的详细介绍,请参见“BIER配置指导”。
· 内层IPv6头部:
¡ Source Address:32bits,IPv6源地址。对于Request报文,IPv6源地址和外层BIER头部中的IPv6源地址保持一致;对于Reply报文,IPv6源地址为目的节点的BFR prefix。
¡ Destination Address:32bits,IPv6目的地址。对于Request报文,为固定值0:0:0:0:0:FFFF:7F00:1;对于Reply报文,对应于Request报文的外层IPv6源地址。
· UDP头部:
¡ Source Port:16bits,UDP源端口号。
¡ Destination Port:16bits,UDP目的端口号。
¡ UDP Length:16bits,UDP数据报长度。
¡ UDP Checksum:16bits,UDP校验值,可以检验数据在传输过程中是否被损坏。
BIER的Ping用于检测Underlay层的连通性检测,不依赖于任何基于BIER的组播业务配置,只要BIER的Underlay层部署完就可以进行,不依赖于表示MSID、src-dt4或src-dt6的IPv6源地址。
BIER的Ping处理的基本过程如下:由BIER域任意节点发起BIER Echo Request报文、由目标BFER节点响应BIER Echo Reply报文,完成整个Ping过程。如果发起节点在一定的时间内没有收到目标BFER节点的响应,则打印timeout信息。
BIER Ping的过程如图1-4所示,以Device A→Device B→Device C→Device D之间的报文交互为例,展示为BIER Ping的过程。为便于描述,图示BS长度以4bits为例,实际取值请以设备配置为准。
(1) Device A(Ping发起节点)根据命令指定的参数(BIER子域ID、BSL、目的节点的BFR ID列表等),查找本地BIER子域对应配置,获得BIER三元组信息(BSL、SD、SI),通过三元组信息可以唯一确定BIFT ID。
(2) Device A通过BIFT ID查找本地BIER转发表。
(3) Device A根据查表结果向邻居Device B转发BIER Echo Request报文,转发时外层BIER封装的目的IPv6地址与封装类型有关:
¡ 封装类型为G-BIER时,该地址为Device B的MPRA;
¡ 封装类型为BIERv6时,该地址为End.BIER SID;
¡ 封装类型为MSR6时,该地址为End.RGB SID。
(4) 报文到达中间节点Device B和Device C后,中间节点按照BIER转发表进行转发,直到目的节点。
(5) 目的节点Device D收到Echo Request报文,向源节点Device A回复Echo Reply报文。
(6) Device A会等待一段时间,在指定的等待时间结束时:
¡ 若收到Echo Reply报文,则判断BFR ID等报文关键字段与Device A发送的Echo Request报文是否匹配:
- 若匹配成功,则输出应答报文长度、应答报文序列号、应答报文响应时间等统计信息。
- 否则忽略此报文。
¡ 若未收到指定目的节点的应答,则输出超时信息。
BIER Tracert运行机制包括以下三个阶段:
(1) 源端发起探测
从BIER TTL=1开始第一轮探测,随后按照BIER TTL值递增的方式(依次取值为2、3、4等)进行后续的探测。
(2) 中间节点处理
中间节点收到Echo Request后,判断BIER头中的BIER TTL值:
¡ 若BIER TTL没有减到0,则正常转发。
¡ BIER TTL减到0后,则判断是否存在转发表项:
- 若存在转发表项,则返回Code为5(Packet-Forward-Success,报文被成功转发)。
- 否则返回Code为8(No matching entry in forwarding table,BIER转发表项中没有匹配的表项)。
(3) 目的端应答
BFER节点收到Echo Request后,返回Code3或者4。
¡ Code3:Replying BFR is the only BFER in header Bitstring,应答BFR是BIER OAM Echo Request报文头中所携带的BitString唯一对应的BFER。
¡ Code4:Replying BFR is one of the BFER in header Bitstring,应答BFR是BIER OAM Echo Request报文头中所携带的BitString对应的其中一个BFER。
已收到响应的BFER不再参与后续的探测,当所有待探测的节点都探测完成时即可结束探测。探测完成可以是源端收到所有待探测节点的Return Code为3或者4的报文或者达到系统默认的探测次数。探测完成后,源端打印到达探测BFER的路径信息。
BIER Tracert中,源端从BIER TTL=1开始发起探测,BIER TTL=1时的探测为BIER Tracert过程第一轮探测。第一轮探测过程如图1-5所示。
图1-5 BIER Tracert过程第一轮
(1) Device A(Tracert发起节点)根据命令指定的参数(BIER子域ID、BSL、目的节点的BFR ID列表等),查找本地BIER子域对应配置,获得BIER三元组信息(BSL、SD、SI),通过三元组信息可以唯一确定BIFT ID。
(2) Device A通过BIFT ID查找本地BIER转发表。
(3) Device A根据查表结果向邻居Device B转发BIER Echo Request报文,报文关键信息包括:
¡ 转发时外层BIER封装的目的IPv6地址,该地址与封装类型有关:
- 封装类型为G-BIER时,该地址为Device B的MPRA;
- 封装类型为BIERv6时,该地址为End.BIER SID;
- 封装类型为MSR6时,该地址为End.RGB SID。
¡ TTL为:取值为1。
¡ Downstream Mappling TLV:携带Device B的BFR prefix。
(4) Device B收到Echo Request报文后,TTL减为0,并向源端节点发送Echo Reply报文。Device B作为中间节点,所发送的Echo Reply报文:
¡ 通过Responder BFR TLV携带Device B的BFR prefix。
¡ 通过Downstream Mappling TLV携带下游设备Device C和Device E的BFR prefix。
(5) Device A收到Echo Reply报文后,判断报文关键字段与Device A发送的Echo Request报文是否匹配:
¡ 若匹配成功,则输出打印应答信息。
¡ 否则忽略此响应报文。
BIER Tracert过程中,源端从BIER TTL=1开始发起探测,源端收到目的端应答时探测过程结束。在BIER Tracert过程第一轮之后、源端收到目的端应答的轮次之前的探测为BIER Tracert过程中间轮次。
中间轮次报文交互过程较为相似,本节以BIER Tracert过程第二轮为例进行介绍。第二轮探测过程如图1-6所示。图中Tracert过程的报文信息以Device A→Device B→Device C→Device D第二轮报文交互为例,源端发起探测时BIER TTL为2。
图1-6 BIER Tracert过程第二轮
(1) Device A通过BIFT ID查找本地BIER转发表。
(2) Device A根据查表结果向邻居Device B转发BIER Echo Request,报文关键信息包括:
¡ 转发时外层BIER封装的目的IPv6地址,该地址与封装类型有关:
- 封装类型为G-BIER时,该地址为Device B的MPRA;
- 封装类型为BIERv6时,该地址为End.BIER SID;
- 封装类型为MSR6时,该地址为End.RGB SID。
¡ TTL:取值为2。
¡ Downstream Mappling TLV:携带Device C和Device E的BFR prefix,从上一轮的Echo Reply中拷贝。
(3) Device B收到Echo Request报文后,TTL减为1。
(4) Device B根据BIER转发表将Echo Request报文转发给Device C。
(5) Device C收到Echo Request报文后,TTL减为0,并向源端节点发送Echo Reply报文。Device C作为中间节点,所发送的Echo Reply报文:
¡ 通过Responder BFR TLV携带Device C的BFR prefix。
¡ 通过Downstream Mappling TLV携带下游设备Device D的BFR prefix。
(6) Device A收到Echo Reply报文后,判断报文关键字段与Device A发送的Echo Request报文是否匹配:
¡ 若匹配成功,则输出打印应答信息。
¡ 否则忽略此响应报文。
BIER Tracert过程中,源端从BIER TTL=1开始发起探测,源端收到目的端应答时探测过程结束。源端收到目的端应答的轮次为BIER Tracert过程最终轮。最终轮过程如图1-7所示,图中Tracert过程的报文信息以Device A→Device B→Device C→Device D最终轮报文交互为例,源端发起探测时BIER TTL为3。
图1-7 BIER Tracert过程最终轮
(1) Device A通过BIFT ID查找本地BIER转发表。
(2) Device A根据查表结果向邻居Device B转发BIER Echo Request,报文关键信息包括:
¡ 外层BIER封装的目的IPv6地址,该地址与封装类型有关:
- 封装类型为G-BIER时,该地址为Device B的MPRA;
- 封装类型为BIERv6时,该地址为End.BIER SID;
- 封装类型为MSR6时,该地址为End.RGB SID。
¡ TTL:取值为3。
¡ Downstream Mappling TLV:携带Device D的BFR prefix(从上一轮的Echo Reply中拷贝)。
(3) Device B收到Echo Request报文后,TTL减为2。Device B根据BIER转发表将Echo Request报文转发给Device C。
(4) Device C收到Echo Request报文后,TTL减为1。Device C根据BIER转发表将Echo Request报文转发给Device D。
(5) Device D收到Echo Request报文后,TTL减为0,并向源端节点发送Echo Reply报文。Device D作为目的端,所发送的Echo Reply报文:
¡ 通过Responder BFR TLV携带Device D的BFR prefix。
¡ 不再携带Downstream Mappling TLV。
(6) Device A收到Echo Reply报文后,判断报文关键字段与Device A发送的Echo Request报文是否匹配:
¡ 若匹配成功,则输出打印应答信息。
¡ 否则忽略此响应报文。
表1-1 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G |
CSPEX单板 |
CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A |
SPE单板 |
RX-SPE200-E |
设备之间通过UDP传输BIER OAM报文。为了避免BIER OAM的端口号与其他协议发生冲突,建议使用缺省值。
属于同一个BIER子域的BFR都必须配置相同的UDP端口号,否则被检测的设备将无法收到BIER Echo Request报文,导致检测失败。
bier ipv6 oam enable [ udp-port udp-port ]
缺省情况下,BIER OAM功能处于开启状态。
在使用本功能前,需要确保BIER OAM功能处于开启状态。
当指定多个目的BFR ID时,所有目的BFR ID必须为属于同一个SI的BFR边缘设备的BFR ID。
如果指定的连续发送BIER Echo Request报文的时间间隔(interval)小于发送BIER Echo Request报文后等待响应的超时时间(timeout),则设备需要等待超时定时器超时后,再开始连续发送BIER Echo Request报文。
可在任意视图下执行本命令,检测BIER网络中BFR是否可达。
ping bier { bierv6 | g-bier | msr6 }sub-domain sub-domain-id bsl bsl-value bfr-id bfr-id-value [ to bfr-id-end-value ] [ -c count | -h ttl-value | -m interval | -t timeout | udp-port udp-port ] *
在使用本功能前,需要确保BIER OAM功能处于开启状态。
当用户使用ping bier命令发现网络出现故障后,可以使用tracert bier命令来定位出现故障的网络节点。
当源节点到目的节点之间存在多条BIER等价转发路径,需要指定entropy entropy-value参数,用来选择某一条转发路径。
可在任意视图下执行本命令,查看BIER报文从源端传到目的端所经过的路径。
tracert bier { bierv6 | g-bier | msr6 } sub-domain sub-domain-id bsl bsl-value bfr-id bfr-id-value [ to bfr-id-end-value ] [ entropy entropy-value [ to entropy-end-value ] | -ds | -h ttl-value | -ibs | -t timeout | -tbs | udp-port udp-port ] *
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!