目录
一、背景知识
1、路由是什么
路由是网络中的一种设备或软件,用于转发数据包从源主机到目标主机。它根据网络中的路由表,决定最佳的路径来传送数据包。路由器是常见的路由设备,它们能够根据不同的路由协议和策略,进行数据包的转发和路径选择。路由在网络中扮演着类似于交通指示器的角色,帮助数据包找到正确的路径,确保它们能够按照规划的路线到达目的地。
2、路由的作用
-
数据包转发: 路由器根据路由表中的信息,决定如何将数据包从源主机传送到目标主机。它通过查找目的地的最佳路径来实现数据包的转发。
-
路径选择: 路由器根据一定的算法和策略选择最佳的路径来传送数据包。这些算法可以根据路由器之间的连接速度、距离、负载等因素来进行选择。
-
网络分割与隔离: 路由器可以将网络分割成多个子网,并通过配置不同的路由策略实现这些子网之间的隔离,提高网络安全性和管理效率。
-
负载均衡: 路由器可以将数据包分配到多条等效路径上,实现负载均衡,从而提高网络的利用率和性能。
-
网络拓扑发现: 路由器可以通过交换路由信息,发现网络中的拓扑结构,并动态地更新路由表,以适应网络拓扑的变化。
总的来说,路由在网络中起着类似于交通管制中心的作用,它负责管理和控制数据包的流动,确保数据包能够按照最佳路径快速、可靠地传送到目的地。
3、动态路由协议是什么
动态路由协议是一种网络协议,用于自动交换路由信息并动态地更新路由表,以实现数据包在网络中的转发。与静态路由相比,动态路由协议能够自动适应网络拓扑的变化,提高网络的灵活性和可靠性。常见的动态路由协议包括 RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、EIGRP(Enhanced Interior Gateway Routing Protocol)等。
4、路由协议的分类
-
按工作方式分类:
- 距离矢量路由协议(Distance Vector Routing Protocols): 这种协议通过交换路由更新信息来决定路径,每个路由器只知道到达目的地的最短距离和下一跳路由器。
- 链路状态路由协议(Link State Routing Protocols): 这种协议将网络拓扑信息作为路由器之间交换的基础,每个路由器都维护着整个网络的拓扑图,通过计算最短路径来确定路由。
-
按传输数据的方式分类:
- 单播路由协议(Unicast Routing Protocols): 这种协议用于单播数据包,即从一个源发送到一个目的地。
- 多播路由协议(Multicast Routing Protocols): 这种协议用于多播数据包,即从一个源发送到多个目的地。
-
按管理的网络范围分类:
- 内部网关协议(Interior Gateway Protocols,IGP): 这种协议用于在一个自治系统(AS)内部进行路由选择,常见的IGP包括RIP、OSPF、EIGRP等。
- 外部网关协议(Exterior Gateway Protocols,EGP): 这种协议用于在不同自治系统之间进行路由选择,常见的EGP包括BGP(Border Gateway Protocol)。
二、EIGRP的相关知识点
1、工作原理
EIGRP 使用基于距离和带宽的度量来确定最佳路径。是一种内部网关协议(Interior Gateway Protocol,IGP),它将网络划分为自治系统(AS),并使用路由器 ID 来唯一标识每个路由器。EIGRP 路由器通过可靠的传输协议(如TCP)在邻居间交换路由信息。每个路由器维护一个拓扑表和一个路由表,拓扑表用于存储网络中的部分路由信息,而路由表则用于存储到达目的地的最佳路径。
EIGRP 使用 Hello 消息来维护邻居关系,并定期发送 Update 消息来通知邻居路由信息的变化。当网络拓扑发生变化时,路由器会通过 DUAL 算法重新计算最佳路径,并更新路由表。这种分布式的路由计算机制使得 EIGRP 能够实现快速的收敛和动态的路由选择。
2、优点
-
快速收敛: EIGRP 使用 DUAL(Diffusing Update Algorithm)算法来计算路由,能够快速适应网络拓扑变化,实现快速的收敛。存储整个网络拓扑结构信息,以便快速适应网络变化
-
低带宽消耗: EIGRP 通过在邻居间周期性地交换路由更新信息,而不是像传统距离矢量协议那样在整个网络中广播路由更新信息,因此能够节约带宽。
-
支持VLSM和CIDR: EIGRP 能够支持可变长度子网掩码(VLSM)和无类域间路由(CIDR),默认开启自动汇总功能,更好地利用 IP 地址空间。
-
负载均衡: EIGRP 具有负载均衡功能,能够在多条等效路径之间分配流量,提高网络利用率。支持等价和非等价的负载均衡
-
可靠性: EIGRP 提供了可靠性的路由更新机制,确保路由信息的准确性和稳定性。
3、EIGRP发送分组
-
Hello分组: 用于建立和维护邻居关系。Hello分组包含了发送者的EIGRP路由器ID、组号、K值等信息,用于验证邻居关系是否可靠。
-
Update分组: 用于交换路由信息。通过unicast的方式发送,Update分组包含了发送者的路由表信息,包括目的网络地址、可达性、距离等,用于更新邻居路由器的路由表。收到该报文后需要发送ACK进行确认
-
Query分组: 用于请求丢失路由信息的重新发送。通过unicast的方式发送,当某个路由器丢失了某些路由信息时,它会向邻居发送Query分组,请求邻居重新发送丢失的路由信息。收到该报文后需要发送ACK进行确认
-
Reply分组: 用于响应Query分组。通过unicast的方式发送,当收到Query分组的路由器有所请求的路由信息时,会向发出Query分组的路由器发送Reply分组,回复丢失的路由信息。收到该报文后需要发送ACK进行确认
-
Acknowledgment分组(ACK): 用于确认收到的EIGRP分组。当一个EIGRP路由器收到了一个EIGRP分组后,会发送Acknowledgment分组给发送者,确认已成功接收。
4、EIGRP的属性
(1)采用组播(224.0.0.10)或单播进行路由更新
(2)管理距离值AD 为 90 (内部EIGRP) 或170 (外部EIGRP)
(3)支持 IP ,IPX和 AppleTalk 等多种网络层协议
(4) 基于IP 进程号 88。
5、EIGRP的三张表
-
邻居表(Neighbor Table): 邻居表用于存储与本地路由器直接相连的EIGRP邻居路由器的信息。邻居表记录了邻居路由器的IP地址、接口、邻居状态等信息。邻居表的作用是维护与邻居路由器的邻居关系,通过周期性的Hello消息来检测邻居路由器的可达性,并确保邻居之间的路由信息交换正常进行。
-
路由表(Routing Table): 路由表用于存储本地路由器已知的可达目的网络的路由信息。路由表记录了目的网络的网络地址、下一跳地址、距离、接口等信息。EIGRP的路由表是动态更新的,通过接收邻居路由器发送的路由更新消息,更新路由表中的路由信息。EIGRP使用DUAL算法(Diffusing Update Algorithm)来选择最优路径,并将其存储在路由表中。
-
拓扑表(Topology Table): 拓扑表用于存储本地路由器所知道的整个网络的拓扑信息。拓扑表记录了所有可达目的网络的信息,包括目的网络地址、距离、下一跳地址等。拓扑表的作用是在路由器之间传播拓扑变化信息,以便及时调整路由器的路由表。
6、EIGRP的三张表形成的过程
-
邻居关系建立:
- 路由器通过在相邻接口上发送Hello消息来探测邻居路由器。Hello消息包含路由器的EIGRP配置信息以及路由器的标识号(Router ID)。
- 当收到邻居路由器的Hello消息后,路由器会验证收到的Hello消息,如果消息中的参数符合要求,则会向该邻居发送确认消息。
- 一旦双方确认建立邻居关系,它们将在邻居表中记录对方的相关信息,包括邻居的IP地址、接口、邻居状态等。
-
路由信息交换:
- 邻居路由器之间定期交换路由更新消息,包括更新、查询和响应消息。
- 更新消息包含了发送路由器所知道的路由信息,以及它们到达目的网络的距离和可达路径的信息。
- 查询消息用于确认丢失的路由或者需要验证的路由信息。
- 响应消息是对查询消息的回应,包含了请求的路由信息。
- 路由器在收到更新消息后,会检查路由器是否有更优的路径,并更新自己的路由表。
-
路由计算和更新:
- 当收到路由更新消息后,路由器使用DUAL算法计算最优路径,并将更新的路由信息存储到路由表中。
- 如果有更好的路径可达目的网络,则路由器会更新路由表中对应目的网络的条目。
- 同时,路由器会将拓扑表中的变化信息传播给其他邻居路由器,以便它们也更新自己的路由表。
-
拓扑表的维护:
- 拓扑表记录了整个网络的拓扑结构,包括可达目的网络的信息和它们之间的关系。
- 路由器通过交换拓扑信息来维护拓扑表,以便及时更新网络的拓扑变化。
7、EIGRP 邻居起不来的原因
-
网络层连接故障: 网络设备之间的物理连接故障或配置错误可能导致邻居关系无法建立。检查连接是否正确、接口是否启用,并确保物理链路正常工作。
-
网络配置不一致: EIGRP要求相邻路由器在同一子网中,并使用相同的EIGRP参数(如AS号等)。如果两台路由器的配置不一致,那么它们可能无法建立邻居关系。
-
Hello消息未被接收: EIGRP使用Hello消息来检测邻居路由器的可达性。如果一台路由器未能接收到另一台路由器发送的Hello消息,那么它们之间的邻居关系将无法建立。可能的原因包括防火墙阻止Hello消息、网络延迟或丢包等问题。
-
路由器ID冲突: 每台EIGRP路由器都必须有一个唯一的路由器ID。如果两台路由器的路由器ID相同,它们之间的邻居关系将无法建立。
-
网络类型不匹配: EIGRP支持多种网络类型,包括Ethernet、Serial等。如果相邻路由器之间的网络类型不匹配,那么它们之间的邻居关系可能无法建立。
-
阻塞或过滤: 有时,网络设备上的安全策略或ACL(访问控制列表)可能会阻止EIGRP消息的传输,导致邻居关系无法建立。
8、EIGRP的简单命令
配置命令
R1(config)#router eigrp 100 (AS 号)
R1(config-router)#no auto-summary (关闭自动汇总)
R1(config-router)#network 12.12.12.0 0.0.0.255 (宣告子网,告诉其他路由自己的网段)
查看命令:
1)查看路由表:show ip route
2)查看邻居:show ip eigrp neighbor
3)查看拓扑:show ip eigrp topology
5)查看运行的协议:show ip protocol
6)查看运行的接口:show ip eigrp interface
7)查看数据包统计:show ip eigrp traffic
三、EIGRP的简单实验
R1-R5 配置EIGRP,R6 不配置EIGRP,通过其他方式让R6能ping 通其他任意5台路由器
Rx和Ry之间的网段设置为xy.xy.xy.0
例:R1和R2设置为12.12.12.0
Rx连接Ry的接口地址为xy.xy.xy.x
例:R1连接R2的接口(e0/0)地址为12.12.12.1
四、实验步骤
1、配置第一台路由
conf t
int e0/0
ip add 12.12.12.1 255.255.255.0
no sh
int e0/1
ip add 13.13.13.1 255.255.255.0
no sh
int e0/2
ip add 16.16.16.1 255.255.255.0
no sh
router eigrp 100
network 12.12.12.0 0.0.0.255
network 13.13.13.0 0.0.0.255
network 16.16.16.0 0.0.0.255
2、配置第二台路由
conf t
int e0/0
ip add 12.12.12.2 255.255.255.0
no sh
int e0/1
ip add 24.24.24.2 255.255.255.0
no sh
router eigrp 100
network 12.12.12.0 0.0.0.255
network 24.24.24.0 0.0.0.255
3、配置第三台路由
conf t
int e0/0
ip add 13.13.13.3 255.255.255.0
no sh
int e0/1
ip add 35.35.35.5 255.255.255.0
no sh
router eigrp 100
network 13.13.13.0 0.0.0.255
network 35.35.35.0 0.0.0.255
4、配置第四台路由
conf t
int e0/0
ip add 24.24.24.4 255.255.255.0
no sh
router eigrp 100
network 24.24.24.0 0.0.0.255
5、配置第五台路由
conf t
int e0/0
ip add 35.35.35.5 255.255.255.0
no sh
router eigrp 100
network 35.35.35.0 0.0.0.255
6、配置第六台路由
conf t
int e0/0
ip add 16.16.16.1 255.255.255.0
no sh
ip route 0.0.0.0 0.0.0.0 e0/0
ping 35.35.35.5
五、问题答疑
欢迎关注我的公众号:闪闪发光的萧琦,有任何问题都可以后台私信我哦