在计算机网络中,路由(Routing) 是指决定数据包从源地址传输到目的地址所经过路径的过程。路由器通过查阅路由表(Routing Table)来决定转发数据的下一跳。


一、路由的分类

1. 按配置方式分类

类别描述
静态路由(Static Routing)由管理员手动配置,适合小型网络,安全但维护复杂。
动态路由(Dynamic Routing)路由器之间自动交换路由信息,适合大型网络,维护简单但资源消耗高。
默认路由(Default Route)指向“未知网络”的默认路径,常用于连接互联网。

2. 按动态路由协议分类

动态路由协议是路由器之间用来交流网络可达性的协议,主要分为:

🌐 内部网关协议(IGP)

协议类型特点适用范围
RIP(Routing Information Protocol)距离矢量协议简单易实现,但最大跳数限制为15,收敛慢。小型网络
OSPF(Open Shortest Path First)链路状态协议快速收敛,支持区域划分与负载均衡。中大型企业网络
IS-IS(Intermediate System to Intermediate System)链路状态协议类似 OSPF,主要用于大型 ISP 网络。大型网络
EIGRP(Enhanced Interior Gateway Routing Protocol)Cisco 私有协议混合型协议,融合了距离矢量和链路状态的优点。Cisco 环境中

🌍 外部网关协议(EGP)

协议类型特点适用范围
BGP(Border Gateway Protocol)路径向量协议控制互联网路由,支持策略路由,可靠但配置复杂。ISP 与大型企业

3. 按路由来源分类

类别描述
直连路由(Directly Connected Route)本机物理接口直接连接的网络。
静态路由(Static Route)管理员手动添加的路由。
动态路由(Dynamic Route)通过路由协议自动学习的路由。
默认路由(Default Route)当无明确路径时走默认路径(如 0.0.0.0/0)。

二、补充知识:路由协议比较表

协议类型收敛速度可扩展性复杂度是否支持 VLSM是否支持认证
RIP距离矢量
OSPF链路状态
EIGRP混合中等
BGP路径向量慢(但稳定)极高

三、基础命令提示(以 Cisco 为例)

配置静态路由:

1
2
3
ip route [目的网络] [子网掩码] [下一跳地址或出接口]
例如:
ip route 192.168.2.0 255.255.255.0 192.168.1.2

查看路由表:

1
show ip route

配置默认路由:

1
ip route 0.0.0.0 0.0.0.0 [下一跳地址或接口]?

RIP

下面是 RIP(Routing Information Protocol) 的命令语法及配置方法,主要以 Cisco 路由器 为例讲解。RIP 是一种经典的距离矢量动态路由协议,配置简单,适用于小型网络环境。


一、RIP 基本特性

  • 使用 UDP 端口 520 传输路由信息
  • 最大跳数限制为 15(16 代表不可达)
  • 每 30 秒发送一次更新
  • 默认只支持 等价负载均衡(Equal-cost load balancing)
  • RIP v1:不支持 VLSM,广播更新
  • RIP v2:支持 VLSM,使用多播(224.0.0.9)

二、RIP 配置命令语法(Cisco)

🔹 1. 启用 RIP

1
Router(config)# router rip

🔹 2. 指定参与路由的网络

1
Router(config-router)# network [网络地址]

例如:

1
2
Router(config-router)# network 192.168.1.0
Router(config-router)# network 10.0.0.0

注意:这个 network 是“主类网络地址”(classful),而非接口地址。


🔹 3. 指定 RIP 版本(建议使用 v2)

1
Router(config-router)# version 2

🔹 4. 关闭自动汇总(可选)

1
Router(config-router)# no auto-summary

如果使用了不连续子网(discontiguous subnets)或 VLSM,建议加上这条。


🔹 5. 查看 RIP 状态和路由表

1
2
3
Router# show ip protocols        # 查看使用的路由协议
Router# show ip route # 查看路由表
Router# debug ip rip # 实时查看 RIP 交换信息

🧪 三、配置示例(两台路由器)

网络拓扑示意:

1
2
PC1 -- R1 -- R2 -- PC2
192.168.1.0 192.168.2.0

R1 配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Router> enable
Router# configure terminal
Router(config)# interface f0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# interface f0/1
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# router rip
Router(config-router)# version 2
Router(config-router)# network 192.168.1.0
Router(config-router)# network 10.0.0.0
Router(config-router)# no auto-summary

R2 配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
Router(config)# interface f0/0
Router(config-if)# ip address 10.0.0.2 255.255.255.0
Router(config-if)# no shutdown

Router(config)# interface f0/1
Router(config-if)# ip address 192.168.2.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# router rip
Router(config-router)# version 2
Router(config-router)# network 192.168.2.0
Router(config-router)# network 10.0.0.0
Router(config-router)# no auto-summary
  • 若接口 IP 与配置的 network 不匹配,则 RIP 不会发布该接口。
  • 建议关闭自动汇总 no auto-summary,以支持 VLSM。
  • 使用 passive-interface 命令可以阻止某接口发送 RIP 通告。

OSPF

OSPF(Open Shortest Path First)是一种链路状态路由协议,属于 IGP(内部网关协议),基于 SPF(Dijkstra)算法计算最短路径。相较 RIP,OSPF 更加稳定、收敛更快、支持大型网络分层设计。

