05-IP转发基础命令
本章节下载: 05-IP转发基础命令 (228.51 KB)
目 录
1.1.4 forwarding split-horizon
1.1.6 ip forwarding-table save
1.1.8 packet-drop statistics enable
1.1.9 snmp-agent trap enable fib
2.1.2 display ip load-sharing mode
2.1.4 ip load-sharing symmetric enable
display fib命令用来显示FIB表项的信息。
【命令】
display fib [ vpn-instance vpn-instance-name ] [ ip-address [ mask | mask-length ] ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
topology topology-name:显示指定拓扑的FIB表项的信息。topology-name表示拓扑名称,为1~31个字符的字符串,区分大小写;取值为base时表示公网拓扑。如果未指定本参数,则显示公网的信息。
vpn-instance vpn-instance-name:显示指定VPN实例的FIB表项的信息。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果不指定VPN实例,则显示公网的FIB表项的信息。
ip-address:显示与指定目的IP地址匹配的FIB表项的信息。
mask:IP地址掩码。
mask-length:IP地址掩码长度,取值范围为0~32。
【使用指导】
如果配置ip-address时不指定掩码和掩码长度,则显示与指定目的IP地址最长匹配的FIB表项的信息;如果配置ip-address时指定了掩码或掩码长度,则显示与指定目的IP地址和掩码精确匹配的FIB表项的信息。
【举例】
# 显示指定拓扑的FIB表项的信息。
<Sysname> display fib topology mt
Destination count: 8 FIB entry count: 8
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
0.0.0.0/32 127.0.0.1 UH InLoop0 Null
127.0.0.0/8 127.0.0.1 U InLoop0 Null
127.0.0.0/32 127.0.0.1 UH InLoop0 Null
127.0.0.1/32 127.0.0.1 UH InLoop0 Null
127.255.255.255/32 127.0.0.1 UH InLoop0 Null
224.0.0.0/4 0.0.0.0 UB NULL0 Null
224.0.0.0/24 0.0.0.0 UB NULL0 Null
255.255.255.255/32 127.0.0.1 UH InLoop0 Null
# 显示公网的所有FIB表项的信息。
<Sysname> display fib
Destination count: 8 FIB entry count: 8
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
0.0.0.0/32 127.0.0.1 UH InLoop0 Null
127.0.0.0/8 127.0.0.1 U InLoop0 Null
127.0.0.0/32 127.0.0.1 UH InLoop0 Null
127.0.0.1/32 127.0.0.1 UH InLoop0 Null
127.255.255.255/32 127.0.0.1 UH InLoop0 Null
224.0.0.0/4 0.0.0.0 UB NULL0 Null
224.0.0.0/24 0.0.0.0 UB NULL0 Null
255.255.255.255/32 127.0.0.1 UH InLoop0 Null
# 显示私网的FIB表项的信息。
<Sysname> display fib vpn-instance vpn1
Destination count: 6 FIB entry count: 6
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
0.0.0.0/32 127.0.0.1 UH InLoop0 Null
20.20.20.0/24 20.20.20.25 U M-GE0/0/0 Null
20.20.20.0/32 20.20.20.25 UBH M-GE0/0/0 Null
20.20.20.25/32 127.0.0.1 UH InLoop0 Null
20.20.20.25/32 20.20.20.25 H M-GE0/0/0 Null
20.20.20.255/32 20.20.20.25 UBH M-GE0/0/0 Null
# 显示目的地址为10.2.1.1的FIB表项的信息。
<Sysname> display fib 10.2.1.1
Destination count: 1 FIB entry count: 1
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
10.2.1.1/32 127.0.0.1 UH InLoop0 Null
表1-1 display fib命令显示信息描述表
字段 |
描述 |
Destination count |
目的地址的个数 |
FIB entry count |
FIB表项数目 |
Destination/Mask |
目的地址/掩码长度 |
Nexthop |
转发的下一跳地址 |
Flag |
路由的标志: · U:表示可用路由 · G:表示网关路由 · H:表示主机路由 · B:表示黑洞路由 · D:表示动态路由 · S:表示静态路由 · R:表示迭代路由 · F:表示快速重路由 |
OutInterface/Token |
转发接口/LSP索引号 |
Label |
内层标签值 |
display fib ecmp-group命令用来显示FIB存储的ECMP组信息。
【命令】
display fib ecmp-group [ group-id ] slot slot-number
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
group-id:指定的ECMP组的信息。group-id为ECMP组编号,取值范围为1~128。如果未指定本参数,则显示FIB存储的所有ECMP组信息。
slot slot-number:指定设备编号,取值只能为1。
【举例】
# 显示FIB存储的所有ECMP组信息。
<Sysname> display fib ecmp-group
FIB ECMP-group count: 2
GroupID PathID DSCP Mask Status
1 1 3 24 learned
2 4 24 learned
2 1 3 24 learned
2 5 24 learned
表1-2 display fib ecmp group命令显示信息描述表
字段 |
描述 |
GroupID |
ECMP组ID |
PathID |
ECMP路径ID |
DSCP |
DSCP优先级 |
Mask |
DSCP的掩码长度 |
Status |
表项状态: · learned:ECMP组信息下发过驱动 · unlearned:ECMP组信息未下发驱动 |
display fib usage命令用来显示FIB表项数的使用率。
【命令】
display fib usage
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
用户可以通过本命令查看设备FIB表项数的使用率,最多能查看最近一小时内FIB表项数的使用率。请注意:
· 由ARP主机路由下发的FIB表项不计入FIB表项的使用率。
· 对于目的地址相同、下一跳不同的多条等价路由下发的多条FIB表项,统计为一条FIB表项。
【举例】
# 显示FIB表项数的使用率。
<Sysname> display fib usage
FIB table upper limit: 65000
Time FIB count Usage
Current 52000 80%
1 min ago 51351 79%
2 min ago 50711 78%
3 min ago 47748 77%
…
59 min ago 13656 21%
60 min ago 13007 20%
表1-3 display fib usage命令显示信息描述表
字段 |
描述 |
FIB table upper limit |
设备支持FIB表项的最大数目 |
Time |
记录FIB表项使用情况的时间点 |
FIB count |
设备上实时FIB表项个数 |
Usage |
FIB表项数的使用率,设备上实时FIB表项个数占设备支持FIB表项最大数目的百分比 |
forwarding split-horizon命令用来开启转发水平分割功能。
undo forwarding split-horizon命令用来关闭转发水平分割功能。
【命令】
forwarding split-horizon
undo forwarding split-horizon
【缺省情况】
转发水平分割功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
通过开启转发水平分割功能,可以使从一个物理接口收到的IPv4、IPv6和MPLS报文不再从该接口向外发送,用于避免环路。
【举例】
# 开启全局的转发水平分割功能。
<Sysname> system-view
[Sysname] forwarding split-horizon
ip forwarding命令用来在接口未配置IPv4地址时,开启接口的IPv4报文转发功能。
undo ip forwarding命令用来在接口未配置IPv4地址时,关闭接口的IPv4报文转发功能。
【命令】
ip forwarding
undo ip forwarding
【缺省情况】
在接口未配置IPv4地址时,接口的IPv4报文转发功能处于关闭状态。
【视图】
接口视图
【缺省用户角色】
network-admin
【使用指导】
在同时支持IPv4协议和IPv6协议的设备上,IPv4路由的下一跳可以是IPv4地址或IPv6地址。如果出接口上未配置IPv4地址,IPv4报文将无法在该接口上进行转发。通过配置本命令,可以在接口未配置IPv4地址的情况下,实现IPv4报文在接口上的转发功能。
【举例】
# 在VLAN接口1未配置IPv4地址时,开启接口的IPv4报文转发功能。
<Sysname> system-view
[Sysname] interface vlan-interface 1
[Sysname-Vlan-interface1] ip forwarding
ip forwarding-table save命令用来将当前的IP转发表项保存到用户指定的文件中。
【命令】
ip forwarding-table save filename filename
【视图】
任意视图
【缺省用户角色】
network-admin
【参数】
filename filename:目标文件名,长度不超过255字节。文件名取值范围的详细介绍,请参见“基础配置指导”中的“文件系统管理配置”。
【使用指导】
执行本命令时,如果名称为filename的文件不存在,系统会先创建该文件,再保存;如果已存在,则会覆盖原文件的内容。
如果需要周期性地自动保存IP转发表,可以通过配置定时执行任务功能,采用循环执行方式,让设备在指定时间到达时,自动执行命令。关于配置定时执行任务功能的详细介绍,请参见“基础配置指导”中“设备管理”。
【举例】
# 将IP转发表保存到名为fib.txt的文件中。
<Sysname> ip forwarding-table save filename fib.txt
ip last-hop hold命令用来开启转发保持上一跳功能。
undo ip last-hop hold命令用来关闭转发保持上一跳功能。
【命令】
ip last-hop hold
undo ip last-hop hold
【缺省情况】
转发保持上一跳功能处于关闭状态。
【视图】
三层以太网接口视图
三层以太网子接口视图
【缺省用户角色】
network-admin
【使用指导】
接口上开启保持上一跳功能后,当该接口接收到正向流量的第一个IP报文,在高速缓存中会记录相应的流量特征以及上一跳信息,反向流量报文到达设备上进行转发时可以直接通过该上一跳信息指导报文进行转发。
保持上一跳功能依赖于快速转发表项的建立,如果上一跳的MAC地址发生变化,对应的快速转发表项需要重建才能使保持上一跳功能正常工作。
本命令不适用于MPLS组网中。
【举例】
# 开启转发保持上一跳功能。
<Sysname> system-view
[Sysname] interface hundredgige 1/1/1
[Sysname-HundredGigE1/1/1] ip last-hop hold
packet-drop statistics enable命令用来开启接口丢包报文统计功能。
undo packet-drop statistics enable命令用来关闭接口丢包报文统计功能。
【命令】
packet-drop statistics enable [ in-acl | out-acl | in-checksum | out-checksum | in-illegal-interface | in-l2-mtu | out-l2-mtu | in-l3-header-ipv4 | in-l3-header-ipv6 | in-l3-mtu | in-l3-nexthop | in-l3-rib-ipv4 | in-l3-rib-ipv6 | in-l3-ttl | in-stp-block | out-stp-block | in-same-interface | in-storm-suppression | in-vlan-mismatch | out-vlan-mismatch ] *
undo packet-drop statistics enable [ in-acl | out-acl | in-checksum | out-checksum | in-illegal-interface | in-l2-mtu | out-l2-mtu | in-l3-header-ipv4 | in-l3-header-ipv6 | in-l3-mtu | in-l3-nexthop | in-l3-rib-ipv4 | in-l3-rib-ipv6 | in-l3-ttl | in-stp-block | out-stp-block | in-same-interface | in-storm-suppression | in-vlan-mismatch | out-vlan-mismatch ] *
【缺省情况】
接口丢包统计功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
in-acl:统计因ACL过滤丢弃的入方向报文。
out-acl:统计因ACL过滤丢弃的出方向报文。
in-checksum:统计因奇偶数检验错误导致丢弃的入方向报文。
out-checksum:统计因奇偶数检验错误导致丢弃的出方向报文。
in-illegal-interface:统计因未找到出接口或者出接口非法导致丢弃的入方向报文。
in-l2-mtu:统计因超过接口二层MTU导致丢弃的出方向报文。
out-l2-mtu:统计因超过接口二层MTU导致丢弃的入方向报文。
in-l3-header-ipv4:统计因三层报文头错误导致丢弃的入方向IPv4报文,如checksum错误。
in-l3-header-ipv6:统计因三层报文头错误导致丢弃的入方向IPv6报文,如checksum错误。
in-l3-mtu:统计因超过接口三层MTU错误导致丢弃的入方向报文。
in-l3-nexthop:统计因下一跳动作为drop导致丢弃的入方向报文。
in-l3-ttl:统计因最大跳数小于1导致丢弃的入方向报文。
in-l3-rib-ipv4:统计因查找不到路由表或者路由表的动作为drop导致丢弃的入方向IPv4报文。
in-l3-rib-ipv6:统计因查找不到路由表或者路由表的动作为drop导致丢弃的入方向IPv6报文。
in-same-interface:统计因入接口和出接口是同一端口导致丢弃的入方向报文。
in-stp-block:统计因生成树端口阻塞导致丢弃的入方向报文。
out-stp-block:统计因生成树端口阻塞导致丢弃的出方向报文。
in-storm-suppression:统计因广播、组播、未知单播风暴抑制导致丢弃的入方向报文。
in-vlan-mismatch:统计因VLAN不匹配导致丢弃的入方向报文。
out-vlan-mismatch:统计因VLAN不匹配导致丢弃的出方向报文。
【使用指导】
配置本命令后,设备会对因指定原因丢弃的报文数进行统计,并通过gRPC协议报文将统计出来的数据主动上报给采集器。
本命令仅统计物理接口上的丢弃报文。
【举例】
# 配置对因超过接口二层MTU导致丢弃的入方向报文进行统计。
<Sysname> system-view
[Sysname] packet-drop statistics enable in-l2-mtu
snmp-agent trap enable fib命令用来开启FIB模块的告警功能。
undo snmp-agent trap enable fib命令用来关闭FIB模块的告警功能。
【命令】
snmp-agent trap enable fib
undo snmp-agent trap enable fib
【缺省情况】
FIB模块的告警功能处于开启状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启FIB模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件,例如FIB消息的队列长度超过阈值时,设备将此信息记录在告警信息中,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
【举例】
# 关闭FIB的告警功能。
<Sysname> system-view
[Sysname] undo snmp-agent trap enable fib
bandwidth-based-sharing命令用来开启IPv4基于带宽的负载分担功能。
undo bandwidth-based-sharing命令用来关闭IPv4基于带宽的负载分担功能。
【命令】
bandwidth-based-sharing
undo bandwidth-based-sharing
【缺省情况】
IPv4基于带宽的负载分担功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启IPv4基于带宽的负载分担功能情况下,如果转发时查到多个出接口/下一跳,则按照接口的带宽值计算出各个接口应该分配的报文比例,然后按照带宽比例对报文进行转发。
支持负载分担的协议(如LISP)的设备,无论是否配置bandwidth-based-sharing,负载分担比例以协议定义的负载分担比例为准。
【举例】
# 开启IPv4基于带宽的负载分担功能。
<Sysname> system-view
[Sysname] bandwidth-based-sharing
display ip load-sharing mode命令用来显示当前使用的负载分担方式。
【命令】
display ip load-sharing mode slot slot-number
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:指定设备编号,取值只能为1。
【举例】
# 显示当前使用的负载分担方式。
<Sysname> display ip load-sharing mode slot 1
Load-sharing mode: per-flow
Load-sharing options: dest-ip | src-ip | ip-pro | dest-port | src-port | ingress-port
Load-sharing algorithm: 1
IP tunnel load-sharing mode: outer
表2-1 display ip load-sharing mode命令显示信息描述表
字段 |
描述 |
Load-sharing mode |
采用的负载分担方式: per-flow:基于报文逐流进行负载分担 |
Load-sharing options |
负载分担时的选项: · dest-ip:基于报文的目的IP地址进行负载分担 · src-ip:基于报文的源IP地址进行负载分担 · ip-pro:基于报文的IP协议号进行负载分担 · dest-port:基于报文的目的端口进行负载分担 · src-port:基于报文的源端口进行负载分担 · ingress-port:基于报文的入端口进行负载分担 · flow-label:基于IPv6报文的流标签进行负载分担 |
Load-sharing algorithm |
负载分担算法编号 |
IP tunnel load-sharing mode |
IP tunnel 采用的负载分担方式: · inner:基于内层信息进行负载分担 · outer:基于外层信息进行负载分担 |
【相关命令】
· ip load-sharing mode
ip load-sharing mode命令用来配置负载分担方式。
undo ip load-sharing mode命令用来恢复缺省情况。
【命令】
ip load-sharing mode { per-flow [ algorithm algorithm-number [ seed seed-number ] [ shift shift-number ] | [ dest-ip | dest-port | flow-label | ingress-port | ip-pro | src-ip | src-port ] * | tunnel { inner | outer }]} { global | slot slot-number }
undo ip load-sharing mode [ per-flow { algorithm | tunnel } ] { global | slot slot-number }
【缺省情况】
基于报文的源IP地址、目的IP地址、源端口、目的端口和IP协议号逐流进行负载分担。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
seed seed-number:负载分担算法的起始HASH值。取值范围为0~ffffffff,缺省值为0。
shift shift-number:负载分担算法计算结果的偏移量。取值范围为0~15,缺省值为0。
per-flow:基于报文逐流进行负载分担。在命令行中若没有指定dest-ip、dest-port、ingress-port、ip-pro、src-ip以及src-port参数,则表示设备基于报文的目的IP地址和报文的源IP地址逐流进行负载分担。
flow-label:基于IPv6报文的流标签逐流进行负载分担,仅IPv6报文支持本参数。
ingress-port:基于报文的入端口逐流进行负载分担。
tunnel { inner | outer }:指定对IP Tunnel报文采用的逐流负载分担方式,其中inner表示基于Tunnel内层信息进行逐流负载分担;outer表示基于Tunnel外层信息进行逐流负载分担。
global:表示全局配置。
slot slot-number:指定设备编号,取值只能为1。
【使用指导】
当负载分担不够均匀时,可以通过修改seed和shift参数的值来进行调整。
指定slot的负载分担方式的优先级高于全局负载分担方式。全局配置只对未指定负载分担方式的slot生效,对指定了负载分担方式的slot不生效。
【举例】
# 配置指定slot基于报文逐流进行负载分担。
<Sysname> system-view
[Sysname] ip load-sharing mode per-flow slot 1
# 配置指定slot基于报文目的IP地址、源IP地址逐流进行负载分担。
<Sysname> system-view
[Sysname] ip load-sharing mode per-flow dest-ip src-ip slot 1
# 配置指定slot对IP Tunnel报文基于Tunnel内层信息逐流进行负载分担。
<Sysname> system-view
[Sysname] ip load-sharing mode per-flow tunnel inner slot 1
# 配置指定slot基于报文逐流进行负载分担的算法切换,算法编号为1。
<Sysname> system-view
[Sysname] ip load-sharing mode per-flow algorithm 1 slot 1
【相关命令】
· display ip load-sharing mode
ip load-sharing symmetric enable命令用来开启对称负载分担功能。
undo ip load-sharing symmetric enable命令用来关闭对称负载分担功能。
【命令】
ip load-sharing symmetric enable
undo ip load-sharing symmetric enable
【缺省情况】
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启对称负载分担功能后,对于源IP为A、目的IP为B的流量,和源IP为B、目的IP为A的流量,将负载分担到同一条路径。
配置本命令前,需要先使用ip load-sharing mode命令配置基于五元组(源IP地址、目的IP地址、源端口、目的端口和IP协议号)进行负载分担。否则,由于缺省负载分担模式下计算负载分担时包含物理入端口使得对称负载分担功能无法生效。
【举例】
# 开启对称负载分担功能。
<Sysname> system-view
[Sysname] ip load-sharing symmetric enable
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!