在EIGRP中,只要发生总结就会在路由表中自动产生一条指向NULL0的路由条目,这条路由的直接意思是:匹配这条路由的数据包会被路由器丢掉。它的目的是为了避免在某些情况下产生路由环路。

  以第三四学期的中文书P86中的图4-15为例做个说明:

  假设RTC向RTD发送总结路由2.1.0.0/16,RTD收到后在自己的路由表中添加相应的条目。到此为止一切正常,看不出产生一条指向NULL0的路由条目的用处。但是当被RTC所总结的具体路由出现故障时就会遇到问题。(图中没有)不妨假设RTC的左侧本来有4个子网网段:2.1.0.0/24、 2.1.1.0/24、2.1.2.0/24、2.1.3.0/24(精确总结应该总结为2.1.0.0/22,但以书中的2.1.0.0/16并不影响我们讨论这个问题),如果某一段时间2.1.1.0/24这个网段发生故障,比如接口down了,那么在RTC上会立即有所反映,RTC上关于 2.1.1.0/24的直连路由消失,同时我们知道汇总路由有这样一个特点:被总结的路由中哪怕只有一条是正常的,汇总路由都不会发生变化,也就是说仅仅 RTC的左侧的2.1.1.0/24这个网段失效RTD并不会有所察觉,它的路由表项2.1.0.0/16仍然存在。这时如果RTD收到一个目的地址为 2.1.1.0/24网段的数据包它会把它送到RTC上,而RTC接着查看自己的路由表发现没有2.1.1.0/24这个网段的路由(原因如前所说网段失效后直连路由消失),这样RTC会把这个数据包丢掉。到此为止还是看不出产生一条指向NULL0的路由条目到底有何用处。

  但是在前面我们假设的条件下,当RTC上存在一条缺省路由指向RTD时情况就有所不同了,RTC发现没有2.1.1.0/24这个网段的路由之后,它会按照缺省路由把目的地址为2.1.1.0/24网段的数据包再送回到RTD上,这样就产生了路由环路。这类数据包会反复在RTC和RTD上传送,直到TTL =0为止。这样会占用RTC和RTD之间线路的带宽,很没有必要,而在发生总结的路由器上产生一条2.1.0.0/16 is a summary, Null0 的路由就会打断这个环路,因为在缺省路由生效之前,目的地址为2.1.1.0/24网段的数据包符合2.1.0.0/16 Null0这条路由,因此这类数据包会被RTC丢掉。

  总结:当发生汇总的路由器上存在缺省路由时,指向NULL0的路由条目可以帮助避免产生环路。

  目前高版本的IOS中,类似EIGRP这类高级路由协议(例如OSPF等)在发生总结时都会自动产生指向NULL0的路由条目。而明白了这个原理之后,对于RIP和IGRP这类协议也可以通过手工设置静态路由的方式(最后的接口直接写NULL0)实现相同的功能。

Loopback、Null0接口揭秘

Loopback、Null0接口揭秘

