「FRR」- FRR(FRRouting,Free Range Routing)

认识

在我们的工作场景中,鉴于 frr 的应用较多,所以我们尝试用 frr 来代替 Quagga 服务。该笔记将记录:我们学习 FRR 的笔记,以及相关问题的解决办法,内容侧重于使用方法;

FRR 主要用于路由交换,其将路由安装到内核,以使得内核能够正确地进行数据包的转发;

注 1:我们较为依赖 FRR 软件,所以我们将在子章节中分门别类地进行笔记记录;

组成

FRR is a fork of Quagga.
FRR implements all standard routing protocols, as well as many of their extensions.

性质

其支持的路由协议,以及实现情况,参考:
1)Feature Matrix
2)Supported RFCs

构建

服务部署

软件下载

官方站点:https://frrouting.org/

软件仓库:Ubuntu https://deb.frrouting.org/ https://rpm.frrouting.org/

系统要求

FRR 的性能取决于外部因素:网卡、路由规模、内核网络栈、对端行为;

支持平台:GNU/Linux、FreeBSD、NetBSD、OpenBSD

已知问题:Linux < 4.11 ⇒ v6 Route Replacement – Linux kernels before 4.11 can cause issues with v6 route deletion when you have ECMP routes installed into the kernel. This especially becomes apparent if the route is being transformed from one ECMP path to another.

服务部署

# for Ubuntu 22.04 LTS
apt-get install frr

# 10/16/2023 现在,我们通过 apt-get 直接安装,所以展示不需要关心太多的编译及配置选项;

应用

我们使用 FRR 的原因是:内置支持动态路由协议的网络设备通常价格昂贵,我们通过软路由进行实现;

软件路由解决方案