当前位置:文档之家› EIGRP协议学习笔记

EIGRP协议学习笔记

EIGRP协议学习笔记

EIGRP

介绍:EIGRP是思科私有协议,它属于增强型内部网关路由协议(高级矢量协议),它有时也被描述成一个具有链路状态协议行为特性的距离矢量协议。无类/IGP/混合/路由协议,支持VLMS(子网) / CIDR (支持超网) 支持认证(MD5加密),EIGRP协议使用了一个称为扩散计算(diffusing computations)的方法----在多台路由器之间通过一个并行的方式执行路由的计算从而在保持无环路的拓扑时可以随时获取较快的收敛,部分更新/增量更新。支持多个网络层协议组件(PDM)-------------(IP,IPv6,IPX等)不同网络层协议生成的EIGRP表是不一样的依赖PDM子模块实现的。以组播地址发送更新(组播地址224.0.0.10)也支持单播。支持接口的手工汇总,支持等价负载均衡和非等价负载均衡。EIGRP的管距:内部90 外部170 手工汇总5

三张表:

邻居表:所有的邻居

拓扑表:所有的路由条目

路由表:运行算法,选出最优路由条目

EIGRP协议包含以下4个部件

1,依赖于协议的模块

2,可靠传输协议(RTP)

3,邻居发现和恢复模块

4,扩散更新算法(DUAL)

依赖于协议的模块:EIGRP协议实现了IP协议,IPX协议和AppleTalk协议的模块,它可以担负起某一特定协议的路由选择任务,例如,IPX EIGRP 模块可以负责在IPX网络上与其他IPX EIGRP进程进行路由信息交换的任务,并且把这些信息传给DUAL。另外,IPX模块也接收和发送SAP信息

可靠传输协议(RTP):用来管理EIGRP报文的发送和接收,可靠的发送是指发送是有保障的而且报文是有序的发送。有保障的发送是依赖cisco公司私有的算法来实现的,这个私有的算法称为“可靠组播(reliable multicast)它使用保留的D类地址224.0.0.10。每个接收可靠组播报文的邻居都会发送一个单播的确认报文。有序的发送是通过在每个报文中包含两个序列号来实现的。每个报文都包含一个由发送该报文的路由器分配的序列号,这个序列号在每台路由器发送一个新的报文时递增1,另外,发送路由器会把最近从目的路由器收到的报文的序列号放在该报文中。在一些实例中,RTP也可以使用不可靠的发送,不需要确认,而且在使用不可靠发送的报文中不包含序列号。

EIGRP协议使用多种类型的报文,所有这些报文都通过IP报文头部的协议号88来标识。

1,hello报文(hello):用于邻居的发现和恢复的过程,hello报文使用组播方式发送,而且使用不可靠的发送方式。

2,确认报文(acknowledgments, ACKs)是不包含数据的hello报文,ACKs报文总是使用单播方式和不可靠的发送方式。

3,更新报文(update):用于传递路由更新信息,只在必要的时候传递必要的信息。这些报文是使用可靠的发送方式。

4,查询(query)和答复(reply)报文:用来管理它的扩散计算的,查询报文可以使用组播方式或者单播方式发送,而回复报文总是单播方式发送的。查询和回复报文都使用可靠的发送方式。

5,请求报文(request):最初是打算提花给路由服务器使用的报文类型。但是这个应用从来没有实现过。

当一个EIGRP的路由器不执行扩散计算时,每一条路由都处于被动状态(passive state)。1,任何时间,一个输入事件发生(收到一个更新报文)了,就会执行一个本地的计算;2,如果在路由器的拓扑结构表中发现了一台或多台可行后继路由器,那么将使用具有最低度量代价的可行后继路由器作为它的后继路由器;3,如果没有发现可行后继路由器,那么将使它的路由变成活动状态,向它的邻居路由器发送查询报文,以便确定一个可行后继路由器;4,在所有的查询报文被答复报文响应之前,或者活动计时器时超时之前,将保持路由的状态是活动状态;5,如果扩散计算的结果无法发现一个可行后继路由器那么宣告这个目的地不可达

EIGRP的报文格式

EIGRP协议报文的IP报文头部指定它的协议号是88,报文的最大长度可以是IP的最大传输单元(MTU)的大小----通常是1500个字节。紧接着IP头部后面的是EIGRP协议头部,EIGRP协议头部后面是类型/长度/数值(type/length/value TLV)这3个参数的不同组合。这些TLV不公携带路由条目的信息,而且提供多个字段来管理DUAL算法的处理,组播的先后次序和IOS软件版本。

EIGRP报文的头部

版本号(version):指出始发EIGRP进程处理的具体版本。

操作码(opcode):指出EIGRP报文的类型1是更新,3是查询,4是答复5是问候,6是IPX SAP 校验和(checksum):标准的IP校验和,它是基于除了IP头部的整个EIGRP报文来计算的。

标记(flags):目前包括两个标记。大部分的位设置为是init位,也就是设置为0x00000001,指出附加的路由条目是新的邻居关系的开始。第二位设置为0x00000002,表示条件接收位,并使用在一个私有的可靠组播算法中。

序列号(sequence):是一个用在RTP中的32位序列号。

确认序列号(ACK)是本地路由器从邻居路由器里收到的最新的一个32位序列号。

自主系统号(autonomous system number):指定一个EIGRP协议域的标识号。

一般的TLV字段:这些TLV字段可以携带EIGRP的管理信息而不需要指定任何一个可路由的协议。

IP特有的TLV字段:每一个内部路由和外部路由的TLV都包含一个路由条目。每个更新,查询和答复报文都至少包含一个跟帖TLV。

IP内部路由的TLV:指在EIGRP自主系统内部可以到达目的地的路径。

IP外部路由的TLV:指到达EIGRP自主系统外部的目的地址的一条路径,或者是一条通过路由重新分配注入到EIGRP域内的路由路径。

“卡”在活动状态的邻居(stuck-in-active neighors)

当本地路由器的一条路由变为活动状态并且向它的邻居路由发送查询报文时,如果因为某种原因,查询报文一直得不到回复,那么这条路由将一直保持活动状态,当发送发送一个查询报文时,活动计时器就被设置了,如果收到查询报文的答复报文之前,活动计时器超时了,这条路由就被宣告“卡”在活动状态的邻居,这条路由从邻居表中刷新掉,SIA路由和任何其他经过这个邻居的路由也就被推断为失效了,DUAL算法将会认为这个邻居已经答复了一个含有无穷大度量的报文。

Metric(复合度量值)

Bandwidth 带宽 K1 最低的带宽(kbps)

Delay 延迟 K3 整条路径的延迟(10微秒)

Reliability 可靠性 K4 可靠程度255/255(分数)

Loading 负载 K2 最大负载255/255(分数)

MTU 最大传输单元 K5 1500

相关主题