NULL口是个伪接口(pseudo-interface),不能配地址,也不能被封装,它总是UP的,但是从来不转发或者接受任何通信量,对于所有发到该接口的通信量都直接丢弃。
不管是手动汇总还是自动汇总汇总的接口都是空接口NULL0
EIGRP 中的null0接口:指向null0 ,因为这个路由是拿来通告的,给自己接口方向的邻居减少路由表用的,而不表示一个实际的可以到达明细网络的路由,从邻居通过汇总路由来的到分组,还是要查 本身的明细路由的,如果进来分组在汇总路由不匹配,直接丢给null 0端口。就是说使用接口null0能避免路由器转发分组的时候寻找匹配程度更高的路由,阻止分组在网络内形成环路。
在EIGRP中,只要发生总结就会在路由表中自动产生一条指向NULL0的路由条目,这条路由的直接意思是:匹配这条路由的数据包会被路由器丢掉。它的目的是为了避免在某些情况下产生路由环路。
比如说A和B是邻居
A连了三个网络192.168.1.0/24 192.168.2.0/24 192.168.3.0/24
然后在A上做了汇总192.168.0.0/16
A把这个汇总路由传给B
然后B传过来一个包,目的是192.168.4.0/24
如 果,不是汇总到NULL0接口,看其过程:先分条细细匹配192.168.1.0/24 192.168.2.0/24 192.168.3.0/24,由于匹配不到,则匹配汇总路由192.168.0.0/16,则根据最长匹配原则,该分组与汇总路由匹配,那就出现了一种 现象,如果这路由器有默认路由,则此包会沿默认路由转发分组,这样有可能造成了路由环路再来看看,如果有了NULL0接口,看其过程,看其过程:先分条细 细匹配192.168.1.0/24 192.168.2.0/24 192.168.3.0/24,由于匹配不到,则被转发到NULL0接口(注意,不是再来跟汇总路由匹配),而转发到NULL0,它就被丢弃或者到了比特 桶(bit bucket,路由器确定的被丢弃比特(被丢弃的分组)的目的地),避免产生了以上的环路。
Introduction
一般情况下,路由器提供一个称为NULL0的接口,该接口是一个逻辑接口,有一个重要的特性:永远是UP的,并且发送到该接口的数据帧都会被丢弃。由此可以推断,如果我们在路由器上配置一条静态路由,该路由的出口就是NULL0,那么该路由会有下列特性:
1、这个静态路由永远的有效,那是因为接口不会DOWN掉;
2、使用该路由转发数据帧消耗的系统资源很少,因为路由器只是丢弃接收的数据报;
3、路由器根据配置的参数要不然向数据源发一个丢弃通知(ICMP通知消息),要不就不做任何反应。
正是有了这些特性,使得该接口有广泛而重要的用途,尤其在进行一些高级的路由策略时,比如路由聚合,网络发布等,有灵活而巧妙的应用。下面具几个例子:
NULL0与路由汇总
一 般情况下,为了提高网络的可伸缩性,都得在边缘路由器上弄路由聚合。但是路由聚合需要满足一些的条件,比如,OSPF中,只能在区域边界路由器对 路由进行汇总,这样,为了进行路由聚合,我们就得进行划分多区域,但是这在某些情况下是不可满足的,再者,在BGP中,为通知一个汇总网络,这个网络就得 存在在路由表,否则无法通知。
但如果使用了NULL0接口和静态路由技术,这些问题会很巧妙的被解决。下面我们举两个例子,一个例子说明如何解决单区域情况下的OSPF路由汇总,另外一个例子说明在BGP中如何通告聚合路由。这两个例子都很有代表性。
1.1 单区域模式下OSPF路由汇总
这个网络,RT1经过两个高速的POS链路直接连接上层的两台中心路由器CRT1和CRT2,在RT1下面直接连接了很多DDN的用户,每个DDN的用户用一个C类IP的地址,目前已经使用了四个:
192.168.1.0,192.168.2.0,192.168.3.0,192.168.4.0,按照这样,192.168.0.0/16整个分配给该了路由器下的DDN的用户以使用。
在 RT1和两台中心路由器之间运行OSPF协议,RT1和DDN用户之间采用静态路由,为了把DDN用户的静态路由分发到整个INTERNET,在 RT1上把所有静态路由引入了OSPF.这样工作起来是没有问题的,但因为整个192.168.0.0/16路由都分配给了RT1,即说明该网络不会在外 部网络上出现,这时候我们可以采用路由聚合的技术,把这