路由协议:自治系统、域内与域间路由、RIP、OSPF、BGP。

4.5 路由协议

4.5.1 自治系统

  • **自治系统(AS)**:在单一技术管理下的许多网络、IP地址以及路由器的集合,使用一种内部路由选择协议和共同的度量。每个AS对其他AS表现出统一的路由选择策略。

AS类型

  • 末梢AS:较小的AS,只与直接连接的AS交换分组,不转发来自其他AS的分组。
  • 多归属AS:末梢AS同时连接到两个或多个AS,但不允许分组穿越。
  • 穿越AS:主干道AS,为其他AS有偿转发分组。
  • 对等AS:经协商的AS之间,彼此交换分组不收费。

4.5.2 域内路由与域间路由

协议类型 作用范围 协议示例
内部网关协议(IGP) 自治系统内部 RIP、OSPF
外部网关协议(EGP) 自治系统之间 BGP

4.5.3 RIP路由协议

RIP是一种分布式的基于距离向量的路由选择协议,最大优点是简单。

基本规定

  • 距离(跳数):到直接相连网络距离为1,每经过一个路由器加1。
  • 好路由:优先选择跳数少的路径。
  • 最大跳数:15跳,16表示网络不可达(RIP仅适用于小型网络)。
  • 更新频率:默认每30秒广播一次路由更新信息。
  • 版本:RIP不支持子网掩码,RIP2支持CIDR和变长子网掩码。

RIP特点

  1. 仅和相邻路由器交换信息。
  2. 交换全部路由表(自己知道的所有信息)。
  3. 固定时间间隔交换(30秒)。

距离向量算法

收到相邻路由器X发来的RIP报文后:

  1. 修改报文:下一跳地址改为X,距离加1。
  2. 更新路由表
    • 若目的网络不在表中 → 添加。
    • 若已在表中且下一跳是X → 替换。
    • 若已在表中且下一跳不是X → 仅当新距离更小时更新。
  3. 超时处理:3分钟未收到邻居更新,将其距离设为16(不可达)。

问题:坏消息传播得慢

  • 网络故障时,RIP需要较长时间才能将信息传遍所有路由器(收敛慢)。

RIP报文

  • 应用层协议,使用UDP(端口520)传送。
  • 一个RIP报文最多包含25个路由。

4.5.4 OSPF路由协议

OSPF(开放最短路径优先)是一种基于链路状态的路由选择协议。

  • 开放:公开发表;最短路径优先:使用Dijkstra算法。
  • 网络层协议,直接使用IP数据报传送(协议字段=89)。

OSPF与RIP的区别

特征 RIP OSPF
信息发送范围 仅相邻路由器 本自治系统所有路由器(洪泛法)
发送内容 路由表(距离、下一跳) 链路状态(相邻路由器、链路度量)
发送时机 周期性(30秒) 链路状态变化时或周期性(30分钟)
路由计算 距离向量 Dijkstra算法
收敛速度

OSPF特点

  • 支持多种度量(费用、距离、时延、带宽等),可为不同业务计算不同路由。
  • 支持多路径间的负载平衡
  • 具有鉴别功能,保证安全性。
  • 支持可变长子网划分和CIDR。
  • 每个链路状态带有32位序号,序号越大状态越新。

区域划分

为使OSPF适应大规模网络,将一个自治系统划分为若干区域

  • 主干区域(标识符0.0.0.0):连通其他下层区域。
  • 区域边界路由器:概括区域信息。
  • 自治系统边界路由器:与其他AS交换路由信息。

OSPF分组类型

类型 作用
问候(Hello) 发现和维持邻站可达性(每10秒交换)
数据库描述 交换链路状态数据库摘要信息
链路状态请求 请求缺失的链路状态项目
链路状态更新 用洪泛法更新链路状态(核心分组)
链路状态确认 确认更新分组
  • 40秒未收到Hello分组,认为邻居不可达,更新LSDB并重新计算路由。

4.5.5 BGP路由协议

BGP(边界网关协议)是不同自治系统之间交换路由信息的外部网关协议

  • BGP只寻求较好路由(避免环路),而非最佳路由,原因:

    1. 因特网规模太大。
    2. 各AS度量标准不同。
    3. 需考虑政治、经济、安全等策略。
  • 路径向量路由选择协议,应用层协议,基于TCP(端口179)。

BGP工作原理

  1. 每个AS选择至少一个BGP发言人
  2. 发言人之间建立TCP连接,交换BGP报文建立BGP会话
  3. 交换网络可达性信息(到达某网络所要经过的一系列AS)。
  4. 最终形成树形结构的AS连通图。

BGP连接类型

  • eBGP:不同AS之间的BGP连接。
  • iBGP:同一AS内部的BGP连接(AS内部iBGP必须全连通)。

路由通告规则

  • eBGP收到 → 可通过iBGP告知同一AS内对等端。
  • iBGP收到 → 可通过eBGP告知不同AS对等端。
  • iBGP收到 → 不能转告同一AS内不同iBGP对等端。

BGP路由格式

1
BGP路由 = “前缀,BGP属性” = “前缀,AS-PATH,NEXT-HOP”
  • AS-PATH:经过的AS号序列,用于避免环路。
  • NEXT-HOP:通告路由的起点。

BGP路由选择规则

  1. 本地偏好值最高的路由。
  2. AS跳数最少的路由。
  3. 热土豆路由(尽快离开本AS)。

BGP报文类型

报文 作用
打开(Open) 建立BGP连接
更新(Update) 发送路由信息或撤销路由
保活(Keepalive) 确认连接,周期维护(30秒)
通知(Notification) 报告差错

三种路由协议对比

特征 RIP OSPF BGP
类型 内部 内部 外部
路由算法 距离-向量 链路状态 路径-向量
传输协议 UDP (520) IP (协议89) TCP (179)
路径选择 跳数最少 代价最低 较好非最佳
交换结点 相邻路由器 所有路由器 相邻BGP发言人
交换内容(首次) 全部路由表 链路状态信息 整个BGP路由表
交换内容(后续) 全部路由表 有变化的部分 有变化的部分

例题(2017年37题)
直接封装RIP、OSPF、BGP报文的协议分别是(D. UDP、IP、TCP)


习题

  1. RIP协议的最大跳数限制是(B. 15)

  2. RIP协议使用的传输层协议及端口是(B. UDP, 520)

  3. RIP协议的路由表中,一条路由条目包含(A. 目的网络、下一跳地址、跳数)

  4. 在OSPF网络中,路由器之间交换链路状态信息的分组是(D. 链路状态更新分组)

  5. OSPF协议中,路由器根据(A. Dijkstra算法)来计算最短路径

  6. 关于OSPF区域的描述,正确的是(D. 以上都对)

  7. BGP协议主要用于(B. 自治系统(AS)之间的路由选择)

  8. BGP路由器通过(C. BGP报文)来交换路由信息

  9. 在BGP协议中,用于建立和维护BGP连接的报文是(C. Keepalive报文)


笔记结束