一种流量拥塞控制方法、装置及系统与流程
- 国知局
- 2024-09-05 14:49:48
本技术涉及计算机,尤其涉及一种流量拥塞控制方法、装置及系统。
背景技术:
1、目前业界以太网融合rdma技术rocev2保障无损网络的基础技术为基于优先级的流量控制pfc技术,通过停止拥塞来源的流量而缓解拥塞。在以太网链路中,第一设备向第二设备发送数据,当第二设备转发能力不足时,会导致链路中某一优先级的报文发送速率超过第二设备的接收速率,进而导致第二设备的缓存空间不足,在缓存空间低于阈值时,第二设备会通过pfc暂停帧(pfc pause帧)反馈给第一设备,第一设备收到pfc pause帧后,会立即停止数据发送。第一设备后续再接收到数据后,将数据缓存在本地,但随着停止发送的时间累计,第一设备本地缓存空间也终会被消耗,缓存空间低于阈值,由此会继续向第一设备的上游设备(第三设备)发送pfc pause帧进行反压,如此一跳跳反压,直到发送端服务器收到pfc pause帧后停止发送数据,进而一跳跳解除限制,网络中的拥塞才得以解除。
2、pfc技术直接停止上游流量,会导致一些任务超时,因此业界普遍将其和显示拥塞通知ecn技术结合使用。
3、ecn技术为端到端的拥塞控制技术,可在pfc触发前,让发送端服务器降低发送速率缓解网络中的拥塞。当第二设备监测到流量拥塞时,第二设备向接收端服务器发送携带流量拥塞标记的报文。当接收端服务器收到第二设备发送的携带流量拥塞标记的报文后,即知道传输链路中发生了拥塞,产生cnp拥塞通知报文,并将该报文发送至发送端服务器。当发送端服务器收到cnp报文后,通过降低相应的数据流发送速率,以缓解网络中的拥塞情况,因此,通过ecn端到端的提前拥塞流量调控手段,减少网络中pfc触发的次数。
4、但是,由于网络已经发生拥塞,ecn技术对应的cnp拥塞通知报文转发至接收端服务器的时间大大增加,进而会触发pfc。而且,由于网络的冗余性,接收端服务器发送的拥塞通知报文cnp可能从另一条发生拥塞的路径转发至发送端服务器,进而导致发送端服务器无法及时降低发送速率,也无法优化pfc的触发。
5、因此,如何有效地控制流量拥塞,有待解决。
技术实现思路
1、本技术提供一种流量拥塞控制方法、装置及系统,能够有效地控制流量拥塞。
2、第一方面,本技术实施例提供一种流量拥塞控制方法,该方法可以由流量拥塞控制装置执行,该流量拥塞控制装置可以是一个路由设备或用于路由设备的模块,或者是一个交换机或用于交换机的模块。本技术对该方法的执行主体不做限定。该方法包括:第一设备接收到第二设备发送的流量拥塞指示信息后,停止向所述第二设备发送数据;其中,所述第二设备是所述第一设备的下游设备;所述流量拥塞指示信息为基于优先级的流量控制pfc暂停帧;所述第一设备确定与所述第二设备存在流量传输的至少一个第三设备;所述第三设备为所述第一设备的上游设备;所述第一设备向所述至少一个第三设备发送第一双向转发监测bfd报文,所述第一bfd报文携带有用于请求与第三设备断开bfd会话的指示信息;所述第一设备接收到所述至少一个第三设备发送的第二bfd报文后,断开与所述至少一个第三设备的bfd会话;所述第二bfd报文携带有用于指示第三设备同意与所述第一设备断开bfd会话的指示信息。
3、上述方案,当第一设备接收到第二设备发送的流量拥塞指示信息后,确定第一设备与第二设备之间的链路发生了流量拥塞;此时,第一设备立即向第一设备对应的多个上游设备发送第一bfd报文,断开与多个上游设备的bfd会话,基于动态路由协议,上游设备也即第三设备会重新选择数据传输的路由路径,将数据经重新选择的路由路径转发至第二设备。因此,及时规避了原拥塞链路,无需等待pfc报文传递至发送端服务器,等待发送端服务器停止流量传输;能够将pfc pause帧终止在第一跳,快速更新流量路径以调控链路的拥塞情况。
4、一种可能的实现方法中,所述第一设备向n-1个第三设备分别发送所述第一bfd报文;其中,与所述第二设备存在流量传输的第三设备为n个,n为大于等于2的整数。
5、上述方案,第一设备存在n个上游设备,只断开与n-1个上游设备的bfd会话,剩余1条流按原路径依然可以保持单条流的传输,这样既可以保证第一设备与第二设备之间不会发生流量拥塞,又可以使第一设备不处于隔离状态,提高了网络传输的效率。
6、一种可能的实现方法中,停止向所述n-1个第三设备发送bfd hello报文,并启动第一计时器;在所述第一计时器计时结束后,向所述n-1个第三设备发送所述bfd hello报文,分别建立与所述n-1个第三设备的bfd会话。
7、上述方案,一段时间后,重新建立第一设备与n-1个第三设备之间的bfd会话,基于动态路由协议,中断的链路恢复,第一设备与n-1个第三设备之间的链路会被加入到多链路负载分担组中,n-1个第三设备仍可以将数据转发至第一设备,经由第一设备转发给第二设备。
8、一种可能的实现方法中,所述第一设备设置bfd报文的diag字段为第一值,从而生成所述第一bfd报文。
9、上述方案,通过新定义bfd报文的diag字段,使其能够适应基于收到pfc报文产生对应的带标记的bfd报文,进而可以通过bfd会话状态联动的动态路由协议,调整网络设备的ecmp选路的重新计算。
10、第二方面,本技术实施例提供一种流量拥塞控制方法,该方法可以由流量拥塞控制装置执行,该流量拥塞控制装置可以是一个路由设备或用于路由设备的模块,或者是一个交换机或用于交换机的模块。本技术对该方法的执行主体不做限定。该方法包括:第三设备接收到第一设备发送的第一双向转发监测bfd报文;其中,所述第一bfd报文是所述第一设备接收到第二设备基于优先级的流量控制pfc暂停帧后,向所述第三设备发送的报文;所述第二设备是所述第一设备的下游设备;所述第三设备为所述第一设备的上游设备且与所述第二设备之间存在流量传输;所述第一bfd报文携带有用于请求与所述第三设备断开bfd会话的指示信息;所述第三设备向所述第一设备发送第二bfd报文,所述第二bfd报文携带有用于指示所述第三设备同意与所述第一设备断开bfd会话的指示信息;所述第三设备从路由转发表中撤销与所述第一设备的路由信息,并基于重新计算路由,确定出第四设备;所述第四设备是所述第三设备的下游设备,且所述第四设备是所述第二设备的上游设备;所述第三设备经所述第四设备与所述第二设备进行流量传输。
11、上述方案,当第一设备接收到第二设备发送的流量拥塞指示信息后,确定第一设备与第二设备之间的链路发生了流量拥塞;此时,第一设备立即向第一设备对应的多个上游设备发送第一bfd报文,断开与多个上游设备的bfd会话,基于动态路由协议,上游设备也即第三设备会从路由转发表中撤销与第一设备的路由信息,并基于重新计算路由,确定出第四设备,第三设备经第四设备与第二设备进行流量传输。因此,及时规避了原拥塞链路,无需等待pfc报文传递至发送端服务器,等待发送端服务器停止流量传输;能够将pfcpause帧终止在第一跳,快速更新流量路径以调控链路的拥塞情况。
12、一种可能的实现方法中,所述第三设备停止向所述第一设备发送bfd hello报文,并启动第二计时器;在所述第二计时器计时结束后,向所述第一设备发送bfd hello报文,建立与所述第一设备的bfd会话;所述第三设备在所述路由转发表中增加与所述第一设备的路由信息。
13、上述方案,一段时间后,重新建立第一设备与第三设备之间的bfd会话,基于动态路由协议,中断的链路恢复,第一设备与第三设备之间的链路会被加入到多链路负载分担组中,第三设备仍可以将数据转发至第一设备,经由第一设备转发给第二设备。
14、一种可能的实现方法中,所述第三设备设置bfd报文的diag字段为第二值,从而生成所述第二bfd报文。
15、上述方案,通过新定义bfd报文的diag字段,使其能够适应基于收到pfc报文产生对应的带标记的bfd报文,进而可以通过bfd会话状态联动的动态路由协议,调整网络设备的ecmp选路的重新计算。
16、第三方面,本技术实施例提供一种流量拥塞控制装置,应用于第一设备,所述第一设备包含于流量拥塞控制系统,所述流量拥塞控制系统还包括第二设备和第三设备,所述第二设备是所述第一设备的下游设备,所述第三设备为所述第一设备的上游设备,所述第一设备包括:收发单元和处理单元。收发单元,用于接收到所述第二设备发送的流量拥塞指示信息后,停止向所述第二设备发送数据;其中,所述流量拥塞指示信息为基于优先级的流量控制pfc暂停帧;向所述至少一个第三设备发送第一双向转发监测bfd报文,所述第一bfd报文携带有用于请求与第三设备断开bfd会话的指示信息;接收到所述至少一个第三设备发送的第二bfd报文后,断开与所述至少一个第三设备的bfd会话;所述第二bfd报文携带有用于指示第三设备同意与所述第一设备断开bfd会话的指示信息;处理单元,用于确定与所述第二设备存在流量传输的至少一个第三设备。
17、一种可能的实现方法中,收发单元,用于向n-1个第三设备分别发送所述第一bfd报文;其中,与所述第二设备存在流量传输的第三设备为n个,n为大于等于2的整数。
18、一种可能的实现方法中,收发单元,用于停止向所述n-1个第三设备发送bfdhello报文,并启动第一计时器;在所述第一计时器计时结束后,向所述n-1个第三设备发送所述bfd hello报文,分别建立与所述n-1个第三设备的bfd会话。
19、一种可能的实现方法中,处理单元,用于所述第一设备设置bfd报文的diag字段为第一值,从而生成所述第一bfd报文。
20、第四方面,本技术实施例提供一种流量拥塞控制装置,应用于第三设备,所述第三设备包含于流量拥塞控制系统,所述流量拥塞控制系统还包括第一设备和第二设备,所述第二设备是所述第一设备的下游设备,所述第三设备为所述第一设备的上游设备,所述第三设备包括:收发单元和处理单元。收发单元,用于接收到第一设备发送的第一双向转发监测bfd报文;其中,所述第一bfd报文是所述第一设备接收到第二设备基于优先级的流量控制pfc暂停帧后,向所述第三设备发送的报文;所述第二设备是所述第一设备的下游设备;所述第三设备为所述第一设备的上游设备且与所述第二设备之间存在流量传输;所述第一bfd报文携带有用于请求与所述第三设备断开bfd会话的指示信息;向所述第一设备发送第二bfd报文,所述第二bfd报文携带有用于指示所述第三设备同意与所述第一设备断开bfd会话的指示信息;处理单元,用于从路由转发表中撤销与所述第一设备的路由信息,并基于重新计算路由,确定出第四设备;所述第四设备是所述第三设备的下游设备,且所述第四设备是所述第二设备的上游设备;所述第三设备经所述第四设备与所述第二设备进行流量传输。
21、一种可能的实现方法中,收发单元,用于停止向所述第一设备发送bfd hello报文,并启动第二计时器;在所述第二计时器计时结束后,向所述第一设备发送bfd hello报文,建立与所述第一设备的bfd会话;所述第三设备在所述路由转发表中增加与所述第一设备的路由信息。
22、一种可能的实现方法中,处理单元,用于设置bfd报文的diag字段为第二值,从而生成所述第二bfd报文。
23、第五方面,本技术实施例还提供一种计算设备,包括:
24、存储器,用于存储程序指令;
25、处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行实现上述第一方面的任意方法,或上述第二方面的任意方法。
26、第六方面,本技术实施例还提供一种计算机可读存储介质,其中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,实现上述第一方面的任意方法,或上述第二方面的任意方法。
27、第七方面,本技术实施例提供了一种计算机程序产品,包括有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行实现上述第一方面的任意方法或上述第二方面的任意方法。
28、第八方面,本技术实施例提供了一种流量拥塞控制系统,所述流量拥塞控制系统包括用于执行上述第一方面任意方法的第一设备,和用于执行上述第二方面任意方法的第三设备。
本文地址:https://www.jishuxx.com/zhuanli/20240905/288358.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表