南方數據技术观察
首页 行业新闻 教程 技术文章 AI 对话 官网 咨询与报价
首页 / 行业新闻

BGP LLGR:兼顾快速收敛与会话稳定

BGP 网络在多冗余路径下既要求故障毫秒级切换,又要求会话在高负载下不误判断开。BFD 虽能以 100 ms 定时器快速探测链路故障,但在通用内核上运行时易因 CPU 抢占丢包,导致全会话同时掉线。LLGR(Long-Lived Graceful Restart)通过长期保留陈旧路由并标记为最低优先级,配合已知社区传递,解决了快速收敛与会话稳健性的矛盾。

BFD 快速探测与误判风险:

BFD 依据 RFC 5880 与 RFC 5882 实现双向路径故障检测,定时器可降至 100 ms,配合 ECMP 可在 1 秒内完成流量切换。然而当 BGP 运行于主机通用内核(如 Linux 上的 BIRD)时,BFD 守护进程在高 CPU 负载下可能无法及时响应,丢失少量报文即触发所有会话同时中断,造成全网中断。点对点链路虽可直接感知物理故障,但光纤对存在单向故障风险,仍需依赖保持定时器超时才能发现。

转发平面与控制平面的 BFD 实现差异:

Juniper MX 将 BFD 卸载至转发引擎的实时微内核,控制报文携带 Control Plane Independent 标志位(tcpdump 可见 Flags: [Control Plane Independent]),不受控制平面调度影响。对比测试显示,10.71.7.1(Linux+BIRD)回包 Flags 为 [none],表明在控制平面处理;而 10.71.0.3(Juniper MX)回包带独立标志,确认由转发平面终结。这种实现差异直接决定了 BFD 抗抖动能力。

LLGR 机制与陈旧路由处理:

LLGR 作为新 BGP 能力,在会话中断后仍保留路由更长时间,并将其标记为最低优选(least-preferred),同时定义已知社区在域间传递该状态。草案 draft-uttaro-idr-bgp-persistence-04 规定了保留时长与社区编码,使邻居在收到带标记路由时继续转发流量,避免因 BFD 抖动触发的会话重置导致路由震荡。原文未给出具体保留时间数值。

对运维工程师而言,部署 LLGR 需确认设备支持 draft-uttaro-idr-bgp-persistence-04 能力,并在 BFD 定时器与 LLGR 重启时间之间权衡;在主机运行 BGP 场景下,优先将 BFD 卸载至转发平面或调大定时器,避免高负载触发全网震荡。

原文: APNIC Blog(2018-11-06)|编译自 APNIC Blog,事实以原文为准。

来源:APNIC Blog

返回列表