EIGRP 增强内部网关路由协议

2020-06-23 14:38 更新

一、简介

EIGRP:Enhanced Interior Gateway Routing Protocol 即 增强内部网关路由协议。也翻译为 加强型内部网关路由协议。 EIGRP是Cisco公司的私有协议(2013年已经公有化)。 EIGRP结合了链路状态和距离矢量型路由选择协议的Cisco专用协议,采用弥散修正算法(DUAL)来实现快速收敛,可以不发送定期的路由更新信息以减少带宽的占用,支持Appletalk、IP、Novell和NetWare等多种网络层协议。

二、报文

1.类型

EIGRP使用多种类型的packet,这些packet通过IP头部信息里的协议号88来标识:

在EIGRP协议中,总共会使用5种类型的数据包,分别为Hello、Update、 Query、Reply、Ack,下面介绍各种数据包的功能与用途:

  Hello
  是用来发现和维护EIGRP邻居关系的,目标地址为224.0.0.10,Hello包在邻居收到后不需要确认。
  Update
  发给邻居的路由表,通过组播发送Update数据包,邻居收到后必须回复确认消息。
  Query
  当路由信息丢失并没有备用路由时,使用Query数据包向邻居查询,邻居必须回复确认。
  Reply
  是对邻居Query数据包的回复,也需要邻居回复确认。
  Ack
  是对收到的数据包的确认,告诉邻居自己已经收到数据包了,收到Ack后,不需要再对Ack做回复,因为这是没有意义的,并且可能造成死循环。

由以上可以看出,5种数据包中,Update、Query、Reply在对方收到后,都需要回复确认,这些数据包是可靠的,回复是发送Ack;而Hello和Ack,是不需要回复的,因此被认为不可靠。

2.EIGRP Metric的5个标准

1.带宽(bandwidth)
  10的7次方除以源和目标之间最低的带宽乘以256(10的7次方除以以Kbit/s为单位的最小带宽,然后加上延迟之和除以10,最后乘于256)
2.延迟(delay)
  接口的累积延迟乘以256,单位是10微秒
3.可靠性(reliability)
  根据keepalive而定的源和目的之间最不可靠的可靠度的值
4.负载(loading)
  根据包速率和接口配置带宽而定的源和目的之间最不差的负载的值
5.最大传输单元(MTU)
  路径中最小的MTU.MTU包含在EIGRP的路由更新里,但是一般不参与EIGRP度的运算

3.EIGRP Metric的计算

一般情况下,K5=0;EIGRP度量值的计算公式为:256*{K1(10^7/带宽)+K2(10^7/带宽)/(256-负载)+K3(延迟)} 由于默认情况下,K1和K3是1,其他的K值都是0. 所以通常情况下,度量值=256×(10^7/最小带宽+累积延时/10) 如果修改K值,使K5不等于0,则 Metric 计算式变成:256*[K1(10^7/带宽)+K2(10^7/带宽)/(256-负载)+K3(延迟)]*[K5 / (可靠性+K4)] 计算出的Metric值不是整数时自动取整,比如计算结果为8501.39 ,显示值将为8501。 通过配置权重(K值),可以修改EIGRP度量值计算方式。可以再EIGRP配置模式使用命令:Metric weightTosK1 K2 K3 K4 K5 来修改K值,Tos 只有一个有效值0,否则将被忽略。 EIGRP 要求两台路由器的K值必须相同才能成为邻居。另外,K2,K4,,K5最好不要设置,因为这些参数设置为非零之后,会导致计算度量值时会考虑接口的负载和可靠性,而负载和可靠性会随时间变化,这将导致EIGRP重新泛洪拓扑数据,还可能导致路由器不断地选择不同的路由,由此导致网络不稳定。

三、问题。

1.问:EIGRP是否需要ip default-network命令来传播默认路由?

答:虽然EIGRP可以使用默认网络方法传播默认路由,但不是必需的。 EIGRP可以直接重分布默认路由。

2.问:在配置EIGRP时,是否应始终使用eigrp log-neighbor-changes命令?

答:是的,此命令可以轻松确定EIGRP邻居重置的原因。 这样可以减少故障排除时间.

3.问:EIGRP是否支持辅助地址?

答:EIGRP支持辅助地址。 由于EIGRP始终用接口下的主地址作为数据包的源地址,因此思科建议您使用属于同一子网的主地址配置特定子网上的所有路由器。路由器不会在辅助网络上形成EIGRP邻居。 因此,如果路由器的所有主IP地址都不一致,则邻居邻接会出现问题。 (我觉得他说的所有主IP地址都不一致,结合上下文,应该是说都不在同一子网的意思)

4.问:EIGRP有哪些调试功能?

答:有协议无关和独立的debug命令。 还有一组show命令可显示邻居表状态,拓扑表状态和EIGRP流量统计信息。 其中一些命令是:

¨ show ip eigrp neighbors
¨ show ip eigrp interfaces
¨ show ip eigrp topology
¨ show ip eigrp traffic

四、配置命令

show ip eigrp neighbors 查看 EIGRP 邻居表
show ip eigrp topology 查看 EIGRP 拓扑结构数据库
show ip eigrp interface 查看运行 EIGRP 路由协议的接口的状况
show ip eigrp traffic 查看 EIGRP 发送和接收到的数据包的统计情况
debug eigrp neighbors 查看 EIGRP 动态建立邻居关系的情况
debug eigrp packets 显示发和接收的 EIGRP 数据包
ip hello-interval eigrp 配置 EIGRP 的 HELLO 发送周期
ip hold-time eigrp 配置 EIGRP 的 HELLO hold 时间
router eigrp 启动 EIGRP 路由进程
no auto-summary 关闭自动汇总
ip authentication mode eigrp 配置 EIGRP 的认证模式
ip authentication key-chain eigrp 在接口上调用钥匙链
variance 配置非等价负载均衡
delay 配置接口下的延迟
bandwidth 配置接口下的带宽
ip summary-address eigrp 手工路由汇总

Questions 1:在配置eigrp时,bai如果你没指定du通配符掩码的话,eigrp进程就默认所有的属zhi于主网络的直连网络都参dao与该eigrp路由;而如果你加了通配符的话,就会只有指定的IP地址或子网才会参与路由进程。按你问题中的例子,R1就只会让12.1.1.0这个网段参与路由,而12.0.0.0这个网段不参与。再举个例子,如果你用了 network 12.1.1.1 0.0.0.0 的话,那么,就只有这个地址或这个接口才参与eigrp 路由进程。。一句话总结,在配置eigrp中,你没有配置通配符的话,那么路由器就会自动把network命令中指定的网络汇总为分类网络。

Questions 2:对于RIP、IGRP、EIGRP都会自动启用自动汇总,关闭它们需要在配置路由命令时,把其关闭。因为eigrp会在自动在分类网络边界自动汇总路由,如果存在非连续子网时,我们就需要禁用自动汇总,改为手动汇总。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号