路由基础学习
一、路由:路由(Routing)指的是将数据包从源地址传输到目的地址的过程。在这个过程中,数据包会经过多个网络设备(如路由器、交换机等),每个设备根据路由表中的信息决定数据包的下一跳路径,最终将数据包送达目的地。
路由是网络通信的基础,确保数据能够在复杂的网络环境中高效、可靠地传输
二、路由协议
1.路由协议(Routing Protocol)是网络中用于动态发现和维护路由信息的通信协议。它允许路由器之间自动交换网络拓扑信息,从而动态计算出到达目的地的最佳路径。用于路由器选择路径和管理路由表;(传输层或者应用层)
2.被路由协议:被路由协议是指那些需要通过路由器进行转发的协议。这些协议定义了数据在网络中的传输方式,而路由器负责根据路由表转发这些协议的数据包。路由器选择了路径后,路由器将路由被路由协议。(网络层)
3.路由器路由的方式:
(1)静态路由(Static Routing),静态路由是由网络管理员手动配置的路由信息,不会自动更新或调整。
优点:配置简单,安全性高,无协议开销,在路由器间没有带宽占用;
缺点:扩展性差,对于大型网络工作量巨大,对于新添网络配置繁琐;
应用场合:小型网络,安全性高。
(2)动态路由(Dynamic Routing),动态路由通过运行路由协议自动发现和维护路由信息。路由器之间会交换网络拓扑信息,并根据算法计算最优路径。
优点:自动适应网络变化,扩展性强,故障恢复快;
缺点:配置和管理复杂,有协议开销,路由震荡风险,需配置安全机制;
应用场景:大型网络,拓补复杂,动态变化;
4.路由器如何进行选路
(1)依赖于路由表(Routing Table)中的信息以及各种路由协议的动态更新。
(2)路由表:路由表是路由器的核心数据结构,用于存储到达不同网络或主机的最佳路径信息。路由表中的每条记录通常包含以下关键信息:
-
目的网络地址:目标网络或主机的IP地址。
-
子网掩码:用于确定目标网络的范围。
-
下一跳地址:数据包到达目标网络的下一个路由器的IP地址。
-
出接口:数据包离开当前路由器的接口(如 Ethernet0、Serial1 等)。
-
路由来源:路由信息的来源(如静态配置、动态路由协议等)。
-
度量值(Metric):用于衡量路径的“成本”或“距离”,帮助选择最优路径。
(3)路由选择的基本步骤
路由器在转发数据包时,会按照以下步骤进行选路:
步骤 1:查找路由表,当路由器收到一个数据包时,它首先会检查数据包的目的IP地址,并在路由表中查找匹配的路由条目。
步骤 2:最长前缀匹配(Longest Prefix Match, LPM),路由器会根据目的IP地址和子网掩码进行最长前缀匹配。例如:
-
如果路由表中有两条记录:
-
192.168.1.0/24
→ 下一跳为10.0.0.1
-
192.168.1.0/16
→ 下一跳为10.0.0.2
-
-
对于目的地址
192.168.1.100
,路由器会选择更具体的/24
条目,因为它的前缀更长。
步骤 3:选择最优路径,如果存在多条匹配的路由条目,路由器会根据以下规则选择最优路径:
-
优先级:优先选择直连路由(Connected),其次是静态路由(Static),最后是动态路由协议(如 OSPF、EIGRP、RIP)。
-
度量值(Metric):对于动态路由协议,路由器会比较度量值,选择度量值最小的路径。
-
管理距离(Administrative Distance):主要用于不同路由协议之间的可信度(0-255之间,0最信任),用于区分不同路由协议的优先级。例如:
-
直连路由:管理距离为 0
-
静态路由:管理距离为 1
-
OSPF:管理距离为 110
-
EIGRP:管理距离为 90
-
RIP:管理距离为 120
-
步骤 4:转发数据包,一旦选择了最优路径,路由器会将数据包封装到适当的链路层协议(如以太网帧)中,并通过指定的出接口发送到下一跳地址。
5.动态路由协议:
(1)距离矢量(MV)协议:RIP,IGRP
(2)链路状态协议OSPF,IS-IS
6.距离矢量(Distance-Vector)是一种动态路由协议,通过计算到达目标网络的“距离”(通常以跳数或成本衡量)和方向(下一跳地址)来选择最优路径。它是最早出现的动态路由协议之一,广泛应用于小型到中型网络中。
工作原理:
距离矢量协议的核心是贝尔曼-福特算法(Bellman-Ford Algorithm),其工作过程如下:
-
初始化路由表:每个路由器初始化自己的路由表,记录到达直接相连网络的距离(通常是1跳)和下一跳地址。
-
定期广播路由表:路由器定期向相邻路由器广播自己的路由表,告知其已知的最优路径。
-
接收并更新路由表:
(1)相邻路由器接收广播的路由表后,根据收到的信息更新自己的路由表。(2)如果收到的路径更优(即距离更短),则更新路由表中的相应条目。 -
计算最优路径:路由器根据收到的路由信息,使用贝尔曼-福特算法计算到达每个目标网络的最优路径。
-
动态调整:当网络拓扑发生变化(如链路故障或新链路加入)时,路由器会根据新的路由信息重新计算最优路径。