拥塞控制方法及相关设备技术

技术编号:23404567 阅读:17 留言:0更新日期:2020-02-22 16:29
本申请实施例公开了一种拥塞控制方法及相关设备。传输控制协议卸载引擎TOE向中央处理器CPU发送拥塞控制通知,该拥塞控制通知指示该CPU获取目标参数,该目标参数用于该CPU生成拥塞控制计算结果;该TOE获取该CPU返回的该拥塞控制计算结果,其中,该拥塞控制计算结果包括拥塞控制窗口值;该TOE根据该拥塞控制窗口值发送报文。本申请由TOE和CPU共同实现拥塞控制。当出现新型拥塞控制算法时,可以不改变TOE的结构而应用该新的拥塞算法,因此,本申请能够缩短拥塞控制算法的升级周期,提高灵活性。

Congestion control method and related equipment

【技术实现步骤摘要】
拥塞控制方法及相关设备
本申请涉及计算机通信领域,尤其涉及一种拥塞控制方法及相关设备。
技术介绍
目前互联网采用的是报文交换网络,为了防止网络拥塞,目前提出了一系列基于传输控制协议(TransmissionControlProtocol,TCP)的拥塞控制算法。不同的算法有自己的优化特性、适应环境和优缺点。目前尚未发现一个拥塞控制算法可以覆盖所有场景,同时新型的拥塞控制算法也在不断出现。为了提高拥塞控制的效率,传输控制协议卸载引擎(TCPoffloadengine,TOE)将拥塞控制算法固化到硬件上。即在发送报文的过程中,根据硬件TOE中固化的拥塞控制算法控制报文发送的速率。但由于硬件开发周期长,当出现新的拥塞控制算法时,需要较长时间才能生产出支持新型拥塞控制算法的硬件TOE,因此,现有的拥塞控制方案升级周期长,灵活性差。
技术实现思路
本申请提供了一种拥塞控制方法及相关设备,用于当出现新型拥塞控制算法时,可以迅速的实现拥塞控制算法的升级,以缩短拥塞控制算法的升级周期,提高灵活性。第一方面,本申请实施例提供了一种拥塞控制方法。当传输控制协议卸载引擎TOE接收到确认ACK报文后,可以向中央处理器CPU发送拥塞控制通知,该拥塞控制通知指示该CPU获取目标参数,该目标参数用于该CPU生成拥塞控制计算结果。该TOE获取该CPU返回的该拥塞控制计算结果,其中,该拥塞控制计算结果包括拥塞控制窗口值,该拥塞控制计算结果还可以包括报文发送速率。由于该拥塞控制计算结果包括拥塞控制窗口值,该TOE可以根据该拥塞控制窗口值确定发送报文的负荷长度,若该拥塞控制计算结果还包括报文发送速率,则该TOE还可以根据该报文发送速率调整发送两个相邻报文之间的时间间隔,该TOE根据该负荷长度和时间间隔发送报文。本申请中,TOE向CPU发送拥塞控制通知,,并接收CPU根据该拥塞控制通知生成的拥塞控制计算结果,其中,拥塞控制计算结果包括拥塞控制窗口值。该TOE根据该拥塞控制窗口值调整待发送报文的实际长度。本方案中由CPU计算生成拥塞控制窗口值,也即拥塞控制算法运行于软件上,由于软件更新速度快,当出现新型拥塞控制算法时,可迅速实现拥塞控制算法的升级,提高了拥塞控制算法更新的灵活性;而且,在得到拥塞控制窗口值后,由硬件TOE调整待发送报文的实际长度,由于硬件的处理速度快,提高了整个拥塞控制过程的效率。可选地,当该TOE接收到确认ACK报文后,可以确定该ACK报文归属的目标TCP连接,由于目标参数为对目标TCP连接进行拥塞控制算法计算时所必须的参数,该TOE获取与该目标TCP连接对应的目标传输控制块TCB,也即获取到了与该目标参数对应的该目标TCB,该目标TCB包含该报文接收和发送过程中所产生的参数,其中,该目标TCB包含第一标志位,该第一标志位用于指示是否需要该CPU参与拥塞控制。若该第一标志位指示需要该CPU参与拥塞控制,则该TOE向该CPU发送该拥塞控制通知。本实施方式中,硬件TOE上已经固化了部分拥塞控制算法,软件CPU上也配置有另一部分拥塞控制算法,本申请中可以根据硬件TOE和软件CPU上实际配置的拥塞控制算法的情况来决定是否需要CPU参与拥塞控制,从而避免了已经固化到硬件TOE上的部分拥塞控制算法的浪费,又可以实现采用最优的拥塞控制算法进行拥塞计算。可选地,该拥塞控制通知用于供该CPU获取与该目标参数对应的目标TCB,并从该目标TCB中提取该目标参数。本实施方式中,由于拥塞控制算法处于不断更新升级中,CPU进行拥塞控制计算所需要的目标参数可能不断发生变化,本申请中TOE不需要考虑目标参数的变更,仅需将与目标参数对应的整个目标TCB传递给CPU,由CPU从目标TCB中获取所需的目标参数,简化了硬件TOE的执行逻辑。可选地,该TOE向中央处理器CPU发送拥塞控制通知,包括:由于该TOE维护有包含目标参数的目标TCB,该TOE可以在确定该目标TCB所在的存储空间之后,向该CPU发送第一POE消息,该第一POE消息用于指示该CPU进行拥塞控制计算,该第一POE消息包含该目标TCB的存储空间的第一首地址,该第一首地址用于供该CPU读取该目标TCB,以获得该目标TCB中包含的该目标参数。本实施方式中,向该CPU发送的第一POE消息中仅需要携带有目标TCB的存储空间的第一首地址,由CPU根据该第一首地址直接读取目标TCB,从而避免了TOE读取目标TCB后再拷贝到第一POE消息的过程,减少了TOE的工作量。可选地,该TOE向中央处理器CPU发送拥塞控制通知,包括:由于该TOE维护有包含目标参数的目标TCB,该TOE可以读取该目标TCB,并向该CPU发送第二POE消息,该第二POE消息用于指示该CPU进行拥塞控制计算,该第二POE消息中携带有该目标TCB,该目标TCB包括该目标参数,以使该CPU从该第二POE消息携带的该目标TCB中获取该目标参数。本实施方式中,第二POE消息中直接携带有目标TCB,由硬件TOE到目标TCB的存储空间中读取到目标TCB后,直接告知CPU,由于硬件处理速度快,可以提高拥塞控制过程的处理效率。可选地,该拥塞控制通知用于供该CPU仅获取该目标参数。本实施方式中,TOE发送的拥塞控制通知用于供CPU仅获取目标参数,也即仅获取进行拥塞控制计算所必须的参数,减少了该拥塞控制通知的长度,降低了CPU进行内存访问的带宽。可选地,该TOE向中央处理器CPU发送拥塞控制通知,包括:由于该TOE维护有包含目标参数的目标TCB,该TOE可以在遍历目标TCB之后,确定该目标参数所占用的存储空间,该TOE向该CPU发送第三POE消息,该第三POE消息用于指示该CPU进行拥塞控制计算,其中,该第三POE消息包含该目标参数的存储空间的第二首地址,该第二首地址用于供该CPU获取该目标参数。本实施方式中,将目标参数的存储空间的第二首地址发送给CPU,由CPU根据第二首地址直接内存读取目标参数,节省了TOE读取和拷贝目标参数的步骤,减少了TOE的工作量。可选地,该TOE向中央处理器CPU发送拥塞控制通知,包括:由于该TOE维护有包含目标参数的目标TCB,该TOE可以在读取该目标TCB中包含的目标参数,该TOE可以向该CPU发送第四POE消息,该第四POE消息用于指示该CPU进行拥塞控制计算,其中,该第四POE消息中携带有该目标参数。本实施方式中,向CPU发送的第四POE消息中直接携带有该目标参数,则CPU可以在接接收到第四POE消息后直接进行拥塞控制算法计算,提高了本方案的可行性。可选地,该目标TCB还包含第二标志位和该目标参数;若该第二标志位指示将该目标TCB传送给该CPU,该拥塞控制通知包括第五POE消息,该第五POE消息用于供该CPU获取该目标TCB,并从该目标TCB中提取该目标参数。若该第二标志位指示仅将该目标参数传送给该CPU,该拥塞控制通知包括第六本文档来自技高网...

