Featured image of post 路由算法与路由协议

路由算法与路由协议

前言

路由是网络层的核心功能,负责将数据包从源地址转发到目的地址。理解路由算法和常用路由协议的工作原理,是软考中级网络工程师的重要内容。

路由基础

路由表结构

路由器通过查找路由表来决定数据包的转发路径:

目的网络子网掩码下一跳接口
192.168.1.0255.255.255.0192.168.1.2Ethernet0
192.168.2.0255.255.255.0192.168.1.1Ethernet1
0.0.0.00.0.0.0202.114.0.1Ethernet2

最后一行是默认路由,当目的地址不匹配任何具体路由时使用。

路由选择原则

  1. 最长前缀匹配:选择子网掩码最长(即网络位最多)的路由
  2. 管理距离优先:相同前缀时,选择管理距离(Metric)更小的
  3. 负载均衡:多条等价路由时可以分担流量

路由算法

静态路由 vs 动态路由

类型特点
静态路由手工配置,固定不变,适合小型网络
动态路由自动学习和更新,适应网络变化,适合大型网络

常用路由算法

1. 距离向量(Distance Vector)

原理:路由器只知道自己到目的网络的距离(跳数),与邻居交换信息

算法:Bellman-Ford算法

优点:简单、配置容易 缺点:慢收敛、计数到无穷问题、路由环路

代表协议:RIP(Routing Information Protocol)

原理:路由器掌握整个网络拓扑结构,计算最短路径

算法:Dijkstra算法

优点:收敛快、无环路 缺点:计算复杂、资源消耗大

代表协议:OSPF(Open Shortest Path First)

3. 路径向量(Path Vector)

原理:记录到达目的的完整路径,避免环路

代表协议:BGP(Border Gateway Protocol)

路由协议详解

RIP协议

特点

  • 最大跳数:15跳(16跳视为不可达)
  • 更新周期:每30秒广播路由表
  • 度量标准:跳数(Hop Count)
  • 端口:UDP 520

版本

  • RIPv1:有类路由(Classful)
  • RIPv2:无类路由(Classless,支持CIDR和VLSM)

OSPF协议

特点

  • 开放标准:公开协议,互操作性好
  • 链路状态:使用Dijkstra算法
  • 区域概念:将AS划分为区域,减少路由表规模
  • 度量标准:代价(Cost),基于带宽计算
    • 100Mbps → Cost = 1
    • 10Mbps → Cost = 10
  • 快速收敛:触发更新,仅当网络变化时发送
  • 认证支持:支持明文和MD5认证

OSPF区域类型

  • 骨干区域(Area 0):必须连续,其他区域必须连接
  • 普通区域:连接到骨干区域
  • 末梢区域:只有一个出口点(ABR)

BGP协议

特点

  • 外部网关协议:用于自治系统(AS)之间的路由
  • 路径向量协议:携带AS路径信息
  • TCP端口179:可靠传输
  • 策略路由:基于属性(AS-PATH等)实现路由策略

BGP类型

  • eBGP:外部BGP,不同AS之间
  • iBGP:内部BGP,同一AS内部

BGP选路原则

  1. 忽略下一跳AS(Local Pref)
  2. AS_PATH最短
  3. ORIGIN类型(IGP < EGP < Incomplete)
  4. MED值(多出口歧视)
  5. Router ID最小
  6. Cluster List长度
  7. Peer IP地址

路由配置示例

静态路由配置

1
2
3
4
5
6
# IP route命令格式
ip route [目标] [mask] [网关] [interface]

# 示例
ip route 192.168.2.0 255.255.255.0 192.168.1.1
ip route 0.0.0.0 0.0.0.0 202.114.0.1    # 默认路由

OSPF基本配置

1
2
3
router ospf 1
 network 192.168.1.0 0.0.0.255 area 0
 network 192.168.2.0 0.0.0.255 area 1

练习题

题目1:RIP协议中,当路由器收到跳数为16的路由信息时,会( )

A. 正常更新路由表 B. 将该路由标记为不可用 C. 丢弃该路由信息 D. 向源路由器发送错误消息

答案:C(RIP最大跳数为15,16视为不可达)


题目2:OSPF协议中,以下关于区域的描述错误的是( )

A. 骨干区域的区域ID必须是0 B. 所有区域必须与骨干区域相连 C. OSPF支持VLSM D. OSPF使用跳数作为度量标准

答案:D(OSPF使用Cost,不是跳数)


题目3:路由器收到一个数据包,查路由表发现有多条匹配路由时,优先选择( )

A. 跳数最少的 B. 带宽最大的 C. 子网掩码最长的 D. 管理距离最小的

答案:C(最长前缀匹配原则)

附录

参考文献

  1. 《路由算法与协议》- RFC文档
  2. CCNP路由与交换指南
  3. 软考中级网络工程师网络管理部分

文章封面

网络拓扑


使用 Hugo 构建
主题 StackJimmy 设计