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 |
|
嵌入式Linux(OpenWRT等)中安装FRR
首先,在make menuconfig
中勾选frr。frr的路径为Network > Routing and Redirection > frr
。勾选frr后,进入frr框则可以看到一些协议,按照所需要的去勾选。
将所需要的协议勾选完成后,save
,exit
,退出menuconfig
界面,即可进行固件编译。
FRR与其他开源路由协议栈比较
特性 | FRR | Bird | Quagga | OpenBGPD |
---|---|---|---|---|
多协议支持 | ✅ 强 | ⚠️ 有限 | ⚠️ 过时 | ❌ 仅支持 BGP |
模块化守护进程 | ✅ | ❌(单进程) | ✅ | ❌ |
CLI风格 | Cisco 风格 | 配置文件为主 | Cisco 风格 | 自定义格式 |
社区活跃度 | 高 | 中 | 低(已不活跃) | 中 |
适合场景 | 通用、复杂网络 | BGP为主 | 已过时 | 安全、简单的BGP |
NetStudio动态路由——FRR概述
https://blog.hasong.top/2025/05/27/NetStudio动态路由——FRR概述/