0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

电子百科

Null接口

Null接口

配置NULL接口

  •   NULL 接口类似于一些操作系统中支持的空设备(null devices),任何送到该接口的网络数据报文都会被丢弃。系统自动创建一个NULL0 接口。

      由于任何到达 NULL 接口的报文都会被丢弃,可以将需要过滤掉的报文直接发送到NULL0 接口,而不必配置访问控制列表。

      例如:使用如下的静态路由配置命令:

      [Quidway] ip route-static 192.101.0.0 255.255.0.0 null 0

      将丢弃所有去往网段192.101.0.0 的报文。

      在配置NULL 接口之前,需使路由器安装完毕并加电启动正常。

      配置过程:要完成配置NULL 接口的任务,需要执行如下的配置过程。

    配置NULL接口

进入NULL接口视图

  •   在路由器上进行以下配置。

      步骤 1 执行命令system-view,进入系统视图。

      步骤 2 执行命令interface null 0,进入NULL 接口视图。

      NULL 接口永远处于up 状态,但不能转发数据包,也不能配置IP 地址或封装其他协议。

路由配置中Null接口的使用

  •   NULL接口是一种虚拟接口, 不能配地址,也不能被封装,它总是UP的,但是从来不转发或者接受任何通信量,对于所有发到该接口的通信量都直接丢弃。但它与lookback、tunnel、virtual-template等虚拟接口有所不同, NULL接口无需配置IP地址,以下是Null接口最常用的两种情况。

      1、结合BGP一起使用:BGP路由协议向外发布路由时使用network ip-address [mask mask]命令,但是该命令正确生效有一个前提,即在路由表中必须存在一条与ip-address mask 完全相同的路由。由于BGP都是经过聚合之后发布路由,因此在路由表中并没有与之对应的路由,所以需要使用ip route ip-address mask null0这样一条假静态路由来配合BGP。这样的路由只是配合BGP,不是真正的报文发送,也无需下一跳地址。

      2、配置黑洞路由避免环路产生:如图。假设RTD下连3台路由器,这些下连路由器的地址规划很有规律, RTD将此聚合成一条10.1.0.0/16的路由发送到上一级路由器RTE,同理,RTE上必定存在一条相同的路由10.1.0.0/16指回到RTD。由于RTD网络出口唯一,所以RTD上使用一条缺省路由指向RTE。

      上述情况正常情况下运行正常,但需要考虑如下突发事件:

      RTC到RTD之间的链路由于故障中断了,所以在RTD上将不存在去10.1.3.0/24,即指向RTC的路由。此时,若RTA下的一个用户发送报文,目的地址为10.1.3.1,则,RTA将此报文发送到RTD,由于RTD上已不存在去10.1.3.0/24的路由,所以选择缺省路由,将报文发送给RTE,RTE查询路由表后发现该条路由匹配10.1.0.0/16,于是又将该报文发送给RTD。同理,RTD会再次将报文发给RTE,此时,在RTD和RTE上就会产生路由自环。 解决上述问题的最佳方案就是,在RTD上配置一条黑洞路由: ip route 10.1.0.0 255.255.0.0 NULL 0, (目的地址为10.1.0.0/16的数据报文将被丢弃)这样,如果再发生上述情况时,RTD就会查找路由表,并将报文发送到NULL0接口(实际上就是丢弃此报文),从而避免环路的产生。

      ================================

      NULL 0接口

      null 0是路由器上的一个虚拟接口,也被称为丢弃端口,所有到达该端口的数据被直接丢弃。

      如:ip route 200.200.194.0 255.255.255.0 null 0

      ip route 200.200.195.0 255.255.255.0 null 0

      ip route 200.200.192.0 255.255.240.0 null 0

      假设:某公司新申请了16个C类地址,设为200.200.192.0/24-200.200.207.0/24;而现在初期建设阶段只用了其中3个:200.200.192.0、200.200.193.0、200.200.207.0,并有一台路由器通过点对点连接到Internet。

      那么在该路由器上就会有类似下面的路由表:

      200.200.192.0/24 :e0

      200.200.193.0/24 : e0

      200.200.207.0/24 : e1

      0.0.0.0/0 : s0

      最后一条为默认路径,指向Internet。

      现在的问题是:路由器接受到一个包,其目的地址为200.200.194.1。应该怎样处理?

      根据上面的路由表,唯一能匹配该地址的就是默认路由,如果没有其他的配置,路由器会将其发送到Internet上。但这样对么?200.200.194.1是在本公司所申请地址范围内的,只所以不存在是因为本公司还没有使用。可以肯定的是,在Internet上的其他地方也不会有这个地址。本路由器就应该将其丢弃。至少应当在路由器上写

      ip route 200.200.194.0 255.255.255.0 null0

      ip route 200.200.195.0 255.255.255.0 null0

      ...

      ip route 200.200.206.0 255.255.255.0 null0

      但是这样类似的十多条语句,岂不麻烦。

      用一句

      ip route 200.200.192.0 255.255.240.0 null0

      就可以了。

      200.200.192.0 255.255.240.0也就是200.200.192.0/20,是整个公司所有网段的汇总。当有200.200.193.0/24网段上的数据来时,因为使用最长匹配原则,会将数据转发到正确的网段(根据上面的例子是e0);而当地址为不存在,但在公司地址范围内的话,就会匹配这条丢弃语句,而不会匹配默认路由了。

      上面是使用静态路由时的例子,当使用路由协议时也有类似的情况。

      如OSPF中的area range命令,例如区域51使用192.168.168.0/24网段,该网络被划分了多个子网,但并非使用了所有的子网。那么

      area 51 range 192.168.168.0 255.255.255.0

      实际起了两个作用。1:向骨干区域宣告汇总的区域路由;2:没有使用的子网地址,不会传播到骨干区域(相当于一条null0语句)

      还例如,在允许自动边界汇总的EIGRP中,会在每个类地址边界上生成null0语句。OSPF的summary-address、EIGRP的summary-address语句也都有类似的两个功能。

提问者:韩程瑞1 地点:- 浏览次数:4679 提问时间:01-13 01:54
我有更好的答案
提 交
撰写答案
提 交
1 / 3
1 / 3
相关电子百科
3D晶体管
双极性晶体管
大功率晶体管
光敏电阻器
晶体管时间继电器