Cisco Certified Network Professional 642-801 Course Notes - Building Scalable Cisco Internetworks Preface Noco#sh start! Written by 红 头 发 ( 绯 瞳, 大 写 的 J) a.k.a. Ca.J Description 请 保 留 作 者 信 息 Homepage Http://Www.Show-Tym.Com/ Apr.12th.2004! Module1 Advanced IP Addressing Scalable Network Design 一 般 说 来 在 规 划 网 络 的 时 候 要 考 虑 到 一 点, 即 可 扩 展 性 网 络 设 计 一 般 是 把 它 设 计 为 层 次 化 的, 一 般 分 为 以 下 三 层 : Access Layer( 访 问 层 ): 用 户 接 入 到 网 络 中 的 接 入 点 Distribution Layer( 分 发 层 ): 该 层 是 访 问 层 用 户 访 问 网 络 资 源 的 一 个 汇 聚 点 Core Layer( 核 心 层 ): 负 责 在 各 个 分 割 的 网 络 之 间 进 行 高 速 有 效 的 数 据 传 输 网 络 层 次 化 的 设 计 可 以 基 于 以 下 两 种 方 法 来 划 分 : 1. 按 功 能, 企 业 的 不 同 部 门 来 划 分 2. 按 地 理 位 置 来 划 分 但 是 记 得 不 管 你 按 何 种 方 式 来 设 计 你 的 网 络, 三 层 元 素 要 考 虑 进 去 : 1. 核 心 层 : 需 要 大 带 宽, 冗 余 连 接 2. 访 问 层 : 用 户 接 入 到 网 络 的 接 入 点. 地 址 的 分 发 ( 比 如 DNCP),VLAN 的 设 计, 防 火 墙,ACL 等 都 在 这 层 考 虑 进 去 3. 分 发 层 : 访 问 层 设 备 的 汇 聚 点 看 看 核 心 层 的 两 种 设 计, 如 下 : 1. 全 互 连 (fully meshed) 的 方 式, 优 点 是 提 供 冗 余 连 接, 但 是 随 着 网 络 的 扩 展, 成 本 会 越 来 越 高 2. 星 形 设 计 方 式 (hub-and-spoke), 让 其 他 设 备 都 连 接 到 相 对 独 立 的 中 心 设 备 上 去. 这 样 做 节 省 了 一 些 开 销, 但 是 冗 余 度 上 比 全 互 连 的 方 式 要 差 1
Benefits of Good Network Design 先 来 看 看 RFC1918 定 义 的 私 有 IP 地 址 范 围 : A 类 :10.0.0.0 到 10.255.255.255 B 类 :172.16.0.0 到 172.31.255.255 C 类 :192.168.0.0 到 192.168.255.255 在 注 意 设 计 一 个 好 的 网 络 的 IP 地 址 规 划 的 时 候 要 注 意 以 下 几 点 : 1. 可 扩 展 性 (scalability) 2. 可 预 测 性 (predictability) 3. 灵 活 性 (flexibility) Benefits of an Optimized IP-Addressing Plan 层 次 化 地 址 规 划 的 好 处 : 1. 减 少 了 路 由 表 (routing table) 的 条 目 (entry) 2. 可 以 有 效 的 对 地 址 进 行 分 配 可 以 使 用 路 由 汇 总 (route summarization) 来 减 少 路 由 表 的 条 目, 路 由 汇 总 使 得 多 个 IP 地 址 是 集 合 看 上 去 就 像 是 一 个 IP 地 址 从 而 减 少 在 路 由 器 中 的 条 目. 这 样 就 可 以 减 轻 路 由 器 的 CPU 和 内 存 的 负 载, 提 供 更 为 有 效 的 路 由 服 务, 加 快 了 网 络 收 敛 (convergence) 的 速 度, 简 化 了 排 错 (troubleshooting) 的 过 程 Hierarchical Addressing Using Variable-Length Subnet Masks 变 长 子 网 掩 码 (Variable-Length Subnet Masks,VLSM) 的 出 现 是 打 破 传 统 的 以 类 (class) 为 标 准 的 地 址 划 分 方 法, 是 为 了 缓 解 IP 地 址 紧 缺 而 产 生 的 先 来 看 看 前 缀 (prefix) 的 概 念 : 假 设 给 你 个 地 址 范 围 192.168.1.64 到 192.168.1.79. 前 3 个 8 位 位 组 (octet) 是 一 样 的, 我 们 来 看 看 组 后 个 8 位 位 组, 写 成 2 进 制, 如 下 : 64:0100 0000 65:0100 0001 66:0100 0010.. 77:0100 1101 78:0100 1110 79:0100 1111 注 意 它 们 的 共 通 点 : 前 4 位 是 一 样 的, 加 上 前 3 个 8 位 位 组 的 24 位 就 等 于 28 位, 所 以 我 们 就 可 以 认 定 这 个 网 段 的 前 缀 是 /28( 即 255.255.255.240). 所 以 在 这 个 例 子 里, 主 机 位 就 只 有 4 位 来 看 下 VLSM 的 应 用 : 假 如 一 个 公 司 使 用 的 是 172.16.0.0/16 的 地 址 空 间. 给 公 司 的 分 部 A 分 配 172.16.12.0/22 到 172.16.14.255/22 的 地 址 块.D 需 要 2 个 VLAN, 然 后 每 个 VLAN 容 纳 200 个 用 户.A,B 和 C 连 接 3 个 以 太 网, 分 别 用 1 个 24 口 的 交 换 机 相 连 ( 不 考 虑 级 联 等 因 素 ) 2
先 从 需 要 最 大 用 户 的 入 手 : 要 让 1 个 子 网 容 纳 200 个 用 户, 即 主 机 位 应 该 保 留 为 8 位 (254 台 主 机, 假 如 主 机 位 是 9 位 的 话 可 以 容 纳 510 台 主 机, 但 是 造 成 了 地 址 空 间 的 浪 费 ). 所 以 前 缀 为 /24, 从 172.16.12.0/24 开 始 分 配 起 走. 如 下 图 : 然 后 分 配 A,B 和 C 的 地 址 :A 连 接 一 个 24 口 的 交 换 机, 即 需 要 24 个 主 机 地 址, 那 么 主 机 位 应 该 保 留 为 5 位 ( 可 以 容 纳 30 台 主 机 ), 即 前 缀 为 /27(255.255.255.224), 因 为 172.16.12.0/24 和 172.16.13.0/24 已 经 被 D 全 部 占 用, 所 以 从 172.16.14.0/27 开 始 分 配. 如 下 图 : 最 后 来 给 A 和 D,B 和 D,C 和 D 之 间 分 配 IP 地 址. 由 于 它 们 之 间 是 点 对 点 连 接, 所 以 主 机 位 只 保 留 2 位, 即 前 缀 是 /30 就 可 以 了. 除 掉 掉 2 个 VLAN 和 3 个 LAN 占 用 了 的 地 址, 还 剩 下 下 面 几 个 地 址 块 : 172.16.14.96/27 172.16.14.128/27 172.16.14.160/27 172.16.14.192/27 172.16.14.224/27 我 们 从 172.16.14.224/27 来 进 行 划 分 ( 一 般 选 择 最 后 1 个 地 址 块 进 行 划 分 ). 如 下 图 : Route Summarization and Classless Interdomain Rouring 3
我 们 先 来 看 下 什 么 是 路 由 汇 总 和 无 类 域 间 路 由 (Classless Interdomain Rouring,CIDR), 它 是 为 了 缓 解 IP 地 址 短 缺, 减 小 路 由 表 的 体 积, 打 破 传 统 的 以 类 划 分 网 络 的 一 种 技 术, 如 下 图 : 4 个 C 类 地 址 的 子 网 经 过 D 的 路 由 汇 总 成 一 条 192.16.12.0/22, 注 意 这 个 192.16.12.0/22 既 不 是 A 类 也 不 是 B 类 更 不 是 C 类, 可 以 理 解 成 超 网 (supernetting), 即 无 类 的 概 念 Understanding IP Version 6 IPv6 是 IPv4 的 增 强 版 本, 和 IPv4 相 比, 有 很 多 优 点 包 括 : 1. 支 持 更 大 的 地 址 空 间 2. IPv6 的 头 部 格 式 比 IPv4 的 头 部 更 为 简 化,IPv6 的 头 部 可 以 根 据 需 要 进 行 扩 展 ( 简 单 并 不 代 表 短, 注 意 不 要 混 淆 ) 3. 更 高 的 安 全 性 和 能 很 好 的 和 移 动 IP 相 互 兼 容 4. 能 够 平 滑 过 渡 IPv4 到 IPv6 移 动 IP 是 IETF 标 准, 使 得 移 动 设 备 在 不 中 断 现 有 连 接 的 情 况 下 进 行 迁 移. 这 一 特 征 是 内 建 在 IPv6 中 的, 但 是 IPv4 就 不 是.IP Sec 是 IETF 开 发 的 标 准, 用 于 增 强 IP 网 络 安 全 性, 这 一 特 性 对 IPv6 是 必 须 的 IPv6 Addressing IPv4 是 32 位 长,4 字 节 ;IPv6 是 128 位 长,16 字 节 ;IPv4 支 持 的 地 址 最 多 达 到 42 亿,IPv6 支 持 的 地 址 多 达 3.4 乘 以 10 的 38 次 方. 增 加 IP 地 址 的 位 长 即 增 加 了 IP 包 头 部 信 息 的 大 小 IPv6 的 表 示 方 法 : 1.X:X:X:X:X:X:X:X( 每 个 X 代 表 16 位 的 16 进 制 数 字 ). 不 区 分 大 小 写 2. 排 头 的 0 可 省 略, 比 如 09C0 就 可 以 写 成 9C0,0000 可 以 写 成 0 3. 连 续 为 0 的 字 段 可 以 以 :: 来 代 替, 但 是 整 个 地 址 中 :: 只 能 出 现 一 次. 比 如 FF01:0:0:0:0:0:0:1 就 可 以 简 写 成 FF01::1 来 看 几 个 简 写 的 例 子 : 0:0:0:0:0:0:0:0 可 以 写 成 :: 0:0:0:0:0:0:0:0 可 以 写 成 ::1 4
Multicast Use IPv4 中 的 广 播 (broadcast) 可 以 导 致 网 络 性 能 的 下 降 甚 至 广 播 风 暴 (broadcast storm). 在 IPv6 中, 就 不 存 在 广 播 这 一 概 念 了, 取 而 代 之 的 是 组 播 (multicast) 和 任 意 播 (anycast) 组 播 的 接 受 对 象 是 一 组 成 员, 是 个 群 体. 任 意 播 是 多 个 设 备 共 享 一 个 地 址. 分 配 IPv6 单 播 (unicast) 地 址 给 拥 有 相 同 功 用 的 一 些 设 备. 发 送 方 发 送 一 个 以 任 意 播 为 目 标 地 址 的 包, 当 路 由 器 接 受 到 这 个 包 以 后, 就 转 发 给 具 有 这 个 地 址 的 离 它 最 近 的 设 备. 单 播 地 址 用 来 分 配 任 意 播 地 址. 对 于 那 些 没 有 配 备 任 意 播 的 的 地 址 就 是 单 播 地 址 ; 但 是 当 一 个 单 播 地 址 分 配 给 不 止 一 个 接 口 的 时 候, 单 播 地 址 就 成 了 任 意 播 地 址 Autoconfiguration 来 看 下 IPv6 的 自 动 配 置 : 当 本 地 链 路 的 路 由 器 发 送 网 络 类 型 信 息 给 所 有 节 点 的 时 候. 支 持 IPv6 的 主 机 就 把 它 自 己 64 位 的 链 路 层 地 址 附 着 在 64 位 的 前 缀 自 动 配 置 成 128 位 长 的 地 址, 保 证 地 址 的 唯 一 性. 自 动 配 置 启 用 即 插 即 用 (Plug and Play) IPv6 Renumbering IPv6 的 重 编 号 : 路 由 器 发 送 组 播 数 据 包, 其 中 数 据 包 中 包 含 2 个 前 缀, 一 个 是 拥 有 比 较 短 的 生 存 期 的 前 缀, 还 有 一 个 是 新 的 拥 有 正 常 时 间 的 前 缀. 通 知 网 络 上 的 节 点 用 完 旧 的 前 缀 后 换 成 新 的 前 缀, 这 样 就 能 进 行 平 滑 的 前 缀 过 渡 IPv4 to IPv6 Transitioning 两 种 转 换 的 方 式 : 1. 双 栈 (dual stack) 2.IPv6 到 IPv4(6to4) 的 隧 道 (tunnel) 还 有 一 种 是 利 用 NAT 来 翻 译 46 地 址 来 看 看 双 栈 配 置 的 例 子, 如 下 : Router#sh run ( 略 )! interface Ethernet0 ip address 192.168.99.1 255.255.255.0 ipv6 address 3ffe:b00:c18:1::3/127! ( 略 ) 隧 道 技 术 是 在 双 栈 路 由 器 上, 将 IPv6 包 封 装 在 IPv4 包 中, 然 后 经 过 IPv4 网 络 传 递 到 另 外 一 端 的 双 栈 路 由 器 上 去, 然 后 再 由 它 解 封 装 要 注 意 的 是 对 采 用 了 隧 道 技 术 的 网 络 进 行 排 错 的 话 比 较 复 杂, 要 记 住 的 是 这 只 是 一 个 过 渡 方 5
案, 不 是 最 终 的 体 系 结 构 对 隧 道 进 行 配 置, 需 要 满 足 以 下 2 个 条 件 : 1. 在 连 接 网 络 的 两 端 采 用 双 栈 路 由 器 2. 在 双 栈 路 由 器 的 接 口 同 时 配 置 IPv4 和 IPv6 的 地 址 6
Module2 Routing Principles Principles of Static Routing 我 们 来 复 习 下 配 置 静 态 路 由 的 语 法, 在 全 局 配 置 模 式 下 使 用 : ip route prefix mask {next-hop address interface} [distance] [permanent] 看 下 各 个 参 数 的 含 义 : prefix mask: 要 加 进 路 由 表 中 去 的 远 程 网 络 及 其 子 网 掩 码 next-hop address: 下 一 跳 地 址 interface: 到 达 目 标 网 络 的 本 地 路 由 器 的 出 口 distance: 管 理 距 离 (AD), 可 选 permanent: 路 由 条 目 永 久 保 存 在 路 由 表 中, 即 使 路 由 器 的 接 口 down 掉 了 注 意, 一 般 只 在 点 对 点 的 连 接 中 使 用 interface 选 项, 否 则 应 该 使 用 next-hop address 选 项 使 用 静 态 路 由 的 好 很 多, 比 如 可 以 对 网 络 进 行 完 全 的 掌 控, 不 会 占 用 额 外 的 路 由 器 CPU 和 内 存 资 源 以 及 网 络 带 宽. 适 用 于 小 型 网 络 中 如 下 就 是 一 个 静 态 路 由 的 例 子 : 如 图, 对 于 A, 只 需 要 在 它 上 面 配 置 ip route 10.2.0.0 255.255.0.0 s0 就 可 以 了, 这 里 采 用 的 就 不 是 next-hop address 而 是 采 用 本 地 的 出 口 接 口 ( 因 为 是 点 到 点 是 连 接 ); 当 然 也 可 以 这 样 配 置 成 ip route 10.2.0.0 255.255.0.0 10.1.1.1, 这 里 采 用 的 就 是 next-hop address 同 样 对 于 B 的 配 置 就 可 以 使 用 ip route 172.16.1.0 255.255.255.0 s0 或 者 ip route 172.16.1.0 255.255.255.0 10.1.1.2 默 认 路 由 (default route): 一 般 使 用 在 stub 网 络 中,stub 网 络 是 只 有 1 条 出 口 路 径 的 网 络. 使 用 默 认 路 由 来 发 送 那 些 目 标 网 络 没 有 包 含 在 路 由 表 中 的 数 据 包 或 者 所 有 的 数 据 包. 语 法 是 把 静 态 路 由 中 的 prefix mask 写 成 0.0.0.0 和 0.0.0.0 Principles of Dynamic Routing 1
动 态 路 由 允 许 路 由 器 自 动 交 换 路 由 信 息 从 而 了 解 整 个 网 络 的 信 息. 动 态 路 由 的 好 处 是 : 使 用 中 型 和 大 型 网 络, 能 够 根 据 网 络 拓 扑 的 变 化 自 动 更 改 路 由 表 的 信 息, 避 免 了 人 工 手 动 更 改 ; 但 是 带 来 的 缺 点 就 是 占 用 路 由 器 额 外 的 CPU 和 内 存 资 源 以 及 网 络 带 宽 Principles of On-Demand Routing ODR 是 Cisco 私 有 的, 主 要 用 在 如 下 的 一 种 星 型 环 境 中 : 有 的 时 候 你 会 觉 得 假 如 你 使 用 静 态 路 由, 当 网 络 拓 扑 发 生 变 化 以 后, 就 得 手 动 修 改 路 由 表 ; 但 是 你 又 不 想 使 用 动 态 路 由, 因 为 那 样 占 用 了 你 额 外 的 一 些 硬 件 资 源 和 网 络 带 宽. 在 如 上 图 的 环 境 中 就 可 以 使 用 ODR.ODR 使 用 Cisco 发 现 协 议 (CDP) 携 带 网 络 信 息.ODR 的 好 处 是 最 大 可 能 的 减 少 了 网 络 硬 件 和 资 源 的 负 载, 同 时 又 减 少 了 手 动 修 改 的 工 作 量. 但 是 ODR 只 使 用 于 hub-and-spoke 这 样 的 拓 扑 结 构 中. 如 上 图,AC,D 和 E 就 是 spoke router, 或 者 叫 做 stub router,b 作 为 中 心, 叫 做 hub router. 当 配 置 了 ODR 以 后,spoke router 使 用 CDP 发 送 IP 前 缀 信 息 到 hub router,spoke router 发 送 IP 前 缀 信 息 给 所 有 和 它 直 接 相 连 的 网 络.ODR 报 告 子 网 掩 那 子 信 息, 所 以 ODR 支 持 VLSM. 然 后 hub router 依 次 发 送 指 向 到 它 自 己 的 默 认 路 由 给 周 边 的 spoke router 严 格 说 来 ODR 不 算 是 真 正 的 路 由 协 议, 因 为 它 交 换 的 信 息 仅 仅 局 限 在 IP 前 缀 信 息 和 默 认 路 由 上,ODR 没 有 包 含 度 (metric) 的 信 息.ODR 使 用 跳 数 (hop count) 作 为 度 配 置 ODR 只 需 要 在 hub router 上 的 全 局 配 置 模 式 下 起 用 router odr 命 令, 不 需 要 在 stub router 上 配 置 IP 路 由 信 息, 但 是 必 须 在 接 口 上 开 启 CDP 功 能 对 ODR 的 验 证, 如 下 : B#show ip route ( 略 ) o 172.16.1.0/24 [160/1] via 10.1.1.2, 00:00:23, Serial0 2
o 172.16.2.0/24 [160/1] via 10.2.2.2, 00:00:03, Serial1 o 172.16.3.0/24 [160/1] via 10.3.3.2, 00:00:16, Serial2 o 172.16.4.0/24 [160/1] via 10.4.4.2, 00:00:45, Serial3 ( 略 ) 注 意 o 代 表 ODR, 管 理 距 离 为 160 Classful Routing Protocol Concept 基 于 类 的 路 由 协 议 最 大 的 特 点 是 在 路 由 更 新 (routing update) 中 不 包 含 子 网 掩 码 的 信 息. 由 于 不 知 道 子 网 掩 码 的 信 息, 当 一 个 基 于 类 的 路 由 器 接 受 或 发 送, 路 由 器 会 假 设 认 为 网 络 所 使 用 的 子 网 掩 码 是 包 含 进 路 由 更 新 中 的, 而 且 这 些 假 设 是 基 于 IP 的 类. 在 接 收 到 路 由 更 新 以 后, 运 行 了 基 于 类 的 路 由 协 议 的 路 由 器 就 会 根 据 以 下 其 中 一 条 来 决 定 网 络 路 径 : 1. 如 果 路 由 更 新 信 息 包 含 相 同 的 主 网 络 号 和 接 收 更 新 的 接 口 配 置 相 同 的 话, 路 由 器 就 应 用 接 收 更 新 的 接 口 的 那 个 子 网 掩 码 2. 如 果 路 由 更 新 信 息 包 含 相 同 的 主 网 络 号 和 接 收 更 新 的 接 口 配 置 不 相 同 的 话, 路 由 器 将 应 用 默 认 的 子 网 掩 码 : A 类 :255.0.0.0 B 类 :255.255.0.0 C 类 :255.255.255.0 当 使 用 基 于 类 的 路 由 协 议 的 时 候, 所 有 的 网 络 主 网 络 号 必 须 相 同, 而 且 子 网 必 须 连 续. 否 则 路 由 器 将 对 子 网 信 息 做 出 错 误 的 判 断. 运 行 了 基 于 类 的 路 由 协 议 会 在 网 络 的 边 界 (boundary) 做 自 动 的 路 由 汇 总 常 见 的 基 于 类 的 路 由 协 议 有 :IGRP 和 RIPv1 Network Summarization in Classful Routing 来 看 看 网 络 汇 总 在 边 界 的 发 生, 如 下 图 : B 作 为 网 络 的 分 界, 从 C 到 A,B 将 两 条 条 目 (172.16.1.0 和 172.16.2.0) 的 信 息 汇 总 成 一 条 (172.16.0.0); 从 A 到 C,B 将 两 条 条 目 (10.1.0.0 和 10.2.0.0) 的 信 息 汇 总 成 一 条 (10.0.0.0). 在 基 于 类 的 路 由 协 议 里, 这 样 的 汇 总 是 自 动 进 行 的, 不 需 要 手 动 配 置. 前 提 是 子 网 掩 码 等 长, 子 网 连 续 假 如 说 子 网 不 连 续, 如 下 图 : 3
如 图 中 的 表 所 示,D 给 C 传 送 一 条 汇 总 路 由 10.3.0.0;B 传 送 条 汇 总 路 由 10.2.0.0 给 C. 对 于 C 而 言 它 就 会 做 出 错 误 的 判 断, 它 区 分 不 了 10.2.0.0 和 10.3.0.0 分 别 在 哪 边. 所 以 说 做 基 于 类 的 路 由 协 议 的 路 由 汇 总, 子 网 必 须 连 续. 但 是 这 样 一 来, 会 造 成 地 址 空 间 的 浪 费 ( 和 VLSM 相 比 ) Examining a Classful Routing Table 假 设 我 们 使 用 show ip route 命 令, 产 生 如 下 输 出 : J# show ip route ( 略 ) Gateway of last resort is 0.0.0.0 to network 0.0.0.0 10.0.0.0/24 is subnetted, 3 subnets, R 10.1.1.0/24 [120/1] via 10.1.2.2, 00:00:05, Ethernet0 C 10.1.2.0/24 is directly connected, Ethernet0 R 10.1.3.0/24 [120/2] via 10.1.2.2, 00:00:05, Ethernet0 R 192.168.24.0/24 [120/2] via 10.1.2.2, 00:00:16, Ethernet0 R 172.16.0.0/16 [120/3] via 10.1.2.2, 00:00:16, Ethernet0 R* 0.0.0.0/0 [120/3] via 10.1.2.2, 00:00:05, Ethernet0 ( 略 ) 如 上, 可 以 看 出 10.1.2.0/24 是 直 接 相 连, 其 他 的 都 是 通 过 RIP 学 习 到 的. 现 在 我 们 假 设 有 以 下 几 个 目 的 地 的 包, 它 们 对 于 上 面 的 输 出 会 如 何 进 行 匹 配 : 192.168.24.3 172.16.5.1 10.1.2.7 200.100.50.0 10.2.2.2 根 据 show ip route 的 输 出 可 以 看 出, 到 达 192.168.24.3 的 包 会 跟 第 四 条 (92.168.24.0/24) 相 匹 配,( 虽 然 最 后 一 条 也 可 以, 但 是 匹 配 原 则 是 匹 配 掩 码 最 长 的 那 条 ); 接 下 来,172.16.5.1 和 第 五 条 (172.16.0.0/16) 匹 配 ;10.1.2.7 和 第 二 条 (10.1.2.0) 相 互 匹 配 ;200.100.50.0 和 前 五 条 都 不 匹 配, 和 第 六 条 默 认 路 由 (0.0.0.0/0) 相 互 匹 配 ;10.2.2.2 虽 然 和 前 三 条 的 第 一 个 8 位 位 组 匹 配, 但 是 后 面 3 个 8 位 位 组 不 匹 配, 所 以 它 将 被 丢 弃 而 不 会 采 用 默 认 路 由 如 果 你 在 全 局 模 式 下 使 用 了 ip classless 命 令 的 话, 目 的 地 是 10.2.2.2 的 包 就 不 会 被 丢 弃, 就 会 采 用 默 认 路 由.ip classless 命 令 在 Cisco IOS 版 本 12.0 和 12.0 以 后 默 认 打 开 的, 无 须 手 动 打 开 Classless Routing Protocol Concepts 基 于 无 类 概 念 的 路 由 协 议 可 以 说 是 第 二 代 路 由 协 议, 相 比 基 于 类 的 路 由 协 议, 它 可 以 解 决 地 址 空 间 过 于 浪 费 的 问 题. 这 类 协 议 的 例 子 有 RIPv2,OSPF,EIGRP,IS-IS,BGPv4. 使 用 无 类 的 路 由 协 4
议, 拥 有 相 同 主 网 络 号 的 不 同 子 网 就 可 以 使 用 不 同 的 子 网 掩 码 (VLSM). 假 如 在 路 由 表 中 到 达 目 的 网 络 的 匹 配 条 目 不 止 一 条, 将 会 选 择 子 网 掩 码 长 的 那 条 进 行 匹 配. 比 如 假 如 有 两 条 条 目 172.16.0.0/16 和 172.16.5.0/24, 如 果 目 的 地 是 172.16.5.99 的 包 将 会 和 172.16.5.0/24 进 行 匹 配 而 不 是 和 172.16.0.0/16 进 行 匹 配 还 有 一 点 是 无 类 的 路 由 协 议 的 自 动 汇 总 可 以 手 动 关 闭, 这 样 的 自 动 汇 总 会 影 响 不 连 续 的 子 网 的 使 用 而 造 成 错 误 的 汇 总 路 由 信 息 ( 这 点 和 基 于 类 的 路 由 协 议 在 不 连 续 子 网 的 情 况 下 的 自 动 汇 总 所 带 来 的 问 题 是 一 样 的 ) Automatic Network-Boundary Summarization Using RIPv2 and EIGRP 基 于 无 类 的 路 由 协 议 一 般 不 会 对 所 有 的 子 网 进 行 宣 告 (advertise). 默 认 的, 比 如 像 EIGRP 和 RIPv2 会 像 基 于 类 的 路 由 协 议 那 样, 在 网 络 的 边 界 进 行 自 动 汇 总, 这 样 就 使 得 它 们 能 和 它 们 的 之 前 的 RIPv1 和 IGRP 很 好 的 兼 容 但 是 和 之 前 的 RIPv1 和 IGRP 不 同 的 是, 你 可 以 手 动 关 闭 自 动 汇 总. 在 配 置 相 关 路 由 的 时 候 只 需 要 输 入 no auto-summary 就 可 以 了. 这 个 命 令 在 配 置 OSPF 和 IS-IS 的 时 候 是 不 必 输 入 的, 因 为 默 认 OSPF 和 IS-IS 不 会 进 行 自 动 汇 总 在 RIPv2 中 关 闭 自 动 汇 总, 如 下 : Router(config)#router rip Router(config-router)#version 2 Router(config-router)#no auto-summary version 2 命 令 是 启 用 RIPv2 版 本 Characteristics of RIP Version 1 RIPv1 的 特 点 包 括 : 1. 使 用 跳 数 (hop count) 作 为 度 来 决 定 最 佳 路 径 2. 允 许 最 大 跳 数 是 15 跳 3. 默 认 是 每 30 秒 广 播 路 由 更 新 ( 实 际 环 境 中 并 不 是 设 定 的 固 定 为 30 秒, 而 是 25 秒 到 30 秒 之 间 的 随 机 时 间, 防 止 两 个 路 由 器 发 送 同 时 更 新 产 生 冲 突 ) 4. 最 多 支 持 6 条 等 价 链 路 的 负 载 均 衡, 默 认 是 4 条 5. 是 基 于 类 的 路 由 协 议, 不 支 持 VLSM 6. 不 支 持 验 证 (authentication) Characteristics and Configuration of RIPv2 RIPv2 比 RIPv1 增 强 的 特 点 包 括 : 1. 基 于 无 类 概 念 的 路 由 协 议 2. 支 持 VLSM 3. 可 以 人 工 设 定 是 否 进 行 路 由 汇 总 4. 使 用 多 播 来 代 替 RIPv1 中 的 广 播 5. 支 持 明 文 或 MD5 加 密 验 证 5
RIPv2 使 用 多 播 地 址 224.0.0.9 来 更 新 路 由 信 息 RIPv2 的 配 置 命 令 步 骤 如 下 : 1. 启 动 RIP 路 由 协 议 : Router(config)#router rip 2. 启 动 版 本 2 : Router(config-router)#version 2 3. 设 置 进 行 宣 告 的 网 络 号 Router(config-router)#network network-number 一 默 认 Cisco IOS 会 接 收 版 本 1 和 2 的 更 新 包, ; 但 是 只 发 送 版 本 1 的 包. 要 设 置 成 只 发 送 和 接 收 一 种 版 本 的 包, 使 用 version {1 2} 命 令 即 可 一 些 其 他 的 命 令, 如 下 : Router(config-if)#ip rip send receive version {1 2} or 1 2 在 接 口 模 式 下 设 置 摸 个 接 口 接 受 和 发 送 不 同 版 本 的 包 或 同 时 接 收 发 送 版 本 1 和 2 的 包 Router(config-if)#ip summary-address rip network mask 如 果 之 前 在 全 局 配 置 模 式 下 使 用 no auto-summary 关 闭 了 自 动 汇 总 的 话, 要 在 某 个 接 口 做 人 工 汇 总 的 话 就 用 上 面 这 个 命 令 来 看 一 个 例 子, 如 下 图 : 如 图 所 显 示 的 是 一 个 RIPv1 和 RIPv2 协 同 工 作 的 网 络.A 运 行 RIPv2,C 运 行 RIPv1,B 同 时 运 行 RIPv1 和 RIPv2 对 C 的 配 置, 如 下 : C(config)#router rip C(config-router)#version 2 C(config-router)#network 10.0.0.0 C(config-router)# network 192.168.1.0. 对 B 配 置, 如 下 : B(config)#router rip B(config-router)#version 2 B(config-router)#network 10.0.0.0 光 配 置 这 些 是 不 够 的, 还 要 对 B 做 进 一 步 配 置, 如 下 : B(config)#int s3 B(config-if)#ip rip send version 1 B(config-if)#ip rip receive version 1 如 上, 我 们 在 s3 口 配 置 了 接 收 和 发 送 RIPv1 的 更 新, 因 为 RIPv2 是 作 为 主 要 运 做 的 协 议,C 运 行 的 是 RIPv1, 所 以 要 让 B 和 C 进 行 正 确 的 信 息 交 换 的 话, 就 要 在 B 的 s3 口 配 置 上 述 命 令 对 A 进 行 配 置, 如 下 : A(config)#router rip A(config-router)#version 2 6
A(config-router)#network 10.0.0.0 A(config-router)#network 172.16.0.0 A(config-router)#no auto-summary 如 上 我 们 关 闭 了 自 动 汇 总, 当 然 这 样 是 不 够 的, 还 应 该 做 如 下 配 置 进 行 手 动 汇 总 : A(config)#int s2 A(config-if)#ip summary-address rip 172.16.1.0 255.255.255.0 这 样 做 的 目 的 是 允 许 把 172.16.1.0/24 的 信 息 发 送 给 B, 因 为 默 认 发 送 给 B 的 信 息 是 172.16.0.0/16 Administrative Distance 看 看 Cisco 制 定 的 各 个 路 由 协 议 的 管 理 距 离 (AD), 如 下 : 1. 直 接 相 连 :0 2. 静 态 路 由 :1 3.EIGRP 汇 总 路 由 (summary route):5 4. 外 部 BGP:20 5. 内 部 EIGRP:90 6:IGRP:100 7.OSPF:110 8.IS-IS:115 9.RIP(v1,v2):120 10. 外 部 EIGRP:170 11. 内 部 BGP:200 Floating Status Route 因 为 静 态 路 由 的 AD 比 一 些 动 态 路 由 协 议 的 AD 高, 假 如 你 又 想 优 先 采 用 动 态 路 由, 而 让 静 态 路 由 作 为 备 份 路 由 的 话, 就 可 以 在 配 置 静 态 路 由 的 时 候 指 定 一 个 AD 值, 这 个 AD 值 要 比 你 采 用 的 动 态 路 由 协 议 要 高 才 行. 所 以 一 般 当 动 态 路 由 正 常 的 时 候, 你 在 路 由 表 里 是 看 不 到 这 条 静 态 路 由 的 ; 当 动 态 路 由 出 问 题 的 时 候, 静 态 路 由 开 始 生 效, 于 是 出 现 在 路 由 表 里, 这 样 的 静 态 路 由 就 叫 做 浮 动 静 态 路 由 (floating static route) 来 看 一 个 例 子, 如 下 图 : 对 A 的 配 置 如 下 : A(config)#ip route 10.0.0.0 255.0.0.0 172.16.1.2 100 A(config)#router eigrp 100 A(config-router)#network 192.168.1.0 7
A(config-router)#network 172.17.0.0 如 上, 我 们 对 静 态 路 由 的 AD 指 定 为 100,EIGRP 的 AD 为 90, 所 以 优 先 采 用 EIGRP 对 B 的 配 置 和 A 类 似, 如 下 : B(config)#ip route 172.17.0.0 255.255.0.0 172.16.1.1 100 B(config)#router eigrp 100 B(config-router)#network 10.0.0.0 B(config-router)#network 192.168.1.0 注 意, 不 能 在 ISDN 上 配 置 EIGRP, 因 为 ISDN 一 般 作 为 备 份 连 接, 如 果 在 ISDN 上 配 置 了 EIGRP 的 话, 那 ISDN 连 接 将 永 久 保 持, 就 失 去 了 作 为 备 份 连 接 的 意 义 了 Criteria for Inserting Routes in the IP Routing Table 路 由 器 决 定 最 佳 路 径 要 参 考 以 下 几 个 标 准, 如 下 : 1. 有 效 的 下 一 跳 IP 地 址 2. 最 佳 的 度 3. 管 理 距 离 4. 选 择 前 缀 匹 配 最 长 的 路 由 Protocols, Ports, and Reliability 各 个 路 由 协 议 的 协 议 号, 端 口 号 和 可 靠 性 的 比 较, 如 下 图 : IGRP,EIGRP 和 OSPF 是 OSI 参 考 模 型 中 传 输 层 的 协 议, 都 通 过 IP 包 进 行 数 据 交 换,IGRP 使 用 无 连 接 特 性, 尽 最 大 努 力 进 行 传 送 ;EIGRP 和 OSPF 使 用 一 一 确 认 的 窗 口 技 术 ( 即 发 送 出 一 个 包 要 等 待 该 包 的 确 认 后 再 发 送 下 一 个 包 ).IGRP 的 协 议 号 是 9,EIGRP 的 协 议 号 是 88;OSPF 的 协 议 号 是 89 RIP 和 BGP 都 是 OSI 参 考 模 型 应 用 层 的 协 议.RIP 使 用 UDP 作 为 它 的 传 输 协 议, 不 可 靠, 只 是 尽 力 传 送, 使 用 UDP 端 口 520.RIPv1 使 用 广 播 传 输 ;RIPv2 使 用 多 播 传 输 BGP 使 用 TCP 作 为 它 的 传 输 协 议, 最 大 特 点 是 可 靠, 使 用 了 窗 口 技 术. IS-IS 是 OSI 参 考 模 型 中 网 络 层 的 协 议, 它 不 使 用 IP 作 为 它 的 传 输 协 议.IS-IS 包 是 直 接 封 装 在 OSI 参 考 模 型 中 的 数 据 链 路 层 中 的 Routing Protocol Comparison 各 种 路 由 协 议 的 比 较 如 下 图 : 8
BGP 严 格 的 来 说 是 路 径 矢 量 (path-vector) 路 由 协 议 9
Module3 Configuring EIGRP EIGRP Features EIGRP 是 Cisco 的 私 有 路 由 协 议, 它 综 合 了 距 离 矢 量 和 链 路 状 态 2 者 的 优 点, 它 的 特 点 包 括 : 1. 快 速 收 敛 :EIGRP 使 用 Diffusing Update 算 法 (DUAL) 来 实 现 快 速 收 敛. 路 由 器 使 用 EIGRP 来 存 储 所 有 到 达 目 的 地 的 备 份 路 由, 以 便 进 行 快 速 切 换. 如 果 没 有 合 适 的 或 备 份 路 由 在 本 地 路 由 表 中 的 话. 路 由 器 向 它 的 邻 居 进 行 查 询 来 选 择 一 条 备 份 路 由 2. 减 少 带 宽 占 用 :EIGRP 不 作 周 期 性 的 更 新, 它 只 在 路 由 的 路 径 和 度 发 生 变 化 以 后 做 部 分 更 新. 当 路 径 信 息 改 变 以 后,DUAL 只 发 送 那 条 路 由 信 息 改 变 了 的 更 新, 而 不 是 发 送 整 个 路 由 表. 和 更 新 传 输 到 一 个 区 域 内 的 所 有 路 由 器 上 的 链 路 状 态 路 由 协 议 相 比,DUAL 只 发 送 更 新 给 需 要 该 更 新 信 息 的 路 由 器 3. 支 持 多 种 网 络 层 协 议 :EIGRP 通 过 使 用 protocol-dependent modules(pdms), 可 以 支 持 ApplleTalk,IP 和 Novell Netware 等 协 议 4. 无 缝 连 接 数 据 链 路 层 协 议 和 拓 扑 结 构 :EIGRP 不 要 求 对 OSI 参 考 模 型 的 层 2 协 议 做 特 别 是 配 置. 不 像 OSPF,OSPF 对 不 同 的 层 2 协 议 要 做 不 同 配 置, 比 如 以 太 网 和 帧 中 继 总 之,EIGRP 能 够 有 效 的 工 作 在 LAN 和 WAN 中, 而 且 EIGRP 保 证 网 络 不 会 产 生 环 路 (loop-free); 而 且 配 置 起 来 很 简 单 ; 支 持 VLSM; 它 使 用 多 播 和 单 播, 不 使 用 广 播, 这 样 做 节 约 了 带 宽 ; 它 使 用 和 IGRP 一 样 的 度 的 算 法, 但 是 是 32 位 长 的 ; 它 可 以 做 非 等 价 的 路 径 的 负 载 平 衡 EIGRP Databases 运 行 了 EIGRP 的 路 由 器 维 持 3 张 表 :neighbor table,topology table 和 routing table. 其 中 neighbor table 保 存 了 和 路 由 器 建 立 了 邻 居 关 系 的, 直 接 相 连 的 路 由 器 ;topology table 包 含 路 由 器 学 习 到 的 到 达 目 的 地 的 所 有 路 由 条 目, 其 过 程 如 下 : 1.neighbor table 中 的 每 个 邻 居 都 转 发 1 份 IP 路 由 表 的 拷 贝 给 它 们 的 邻 居 2. 然 后 每 个 邻 居 把 从 它 们 自 己 的 邻 居 处 得 来 的 路 由 表 存 储 在 自 己 的 EIGRP 拓 扑 数 据 库 中 3.EIGRP 检 查 拓 扑 数 据 库, 然 后 选 择 出 一 条 到 达 目 的 地 的 最 佳 路 由 4.EIGRP 从 拓 扑 数 据 库 中 选 择 到 达 目 的 地 的 最 佳 的 successor routes, 然 后 把 它 们 放 到 路 由 表 里. 路 由 器 为 每 种 协 议 ( 比 如 IP,IPX) 各 自 保 持 1 张 单 独 是 路 由 表 Feasible Distance vs. Advertised Distance 为 了 决 定 到 达 目 的 地 的 最 佳 路 由 (successor) 和 备 份 路 由 (feasible successor),eigrp 使 用 下 面 2 个 参 数 : 1.advertised distance:eigrp 邻 居 到 达 目 标 网 络 的 度 2.feasible distance: 到 达 邻 居 路 由 器 的 度 加 上 advertised distance( 即 邻 居 到 达 目 标 网 络 的 度 ) 路 由 器 比 较 所 有 的 FD, 然 后 选 择 FD 值 最 低 的 放 进 IP 路 由 表 来 看 一 个 例 子, 如 下 图 : 1
如 图 显 示 的 是 C 的 EIGRP 拓 扑 数 据 库, 里 面 包 含 了 邻 居 A 和 B 的 信 息.A 和 B 都 知 道 如 何 到 达 网 络 10.1.1.0/24. 从 图 中 我 们 看 见 A 到 达 目 标 网 络 的 advertised distance 是 1000;B 是 1500.FD 分 别 是 2000 和 2500.C 经 过 比 较, 将 FD 值 低 的, 这 里 就 是 A 的 条 目, 作 为 到 达 网 络 10.1.1.0/24 的 最 佳 路 径 EIGRP Metric Calculation EIGRP 选 择 一 条 主 路 由 ( 最 佳 路 由 ) 和 一 条 备 份 路 由 放 在 topology table(eigrp 到 目 的 地 支 持 最 多 6 条 链 路 ). 它 支 持 几 种 路 由 类 型 : 内 部, 外 部 ( 非 EIGRP) 和 汇 总 路 由.EIGRP 使 用 混 合 度 EIGRP 度 的 5 个 标 准 如 下 : 1. 带 宽 :10 的 7 次 方 除 以 源 和 目 标 之 间 最 低 的 带 宽 乘 以 256 2. 延 迟 (delay): 接 口 的 累 积 延 迟 乘 以 256, 单 位 是 微 秒 以 上 是 默 认 的 2 个, 下 面 是 可 选 的 3 个 标 准 : 3. 可 靠 性 (reliability): 根 据 keepalive 而 定 的 源 和 目 的 之 间 最 不 可 靠 的 可 靠 度 的 值 4. 负 载 (loading): 根 据 包 速 率 和 接 口 配 置 带 宽 而 定 的 源 和 目 的 之 间 最 不 差 的 负 载 的 值 5. 最 大 传 输 单 元 (MTU): 路 径 中 最 小 的 MTU.MTU 包 含 在 EIGRP 的 路 由 更 新 里, 但 是 一 般 不 参 与 EIGRP 度 的 运 算 EIGRP 使 用 DUAL 来 决 定 到 达 目 的 地 的 最 佳 路 由 (successor). 当 最 佳 路 由 出 问 题 的 时 候,EIGRP 不 使 用 holddown timer 而 立 即 使 用 备 份 路 由 (feasible successor), 这 样 就 使 得 EIGRP 可 以 进 行 快 速 收 敛 看 看 EIGRP 计 算 度 的 公 式,K 是 常 量, 公 式 如 下 : metric=[k1*bandwidth+(k2*bandwidth)/(256 load)+k3*delay]*[k5/(reliability+k4)] 默 认 :K1=1,K2=0,K3=1,K4=0,K5=0 这 样 就 得 到 默 认 的 度 的 简 化 计 算 公 式, 如 下 : metric=bandwidth+delay 注 意, 不 推 荐 修 改 K 值.K 值 通 过 EIGRP 的 hello 包 运 载. 如 果 两 个 路 由 器 的 K 值 不 匹 配 的 话 它 们 是 不 会 形 成 邻 居 关 系 的 EIGRP Metrics Backward Compatible to IGRP 2
EIGRP 的 度 和 IGRP 的 度 能 够 很 好 的 进 行 兼 容.IGRP 的 度 是 以 24 位 的 格 式, 而 EIGRP 是 32 位 的 格 式. 它 们 之 间 的 关 系 是 EIGRP 的 度 是 256 倍 于 IGRP 的 度. 也 就 是 说 假 如 IGRP 的 度 为 1000 的 话, 换 算 成 EIGRP 的 度 为 256000 来 看 一 个 EIGRP 度 的 计 算 的 例 子, 如 下 图 : 注 意 图 上 各 个 路 由 器 之 间 的 链 路 带 宽, 先 看 看 A 经 过 B,C 到 达 D 之 间 的 度 的 计 算,AB 之 间,BC 之 间 为 T1 线 路,CD 之 间 带 宽 为 64kbps, 计 算 如 下 : 带 宽 =10,000,000/64*256=40,000,000 累 积 延 迟 =(2000+2000+2000)*256=1,536,000 所 以 度 = 带 宽 + 累 积 延 迟 =41,536,000 EIGRP Packets EIGRP 的 5 种 包 的 类 型, 如 下 : 1.hello 包 : 路 由 器 使 用 hello 包 来 发 现 邻 居, 采 用 多 播 的 方 式 2.update 包 : 采 用 单 播 或 多 播 的 方 式 发 送. 更 新 发 生 在 路 由 器 启 动, 拓 扑 或 度 发 生 变 化, 和 路 由 状 态 的 迁 移 ( 主 动 到 被 动 ) 3.query 包 : 当 路 由 器 开 始 进 行 路 由 计 算 和 没 有 FD 的 时 候, 它 就 发 送 给 邻 居 一 个 可 靠 的 查 询 包 来 询 问 是 否 有 到 达 目 的 地 的 FD. 查 询 包 通 常 以 多 播 的 方 式 发 送 4.reply 包 : 以 单 播 的 方 式 发 回 给 发 出 查 询 包 的 路 由 起, 作 为 应 答 5.acknowledge(ACK) 包 :ACK 包 是 采 用 单 播 的 hello 包, 包 含 非 0 的 确 认 数 字.update 包,query 包 和 reply 包 均 是 可 靠 发 送, 所 以 它 们 都 需 要 确 认 ; 而 hello 包 和 ACK 包 就 不 需 要 确 认 EIGRP Hello Packets 当 你 在 路 由 器 的 接 口 配 置 了 EIGRP 以 后, 路 由 器 会 周 期 性 的 以 组 多 播 的 方 式 向 外 发 送 hello 包. 多 播 地 址 是 224.0.0.10. 当 和 它 在 1 个 AS 里 的 其 他 运 行 了 EIGRP 的 路 由 器 接 收 到 hello 包 以 后, 就 会 和 它 形 成 邻 居 关 系. 不 在 1 个 AS 里, 而 且 度 的 计 算 方 式 不 一 样 ( 即 K 值 不 同 ), 是 不 会 形 成 邻 居 关 系 的 EIGRP Timers hello 包 在 不 同 的 介 质 上 发 送 间 隔 是 不 一 样 的, 如 下 : 3
1. 在 以 下 介 质 中 是 以 每 5 秒 进 行 发 送 : 广 播 型 介 质, 比 如 以 太 网, 令 牌 环 (Token Ring) 和 分 布 式 光 纤 接 口 (FDDI); 在 点 到 点 类 型 的 串 行 链 路 中 比 如 PPP 和 HDLC, 还 有 帧 中 继 和 ATM; 带 宽 大 于 T1 线 路 的 多 点 线 路, 比 如 交 换 式 多 兆 位 数 据 服 务 (SMDS), 帧 中 继,ATM 和 ISDN PRI 2. 在 以 下 类 型 中 间 隔 时 间 是 60 秒 : 带 宽 小 于 T1 线 路 的 多 点 线 路, 比 如 ISDN BRI, 帧 中 继,SMDS,ATM 和 X.25 当 配 置 EIGRP 的 时 候,EIGRP 进 程 动 态 发 现 和 它 直 接 相 连 的 运 行 了 EIGRP 的 路 由 器. 每 个 路 由 器 在 它 自 己 的 neighbor table 中 都 保 持 的 有 邻 居 的 信 息, 包 括 到 达 邻 居 路 由 器 的 地 址 和 接 口. 还 保 持 的 有 hold time.hold time 是 3 倍 于 hello time EIGRP 在 低 速 链 路 上 发 送 hello 包 的 频 率 较 低, 因 为 hello 包 会 占 用 额 外 的 带 宽. 不 过 可 以 在 接 口 配 置 模 式 对 默 认 时 间 进 行 修 改, 使 用 ip hello-interval eigrp {AS-number} {seconds} 命 令 ; 修 改 hold time 的 时 间 的 命 令 也 是 在 接 口 配 置 模 式, 使 用 ip hold-time eigrp {AS-number} {seconds} 命 令. 当 你 修 改 了 hello 包 的 时 间 间 隔 以 后,hold time 是 不 会 自 动 修 改 的 ( 之 前 hold time=hello time*3) 所 以 要 人 工 进 行 修 改 EIGRP Adjacency Establishment Conditions 即 使 两 个 路 由 器 的 hello time 和 hold time 相 互 之 间 不 匹 配, 它 们 仍 然 有 可 能 成 为 邻 居.hello 包 包 含 了 hold time 的 信 息 和 保 持 跟 踪 每 个 EIGRP 邻 居 路 由 器 的 hold time 如 果 EIGRP 路 由 器 在 hold time 超 出 之 前 没 有 收 到 EIGRP 包, 路 由 器 就 会 察 觉 拓 扑 的 变 化. 路 由 器 删 除 邻 居 路 由 器 的 相 关 信 息, 包 括 从 邻 居 那 里 认 可 的 topology table 条 目. 假 如 FD 可 用 的 话,EIGRP 进 程 将 进 行 重 新 收 敛 EIGRP 不 会 基 于 次 要 地 址 (secondary address) 建 立 邻 居 关 系, 因 为 EIGRP 使 用 接 口 的 主 地 址 show ip eigrp neighbors Command 使 用 show ip eigrp neighbors 命 令 查 看 EIGRP 邻 居 关 系, 如 下 图 : 看 下 各 个 输 出 的 含 义, 如 下 : 1.neighbor address: 邻 居 路 由 器 的 地 址, 如 上 图 可 以 看 出 p2r2 有 2 个 邻 居 2.queue(Q Cnt): 等 待 发 送 的 排 队 排 列 的 包. 如 果 这 个 值 持 续 高 于 0 的 话, 说 明 发 生 了 拥 塞 问 题 3.Smooth Round Trip Timer(SRTT): 从 邻 居 处 发 送 和 接 收 包 的 平 均 回 程 时 间. 单 位 是 毫 秒. 这 个 通 常 用 来 决 定 RTO(Retransmit Time Out) 4.RTO: 单 位 是 毫 秒. 路 由 器 在 重 新 传 输 包 之 前 等 待 ACK 的 时 间 5.hold time: 定 义 了 等 待 没 有 从 邻 居 那 里 接 收 到 任 何 包 的 最 大 时 间. 当 接 受 到 新 的 包 以 后,hold 4
timer 复 位 6.Interface: 本 地 到 邻 居 的 接 口 EIGRP Reliability Reliable Transport Protocol(RTP) 用 来 保 证 EIGRP 包 发 送 给 邻 居 的 可 靠 的 传 输.RTP 支 持 单 播 和 多 播 的 混 合 方 式. 出 于 效 率 问 题 的 考 虑, 只 有 一 些 特 定 的 EIGRP 包 需 要 可 靠 的 传 输. 比 如 在 拥 有 多 播 能 力 的 多 路 访 问 网 络 中, 比 如 以 太 网, 就 不 需 要 单 独 的 发 送 可 靠 的 hello 包 给 所 有 邻 居.EIGRP 发 送 1 个 单 独 的 hello 包 的 多 播, 其 中 包 含 接 收 者 不 需 要 对 这 些 包 进 行 确 认 其 他 类 型 包, 比 如 update 包 就 需 要 确 认. 所 有 运 载 路 由 信 息 的 包 (update,reply 和 query) 就 需 要 可 靠 传 输 因 为 它 们 不 是 周 期 性 的 发 送. 每 个 包 分 配 的 有 序 列 号 然 后 要 求 确 认. 这 些 序 列 号 和 确 认 就 使 得 这 些 包 可 以 可 靠 的 传 输 ACK 包 和 hello 包, 是 不 需 要 可 靠 性 的 EIGRP Retransmission Policy and Transport Mechanism RTP 的 重 传 机 制 : 路 由 器 发 送 给 邻 居 可 靠 的 包 在 RTO 超 出 以 后, 还 没 得 到 确 认 的 话, 将 进 行 包 的 重 传. 最 大 重 传 次 数 16 次, 直 到 hold time 超 出 EIGRP 的 传 输 使 用 了 窗 口 技 术, 并 且 窗 口 大 小 是 1,stop-and-wait 机 制, 即 要 对 传 输 的 包 进 行 一 一 确 认. 假 如 一 个 路 由 器 A 有 两 个 邻 居 B 和 C, 当 分 别 给 B 和 C 发 送 1 个 包 以 后,B 做 出 了 及 时 的 应 该 而 C 还 没 有 做 出 应 答,A 就 必 须 等 待, 直 到 C 做 出 应 答 以 后 才 能 发 送 下 一 个 包, 这 样 带 来 的 影 响 是 降 低 了 效 率. 解 决 的 办 法 是 对 没 有 得 到 确 认 的 多 播 包 采 用 单 播 包 来 传 送 Initial Route Discovery in EIGRP 来 看 看 EIGRP 中 邻 居 的 发 现 和 建 立 过 程, 如 下 图 : 具 体 过 程 如 下 : 5
1. 路 由 器 A 启 动, 然 后 在 链 路 上 发 送 hello 包 2. 路 由 器 B 接 收 到 A 发 来 的 hello 包, 然 后 做 出 应 答, 发 回 update 包 给 A, 告 诉 A 它 自 己 的 路 由 表 的 信 息. 但 是 这 个 时 候 邻 居 关 系 还 没 有 建 立 直 到 B 发 回 hello 包 给 A. 在 B 给 A 的 update 包 里 设 置 了 初 始 位 (init bit) 的, 说 明 这 是 初 始 过 程 3. 当 双 方 交 换 过 hello 包 以 后, 邻 居 关 系 建 立.A 发 回 ACK 包 给 B 确 认 它 已 经 收 到 了 从 B 而 来 的 update 包 4.A 吸 收 update 包 到 它 自 己 的 topology table 中 去.topology table 包 括 了 从 邻 居 那 里 得 来 的 所 有 目 的 地 信 息 5.A 发 送 update 包 给 B 6.B 收 到 A 发 来 的 update 包 后 做 出 应 答 ; 发 回 ACK 包 给 A 整 个 过 程 完 成 Verifying EIGRP Connectivity Using debug Commands debug eigrp packets: 显 示 执 行 这 条 命 令 的 路 由 器 的 接 收 和 发 送 的 包 的 类 型, 如 下 : RouterA#debug eigrp packets ( 略 ) 01:38:29: EIGRP: Sending HELLO on Serial0/0 01:38:29: AS 100, Flags 0x0, Seq 0/0 idbq 0/0 iidbq un/rely 0/0 01:38:31: EIGRP: Received HELLO on Serial0/0 nbr 10.1.2.2 01:38:31: AS 100, Flags 0x0, Seq 0/0 idbq 0/0 iidbq un/rely 0/0 peerq un/rely 0/0 Received EIGRP Update 01:38:33: EIGRP: Received UPDATE on Serial0/0 nbr 10.1.2.2 01:38:33: AS 100, Flags 0x0, Seq 23/37 idbq 0/0 iidbq un/rely 0/0 peerq un/rely 0/0 01:38:33: EIGRP: Enqueueing ACK on Serial0/0 nbr 10.1.2.2 01:38:33: Ack seq 23 iidbq un/rely 0/0 peerq un/rely 1/0 01:38:33: EIGRP: Sending ACK on Serial0/0 nbr 10.1.2.2 ( 略 ) 如 果 K 值 不 匹 配 的 话, 当 然 就 建 立 不 了 邻 居 关 系, 如 下 : RouterA#debug eigrp packets ( 略 ) 01:39:13: EIGRP: Received HELLO on Serial0/0 nbr 10.1.2.2 01:39:13:AS 100, Flags 0x0, Seq 0/0 idbq 0/0 iidbq un/rely 0/0 peerq un/rely 0/0 01:39:13: K-value mismatch ( 略 ) debug ip eigrp: 显 示 路 由 器 发 送 和 接 收 的 EIGRP 包 的 相 关 信 息, 如 下 : RouterA#debug ip eigrp IP-EIGRP Route Events debugging is on 01:57:23: IP-EIGRP: Processing incoming UPDATE packet 01:57:23: IP-EIGRP: Int 172.16.1.0/24 M 10639872-9999872 640000 SM 384000-256000 128000 ( 略 ) 如 上 输 出, 内 部 路 由 标 的 有 Int 字 样,FD 为 9999872( 带 宽 值 )+640000( 延 迟 )=10639872, 其 中 FD 6
是 路 由 器 A 到 达 目 标 网 络 172.16.1.0/24;SM 代 表 source metric,advertised distance 是 256000+128000=384000. 因 为 带 宽 值 是 由 10 的 7 次 方 除 以 真 正 的 带 宽 得 来 的, 而 且 计 算 EIGRP 度 的 时 候 是 选 择 链 路 带 宽 值 低 的 那 条. 所 以 EIGRP 的 度 为 9999872(bandwidth)+640000(delay)=10639872 Selection of a Successor by DUAL 如 果 有 相 同 的 FD 的 话, 路 由 表 可 以 存 在 多 个 successor, 默 认 可 以 存 在 4 个.FS(feasible successor) 是 备 份 路 由. 要 限 定 一 个 FS, 下 一 跳 的 路 由 器 的 advertised distance 必 须 比 当 前 successor 路 由 的 FD 要 小 如 果 successor 因 故 无 效, 而 有 效 的 FS 存 在 的 话,FS 将 代 替 successor 并 无 需 进 行 重 新 计 算.EIGRP 的 topology table 一 次 可 以 存 在 多 个 有 效 的 FS; 如 果 successor 因 故 无 效, 同 时 又 没 有 有 效 的 FS 的 话,EIGRP 将 进 行 重 新 计 算. 计 算 过 程 将 计 算 出 新 的 一 个 successor successor 是 下 一 跳 的 路 由 器 到 达 目 标 网 络 中 的 最 佳 路 由 器.FD 最 低 的 成 为 successor. 所 有 的 路 由 器 只 选 择 下 一 跳 的 路 由 器, 然 后 每 个 路 由 器 依 靠 下 一 跳 路 由 器 做 出 到 达 目 标 网 络 的 最 可 靠 的 决 定. 所 有 的 路 由 器 依 赖 于 successor( 最 佳 的 下 一 跳 路 由 器 ) 到 达 目 标 网 络 来 看 一 个 例 子, 如 下 图 : 假 设 路 由 器 B 把 网 络 10.1.1.0/24 宣 告 给 它 的 邻 居 路 由 器 C,B 到 网 络 10.1.1.0/24 的 耗 费 为 1000,C 把 这 个 值 作 为 从 B 那 里 得 到 的 advertised distance.c 再 加 上 它 自 己 到 达 B 的 耗 费 (1000) 得 到 通 过 B 到 达 目 标 网 络 的 FD( 即 1000+1000=2000) D 宣 告 网 络 10.1.1.0/24 给 C. 如 图,D 到 达 网 络 10.1.1.0/24 的 耗 费 是 1500,C 从 D 那 里 得 到 这 个 作 为 advertised distance, 然 后 加 上 它 自 己 到 达 D 的 耗 费 (1000) 得 到 FD 为 2500. 路 由 器 C 比 较 所 有 的 FD, 选 择 值 低 的 那 个 作 为 最 佳 路 由, 即 选 择 通 过 B 到 达 目 标 网 络. 所 以 路 由 器 B 作 为 C 到 达 目 标 网 络 的 successor EIGRP Feasible Successor FS, 是 作 为 successor 的 备 份,FS 路 由 存 储 在 topology table 中, 一 张 topology table 可 以 保 持 多 个 FS.FS 的 选 举 是 经 过 比 较 非 successor 的 AD, 而 且 AD 要 比 FD 小, 才 能 被 认 可 为 FS. 这 个 比 较 的 过 程, 可 以 写 成 下 面 的 数 学 方 程 式 : AD of second best route < FD of best route(successor) = FS 7
注 意 这 里 的 AD 不 是 管 理 距 离 而 是 advertised distance 如 下 是 没 有 FS 的 一 个 公 式 : AD of second best route FD of best route(successor) FS Configuring EIGRP 配 置 EIGRP 的 具 体 步 骤, 如 下 : 1. 在 全 局 配 置 模 式 下 使 用 router eigrp [[AS number] 命 令 启 用 EIGRP, 在 一 个 AS 内, 所 有 要 配 置 EIGRP 的 路 由 器 必 须 拥 有 相 同 的 AS 号 2. 定 义 EIGRP 网 络 号 使 用 network [network-number] [wildcard-mask] 命 令, 可 以 使 用 wildcard mask 来 定 义 特 殊 的 IP 地 址, 子 网 或 网 络 3. 如 果 你 使 用 了 串 行 连 接, 还 得 定 义 链 路 带 宽. 如 果 你 不 定 义 带 宽,EIGRP 默 认 认 为 带 宽 为 T1 线 路 的 带 宽 大 小, 即 1.544Mbps. 如 果 实 际 的 链 路 带 宽 比 这 个 低 的 话, 路 由 器 将 不 能 收 敛, 或 者 路 由 update 包 会 丢 失. 使 用 bandwidth [Kb] 命 令 定 义 带 宽. 这 个 带 宽 对 于 点 对 点 的 帧 中 继 网 络 中, 定 义 的 带 宽 是 CIR; 而 对 于 其 他 的 普 通 串 行 线 路, 定 义 的 就 是 实 际 带 宽 来 看 一 个 EIGRP 配 置 的 实 例, 如 下 图 : 如 图, 所 有 的 路 由 器 都 在 AS 109 里, 路 由 器 A 没 有 使 用 wildcard mask. 如 果 A 使 用 了 以 下 的 配 置 : RouterA(config)#router eigrp 109 RouterA(config-router)#netw 10.1.0.0 RouterA(config-router)#netw 10.4.0.0 RouterA(config-router)#netw 172.16.1.0 RouterA(config-router)#netw 172.16.2.0 路 由 器 A 将 对 网 络 进 行 自 动 汇 总, 使 得 配 置 看 上 去 像 是 这 样 的, 如 下 : RouterA(config)#router eigrp 109 RouterA(config-router)#netw 10.0.0.0 RouterA(config-router)#netw 172.16.0.0 如 果 路 由 器 A 的 配 置 命 令 是 如 下 这 样 的 : RouterA(config)#router eigrp 109 RouterA(config-router)#netw 10.1.0.0 0.0.255.255 8
RouterA(config-router)#netw 10.4.0.0 0.0.255.255 RouterA(config-router)#netw 172.16.1.0 0.0.0.255 RouterA(config-router)#netw 172.16.2.0 0.0.0.255 使 用 wildcard mask 来 定 义 参 与 AS 109 的 EIGRP 进 程 的 直 接 相 连 的 路 由 器 接 口. 在 上 面 这 个 例 子 里, 定 义 的 就 是 处 于 10.1.0.0/16,10.4.0.0/16,172.16.1.0/24 和 172.16.2.0/24 里 的 所 有 接 口 都 会 参 与 AS 109 里 的 EIGRP 进 程 看 看 在 EIGRP 中 使 用 wildcard mask 的 例 子, 如 下 图 : 如 图, 路 由 器 C 并 没 有 使 用 network 172.16.0.0 0.0.0.255, 而 使 用 的 是 network 172.16.3.0 0.0.0.255 和 network 172.16.4.0 0.0.0.255, 因 为 C 的 S0 口 连 接 的 是 外 部 网 络, 即 S0 口 没 有 运 行 EIGRP. 如 果 在 S0 口 运 行 了 EIGRP 的 话, 将 会 给 外 部 发 送 不 必 要 的 信 息 造 成 带 宽 的 浪 费 和 CPU 的 负 担 Configuring Default Route Using the default-network Command 当 配 置 EIGRP 的 时 候, 可 以 使 用 ip default-network [network-number] 命 令 创 建 默 认 路 由, 如 下 图 : 9
路 由 器 A 连 接 外 部 网 络 172.31.0.0/16,A 使 用 了 ip default-network 172.31.0.0 命 令 配 置 了 一 条 默 认 路 由 ; 然 后 A 把 它 宣 告 给 B,B 把 也 它 标 记 成 默 认 路 由. 注 意 [network-number] 参 数 是 基 于 类 的 网 络 号 Verifying EIGRP Using show Commands 使 用 show ip route 命 令 查 看 路 由 表 的 内 容, 如 下 : RouterA#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, D - EIGRP, EX - EIGRP external, O - OSPF, ( 略 ) Gateway of last resort is not set 172.16.0.0/24 is subnetted, 1 subnets D 172.16.1.0 [90/10639872] via 10.1.2.2, 06:04:01, Serial0/0 10.0.0.0/24 is subnetted, 4 subnets D 10.1.3.0 [90/10514432] via 10.1.2.2, 05:54:47, Serial0/0 D 10.3.1.0 [90/10639872] via 10.1.2.2, 06:19:41, Serial0/0 C 10.1.2.0 is directly connected, Serial0/0 C 10.1.1.0 is directly connected, Ethernet0/0 注 意 D 代 表 是 从 EIGRP 学 来 的,* 代 表 默 认 路 由 使 用 show ip protocols 命 令 可 以 检 查 默 认 的 EIGRP 设 置, 如 下 : RouterA# show ip protocols Routing Protocol is "eigrp 100" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Default networks flagged in outgoing updates Default networks accepted from incoming updates EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0 EIGRP maximum hopcount 100 EIGRP maximum metric variance 1 Redistributing: eigrp 100 10
Automatic network summarization is not in effect Maximum path: 4 Routing for Networks: 10.1.0.0/16 10.0.0.0 Routing Information Sources: Gateway Distance Last Update 10.1.2.2 90 05:50:13 Distance: internal 90 external 170 ( 略 ) 使 用 show up eigrp topology 命 令 来 验 证 EIGRP 操 作, 如 下 : RouterA# show ip eigrp topology IP-EIGRP Topology Table for AS(100)/ID(10.1.2.1) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 10.1.3.0/24, 1 successors, FD is 10514432 via 10.1.2.2 (10514432/28160), Serial0/0 P 10.3.1.0/24, 1 successors, FD is 10639872 via 10.1.2.2 (10639872/384000), Serial0/0 P 10.1.2.0/24, 1 successors, FD is 10511872 via Connected, Serial0/0 P 10.1.1.0/24, 1 successors, FD is 2190 via Connected, Ethernet0/0 P 172.16.1.0/24, 1 successors, FD is 10639872 via 10.1.2.2 (10639872/384000), Serial0/0 ( 略 ) 注 意 前 面 的 字 母 P, 可 能 出 现 的 字 母 代 号 有 如 下 几 种 : 1.P: 代 表 passive, 这 个 表 示 稳 定 网 络 中 的 稳 定 状 态 2.A: 代 表 active, 当 前 网 络 不 可 用, 正 处 于 发 送 查 询 状 态 3.U: 代 表 update, 网 络 处 于 等 待 update 包 的 确 认 状 态 4.Q: 代 表 query, 网 络 处 于 等 待 query 包 的 确 认 的 状 态 5.stuck-in-active(SIA): 持 续 处 于 active 状 态, 说 明 EIGRP 网 络 的 收 敛 发 生 了 问 题 EIGRP Route Summarization: Manual 路 由 汇 总 的 目 的 是 为 了 减 少 路 由 表 的 条 目, 减 少 或 update 包, 边 界 查 询 使 用 人 工 汇 总 的 特 点 如 下 : 1. 可 以 基 于 接 口 的 配 置 汇 总 2. 当 在 接 口 做 了 人 工 汇 总 以 后, 路 由 器 将 创 建 一 条 指 向 null0 口 的 路 由, 这 样 做 是 为 了 防 止 路 由 循 环 3. 当 汇 总 之 前 的 路 由 down 掉 以 后, 汇 总 路 由 将 自 动 从 路 由 表 里 被 删 除 4. 汇 总 路 由 的 度 取 决 于 特 定 路 由 中 度 最 小 的 来 做 为 自 己 的 度 11
Configuration Route Summarization no auto-summary: 关 闭 自 动 汇 总 的 命 令, 在 全 局 配 置 莫 模 式 下 使 用 ip summary-address eigrp [as-number] [address] [mask]: 关 闭 了 自 动 汇 总 以 后, 人 工 在 接 口 模 式 下 创 建 汇 总 地 址 来 看 一 个 人 工 汇 总 的 例 子, 如 下 图 : 如 图, 路 由 器 A 和 B 关 闭 了 自 动 汇 总, 因 为 如 果 不 关 闭 自 动 汇 总 的 话, 汇 总 路 由 172.16.0.0/16 将 传 给 网 络 10.0.0.0, 这 样 网 络 10.0.0.0 就 不 能 知 道 路 由 器 A 和 B 的 具 体 位 置. 路 由 器 C 创 建 人 工 汇 总, 在 S0 口 将 172.16.1.0 和 172.16.2.0 宣 告 成 单 独 的 一 条 条 目 172.16.0.0. 创 建 人 工 汇 总 的 过 程, 如 下 : 1. 选 择 传 播 汇 总 路 由 的 接 口 2. 定 义 汇 总 地 址,EIGRP 路 由 协 议 以 及 AS 号 Understanding EIGRP Load Balancing 负 载 均 衡 是 指 在 网 络 的 多 个 出 口 上 分 发 数 据 流 量 到 目 的 地, 负 载 均 衡 增 加 了 网 段 的 使 用, 也 增 加 了 网 络 的 带 宽. 对 于 IP,Cisco IOS 默 认 支 持 4 条 等 价 链 路 的 负 载 均 衡, 最 大 支 持 6 条 EIGRP 支 持 不 等 价 链 路 的 负 载 均 衡, 使 用 variance 命 令, 跟 上 一 个 乘 数, 默 认 是 1( 即 代 表 等 价 的 链 路 的 均 衡 负 载 ), 值 的 范 围 是 1 到 128. 这 个 乘 数 代 表 了 可 以 接 受 的 不 等 代 价 链 路 的 度 的 倍 数, 在 这 个 范 围 内 的 链 路 都 将 被 接 受, 作 为 负 载 均 衡. 来 看 一 个 例 子, 如 下 图 : 12
如 图 所 示 意, 使 用 了 variance 2, 即 乘 数 是 2, 路 由 器 E 选 择 经 过 C 来 到 达 网 络 Z, 因 为 FD 是 20.FD 从 上 到 下 分 别 是 30,20 和 45. 因 为 乘 数 是 2,E 还 将 选 择 经 过 B 到 达 网 络 Z, 因 为 B 的 FD 是 30, 小 于 2 倍 C 的 FD 即 40; 而 D 的 FD 是 45, 大 于 2 倍 C 的 FD, 所 以 E 将 不 会 经 过 D 到 达 网 络 Z( 关 系 是 必 须 小 于, 不 能 等 于 或 大 于 ) EIGRP Bandwidth Utilization EIGRP 支 持 不 同 的 WAN 链 路, 比 如 point-to-point 链 路,NBMA 网 络 中 的 point-to-point 链 路 和 point-to-multipoint 链 路. 因 为 在 WAN 链 路 中 带 宽 比 较 低, 所 以 为 了 防 止 EIGRP 占 用 太 多 的 网 络 带 宽,. 默 认 情 况 下, 最 多 允 许 EIGRP 占 用 WAN 链 路 带 宽 的 50%. 这 个 默 认 的 百 分 比 可 以 通 过 在 接 口 配 置 模 式 下 使 用 ip bandwidth-percent eigrp [AS-number] [pencentage]. 百 分 比 可 以 超 过 100( 注 意 没 有 % 符 号 ) 一 般 的,Cisco IOS 软 件 认 为 点 到 点 的 帧 中 继 子 接 口 带 宽 为 T1 线 路 带 宽 (1.544Mbps), 但 是 假 如 在 一 个 帧 中 继 环 境 中 CIR 只 有 56K, 按 默 认 占 用 50% 的 带 宽 来 算, 这 样 就 会 占 用 768Kbps. 所 以 要 在 接 口 配 置 模 式 下 使 用 bandwidth [BW]( 单 位 是 Kbps) 来 给 接 口 分 配 实 际 带 宽 对 多 点 链 路 比 如 帧 中 继 网 络,ISDN PRI 和 SMDS 的 配 置 比 较 麻 烦. 当 你 配 置 多 点 链 路 的 接 口 的 时 候, 把 带 宽 配 置 成 最 小 的 CIR 和 VC 之 积 先 来 看 看 点 到 点 链 路 中 带 宽 的 配 置, 如 下 图 : 注 意 这 个 星 形 环 境, 有 10 条 VC( 图 中 只 显 示 4 条 ), 每 条 VC 的 带 宽 都 是 56Kbps, 使 用 的 是 点 到 点 环 境, 所 以 在 C 上, 划 分 10 个 子 接 口, 分 别 指 定 接 口 带 宽 为 56Kbps 13
如 果 是 在 下 面 这 种 混 合 环 境, 如 图 : 配 置 的 办 法 是 把 CIR 最 低 的 作 为 点 到 点 链 路, 定 义 带 宽 BW=CIR; 把 带 宽 较 高 的 作 为 多 点 环 境,BW=CIR 之 和. 上 述 例 子 就 是 把 3 条 带 宽 较 高 的 划 分 为 一 条 多 点 链 路 的 接 口, 指 定 带 宽 为 768Kbps(256Kbps*3); 带 宽 最 低 的 那 条 (56Kbps) 作 为 点 到 点 环 境, 单 独 划 分 一 个 点 到 点 的 接 口, 并 且 指 定 带 宽 为 它 实 际 的 CIR 即 56Kbps How EIGRP Responds to a Query 作 为 一 种 高 级 距 离 向 量 协 议,EIGRP 来 依 靠 邻 居 提 供 路 由 信 息, 如 果 路 由 出 了 问 题, 即 进 入 active 状 态, 而 且 又 没 有 可 用 的 FS 的 时 候,EIGRP 就 要 求 快 速 的 收 敛. 然 后 EIGRP 路 由 器 向 邻 居 发 送 查 询 (query), 寻 找 一 条 可 以 替 代 那 条 出 了 问 题 的 路 由. 查 询 被 发 送 给 所 有 的 邻 居 路 由 器, 除 了 到 达 successor 的 那 个 接 口. 如 果 被 查 询 的 路 由 器 知 道 一 条 替 代 路 由 的 话, 它 就 把 这 条 替 代 路 由 放 进 应 答 (reply) 包 中 发 送 给 发 出 查 询 的 源 路 由 器 ; 如 果 接 收 到 查 询 的 路 由 器 没 有 替 代 路 由 的 信 息, 它 将 继 续 发 送 给 它 自 己 的 其 他 邻 居, 直 到 找 到 可 以 替 代 的 路 由 为 止 EIGRP Query Process SIA EIGRP 使 用 可 靠 的 多 播 来 寻 找 替 代 路 由. 路 由 器 必 须 得 到 收 到 查 询 的 所 有 路 由 器 的 应 答 才 能 重 新 进 行 计 算 successor 的 信 息, 如 果 有 一 个 路 由 器 的 应 该 还 没 有 收 到 的 话, 发 出 查 询 的 源 路 由 器 就 必 须 等 待. 默 认 如 果 在 3 分 钟 内 某 些 路 由 器 没 有 对 应 答 做 出 响 应 的 话, 这 条 路 由 就 进 入 stuck in active(sia) 状 态 ( 即 始 终 处 于 active 状 态 ). 然 后 路 由 器 将 重 新 设 定 和 这 个 没 有 做 出 应 答 的 路 由 器 的 邻 居 关 系. 为 了 避 免 SIA 情 形 的 发 生, 解 决 方 案 是 限 制 查 询 的 范 围 Scalability Issues and Solutions 影 响 EIGRP 网 络 可 扩 展 性 的 因 素, 如 下 : 1. 邻 居 之 间 信 息 交 换 量 2. 路 由 器 的 数 量 3. 拓 扑 结 构 的 深 度 4. 替 代 路 径 的 数 量 所 以 EIGRP 在 大 型 网 络 中 不 能 够 即 插 即 用 (Plug-and-Play), 而 且 查 询 的 代 价 可 能 会 比 较 高 14
Limiting the EIGRP Query Range with Summarization 为 了 使 得 EIGRP 能 够 具 有 更 好 的 可 扩 展 性, 可 以 使 用 下 面 两 种 选 项 : 1. 通 过 在 路 由 器 的 outbound 接 口 使 用 ip summary-address eigrp 命 令 配 置 路 由 汇 总 2. 把 远 程 路 由 器 做 为 stub EIGRP 路 由 器 路 由 汇 总 可 以 减 小 查 询 的 范 围 ; 把 远 程 路 由 器 作 做 为 stub EIGRP 路 由 器 使 得 这 些 远 程 路 由 器 被 查 询. 还 有 其 他 的 一 些 限 制 查 询 范 围 的 方 法 诸 如 路 由 过 滤 (route filtering) 或 接 口 包 过 滤 (interface packet filtering) 来 看 看 限 制 EIGRP 查 询 范 围 的 其 中 一 个 办 法 : 路 由 汇 总. 如 下 图 : 如 图, 路 由 器 B 发 送 汇 总 路 由 172.30.0.0/16 给 路 由 器 A. 假 如 网 络 172.30.1.0/24 突 然 down 掉 以 后,C 向 B 查 询 网 络 172.30.1.0/24,B 又 向 A 查 询. 由 于 A 收 到 的 是 汇 总 路 由, 于 是 A 直 接 对 查 询 做 出 网 络 172.30.1.0/24 不 可 达 的 应 答, 然 后 不 再 将 查 询 继 续 传 递 下 去 查 询 范 围 不 是 产 生 SIA 现 象 的 唯 一 原 因, 还 有 诸 如 以 下 原 因 可 能 会 产 生 SIA 的 发 生 : 1. 路 由 器 对 查 询 的 应 答 过 于 繁 忙 比 如 路 由 器 CPU 资 源 占 用 过 高 ; 还 有 内 存 不 足, 不 足 以 分 配 处 理 查 询 包 或 者 建 立 应 答 包 2. 路 由 器 之 间 的 链 路 状 态 不 稳 定, 因 此 可 能 产 生 丢 包 现 象. 路 由 器 足 够 多 的 包 来 维 持 邻 居 关 系, 但 是 却 没 有 收 到 全 部 的 查 询 包 或 应 答 包 3. 单 向 链 路 (unidirectional link), 即 网 络 流 量 只 朝 一 个 方 向 传 输 的 故 障 通 过 使 用 路 由 汇 总, 可 以 使 得 路 由 表 最 小 化, 这 样 就 使 得 路 由 器 的 CPU 资 源 和 带 宽 尽 可 能 的 减 少, 而 且 减 少 了 SIA 情 况 的 发 生 使 用 路 由 汇 总 是 减 少 收 敛 时 间 的 一 个 比 较 好 的 办 法, 远 程 路 由 器 以 网 络 不 可 达 的 信 息 做 为 应 答 并 且 如 果 路 由 表 内 没 有 精 确 匹 配 的 条 目 的 话 将 不 再 把 查 询 延 伸 传 播 下 去 有 人 通 过 使 用 划 分 不 同 的 AS 来 控 制 查 询 的 范 围, 如 下 图 : 通 过 在 B 的 两 边 划 分 不 同 的 AS, 当 网 络 X 消 失 以 后,C 发 送 查 询 给 B,B 做 出 网 络 不 可 达 的 应 答. 在 AS 1 中 查 询 不 会 继 续 传 播 下 去, 查 询 终 止. 但 是 在 AS 2,B 将 产 生 一 个 新 的 查 询, 发 送 给 A. 注 意 这 和 在 同 一 个 AS 内 做 出 查 询 不 一 样. 所 以 说 通 过 划 分 不 同 的 AS 来 限 制 查 询 的 范 围 并 15
不 是 一 个 有 效 的 解 决 方 案 Limiting the EIGRP Query Range Using the stub Option 还 有 种 限 制 EIGRP 查 询 比 较 有 效 的 方 法 就 是 配 置 stub 选 项. 在 做 这 项 配 置 的 时 候, 只 有 远 程 路 由 器 要 配 置 成 stub 路 由 器. 使 用 EIGRP stub 路 由 特 性 增 加 了 网 络 的 稳 定 性, 减 少 了 网 络 资 源 的 占 用, 简 化 了 stub router 的 配 置 EIGRP stub 功 能 最 早 是 出 现 在 Cisco IOS Release 12.0(7)T 上. 星 形 拓 扑 (hub-and-spoke) 结 构 的 网 络 常 使 用 stub 路 由, 在 这 样 的 拓 扑 结 构 里, 远 程 路 由 器 不 会 转 发 所 有 的 数 据 给 中 心 (hub) 路 由 器, 远 程 路 由 器 也 不 会 保 持 完 整 网 络 的 路 由 表. 一 般 的, 中 心 路 由 器 只 需 要 发 送 一 条 默 认 路 由 给 远 程 路 由 器. 当 到 达 某 个 网 络 的 路 由 丢 失 以 后, 路 由 器 不 会 向 stub 路 由 器 做 出 路 由 查 询 EIGRP stub 配 置 命 令 的 具 体 格 式 是 在 路 由 配 置 模 式 下, 输 入 如 下 命 令 : Router(config-router)#eigrp stub [receive-only connected static summary] 一 些 参 数 的 含 义 如 下 : receive-only: 不 能 和 其 他 3 个 参 数 (connected,static 和 summary) 一 起 使 用. 只 接 收 从 邻 居 路 由 器 发 送 来 的 信 息 connected: 指 定 该 路 由 器 可 以 把 和 它 直 接 相 连 的 网 络 信 息 传 递 给 它 的 邻 居. 这 个 选 项 默 认 是 开 启 的 static: 把 静 态 路 由 信 息 传 递 给 它 的 邻 居 summary: 把 汇 总 路 由 信 息 传 递 给 它 的 邻 居. 这 个 选 项 默 认 也 是 开 启 的 由 于 connected 和 summary 选 项 默 认 是 开 启 的, 配 置 stub 路 由 器 并 发 送 直 连 网 络 和 汇 总 路 由 信 息 就 可 以 这 样 写, 如 下 : Router(config)#router eigrp 1 Router(config-router)#netw 10.0.0.0 Router(config-router)#eigrp stub 但 是 假 如 你 使 用 了 receive-only 选 项 的 话, 其 他 3 个 选 项 的 信 息 就 不 会 被 发 送, 如 下 : Router(config)#router eigrp 1 Router(config-router)#netw 10.0.0.0 Router(config-router)#eigrp stub recive-only Scalability Rules for Implementing EIGRP 以 前 曾 经 提 到 过, 不 太 合 理 的 IP 地 址 规 划 限 制 了 路 由 汇 总. 这 样 会 增 加 网 络 的 收 敛 时 间 ; 相 反, 合 理 的 地 址 规 划 能 使 得 路 由 汇 总 工 作 的 更 好, 加 快 了 网 络 收 敛 时 间 16
Module4 Configuring the Open Shortest Path First Protocol Link-State Routing Protocols 链 路 状 态 路 由 协 议 (link-state routing protocol) 的 一 些 特 征 : 1. 对 网 络 发 生 的 变 化 能 够 快 速 响 应 2. 当 网 络 发 生 变 化 的 时 候 发 送 触 发 式 更 新 (triggered update) 3. 发 送 周 期 性 更 新 ( 链 路 状 态 刷 新 ), 间 隔 时 间 为 30 分 钟 链 路 状 态 路 由 协 议 只 在 网 络 拓 扑 发 生 变 化 以 后 产 生 路 由 更 新. 当 链 路 状 态 发 生 变 化 以 后, 检 测 到 变 化 的 设 备 创 建 LSA(link state advertisement), 通 过 使 用 组 播 地 址 传 送 给 所 有 的 邻 居 设 备, 然 后 每 个 设 备 拷 贝 一 份 LSA, 更 新 它 自 己 的 链 路 状 态 数 据 库 (link state database,lsdb), 接 着 再 转 发 LSA 给 其 他 的 邻 居 设 备. 这 种 LSA 的 洪 泛 (flooding) 保 证 了 所 有 的 路 由 设 备 在 更 新 自 己 的 路 由 表 之 前 更 新 它 自 己 的 LSDB LSDB 通 过 使 用 Dijkstra 算 法 (shortest path first,spf) 来 计 算 到 达 目 标 网 络 的 最 佳 路 径, 建 立 一 条 SPF 树 (tree), 然 后 最 佳 路 径 从 SPF 树 里 选 出 来, 被 放 进 路 由 表 里 OSPF 和 IS-IS 协 议 被 归 类 到 链 路 状 态 路 由 协 议 中. 链 路 状 态 路 由 协 议 在 一 个 特 定 的 区 域 (area) 里 从 邻 居 处 收 集 网 络 信 息, 一 旦 路 由 信 息 都 被 收 集 齐 以 后, 每 个 路 由 器 开 始 通 过 使 用 Dijkstra 算 法 (SPF) 独 立 计 算 到 达 目 标 网 络 的 最 佳 路 径 运 行 了 链 路 状 态 路 由 协 议 的 路 由 器 跟 踪 以 下 信 息 : 1. 它 们 各 自 的 邻 居 2. 在 同 一 个 区 域 中 的 所 有 路 由 器 3. 到 达 目 标 网 络 的 最 佳 路 径 Link-State Data Structures 为 了 能 够 做 出 更 好 的 路 由 决 策,OSPF 路 由 器 必 须 维 持 的 有 以 下 内 容 : 1.neighbor table: 也 叫 adjacency database. 存 储 了 邻 居 路 由 器 的 信 息. 如 果 一 个 OSPF 路 由 器 和 它 的 邻 居 路 由 器 失 去 联 系, 在 几 秒 中 的 时 间 内, 它 会 标 记 所 有 到 达 那 条 路 由 均 为 无 效 并 且 重 新 计 算 到 达 目 标 网 络 的 路 径 2.topology table: 一 般 叫 做 LSDB.OSPF 路 由 器 通 过 LSA 学 习 到 其 他 的 路 由 器 和 网 络 状 况,LSA 存 储 在 LSDB 中 3.routing table: 也 就 是 我 们 所 说 的 路 由 表 了, 也 叫 forwarding database, 包 含 了 到 达 目 标 网 络 的 最 佳 路 径 的 信 息 链 路 状 态 路 由 协 议 和 距 离 向 量 路 由 协 议 的 一 个 区 别 就 是 : 距 离 向 量 路 由 协 议 是 routing by rumors, 也 就 是 说, 距 离 向 量 路 由 协 议 依 靠 邻 居 发 给 它 的 信 息 来 做 路 由 决 策, 而 且 路 由 器 不 需 要 保 持 完 整 的 网 络 信 息 ; 而 运 行 了 链 路 状 态 路 由 协 议 的 路 由 器 保 持 的 有 完 整 的 网 络 信 息 的 快 照, 而 且 每 个 路 由 器 自 己 做 出 路 由 决 策 1
Defining an OSPF Area OSPF 的 网 络 设 计 要 求 是 双 层 层 次 化 (2-layer hierarchy), 包 括 如 下 2 层 : 1.transit area(backbone 或 area 0) 2.regular areas(nonbackbone areas) transit area 负 责 的 主 要 功 能 是 IP 包 快 速 和 有 效 的 传 输.transit area 互 联 OSPF 其 他 区 域 类 型. 一 般 的, 这 个 区 域 里 不 会 出 现 端 用 户 (end user) regular areas 负 责 的 主 要 功 能 就 是 连 接 用 户 和 资 源. 这 种 区 域 一 般 是 根 据 功 能 和 地 理 位 置 来 划 分. 一 般 的, 一 个 regular area 不 允 许 其 他 区 域 的 流 量 通 过 它 到 达 另 外 一 个 区 域, 必 须 穿 越 transit area 比 如 area 0.regular areas 还 可 以 有 很 多 子 类 型, 比 如 stub area,locally area 和 not-so-stubby area 在 链 路 状 态 路 由 协 议 中, 所 有 的 路 由 器 都 保 持 的 有 LSDB,OSPF 路 由 器 越 多,LSDB 就 越 大. 这 可 能 对 了 解 完 整 的 网 络 信 息 有 帮 助, 但 是 随 着 网 络 的 增 长, 可 扩 展 性 的 问 题 就 会 越 来 越 大. 采 用 的 折 中 方 案 就 是 引 入 区 域 的 概 念. 在 某 一 个 区 域 里 的 路 由 器 只 保 持 的 有 该 区 域 中 所 有 路 由 器 或 链 路 的 详 细 信 息 和 其 他 区 域 的 一 般 信 息. 当 某 个 路 由 器 或 某 条 链 路 出 故 障 以 后, 信 息 只 会 在 那 个 区 域 以 内 在 邻 居 之 间 传 递. 那 个 区 域 以 外 的 路 由 器 不 会 收 到 该 信 息.OSPF 要 求 层 次 化 的 网 络 设 计, 意 味 着 所 有 的 区 域 要 和 area 0 直 接 相 连. 如 下 图 : 注 意 area 1 和 area 2 或 3 之 间 的 连 接 是 不 允 许 的, 它 们 都 必 须 通 过 backbone area 0 进 行 连 接.Cisco 建 议 每 个 区 域 中 路 由 器 的 数 量 为 50 到 100 个 构 建 area 0 的 路 由 器 称 为 骨 干 路 由 器 (backbone router,br), 如 上 图,A 和 B 就 是 BR; 区 域 边 界 路 由 器 (area border router,abr) 连 接 area 0 和 nonbackbone areas. 如 图,C,D 和 E 就 是 ABR.ABR 通 常 具 有 以 下 特 征 : 1. 分 隔 LSA 洪 泛 的 区 域 2. 是 区 域 地 址 汇 总 的 主 要 因 素 3. 一 般 做 为 默 认 路 由 的 源 头 4. 为 每 个 区 域 保 持 LSDB 理 想 的 设 计 是 使 每 个 ABR 只 连 接 2 个 区 域,backbone 和 其 他 区 域,3 个 区 域 为 上 限 Defining OSPF Adjacencies 2
运 行 OSPF 的 路 由 器 通 过 交 换 hello 包 和 别 的 路 由 器 建 立 邻 接 (adjacency) 关 系, 过 程 如 下 : 1. 路 由 器 和 别 的 路 由 器 交 换 hello 包, 目 标 地 址 采 用 多 播 地 址 2.hello 包 交 换 完 毕, 邻 接 关 系 形 成 3. 接 下 来 通 过 交 换 LSA 和 对 接 收 方 的 确 认 进 行 同 步 LSDB. 对 于 OSPF 路 由 器 而 言, 进 入 完 全 邻 接 状 态 4. 如 果 需 要 的 话, 路 由 器 转 发 新 的 LSA 给 其 他 的 邻 居, 来 保 证 整 个 区 域 内 LSDB 的 完 全 同 步 对 于 点 到 点 的 WAN 串 行 连 接, 两 个 OSPF 路 由 器 通 常 使 用 HDLC 或 PPP 来 形 成 完 全 邻 接 状 态 对 于 LAN 连 接, 选 举 一 个 路 由 器 做 为 designated router(dr) 再 选 举 一 个 做 为 backup designated router(bdr), 所 有 其 他 的 和 DR 以 及 BDR 相 连 的 路 由 器 形 成 完 全 邻 接 状 态 而 且 只 传 输 LSA 给 DR 和 BDR.DR 从 邻 居 处 转 发 更 新 到 另 外 一 个 邻 居 那 里.DR 的 主 要 功 能 就 是 在 一 个 LAN 内 的 所 有 路 由 器 拥 有 相 同 的 数 据 库, 而 且 把 完 整 的 数 据 库 信 息 发 送 给 新 加 入 的 路 由 器. 路 由 器 之 间 还 会 和 LAN 内 的 其 他 路 由 器 ( 非 DR/BDR, 即 DROTHERs) 维 持 一 种 部 分 邻 居 关 系 (two-way adjacency) OSPF 的 邻 接 一 旦 形 成 以 后, 会 交 换 LSA 来 同 步 LSDB,LSA 将 进 行 可 靠 的 洪 泛 OSPF Calculation 链 路 状 态 陆 游 协 议 使 用 Dijkstra 算 法 来 查 找 到 达 目 标 网 络 中 的 最 佳 路 径. 所 有 的 路 由 器 拥 有 相 同 的 LSDB 后, 把 自 己 放 进 SPF tree 中 的 root 里, 然 后 根 据 每 条 链 路 的 耗 费 (cost), 选 出 耗 费 最 低 的 做 为 最 佳 路 径, 最 后 把 最 佳 路 径 放 进 forwarding database( 路 由 表 ) 里 下 图 就 是 一 个 SPF 计 算 的 例 子 : 1.LSA 遵 循 split horizon 原 则,H 对 E 宣 告 它 的 存 在,E 把 H 的 宣 告 和 它 自 己 的 宣 告 再 传 给 C 和 G;C 和 G 再 和 之 前 类 似, 继 续 传 播 开 来 2.X 有 4 个 邻 居 :A,B,C 和 D, 假 设 这 里 都 是 以 太 网, 每 条 网 链 路 的 耗 费 为 10, 经 过 计 算, 路 由 器 可 以 算 出 最 佳 路 径. 上 图 的 右 半 部 分 实 线 所 标 即 为 最 佳 路 径 LS Data Structures: LSA Options 关 于 LSA 的 操 作 流 程 图 如 下 : 3
如 图 可 以 看 出 当 路 由 器 收 到 一 个 LSA 以 后, 先 会 查 看 它 自 己 的 LSDB 看 有 没 有 相 应 的 条 目, 如 果 没 有 就 加 进 自 己 的 LSDB 中 去, 并 反 馈 LSA 确 认 包 (LSAck), 接 着 再 继 续 洪 泛 LSA, 最 后 运 行 SPF 算 法 算 出 新 的 路 由 表 如 果 当 它 收 到 LSA 的 时 候, 自 己 的 LSDB 有 该 条 目 而 且 版 本 号 一 样, 就 忽 略 这 个 LSA; 如 果 有 相 应 条 目, 但 是 收 到 的 LSA 的 版 本 号 更 新, 就 加 进 自 己 的 LSDB 中, 发 回 LSAck, 洪 泛 LSA, 最 后 用 SPF 计 算 最 佳 路 径 ; 如 果 版 本 号 没 有 自 己 LSDB 中 那 条 新, 就 反 馈 LSU 信 息 给 发 送 源 Types of OSPF Packets OSPF 包 的 5 种 类 型 如 下 : 1.hello: 用 来 建 立 邻 居 关 系 的 包 2.database description(dbd): 用 来 检 验 路 由 器 之 间 数 据 库 的 同 步 3.link state request(lsr): 链 路 状 态 请 求 包 4.link state update(lsu): 特 定 链 路 之 间 的 请 求 记 录 5.link state acknowledgement(lsack): 确 认 包 OSPF Packet Header Format 5 种 OSPF 包 都 是 直 接 被 封 装 在 IP 包 里 的 而 不 使 用 TCP 或 UDP. 由 于 没 有 使 用 可 靠 的 TCP 协 议, 但 是 OSPF 包 又 要 求 可 靠 的 传 输, 所 以 就 有 了 LSAck 包. 如 下 图 所 示 就 是 OSPF 包 在 IP 包 里 的 形 式 : 4
协 议 号 为 89(EIGRP 协 议 号 为 88), 一 些 字 段 如 下 : 1.Version Number: 当 前 为 OSPF 版 本 2 2.Type: 定 义 OSPF 包 的 类 型 3.Packet Length: 包 的 长 度, 单 位 字 节 4.Router ID(RID): 产 生 OSPF 包 的 源 路 由 器 5.Area ID: 定 义 OSPF 包 是 从 哪 个 area 产 生 出 来 的 6.Checksum( 校 验 和 ): 错 误 校 验 7.Authentication Type: 验 证 方 法, 可 以 是 明 文 (cleartext) 密 码 或 者 是 Message Digest 5(MD5) 加 密 格 式 8.Data: 对 于 hello 包 来 说, 该 字 段 是 已 知 邻 居 的 列 表 ; 对 于 DBD 包 来 说, 该 字 段 包 含 的 是 LSDB 的 汇 总 信 息, 包 括 RID 等 等 ; 对 于 LSR 包 来 说, 该 字 段 包 含 的 是 需 要 的 LSU 类 型 和 需 要 的 LSU 类 型 的 RID; 对 于 LSU 包 来 说, 包 含 的 是 完 全 的 LSA 条 目, 多 个 LSA 条 目 可 以 装 在 一 个 包 里 ; 对 于 LSAck 来 说, 字 段 为 空 OSPF Neighbor Adjacency Establishment Hello 协 议 用 来 建 立 和 保 持 OSPF 邻 居 关 系, 采 用 多 播 地 址 224.0.0.5,hello 包 包 含 的 信 息 如 下 : 1.Router ID(RID): 路 由 器 的 32 位 长 的 一 个 唯 一 标 识 符, 选 举 规 则 是, 如 果 loopback 接 口 不 存 在 的 话, 就 选 物 理 接 口 中 IP 地 址 等 级 最 高 的 那 个 ; 否 则 就 选 取 loopback 接 口 2.hello/dead intervals: 定 义 了 发 送 hello 包 频 率 ( 默 认 在 一 个 多 路 访 问 网 络 中 间 隔 为 10 秒 );dead 间 隔 是 4 倍 于 hello 包 间 隔. 邻 居 路 由 器 之 间 的 这 些 计 时 器 必 须 设 置 成 一 样 3.neighbors: 邻 居 列 表 4.area ID: 为 了 能 够 通 信,OSPF 路 由 器 的 接 口 必 须 属 于 同 一 网 段 中 的 同 一 区 域 (area), 即 共 享 子 网 以 及 子 网 掩 码 信 息 5.router priority: 优 先 级, 选 举 DR 和 BDR 的 时 候 使 用.8 位 长 的 一 串 数 字 6.DR/BDR IP address:dr/bdr 的 IP 地 址 信 息 7.authentication password: 如 果 启 用 了 验 证, 邻 居 路 由 器 之 间 必 须 交 换 相 同 的 密 码 信 息. 此 项 可 选 8.stub area flag:stub area 是 通 过 使 用 默 认 路 由 代 替 路 由 更 新 的 一 种 技 术 ( 有 点 像 EIGRP 中 的 stub 功 能 ) Establishing Bidirectional Communication 5
看 看 双 向 通 信 的 建 立 过 程, 如 下 图 : 1. 刚 开 始 A 还 没 和 别 的 路 由 器 交 换 信 息, 还 处 于 down 的 状 态, 接 下 来 通 过 使 用 多 播 地 址 224.0.0.5 开 始 发 送 hello 包 2.B 接 收 到 hello 包, 把 A 加 进 自 己 的 neighbor table 中, 并 进 入 init 状 态, 然 后 以 单 播 的 形 式 发 送 hello 包 对 A 做 出 应 答 3.A 收 到 以 后 把 所 有 从 hello 包 里 找 到 的 RID 加 进 自 己 的 neighbor table 中, 进 入 two-way 状 态 4. 如 果 链 路 是 广 播 型 网 络 比 如 以 太 网, 接 下 来 选 举 DR 和 BDR, 这 一 过 程 发 生 在 交 换 信 息 之 前 5. 周 期 发 送 hello 包 保 证 信 息 交 换 Discovering the Network Routes & Adding the Link-State Entries 当 选 举 了 DR 和 BDR, 进 入 exstart 状 态, 接 下 来 就 可 以 对 链 路 状 态 信 息 进 行 发 现 并 创 建 自 己 的 LSDB, 如 下 图 : 1. 在 exstart 状 态 里, 邻 接 关 系 形 成, 路 由 器 和 DR/BDR 形 成 主 仆 关 系 (RID 等 级 最 高 的 为 主, 其 6
他 的 为 辅 ) 2. 主 仆 交 换 DBD 包 (DDP), 路 由 器 进 入 exchange 状 态 DBD 包 含 了 出 现 在 LSDB 中 的 LSA 条 目 头 部 信 息, 条 目 信 息 可 以 为 一 条 链 路 (link) 或 者 一 个 网 络. 每 个 LSA 条 目 头 部 信 息 包 括 链 路 状 态 类 型, 宣 告 路 由 器 的 地 址, 链 路 耗 费 和 序 列 号 ( 版 本 号 ) 3. 路 由 器 收 到 DBD 以 后, 将 使 用 LSAck 做 出 确 认 ; 还 将 和 自 己 本 身 就 有 的 DBD 进 行 比 较, 过 程 如 下 图 : 如 果 DBD 信 息 中 有 更 新 更 全 的 链 路 状 态 条 目, 路 由 器 就 发 送 LSR 给 其 他 路 由 器, 该 状 态 为 loading 状 态 ; 收 到 LSR 以 后, 路 由 器 做 出 响 应, 以 LSU 作 为 应 答, 其 中 包 含 了 LSR 所 需 要 的 完 整 信 息 ; 收 到 LSU 以 后, 再 次 做 出 确 认, 发 送 LSAck 4. 路 由 器 添 加 新 的 条 目 到 LSDB 中, 进 入 full 状 态, 接 下 来 就 可 以 对 数 据 进 行 路 由 了 Maintaining Routing Information 当 链 路 状 态 发 生 变 化 以 后, 路 由 器 将 洪 泛 LSA 来 对 其 他 路 由 器 做 出 通 知, 如 下 图 : 1. 路 由 器 意 识 到 链 路 产 生 变 化 以 后, 对 多 播 地 址 224.0.0.6 和 所 有 的 DR/BDR 发 送 LSU, 其 中 LSU 包 含 了 更 新 了 的 LSA 条 目 2.DR 对 LSU 做 出 确 认, 接 着 对 多 播 地 址 224.0.0.5 继 续 洪 泛, 每 个 收 到 LSU 的 路 由 器 对 DR 做 出 确 认 ( 反 馈 LSAck), 3. 如 果 路 由 器 连 接 了 其 他 网 络, 将 通 过 转 发 LSU 给 DR( 在 点 到 点 网 络 是 转 发 给 邻 居 路 由 器 ) 来 对 其 他 网 络 进 行 洪 泛 7
4. 其 他 路 由 器 通 过 LSU 来 更 新 自 己 的 LSDB, 然 后 使 用 SPF 算 法 重 新 计 算 最 佳 路 径 链 路 状 态 条 目 的 最 大 生 存 周 期 是 60 分 钟,60 分 钟 只 有, 它 将 从 LSDB 中 被 移 除 OSPF Link-State Sequence Numbers LSDB 中 的 每 个 LSA 记 录 都 有 个 序 列 号, 序 列 号 是 32 位 长, 以 0x80000001 开 头,0x7FFFFFFF 结 尾.OSPF 路 由 器 默 认 每 30 分 钟 洪 泛 一 次 LSA 来 保 证 LSDB 的 同 步, 每 洪 泛 1 次, 序 列 号 就 加 1. 如 果 序 列 号 达 到 最 大 并 回 到 初 始 值 的 时 候, 已 经 存 在 的 LSA 的 生 存 周 期 将 设 置 为 最 大 (1 小 时 ) 并 刷 新 LSDB( 造 成 网 络 波 动 ) 如 果 收 到 2 条 LSA, 将 比 较 序 列 号, 序 列 号 越 高 表 示 LSA 版 本 越 新 可 以 使 用 show ip ospf database 命 令 查 看 生 存 周 期 和 序 列 号, 如 下 : RTC# show ip ospf database OSPF Router with ID (203.250.15.67) (Process ID 10) Router Link States (Area 1) Link ID ADV Router Age Seq# Checksum Link count 203.250.15.67 203.250.15.67 48 0x80000008 0xB112 2 203.250.16.130 203.250.16.130 212 0x80000006 0x3F44 2 ( 略 ) Debug IP OSPF Packet 使 用 debug ip ospf packet 命 令 对 OSPF 包 进 行 排 错 和 验 证, 如 下 : Router# debug ip ospf packet OSPF: rcv. v:2 t:1 l:48 rid:200.0.0.117 aid:0.0.0.0 chk:6ab2 aut:0 auk: ( 略 ) 一 些 输 出 的 含 义 如 下 : v:ospf 版 本 t:ospf 包 类 型, 如 上 是 1, 几 种 数 字 所 代 表 的 意 义 是 :1 为 hello,2 为 DBD,3 为 LSR,4 为 LSU,5 为 LSAck l: 定 义 包 长 度, 单 位 字 节 rid/aid:rid/area ID chk: 校 验 和 aut: 验 证 类 型,0 代 表 不 进 行 验 证,1 代 表 明 文 密 码,2 代 表 MD5 加 密 auk:ospf 验 证 key keyed:md5 key ID seq: 序 列 号 Configuring Basic Single-Area OSPF OSPF 的 单 域 的 配 置 命 令 : 在 全 局 配 置 模 式 下 输 入 router ospf [process-id] 启 动 OSPF 进 程, 接 下 来 在 路 由 配 置 模 式 下 输 入 network [address] [inverse-mask] area [area-id] process-id 只 是 在 本 路 由 器 有 效, 所 以 可 以 设 置 成 和 其 他 路 由 器 的 process-id 一 样 的 号 码 address 和 inverse-mask 为 网 络 ( 或 接 口 ) 地 址 和 wildcard mask 8