第10章 动态选路协议

所属:TCP/IP详解 卷1:协议 来源:TCP/IP详解 卷1:协议

本章介绍动态选路协议,包括RIP、OSPF、BGP和CIDR等。


10.1 引言

什么是动态选路

动态选路(Dynamic Routing):

  • 路由器之间交换路由信息
  • 自动学习路由
  • 自动适应拓扑变化
  • 不用手动配置

动态选路自动学习和更新路由。


为什么需要动态选路

为什么需要动态选路:

  • 大网络静态配置太麻烦
  • 拓扑经常变化
  • 需要自动适应
  • 需要冗余和容错

动态选路的好处:

  • 自动学习
  • 自动适应变化
  • 容错
  • 减少人工配置

大网络需要动态选路。


动态选路协议

常见的动态选路协议:

协议类型用途
RIP距离矢量小型网络
OSPF链路状态中型/大型网络
BGP路径矢量互联网,AS之间

有多种动态选路协议。


本章讨论的内容

本章讨论的内容:

  • 动态选路的基本概念
  • RIP协议
  • OSPF协议
  • BGP协议
  • CIDR:无类域间选路

本章介绍动态选路协议。


10.2 选路协议的分类

按算法分类

按算法分类:

  1. 距离矢量(Distance Vector)

    • 知道距离和方向
    • 不知道全网拓扑
    • 邻居之间交换路由表
    • 简单,收敛慢
    • 比如RIP
  2. 链路状态(Link State)

    • 知道全网拓扑
    • 交换链路状态信息
    • 用SPF算法计算
    • 复杂,收敛快
    • 比如OSPF
  3. 路径矢量(Path Vector)

    • 知道路径
    • 交换路径信息
    • 比如BGP

三种主要的算法类型。


按范围分类

按范围分类:

  1. 内部网关协议(IGP)

    • Interior Gateway Protocol
    • 一个自治系统(AS)内部
    • 比如RIP、OSPF
  2. 外部网关协议(EGP)

    • Exterior Gateway Protocol
    • 自治系统之间
    • 比如BGP

IGP和EGP。


自治系统

自治系统(Autonomous System, AS):

  • 一个独立管理的网络
  • 同一个管理机构
  • 统一的选路策略
  • 有唯一的AS号

例子:

  • 一个运营商的网络
  • 一个大公司的网络
  • 都是一个AS

AS是一个独立管理的网络。


10.3 RIP协议

什么是RIP

RIP(Routing Information Protocol):

  • 路由信息协议
  • 距离矢量算法
  • 用跳数作为度量
  • 适合小型网络
  • 简单,容易实现

RIP是简单的距离矢量协议。


RIP的基本原理

RIP的基本原理:

  1. 定期更新

    • 每隔30秒
    • 给邻居发自己的路由表
  2. 距离矢量

    • 每个路由条目有跳数
    • 到目的网络的跳数
  3. 更新路由

    • 收到邻居的路由表
    • 比较,选最好的
    • 更新自己的路由表
  4. 最大跳数

    • 最大15跳
    • 16跳表示不可达
    • 所以只适合小网络

RIP用跳数,定期更新。


RIP的版本

RIP的版本:

  1. RIP v1

    • 有类路由
    • 不支持VLSM
    • 广播更新
    • 不支持认证
  2. RIP v2

    • 无类路由
    • 支持VLSM
    • 多播更新
    • 支持认证

RIP有两个版本。


RIP的优缺点

优点:

  • 简单
  • 容易实现
  • 容易配置
  • 适合小网络

缺点:

  • 最大15跳,只适合小网络
  • 收敛慢
  • 度量值只有跳数,不考虑带宽
  • 可能有路由环路

RIP简单但有局限。


10.4 OSPF协议

什么是OSPF

OSPF(Open Shortest Path First):

  • 开放最短路径优先
  • 链路状态协议
  • 用SPF算法
  • 适合中大型网络
  • 开放标准

OSPF是链路状态协议。


OSPF的基本原理

OSPF的基本原理:

  1. 链路状态

    • 每个路由器知道自己的链路状态
    • 泛洪给所有路由器
    • 每个路由器都有全网拓扑图
  2. SPF算法

    • Dijkstra算法
    • 计算最短路径
    • 以自己为根
  3. 区域划分

    • 可以分成多个区域
    • 减少LSA数量
    • 提高效率
  4. 度量值

    • 代价(cost)
    • 通常基于带宽
    • 带宽越高代价越小

OSPF用链路状态和SPF算法。


OSPF的特点

OSPF的特点:

  • 链路状态算法
  • 收敛快
  • 没有跳数限制
  • 支持VLSM和CIDR
  • 支持区域划分
  • 支持等价路由
  • 支持认证
  • 只用IP协议号89,不用UDP/TCP

OSPF功能强大。


OSPF的区域

OSPF的区域:

  • 骨干区域(Area 0)
  • 其他区域
  • 所有区域都要连骨干
  • 减少路由信息

为什么划分区域:

  • 减少LSA数量
  • 减少计算量
  • 提高稳定性
  • 一个区域出问题不影响其他

区域划分提高效率和稳定性。


