
Hat
译者
⚠️ 注意
如果您发现了错误,欢迎 参与贡献。
💡 摘要 (Powered by OpenAI)
本文是 BIRD 用户指南的第六章第十三节,介绍了 BIRD 的 MRT 路由导出协议 (MRT),包括其用途、配置语法和示例配置,以便您更好地理解相关内容。
MRT 协议 (Multi-Threaded Routing Toolkit, MRT) 是一个负责处理 MRT 路由信息导出格式的组件。该格式主要用于收集和分析 BGP 路由器中的路由信息。
MRT 协议可配置为定期转储路由表,生成的 MRT 文件可供其他工具进行后续分析。此外,也可通过 BIRD 客户端主动请求独立的 MRT 表转储。
BIRD 还支持将传入的 BGP 消息保存为 MRT 文件,但该功能由 mrtdump 选项独立控制(与 MRT 协议本身分离),虽然未来可能有所调整。
BIRD 实现了以下标准的 MRT 格式规范:
MRT 配置由若干描述路由表转储的语句组成。可以通过多个 MRT 协议实例实现多个独立的定期转储。
MRT 协议不使用通道 (Channel)。有两个必须配置的语句:filename 和 period。
以下配置参数可用于修改行为:
table 名称 | "模式"
指定需要由该 MRT 协议实例转储的路由表(或通过通配符模式描述的一组路由表)。默认值:主路由表 (master table)
filter { 过滤命令 }
允许为转储的路由指定过滤器。被拒绝的路由将被忽略,不会保存到 MRT 转储文件中。默认值:无过滤器
where 过滤表达式
为 MRT 协议指定过滤器的另一种方式。
filename "文件名"
指定 MRT 转储文件的文件名。文件名可包含 strftime(3) 格式的时间序列(详见 man strftime),此外还有序列 %N 会展开为被转储表名。因此,每张表的每次定期转储均可保存到不同文件。必须配置,示例见下文。
period 数值
指定两次定期转储之间的时间间隔(秒)。必须配置。
always add path 开关
MRT 格式为通过 BGP ADD_PATH 扩展接收到的路由使用特殊记录(定义于 RFC 8050)以保留路径 ID,而其他路由使用常规记录。
这种方式的优点是与不支持特殊记录的工具兼容性更好,但缺点是会丢失最佳路由的信息。启用此选项后,ADD_PATH 和非 ADD_PATH 路由都会以 ADD_PATH 记录存储,且同一网络的路由顺序会得到保留。默认值:disabled
protocol mrt {
table "tab*";
where source = RTS_BGP;
filename "/var/log/bird/%N_%F_%T.mrt";
period 300;
}
译者
原文作者: <Ondrej Filip>, <Martin Mares>, <Maria Matejka>, <Ondrej Zajicek>
原文链接: https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.13
原文标题: 6.13 MRT
遵循协议: CC BY-NC-SA 4.0
译者: hat
翻译时间: 2026-05-01
更新时间: 2026-05-01
本文链接: https://bird.xmsl.dev/docs/user-guide/6-13-mrt.html