本技术涉及通信,特别是涉及一种网络速率分配方法及相关设备。
背景技术:
1、随着互联网规模的飞速发展,用户对网络带宽的需求以及对网络的服务质量的要求也日益增长。
2、网络提供服务的能力不仅与网络带宽相关,也与带宽资源的使用方式有关。带宽资源利用率在空间分布上的不均衡导致部分链路出现拥塞,而部分链路空闲,使得全网范围内的带宽使用效率更加低效。在带宽资源一定的情况下,如何优化网络资源分配,提高网络资源的利用率,尽可能地使网络为用户提供更好的服务质量,成为提升网络性能需要解决的重要问题。
3、利用网络效用最大化(network utility maximization,num)的思想进行拥塞控制算法设计和传输协议的设计,是实现网络资源的最优分配的一个主要方法。采用拉格朗日对偶分解算法来解决num问题,可以将全网的效用最大化问题分布式的通过各个网络节点的本地信息来调节源节点的数据发送速率。然而,由于网络中的节点在进行网络分流时存在一定的哈希误差,业务流在网络中的传输速率可能并不等于源节点为该业务流分配的源发送速率,使得求解num问题得到的并非实际上的最优解,无法更好地解决带宽资源分布不均衡带来的带宽资源利用率低的问题。
技术实现思路
1、本技术提供了一种网络速率分配方法及相关设备,以提高网络带宽资源利用率。
2、第一方面提供一种网络速率分配方法。该方法包括:第一设备获取业务流的第一放缩比和第一链路代价,第一放缩比为业务流经过转发路径转发后的第一实际速率与源发送速率的比值,源发送速率为第一设备为业务流分配的发送速率,第一链路代价为转发路径中所有链路的第二链路代价之和;第一设备根据第一放缩比和第一链路代价更新源发送速率。本实施例中,为业务流分配带宽时考虑分配的源发送速率与实际的速率不一致带来的影响,根据业务流的实际速率相对分配的速率的放缩情况和转发路径付出的实际的链路代价求解最优的源发送速率,能够降低网络资源分配实际存在误差导致的网络资源浪费和拥塞的情况,从而更准确、合理地实现网络资源分配,提高网络资源利用率。
3、在一种可能的实现方式中,方法还包括:第一设备向转发路径中的第二设备发送第一报文,第二设备为转发路径的尾节点,第一报文携带源发送速率,以使第二设备根据源发送速率获得第一放缩比;第一设备接收来自第二设备的第二报文,第二报文携带第一放缩比和链路代价信息。链路代价信息可以为转发路径中的各链路的第二链路代价,或者为转发路径中的多个链路的链路代价的累加值。通过主动探测业务流的速率的放缩情况,以及时获取业务流的转发路径实际的第一链路代价,从而根据第一链路代价能够定量地调整业务流分配的源发送速率,能够加快收敛速度,从而准确、快速地对源发送速率进行优化迭代,更快、更好地提高网络资源利用率。
4、在一种可能的实现方式中,方法还包括:第一设备向转发路径中的第三设备发送第三报文,第三设备为转发路径的中间节点,第三报文携带源发送速率,以使第三设备根据源发送速率获得第三设备对应的链路的第二链路代价;第一设备接收经过第三设备转发的第四报文,第四报文携带转发路径中的链路的第二链路代价,或累加的第二链路代价。通过主动探测业务流的转发路径的实际的链路代价,即第二链路代价,从而根据第二链路代价能够定量地调整业务流分配的源发送速率,能够加快收敛速度,从而准确、快速地对源发送速率进行优化迭代,更快、更好地提高网络资源利用率。
5、在一种可能的实现方式中,第一报文和第三报文可以为同一个报文,即第一报文通过转发路径向第二设备发送,转发路径中的中间节点也能通过第一报文获得业务流的源发送速率。通过复用同一个报文向转发路径中的所有节点通知业务流的源发送速率,能够降低对转发路径中带宽资源的占用。
6、在一种可能的实现方式中,第一报文和第三报文可以为不同的报文。即第一设备分别向第一设备和第二设备发送用于通知业务流的源发送速率的报文。
7、在一种可能的实现方式中,第二报文和第四报文可以为同一个报文,即第二设备通过转发路径的逆向路径向第一设备发送第二报文,转发路径中的中间节点均能够参与转发第二报文,中间节点在转发第二报文的时候可以将各自得到的第二链路代价添加到第二报文中,从而第一设备接收到的第二报文中可以既包括第一放缩比,还包括转发路径中各节点添加的第二链路代价,或累加的第二链路代价。累加的第二链路代价为第二报文在转发路径的逆向路径中转发时,各节点将自身的第二链路代价与第二报文已经过的链路的第二链路代价加和,并更新到第二报文中的。通过复用同一个报文向第一设备返回业务流的第一放缩比和第二链路代价/累加的第二链路代价,能够降低对转发路径中带宽资源的占用。
8、在一种可能的实现方式中,第二报文和第四报文可以为不同的报文,即第二设备和第三设备通过不同的报文分别向第一设备通知业务流的第二放缩比和第二链路代价。
9、在一种可能的实现方式中,第一设备为转发路径中的源节点,方法还包括:第一设备获取第一设备对应的链路的聚合速率,以及业务流在第一设备对应的链路的第二实际速率,聚合速率为当前第一设备对应的链路传输的数据的总速率;第一设备根据聚合速率获得第一设备对应的链路的第三链路代价;第一设备根据第二实际速率和源发送速率获得业务流的第二放缩比;第一设备根据第三链路代价和第二放缩比得到第一设备对应的链路的第二链路代价。基于第一设备对应的链路的实际速率计算得到第二链路代价,第二链路代价可以认为是第一设备对应的链路的实际链路代价,从而基于第二链路代价更新的源发送速率更加符合网络的实际情况,使得更新后的源发送速率更加合理,能够更快、更好地提高网络资源利用率。
10、第二方面提供一种网络速率分配方法。该方法包括:第二设备接收来自第一设备的第一报文,第一报文携带业务流的源发送速率,源发送速率为第一设备为业务流分配的发送速率,第二设备为业务流的转发路径中的尾节点;第二设备获取接收业务流的第一实际速率;第二设备根据第一实际速率和源发送速率获得业务流的第一放缩比;第二设备向第一设备发送第二报文,第二报文携带第一放缩比,以使第一设备根据第一放缩比更新业务流的源发送速率。
11、在一种可能的实现方式中,转发路径包括多条链路,第二报文用于沿转发路径逐跳收集多条链路的第二链路代价,以使第一设备根据第一放缩比和第一链路代价更新源发送速率,第一链路代价为转发路径中所有链路的第二链路代价之和。
12、第三方面提供一种网络速率分配方法。该方法包括:第三设备接收来自第一设备的第三报文,第三报文携带业务流的源发送速率,源发送速率为第一设备为业务流分配的发送速率,第三设备为业务流的转发路径中的中间节点;第三设备根据第二实际速率和源发送速率获得业务流的第二放缩比,第二实际速率为业务流在第三设备对应的链路中的实际传输速率;第三设备根据二放缩比获得第三设备对应的链路的第二链路代价;第三设备向第一设备发送第四报文,第四报文携带第二链路代价,以使第一设备根据第二链路代价更新业务流的源发送速率。
13、在一种可能的实现方式中,第三设备根据二放缩比获得第三设备对应的链路的第二链路代价,包括:第三设备根据第二放缩比和第三链路代价得到第二链路代价,第三链路代价为根据第三设备对应的链路的聚合速率获得的,聚合速率为当前第三设备对应的链路传输的数据的总速率。
14、在一种可能的实现方式中,第四报文为第二设备向第一设备发送的第二报文,第二设备为转发路径中的尾节点。第三设备向第一设备发送第四报文,包括:第三设备接收第二设备向第一设备发送的第二报文;第三设备将第二链路代价添加到第二报文;第三设备向第一设备转发添加有第二链路代价的第二报文。
15、在一种可能的实现方式中,第二报文用于沿转发路径逐跳收集转发路径中的链路的第二链路代价,第二报文中包括用于承载第二链路代价的目标字段,第三设备将第二链路代价添加到第二报文,包括:第三设备将目标字段中的值与第三设备对应的链路的第二链路代价加和,得到累加的第二链路代价;第三设备将目标字段的值更新为累加的第二链路代价。
16、在一种可能的实现方式中,第二报文和第四报文可以为不同的报文,即第二设备和第三设备通过不同的报文分别向第一设备通知业务流的第二放缩比和第二链路代价。
17、第四方面提供一种网络设备。设备包括处理模块和收发模块。其中,处理模块,用于获取业务流的第一放缩比和第一链路代价,第一放缩比为业务流经过转发路径转发后的第一实际速率与源发送速率的比值,源发送速率为网络设备为业务流分配的发送速率,第一链路代价为转发路径中所有链路的第二链路代价之和。处理模块,用于根据第一放缩比和第一链路代价更新源发送速率。
18、在一种可能的实现方式中,收发模块,用于向转发路径中的第二设备发送第一报文,第二设备为转发路径的尾节点,第一报文携带源发送速率,以使第二设备根据源发送速率获得第一放缩比。收发模块,用于接收来自第二设备的第二报文,第二报文携带第一放缩比。
19、在一种可能的实现方式中,收发模块,用于向转发路径中的第三设备发送第三报文,第三设备为转发路径的中间节点,第三报文携带源发送速率,以使第三设备根据源发送速率获得第三设备对应的链路的第二链路代价。收发模块,用于接收经过第三设备转发的第四报文,第四报文携带转发路径中的链路的第二链路代价,或累加的第二链路代价。
20、在一种可能的实现方式中,网络设备为转发路径中的源节点;收发模块,用于获取第一设备对应的链路的聚合速率,以及第一设备对应的链路传输业务流的第二实际速率,聚合速率为当前第一设备对应的链路传输的数据的总速率。处理模块,用于根据聚合速率获得第一设备对应的链路的第三链路代价。处理模块,用于根据第二实际速率和源发送速率获得业务流的第二放缩比。处理模块,用于根据第三链路代价和第二放缩比得到第一设备对应的链路的第二链路代价。
21、第五方面提供一种网络设备。设备包括处理模块和收发模块。其中,收发模块,用于接收来自第一设备的第一报文,第一报文携带业务流的源发送速率,源发送速率为第一设备为业务流分配的发送速率,网络设备为业务流的转发路径中的尾节点;收发模块,用于获取接收业务流的第一实际速率;处理模块,用于根据第一实际速率和源发送速率获得业务流的第一放缩比;收发模块,用于向第一设备发送第二报文,第二报文携带第一放缩比,以使第一设备根据第一放缩比更新业务流的源发送速率。
22、在一种可能的实现方式中,转发路径包括多条链路,第二报文用于沿转发路径逐跳收集多条链路的第二链路代价,以使第一设备根据第一放缩比和第一链路代价更新源发送速率,第一链路代价为转发路径中所有链路的第二链路代价之和。
23、第六方面提供一种网络设备。设备包括处理模块和收发模块。其中,收发模块,用于接收来自第一设备的第三报文,第三报文携带业务流的源发送速率,源发送速率为第一设备为业务流分配的发送速率,网络设备为业务流的转发路径中的中间节点;处理模块,用于根据第二实际速率和源发送速率获得业务流的第二放缩比,第二实际速率为业务流在网络设备对应的链路中的实际传输速率;处理模块,用于根据二放缩比获得网络设备对应的链路的第二链路代价;收发模块,用于向第一设备发送第四报文,第四报文携带第二链路代价,以使第一设备根据第二链路代价更新业务流的源发送速率。
24、在一种可能的实现方式中,处理模块,用于根据第二放缩比和第三链路代价得到第二链路代价,第三链路代价为根据网络设备对应的链路的聚合速率获得的,聚合速率为当前网络设备对应的链路传输的数据的总速率。
25、在一种可能的实现方式中,第四报文为第二设备向所述第一设备发送的第二报文,所述第二设备为所述转发路径中的尾节点。收发模块,用于接收第二设备向第一设备发送的第二报文;处理模块,用于将第二链路代价添加到第二报文;收发模块,用于向第一设备转发添加有第二链路代价的第二报文。
26、在一种可能的实现方式中,第二报文用于沿转发路径逐跳收集转发路径中的链路的第二链路代价,第二报文中包括用于承载第二链路代价的目标字段;处理模块,用于将目标字段中的值与网络设备对应的链路的第二链路代价加和,得到累加的第二链路代价;处理模块,用于将目标字段的值更新为累加的第二链路代价。
27、第七方面提供一种网络设备。该设备包括处理器和存储器,处理器耦接存储器,处理器被配置为基于存储在存储器中的指令,执行上述的第一方面或第一方面的任意一种可能的实现方式中的网络速率分配方法,或第二方面或第二方面的任意一种可能的实现方式中的网络速率分配方法,或第三方面或第三方面的任意一种可能的实现方式中的网络速率分配方法。
28、第四方面提供一种计算机可读存储介质。计算机可读存储介质包括指令,当计算机可读存储介质在网络设备上运行时,使得网络设备执行上述的第一方面或第一方面的任意一种可能的实现方式中的网络速率分配方法,或第二方面或第二方面的任意一种可能的实现方式中的网络速率分配方法,或第三方面或第三方面的任意一种可能的实现方式中的网络速率分配方法。
1.一种网络速率分配方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一设备为所述转发路径中的源节点,所述方法还包括:
5.一种网络速率分配方法,其特征在于,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,所述转发路径包括多条链路,所述第二报文用于沿所述转发路径逐跳收集多条所述链路的第二链路代价,以使所述第一设备根据所述第一放缩比和第一链路代价更新所述源发送速率,所述第一链路代价为所述转发路径中所有链路的第二链路代价之和。
7.一种网络速率分配方法,其特征在于,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述第三设备根据所述二放缩比获得所述第三设备对应的链路的第二链路代价,包括:
9.根据权利要求7或8所述的方法,其特征在于,所述第四报文为第二设备向所述第一设备发送的第二报文,所述第二设备为所述转发路径中的尾节点,所述第三设备向所述第一设备发送第四报文,包括:
10.根据权利要求9所述的方法,其特征在于,所述第二报文用于沿所述转发路径逐跳收集所述转发路径中的链路的所述第二链路代价,所述第二报文中包括用于承载所述第二链路代价的目标字段,所述第三设备将所述第二链路代价添加到所述第二报文,包括:
11.一种网络设备,其特征在于,所述设备包括:
12.根据权利要求11所述的设备,其特征在于,所述设备还包括:
13.根据权利要求11或12所述的设备,其特征在于,所述设备还包括:
14.根据权利要求11至13中任一项所述的设备,其特征在于,所述网络设备为所述转发路径中的源节点;
15.一种网络设备,其特征在于,所述设备包括:
16.根据权利要求15所述的设备,其特征在于,所述转发路径包括多条链路,所述第二报文用于沿所述转发路径逐跳收集多条所述链路的第二链路代价,以使所述第一设备根据所述第一放缩比和第一链路代价更新所述源发送速率,所述第一链路代价为所述转发路径中所有链路的第二链路代价之和。
17.一种网络设备,其特征在于,所述设备包括:
18.根据权利要求17所述的设备,其特征在于,
19.根据权利要求17或18所述的设备,其特征在于,所述第四报文为第二设备向所述第一设备发送的第二报文,所述第二设备为所述转发路径中的尾节点;
20.根据权利要求19所述的设备,其特征在于,所述第二报文用于沿所述转发路径逐跳收集所述转发路径中的链路的所述第二链路代价,所述第二报文中包括用于承载所述第二链路代价的目标字段;
21.一种网络设备,其特征在于,所述设备包括处理器和存储器,所述处理器耦接所述存储器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-10中任一项所述的网络速率分配方法。
22.一种计算机可读存储介质,其特征在于,包括指令,当所述计算机可读存储介质在网络设备上运行时,使得所述网络设备执行如权利要求1-10中任一项所述的网络速率分配方法。