【技术保护点】
1.一种拥塞控制方法,其特征在于,所述方法包括:/n传输控制协议卸载引擎TOE向中央处理器CPU发送拥塞控制通知,所述拥塞控制通知指示所述CPU获取目标参数,所述目标参数用于所述CPU生成拥塞控制计算结果;/n所述TOE获取所述CPU返回的所述拥塞控制计算结果,其中,所述拥塞控制计算结果包括拥塞控制窗口值;/n所述TOE根据所述拥塞控制窗口值发送报文。/n

【技术特征摘要】
1.一种拥塞控制方法,其特征在于,所述方法包括:
传输控制协议卸载引擎TOE向中央处理器CPU发送拥塞控制通知,所述拥塞控制通知指示所述CPU获取目标参数,所述目标参数用于所述CPU生成拥塞控制计算结果;
所述TOE获取所述CPU返回的所述拥塞控制计算结果,其中,所述拥塞控制计算结果包括拥塞控制窗口值;
所述TOE根据所述拥塞控制窗口值发送报文。


2.根据权利要求1所述的方法,其特征在于,所述TOE向中央处理器CPU发送拥塞控制通知之前,所述方法还包括:
所述TOE获取与所述目标参数对应的目标传输控制块TCB,所述目标TCB包含所述报文接收和发送过程中所产生的参数,所述目标TCB包含第一标志位;
所述TOE向中央处理器CPU发送拥塞控制通知,包括:
若所述第一标志位指示需要所述CPU参与拥塞控制,则所述TOE向所述CPU发送所述拥塞控制通知。


