设为首页收藏本站language 语言切换
查看: 3484|回复: 4
收起左侧

[书籍] EIGRP中的RTP、Neighbor Discovery协议及Time总结

[复制链接]
发表于 2009-12-8 09:27:26 | 显示全部楼层 |阅读模式
EIGRP的运行所需要的四个组件包括:

1、Protocol-Dependent Modules(负责针对各种特定协议,如IP、IPX、APPLETALK)
2、RTP(Reliable Transport Protocol)
3、Neighbor Discovery/Recovery
4、Diffusing Update Algorithm(DUAL)

这里我们重点看下RTP以及Neighbor Discovery/Recovery功能。


一、RTP、EIGRP Protocol Number、EIGRP Packets Type

RTP负责EIGRP包的发送及接收,它是通过一种思科私有的算法来实现的,我们通常把它看作reliable multicast,reliable multicast使用了保留的D类地址:224.0.0.10。(这里顺带提一句,RIPv2使用的多播地址为:224.0.0.9。OSPF:224.0.0.5/6)每个邻居收到这种reliable multicast包的时候,必须使用unicast来进行应答。这是否类似于TCP/IP协议中的收发应答机制?TCP/IP协议并不仅仅有应答,它的一个重要功能是是告sequence number来对包进行排序,保证其顺序性。EIGRP中的RTP协议同样也有类似的功能,它也有sequence number计数器。

有些情况下,RTP协议也会使用unreliable delivery,这时候不需要应答,也不需要sequence number。

EIGRP使用了多种类型的包,就像我们使用protocol number 来识别TCP/UDP协议一样,TCP的协议号为6,UDP的协议号为17,都是为了让IP协议能识别上层协议。EIGRP的协议号为88。这样IP协议就能靠IP包中的protocol number字段的88来识别这是来自EIGRP的包了。下面我们按照可靠及不可靠的功能分别列出常见的EIGRP包类型:

不可靠:
  HELLO:用来neighbor discovery/recovery,HELLO包是multicast的
  ACK:一种特殊的HELLO包,无数据,ACK总是unicast的。
可靠:
  UPDATE:更新包,不像RIP以及IGRP的是,它只在有需求的时候传播,并且只包含必要的信息,当这些信息是由单个路由所请求,使用unicast,反之使用multicast
  Queries and Replies:被DUAL算法所使用,可以为multicast或unicast

在以上的EIGRP进程中,如果有任何的reliable multicast没有被ACK所应答,这个包将会以unicast方式重传给未响应的邻居,如果经过了16次unicast,仍未收到ACK,则宣告邻居dead。

我们将multicast转unicast所必须等待的这段时间称之为multicast flow timer
将16次unicast之间的间隔时间称为retransmission timeout(RTO),这两个值是通过smooth round-trip time(SRTT)所计算出的,而算法为思科私有。

二、Neighbor Discovery/Recovery 功能中所涉及到的“时间”总结
因为EIGRP的更新是非周期性的,所以它需要一种功能去跟踪邻居的状态,这就要提到hello包。

HELLO正常情况下每5秒以multicast的方式发送出去,为了避免synchronization,这也会像RIP一样被减去一个随机值。

在Multipoint环境下,比如X.25、Frame-relay、ATM链路上,或者小于T1速度的链路上,HELLO包会以60秒的间隔发送。默认情况下ATM SVC和ISDN PRI也使用60秒间隔。

HELLO包是不可靠的,不需要ACK。它的时间可以通过ip hello-interval eigrp在接口上改变。

当路由收到hello时,同时也会收到一个hold timer,这个值告诉路由器经过多长时间仍未收到下一个hello包,则可宣告邻居不存在。这个值通常是hello间隔的3倍。
正常情况下为15秒,multipoint环境下为180秒。我们可以通过ip hold-time eigrp在接口模式下对这个时间进行更改。

这里补充一点,之所以EIGRP收敛速度最快,有很多因素,这里hello间隔也是一点,我们可以横向作个比较,RIP需要经过180秒才可以检测到邻居失效,而IGRP则需要270秒,EIGRP只需要15秒。

以上所提到的这几个时间,我们可以通过show ip eigrp neighbor 进行验证,注意其中的SRTT RTO Q Seq字段。
发表于 2010-4-8 01:26:27 | 显示全部楼层
谢谢谢谢谢谢
沙发 2010-4-8 01:26:27 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2011-7-30 17:28:24 | 显示全部楼层
板凳 2011-7-30 17:28:24 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2018-10-21 22:07:51 | 显示全部楼层
感谢楼主分享,谢谢!
地板 2018-10-21 22:07:51 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2020-7-23 20:56:24 | 显示全部楼层
感谢楼主分享
5# 2020-7-23 20:56:24 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-5-15 21:03 , Processed in 0.062089 second(s), 23 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表