05-IP转发基础命令
本章节下载: 05-IP转发基础命令 (226.58 KB)
目 录
1.1.2 ip forwarding-table save
1.1.3 forwarding arp-packet destination
1.1.4 forwarding hop-limit-exceeded destination
1.1.5 forwarding nd-packet destination
1.1.6 forwarding ttl-exceeded-packet destination
1.1.7 forwarding tunnel-ttl-unvaried
2.1.2 display ip load-sharing mode
2.1.3 display ip load-sharing path
display fib命令用来显示FIB表项的信息。
【命令】
display fib [ vpn-instance vpn-instance-name ] [ ip-address [ mask | mask-length ] ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
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
Route destination count: 5
Directly-connected host count: 0
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
1.1.1.0/24 192.168.126.1 USGF MGE0/0/0 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
# 显示私网的FIB表项的信息。
<Sysname> display fib vpn-instance vpn1
Route destination count: 5
Directly-connected host count: 0
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 MGE0/0/0 Null
20.20.20.0/32 20.20.20.25 UBH MGE0/0/0 Null
20.20.20.25/32 127.0.0.1 UH InLoop0 Null
20.20.20.255/32 20.20.20.25 UBH MGE0/0/0 Null
# 显示目的地址为10.2.1.1的FIB表项的信息。
<Sysname> display fib 10.2.1.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命令显示信息描述表
字段 |
描述 |
Route destination count |
路由目的地址的个数 |
Directly-connected host count |
通过ARP等特性学到的直连主机个数 |
FIB entry count |
FIB表项数目 |
Destination/Mask |
目的地址/掩码长度 |
Nexthop |
转发的下一跳地址 |
Flag |
路由的标志: · U:表示可用路由 · G:表示网关路由 · H:表示主机路由 · B:表示黑洞路由 · D:表示动态路由 · S:表示静态路由 · R:表示迭代路由 · F:表示快速重路由 |
OutInterface/Token |
转发接口/LSP索引号 |
Label |
内层标签值 |
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
forwarding arp-packet destination命令用来配置设备转发特定目的地址的ARP报文到指定的VXLAN隧道。
undo forwarding arp-packet destination命令用来恢复缺省情况。
【命令】
forwarding arp-packet destination [ vpn-instance vpn-instance-name ] ip-address interface tunnel number
undo forwarding arp-packet destination [ vpn-instance vpn-instance-name ] ip-address
【缺省情况】
设备收到ARP报文后将会上送CPU处理。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:指定目的IP地址所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果不指定本参数,则表示目的IP地址属于公网。
ip-address:指定目的IP地址。
interface tunnel number:指定转发的Tunnel接口。number表示Tunnel接口编号。实际可创建的Tunnel接口数目将受到接口总数及内存状况的限制。
【使用指导】
在ARP泛洪抑制场景中,若设备收到目的MAC地址是自己,但目的IP地址不是自己的ARP报文,则会丢弃该ARP报文。但在某些特定的组网中,需要设备将此类ARP报文通过指定的VXLAN隧道透传到远端设备,则可以通过配置本命令来实现。
本命令指定的Tunnel接口的隧道模式必须为手工创建的VXLAN over IPv4隧道。
【举例】
# 配置设备转发VPN vpn1内目的地址为192.168.1.2的ARP报文到接口tunnel1。
<Sysname> system-view
[Sysname] forwarding arp-packet destination vpn-instance vpn1 192.168.1.2 interface tunnel 1
forwarding hop-limit-exceeded destination命令用来配置设备收到指定目的地址的IPv6报文时,如果报文的HopLimit字段取值为1,则直接转发该报文,不上送CPU。
undo forwarding hop-limit-exceeded destination命令用来恢复缺省情况。
【命令】
forwarding hop-limit-exceeded destination [ vpn-instance vpn-instance-name ] ipv6-address
undo forwarding hop-limit-exceeded destination [ vpn-instance vpn-instance-name ] ipv6-address
【缺省情况】
设备收到HopLimit字段取值为1的IPv6报文后将会上送CPU处理。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:指定目的IPv6地址所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果不指定本参数,则表示目的IPv6地址属于公网和所有VPN实例。
ipv6-address:指定的目的IPv6地址。
【使用指导】
设备作为网关转发报文时,如果内网的设备不关心报文的Hoplimit是否超时,而是希望收到特定目的地址的所有报文,则可以在设备上配置本命令,使得设备收到指定目的地址、HopLimit为1的IPv6报文后,直接转发该报文,不上送CPU。
【举例】
# 配置设备收到指定目的地址为1::1的IPv6报文时,如果报文的HopLimit字段取值为1,则直接转发该报文,不上送CPU。
<Sysname> system-view
[Sysname] forwarding hop-limit-exceeded destination 1::1
forwarding nd-packet destination命令用来配置设备转发特定目的地址的ND报文到指定的VXLAN隧道。
undo forwarding nd-packet destination命令用来恢复缺省情况。
【命令】
forwarding nd-packet destination [ vpn-instance vpn-instance-name ] ipv6-address interface tunnel number
undo forwarding nd-packet destination [ vpn-instance vpn-instance-name ] ipv6-address
【缺省情况】
设备收到ND报文后将会上送CPU处理。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:指定VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果不指定本参数,则表示公网以及所有私网。
ipv6-address:指定目的IPv6地址。
interface tunnel number:指定转发的Tunnel接口。实际可创建的Tunnel接口数目将受到接口总数及内存状况的限制。
【使用指导】
在ND泛洪抑制场景中,若设备收到目的MAC地址是自己,但目的IP地址不是自己的ND报文,则会丢弃该ND报文。但在某些特定的组网中,需要设备将此类ND报文通过指定的VXLAN隧道透传到远端设备,则可以通过配置本命令来实现。
本命令指定的Tunnel接口的隧道模式必须为手工创建的VXLAN over IPv4隧道模式。
【举例】
# 配置设备转发VPN vpn1内目的地址为4001::1的ND报文到接口tunnel1。
<Sysname> system-view
[Sysname] forwarding nd-packet destination vpn-instance vpn1 4001::1 interface tunnel 1
forwarding ttl-exceeded-packet destination命令用来配置设备收到指定目的地址的IP报文时,如果报文的TTL为1,则直接转发该报文,不上送CPU。
undo forwarding ttl-exceeded-packet destination命令用来恢复缺省情况。
【命令】
forwarding ttl-exceeded-packet destination [ vpn-instance vpn-instance-name ] ip-address
undo forwarding ttl-exceeded-packet destination [ vpn-instance vpn-instance-name ] ip-address
【缺省情况】
设备收到IP报文后将会上送CPU处理。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:指定目的IP地址所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果不指定本参数,则表示目的IP地址属于公网和所有VPN。
ip-address:指定目的IP地址。
【使用指导】
设备作为网关时,如果服务器不关心TTL是否超时,希望收到特定目的地址的所有报文,则可以在设备上配置本命令,使得设备收到指定目的地址、TTL为1的IP报文后,直接转发该报文,不丢弃,不上送CPU。
【举例】
# 配置设备收到指定目的地址为10.1.1.2的IP报文时,如果报文的TTL为1,则直接转发该报文,不上送CPU。
<Sysname> system-view
[Sysname] forwarding ttl-exceeded-packet destination 10.1.1.2
forwarding tunnel-ttl-unvaried命令用来配置经过隧道接口和VSI接口的报文的TTL/HopLimit值不减1。
undo forwarding tunnel-ttl-unvaried命令用来恢复缺省情况。
【命令】
forwarding tunnel-ttl-unvaried
undo forwarding tunnel-ttl-unvaried
【缺省情况】
经过隧道接口和VSI接口的报文的TTL/HopLimit值减1。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
在由VXLAN或隧道组成的内网中,报文在经过网关三层转发时TTL/HopLimit值会减1,如果不希望TTL/HopLimit值减1,此时可以在网关接入设备上通过本配置使报文经过时不进行TTL/HopLimit值减1处理。
【举例】
# 配置经过隧道接口和VSI接口的报文的TTL/HopLimit值不减1。
<Sysname> system-view
[Sysname] forwarding tunnel-ttl-unvaried
bandwidth-based-sharing命令用来开启IPv4基于带宽的负载分担功能。
undo bandwidth-based-sharing命令用来关闭IPv4基于带宽的负载分担功能。
【命令】
bandwidth-based-sharing
undo bandwidth-based-sharing
【缺省情况】
IPv4基于带宽的负载分担功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启IPv4基于带宽的负载分担功能情况下,如果转发时查到多个出接口/下一跳,则按照接口的带宽值计算出各个接口应该分配的报文比例,然后按照带宽比例对报文进行转发。
支持负载分担的协议(如LISP)的设备,无论是否配置bandwidth-based-sharing,负载分担比例以协议定义的负载分担比例为准。
本功能和等价路由增强模式(配置ecmp mode enhanced命令)互斥,两者不能同时配置。
开启IPv4基于带宽的负载分担功能后,配置接口的期望带宽值不能超过接口的实际物理带宽值。
【举例】
# 开启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:显示指定单板上的当前使用的负载分担方式。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板上的当前使用的负载分担方式。
【举例】
# 显示当前使用的负载分担方式。
<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:基于报文的入端口进行负载分担 |
Load-sharing algorithm |
负载分担算法编号 |
IP tunnel load-sharing mode |
IP tunnel 采用的负载分担方式: · all:基于内层和外层信息进行负载分担 · inner:基于内层信息进行负载分担 · outer:基于外层信息进行负载分担 |
【相关命令】
· ip load-sharing mode
display ip load-sharing path命令用来指定计算等价路由哈希选路的参数并显示计算出的等价路由哈希选路信息。
【命令】
display ip load-sharing path ingress-port interface-type interface-number packet-format { ipv4oe dest-ip ip-address [ src-ip ip-address ] | ipv6oe dest-ipv6 ipv6-address [ src-ipv6 ipv6-address ] } [ dest-port port-id | ip-pro protocol-id | src-port port-id | vpn-instance vpn-instance-name ] *
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
ingress-port interface-type interface-number:指定设备计算等价路由选路信息时的报文入接口。interface-type interface-number为接口类型和接口编号。
packet-format { ipv4oe dest-ip ip-address [src-ip ip-address ] | ipv6oe dest-ipv6 ipv6-address [ src-ipv6 ipv6-address ] }:指定设备计算等价路由选路信息时的报文封装格式。
· ipv4oe:指定报文的封装格式为IPv4封装以太网。
· dest-ip ip-address:指定目的IP地址,为点分十进制格式。如果未指定该参数,则设备计算等价路由选路信息时使用的目的IP地址为0。
· src-ip ip-address:指定源IP地址,为点分十进制格式。如果未指定该参数,则设备计算等价路由选路信息时使用的源IP地址为0。
· ipv6oe:指定报文的封装格式为IPv6封装以太网。
· dest-ipv6 ipv6-address:指定目的IPv6地址。如果未指定该参数,则设备计算等价路由选路信息时使用的目的IPv6地址为0。
· src-ipv6 ipv6-address:指定源IPv6地址。如果未指定该参数,则设备计算等价路由选路信息时使用的源IPv6地址为0。
dest-port port-id:指定设备计算等价路由选路信息时的目的端口号,port-id取值范围为1~65535。如果未指定该参数,则设备计算等价路由选路信息时使用的目的端口号为0。
ip-pro protocol-id:指定设备计算等价路由选路信息时使用的IP协议类型,protocol-id取值范围为1~65535。如果未指定该参数,则设备计算等价路由选路信息时使用的IP协议类型值为0。
src-port port-id:指定设备计算等价路由选路信息时的源端口号,port-id取值范围为1~65535。如果未指定该参数,则设备计算等价路由选路信息时使用的源端口号为0。
vpn-instance vpn-instance-name:指定设备计算等价路由选路信息时的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定该参数,则设备计算等价路由选路信息时不存在VPN实例信息(表示公网)。
【使用指导】
本命令行的参数输入需要和ip load-sharing mode命令配置的参数相匹配。如不匹配,则显示的等价路由哈希选路信息可能跟实际不一致。
【举例】
# 指定设备计算等价路由选路信息时的参数:接口HundredGigE1/0/3进入,目的IP地址为10.110.0.2、源IP地址10.100.0.2、IP协议类型编号为153、目的端口号为2000、源端口号为2000。并显示计算出的报文的等价路由选路信息。
<Sysname> display ip load-sharing path ingress-port hundredgige 1/0/3 packet-format ipv4oe dest-ip 10.110.0.2 src-ip 10.100.0.2 ip-pro 153 dest-port 2000 src-port 2000
Load-sharing algorithm: 0
Load-sharing options: ingress-port | dest-ip | src-ip | ip-pro | dest-port | src-port
Load-sharing parameters:
Missing configured are set to 0.
ingress-port: HundredGigE1/0/3
packet-format: IPv4oE
dest-ip: 10.110.0.2
src-ip: 10.100.0.2
ip-pro: 153
dest-port: 2000
src-port: 2000
Path selected: 20.0.0.2(interface HundredGigE1/0/3)
表2-2 display ip load-sharing path命令显示信息描述表
字段 |
描述 |
Load-sharing algorithm |
用户配置的逐流负载分担算法编号。 |
Load-sharing options |
用户配置的逐流负载分担方式选项。 |
Load-sharing parameters |
用户输入信息,用于显示等价路由哈希选路信息。 |
Missing configured are set to 0. |
用户未明确输入参数采用缺省值0。 |
ingress-port |
报文入接口 |
packet-format |
报文封装格式 |
dest-ip |
目的IP地址 |
src-ip |
源IP地址 |
ip-pro |
IP协议类型 |
dest-port: |
目的端口号 |
src-port: |
源端口号 |
Path selected |
计算出的等价路由哈希选路信息,包含下一跳的IP/IPv6地址和出接口。 |
【相关命令】
· ip load-sharing mode
ip load-sharing mode命令用来配置负载分担方式。
undo ip load-sharing mode命令用来恢复缺省情况。
【命令】
ip load-sharing mode per-flow [ algorithm algorithm-number | [ dest-ip | dest-port | ingress-port | ip-pro | src-ip | src-port ] * | tunnel { all | inner | outer } ] { global | slot slot-number }
undo ip load-sharing mode [ per-flow { algorithm | tunnel } ] { global | slot slot-number }
【缺省情况】
缺省情况下,基于报文的源IP地址、目的IP地址、源端口、目的端口、IP协议号和入端口逐流进行负载分担。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
per-flow:基于报文逐流进行负载分担。如果基于报文逐流进行负载分担,并在dest-ip、dest-port、ingress-port、ip-pro、src-ip以及src-port中未指定任何参数,则设备基于报文的源IP地址、目的IP地址、源端口、目的端口、IP协议号和入端口逐流进行负载分担。
algorithm algorithm-number:基于报文逐流进行负载分担的算法切换。algorithm-number指定要进行算法切换的算法编号。范围为0~15(0~9为用户可配置的算法编号范围;10~15为针对特殊测试环境使用的算法编号范围,不推荐用户使用)。如果未指定本参数,设备内的缺省算法编号为0。
global:表示全局配置。
ingress-port:基于报文的入端口逐流进行负载分担。
tunnel { all | inner | outer }:指定对IP Tunnel报文采用的逐流负载分担方式,其中all表示基于Tunnel内层和外层信息进行逐流负载分担;inner表示基于Tunnel内层信息进行逐流负载分担;outer表示基于Tunnel外层信息进行逐流负载分担。如果未指定本参数,则基于Tunnel外层信息进行负载分担。
slot slot-number:在指定单板上配置负载分担方式。slot-number表示单板所在的槽位号。如果未指定本参数,则在所有单板上配置负载分担方式。
【使用指导】
多次配置ip load-sharing mode命令和link-aggregation global load-sharing mode命令,最后一次执行的命令生效。
同时配置ip load-sharing mode命令和link-aggregation global load-sharing mode命令后,如果保存配置重启设备,则随机一条命令生效。因此,建议两条命令配置相同的负载分担类型。关于link-aggregation global load-sharing mode命令的详细描述请参见“二层技术-以太网交换命令参考”中的“以太网链路聚合”。
【举例】
# 配置指定slot基于报文逐包进行负载分担。
<Sysname> system-view
[Sysname] ip load-sharing mode per-packet 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
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!