1、- 1 -RFC2328 OSPF V2中文版- 2 -目 录摘要 .- 6 -1 绪论 .- 6 -1.1 协议概述 .- 6 -1.2 常用术语的定义 .- 7 -1.3 连接状态路由技术的简要历史 .- 8 -1.4 本文档的结构 .- 9 -1.5 感谢 .- 9 -2 连接状态数据库:组织和计算 .- 9 -2.1 路由器和网络的表示方法 .- 9 -2.1.1 非广播网络的表示方法 .- 11 -2.1.2 一个连接状态数据库的示例 .- 12 -2.2 最短路径树 .- 14 -2.3 使用外部路由信息 .- 15 -2.4 等值多路径 .- 16 -3 将自制系统划分为区域 .
2、- 16 -3.1 自制系统的骨干区域 .- 17 -3.2 区域间路由 .- 17 -3.3 路由器的分类 .- 17 -3.4 一个简单区域配置 .- 18 -3.5 IP 子网化支持 .- 21 -3.6 支持存根区域 .- 22 - 3 -3.7 区域的划分 .- 22 -4 功能摘要 .- 23 -4.1 区域间路由 .- 23 -4.2 自制系统外部路由 .- 23 -4.3 路由协议包 .- 24 -4.4 基本实现的需求 .- 24 -4.5 OSPF 可选项 .- 25 -5 协议数据结构 .- 26 -6 区域数据结构 .- 27 -7 形成邻接 .- 28 -7.1 He
3、llo 协议 .- 28 -7.2 数据库同步 .- 29 -7.3 指定路由器 .- 29 -7.4 备份指定路由器 .- 29 -7.5 邻接图 .- 30 -8 协议包处理 .- 30 -8.1 发送协议包 .- 31 -8.2 接收协议包 .- 32 -9 接口数据结构 .- 33 -9.1 接口状态 .- 34 -9.2 引起接口状态改变的事件 .- 36 -9.3 接口状态机 .- 36 - 4 -9.4 选举指定路由器 .- 37 -9.5 发送 Hello 包 .- 38 -9.5.1 在 NBMA 网络上发送 Hello 包 .- 39 -10 邻居数据结构 .- 39 -1
4、0.1 邻居状态 .- 40 -10.2 引起邻居状态改变的事件 .- 42 -10.3 邻居状态机 .- 43 -10.4 是否形成邻接 .- 46 -10.5 接收到 Hello 包 .- 46 -10.6 接收到数据库描述包 .- 47 -10.7 接收到连接状态请求包 .- 48 -10.8 发送数据库描述包 .- 49 -10.9 发送连接状态请求包 .- 49 -10.10 示例 .- 49 -11 路由表结构 .- 50 -11.1 查找路由表 .- 52 -11.2 路由表示例,无区域 .- 53 -11.3 路由表示例,有区域 .- 54 -12 连接状态宣告(LSA) .-
5、 54 -12.1 LSA 头部 .- 54 -12.1.1 连接状态时限 .- 55 -12.1.2 选项 .- 55 - 5 -12.1.3 连接状态类型 .- 55 -12.1.4 连接状态标识 .- 55 -12.1.5 宣告路由器 .- 56 -12.1.6 连接状态序号 .- 56 -12.1.7 连接状态校验和 .- 56 -12.2 连接状态数据库 .- 57 -12.3 TOS 表现 .- 57 -12.4 生成 LSA .- 58 -12.4.1 Router-LSA.- 59 -12.4.2 Network-LSA.- 62 -12.4.3 Summary-LSA.- 6
6、3 -12.4.4 AS-external-LSA.- 64 -13 洪泛过程 .- 66 -13.1 判定较新的 LSA .- 67 -13.2 将 LSA 加入数据库 .- 67 -13.3 洪泛过程的下一步操作 .- 68 -13.4 接收自生成的 LSA .- 69 -13.5 发送连接状态确认包(LSAck 包) .- 69 -13.6 重传 LSA .- 70 -13.7 接收连接状态确认包(LSAck 包) .- 70 -14 老化连接状态数据库 .- 71 -14.1 提前老化 LSA .- 71 - 6 -15 虚拟通道 .- 71 -16 计算路由表 .- 72 -16.1
7、 计算一个区域的最短路径树 .- 73 -16.1.1 计算下一跳 .- 75 -16.2 计算区域间路径 .- 75 -16.3 查看传输区域的 Summary-LSA .- 76 -16.4 计算 AS 外部路径 .- 77 -16.4.1 外部路径参数 .- 78 -16.5 增量更新-Summary-LSA .- 78 -16.6 增量更新-AS-external-LSA .- 79 -16.7 路由表改变引起的事件 .- 79 -16.8 等值多路径 .- 79 -脚注 .- 79 -引用 .- 81 -A OSPF 数据格式 .- 82 -A.1 OSPF 包的封装 .- 82 -
8、A.2 选项域 .- 83 -A.3 OSPF 包格式 .- 83 -A.3.1 OSPF 包头 .- 83 -A.3.2 Hello 包 .- 84 -A.3.3 数据库描述包/DD 包 .- 86 -A.3.4 连接状态请求包/LSR 包 .- 87 - 7 -A.3.5 连接状态更新包/LSU 包 .- 87 -A.3.6 连接状态确认包/LSAck 包 .- 88 -A.4 LSA 格式 .- 89 -A.4.1 LSA 头部 .- 89 -A.4.2 Router-LSA.- 90 -A.4.3 Network-LSA.- 92 -A.4.4 Summary-LSA.- 92 -A.
9、4.5 AS-external-LSA.- 93 -B 结构常量 .- 95 -C 可配置变量 .- 95 -C.1 全局参数 .- 96 -C.2 区域参数 .- 96 -C.3 路由器接口参数 .- 97 -C.4 虚拟通道参数 .- 98 -C.5 NBMA 网络参数 .- 98 -C.6 点对多点网络参数 .- 98 -C.7 主机路径参数 .- 98 -D 验证 .- 99 -D.1 空验证 .- 99 -D.2 简单口令验证 .- 99 -D.3 密码验证 .- 99 -D.4 信息生成 .- 100 - 8 -D.4.1 生成空验证 .- 101 -D.4.2 生成简单口令验证
10、.- 101 -D.4.3 生成密码验证 .- 101 -D.5 信息校验 .- 101 -D.5.1 校验空验证 .- 101 -D.5.2 校验简单口令验证 .- 102 -D.5.3 校验密码验证 .- 102 -E 设定 LS 标识的一种算法 .- 102 -F 多接口接入同一网络/子网 .- 103 -G 与 RFC 2178 的不同 .- 103 -G.1 洪泛过程的修改 .- 103 -G.2 外部路径优先级的改变 .- 104 -G.3 解决不完整的虚拟下一跳 .- 104 -G.4 路由表查找 .- 104 -安全性考虑 .- 104 - 9 -本文档讲述了一种 Intern
11、et 团体的 Internet 标准跟踪协议,它需要进一步进行讨论和建议以得到改进。请参考最新版的“Internet 正式协议标准”(STD1)来获得本协议的标准化程度和状态。本备忘录的发布不受任何限制。版权提示:Copyright (C) The Internet Society (1998). All Rights Reserved.摘要本备忘录说明了 OSPF 协议版本 2。OSPF 是一种连接状态/link-state 路由协议,被设计用于单一的自制系统/Autonomous System 中。每个 OSPF 路由器都维持着同样的数据库以描述 AS 的拓扑结构,并以此数据库来创建最短路
12、径树并计算路由表。OSPF 在发现拓扑改变后,仅利用很少的路由流量就可以快速的重新计算出路径。OSPF 提供等值多路径。通过提供区域/area 路径,来提供额外的路径保护并可以减少协议所需要的流量。此外,所有的 OSPF 路由信息交换都经过验证。本备忘录与 RFC 2178 的不同,在附录 G 中说明。所有的不同点都实现向后兼容。按本备忘录的实现,与按照 RFC2178、1583、1247 的实现能够协同运作。请将建议发往 ospfgated.cornell.edu。请将有关本文翻译的建议发往 1 绪论本文档描述了开放最短路径优先/Open Shortest Path First(OSPF)T
13、CP/IP 网际路由协议。OSPF 是一种典型的内部网关协议/Interior Gateway Protocol(IGP)。这意味着其路由信- 10 -息是描述属于同一个自制系统/Autonomous System(AS)中的路由器。OSPF 协议是基于连接状态或被称为 SPF 的技术,这与传统 TCP/IP 网际路由协议所使用的Bellman-Ford 技术不同。OSPF 协议是由 Internet Engineering Task Force 的 OSPF 工作组所开发的,特别为 TCP/IP 网络而设计,包括明确的支持 CIDR 和标记来源于外部的路由信息。OSPF 也提供了对路由更新的
14、验证,并在发送/接收更新时使用 IP 多播。此外,还作了很多的工作使得协议仅用很少的路由流量就可以快速地响应拓扑改变。1.1 协议概述OSPF 仅通过在 IP 包头中的目标地址来转发 IP 包。IP 包在 AS 中被转发,而没有被其他协议再次封装。OSPF 是一种动态路由协议,它可以快速地探知 AS 中拓扑的改变(例如路由器接口的失效),并在一段时间的收敛后计算出无环路的新路径。收敛的时间很短且只使用很小的路由流量。在连接状态路由协议中,每台路由器都维持着一个数据库以描述 AS 的拓扑结构。这个数据库被称为连接状态数据库,所有参与的路由器都有着同样的数据库。数据库中的各项说明了特定路由器自身的状态(如该路由器的可用接口和可以到达的邻居)。该路由器通过洪泛/flooding 将其自身的状态传送到整个 AS 中。所有的路由器同步地运行完全相同的算法。根据连接状态数据库,每台路由器构建出一棵以其自身为树根的最短路径树。最短路径树给出了到达 AS 中各个目标的路径,路由信息的起源在树中表现为树叶。当有多条等值的路径到达同一目标时,数据流量将在这些路径上平均分摊。路径的距离值表现为一个无量纲数。