EIGRP是思科私有协议,是一个距离矢量路由协议。
EIGRP可以支持的协议有IP、IPX、AppleTalk。
EIGRP的流量使用IP协议号88.
EIGRP内部的管理距离为90,从外部重分布进EIGRP的管理距离为170.
EIGRP使用DUAL算法来计算到达目的网络的最佳路径 。
EIGRP使用AS区域的概念,不同区域的EIGRP是不能相互传递路由信息的。AS是基于接口定义的。
EIGRP最大支持255跳,默认情况下为100跳。
EIGRP支持CIDR和VLSM,默认也会自动汇总路由,该功能可以手工关闭;EIGRP支持手动汇总路由,且手动汇总没有任何限制,可以汇总到任意掩码长度。
EIGRP支持认证且只支持MD5认证。可以使用offset list修改路由的metric,只可增加不可减少。
EIGRP采用增量更新,只有路由有变化时,才会发送周期,并且只发送有变化的路由信息。
EIGRP支持非等价负载均衡,默认为4条,最多支持6条。
EIGRP metric
EIGRP的度量值分别为带宽、延迟、可靠性、负载、最大传输单元,这5个参数分别使用K1/K2、K3、K4、K5来表示,默认情况下,K1=K3=1,K2=K4=K5=0
EIGRP在计算度量值时,只需要计算从源到目的的最低带宽、延迟要各个接口的延迟之和。
公式中的带宽为10000000除以最小带宽,单位为kbits,延迟为所有延迟和除以10,单位是ms。
EIGRP邻居
EIGRP只会向自己的邻居以单播的形式发送路由表,也就是说EIGPR间要交换路由表,必须先建立邻居关系。EIGRP间的邻居关系通过发送HELLO包来发现和维护。
路由器上 启动EIGRP后,会使用224.0.0.10在相应接口上发送HELLO包,EIGRP会使用一张单独的表记录哪些路由器是自己的邻居,称为邻居表。只要收到HELLO包,便 将对方列为自己的邻居,并且写入邻居表,EIGRP会将邻居的地址写在HELLO包中。
EIGRP断开或者进程关闭时,会发送goodbye message消息结束邻居关系。
EIGRP会由于链路的不同,发送HELLO包的间隔也会不同:
60S:所有带宽低于1.544M
5S:所有带宽大于1.544M
邻居的hold time是HELLO包时间的3倍。
EIGRP双方HELLO和HOLD TIME时间不一致,同样可以建立邻居。
EIGRP不能使用secondary 地址建立邻居,所有EIGRP数据包的源地址总是primary地址。
EIGRP邻居建立的条件:
1、
双方在相同的AS
2、
双方HELLO包正常,即双方接口primary地址是同一段
3、
双方计算度量值的方法相同,即K值取值相同
EIGPR数据包
1.
HELLO
用来发现邻居和维护邻居关系,目标地址为224.0.0.10,HELLO包在邻居收到后不需要确认
2.
UPDATE
邻居建立后,EIGRP路由器发给邻居的路由表,以单播的方式发送,且需要邻居的确认
3.
QUERY
当路由丢失且没有备用路由时,向邻居发送QUERY消息,邻居必须回复
4.
REPLY
邻居对QUERY数据包的回复,也需要邻居的确认。
5.
ACK
所使用的确认数据包。
EIGRP运行过程:
1、
双方路由器运行EIGRP,并发送HELLO包
2、
当路由器B收到A的HELLO包时,将A列入自己的邻居表,并向A发送UPDATE消息,也就是向A发送自己的路由表
3、
当路由器A收到B的UPDATE消息后,会发送ACK消息以确认收到A的UPDATE消息,然后A再向B发送自己的UPDATE。
4、
B在收到A的UPDATE消息时,会返回ACK消息确认已经收到
5、
A和B将收到的UPDATE放入到自己的拓扑数据库,并使用DUAL算法计算到达各个网段的最优路径 。
EIGRP拓扑
当EIGRP从邻居处收到路由信息后,会将其放入到拓扑数据库中,然后使用DUAL算法计算到达各个目的地的最优路径存入路由表,不是最优的路由则放入拓扑数据库中,当最优路径失效时,便从拓扑数据库中查找备用路由继续放入路由表中使用。
RD:邻居到达目的地的度量值
FD:被放入路由表的最优路径被称为FD
FS:留在拓扑数据库的备用路径称为FS
Successor:到达目的地最优路径的下一跳被称为successor.
FC:可行性条件,邻居通告的RD必须小于FD,这样的邻居路径才会被放入到拓扑数据库中。
在上图中,R1为源,R2、R3向R1通告自己到达目的地的度量值被称为RD,而R1本身到达目的地的度量值称为FD;如果R1最后选择R2到达目的地,那么R2被称为successor。,那么R3也就是备用路径,那么R3被 称为FS。
FC是一个条件,并不是所有的非最优路径都可以放入到拓扑数据库中,只有满足FC条件时,才会被放入到拓扑数据库中。
EIGRP负载均衡
EIGRP支持非等价负载均衡,默认为4条,最多6条。
并不是所有的备用路径都可以执行非等价负载均衡,这是靠度量值的大小决定的,只有度量值的大小在FD的variance倍数内的备用链路才有资格执行非等价负载均衡。
Variance默认取值为1。
可以通过配置traffic-share balanced命令设置链路好的传递相对多的数据包,链路次的传递相对少的数据,默认为开启状态。
EIGRP SIA
EIGRP中正常的路由称为passive route。
当路由表中最优路径丢失后,而拓扑数据库又没有备用链路时,EIGRP会向所有的邻居发送QUERY消息,试图查询邻居是否有到达目的地的路由信息,当发送QUERY消息后,该路由则被标记为active route,该状态称为SIA。如果3分钟内,EIGRP没有收到邻居的回复,则清除与该邻居的会话关系。