一种聚合端口的代理方法和设备技术

技术编号:10784707 阅读:124 留言:0更新日期:2014-12-17 11:56
本发明专利技术公开了一种聚合端口的代理方法和设备,该方法包括:第一网络设备在收到第二网络设备发送的已完成Standby状态切换的通知消息时,将与第二网络设备上已完成Standby状态切换的聚合端口连接的聚合端口确定为第一被代理端口,将第一被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第一代理端口;将聚合组转发表中的所述第一被代理端口更新为第一代理端口,并在收到目的为所述聚合组的流量时,依据更新后的聚合组转发表进行转发。本发明专利技术实施例中,可以保证流量的正确转发,避免出现流量多份、流量环路及流量丢失的情况。

【技术实现步骤摘要】
一种聚合端口的代理方法和设备
本专利技术涉及通信
,尤其涉及一种聚合端口的代理方法和设备。
技术介绍
如图1所示,网络设备(例如交换机)A上的芯片1与网络设备B上的芯片2通过聚合组1的三条物理链路聚合,网络设备A的聚合组1的成员包括端口1、端口2和端口3,网络设备B的聚合组1的成员包括端口7、端口8和端口9。网络设备A上的芯片3与网络设备C上的芯片4通过聚合组2的三条物理链路聚合,网络设备A的聚合组2的成员包括端口4、端口5和端口6,网络设备C的聚合组2的成员包括端口10、端口11和端口12。进一步的,各网络设备上维护端口状态表,该端口状态表用于记录端口与端口状态之间的对应关系。当端口状态为Forwarding(转发)状态时,端口可以收发流量;当端口状态为Standby(准备)状态时,端口可以接收流量,但不可以发送流量;当端口状态为Down(故障)状态时,端口不可以收发流量。针对网络设备A与网络设备B的流量传输过程,假设端口1、端口2和端口3均处于Forwarding状态,芯片1的聚合组1对应的聚合组转发表中包括端口1、端口2和端口3。芯片1在收到目的为聚合组1的流量时,对流量进行hash,并基于hash结果查询该聚合组1对应的聚合组转发表,通过hash结果在聚合组转发表中对应的端口(端口1、或端口2、或端口3)将流量发送给芯片2。在网络设备A的端口3的端口状态需要由转发(Forwarding)状态切换为Standby状态时,网络设备A向网络设备B发送切换通知消息,由网络设备B将端口9的端口状态切换为Standby状态,并在切换完成后向网络设备A返回已完成Standby状态切换的通知消息,这样,网络设备A在收到此通知消息后,将端口3在端口状态表中的端口状态由Forwarding状态切换为Standby状态,之后,网络设备A可以先通过端口状态表中所有处于Forwarding状态的端口更新聚合组1的成员,即聚合组1的成员为端口1和端口2,端口3不再是聚合组1的成员,而是独立端口,再阻塞端口3的流量,即不从端口3发送流量;也可以先阻塞端口3的流量,再更新聚合组1的成员。后续网络设备A在完成Standby状态的切换后,将端口3的端口状态由Standby状态切换为故障(Down)状态。需要说明的是,上述网络设备B将端口9的端口状态切换为Standby状态的处理过程与网络设备A将端口3的端口状态切换为Standby状态的处理过程相同,在此不再赘述。在上述处理过程中,网络设备A在将端口3的端口状态切换为Standby状态时,如果先更新聚合组1的成员,再阻塞端口3的流量,由于阻塞流量需要一定的时间,在这段时间内,端口3是独立端口(即不是聚合组1的成员),聚合组1的成员只有端口1和端口2,对于芯片1收到的目的为聚合组1的广播流量,除了通过端口1或端口2将流量发送给芯片2外,还会复制一份通过端口3发送给芯片2,即出现多份相同的流量给芯片2。进一步的,假设芯片1从端口1收到来自芯片2的广播流量,还会从端口3将流量发送给芯片2,即流量出现环路。如果先阻塞端口3的流量,再更新聚合组1的成员,那么,在完成更新操作之前,聚合组1的成员仍为端口1、端口2和端口3,对于芯片1收到目的为聚合组1的流量,如果经过hash后需要通过端口3发送,但端口3已被阻塞,无法发送流量,这就导致流量丢失。网络设备A将端口3的端口状态切换为Down状态后,如果需要将端口3的端口状态由Down状态切换为Forwarding状态,在将端口3的端口状态由Down状态切换为Standby状态阶段,不打开之前阻塞的端口3,在将端口3的端口状态由Standby状态切换为Forwarding状态阶段,才打开之前阻塞的端口3,这样仍然存在流量丢失的情况。
技术实现思路
本专利技术实施例提供一种聚合端口的代理方法,包括:第一网络设备在收到第二网络设备发送的已完成Standby状态切换的通知消息时,将与所述第二网络设备上已完成Standby状态切换的聚合端口连接的聚合端口确定为第一被代理端口,将所述第一被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第一代理端口;将所述聚合组转发表中的所述第一被代理端口更新为所述第一代理端口,并在收到目的为所述聚合组的流量时,依据更新后的聚合组转发表进行转发。在所述第二网络设备上已完成Standby状态切换的聚合端口的端口状态是由Forwarding状态切换为Standby状态时,所述通知消息为第二网络设备在接收到所述第一网络设备需要将所述第一被代理端口的端口状态由Forwarding状态切换为Standby状态时发送的切换通知消息后,将与所述第一被代理端口连接的聚合端口确定为第二被代理端口,将所述第二被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第二代理端口,并将对应的聚合组转发表中的所述第二被代理端口更新为所述第二代理端口后发送的。在所述第二网络设备上已完成Standby状态切换的聚合端口的端口状态是由Forwarding状态切换为Standby状态时,所述方法还包括:所述第一网络设备在将所述聚合组转发表中的所述第一被代理端口更新为所述第一代理端口之后,阻塞所述第一被代理端口;其中,所述通知消息为第二网络设备在接收到所述第一网络设备需要将所述第一被代理端口的端口状态由Forwarding状态切换为Standby状态时发送的切换通知消息后,将与所述第一被代理端口连接的聚合端口确定为第二被代理端口,将所述第二被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第二代理端口,并将对应的聚合组转发表中的所述第二被代理端口更新为所述第二代理端口,且阻塞所述第二被代理端口后发送的。在所述第二网络设备上已完成Standby状态切换的聚合端口的端口状态是由Down状态切换为Standby状态时,所述方法还包括:所述第一网络设备在将所述聚合组转发表中的所述第一被代理端口更新为所述第一代理端口之后,打开所述第一被代理端口;其中,所述通知消息为第二网络设备在接收到所述第一网络设备需要将所述第一被代理端口的端口状态由Down状态切换为Standby状态时发送的切换通知消息后,将与所述第一被代理端口连接的聚合端口确定为第二被代理端口,将所述第二被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第二代理端口,并将对应的聚合组转发表中的所述第二被代理端口更新为所述第二代理端口,且打开所述第二被代理端口后发送的。所述第一网络设备将所述第一被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第一代理端口,具体包括:所述第一网络设备根据所述第一被代理端口所在的聚合组的BasePtr和聚合组成员数量,查询本地的聚合组转发表,得到所述第一被代理端口所在的聚合组对应的聚合组转发表;从对应的聚合组转发表中的所有端口中选择任一除所述第一被代理端口之外的其它聚合端口作为第一代理端口。本专利技术实施例提供一种网络设备,作为网络中的第一网络设备,所述第一网络设备具体包括:确定模块,用于在收到第二网络设备发送的已完成Standby状态切换的通知消息时,将与所述第二网络设备上已完成Standby状态切换的聚本文档来自技高网
...

