funnysyc
译者
⚠️ 注意
如果您发现了错误,欢迎 参与贡献。
💡 摘要 (Powered by OpenAI)
本文详细介绍了 BIRD 路由器中路由表的设计架构,涵盖了路由表的基本概念、网络类型(nettype)的定义及其在路由选择中的作用,以及如何通过一套系统化的最佳路由选择算法来确定和维护最优路由,帮助用户深入理解并高效配置 BIRD 路由器。
BIRD 的核心是路由表,每个路由表之间相互独立,一个路由表恰好包含一个拥有 nettype 属性的的路由。
BIRD 自带两个默认的路由表 —— master4
和 master6
,分别用于存储 IPv4 和 IPv6 路由,如果你不需要其他路由表,可以直接使用它们。
每种 nettype 都为路由定义了一个主键。每个路由源可以为每个可能的主键提供一条路由;新的路由宣告替换同一路由源中旧的路由,其余路由保持不变。
BIRD 总会在所有已知路由中,为每个主键选择一个最佳路由,其余路由保留为欠佳的备选。在最佳路由被撤回后,BIRD 重新运行 最佳路由选择算法 以寻找新的最佳路由。
🧭 概念解释
在一个路由表内,对于来自不同源的路由列表,只有一条路由会被选为最终选定的路由,也就是 最佳路由。
但是需要注意的是,这里的 最佳路由 并不一定是 最优路由,不要混淆这两个概念。
(本小节为原创内容,可能存在一些错误,您欢迎 参与贡献)。
全局的最佳路由选择算法大致如下:
比较路由的 preference(偏好值)属性:
preference
值,这个值通常由网络管理员配置,用于决定在多条路由可选时优先选择哪一条。preference
值越小,优先级越高。比较路由源协议附带的 preference 属性:
preference
值相同,则比较路由源协议本身的 preference
值。preference
值。如果源协议相同(例如 BGP 和 BGP),执行协议对应的最佳路由选择算法:
对于 BGP 路由:
对于 OSPF 路由:
转发地址
的路由。如果源协议不同(例如 BGP 和 OSPF):
路由类型 | AD 值 |
---|---|
直连路由 (Direct) | 0 |
静态路由 (Static) | 1 |
EIGRP 汇总路由 | 5 |
EBGP 路由 | 20 |
EIGRP 内部路由 | 90 |
IGRP | 100 |
OSPF | 110 |
IS-IS | 115 |
RIP | 120 |
iBGP 内部路由 | 200 |
可以根据 preference 或某个协议相关的 度量值 (metric) 使这些路由列表进行完全排序。有关详细信息,请参阅 sorted (排序路由) 选项。
译者
校对 & 原创内容作者
原文作者 <Ondrej Filip>
, <Martin Mares>
, <Maria Matejka>
, <Ondrej Zajicek>
原文链接: https://bird.network.cz/?get_doc&v=20&f=bird-2.html#ss2.1
原文标题: 2.1 Routing tables
遵循协议: CC BY-NC-SA 4.0
译者: funnysyc
校对: hat
翻译时间: 2023-11-14
更新时间: 2024-11-17
本文链接: https://bird.xmsl.dev/docs/user-guide/2-1-routing-tables.html