BGP NSR(BGP Non-Stop Routing)是一种网络协议功能,旨在确保在路由器重启过程中BGP会话不中断。这种功能对于网络的稳定性和可靠性至关重要。本文将深入探讨BGP NSR的原理、工作机制以及实现细节。
NSR 技术的产生原因与背景
在当今网络高速发展的背景下,运营商对IP网络的可靠性要求不断提高。传统的NSF+GR(Non-Stop Forwarding + Graceful Restart)方式虽然在一定程度上可以保证设备的可靠性,但在某些场景下存在固有的缺陷。这些缺陷包括邻居节点不支持GR、多点同时失效等情况,这些情况下可能会导致倒换节点在GR倒换期间无法从邻居处获得路由信息,也无法重建控制平面连接。为了解决这些问题,NSR技术应运而生。
NSR(Non-Stop Routing)技术与NSF(Non-Stop Forwarding)技术有本质的区别,它是对NSF技术的革新。传统的NSF技术只能保证在发生故障时转发平面的持续性,而NSR技术则不仅能够保证转发不中断,还能够保证控制平面的连接不中断。此外,NSR技术使得邻居节点在控制平面发生故障时不会感知到本机的故障,从而进一步提高了网络的可靠性和稳定性。
NSR 技术的工作原理
控制平面状态保存: 当系统控制平面发生故障(如软件故障或硬件故障)时,NSR技术会将当前的控制平面状态保存到非易失性存储中,以便在恢复时使用。
快速状态恢复: 一旦控制平面发生故障,NSR技术会尽快从保存的状态中恢复,并重新建立控制平面连接。这样可以最大程度地减少控制平面中断时间。
邻居平面无感知: NSR技术能够保证邻居节点在控制平面发生故障时不会感知到本机的故障,从而避免了不必要的路由震荡和拓扑变化。
NSR技术优点
保证控制层面和转发层面的不中断
BGP NSR技术能够保证在BGP协议控制层面发生故障时,控制层面和转发层面均不中断。这意味着即使主控制平面发生故障,备用控制平面也能够立即接管其功能,保持路由信息的传递和转发业务的进行。这种保证了网络的连续性和稳定性,确保了网络中的数据流量不会中断,业务不会受到影响。
单节点技术,无需邻居支持
BGP NSR技术是一种单节点技术,无需依赖邻居节点的支持。即使在BGP网络出现多点控制层面故障时,各个节点仍能够完成主备倒换,确保网络的正常运行。这意味着即使整个网络中的多个节点同时发生控制层面故障,也不会影响网络的连续性和稳定性,保证了业务的持续进行。
NSR 技术专业术语
HA(High Availability)
高可用性(High Availability)指的是系统或者网络在面对故障或者意外情况时仍然能够保持正常运行的能力。在网络设备中,通常会采用主备模式来实现高可用性,即主设备出现故障时备用设备可以接管其功能,从而保证服务的连续性。在BGP NSR中,HA通常指的是主备板间的备份通道,用于保证控制平面的连续性。
NSR(Non-Stop Routing)
NSR(不间断路由)是一种在系统控制平面的协议发生故障且存在备用控制平面的场景下,邻居控制平面不感知的一种技术。NSR不仅仅局限于路由信令的邻居关系不中断,还包括信令协议和其他为满足业务需求提供支撑的协议。在BGP NSR中,NSR技术确保了控制平面的连续性,在发生故障时可以快速恢复,而邻居节点不会感知到故障。
NSF(Non-Stop Forwarding)
NSF(不间断转发)是指通过协议的GR(Graceful Restart)机制,在系统主备倒换时支持转发业务不中断的技术。NSF主要关注转发平面的连续性,在主备切换时能够保持转发业务的正常进行。在BGP NSR中,NSF通常与NSR配合使用,确保了控制平面和转发平面的一致性,从而保证了网络的连续性。
AMB(Active Main Board)和 SMB(Slave Main Board)
AMB(Active Main Board)和SMB(Slave Main Board)是指主用和备用的主控板。主控板承载着设备的控制平面进程,负责处理控制信令、路由计算等任务。在BGP NSR中,主控板之间的切换是实现不间断路由的关键。当主控板发生故障时,备用控制平面会接管其功能,从而保证了控制平面的连续性。
BGP NSR 数据同步备份和倒换处理
BGP NSR(BGP Non-Stop Routing)通过主备板数据同步备份来实现路由表项和协议控制块的同步,以确保在设备发生故障时路由的不间断传输。
关键数据的同步备份
BGP NSR通过实时同步主备板上的关键数据,包括BGP路由表项和BGP协议控制块,来保证主备板的数据一致性。
BGP路由表项是BGP协议中最重要的数据之一,它包含了当前网络中可达的路由信息。在BGP NSR中,主备板会定期进行BGP路由表项的同步备份,以保证在发生故障时备板能够立即接管主板的路由信息。
BGP协议控制块包含了BGP协议的运行状态、邻居关系信息等关键数据。主备板会实时同步这些控制块的数据,以确保备板能够在故障发生时无缝接管控制平面的功能。
数据同步备份和倒换处理流程
BGP NSR的数据同步备份和倒换处理流程主要包括批量备份、实时备份和倒换处理三个阶段。
- 批量备份:在备板启动时,主板会向备板发送BGP路由表项和协议控制块的批量备份数据,以确保备板能够快速获取到主板上的全部数据,达到主备板数据阶段性一致。
- 实时备份:随着业务的持续运行,备板会实时接收主板上的BGP报文,并对主板的BGP路由表项和协议控制块进行实时备份。这样可以保持主备板数据的实时同步,确保备板在任何时候都能够立即接管主板的功能。
- 倒换处理:当主板发生故障时,备板会立即接管主板的功能,并开始处理转发业务和控制信令。由于备板已经实时备份了主板上的所有数据,因此不论是控制层面还是转发层面都不会中断。这样就实现了在主板故障时的无缝倒换,确保了网络的连续性和可靠性。
为了支持NSR技术,设备必须在硬件上具备双主控结构,即主备控制平面能够运行在不同的单板上。这样才能确保在主板发生故障时备板能够立即接管其功能,实现不间断路由的目标。
NSR技术应用场景
单节点多链路接入
在单节点多链路接入的场景中,即使通过链路侧的负载分担等方式进行保护,但如果单节点的主控失效,仍会导致业务中断。这时候使用BGP NSR技术可以增强节点的生存性,保证即使发生主控失效,也能够快速切换到备用控制平面,避免业务中断,确保业务的连续性和稳定性。
大容量大负载网络
在大容量大负载网络下,一旦节点的控制平面发生故障,可能会对整个网络造成较大的冲击,甚至引发路由震荡等问题。使用BGP NSR技术可以降低节点控制平面故障对整个网络的冲击,确保网络的稳定运行。通过快速切换到备用控制平面,保证了网络的连续性,避免了因控制平面故障而导致的网络中断和不稳定性,提高了网络的可靠性和可用性。