Lily
译者
⚠️ 注意
如果您发现了错误,欢迎 参与贡献。
💡 技巧小贴士
本页内容较多,您可以使用 Ctrl/Command
+ F
快速查找本页面的关键词。
如果想快速搜索全站内容,也可以在页面中单击 /
键 快速全文检索关键词。
对于小屏用户,您可以点击右上角的 放大镜
(🔍) 图标以输入关键词进行全文检索。
请注意查看下方的本节目录,点击目录中的链接可以快速跳转到对应的内容。
💡 摘要 (Powered by OpenAI)
在本文中,我们将介绍 BIRD 的路由表配置项 (Routing table options),包括路由表的排序、字典树、ROA 表稳定时间、垃圾收集机制等内容。
大多数路由表无需任何配置项,定义时也不需要额外的配置,但如果想要更改路由表的行为,那么你可以使用下列配置项。
此外,默认配置的路由表( master4
和 master6
)可以通过重定义来设定配置项。
sorted <switch>
通常,路由表只从每个网络的路由列表内选择一个最佳路由,而其他的路由则不进行分类。
如果启用此配置项,则路由列表的所有路由都将按照以下要素进行排序:
例如 BGP 协议的 secondary
配置项,它不仅允许接受选定路由,还允许接受一条次优路由(通过了过滤器然后在排序列表中的第一条路由)
需要使用这个配置项,但它与一些其他的功能(例如一种启用了无法使用比较和排序来描述的选定路由选择方式的 deterministic med
配置项)不兼容。
使用这个配置项的优点是使用 show route
指令显示路由的时候看到的路由是进行过排序的,它的缺点则是会有稍高的计算成本。
默认值:禁用
。
trie <switch>
BIRD 的路由表是以哈希表的方式实现的,这对于精确匹配的查找很有效,但是对于最长匹配查找或是区间查找(查找较小或较大的前缀)则不方便。
此配置项启用了额外的字典树结构用于加速这些查找,而对于精确查找则继续使用哈希表。
这对于 6.16 RPKI (施工中) (ROA 表) 和 6.4 递归的下一跳 (施工中) (IGP 表) 有好处,同时也是 6.4 flowspec 验证 (施工中) (基础 IP 表) 所必须的。
另一个优点是区间结果(例如 show route in ...
指令)是按词典顺序进行排序的,效率更好。
缺点则是启用了这个功能后需要更多的内存,尤其是在使用了多个路由表的配置中。
默认值:禁用
。
当 ROA 表发生更改时,可能会在一个指定的时间范围后再自动更新,这段时间称为稳定时间。
min settle time <time>
指定稳定时间的最小值,默认值:1秒
。
ROA 表将在最低不小于这个值的时间后自动更新。
max settle time <time>
指定稳定时间的最大值,默认值:20秒
。
ROA 表将在最长不过这个值的时间后自动更新,如果有连续更新则会逐渐延长这段时间。
gc threshold <number>
指定可以触发 GC (垃圾收集) 循环的最低的已被删除的网络数量。
默认值:1000
。
gc period <time>
指定连续回收循环之间等待的时间。当有大量的路由被撤销时,GC 循环会在给定的周期中反复运行(包含一些随机因素)。
当只有少量更改时,GC 循环则不会运行。在大多数路由服务器的设置中,对数百个完整的 BGP 路由表运行 GC 会消耗大量的时间,因此它们应当使用更长的 GC 周期。
默认值:基于配置中的路由表数量自适应
,从 10 秒(路由表 <= 25 个)到 600 秒(路由表 >= 1500 个)不等。
译者
校对
原文作者: <Ondrej Filip>
, <Martin Mares>
, <Maria Matejka>
, <Ondrej Zajicek>
原文链接: https://bird.network.cz/?get_doc&v=20&f=bird-3.html#ss3.3
原文标题: 3.3 Routing table options
遵循协议: CC BY-NC-SA 4.0
译者: lily
校对: hat
翻译时间: 2023-11-14
更新时间: 2024-09-09
本文链接: https://bird.xmsl.dev/docs/user-guide/3-3-routing-table-options.html