发明内容
本发明实施例提供一种BFD会话报文传输方法和设备,以避免由于类聚合口的某个成员端口down所引起的BFD会话震荡,保证BFD会话稳定。
为了达到上述目的,本发明实施例提供一种双向转发检测BFD会话报文传输方法,应用于包括本端设备和对端设备的网络中,所述本端设备包括多个业务板以及用于处理BFD会话报文的操作管理维护中央处理器OAMCPU,各业务板上有端口对应于同一个类聚合口,所述对端设备包括转发芯片以及用于处理BFD会话报文的OAMCPU,所述方法至少包括以下步骤:
所述对端设备的转发芯片在本转发芯片的不同端口上接收所述本端设备通过对应于所述类聚合口的各端口分别发送的BFD会话报文;
所述对端设备的转发芯片将本转发芯片在不同端口上接收到的BFD会话报文重定向到本转发芯片的虚拟口;
所述对端设备的转发芯片利用动态采样策略从重定向到本转发芯片的虚拟口的BFD会话报文中采样出一份BFD会话报文;
所述对端设备的转发芯片将采样出的BFD会话报文通知给所述对端设备的OAMCPU,由所述OAMCPU对所述BFD会话报文进行处理。
所述对端设备的转发芯片在本转发芯片的不同端口上接收所述本端设备通过对应于所述类聚合口的各端口分别发送的BFD会话报文之后,所述方法还包括:所述对端设备的转发芯片确定本转发芯片上接收到BFD会话报文的端口数量,并利用所述端口数量配置所述动态采样策略。
所述动态采样策略具体为:1/所述端口数量。
本发明实施例提供一种双向转发检测BFD会话报文传输方法,应用于包括本端设备和对端设备的网络中,所述本端设备包括多个业务板以及用于处理BFD会话报文的操作管理维护中央处理器OAMCPU,各业务板上有端口对应于同一个类聚合口,所述对端设备包括转发芯片以及用于处理BFD会话报文的OAMCPU,所述方法至少包括以下步骤:
所述本端设备的OAMCPU确定待发送的BFD会话报文;
所述本端设备的OAMCPU通过对应于所述类聚合口的各端口分别向所述对端设备发送所述BFD会话报文。
所述本端设备的OAMCPU通过对应于所述类聚合口的各端口分别向所述对端设备发送所述BFD会话报文,具体包括:
所述本端设备的OAMCPU将所述BFD会话报文分别发送给对应于所述类聚合口的各端口所在的业务板,由各端口所在的业务板通过对应的各端口分别向所述对端设备发送所述BFD会话报文。
本发明实施例提供一种对端设备,应用于包括本端设备和所述对端设备的网络中,所述本端设备包括多个业务板以及用于处理双向转发检测BFD会话报文的操作管理维护中央处理器OAMCPU,各业务板上有端口对应于同一个类聚合口,所述对端设备包括转发芯片以及用于处理BFD会话报文的OAMCPU,所述对端设备的所述转发芯片具体包括:
接收模块,用于在本转发芯片的不同端口上接收所述本端设备通过对应于所述类聚合口的各端口分别发送的BFD会话报文;
重定向模块,用于将本转发芯片在不同端口上接收到的BFD会话报文重定向到本转发芯片的虚拟口;
处理模块,用于利用动态采样策略从重定向到本转发芯片的虚拟口的BFD会话报文中采样出一份BFD会话报文;
发送模块,用于将采样出的BFD会话报文通知给所述对端设备的OAMCPU,由所述OAMCPU对所述BFD会话报文进行处理。
所述转发芯片还包括:配置模块,用于确定本转发芯片上接收到BFD会话报文的端口数量,并利用所述端口数量配置所述动态采样策略。
所述动态采样策略具体为:1/所述端口数量。
本发明实施例提供一种本端设备,应用于包括所述本端设备和对端设备的网络中,所述本端设备包括多个业务板以及用于处理双向转发检测BFD会话报文的操作管理维护中央处理器OAMCPU,各业务板上有端口对应于同一个类聚合口,所述对端设备包括转发芯片以及用于处理BFD会话报文的OAMCPU,所述本端设备的所述OAMCPU具体包括:
确定模块,用于确定待发送的BFD会话报文;
发送模块,用于通过对应于所述类聚合口的各端口分别向所述对端设备发送所述BFD会话报文。
所述发送模块,具体用于将所述BFD会话报文分别发送给对应于所述类聚合口的各端口所在的业务板,由各端口所在的业务板通过对应的各端口分别向所述对端设备发送所述BFD会话报文。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,本端设备通过在对应于类聚合口的所有端口上分别发送BFD会话报文(即采用冗余方式发送BFD会话报文),由对端设备在收到多份BFD会话报文时,采样出一份BFD会话报文,以在不增加对端设备的OAMCPU收包压力的条件下,避免由于类聚合口的某个成员端口down所引起的BFD会话震荡。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种BFD会话报文传输方法,该方法可以应用于包括本端设备和对端设备的网络中,本端设备包括多个业务板以及用于处理BFD会话报文的OAMCPU(OAMCPU可以位于本端设备的主控板上,也可以位于本端设备的其它单板上),本端设备的各业务板上有端口对应于同一个类聚合口(该类聚合口可以为如图2所示的堆叠环境下三层聚合口或者如图1所示的捆绑口,当然类聚合口也可为其它类似的多个端口聚合在一起的情况);对端设备包括转发芯片、多个业务板以及用于处理BFD会话报文的OAMCPU(OAMCPU可以位于对端设备的主控板上,也可以位于对端设备的其它单板上),对端设备的各业务板可以收到来自本端设备的各业务板发送的报文,并将收到的报文转发至该对端设备的转发芯片。
如图3所示,为本发明实施例的应用场景示意图,本端设备包括业务板1、业务板2和业务板3,本端设备的OAMCPU位于主控板1上,且业务板1上的端口A、业务板2上的端口B、业务板3上的端口C组成类聚合口。对端设备包括业务板4、业务板5和业务板6,对端设备的OAMCPU位于主控板2上,且业务板4上发送的报文会转发至对端设备的转发芯片的端口L,业务板5上发送的报文会转发至对端设备的转发芯片的端口M,业务板6上发送的报文会转发至对端设备的转发芯片的端口N;此外,在对端设备的转发芯片上,还存在有虚拟口V(即虚拟逻辑口V)以及端口X,且该端口X为对端设备的转发芯片与对端设备的OAMCPU之间的端口。
基于上述应用场景,如图4所示,BFD会话报文传输方法包括以下步骤:
步骤401,本端设备的OAMCPU确定待发送的BFD会话报文,并通过对应于类聚合口的各端口分别向对端设备发送该BFD会话报文。
具体的,在本端设备的OAMCPU采用端口发送方式定时发送BFD会话报文时,如果类聚合口对应有多个端口,则本端设备的OAMCPU会定时将BFD会话报文分别发送给对应于类聚合口的各端口所在的业务板,由各端口所在的业务板通过对应的各端口分别向对端设备发送BFD会话报文。
在图3所示的应用场景下,由于业务板1上的端口A、业务板2上的端口B、业务板3上的端口C组成类聚合口,因此,本端设备的OAMCPU需要定时将BFD会话报文分别发送给业务板1、业务板2和业务板3;进一步的,由业务板1通过端口A定时将BFD会话报文发送给对端设备的业务板4,由业务板2通过端口B定时将BFD会话报文发送给对端设备的业务板5,由业务板3通过端口C定时将BFD会话报文发送给对端设备的业务板6。
基于上述实施方式,本端设备通过在对应于类聚合口的所有端口上分别发送BFD会话报文(即采用冗余方式发送BFD会话报文),使得本端设备的OAMCPU不需要响应类聚合口的各成员端口的up/down变化,从而保证BFD会话稳定。例如:当有成员端口down时,本端设备的OAMCPU不需要将发送BFD会话报文的端口切换到类聚合口的另一个成员端口。
假设当前本端设备的OAMCPU通过端口A和端口B发送BFD会话报文,如图5所示,从端口A和端口B分别按照100ms的频率发送BFD会话报文,在端口A上发送的为BFD会话报文1,在端口B上发送的为BFD会话报文2;当端口A发生down时,从端口B仍有100ms的BFD会话报文,直到类聚合口的所有成员端口全都down,该类聚合口的BFD会话报文才down。
在图5中,BFD会话报文1和BFD会话报文2之间的差为dt,该dt的值不论为多少,都不会影响BFD会话,从而可以保证BFD会话稳定。例如,假设dt为0,则BFD会话报文1和BFD会话报文2相同;假设dt为T,则BFD会话报文2为BFD会话报文1的下一个周期;假设dt>0,且dt<T,则在下一个T周期内,BFD会话报文2能够从端口B进行发送。
步骤402,对端设备的转发芯片在本转发芯片的不同端口上接收本端设备通过对应于类聚合口的各端口分别发送的BFD会话报文。
在图3所示的应用场景下,对端设备的转发芯片在本转发芯片的端口L上接收本端设备通过端口A发送的BFD会话报文(由本端设备的业务板1通过端口A将BFD会话报文发送给对端设备的业务板4,由对端设备的业务板4将BFD会话报文转发至转发芯片的端口L);对端设备的转发芯片在本转发芯片的端口M上接收本端设备通过端口B发送的BFD会话报文(由本端设备的业务板2通过端口B将BFD会话报文发送给对端设备的业务板5,由对端设备的业务板5将BFD会话报文转发至转发芯片的端口M);对端设备的转发芯片在本转发芯片的端口N上接收本端设备通过端口C发送的BFD会话报文(由本端设备的业务板3通过端口C将BFD会话报文发送给对端设备的业务板6,由对端设备的业务板6将BFD会话报文转发至转发芯片的端口N)。
本发明实施例中,对端设备的转发芯片在本转发芯片的不同端口上接收本端设备通过对应于类聚合口的各端口分别发送的BFD会话报文之后,该对端设备的转发芯片还需要确定本转发芯片上接收到BFD会话报文的端口数量,并利用端口数量配置动态采样策略(即采样策略根据实际情况会发生动态变化,以适应不同的场景)。其中,该动态采样策略具体为:1/端口数量。
例如,对端设备的转发芯片对端口L、端口M和端口N上收到的BFD会话报文分别进行检测,且会检测到端口L、端口M和端口N上均能够收到BFD会话报文,因此确定本转发芯片上接收到BFD会话报文的端口数量为3,并利用端口数量配置动态采样策略为1/3,该动态采样策略用于使对端设备的转发芯片从所有BFD会话报文中采样出1/3的BFD会话报文,即当所有BFD会话报文为三份BFD会话报文时,能够采样出一份BFD会话报文。
本发明实施例中,对端设备的转发芯片对端口L、端口M和端口N上收到的BFD会话报文分别进行检测的过程中,对端设备的转发芯片还需要首先配置检测频率,并按照该检测频率对端口L、端口M和端口N上收到的BFD会话报文分别进行检测。其中,该检测频率的设置方式可以具体为:对端设备的转发芯片配置BFD会话报文发送的最高频率为该检测频率;当然,对端设备的转发芯片也可以利用其它方式配置该检测频率,在此不再详加赘述。
步骤403,对端设备的转发芯片将本转发芯片在不同端口上接收到的BFD会话报文重定向到本转发芯片的虚拟口(即虚拟逻辑口)。
在图3所示的应用场景下,对端设备的转发芯片将端口L上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,将端口M上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,将端口N上接收到的BFD会话报文重定向到本转发芯片的虚拟口V;因此会有三份BFD会话报文进入虚拟口V。
步骤404,对端设备的转发芯片利用动态采样策略从重定向到本转发芯片的虚拟口的BFD会话报文中采样出一份BFD会话报文。
具体的,由于动态采样策略用于使对端设备的转发芯片从重定向到本转发芯片的虚拟口的多份BFD会话报文中采样出一份BFD会话报文,且重定向到本转发芯片的虚拟口的BFD会话报文会从ingress上送,在环回后从egress出去;因此本发明实施例通过在从egress向外发送BFD会话报文时,基于动态采样策略对向外发送的BFD会话报文进行均匀采样,以从重定向到本转发芯片的虚拟口的多份BFD会话报文中采样一份BFD会话报文发送至端口X。
在图3所示的应用场景下,对端设备的转发芯片利用动态采样策略从重定向到本转发芯片的虚拟口的三份BFD会话报文(即端口L上接收到的BFD会话报文、端口M上接收到的BFD会话报文、端口N上接收到的BFD会话报文)中采样出一份BFD会话报文,且由于端口L上接收到的BFD会话报文、端口M上接收到的BFD会话报文、端口N上接收到的BFD会话报文都是均匀的BFD会话报文,因此对端设备的转发芯片对虚拟口的三份BFD会话报文按1/3均匀采样时,采样出的一定是端口L上接收到的BFD会话报文、或端口M上接收到的BFD会话报文、或端口N上接收到的BFD会话报文。
在图3所示的应用场景下,当本端设备上有对应于类聚合口的成员端口发生down,以端口B发生down为例,则端口B上不会发送BFD会话报文,且端口M上不会收到BFD会话报文。基于此,对端设备的转发芯片会检测到端口L和端口N上能够收到BFD会话报文,并利用端口数量配置动态采样策略为1/2;之后,对端设备的转发芯片将端口L上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,将端口N上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,即有两份BFD会话报文进入虚拟口V。之后,对端设备的转发芯片利用动态采样策略从重定向到本转发芯片的虚拟口的两份BFD会话报文(即端口L上接收到的BFD会话报文、端口N上接收到的BFD会话报文)中采样出一份BFD会话报文,且由于端口L上接收到的BFD会话报文、端口N上接收到的BFD会话报文都是均匀的,因此对端设备的转发芯片对虚拟口的两份BFD会话报文按1/2均匀采样时,采样出的一定是端口L上接收到的BFD会话报文、或端口N上接收到的BFD会话报文。
当本端设备上又有对应于类聚合口的成员端口发生down时,以端口C发生down为例,则端口C上不会发送BFD会话报文,且端口N上不会收到BFD会话报文。基于此,对端设备的转发芯片会检测到端口L上能够收到BFD会话报文,并利用端口数量配置动态采样策略为1/1;之后,对端设备的转发芯片需要将端口L上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,即只有一份BFD会话报文进入虚拟口V。之后,对端设备的转发芯片利用动态采样策略从重定向到本转发芯片的虚拟口的一份BFD会话报文(即端口L上接收到的BFD会话报文)中采样出一份BFD会话报文。
本发明实施例中,在本端设备上有对应于类聚合口的成员端口发生down之后,如果该成员端口恢复为up,则相应处理为上述的反过程。在图3所示的应用场景下,当本端设备上的端口B发生down之后,如果该端口B恢复为up,则端口B上会发送BFD会话报文,且端口M上会收到BFD会话报文。基于此,对端设备的转发芯片会检测到端口L、端口M和端口N上能够收到BFD会话报文,并利用端口数量配置动态采样策略为1/3;之后,对端设备的转发芯片将端口L上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,将端口M上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,将端口N上接收到的BFD会话报文重定向到本转发芯片的虚拟口V,即有三份BFD会话报文进入虚拟口V。之后,对端设备的转发芯片利用动态采样策略从重定向到本转发芯片的虚拟口的三份BFD会话报文(即端口L上接收到的BFD会话报文、端口M上接收到的BFD会话报文、端口N上接收到的BFD会话报文)中采样出一份BFD会话报文,且由于端口L上接收到的BFD会话报文、端口M上接收到的BFD会话报文、端口N上接收到的BFD会话报文都是均匀的,因此对端设备的转发芯片对虚拟口的三份BFD会话报文按1/3均匀采样时,采样出的一定是端口L上接收到的BFD会话报文、或端口M上接收到的BFD会话报文、或端口N上接收到的BFD会话报文。
步骤405,对端设备的转发芯片将采样出的BFD会话报文(一份BFD报文)通知给对端设备的OAMCPU,由OAMCPU对BFD会话报文进行处理。
具体的,对端设备的转发芯片在采样出一份BFD会话报文发送至端口X之后,对端设备的转发芯片能够通过该端口X将采样出的BFD会话报文(只有一份BFD报文)通知给对端设备的OAMCPU,后续处理不再赘述。
综上所述,本发明实施例中,本端设备通过在对应于类聚合口的所有端口上分别发送BFD会话报文(即采用冗余方式发送BFD会话报文),由对端设备在收到多份BFD会话报文时,采样出一份BFD会话报文,以在不增加对端设备的OAMCPU收包压力的条件下,可以避免由于类聚合口的某个成员端口down所引起的BFD会话震荡,保证BFD会话稳定。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种对端设备,应用于包括本端设备和所述对端设备的网络中,所述本端设备包括多个业务板以及用于处理双向转发检测BFD会话报文的操作管理维护中央处理器OAMCPU,各业务板上有端口对应于同一个类聚合口,所述对端设备包括转发芯片以及用于处理BFD会话报文的OAMCPU,如图6所示,所述对端设备的所述转发芯片具体包括:
接收模块11,用于在本转发芯片的不同端口上接收所述本端设备通过对应于所述类聚合口的各端口分别发送的BFD会话报文;
重定向模块12,用于将本转发芯片在不同端口上接收到的BFD会话报文重定向到本转发芯片的虚拟口;
处理模块13,用于利用动态采样策略从重定向到本转发芯片的虚拟口的BFD会话报文中采样出一份BFD会话报文;
发送模块14,用于将采样出的BFD会话报文通知给所述对端设备的OAMCPU,由所述OAMCPU对所述BFD会话报文进行处理。
所述转发芯片还包括:配置模块15,用于确定本转发芯片上接收到BFD会话报文的端口数量,并利用所述端口数量配置所述动态采样策略。
所述动态采样策略具体为:1/所述端口数量。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种本端设备,应用于包括所述本端设备和对端设备的网络中,所述本端设备包括多个业务板以及用于处理双向转发检测BFD会话报文的操作管理维护中央处理器OAMCPU,各业务板上有端口对应于同一个类聚合口,所述对端设备包括转发芯片以及用于处理BFD会话报文的OAMCPU,如图7所示,所述本端设备的所述OAMCPU具体包括:
确定模块21,用于确定待发送的BFD会话报文;
发送模块22,用于通过对应于所述类聚合口的各端口分别向所述对端设备发送所述BFD会话报文。
所述发送模块22,具体用于将所述BFD会话报文分别发送给对应于所述类聚合口的各端口所在的业务板,由各端口所在的业务板通过对应的各端口分别向所述对端设备发送所述BFD会话报文。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。