NetStudio动态路由——FRR概述

在构建现代网络的过程中,动态路由协议起着至关重要的作用。无论是数据中心、ISP 网络,还是企业网络,灵活、可扩展、稳定的路由协议实现都是网络设计的核心。FRRouting(FRR) 是一个现代、高性能的开源路由协议栈,被广泛用于 Linux 网络栈中,并支持多种主流动态路由协议。

什么是FR Routing?

FRRouting(FRR) 是一个开源的 IP 路由协议套件,最初是从 Quagga 项目分支出来的。由于 Quagga 长时间缺乏活跃的维护,部分大型网络厂商(如 Cumulus Networks、6WIND、Big Switch 等)于 2016 年创建了 FRR 项目,以更活跃和现代化的方式推进开源路由软件的发展。
官方地址:

FRR架构解析

FRR 采用模块化架构,由一系列守护进程组成,每个守护进程负责一种或几种协议。它们之间通过内置的 IPC(进程间通信)机制进行通信。
核心进程

守护进程 功能
zebra 路由表管理器,与 Linux 内核路由表交互,是所有协议守护进程的“中枢神经”
bgpd 实现 BGP 协议
ospfd 实现 OSPFv2 协议
ospf6d 实现 OSPFv3 协议
ripd 实现 RIP 协议
isisd 实现 IS-IS 协议
pimd 实现 PIM 协议
ldpd MPLS 中的 LDP 协议
staticd 管理静态路由
bfdd 实现 BFD 以快速链路故障检测
通信关系:
1
2
3
4
5
6
[bgpd]    [ospfd]    [ripd]    [isisd] ...
\ | | /
[ zebra ]
|
Linux Kernel Routing Table

嵌入式Linux(OpenWRT等)中安装FRR

首先,在make menuconfig中勾选frr。frr的路径为Network > Routing and Redirection > frr。勾选frr后,进入frr框则可以看到一些协议,按照所需要的去勾选。

将所需要的协议勾选完成后,saveexit,退出menuconfig界面,即可进行固件编译。

FRR与其他开源路由协议栈比较

特性 FRR Bird Quagga OpenBGPD
多协议支持 ✅ 强 ⚠️ 有限 ⚠️ 过时 ❌ 仅支持 BGP
模块化守护进程 ❌(单进程)
CLI风格 Cisco 风格 配置文件为主 Cisco 风格 自定义格式
社区活跃度 低(已不活跃)
适合场景 通用、复杂网络 BGP为主 已过时 安全、简单的BGP

NetStudio动态路由——FRR概述
https://blog.hasong.top/2025/05/27/NetStudio动态路由——FRR概述/
Author
hasong
Posted on
May 27, 2025
Licensed under