Loopback接口
Loopback接口简介
Loopback接口是虚拟接口,大多数平台都支持使用这种接口来模拟真正的接口。这样做的好处是虚拟接口不会像物理接口那样因为各种因素的影响而导致接口被关闭。事实上,将Loopback接口和其他物理接口相比较,可以发现Loopback接口有以下几条优点:
Loopback接口状态永远是up的,即使没有配置地址。这是它的一个非常重要的特性。
Loopback接口可以配置地址,而且可以配置全1的掩码--这样做可以节省宝贵的地址空间。
Loopback接口不能封装任何链路层协议。
对于目的地址不是loopback口,下一跳接口是loopback口的报文,路由器会将其丢弃。对于CISCO路由器来说,可以配置[no] ip unreachable命令,来设置是[否]发送icmp不可达报文,对于VRP来说,没有这条命令,缺省不发送icmp不可达报文 。
Loopback接口的应用
基于以上所述,决定了Loopback接口可以广泛应用在各个方面。其中最主要的应用就是:路由器使用loopback接口地址作为该路由器产生的所有IP包的源地址,这样使过滤通信量变得非常简单。
在远程访问中的应用
使用telnet实现远程访问。
配置telnet,使从该路由器始发的报文使用的源地址是loopback地址。配置命令如下:
ip telnet source-interface Loopback0
使用RCMD实现远程访问。
配置RCMD,使从该路由器始发的报文使用的源地址是loopback地址。配置命令如下:
ip rcmd source-interface Loopback0
在安全方面的应用
在TACACS+中的应用。
配置TACACS+,使从该路由器始发的报文使用的源地址是loopback地址。配置命令如下:
ip tacacs source-interface Loopback0
tacacs-server host 215.17.1.1
可以通过过滤来保护TACACS+服务器--只允许从LOOPBACK地址访问TACACS+端口,从而使读/写日志变得简单,TACACS+日志纪录中只有loopback口的地址,而没有出接口的地址。
在RADIUS用户验证中的应用。
配置RADIUS, 使从该路由器始发的报文使用的源地址是loopback地址。配置命令如下:
ip radius source-interface Loopback0
radius-server host 215.17.1.1
auth-port 1645 acct-port 1646
这样配置是从服务器的安全角度考虑的,可以通过过滤来保护 RADIUS服务器和代理--只允许从LOOPBACK地址访问RADIUS端口,从而使读/写日志变得简单,RADIUS日志纪录中只有loopback口的地址,而没有出接口的地址。
在纪录信息方面的应用
输出网络流量纪录。
配置网络流量输出,使从该路由器始发的报文使用的源地址是loopback地址。配置命令如下:
ip flow-export source Loopback0
Exporting NetFlow records Exporting NetFlow
这样配置是从服务器的安全角度考虑的,可以通过过滤来保护 网络流量收集--只允许从LOOPBACK地址访问指定的流量端口。
日志信息方面。
发送日志信息到Unix或者Windows SYSLOG 服务器。路由器发出的日志报文源地址是loopback接口,配置命令如下:
logging source-interface loopback0
这样配置是从服务器的安全角度考虑的,可以通过过滤来保护 SYSLOG服务器和代理--只允许从LOOPBACK地址访问syslog端口,从而使读/写日志变得简单,SYSLOG日志纪录中只有loopback口的地址作为源地址,而不是出接口的地址。
在NTP中的应用
用NTP(网络时间协议)使所有设备的时间取得同步,所有源于该路由器的NTP包都把Loopback地址作为源地址。配置如下:
ntp source loopback0
ntp server 169.223.1.1 source loopback 1
这样做是从NTP的安全角度着想,可以通过过滤来保护NTP系统--只允许从loopback地址来访问NTP端口。NTP将Loopback接口地址作为源地址,而不是出口地址。
在SNMP中的应用
如果使用SNMP(简单网络管理协议),发送traps时将loopback地址作为源地址。配置命令:
snmp-server trap-source Loopback0
snmp-server host 169.223.1.1 community
这样做是为了保障服务器的安全,可以通过过滤来保护SNMP的管理系统--只允许从Loopback接口来访问SNMP端口。从而使得读/写trap信息变得简单。SNMP traps将loopback接口地址作为源地址,而不是出口地址。
在Core Dumps中的应用
如果系统崩溃,有Core dump特性的路由器能够将内存的映像上传到指定的FTP服务器。配置Core dumps使用loopback地址作为源地址。配置命令如下:
ip ftp source-interface loopback 0
exception protocol ftp
exception dump 169.223.32.1
这样的做的好处是保证了Core Dump FTP 服务器的安全,通过过滤能够保护用于core dumps的FTP服务器--只允许从loopback地址访问FTP端口。
这个FTP服务器必须是不可见的。
在TFTP中的应用
通过TFTP从TFTP服务器配置路由器,可以将路由器的配置保存在TFTP服务器,配置TFTP,将loopback地址作为源于该路由器的包的源地址。配置命令如下:
ip tftp source-interface Loopback0
这样做对TFTP服务器的安全是很有好处的:通过过滤来保护存储配置和IOS映像的TFTP服务器--只允许从loopback地址来访问TFTP端口,TFTP服务器必须是不可见的。
在IP unnumbered中的应用
应用IP Unnumbered在点到点链路上就不需要再配置地址了。配置举例:
interface loopback 0
ip address 215.17.3.1 255.255.255.255
interface Serial 5/0
ip unnumbered loopback 0
ip route 215.34.10.0 255.255.252.0 Serial 5/0
在Router ID中的应用
如果loopback接口存在、有IP地址,在路由协议中就会将其用作Router ID,这样比较稳定--loopback接口一直都是up的。
如果loopback接口不存在、或者没有IP地址,Router ID就是最高的IP地址,这样就比较危险--只要是物理地址就有可能down掉。
对于CISCO来说,Router ID是不能配置的,对于VRP来说,Router ID可以配置,那麽我们也可以将Loopback接口地址配成Router ID。
配置BGP
在IBGP配置中使用loopback接口,可以使会话一直进行,即使通往外部的接口关闭了也不会停止。配置举例:
interface loopback 0
ip address 215.17.1.34 255.255.255.255
router bgp 200
neighbor 215.17.1.35 remote-as 200
neighbor update-source loopback 0
Null0接口
Null0接口简介
Null0口是个伪接口(pseudo-interface),不能配地址,也不能被封装,它总是up的,但从不转发或接收任何通信量。
Null0的配置命令
为指定空接口,在全局配置模式下使用下面命令:
interface null 0
任何命令,只要有接口类型这个参数的都可以使用null0接口。 对于CISCO路由器来说,Null接口唯一一条配置命令是[no] ip unrechable,该命令的作用是设置是[否]发送icmp不可达报文,对于VRP来说,没有这条命令,缺省不发送icmp不可达报文 。
Null0接口的应用
Null0接口从不转发或接收任何通信量,对于所有发到该接口的通信量都直接丢弃,由于它的这个特征,使它被广泛应用。
防止路由环
null接口最典型的使用是用来防止路由环。例如,EIGRP在聚合一组路由时,总是创建一条到NULL接口的路由。
举例如下:
如图所示,一台CISCO AS5200通过ISDN为多个远端站点路由器提供接入服务。在ISDN连接期间通过RADIUS创建到远端局域网的路由。在CISCO AS5200有一条到网关路由器的静态路由,网关路由器通过CISCO AS5200有静态路由到远端局域网,还有到Internet的连接。

