07-IP转发基础配置
本章节下载: 07-IP转发基础配置 (214.82 KB)
目 录
不同网络之间通常使用网络层地址(即IP地址)来进行通信。路由器收到一个IP报文后,根据报文的目的地址查找转发表,指导IP报文进行转发。
转发表,即FIB(Forwarding Information Base,转发信息库)表。
路由器通过路由表选择路由,把优选路由下发到FIB表中,通过FIB表指导IP报文转发。FIB表中每条转发表项都指明了要到达某子网或某主机的报文的下一跳IP地址以及出接口。
关于路由表的详细介绍,请参见“三层技术-IP路由配置指导”中的“IP路由基础”。
通过命令display fib可以查看FIB表的信息,例如:
<Sysname> display fib
Destination count: 4 FIB entry count: 4
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.0.0/16 10.2.1.1 U XGE1/0/1 Null
10.2.1.1/32 127.0.0.1 UH InLoop0 Null
127.0.0.0/8 127.0.0.1 U InLoop0 Null
127.0.0.1/32 127.0.0.1 UH InLoop0 Null
FIB表中包含了下列关键项:
· Destination:目的地址。用来标识IP报文的目的地址或目的网络。
· Mask:网络掩码。与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为192.168.1.40、掩码为255.255.255.0的主机或路由器所在网段的地址为192.168.1.0。掩码由若干个连续“1”构成,既可以用点分十进制法表示,也可以用掩码中连续“1”的个数来表示。
· NextHop:转发的下一跳地址。
· Flag:路由的标志。
· OutInterface:转发接口。指明IP报文将从哪个接口转发。
· Token:LSP(Label Switched Path,标签交换路径)索引号。
· Label:内层标签值。
执行本命令后,IP转发表项信息将保存在用户指定的文件中。如果名称为filename的文件不存在,系统会先创建该文件,再保存;如果已存在,则会覆盖原文件的内容。
如果需要周期性地自动保存IP转发表,可以通过配置定时执行任务功能,采用循环执行方式,让设备在指定时间到达时,自动执行命令。关于配置定时执行任务功能的详细介绍,请参见“基础配置指导”中“设备管理”。
表1-1 将当前的IP转发表项保存到用户指定的文件中
操作 |
命令 |
说明 |
将当前的IP转发表项保存到用户指定的文件中 |
ip forwarding-table save filename filename |
本命令只用来触发一次IP转发表项保存到用户指定的文件中 本命令可在任意视图下执行 |
如果当前系统的IP报文转发效果达不到预期,可以通过本功能检查IPv4 FIB软件表项与驱动硬件表项的一致性。该功能开启后,设备将定时对所有的IPv4 FIB软件表项下发驱动进行检查,如果与驱动硬件表项不一致则打印日志信息,同时根据IPv4 FIB软件表项刷新驱动硬件表项。
表1-2 开启IPv4 FIB表项一致性检查功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启IPv4 FIB表项一致性检查功能 |
fib consistency-check enable |
缺省情况下,IPv4 FIB表项一致性检查功能处于关闭状态 |
查看转发表的信息是定位转发问题的基本方法。在任意视图下执行display命令可以显示转发表信息。
表1-3 IP转发表显示和维护
操作 |
命令 |
显示FIB表项的信息 |
display fib [ vpn-instance vpn-instance-name ] [ ip-address [ mask | mask-length ] ]- |
对同一路由协议来说,允许配置多条目的地相同且开销也相同的路由。当到同一目的地的路由中,没有更高优先级的路由时,这几条路由都被采纳,在转发去往该目的地的报文时,依次通过各条路径发送,从而实现网络的负载分担。
配置负载分担的内容包括:
· 配置负载分担方式:设备上存在多条等价路由时,可以根据报文中的信息(源IP地址、目的IP地址、源端口、目的端口和IP协议号)配置逐流进行负载分担。
· 配置负载分担算法切换:在某些复杂的组网环境中,单一的负载分担算法不能满足负载分担的需求,可能出现设备负载分担不均匀的时候。这种情况下可以通过指定不同的负载分担算法来实现设备负载分担算法切换,保证负载分担均匀。
dest-ip、dest-port、ip-pro、src-ip、src-port参数和algorithm algorithm-number参数同时配置后,通过algorithm algorithm-number参数配置的算法切换不生效。
表2-1 配置负载分担方式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置负载分担方式 |
(独立运行模式) ip load-sharing mode { per-flow [ algorithm algorithm-number [ seed seed-number ] [ shift shift-number ] | |[ dest-ip | dest-port | ip-pro | src-ip | src-port ] * | tunnel { inner | outer } ] } { global | slot slot-number } (IRF模式) ip load-sharing mode { per-flow [ algorithm algorithm-number [ seed seed-number ] [ shift shift-number ] | [ dest-ip | dest-port | ip-pro | src-ip | src-port ] * | tunnel { inner | outer } ] } { chassis chassis-number slot slot-number | global } |
缺省情况下,设备基于报文的源IP地址、目的IP地址、源端口、目的端口和IP协议号逐流进行负载分担 |
当IRF设备转发报文时,如果查询到的是等价路由且出接口在不同成员设备上,可能会将报文透传到某个成员设备再发送,这会使报文转发效率变低,也会影响成员设备间的数据处理能力。当配置了等价路由负载分担本地优先的功能以后,如果在处理报文的成员设备上存在等价路由的出接口,就只从当前设备发送报文,而不会再透传到其他成员设备发送。
当聚合接口为等价路由的出接口之一时,即使该聚合接口位于其他成员设备上,也始终参与负载分担。
表2-2 开启等价路由负载分担本地优先功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启等价路由负载分担本地优先功能 |
ip load-sharing local-first enable |
缺省情况下,等价路由负载分担本地优先功能处于开启状态 |
在任意视图下执行display命令可以显示配置后的运行情况,通过查看显示信息验证配置的效果。
表2-3 负载分担显示和维护
操作 |
命令 |
显示当前使用的负载分担方式 |
(独立运行模式) display ip load-sharing mode slot slot-number (IRF模式) display ip load-sharing mode chassis chassis-number slot slot-number |
指定计算等价路由哈希选路的参数并显示计算出的等价路由哈希选路信息 |
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 | flow-label flow-label ] } [ dest-port port-id | ip-pro protocol-id | src-port port-id | vpn-instance vpn-instance-name ] * |
在Switch A和Switch B之间存在两条等价路由,要求实现通过Switch B到达目的地址为1.2.3.4/24的报文在两条等价路由上基于源和目的地址进行负载分担。
图2-1 负载分担配置举例组网图
# 配置Switch A
<SwitchA> system-view
[SwitchA] vlan 10
[SwitchA-vlan10] port gigabitethernet 1/0/1
[SwitchA-vlan10] quit
[SwitchA] vlan 20
[SwitchA-vlan20] port gigabitethernet 1/0/2
[SwitchA-vlan20] quit
# 配置接口Vlan-interface10和Vlan-interface20的IP地址。
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip address 10.1.1.1 24
[SwitchA-Vlan-interface10] quit
[SwitchA] interface vlan-interface 20
[SwitchA-Vlan-interface20] ip address 20.1.1.1 24
[SwitchA-Vlan-interface20] quit
# 配置Switch B
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] port gigabitethernet 1/0/1
[SwitchB-vlan10] quit
[SwitchB] vlan 20
[SwitchB-vlan20] port gigabitethernet 1/0/2
[SwitchB-vlan20] quit
# 配置接口Vlan-interface10和Vlan-interface20的IP地址。
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] ip address 10.1.1.2 24
[SwitchB-Vlan-interface10] quit
[SwitchB] interface vlan-interface 20
[SwitchB-Vlan-interface20] ip address 20.1.1.2 24
[SwitchB-Vlan-interface20] quit
# 在Switch A上配置静态路由
<SwitchA> system-view
[SwitchA] ip route-static 1.2.3.4 24 10.1.1.2
[SwitchA] ip route-static 1.2.3.4 24 20.1.1.2
[SwitchA] quit
# 通过查看转发表观察两条等价路由
<SwitchA> display fib 1.2.3.4
Destination count: 1 FIB entry count: 2
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
1.2.3.0/24 10.1.1.2 USGR Vlan10 Null
1.2.3.0/24 20.1.1.2 USGR Vlan20 Null
# 配置基于源IP地址和目的IP地址的负载分担
<SwitchA> system-view
[SwitchA] ip load-sharing mode per-flow dest-ip src-ip global
[SwitchA] quit
<SwitchA> display counters outbound interface GigabitEthernet
Interface Total (pkts) Broadcast (pkts) Multicast (pkts) Err (pkts)
GE1/0/1 1045 0 0 0
GE1/0/2 1044 0 0 0
由上表可以看出来,通过Switch A的两个接口的报文数量基本相同,实现了负载分担。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!