System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信,具体而言,涉及一种拥塞控制方法及网络设备。
技术介绍
1、roce(rdma over converged ethernet,基于聚合以太网的rdma技术),允许在不依赖无线带宽(infiniband)专用硬件的情况下使用rdma。rocev2存储网络,即存储设备与终端服务器间通过rocev2以太网进行通信,来实现数据存储和读取的网络。其能够解决传统数据中心前端业务网采用以太网、计算网采用ib网、存储网采用fc网的异构模式,打破数据孤岛,加速数据流动。
2、在rocev2存储网络中,当网络设备(即交换机)发生拥塞时,由终端服务器或存储设备向对端反馈拥塞,以降低发包速率。然而,这种拥塞反馈机制耗时较长,使得源端不能及时进行响应调节发送速率,导致网络设备的拥塞进一步恶化,进而影响存储网络的i/o性能。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种拥塞控制方法及网络设备,其能够改善因拥塞反馈耗时长导致的网络设备的拥塞进一步恶化的问题,以及提升存储网络的i/o性能。
2、为了实现上述目的,本专利技术实施例采用的技术方案如下:
3、第一方面,本专利技术实施例提供一种拥塞控制方法,应用于网络设备,所述网络设备包括端口、交换芯片和cpu,所述方法包括:
4、实时检测是否有端口存在拥塞队列,若是,则所述交换芯片确定所述端口的空闲队列,基于所述拥塞队列和所述空闲队列,向所述cpu发送dma中断;
5、当所述c
6、所述交换芯片接收到所述转绑规则后,将所述转绑规则中的换绑流表与拥塞队列解绑,并将所述转绑规则中的换绑流表与所述空闲队列绑定;
7、当接收到数据报文时,所述交换芯片刷新所述数据报文的流表的时间戳,并将所述数据报文分配至与所述数据报文的流表绑定的队列,以指示该队列所属的端口进行转发处理。
8、在一种可能的实施方式中,在所述方法还包括创建流表的步骤,该步骤包括:
9、接收到任一报文时,判断是否已存在所述报文的流表;
10、若否,则创建所述报文的流表,并将所述报文的流表与目的端口的一个队列绑定。
11、在一种可能的实施方式中,当所述报文为数据报文时,所述创建所述报文的流表,并将所述报文的流表与目的端口的一个队列绑定的步骤,包括:
12、提取所述数据报文的特征信息,以所述特征信息作为标识,创建流表,并将所述流表与所述数据报文的出端口的一个队列绑定;其中,所述特征信息包括源ip、目的ip和目的队列对。
13、在一种可能的实施方式中,当所述报文为数据报文的ack报文时,所述创建所述报文的流表,并将所述报文的流表与目的端口的一个队列绑定的步骤,包括:
14、提取所述ack报文的特征信息;其中,所述特征信息包括源ip、目的ip和目的队列对;
15、将所述源ip和目的ip进行翻转,以所述目的队列对和翻转后的源ip与目的ip作为标识,创建流表,并将所述流表与所述ack报文的入端口的一个队列绑定。
16、在一种可能的实施方式中,所述基于所述拥塞队列和所述空闲队列,向所述cpu发送dma中断的步骤,包括:
17、所述交换芯片获取当前的流表信息,将所述流表信息、所述拥塞队列和所述空闲队列打包成dma中断,将所述dma中断上报至所述cpu;
18、所述从与所述拥塞队列绑定的流表中选择出换绑流表的步骤,包括:
19、所述cpu根据所述流表信息,确定与所述拥塞队列的所属端口绑定的各流表的最新时间戳,将最新时间戳与当前时刻最接近的流表作为换绑流表。
20、在一种可能的实施方式中,所述实时检测是否有端口存在拥塞队列的步骤,包括:
21、实时检测每个端口的各队列的带宽使用率;
22、若队列的带宽使用率大于预设的拥塞阈值,则判定所述队列为拥塞队列,以及所述拥塞队列的所属端口存在拥塞队列。
23、在一种可能的实施方式中,所述交换芯片确定所述端口的空闲队列的步骤,包括:
24、从所述拥塞队列的所属端口的各队列中,确定带宽使用率小于空闲阈值的队列,作为候选队列;
25、从所有所述候选队列中,选择带宽使用率最小的队列作为空闲队列。
26、在一种可能的实施方式中,所述交换芯片确定所述端口的空闲队列的步骤,包括:
27、根据所述带宽使用率,计算所述拥塞队列的所属端口的各队列的空闲率,将空闲率最大的队列作为空闲队列。
28、在一种可能的实施方式中,所述将所述流表与所述数据报文的出端口的一个队列绑定的步骤,包括:
29、对所述数据报文进行识别,得到所述数据报文的优先级;
30、从所述数据报文的出端口的所有队列中,选择优先级与所述数据报文的优先级一致的队列,将所述数据报文的流表与该队列绑定。
31、第二方面,本专利技术实施例提供一种网络设备,包括端口、交换芯片和cpu;
32、所述交换芯片,用于实时检测是否有端口存在拥塞队列,若是,则确定所述端口的空闲队列,基于所述拥塞队列和所述空闲队列,向所述cpu发送dma中断;
33、所述cpu,用于当接收到所述dma中断时,从与所述拥塞队列绑定的流表中选择出换绑流表,将所述换绑流表、所述拥塞队列和所述空闲队列打包成转绑规则下发至所述交换芯片;
34、所述交换芯片,还用于接收到所述转绑规则后,将所述转绑规则中的换绑流表与拥塞队列解绑,并将所述转绑规则中的换绑流表与所述空闲队列绑定;
35、所述交换芯片,还用于当接收到数据报文时,刷新所述数据报文的流表的时间戳,并将所述数据报文分配至与所述数据报文的流表绑定的队列,以指示该队列所属的端口进行转发处理。
36、第三方面,本专利技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以如第一方面中任一种可能的实施方式所述的拥塞控制方法。
37、第四方面,本专利技术实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一种可能的实施方式所述的拥塞控制方法。
38、本专利技术实施例提供的拥塞控制方法及网络设备,方法包括:网络设备的交换芯片检测出有端口存在拥塞队列时,确定该端口的空闲队列,基于拥塞队列和空闲队列向cpu发送dma中断;cpu接收到dma中断后,从与拥塞队列绑定的流表中确定换绑流表,并将换绑流表、拥塞队列和空闲队列打包成转绑规则下发至交换芯片;交换芯片接收到转绑规则后,将转绑规则中的换绑流表切换至与空闲队列绑定;当接收到数据报文时,将数据报文分配至与数据报文的流表绑定的队列,以本文档来自技高网...
【技术保护点】
1.一种拥塞控制方法,其特征在于,应用于网络设备,所述网络设备包括端口、交换芯片和CPU,所述方法包括:
2.根据权利要求1所述的拥塞控制方法,其特征在于,在所述方法还包括创建流表的步骤,该步骤包括:
3.根据权利要求2所述的拥塞控制方法,其特征在于,当所述报文为数据报文时,所述创建所述报文的流表,并将所述报文的流表与目的端口的一个队列绑定的步骤,包括:
4.根据权利要求2所述的拥塞控制方法,其特征在于,当所述报文为数据报文的ACK报文时,所述创建所述报文的流表,并将所述报文的流表与目的端口的一个队列绑定的步骤,包括:
5.根据权利要求1至4中任一项所述的拥塞控制方法,其特征在于,所述基于所述拥塞队列和所述空闲队列,向所述CPU发送DMA中断的步骤,包括:
6.根据权利要求1至4中任一项所述的拥塞控制方法,其特征在于,所述实时检测是否有端口存在拥塞队列的步骤,包括:
7.根据权利要求6所述的拥塞控制方法,其特征在于,所述交换芯片确定所述端口的空闲队列的步骤,包括:
8.根据权利要求6所述的拥塞控制
9.根据权利要求3或4所述的拥塞控制方法,其特征在于,所述将所述流表与所述数据报文的出端口的一个队列绑定的步骤,包括:
10.一种网络设备,其特征在于,包括端口、交换芯片和CPU;
...【技术特征摘要】
1.一种拥塞控制方法,其特征在于,应用于网络设备,所述网络设备包括端口、交换芯片和cpu,所述方法包括:
2.根据权利要求1所述的拥塞控制方法,其特征在于,在所述方法还包括创建流表的步骤,该步骤包括:
3.根据权利要求2所述的拥塞控制方法,其特征在于,当所述报文为数据报文时,所述创建所述报文的流表,并将所述报文的流表与目的端口的一个队列绑定的步骤,包括:
4.根据权利要求2所述的拥塞控制方法,其特征在于,当所述报文为数据报文的ack报文时,所述创建所述报文的流表,并将所述报文的流表与目的端口的一个队列绑定的步骤,包括:
5.根据权利要求1至4中任一项所述的拥塞控制方法,其特征在于...
【专利技术属性】
技术研发人员:王俊男,俞秋杰,黄国亮,
申请(专利权)人:苏州盛科通信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。