3.根据权利要求2所述的方法,其特征在于,所述TOE向中央处理器CPU发送拥塞控制通知,包括:
所述TOE向所述CPU发送第一消息,所述第一消息用于指示所述CPU进行拥塞控制计算,所述第一消息包含所述目标TCB的存储空间的第一首地址,所述第一首地址用于供所述CPU读取所述目标TCB,以获得所述目标TCB中包含的所述目标参数。


4.根据权利要求2所述的方法,其特征在于,所述TOE向中央处理器CPU发送拥塞控制通知,包括:
所述TOE向所述CPU发送第二消息,所述第二消息用于指示所述CPU进行拥塞控制计算,所述第二消息中携带有所述目标TCB,所述目标TCB包括所述目标参数,以使所述CPU从所述第二消息携带的所述目标TCB中获取所述目标参数。


5.根据权利要求1或2所述的方法,其特征在于,所述TOE向中央处理器CPU发送拥塞控制通知,包括:
所述TOE向所述CPU发送第三消息,所述第三消息用于指示所述CPU进行拥塞控制计算,其中,所述第三消息包含所述目标参数的存储空间的第二首地址,所述第二首地址用于供所述CPU获取所述目标参数。


6.根据权利要求1或2所述的方法,其特征在于,所述TOE向中央处理器CPU发送拥塞控制通知,包括:
所述TOE向所述CPU发送第四消息,所述第四消息用于指示所述CPU进行拥塞控制计算,其中,所述第四消息中携带有所述目标参数。


7.根据权利要求2所述的方法,其特征在于,所述目标TCB还包含第二标志位和所述目标参数;
若所述第二标志位指示将所述目标TCB传送给所述CPU,所述拥塞控制通知包括第五消息,所述第五消息用于供所述CPU获取所述目标TCB,并从所述目标TCB中提取所述目标参数;
若所述第二标志位指示仅将所述目标参数传送给所述CPU,所述拥塞控制通知包括第六消息,所述第六消息用于供所述CPU仅获取所述目标参数。


8.根据权利要求2所述的方法,其特征在于,所述TOE获取所述CPU返回的拥塞控制计算结果,包括:
所述TOE接收所述CPU返回的第七消息,所述第七消息中携带有所述拥塞控制计算结果;

所述TOE接收所述CPU返回的第八消息,所述第八消息用于指示所述拥塞控制计算结果已被所述CPU写入到所述目标TCB中;
所述TOE从所述目标TCB中读取所述拥塞控制计算结果;

所述TOE接收所述CPU返回的第九消息,所述第九消息包含所述拥塞控制计算结果的存储位置的第三首地址;
所述TOE以所述第三首地址作为起始位置读取所述拥塞控制计算结果。


9.一种传输控制协议卸载引擎TOE,其特征在于,所述TOE包括:
处理器、存储器第一接口以及第二接口;
所述处理器用于通过所述第一接口向中央处理器CPU发送拥塞控制通知,所述拥塞控制通知指示所述CPU获取目标参数,所述目标参数用于所述CPU生成拥塞控制计算结果;
所述处理器用于通过所述第一接口获取所述CPU返回的所述拥塞控制计算结果,其中,所述拥塞控制计算结果包括拥塞...

【专利技术属性】
技术研发人员:韩艳飞吴振宇杨荣陈杰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1