EIGRP(Enhanced Interior Gateway Routing Protocol)是由思科开发的一种高级距离矢量路由协议,结合了距离矢量和链路状态路由协议的优点;EIGRP具有快速收敛、高效带宽利用、负载均衡等特点,适用于各种规模的网络。EIGRP长期以来一直是思科专有的路由协议,这意味着 EIGRP只能在思科的网络设备上运行。然而,自从 2013 年起,思科将 EIGRP 的某些部分作为开放标准进行了发布,使得其他厂商也能够实现 EIGRP。虽然 EIGRP 现在已经开放给其他厂商使用,但其最广泛和最完整的实现仍然在思科设备上。在混合环境或非思科设备环境中,使用 OSPF 或 BGP 这样的标准协议可能会更为合适和便捷。
EIGRP工作原理
EIGRP工作原理包括邻居发现、路由更新、度量值计算、路径选择和快速收敛等方面。
-
邻居发现和维护:EIGRP 使用 Hello 报文在相邻路由器之间建立和维护邻居关系。
Hello 报文:EIGRP 路由器定期发送 Hello 报文来发现和确认邻居。
Hold Timer:如果在 Hold 时间内没有收到邻居的 Hello 报文,路由器会认为该邻居失效,并将其从邻居表中移除。
-
路由更新:EIGRP 采用部分更新机制,只在网络拓扑发生变化时发送更新,减少了带宽的使用。
触发更新:当一个路由器检测到网络拓扑发生变化时,会立即发送更新,而不是等待定期更新。
-
度量值计算:EIGRP 使用复合度量值来选择最佳路径。度量值包括带宽、延迟、负载、可靠性和 MTU 等多个因素。
带宽(Bandwidth):路径上最低带宽的逆数。 延迟(Delay):路径上所有链路的延迟之和。 负载(Load):路径上链路的当前负载。 可靠性(Reliability):路径上链路的可靠性。 MTU(Maximum Transmission Unit):路径上链路的最大传输单元(通常不直接影响度量值)。
复合度量值公式:
其中 K1,K2,K3,K4,K5 是用户可配置的权重参数,默认值通常为 K1=1,K3=1K_1 = 1, K_3 = 1K1=1,K3=1,其余为 0。
-
路径选择&快速收敛:EIGRP 使用 DUAL(Diffusing Update Algorithm)算法来保证无环路的最佳路径选择和快速收敛。
Feasible Distance(FD):到达目标网络的最低度量值(路由器本身的度量值 + 报告距离)。 Reported Distance(RD):邻居路由器报告的到达目标网络的度量值。 Successor:到达目标网络的最佳路径。 Feasible Successor:备选路径,其报告距离小于当前路径的可行距离。
EIGRP 的 DUAL 算法使其能够在网络拓扑变化时快速收敛,减少网络中断时间;通过 Feasible Successor 路径,可以迅速替换失效的 Successor 路径,而无需重新计算所有路径。
EIGRP 的关键报文类型
Hello 报文:用于邻居发现和维护。 更新报文(Update):发送路由信息更新。 查询报文(Query):当没有可行的 Successor 时,用于询问邻居路由器。 回复报文(Reply):响应查询报文。 确认报文(ACK):确认收到可靠传输的报文(Update、Query 和 Reply)。
EIGRP的配置
EIGRP(Enhanced Interior Gateway Routing Protocol)的配置包括启用 EIGRP 进程、定义要参与 EIGRP 的网络、配置度量值、进行路由汇总、设置重分布等。下面我们通过一个详细的配置示例,逐步介绍如何在路由器上配置 EIGRP。
基本配置步骤
①启用 EIGRP 路由协议 ②定义参与 EIGRP 的网络 ③配置接口和度量值 ④进行路由汇总(可选) ⑤进行路由重分布(可选)
假设我们有如下拓扑:
+--------+ +--------+ | Router | | Router | | R1 |---------| R2 | +--------+ +--------+
R1 与 R2 通过网络 192.168.1.0/24 互连;R1 还有一个内部网络 10.1.1.0/24;R2 还有一个内部网络 172.16.1.0/24。
在 R1 上配置 EIGRP
配置接口 IP 地址
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# no shutdown
启用 EIGRP 进程
R1(config)# router eigrp 1
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 10.1.1.0 0.0.0.255
R1(config-router)# no auto-summary
在 R2 上配置 EIGRP
配置接口 IP 地址
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip address 192.168.1.2 255.255.255.0
R2(config-if)# no shutdown
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip address 172.16.1.1 255.255.255.0
R2(config-if)# no shutdown
启用 EIGRP 进程
R2(config)# router eigrp 1 进入自治系统号为1的EIGRP进程。注意:这个1是自治系统号不是进程号,具有全局意义,就是在一个园区内,自治系统号,需要一样。
R2(config-router)# network 192.168.1.0 0.0.0.255
R2(config-router)# network 172.16.1.0 0.0.0.255
R2(config-router)# no auto-summary
路由汇总和重分布【可选】
路由汇总:EIGRP 支持自动和手动路由汇总,以减少路由表的规模和复杂度。
1. 自动路由汇总
EIGRP 的自动汇总功能会在主类边界上进行路由汇总。这意味着如果 EIGRP 路由器的接口在不同的主类网络上,它会将这些网络汇总为主类网络。例如,如果一个路由器有两个接口,一个在 192.168.1.0/24 网络,另一个在 192.168.2.0/24 网络,EIGRP 会将它们汇总为 192.168.0.0/16。
①配置自动汇总:
Router(config)# router eigrp 1
Router(config-router)# auto-summary
②禁用自动汇总:
在一些情况下,自动汇总可能会导致不期望的结果,因此可以禁用它。
Router(config)# router eigrp 1
Router(config-router)# no auto-summary //禁用自动汇总
2.手动路由汇总
手动汇总允许管理员在路由器的特定接口上配置汇总地址。这种方法提供了更大的灵活性和控制,可以根据网络设计的需求进行定制。
配置手动汇总: 假设我们有一个路由器,其 EIGRP 进程为 1,并且希望在接口 GigabitEthernet0/1
上进行路由汇总。网络 10.1.0.0/24 到 10.1.3.0/24 可以汇总为 10.1.0.0/22。
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip summary-address eigrp 1 10.1.0.0 255.255.252.0
路由重分布:EIGRP 支持与其他路由协议(如 OSPF、RIP 等)之间的路由重分布,使得不同协议间的路由信息可以互相传递和使用。
路由重分布的基本概念
源协议(Source Protocol):重分布的路由信息来自的路由协议。 目标协议(Target Protocol):重分布的路由信息将被引入的路由协议。 度量值(Metric):重分布的路由需要设置初始度量值,以便目标协议能够正确计算路径。
路由重分布的步骤
识别需要重分布的路由协议:确定哪些路由协议之间需要进行重分布。 配置重分布命令:在目标协议中配置重分布命令,将源协议的路由信息引入。 设置度量值:为重分布的路由设置合适的度量值。 应用过滤器(可选):使用路由映射或访问控制列表(ACL)来控制重分布的路由,以防止不必要的路由传播。
配置 EIGRP 路由重分布的示例:
多协议网络中,路由重分布可以实现不同路由协议之间的互通。我们将通过一个详细的示例,说明如何在 EIGRP 和 OSPF 之间进行路由重分布。假设我们有以下网络拓扑:
-
路由器 R1 运行 OSPF 和 EIGRP 协议。
-
路由器 R2 仅运行 EIGRP 协议。
-
路由器 R3 仅运行 OSPF 协议。
+--------+ +--------+ +--------+ | Router | | Router | | Router | | R1 |---------| R2 |---------| R3 | +--------+ +--------+ +--------+ OSPF & EIGRP EIGRP only OSPF only
配置目标
-
将 OSPF 的路由信息重分布到 EIGRP 中。
-
将 EIGRP 的路由信息重分布到 OSPF 中。
详细配置步骤
1. 配置基础网络
首先,确保在 R1、R2 和 R3 上配置好基础的 EIGRP 和 OSPF 网络。
在 R1 上配置 EIGRP 和 OSPF
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# router eigrp 1
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 10.1.1.0 0.0.0.255
R1(config-router)# no auto-summary
R1(config-router)# exit
R1(config)# router ospf 1
R1(config-router)# network 10.1.1.0 0.0.0.255 area 0
R1(config-router)# exit
在 R2 上配置 EIGRP
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip address 192.168.1.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip address 192.168.2.1 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
R2(config)# router eigrp 1
R2(config-router)# network 192.168.1.0 0.0.0.255
R2(config-router)# network 192.168.2.0 0.0.0.255
R2(config-router)# no auto-summary
R2(config-router)# exit
在 R3 上配置 OSPF
R3(config)# interface GigabitEthernet0/0
R3(config-if)# ip address 192.168.2.2 255.255.255.0
R3(config-if)# no shutdown
R3(config-if)# exit
R3(config)# router ospf 1
R3(config-router)# network 192.168.2.0 0.0.0.255 area 0
R3(config-router)# exit
2. 配置路由重分布
在 R1 上将 OSPF 的路由重分布到 EIGRP 中
R1(config)# router eigrp 1
R1(config-router)# redistribute ospf 1 metric 10000 100 255 1 1500
在这条命令中:
-
redistribute ospf 1
:表示将 OSPF 进程 1 的路由重分布到 EIGRP。 -
metric 10000 100 255 1 1500
:设置重分布路由的 EIGRP 度量值,其中10000
是带宽,100
是延迟,255
是可靠性,1
是负载,1500
是 MTU。
在 R1 上将 EIGRP 的路由重分布到 OSPF 中
R1(config)# router ospf 1 R1(config-router)# redistribute eigrp 1 subnets
在这条命令中:
-
redistribute eigrp 1
:表示将 EIGRP 进程 1 的路由重分布到 OSPF。 -
subnets
:关键字确保包括子网信息。
3. 路由过滤(可选)
为了精细控制重分布的路由,可以使用路由映射进行过滤。
创建路由映射和访问控制列表
假设我们只希望将 192.168.1.0/24 和 192.168.2.0/24 网络重分布到 OSPF 中。
R1(config)# access-list 10 permit 192.168.1.0 0.0.0.255
R1(config)# access-list 10 permit 192.168.2.0 0.0.0.255
R1(config)# route-map EIGRP_TO_OSPF permit 10
R1(config-route-map)# match ip address 10
R1(config)# router ospf 1
R1(config-router)# redistribute eigrp 1 subnets route-map EIGRP_TO_OSPF
在这条命令中:
-
access-list 10
定义了允许的网络。 -
route-map EIGRP_TO_OSPF
定义了一个路由映射,匹配 ACL 10 中定义的网络。 -
redistribute eigrp 1 subnets route-map EIGRP_TO_OSPF
使用路由映射进行重分布。
通过以上配置,我们实现了 EIGRP 和 OSPF 之间的路由重分布。R1 会将 OSPF 的路由信息引入 EIGRP,同时将 EIGRP 的路由信息引入 OSPF。使用路由映射和访问控制列表,我们可以更精细地控制重分布的路由,确保网络的稳定和高效运行。
验证配置
在 R1 上查看 EIGRP 邻居关系
R1# show ip eigrp neighbors
EIGRP(Enhanced Interior Gateway Routing Protocol)的配置包括启用 EIGRP 进程、定义要参与 EIGRP 的网络、配置度量值、进行路由汇总、设置重分布等。下面我们通过一个详细的配置示例,逐步介绍如何在路由器上配置 EIGRP。
基本配置步骤
-
启用 EIGRP 路由协议
-
定义参与 EIGRP 的网络
-
配置接口和度量值
-
进行路由汇总(可选)
-
进行路由重分布(可选)
配置示例
假设我们有如下拓扑:
+--------+ +--------+ | Router | | Router | | R1 |---------| R2 | +--------+ +--------+
-
R1 与 R2 通过网络 192.168.1.0/24 互连。
-
R1 还有一个内部网络 10.1.1.0/24。
-
R2 还有一个内部网络 172.16.1.0/24。
在 R1 上配置 EIGRP
配置接口 IP 地址
shell复制代码R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# no shutdown
启用 EIGRP 进程
R1(config)# router eigrp 1
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 10.1.1.0 0.0.0.255
R1(config-router)# no auto-summary
在上述命令中:
-
router eigrp 1
:启动 EIGRP 进程 。 -
network 192.168.1.0 0.0.0.255
和network 10.1.1.0 0.0.0.255
:指定要参与 EIGRP 的网络。 -
no auto-summary
:禁用自动汇总。
在 R2 上配置 EIGRP
配置接口 IP 地址
shell复制代码R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip address 192.168.1.2 255.255.255.0
R2(config-if)# no shutdown
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip address 172.16.1.1 255.255.255.0
R2(config-if)# no shutdown
启用 EIGRP 进程
R2(config)# router eigrp 1
R2(config-router)# network 192.168.1.0 0.0.0.255
R2(config-router)# network 172.16.1.0 0.0.0.255
R2(config-router)# no auto-summary
路由汇总配置(可选)
假设我们要在 R1 上对 10.1.1.0/24 网络进行汇总。
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip summary-address eigrp 1 10.1.0.0 255.255.0.0
在上述命令中:
-
ip summary-address eigrp 1 10.1.0.0 255.255.0.0
:在接口GigabitEthernet0/1
上对 10.1.0.0/16 进行汇总。
路由重分布配置(可选)
假设我们要在 R1 上将 OSPF 的路由信息重分布到 EIGRP 中,并将 EIGRP 的路由信息重分布到 OSPF 中。
将 OSPF 的路由重分布到 EIGRP 中
R1(config)# router eigrp 1
R1(config-router)# redistribute ospf 1 metric 10000 100 255 1 1500
将 EIGRP 的路由重分布到 OSPF 中
R1(config)# router ospf 1
R1(config-router)# redistribute eigrp 1 subnets
验证配置
在 R1 上查看 EIGRP 邻居关系
R1# show ip eigrp neighbors
在 R1 上查看 EIGRP 路由表
R1# show ip route eigrp
在 R1 上查看 EIGRP 拓扑表
R1# show ip eigrp topology