OSPF的优缺点

优点:

  • 收敛快
  • 没有跳数限制
  • 度量值更合理(带宽)
  • 支持大网络
  • 支持VLSM/CIDR
  • 没有路由环路

缺点:

  • 复杂
  • 配置难
  • 对路由器要求高
  • 资源消耗大

OSPF强大但复杂。


10.5 BGP协议

什么是BGP

BGP(Border Gateway Protocol):

  • 边界网关协议
  • 路径矢量协议
  • 用于AS之间
  • 互联网的核心路由协议
  • 现在是BGP-4

BGP是互联网的核心路由协议。


BGP的作用

BGP的作用:

  • 在AS之间交换路由信息
  • 选择最佳路径
  • 实施选路策略
  • 互联网的骨干就是用BGP

BGP用于AS之间的选路。


BGP的基本原理

BGP的基本原理:

  1. 路径矢量

    • 路由携带AS路径
    • 经过哪些AS
    • 可以防止环路
  2. TCP传输

    • 用TCP 179端口
    • 可靠传输
    • 不用定期更新,只在变化时更新
  3. 策略选路

    • 可以配置各种策略
    • 控制选路
    • 很灵活
  4. 慢收敛

    • 互联网路由太多
    • 不能频繁变化
    • 稳定优先

BGP是路径矢量,用TCP传输。


BGP的特点

BGP的特点:

  • 路径矢量算法
  • 用TCP传输
  • 支持CIDR
  • 支持路由聚合
  • 策略选路
  • 用于AS之间
  • 互联网规模

BGP功能强大,适合互联网。


BGP的优缺点

优点:

  • 适合超大规模网络
  • 灵活的策略
  • 可靠传输
  • 支持CIDR

缺点:

  • 非常复杂
  • 配置难
  • 收敛慢
  • 资源消耗大

BGP强大但非常复杂。


10.6 CIDR:无类域间选路

什么是CIDR

CIDR(Classless Inter-Domain Routing):

  • 无类域间选路
  • 不按A/B/C类分
  • 用前缀长度表示
  • 更灵活,更节省地址

CIDR打破了分类地址的限制。


为什么需要CIDR

为什么需要CIDR:

问题:

  • A类太大,B类不够用,C类太小
  • 地址浪费严重
  • 路由表越来越大
  • 地址空间不够用

CIDR的解决:

  • 不分类,任意前缀长度
  • 可以聚合路由
  • 减少路由表大小
  • 提高地址利用率

CIDR解决了分类地址的问题。


CIDR表示法

CIDR表示法:

  • IP地址/前缀长度
  • 比如192.168.1.0/24
  • 前24位是网络位

例子:

  • 10.0.0.0/8:原来的A类
  • 172.16.0.0/12:12位前缀
  • 192.168.0.0/16:16位前缀
  • 192.168.1.0/24:24位前缀
  • 192.168.1.128/25:25位前缀

CIDR用前缀长度表示。


路由聚合

路由聚合(Route Aggregation):

  • 也叫路由汇总
  • 把多个小网络聚合成一个大网络
  • 减少路由表条目

例子:

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
...
192.168.255.0/24

可以聚合为:
192.168.0.0/16

好处:

  • 路由表变小
  • 减少内存
  • 减少计算
  • 更稳定

路由聚合减少路由表大小。


10.7 小结

动态选路概述

  1. 什么是动态选路

    • 自动学习路由
    • 自动适应变化
  2. 为什么需要

    • 大网络
    • 拓扑变化
    • 容错
  3. 分类

    • 距离矢量、链路状态、路径矢量
    • IGP、EGP

RIP

  1. 特点

    • 距离矢量
    • 跳数度量
    • 最大15跳
    • 定期更新
  2. 版本

    • v1:有类,广播
    • v2:无类,多播,认证
  3. 优缺点

    • 优点:简单
    • 缺点:跳数限制,收敛慢

OSPF

  1. 特点

    • 链路状态
    • SPF算法
    • 代价度量(带宽)
    • 区域划分
  2. 区域

    • 骨干区域Area 0
    • 其他区域
    • 减少LSA
  3. 优缺点

    • 优点:收敛快,无跳数限制,功能强
    • 缺点:复杂,资源消耗大

BGP

  1. 特点

    • 路径矢量
    • TCP传输
    • AS之间
    • 策略选路
  2. 用途

    • 互联网骨干
    • AS之间选路
  3. 优缺点

    • 优点:超大规模,灵活
    • 缺点:非常复杂,收敛慢

CIDR

  1. 什么是CIDR

    • 无类域间选路
    • 前缀长度表示
  2. 为什么需要

    • 地址浪费
    • 路由表太大
  3. 路由聚合

    • 多个小网络聚合成一个
    • 减少路由表

关键概念

  1. 动态选路

    • 自动学习
    • 自动适应
  2. RIP

    • 距离矢量
    • 跳数
    • 小网络
  3. OSPF

    • 链路状态
    • SPF
    • 中大型网络
  4. BGP

    • 路径矢量
    • AS之间
    • 互联网
  5. CIDR

    • 无类
    • 前缀长度
    • 路由聚合

动态选路