基本特性如下:

  • 使用 IP 协议号 89(非 UDP)
  • 支持 VLSM 和 CIDR
  • 快速收敛
  • 支持区域划分(Area)
  • 多播地址:224.0.0.5(所有 OSPF 路由器),224.0.0.6(指定路由器 DR/BDR)

一、OSPF 配置语法(Cisco IOS)

1. 进入 OSPF 配置模式

1
Router(config)# router ospf [进程号]

进程号是本地标识,可以是任意整数(常用 1)。

2. 指定网络及所属区域

1
Router(config-router)# network [网络地址] [反掩码] area [区域号]

例如:

1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0

注意:OSPF 使用反掩码(wildcard mask)而不是子网掩码。


二、基本 OSPF 配置步骤

示例拓扑:

1
2
3
PC1 -- R1 -- R2 -- PC2
192.168.1.0 192.168.2.0
10.0.0.0

R1 配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
Router> enable
Router# configure terminal
Router(config)# interface f0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# interface f0/1
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# router ospf 1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# network 10.0.0.0 0.0.0.255 area 0

R2 配置:

1
2
3
4
5
6
7
8
9
10
11
Router(config)# interface f0/0
Router(config-if)# ip address 10.0.0.2 255.255.255.0
Router(config-if)# no shutdown

Router(config)# interface f0/1
Router(config-if)# ip address 192.168.2.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# router ospf 1
Router(config-router)# network 10.0.0.0 0.0.0.255 area 0
Router(config-router)# network 192.168.2.0 0.0.0.255 area 0

三、查看 OSPF 状态的命令

1
2
3
4
Router# show ip ospf              // 查看 OSPF 状态
Router# show ip ospf interface // 查看接口是否参与 OSPF
Router# show ip route ospf // 查看 OSPF 路由表
Router# show ip ospf neighbor // 查看邻居关系

四、补充配置命令

指定 Router ID(可选)

1
Router(config-router)# router-id [A.B.C.D]

若不手动指定,OSPF 默认选取最高的活动接口 IP 地址。

关闭某接口的 OSPF 通告(被动接口)

1
Router(config-router)# passive-interface [接口名称]

配置 OSPF 优先级(影响 DR 选举)

1
Router(config-if)# ip ospf priority [0~255]

五、OSPF 区域设计简介(可拓展)

  • Area 0 是主干区域(backbone)
  • 大型网络建议使用多区域设计(Area 1、Area 2 等)
  • 支持虚链路、NSSA 等进阶功能

总结

OSPF 是企业网络中应用最广泛的 IGP 协议,适合中大型网络环境。掌握基本配置、邻居关系建立机制、SPF 路径计算逻辑,是学习和使用 OSPF 的关键。

补充内容:

1. 邻居建立的五个状态(OSPF Neighbor States)

便于理解 OSPF 是如何一步步建立邻接关系的,特别在出现邻居建立失败时排错有用。

状态说明
Down邻居尚未收到 Hello 报文
Init已收到对方 Hello 报文,但自己还没被对方认可
Two-way双方 Hello 报文都互相认可,邻居建立成功(广播网络即止于此)
ExStart开始协商主从(Master/Slave)关系
Exchange开始交换 LSA 摘要
Loading互相请求具体 LSA 内容
Full邻接完全建立,LSDB 同步完成

2. DR/BDR 的选举规则(适用于广播网络如 Ethernet)

  • 同一广播网络中,为减少 LSDB 同步开销,OSPF 会选举 DR 和 BDR。
  • 可通过接口优先级控制:
1
Router(config-if)# ip ospf priority 100    // 值越大越容易当选 DR
  • 设置为 0 则永远不参与 DR/BDR 选举。

3. 常见网络类型(Network Types)

不同的链路类型影响邻居建立方式和 Hello/Dead 时间。

类型Hello 时间DR/BDR举例
Broadcast10sEthernet
Non-Broadcast30sFrame Relay
Point-to-Point10s无需 DRPPP、HDLC
Point-to-Multipoint30s无需 DR多对一连接

可配置网络类型:

1
Router(config-if)# ip ospf network [broadcast | non-broadcast | point-to-point | point-to-multipoint]

4. 默认开销(Cost)与手动设置带宽

  • 默认开销计算:cost = 100,000,000 / 带宽(单位:bps)
  • 带宽为 100Mbps 的接口 cost = 1
  • 若需要手动设置:
1
Router(config-if)# ip ospf cost 10

5. 认证配置(提高安全性,可选)

OSPF 支持明文和 MD5 验证:

1
2
3
4
5
6
Router(config-if)# ip ospf authentication
Router(config-if)# ip ospf authentication-key cisco

// 或 MD5 验证
Router(config-if)# ip ospf authentication message-digest
Router(config-if)# ip ospf message-digest-key 1 md5 Cisco123

6. 常见故障排查建议

  • 邻居无法建立?检查:
    • 是否在同一个 Area?
    • Hello/Dead 时间是否匹配?
    • 网络类型是否一致?
    • 接口 IP 是否在 network 命令匹配范围内?
    • 是否被设置了 passive-interface