Chinaunix首页 | 论坛 | 博客
  • 博客访问: 609147
  • 博文数量: 765
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 18:49
文章分类

全部博文(765)

文章存档

2011年(1)

2008年(764)

我的朋友

分类:

2008-10-16 19:02:54

  在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)实现相同的功能。

【责编:Kittoy】

--------------------next---------------------

阅读(555) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~