【技术保护点】
一种聚合端口的代理方法,其特征在于,包括:第一网络设备在收到第二网络设备发送的已完成准备Standby状态切换的通知消息时,将与所述第二网络设备上已完成Standby状态切换的聚合端口连接的聚合端口确定为第一被代理端口,将所述第一被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第一代理端口;将所述聚合组转发表中的所述第一被代理端口更新为所述第一代理端口,并在收到目的为所述聚合组的流量时,依据更新后的聚合组转发表进行转发。

【技术特征摘要】
1.一种聚合端口的代理方法,其特征在于,包括:第一网络设备在收到第二网络设备发送的已完成准备Standby状态切换的通知消息时,将与所述第二网络设备上已完成Standby状态切换的聚合端口连接的聚合端口确定为第一被代理端口,将所述第一被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第一代理端口;将所述聚合组转发表中的所述第一被代理端口更新为所述第一代理端口,并在收到目的为所述聚合组的流量时,依据更新后的聚合组转发表进行转发;其中,在所述第二网络设备上已完成Standby状态切换的聚合端口的端口状态是由转发Forwarding状态切换为Standby状态时,所述通知消息为第二网络设备在接收到所述第一网络设备需要将所述第一被代理端口的端口状态由Forwarding状态切换为Standby状态时发送的切换通知消息后,将与所述第一被代理端口连接的聚合端口确定为第二被代理端口,将所述第二被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第二代理端口,并将对应的聚合组转发表中的所述第二被代理端口更新为所述第二代理端口后发送的。2.如权利要求1所述的方法,其特征在于,在所述第二网络设备上已完成Standby状态切换的聚合端口的端口状态是由ForWarding状态切换为Standby状态时,所述方法还包括:所述第一网络设备在将所述聚合组转发表中的所述第一被代理端口更新为所述第一代理端口之后,阻塞所述第一被代理端口;其中,所述通知消息为第二网络设备在接收到所述第一网络设备需要将所述第一被代理端口的端口状态由Forwarding状态切换为Standby状态时发送的切换通知消息后,将与所述第一被代理端口连接的聚合端口确定为第二被代理端口,将所述第二被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第二代理端口,并将对应的聚合组转发表中的所述第二被代理端口更新为所述第二代理端口,且阻塞所述第二被代理端口后发送的。3.如权利要求1所述的方法,其特征在于,在所述第二网络设备上已完成Standby状态切换的聚合端口的端口状态是由故障Down状态切换为Standby状态时,所述方法还包括:所述第一网络设备在将所述聚合组转发表中的所述第一被代理端口更新为所述第一代理端口之后,打开所述第一被代理端口;其中,所述通知消息为第二网络设备在接收到所述第一网络设备需要将所述第一被代理端口的端口状态由Down状态切换为Standby状态时发送的切换通知消息后,将与所述第一被代理端口连接的聚合端口确定为第二被代理端口,将所述第二被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第二代理端口,并将对应的聚合组转发表中的所述第二被代理端口更新为所述第二代理端口,且打开所述第二被代理端口后发送的。4.如权利要求1所述的方法,其特征在于,所述第一网络设备将所述第一被代理端口所在的聚合组对应的聚合组转发表中的任一其它聚合端口确定为第一代理端口,具体包括:所述第一网络设备根据所述第一被代理端口所在的聚合组的基指针BasePtr和聚合组成员数量,查询本地的聚合组转发表,得到所述第一被代理端口所在的聚合组对应的聚合组转发表;从对应的聚合组转发表中的所有端口中选择任一除所述第一被代理端口之外的其它聚合端口作为第一代理端口。5.一种网络设备,作为网络中的第一网络...

【专利技术属性】
技术研发人员:马长伟祁正林
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1