什么是DPFR?
数据面故障快速恢复(Data Plane Fast Recovery,本文简称DPFR)是一种亚毫秒级的故障恢复技术,能够基于数据面快速感知端口故障,并结合故障本地快速收敛、故障远程通告、故障远程快速收敛等功能,实现业务无感知的故障快收敛效果。本文从为什么需要DPFR、DPFR与传统故障收敛技术对比、DPFR是如何工作的、DPFR的典型应用这几个方面展开介绍。
为什么需要DPFR?
当链路故障发生时,传统路由收敛技术依赖控制面的动态路由协议(如OSPF、BGP)的信息交互和重新算路,即使结合了BFD探测技术也只是加快了故障感知速度,路由收敛时间仍在百毫秒级,大规模DCN网络中的路由收敛时间甚至达到秒级。
对于在线交易类型的应用,比如高性能存储业务或高性能数据库访问业务,都需要极致的性能和高可靠性保障。 对于此类业务,一旦链路故障发生,传统收敛技术在百毫秒内无法恢复正常业务传输,持续丢包会导致交易失败,甚至可能引发对端协议栈连接超时,应用性能会出现明显大幅下降。
在这种情况下,DPFR诞生了,它从传统的基于控制面的收敛方式演进到基于数据面快速感知故障和快速换路的收敛方式,并且基于数据面实现远程通告和快速换路,可达到亚毫秒级的收敛速度,将对业务性能的影响降至最低。该技术为高性能数据库、存储以及超算等关键应用提供了更好的高可靠性保证和稳定性体验。
DPFR与传统故障收敛技术对比
大规模DCN网络中,DPFR与传统故障收敛技术对比如下表所示。
对比项 |
DPFR |
FRR |
ECMP |
|
---|---|---|---|---|
故障感知时间 |
百微秒级 |
百毫秒级 |
毫秒级 |
秒级 |
故障收敛时间 |
亚毫秒级 |
百毫秒级 |
秒级 |
秒级 |
收敛方式 |
数据面 |
控制面 |
控制面 |
控制面 |
DPFR是如何工作的?
DPFR整体功能实现依赖3个重要角色,各个角色的主要功能如下:
- 故障感知节点:
- 故障快速感知:当出现端口光模块故障、传输光缆松动等故障现象,数据面能够快速检测到故障端口errPort。通过对出端口为errPort的流量进行采样,确认故障流信息,生成相应的故障表表项。
- 故障本地快速收敛:根据故障流信息,查询FIB表后发现存在冗余路径,数据面在控制面收敛之前就对相应的数据报文进行快速换路处理。(此时故障感知节点同路径切换节点。)
- 故障远程通告:根据故障流信息,查询FIB表后发现不存在冗余路径,数据面基于故障流信息生成相应的故障通告报文,发送给上游设备。
- 过路转发节点:
- 故障远程通告接收:当前节点设备接收故障通告报文,记录入端口inPort,确定故障流信息,并生成故障表。
- 故障远程中继:根据故障流信息,查询FIB表后发现不存在冗余路径,在端口inPort对故障流进行采样,生成相应的故障通告报文,继续发送给上游设备。
- 路径切换节点:
- 故障远程中继接收:此过程与故障远程通告接收相同。
- 故障远程快速收敛:此过程与故障本地快速收敛相同。
以上各个节点会基于故障流信息生成相应的故障表,故障表的表项会在指定周期内进行老化,最终保证数据面行为与控制面路由收敛结果保持一致。
整体功能分析
DPFR的典型应用
如下图所示的传统L3组网,服务器采用独立IP接入,Leaf交换机部署为独立的L3网关,承担二、三层流量转发,Spine层部署为独立的L3设备,与Leaf之间形成ECMP,实现流量负载分担。这种组网主要应用于HPC、AI、存储等无损场景,比如在高性能计算场景下,链路故障导致的大量丢包,会导致分布式计算任务聚合运算失败,需要重新启动任务,重启计算,应用性能出现明显大幅度下降。通过DPFR可以缩短丢包时间,为人工智能、机器学习、高性能计算等性能要求高的核心应用提供高可靠性保证。
全网设备均支持并部署DPFR功能后,在Spine或者Spine-Leaf之间链路故障时,Leaf支持本地快速切换到其他ECMP成员。Spine-Leaf之间链路故障时,Spine支持通告远端Leaf切换到新ECMP成员。
传统L3组网
- 作者: 杨小梨
- 最近更新: 2024-02-27
- 浏览次数: 2224
- 平均得分: