路由汇总处理不当,将会造成环路,此时需要在路由器中加入黑洞路由用来避免环路。
一般来说,一条路由无论是静态还是动态的,都需要关联到一个出接口,路由的出接口指的是设备要到达一个目的网络是的出站接口。在众多接口中,有一种接口非常特殊,那就是Null(无效接口),这种类型的接口只有一个编号,也就是0。Null0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时,如果使用出接口位Null0的路由,那么这些报文将被丢弃,就像扔进了一个黑洞里,因此出接口位Null0的路由又被称为黑洞路由。
黑洞路由还可以用于以下几个场景:
在部署了路由汇总的网络中,用于防止数据转发出现环路。
在部署了NAT地址转换的网络中,用于防止数据转发出现环路。
在BGP网络中,用于发布特定网段的路由。
黑洞路由:当去往某一目的地的静态路由具有“blackhole”属性时,无论配置的下一跳地址是什么,该路由的出接口均为NULL0接口,任何去往该目的地的IP报文都将被丢弃,并且不通知源主机。在网络遭受攻击的情况下,可以通过配置黑洞路由丢弃去往目的地址的报文。
system-view
[HUAWEI] ip route-static 1.1.1.1 32 null 0
查看设备上是否存在黑洞路由的方法如下:
在路由表中查看是否存在出接口为NULL 0接口的路由表项
[HUAWEI] display ip routing-table 1.1.1.1
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Static 60 0 D 0.0.0.0 NULL0
在FIB表中查看路由的出接口是否为NULL 0接口,或者当前标志为BHSU
[HUAWEI] display fib 1.1.1.1 verbose
Route Entry Count: 1
Destination: 1.1.1.1 Mask : 255.255.255.255
Nexthop : 0.0.0.0 OutIf : NULL0
LocalAddr : 0.0.0.0 LocalMask: 0.0.0.0
Flags : BHSU Age : 1091sec
具备路由表功能的华为数通产品都维护着两种非常重要的数据表:一是路由表,二是FIB表(数据转发表),也被称为转发数据库。
首先每台路由器都维护着一个全局路由表(不做特别说明就是路由表),使用display ip routing-table 命令所输出的表格就是全局路由表。我们将路由表视为路由控制的平面,实际上路由表并不直接指导数据的转发,换句话说,路由表在执行路由查询时,并不是在路由表中进行报文目的地址的查询,真正指导数据转发的是FIB表,路由器只是将路由表中的活跃路由下载到FIB表,此后如果路由表中的相关表项发生变化,FIB表也将立即同步。由于两张表的一致性,也因为路由表阅读起来较为直观,因此我们在绝大多数情况下会说:“路由器通过查询路由表来决定数据转发的路径”这一说法。实际上路由器真正查询的是FIB表,位于控制层面的路由表只是提供了路由信息而已。
查看FIB表可以通过display fib命令来实现。
display fib
命令功能
display fib命令用来查看转发信息表的信息。
命令格式
display fib [ slot-id ] [ verbose ]
参数说明
参数 参数说明 取值 slot-id 显示指定槽位号的FIB表信息。
整数形式,取值范围请根据设备实际配置选取。 verbose 显示转发信息表的详细信息。 - 视图
所有视图
缺省级别
1:监控级
使用指南
display fib命令以列表的方式输出转发信息表,每一行代表一条路由。
对于大量路由,使用通配符(|、begin、exclude、include、regular-expression)显示或显示详细信息会耗时较长,此时可以使用Ctrl+C停止显示。
使用实例
# 显示转发信息表摘要信息。
display fib Route Flags: G - Gateway Route, H - Host Route, U - Up Route S - Static Route, D - Dynamic Route, B - Black Hole Route L - Vlink Route -------------------------------------------------------------------------------- FIB Table: Total number of Routes : 8 Destination/Mask Nexthop Flag TimeStamp Interface TunnelID 192.168.129.255/32 127.0.0.1 HU t[157] InLoop0 0x0 192.168.129.116/32 127.0.0.1 HU t[157] InLoop0 0x0 255.255.255.255/32 127.0.0.1 HU t[63] InLoop0 0x0 127.255.255.255/32 127.0.0.1 HU t[63] InLoop0 0x0 127.0.0.1/32 127.0.0.1 HU t[63] InLoop0 0x0 127.0.0.0/8 127.0.0.1 U t[63] InLoop0 0x0 192.168.129.0/24 192.168.129.116 U t[157] Vlanif2001 0x0 192.168.0.0/16 192.168.129.1 GSU t[162] Vlanif2001 0x0 # 显示FIB的详细信息。 display fib verbose Route Flags: G - Gateway Route, H - Host Route, U - Up Route S - Static Route, D - Dynamic Route, B - Black Hole Route L - Vlink Route ------------------------------------------------------------------------------ FIB Table: Total number of Routes : 8 Destination: 192.168.129.255 Mask : 255.255.255.255 Nexthop : 127.0.0.1 OutIf : InLoopBack0 LocalAddr : 127.0.0.1 LocalMask: 0.0.0.0 Flags : HU Age : 243821sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 Destination: 192.168.129.116 Mask : 255.255.255.255 Nexthop : 127.0.0.1 OutIf : InLoopBack0 LocalAddr : 127.0.0.1 LocalMask: 0.0.0.0 Flags : HU Age : 243822sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 Destination: 255.255.255.255 Mask : 255.255.255.255 Nexthop : 127.0.0.1 OutIf : InLoopBack0 LocalAddr : 127.0.0.1 LocalMask: 0.0.0.0 Flags : HU Age : 243916sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 Destination: 127.255.255.255 Mask : 255.255.255.255 Nexthop : 127.0.0.1 OutIf : InLoopBack0 LocalAddr : 127.0.0.1 LocalMask: 0.0.0.0 Flags : HU Age : 243916sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 Destination: 127.0.0.1 Mask : 255.255.255.255 Nexthop : 127.0.0.1 OutIf : InLoopBack0 LocalAddr : 127.0.0.1 LocalMask: 0.0.0.0 Flags : HU Age : 243916sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 Destination: 127.0.0.0 Mask : 255.0.0.0 Nexthop : 127.0.0.1 OutIf : InLoopBack0 LocalAddr : 127.0.0.1 LocalMask: 0.0.0.0 Flags : U Age : 243916sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 Destination: 192.168.129.0 Mask : 255.255.255.0 Nexthop : 192.168.129.116 OutIf : Vlanif2001 LocalAddr : 192.168.129.116 LocalMask: 0.0.0.0 Flags : U Age : 243822sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 Destination: 192.168.0.0 Mask : 255.255.0.0 Nexthop : 192.168.129.1 OutIf : Vlanif2001 LocalAddr : 192.168.129.116 LocalMask: 0.0.0.0 Flags : GSU Age : 243817sec ATIndex : 0 Slot : 0 OriginAs : 0 BGPNextHop : 0.0.0.0 PeerAs : 0 QosInfo : 0x0 OriginQos: 0x0 NexthopBak : 0.0.0.0 OutIfBak : [No Intf] EntryRefCount : 0 VlanId : 0x0 BgpKey : 0 BgpKeyBak : 0 表6-64 display fib命令输出信息描述
项目
描述
FIB Table
FIB表。
Total number of Routes
路由表总数。
Destination/Mask
目的地址/掩码长度。
Nexthop
下一跳。
Flag
当前标志,G、H、U、S、D、B的组合。
G(Gateway网关路由):表示下一跳是网关。
H(Host主机路由):表示该路由为主机路由。
U(Up可用路由):表示该路由状态是Up。
S(Static静态路由)
D(Dynamic动态路由)
B(Black Hole黑洞路由):表示下一跳是空接口。
L(Vlink Route):表示Vlink类型路由。
TimeStamp
时间戳,表示该表项存在的时间,单位是秒。
Interface
到目的地址的出接口。
TunnelID
表示转发表项索引。该值不为0时,表示匹配该项的报文通过隧道转发。该值为0时,表示报文不通过隧道转发。
表6-65 display fib verbose命令输出信息描述
项目
描述
Destination
目的地址。
Mask
掩码。
Nexthop
下一跳。
OutIf
出接口。
LocalAddr
本地地址。
LocalMask
本地地址掩码。
Flags
当前标志,G、H、U、S、D、B的组合。
- G(Gateway网关路由):表示下一跳是网关。
- H(Host主机路由):表示该路由是主机路由。
- U(UP可用路由):表示该路由状态是UP。
S(Static静态路由):表示该路由为手动配置路由。
D(Dynamic动态路由):表示该路由为根据路由算法自动生成路由。
- B(Black Hole黑洞路由):表示下一跳是空接口。
L(Vlink Route):表示Vlink类型路由。
Age
表示该路由存在的时间,单位为秒。
ATIndex
本地与网关之间的虚连接索引。
Slot
出接口槽位号。
OriginAs
起始自治域号。
BGPNextHop
BGP下一跳地址。
PeerAs
相邻自治域号。
QosInfo
服务质量信息。
OriginQos
起始服务质量信息。
NexthopBak
下一跳备份。
OutIfBak
出接口备份。
EntryRefCount
引用计数。
VlanId
VLAN ID。
BgpKey
BGP路由的key值。
BgpKeyBak
BGP路由的备份key值。