当ISDN连接down掉时,从Internet向远端站点传送的包就会走静态路由到CISCO AS5200,而CISCO AS5200会将流量再返回给网关路由器--因为CISCO AS5200已经没有到远端局域网的路由了。网关路由器再将包发给CISCO AS5200。这个过程会一直重复到TTL计数器超时。由此产生的“包洪水”会使CPU极为繁忙,利用率达到98%以上,从而使远端路由器不能再建连接,直到“风暴”停止。
配置下一跳是null0,目的地址是远端局域网的浮动静态路由命令如下:
ip route 192.168.10.0 255.255.255.0 Null0 200
除非ISDN连接是UP的,否则从网关转发到Cisco AS5200的包会被丢弃。如果连接是UP的,通过RADIUS会创建一条更优的路由,流量也会正常。CPU的负担会骤然降低,路由器能够正常工作。
用于安全方面
null0接口提供了过滤通信量的一个可选的方法,可以通过将不想要的通信量引到空接口,来避免过分涉及访问列表的使用。下面对访问列表和null0做一下比较。
null0和访问列表都可以用于过滤通信量,这两种用法相比,各有裨益。
1、使用null0配置简单,只要将不想要的通信量的下一跳接口配制成null0就可以了,当路由器收到报文时,直接查找转发表,发现下一跳是null0,不做任何处理,直接丢弃。而如果使用访问列表,首先要配置规则,然后将它应用到接口,当路由器收到报文时,要首先查找访问列表的队列,如果是deny的,就直接扔掉,如果是permit的,还要查找转发表。所以对比起来,应用null0效率要高,速度要快。
举例如下:
某路由器不希望收到目的是131.1.0.0/16的通信量。
用null0实现,只要配置ip route 131.1.0.0 255.255.0.0 null 0就可以了。如果用访问列表实现,就要先配置一条acl规则如下:access-list 100 deny any 131.1.0.0 0.0.255.255,然后将这条规则在路由器的所有接口上应用。
2、null0不能细化通信量,它面向的对象是整个路由器,而访问列表是可以面向接口的,如果细致到面向接口的通信量,null0就不能做到了。
举例如下:
某路由器不希望在接口s3/1/0收到目的是131.1.0.0/16的通信量。
用null0是不能实现的,只能通过配置acl规则,然后将其应用到接口s3/1/0。

用于BGP的负载分担

用于防止路由振荡
在IP网络规划的比较好时
在一个AS内部用的是IGP,AS之间用的是BGP,不推荐在BGP中将IGP的路由redistribute,因为IGP的路由不稳定,可能会导致路由振荡,因为Null0接口是永远up的,所以可以通过以下配置来将IGP路由发布出去:
ip route ip_address mask null0
router bgp as_number
network ip_address mask mask
这样可以防止路由振荡!

转载于:https://blog.51cto.com/fighterbar/705127

