本申请涉及以太网,尤其涉及一种pfc报文的处理方法、电子设备及存储介质。
背景技术:
1、在传统的以太网中,当下游网络设备发现接收能力小于上游设备的发送能力时,会主动发pause帧给上游网络设备,以要求暂停发送数据。pfc(priority-base flowcontrol,基于优先级的流量控制)是对pause机制的一种增强。pfc允许在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道制定一个优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过,这一方法使网络能够为单个虚拟链路创建零丢包类别的服务,使其能够与同一接口上的其它流量类型共存。
2、pfc虽然能够调控网络流量,但存在死锁问题。pfc死锁是指成环路的多个网络设备如果都通过pfc报文进行流量控制,则会导致环路中每个网络设备都暂停流量发送而引起数据永久阻塞的一种网络状态。
3、pfc死锁会严重影响网络吞吐而最终导致发生系统性风险。为此,如何避免网络环路所引起的pfc死锁是当前亟需攻克的技术问题。
技术实现思路
1、本申请目的是提供一种pfc报文的处理方法、电子设备及存储介质,能够避免网络环路引起pfc死锁的问题。
2、为了实现上述目的,本申请实施例是这样实现的:
3、第一方面,提供一种基于优先级的流量控制pfc报文的处理方法,包括:
4、接收下游网络设备所发送的第一pfc报文;
5、在本地mac地址与所述第一pfc报文的源mac地址一致的情况下,丢弃所述第一pfc报文;在所述本地mac地址与所述第一pfc报文的源mac地址不一致的情况下,对所述第一pfc报文的源mac地址进行缓存;
6、在本地触发pfc报文的发送机制时,基于预设的mac地址选择规则从所述本地mac地址和已缓存的mac地址中选取最匹配的一者作为所述第二pfc报文的源mac地址,并向上游网路设备发送所述第二pfc报文。
7、第二方面,本申请实施例提供了一种电子设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行第一方面所述的方法。
8、第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现第一方面所述的方法。
9、基于本申请的方案,网络设备对下游接收到的pfc报文的源mac地址进行缓存,并按照mac地址选择规则从本地mac地址和已缓存的mac地址中选取最匹配的一者作为源mac地址向上游发送pfc报文,使得当pfc报文的传输路径形成环路时,其中一个网络设备最终能够接收到源mac地址为本地mac地址的pfc报文并主动进行丢弃,从而保证流量继继续向下游传输,以避免环路中所有网络设备均暂停发送数据而出现pfc死锁的现象。
1.一种基于优先级的流量控制pfc报文的处理方法,应用网络设备,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求3所述的方法,其特征在于,还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
7.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
8.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
9.一种电子设备,包括处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行如权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如权利要求1-8任一项所述的方法。