这个以Null0为出接口的自动汇总条目是出现在发生汇总的路由器上,
下面讨论两种各种情况:
1,R1
router eigrp 100
network 10.1.1.0 0.0.0.255
network 172.16.1.0 0.0.0.255
network 172.16.2.0 0.0.0.255
network 172.16.3.0 0.0.0.255
R2
router
eigrp 100
network 10.1.1.0 0.0.0.255
network 10.2.2.0 0.0.0.255
R3
rotuter eigrp 100
network 10.2.2.0 0.0.0.255
此时,由于R1没有宣告子网172.16.4/5/6.0,因此R0 ,R2 路由表中没有R2直连的这三个子网,根据Null0条目的特性,
只有R1发生自动汇总,因为在其所直连的子网中,出现了子网边界,即:R0将172.16.1/2/3.0 汇总成172.16.0.0后,
通告给R1,R2,并在R0本身产生一个Null0的汇总条目,因为提及的汇总发生在R0上,。注意,R1,R2路由表上没有Null0条目。
这时,
1.从R2 用目的地址:172.16.1.0 发送ping包,R2中172.16.0.0的汇总条目的来源是从R1通告来的(最初来源于R0的汇总,
并不是真正来自R1,因为R1没有通告172.16.4/5/6.0)这时ping包到达R1,虽然有三个直连的172.16.4/5/6.0但都不匹配,因此向R1中的汇总条目匹配,
并将Ping包送给R0,此时在R0上匹配成功,并返回ping通 的结果。
并不是真正来自R1,因为R1没有通告172.16.4/5/6.0)这时ping包到达R1,与172.16.4.0匹配,返回Ping通结果。从R0向R1发送ping 172.16.4.0,由于R0本地三个子网不匹配,
因此向 Null0去匹配,并丢弃数据包,此时ping不通过。
并不是真正来自R1,因为R1没有通告172.16.4/5/6.0)这时ping包到达R1,虽然有三个直连的172.16.4/5/6.0但都不匹配,因此向R1中的汇总条目匹配,
并将Ping包送给R0,此时在R0上仍然没有匹配,此时去匹配R0上的172.16.0.0汇总Null0条目,由于Null0并不是一个真正的硬件接口,而是一个软件接口,
任何发送到该接口的数据包将被丢弃,因此,这个 ping包被丢弃,并发回一个ICMP 不可达消息。因此,说明Null0接口的作用是
当数据包对这个路由表中已存在的同一个主网的子网路由都不匹配时,就会将数据包在发送到默认路由(如果有的话)之前,发送到Null0中丢弃,这就防止当数据包
来的接口配置了默认路由时,将这个包又沿着来的接口返发回去,返发回去,就意味着可能出现环路,因此Null0接口避免了这种现象。
但这也存在弊端:当R1的eigrp通告172.16.4/5/6.0三个子网时,由于在R2上也发生了自动汇总,因此R1路由表也中出现了一个Null0汇总条目,
并覆盖那个从R0宣告来的普通汇总条目,原来的汇总条目出口是转发给R0,这时转发给了Null0,因此所有从R2发送PingR0那三个子网的数据包在经过R1时,由于没有匹配
R1上的三个子网,而被R1过滤出来发送给了Null0,也就是说,ping 172.16.1/2/3.0 的数据包根本不能到达R0,就被R1送到Null0 丢弃,所以出现ping不通的情况。在R1上ping R0的
三个子网,不通,从R1的路由表看出,此时已经没有到R0三个子网的路由表项,因此不通。
继续,将R1上的那三个子网从eigrp 的network宣告里删除,并查看路由表,发现R1和R2上原来由R0通告的172.16.0.0恢复(注意:PT模拟器不能恢复,有bug)。
综上所述,Null0 有几个特点:
1.过滤不匹配路由表里于Null0汇总同类主网的子网路由,并丢弃以这些路由为目的地址的数据包,巧妙利用null0 条目,避免环路
2,只要本地路由器含有null0条目,就ping不通与null0条目同主网的本地子网不匹配的其他子网。