EIGRP OSFP 利用NULL0接口防止路由环路 Loopback Null0接口揭秘相关推荐

  1. linux路由相关函数,Linux 路由 学习笔记 之十一 输入、输出路由查找相关的接口函数...

    对于路由功能模块的学习,也已经很长时间了.关于路由项的创建与查找.策略规则相关的创建与查找.路由缓存的创建与查找,都是分开来分析的,没有说明这些模块是如何配合使用的,以及模块之间的联系.本节就分析一下 ...

  2. ospf避免环路_路由环路知识点总结!

    人类的创造力与破坏力同样强大". 网路互通,同样也衍生出纷繁复杂的路由协议和各种因特网服务,以及"网络安全"这个庞大的领域. 这也是为什么说当今所有的网络通讯流量中,80 ...

  3. 【★】路由环路大总结!

    一.前言: "人类的创造力与破坏力同样强大".互联网行业尤其是网络构建这一领域,从根本上一直存在着一个无奈之处:网络本可以设计的很简单,只要实现网络的连通性即可,甚至全互联,但就是 ...

  4. 怎么样解决小交换机引起的路由环路故障?

    一般引起路由故障的原因有很多,例如管理不善,私自接一些交换机.路由器等.那么,如何解决小交换机引起的路由环路故障?接下来我们就跟随飞畅科技的小编一起来详细看看吧! 环路会导致交换机性能衰竭,无法交换发 ...

  5. 【超好玩的路由环路系列】2——汇总环路

    汇总环路概述 在配置静态路由或动态路由的情况下,有时候会使用路由汇总的功能来减少路由表的大小,但是如果配置不当,可能会引发环路隐患,当有些扫描软件或病毒发包触发环路后,可能会引起网络拥塞甚至瘫痪!!! ...

  6. (考研湖科大教书匠计算机网络)第四章网络层-第五节:静态路由配置及其可能产生的路由环路问题

    获取pdf:密码7281 专栏目录首页:[专栏必读]王道考研408计算机网络+湖科大教书匠计算机网络+网络编程万字笔记.题目题型总结.注意事项.目录导航和思维导图 王道考研408计算机组成原理万字笔记 ...

  7. 为了解决伴随RIP协议的路由环路问题,可以采用水平分割法,这种方法的核心是(22),而反向毒化方法则是(23)。

    为了解决伴随RIP协议的路由环路问题,可以采用水平分割法,这种方法的核心是(22),而反向毒化方法则是(23). (22) A.把网络水平地分割为多个网段,网段之间通过指定路由器发布路由信息 B.一条 ...

  8. SpringCloud-使用路由网关统一访问接口(附代码下载)

    场景 SpringCloud-使用熔断器仪表盘监控熔断: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102673599 Spr ...

  9. 路由环路的产生及解决

    路由 环路的产生 当A路由器 一侧的X网络 发生故障,则A路由器 收到故障信息,并把X网络 设置为不可达,等待更新周期来 通知相邻的B路由器.但是,如果相邻的B路由器的更新 周期先来了,则A路由器讲从 ...

最新文章

  1. python每隔2s执行一次hello world!
  2. 分享九款构建响应式网站的最佳PHP框架
  3. TCP/IP 笔记 - TCP连接管理
  4. servlet解决javascript传来中文乱码问题
  5. Python到底有多实用?这些功能你需要了解
  6. App设计灵感之十二组精美的外卖App设计案例
  7. 去广告,原来可以如此简单——ADSafe 3.5.4.520 精简版
  8. MVC Controllers和Forms验证
  9. 我常用的python函数(part2)--executemany方法
  10. Android系统root破解原理分析
  11. 经济专业为什么学python_既然有了会计学专业,为什么还要有税收学专业?
  12. 【排序二】选择排序(选择排序堆排序)
  13. 智能物流的常见应用场景及系统
  14. win10在哪里找到计算机,win10计算器在哪里?win10怎么调出计算器?
  15. u盘在 计算机管理显示无媒体,urdrive_u盘显示无媒体怎么办_启动盘
  16. 【论文阅读】Smartphone Sensors for Health Monitoring and Diagnosis
  17. 数显之家快讯:【SHIO世硕心语】会议显示需求的多样化带来新竞争!
  18. 使用VS编写C语言程序遇到的scanf错误
  19. 07.显示系统:第005课_Vsync机制:第004节_surface使用vsync过程代码分析
  20. TL-link WAR1208L多wan路由器带宽叠加设置

热门文章

  1. iOS点击空白收回键盘
  2. 关于软件产业的两个契机
  3. CentOS 6.9下配置安装KVM
  4. 关于Less的学习笔记
  5. hdu 2795 段树--点更新
  6. SEO查询指令,非常值得你收藏!
  7. 雨林木风爱好者GHOSTXP装机版_NTFS_SP3_2010_03
  8. 【推荐】Flex+asp.net上传文件
  9. 再谈Linux修改应用程序获得root权限
  10. 编译Linux Kernel(linux-4.19.178)并制作成rpm文件