CN115567450A - 一种网络设备 - Google Patents
一种网络设备 Download PDFInfo
- Publication number
- CN115567450A CN115567450A CN202211007861.3A CN202211007861A CN115567450A CN 115567450 A CN115567450 A CN 115567450A CN 202211007861 A CN202211007861 A CN 202211007861A CN 115567450 A CN115567450 A CN 115567450A
- Authority
- CN
- China
- Prior art keywords
- node
- bandwidth
- traffic
- link
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种通信方法及其相关设备,该网络设备包括第一节点和第二节点,该方法包括:第一节点获取第一流量在第一路径的第一目标带宽,该第一路径为从第一节点传输第一流量到第二节点的路径,第一目标带宽不大于第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;第一节点根据第一目标带宽,通过第一路径发送第一流量。这样,在网络设备内传输流量之前,预先为该流量确定可用的带宽资源,在确定可用的带宽资源上传输可用带宽资源对应的流量,确保了流量在路径上传输不发生拥塞,提高了流量在网络设备内节点之间传输的有效性和可靠性。
Description
本申请是2019年9月6日提交的、申请号为201910843241.5、发明名称为“一种通信方法及其相关设备”的中国专利申请的分案。
技术领域
本申请涉及通信技术领域,特别是涉及一种网络设备。
背景技术
随着对单个网络设备交换能力需求的日益增加,一个网络设备内集成的节点(英文:die)数目需要不断增多,而流量在集成多个节点的网路设备中传输时,通常先将流量优先从源节点到目的节点之间的最短路径传输,当该流量在该最短路径上发生拥塞,为了避开拥塞路径,可以确定从源节点和目的节点之间的其他非最短路径,判断其他非最短路径是否拥塞,若不拥塞,则将流量切换到该非最短路径上进行传输。
但是,上述将流量优先按照最短路径传输,如果最短路径上发生拥塞,将流量切换到非拥塞的非最短路径上传输的通信方式,无法确保进行流量传输的路径上是否会出现拥塞,在网络设备中传输的流量增多的情况下,容易造成该传输路径上发生拥塞,拥塞后节点会缓存发生拥塞的流量,而同时缓存多个流量极易造成丢包等异常情况,导致流量无法正常在该网络设备的节点之间传输。
发明内容
基于此,本申请实施例提供了一种通信方法及其相关设备,为了避免在传输流量时路径发生拥塞导致流量无法在该网络设备内传输的问题,在通过某路径传输流量之前,预先判断是否有足够的带宽能够被传输该流量所用,并在确定有足够的带宽传输该流量的路径上传输该流量,确保流量在该路径上传输不发生拥塞。
第一方面,本申请实施例提供了一种通信方法,应用于网络设备中的第一节点(即,某个流量的源节点),该网络设备内还包括第二节点,该方法具体包括:第一节点获取第一流量在第一路径的第一目标带宽,其中,第一路径为从第一节点传输第一流量到第二节点的路径,第一目标带宽不大于第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;第一节点根据第一目标带宽,通过第一路径发送第一流量。可见,本申请实施例中,在网络设备内传输流量之前,预先为该流量判断传输路径上是否有足够的带宽,在确定传输路径上有被许可的带宽可以用于传输该流量后,才将该流量中被许可的带宽对应的部分在该传输路径上利用被许可的带宽传输。这样,确保流量在路径上传输不发生拥塞,可以有效避免目前通信方式中,在传输流量时路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。
在第一方面的一些可能的场景中,网络设备内还包括管理节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源。若该管理节点可以为第一节点,那么,第一节点获取第一流量在第一路径的第一目标带宽,具体可以包括:第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径的第一目标带宽。
作为一个示例,该第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径的第一目标带宽,实现的一种具体过程可以是:第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径上的第一链路许可带宽,并将第一链路许可带宽作为第一目标带宽,其中,第一链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽中的最小值。这样,仅考虑了传输路径上的链路带宽资源,而不对目的节点出端口的带宽资源进行考虑,提高了确定目标带宽的效率,从而提高了流量传输的时效性。
作为另一个示例,在第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径的第一目标带宽之前,该方法还可以包括:第一节点向第二节点发送第一带宽请求消息,其中,第一带宽请求消息包括用于指示第一流量的速率的信息;第一节点接收第二节点发送的第一端口许可带宽,第一端口许可带宽为第二节点基于第一流量的速率为第一流量在第二节点上出端口分配的端口带宽,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口,第一端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值;此时,该第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径的第一目标带宽,具体可以是:第一节点基于第一端口许可带宽和其上保存的第一路径上各单跳链路的剩余可用带宽,获得第一目标带宽,其中,第一目标带宽为第一端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。这样,综合考虑传输路径上的链路带宽资源和目的节点出端口的带宽资源,提高了确定所确定的目标带宽的准确性,从而使得流量在该网络设备内传输更加可靠。
在第一方面的另一些可能的场景中,网络设备内还包括管理节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,且该管理节点不为第一节点。
作为一个示例,第一节点获取第一流量在第一路径的第一目标带宽,具体可以包括:第一步,第一节点向管理节点发送第二带宽请求消息,第二带宽请求消息包括用于指示第一流量的速率的信息,以便管理节点为第一流量在第一路径确定第一目标带宽,第一目标带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值;第二步,第一节点从管理节点接收第一目标带宽。
作为另一个示例,第一节点获取第一流量在第一路径的第一目标带宽,具体还可以包括:第一节点向第二节点发送第三带宽请求消息,以便第二节点为第一流量在第二节点上出端口分配第二端口许可带宽,并将第二端口许可带宽发送给管理节点,其中,第三带宽请求消息包括用于指示第一流量的速率的信息,第二端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值;第一节点接收管理节点发送的第一目标带宽,其中,第一目标带宽为管理节点确定的、第二端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
作为再一个示例,第一节点获取第一流量在第一路径的第一目标带宽,具体还可以包括:第一节点向管理节点发送第四带宽请求消息,以便管理节点为第一流量在第一路径确定第二链路许可带宽,其中,第四带宽请求消息包括用于指示第一流量的速率的信息,第二链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值;第一节点从第二节点接收第一目标带宽,其中,第一目标带宽为第二节点确定的、第二节点上出端口的剩余可用带宽和第二链路许可带宽的最小值。
可见,该场景的多种实现方式中,管理节点可以单独考虑链路带宽资源,也可以结合链路带宽资源和目的节点的出端口的带宽资源进行考虑和设计,提高了网络设备内部传输流量的可靠性的同时,可以根据网络设备指标要求以及流量本身灵活的进行本申请实施例提供的通信方法。
在第一方面的再一些可能的场景中,若网络设备中每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,用于管理和分配该节点为端点的单跳链路的带宽资源。
该场景中,作为一个示例,第一节点获取第一流量在第一路径的第一目标带宽,具体可以为:第一步,第一节点向第一路径上的各节点发送第五带宽请求消息,其中,第五带宽请求消息中包括用于指示第一流量的速率的信息;第二步,第一节点接收第一路径上的各节点为第一流量预分配的第三链路许可带宽;第三步,第一节点基于第三链路许可带宽,确定第一目标带宽,其中,第一目标带宽不大于第一路径上的各单跳链路对应的第三链路许可带宽中的最小值。其中,第三步的具体实现方式可以包括:第一节点根据第三链路许可带宽,确定第一流量在第一路径上的第四链路许可带宽,其中,第四链路许可带宽为第一路径上的各单跳链路对应的第三链路许可带宽的最小值;第一节点向第二节点发送第四链路许可带宽,以便第二节点基于第四链路许可带宽确定第一目标带宽,其中,第一目标带宽为第四链路许可带宽和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;第一节点接收第二节点发送的第一目标带宽。
作为另一个示例,第一节点获取第一流量在第一路径的第一目标带宽,具体为:第一步,第一节点向第二节点发送第六带宽请求消息,其中,第六带宽请求消息中包括用于指示第一流量的速率的信息;第二步,第一节点接收第二节点为第一流量在第二节点上出端口分配的第三端口许可带宽,第三端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;第三步,第一节点向第一路径上的各节点发送第七带宽请求消息,其中,第七带宽请求消息中包括第三端口许可带宽;第四步,第一节点接收第一路径上的各节点为第一流量预分配的第五链路许可带宽;第五步,第一节点将多个第五链路许可带宽的最小值,确定为第一目标带宽。
可见,该场景的多种实现方式中,各节点单独管理以该节点为端点的单跳链路的链路带宽资源,提高了网络设备内部传输流量的可靠性,有效避免在网络设备内发生拥塞,导致丢包等问题。
在第一方面的一种具体实现方式中,若第一流量的速率大于第一目标带宽,则,第一节点根据第一目标带宽,通过第一路径发送第一流量,具体为:
第一节点将第一流量中第一目标带宽对应的第一子流量,通过第一路径发送。这样,将第一流量中速率与申请到的目标带宽对应的部分流量,通过该目标带宽进行有效的传输,可以确保该传输的部分流量不会在该网络设备内发生拥塞,提高了网络设备传输流量的可靠性。
可以理解的是,本申请实施例还可以包括:第一节点向网络设备中的其他节点通告为第一流量在第一路径申请到的第一目标带宽,以便其他节点基于第一目标带宽更新网络设备中各单跳链路的剩余可用带宽。这样,通过及时更新网络设备内带宽资源,提高了本申请实施例中申请和分配带宽资源的准确性。
第二方面,本申请实施例还提供了一种通信方法,应用于网络设备中的管理节点,网络设备内还包括第一节点和第二节点,包括:管理节点为第一流量在第一路径上确定第一目标带宽,其中,第一路径为从第一节点传输第一流量到第二节点的路径,第一目标带宽不大于第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;管理节点将第一目标带宽发送给第一节点,以便第一节点基于第一目标带宽在第一路径上发送第一流量。
在第二方面的一些可能实现的方式中,本申请实施例还可以包括:管理节点接收第一节点发送的第一带宽请求消息,第一带宽请求消息包括用于指示第一流量的速率的信息;那么,管理节点为第一流量在第一路径上确定第一目标带宽,具体为:管理节点基于第一流量的速率和第一路径上的各单跳链路的剩余可用带宽,为第一流量在第一路径上确定第一目标带宽。
作为一个示例,该管理节点基于第一流量的速率和第一路径上的各单跳链路的剩余可用带宽,为第一流量在第一路径上确定第一目标带宽,具体可以包括:第一步,管理节点将第一流量的速率和第一路径上的各单跳链路的剩余可用带宽的最小值,作为第一链路许可带宽;第二步,管理节点向第二节点发送第二带宽请求消息,第三步,第二节点基于第一链路许可带宽和第二节点上出端口的剩余可用带宽确定第一目标带宽,其中,第二带宽请求消息中包括第一链路许可带宽,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;第四步,第二节点发送第一目标带宽给管理节点。其中,一种情况下,第一步具体可以包括:针对第一路径上的各单跳链路,管理节点分别确定第一流量的速率和该单跳链路的剩余可用带宽中的最小值,作为该单跳链路的第二链路许可带宽;管理节点将第一路径上各单跳链路的第二链路许可带宽的最小值,确定为第一流量在第一路径上的第一链路许可带宽。另一种情况下,该第一步还可以包括:针对每个单跳链路,管理节点确定该单跳链路的上一个单跳链路的链路许可带宽(对于第一个单跳链路,其上一个单跳链路的链路许可带宽即为该第一流量的速率)和该单跳链路的剩余可用带宽的最小值,作为该单跳链路的链路许可带宽,并基于该单跳链路的链路许可带宽确定下一个单跳链路的链路许可带宽,以此类推,直到基于倒数第二个单跳链路的链路许可带宽和倒数第一个单跳链路的剩余可用带宽,确定出该倒数第一个单跳链路的链路许可带宽,作为第一流量在第一路径上的第二链路许可带宽。
在第二方面的另一些可能实现的方式中,本申请实施例还可以包括:管理节点接收第二节点发送的、为第一流量分配的第二节点上出端口的第一端口许可带宽,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;那么,该管理节点为第一流量在第一路径上确定第一目标带宽,包括:管理节点基于第一端口许可带宽和第一路径上各单跳链路的剩余可用带宽,获得第一目标带宽,其中,第一目标带宽为端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
在第二方面的再一些可能实现的方式中,本申请实施例还可以包括:管理节点接收第四节点发送的第二带宽请求消息,第二带宽请求消息包括第二请求带宽,用于为第二流量向管理节点请求第二路径上的带宽资源,其中,第二路径和第一路径均包括第一链路;管理节点基于第一流量的第一目标优先级和第二流量的第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
一种情况下,若第一目标优先级高于第二目标优先级,那么,管理节点基于第一流量的第一目标优先级和第二流量的第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽,包括:管理节点从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,第二链路带宽为第一请求带宽和剩余可用带宽中的最小值;管理节点更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;管理节点从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
另一种情况下,若第一目标优先级和第二目标优先级相同,那么,管理节点基于第一流量的第一目标优先级和第二流量的第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽,包括:管理节点按照预设的分配算法,从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,该预设的分配算法为最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可以理解的是,该管理节点还可以依据第一流量的流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级,其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
可以理解的是,本申请实施例还可以包括:管理节点基于第一目标带宽,更新网络设备内各单跳链路的剩余可用带宽。这样,及时更新网络设备内带宽资源,提高了本申请实施例中管理节点为进入该网络设备的流量分配带宽资源的准确性。
需要说明的是,第二方面提供的方法的各种可能的实现方式以及达到的技术效果,可以参照前述第一方面提供的方法的介绍。
第三方面,本申请实施例还提供了一种通信方法,应用于网络设备中的第三节点(即,某个流量对应路径上的中间节点),网络设备内还包括第一节点,包括:第三节点接收第一节点发送的第一带宽请求消息,第一带宽请求消息用于请求第三节点为第一流量在第一链路分配第一请求带宽,其中,第一链路为传输第一流量的第一路径上的、以第三节点为端点的单跳链路;第三节点从第一链路的第一剩余可用带宽中,为第一流量在第一链路分配第一链路许可带宽,其中,第一链路许可带宽不大于第一剩余可用带宽和第一请求带宽的最小值;第三节点向第一节点发送第一链路许可带宽。
在第三方面的一些可能实现的方式中,本申请实施例还可以包括:第三节点接收第一节点发送的通告消息,通告消息用于告知在第一路径上分配给第一流量并用于传输第一流量的第一目标带宽;第三节点基于第一目标带宽,更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽和第一目标带宽的差值。
在第三方面的另一些可能实现的方式中,本申请实施例还可以包括:第三节点接收第二带宽请求消息,第二带宽请求消息用于请求第三节点为第二流量在第一链路分配第二请求带宽,其中,第一链路为传输第二流量的第二路径上的、以第三节点为端点的单跳链路;第三节点获取第一流量的第一目标优先级以及第二流量的第二目标优先级;第三节点基于第一目标优先级和第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
一种情况下,若第一目标优先级高于第二目标优先级,则,第三节点基于第一目标优先级和第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽,包括:第三节点从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,其中,第二链路许可带宽为第一请求带宽和第一剩余可用带宽中的最小值;第三节点更新第一链路的剩余可用带宽为第二剩余可用带宽,其中,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;第三节点从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
另一种情况下,若第一目标优先级和第二目标优先级相同,则,第三节点基于第一目标优先级和第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽,包括:第三节点按照预设的分配算法,从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,该预设的分配算法为最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可以理解的是,第一带宽请求消息中携带第一流量的第一流量优先级,第二带宽请求消息中携带第二流量的第二流量优先级;第三节点获取第一流量的第一目标优先级以及第二流量的第二目标优先级,可以包括:第三节点依据第一流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级;同理,第三节点依据第二流量优先级和第二路径包括的单跳链路数量,为第二流量确定第二目标优先级;其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
需要说明的是,第三方面提供的方法的各种可能的实现方式以及达到的技术效果,可以参照前述第一方面和第二方面提供的方法的介绍。
第四方面,本申请实施例还提供了一种通信方法,应用于网络设备中的第二节点(即,某个流量的目的节点),网络设备内还包括第一节点,包括:第二节点接收第一节点发送的第一带宽请求消息,第一带宽请求消息中包括用于指示第一流量的速率的信息,用于向第二节点请求第二节点上出端口的带宽资源,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口,第一流量为待从第一节点向第二节点传输的流量;第二节点根据第一流量的速率和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽。
在第四方面的一些可能实现的方式中,若第二节点上保存有网络设备中各单跳链路的剩余可用带宽,则,第二节点根据第一流量的速率和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽,包括:第二节点根据保存的网络设备中各单跳链路的剩余可用带宽,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径;第二节点基于第一流量的速率、第二节点上出端口的剩余可用带宽、以及至少一条第一路径上各单跳链路的剩余可用带宽,确定第一端口许可带宽。
在第四方面的另一些可能实现的方式中,若第二节点上保存有以第二节点为端点的单跳链路的剩余可用带宽和其他单跳链路的带宽状态,则,第二节点根据第一流量的速率和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽,包括:第二节点根据保存的其他单跳链路的带宽状态,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径;第二节点将第一流量的速率、第二节点上出端口的剩余可用带宽、以及以第二节点为端点的单跳链路的总剩余可用带宽中的最小值,确定为第一端口许可带宽。
在第四方面的再一些可能实现的方式中,若网络设备内还包括管理节点,管理节点不是第二节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,则方法还包括:第二节点向管理节点发送第一端口许可带宽,以便管理节点基于第一端口许可带宽,为第一流量在第一路径上分配第一目标带宽,并向第一节点发送第一目标带宽。
在第四方面的又一些可能实现的方式中,若网络设备内还包括管理节点,管理节点不是第二节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,则方法还包括:第二节点接收管理节点发送的第一链路许可带宽;第二节点根据第一流量的速率和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽,包括:第二节点基于第一链路许可带宽和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽,并将第一端口许可带宽作为第一目标带宽;那么,本申请实施例还可以包括:第二节点向第一节点发送第一目标带宽。
需要说明的是,第三方面提供的方法的各种可能的实现方式以及达到的技术效果,可以参照前述第一方面、第二方面和第三方面提供的方法的介绍。
第五方面,本申请实施例提供了一种第一节点,该第一节点为网络设备内的节点,网络设备内还包括第二节点,第一节点包括:获取单元和第一发送单元。其中,获取单元用于获取第一流量在第一路径的第一目标带宽,第一路径为从第一节点传输第一流量到第二节点的路径,第一目标带宽不大于第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;第一发送单元用于根据第一目标带宽,通过第一路径发送第一流量。
在第五方面的一些可能的场景中,网络设备内还包括管理节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,若管理节点为第一节点,那么,获取单元,具体用于:根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径的第一目标带宽。
作为一个示例,该获取单元,具体用于根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径上的第一链路许可带宽,并将第一链路许可带宽作为第一目标带宽,其中,第一链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽中的最小值。
作为另一个示例,该第一节点还可以包括:第二发送单元,用于向第二节点发送第一带宽请求消息,其中,第一带宽请求消息包括用于指示第一流量的速率的信息;接收单元,用于接收第二节点发送的第一端口许可带宽,第一端口许可带宽为第二节点基于第一流量的速率为第一流量在第二节点上出端口分配的端口带宽,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口,第一端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值。此时,该获取单元,具体用于:基于第一端口许可带宽和其上保存的第一路径上各单跳链路的剩余可用带宽,获得第一目标带宽,其中,第一目标带宽为第一端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
在第五方面的另一些可能的场景中,网络设备内还包括管理节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,且该管理节点不为第一节点。
作为一个示例,该获取单元,可以包括:第一发送子单元,用于向管理节点发送第二带宽请求消息,第二带宽请求消息包括用于指示第一流量的速率的信息,以便管理节点为第一流量在第一路径确定第一目标带宽,第一目标带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值;第一接收子单元,用于从管理节点接收第一目标带宽。
作为另一个示例,该获取单元,也可以包括:第二发送子单元,用于向第二节点发送第三带宽请求消息,以便第二节点为第一流量在第二节点上出端口分配第二端口许可带宽,并将第二端口许可带宽发送给管理节点,其中,第三带宽请求消息包括用于指示第一流量的速率的信息,第二端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值;第二接收子单元,用于接收管理节点发送的第一目标带宽,其中,第一目标带宽为管理节点确定的、第二端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
作为再一个示例,该获取单元,也可以包括:第三发送子单元,用于向管理节点发送第四带宽请求消息,以便管理节点为第一流量在第一路径确定第二链路许可带宽,其中,第四带宽请求消息包括用于指示第一流量的速率的信息,第二链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值;第三接收子单元,用于从第二节点接收第一目标带宽,其中,第一目标带宽为第二节点确定的、第二节点上出端口的剩余可用带宽和第二链路许可带宽的最小值。
在第五方面的再一些可能的场景中,若网络设备中每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,用于管理和分配该节点为端点的单跳链路的带宽资源。
该场景中,作为一个示例,该获取单元,具体包括:第四发送子单元,用于向第一路径上的各节点发送第五带宽请求消息,其中,第五带宽请求消息中包括用于指示第一流量的速率的信息;第四接收子单元,用于接收第一路径上的各节点为第一流量预分配的第三链路许可带宽;第一确定子单元,用于基于第三链路许可带宽,确定第一目标带宽,其中,第一目标带宽不大于第一路径上的各单跳链路对应的第三链路许可带宽中的最小值。其中,第一确定子单元,包括:第二确定子单元,用于根据第三链路许可带宽,确定第一流量在第一路径上的第四链路许可带宽,其中,第四链路许可带宽为第一路径上的各单跳链路对应的第三链路许可带宽的最小值;第五发送子单元,用于向第二节点发送第四链路许可带宽,以便第二节点基于第四链路许可带宽确定第一目标带宽,其中,第一目标带宽为第四链路许可带宽和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;第五接收子单元,用于接收第二节点发送的第一目标带宽。
作为另一个示例,该获取单元,具体包括:第六发送子单元,用于向第二节点发送第六带宽请求消息,其中,第六带宽请求消息中包括用于指示第一流量的速率的信息;第六接收子单元,用于接收第二节点为第一流量在第二节点上出端口分配的第三端口许可带宽,第三端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;第七发送子单元,用于向第一路径上的各节点发送第七带宽请求消息,其中,第七带宽请求消息中包括第三端口许可带宽;第七接收子单元,用于接收第一路径上的各节点为第一流量预分配的第五链路许可带宽;第三确定子单元,用于将多个第五链路许可带宽的最小值,确定为第一目标带宽。
在第五方面的一种具体实现方式中,若第一流量的速率大于第一目标带宽,则,第一发送单元,具体用于:将第一流量中第一目标带宽对应的第一子流量,通过第一路径发送。
可以理解的是,该第一节点还可以包括:第三发送单元,用于向网络设备中的其他节点通告为第一流量在第一路径申请到的第一目标带宽,以便其他节点基于第一目标带宽更新网络设备中各单跳链路的剩余可用带宽。
需要说明的是,第五方面提供的第一节点的各种可能的实现方式以及达到的技术效果,可以参照前述第一方面提供的方法的介绍。
第六方面,本申请实施例还提供了一种管理节点,管理节点为网络设备内的节点,网络设备内还包括第一节点和第二节点,管理节点包括:第一确定单元和第一发送单元。其中,第一确定单元,用于为第一流量在第一路径上确定第一目标带宽,其中,第一路径为从第一节点传输第一流量到第二节点的路径,第一目标带宽不大于第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;第一发送单元,用于将第一目标带宽发送给第一节点,以便第一节点基于第一目标带宽在第一路径上发送第一流量。
在第六方面的一些可能实现的方式中,本申请实施例的管理节点还包括:第一接收单元,用于接收第一节点发送的第一带宽请求消息,第一带宽请求消息包括用于指示第一流量的速率的信息;那么,第一确定单元,具体用于:基于第一流量的速率和第一路径上的各单跳链路的剩余可用带宽,为第一流量在第一路径上确定第一目标带宽。
作为一个示例,第一确定单元,可以包括:第一确定子单元,用于将第一流量的速率和第一路径上的各单跳链路的剩余可用带宽的最小值,作为第一链路许可带宽;第一发送子单元,用于向第二节点发送第二带宽请求消息,以便第二节点基于第一链路许可带宽和第二节点上出端口的剩余可用带宽确定第一目标带宽,其中,第二带宽请求消息中包括第一链路许可带宽,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;第一接收子单元,用于接收第二节点发送的第一目标带宽。其中,第一确定子单元,具体可以包括:第二确定子单元,用于针对第一路径上的各单跳链路,分别确定第一流量的速率和该单跳链路的剩余可用带宽中的最小值,作为该单跳链路的第二链路许可带宽;第三确定子单元,用于将第一路径上各单跳链路的第二链路许可带宽的最小值,确定为第一流量在第一路径上的第一链路许可带宽。
在第六方面的另一些可能实现的方式中,该管理节点还包括:第二接收单元,用于接收第二节点发送的、为第一流量分配的第二节点上出端口的第一端口许可带宽,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;那么,第一确定单元,具体用于:基于第一端口许可带宽和第一路径上各单跳链路的剩余可用带宽,获得第一目标带宽,其中,第一目标带宽为端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
在第六方面的再一些可能实现的方式中,管理节点还包括:第三接收单元,用于接收第四节点发送的第二带宽请求消息,第二带宽请求消息包括第二请求带宽,用于为第二流量向管理节点请求第二路径上的带宽资源,其中,第二路径和第一路径均包括第一链路;分配单元,用于基于第一流量的第一目标优先级和第二流量的第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
一种情况下,若第一目标优先级高于第二目标优先级,则,分配单元,包括:第一分配子单元,用于从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,第二链路带宽为第一请求带宽和剩余可用带宽中的最小值;更新子单元,用于更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;第二分配子单元,用于从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
另一种情况下,若第一目标优先级和第二目标优先级相同,则,分配单元,具体用于:按照预设的分配算法,从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,预设的分配算法为最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可以理解的是,该管理节点还可以包括:第二确定单元,用于依据第一流量的流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级,其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
可以理解的是,该管理节点还包括:更新单元,用于基于第一目标带宽,更新网络设备内各单跳链路的剩余可用带宽。
需要说明的是,第六方面提供的管理节点的各种可能的实现方式以及达到的技术效果,可以参照前述第二方面提供的方法的介绍。
第七方面,本申请实施例还提供了一种第三节点,该第三节点为网络设备内的节点,网络设备内还包括第一节点,第三节点包括:第一接收单元、第一分配单元和发送单元。其中,第一接收单元,用于接收第一节点发送的第一带宽请求消息,第一带宽请求消息用于请求第三节点为第一流量在第一链路分配第一请求带宽,其中,第一链路为传输第一流量的第一路径上的、以第三节点为端点的单跳链路;第一分配单元,用于从第一链路的第一剩余可用带宽中,为第一流量在第一链路分配第一链路许可带宽,其中,第一链路许可带宽不大于第一剩余可用带宽和第一请求带宽的最小值;发送单元,用于向第一节点发送第一链路许可带宽。
在第七方面的一些可能实现的方式中,该第三节点还包括:第二接收单元,用于接收第一节点发送的通告消息,通告消息用于告知在第一路径上分配给第一流量并用于传输第一流量的第一目标带宽;更新单元,用于基于第一目标带宽,更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽和第一目标带宽的差值。
在第七方面的另一些可能实现的方式中,该第三节点还包括:第三接收单元,用于接收第二带宽请求消息,第二带宽请求消息用于请求第三节点为第二流量在第一链路分配第二请求带宽,其中,第一链路为传输第二流量的第二路径上的、以第三节点为端点的单跳链路;获取单元,用于获取第一流量的第一目标优先级以及第二流量的第二目标优先级;第二分配单元,用于基于第一目标优先级和第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
一种情况下,若第一目标优先级高于第二目标优先级,则,第二分配单元,包括:第一分配子单元,用于从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,其中,第二链路许可带宽为第一请求带宽和第一剩余可用带宽中的最小值;更新子单元,用于更新第一链路的剩余可用带宽为第二剩余可用带宽,其中,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;第二分配子单元,用于从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
另一种情况下,若第一目标优先级和第二目标优先级相同,则,第二分配单元,具体用于:按照预设的分配算法,从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,预设的分配算法为最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可以理解的是,第一带宽请求消息中携带第一流量的第一流量优先级,第二带宽请求消息中携带第二流量的第二流量优先级;获取单元,包括:第一确定子单元,用于依据第一流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级;第二确定子单元,用于依据第二流量优先级和第二路径包括的单跳链路数量,为第二流量确定第二目标优先级;其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
需要说明的是,第七方面提供的第三节点的各种可能的实现方式以及达到的技术效果,可以参照前述第三方面提供的方法的介绍。
第八方面,本申请实施例还提供了一种第二节点,该第二节点为网络设备内的节点,网络设备内还包括第一节点,第二节点包括:第一接收单元和确定单元。其中,第一接收单元,用于接收第一节点发送的第一带宽请求消息,第一带宽请求消息中包括用于指示第一流量的速率的信息,用于向第二节点请求第二节点上出端口的带宽资源,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口,第一流量为待从第一节点向第二节点传输的流量;确定单元,用于根据第一流量的速率和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽。
在第八方面的一些可能实现的方式中,若第二节点上保存有网络设备中各单跳链路的剩余可用带宽,则,确定单元,包括:第一确定子单元,用于根据保存的网络设备中各单跳链路的剩余可用带宽,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径;第二确定子单元,用于基于第一流量的速率、第二节点上出端口的剩余可用带宽、以及至少一条第一路径上各单跳链路的剩余可用带宽,确定第一端口许可带宽。
在第八方面的另一些可能实现的方式中,若第二节点上保存有以第二节点为端点的单跳链路的剩余可用带宽和其他单跳链路的带宽状态,则,确定单元,包括:第三确定子单元,用于根据保存的其他单跳链路的带宽状态,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径;第四确定子单元,用于将第一流量的速率、第二节点上出端口的剩余可用带宽、以及以第二节点为端点的单跳链路的总剩余可用带宽中的最小值,确定为第一端口许可带宽。
在第八方面的再一些可能实现的方式中,若网络设备内还包括管理节点,管理节点不是第二节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,则第二节点还包括:第一发送单元,用于向管理节点发送第一端口许可带宽,以便管理节点基于第一端口许可带宽,为第一流量在第一路径上分配第一目标带宽,并向第一节点发送第一目标带宽。
在第八方面的又一些可能实现的方式中,若网络设备内还包括管理节点,管理节点不是第二节点,管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,则第二节点还包括:第二接收单元,用于接收管理节点发送的第一链路许可带宽;那么,确定单元,具体用于:第三确定单元,用于基于第一链路许可带宽和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽,并将第一端口许可带宽作为第一目标带宽;此时,该第二节点还包括:第二发送单元,用于向第一节点发送第一目标带宽。
需要说明的是,第八方面提供的第二节点的各种可能的实现方式以及达到的技术效果,可以参照前述第四方面提供的方法的介绍。
第九方面,本申请实施例还提供了一种第一节点,该第一节点包括处理器和通信接口;其中,处理器用于执行以上以上第一方面任意一种实现方式下的所述的通信的方法;通信接口,用于实现该第一节点和所属网络设备内的其他节点以及和其他外部设备的通信。
第十方面,本申请实施例还提供了一种管理节点,该管理节点包括处理器和通信接口;其中,处理器用于执行以上以上第二方面任意一种实现方式下的所述的通信的方法;通信接口用于实现所述管理节点和所属网络设备内的其他节点的通信。
第十一方面,本申请实施例还提供了一种第三节点,第三节点包括处理器和通信接口;其中,处理器用于执行以上第三方面任意一种实现方式下的所述的通信的方法;通信接口用于实现所述第三节点和所属网络设备内的其他节点的通信。
第十二方面,本申请实施例还提供了一种第二节点,该第二节点包括处理器和通信接口;其中,处理器用于执行以上第四方面任意一种实现方式下的所述的通信的方法;通信接口用于实现所述第二节点和所属网络设备内的其他节点以及和其他外部设备的通信。
第十三方面,本申请实施例还提供了一种网络设备,该网络设备内包括第一节点和第二节点;其中,第一节点用于接收第一流量,并执行以上第一方面任意一种实现方式下的通信的方法;第二节点用于执行以上第四方面任意一种实现方式下的通信的方法。
在一些可能的实现方式中,该网络设备还可以包括第三节点,该第三节点用于执行以上第三方面任意一种实现方式下的通信的方法。
在另一些可能的实现方式中,该网络设备还包括可以管理节点,管理节点用于执行以上第二方面任意一种实现方式下的通信的方法。
第十四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行以上第一方面~第四方面任意一种实现方式下的通信的方法。
第十五方面,本申请实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行前述第一方面~第四方面任意一种实现方式下的通信的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一网络设备的结构示意图;
图2a为本申请实施例中多网络设备组成的环网系统200的结构示意图;
图2b为本申请实施例中网络设备250的结构示意图;
图2c为本申请实施例中网络设备260的结构示意图;
图3为本申请实施例中一种通信方法的流程示意图;
图4为本申请实施例中一种6节点的网络设备400的结构示意图;
图5为本申请实施例中另一种6节点的网络设备500的结构示意图;
图6为本申请实施例中一种通信方法的一示例的流程示意图;
图7为本申请实施例中另一种通信方法的流程示意图;
图8为本申请实施例中再一种通信方法的流程示意图;
图9为本申请实施例中一种通信方法的一实例的流程示意图;
图10为本申请实施例中一种通信方法的另一实例的流程示意图;
图11为本申请实施例中一种通信方法的流程示意图;
图12为本申请实施例中另一种通信方法的流程示意图;
图13为本申请实施例中再一种通信方法的流程示意图;
图14为本申请实施例中又一种通信方法的流程示意图;
图15为本申请实施例中还一种通信方法的流程示意图;
图16为本申请实施例中一种通信方法一示例的流程示意图;
图17为本申请实施例中一种通信方法另一示例的流程示意图;
图18为本申请实施例中第一节点1800的结构示意图;
图19为本申请实施例中管理节点1900的结构示意图;
图20为本申请实施例中第三节点2000的结构示意图;
图21为本申请实施例中第二节点2100的结构示意图;
图22为本申请实施例中一种网络设备2200的结构示意图;
图23为本申请实施例中一种第一节点2300的结构示意图;
图24为本申请实施例中一种管理节点2400的结构示意图;
图25为本申请实施例中一种第三节点2500的结构示意图;
图26为本申请实施例中一种第二节点2600的结构示意图。
具体实施方式
图1示出了单节点网络设备的内部结构,对于单节点网络设备而言,1个网络设备内包括1个交换芯片,1个交换芯片内封装至少1个节点。需要说明的是,本申请实施例中提及的1个节点代表1个die,即,半导体工艺中的一个整片硅片或晶元里面的一个基本划片单元。
但是,随着数据量的暴增,要求网络设备例如网络交换设备的交换能力不断提高。网络设备的交换能力,与该网络设备中封装的节点(英文:die,也称作晶粒)的数量相关,即,网络设备中包括的节点越多,该网络设备的网络侧端口数量就越多,该网络设备就可以提供越强的交换能力。那么,为提高网络设备交换能力,可以通过下述方式增加网络设备中包括的节点数量:
一些情况下,可以将多个如图1所示的网络设备连接为一个环网系统,将环网系统视作一个大的网络设备,例如可以采用如图2a所示的方式,将4个图1所示的网络设备210~240通过连接组成一个环网系统200,该环网系统200可以作为一个大的网络设备使用;其中,网络设备210~240均可以包括一个或者两个交换芯片,每个交换芯片内也可以包括1个或者两个节点。
另一些情况下,还可以在单个网络设备内封装多个节点,作为一个示例例,被封装在该网络设备内的多个节点可以呈现环网结构,即,每个节点有且仅有两个相邻节点,例如:可以采用如图2b所示的方式,在网络设备250内封装8个节点251~258,这8个节点在网络设备250内呈现环网结构,这8个节点可以分别被封装在该网络设备250内的一个或多个交换芯片内。作为另一个示例,被封装在该网络设备内的多个节点可以呈现体网结构,即,每个节点和至少其他三个节点相连,例如:可以采用如图2c所示的方式,在网络设备260内封装4个节点301~304,这4个节点在网络设备260内呈现体网结构,这4个节点可以分别被封装在该网络设备260内的一个或多个交换芯片内。
对于交换能力较强的网络设备,如:上述环网系统200、网络设备250或网络设备260,接收到流量时,目前,通常采用下述方式进行通信:如果最短路径上未发生拥塞,则,该流量通过该最短路径在网络设备内传输,此时,若该流量在该最短路径上发生拥塞,则为了避开拥塞路径,可以确定该源节点和目的节点之间的其他非最短路径,并判断该非最短路径是否拥塞,若该非最短路径不拥塞,则将流量切换到该非最短路径上进行传输。可以理解的是,传输路径发生拥塞,可以是指该路径上的至少一个单跳链路上传输的流量的速率大于该单跳链路的最大物理链路带宽(下文中简称带宽),其中,单跳链路是指路径上两个相邻节点之间的链路,一个路径上至少包括一段单跳链路。
以图2b所示的网络设备250为例,若流量1在该网络设备250内传输,且源节点为节点251,目的节点为节点253,则,能够在该网络设备250内传输该流量1的路径有两条,分别为路径1(即,最短路径):节点251→节点252→节点253,以及路径2(即,非最短路径):节点251→节点258→节点257→节点256→节点255→节点254→节点253。采用上述通信方式,流量1要优先通过路径1传输,如果路径1上的单跳链路1(即,节点251→节点252之间的链路)和/或单跳链路2(即,节点252→节点253)发生拥塞,则,确定该路径1发生拥塞,此时,可以先判断该路径2当前是否发生了拥塞,若未发生拥塞,则将流量1全部切换到该非拥塞的路径2上传输。
但是,目前采用的上述通信方式,由于网络侧端口数量较多,网络设备连续接收并在其中传输流量,该网络设备确定传输该流量的非拥塞路径后,无法确保该流量在其上传输时是否会出现拥塞,那么,当该网络设备中传输的流量增多的情况下,极易导致确定好的用于传输该流量的路径上发生拥塞。此时,发生拥塞的单跳链路对应的节点会缓存拥塞的流量,当多个流量都拥塞在该单跳链路上时,由于同时缓存多个流量,该发生拥塞的单跳链路对应的节点极易对缓存的流量进行丢包等异常处理,这样,导致流量无法正常在该网络设备的节点之间传输。
基于此,在本申请实施例中,在网络设备内传输流量之前,预先为该流量判断传输路径上是否有足够的带宽,在确定传输路径上有被许可的带宽可以用于传输该流量后,才将该流量中被许可的带宽对应的部分在该传输路径上利用被许可的带宽传输。这样,通过预先为该流量确定的传输路径上的带宽,使得流量可以基于该路径上被许可的带宽进行传输,确保流量在路径上传输不发生拥塞,可以有效避免目前通信方式中,在传输流量时路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。
举例来说,本申请实施例的场景之一,可以是应用到如图2b所示的网络设备250中。假设流量2的速率为0.5,其源节点为节点251,目的节点为节点254,则,能够在该网络设备250内传输该流量2的路径有两条,分别为路径3(即,最短路径):节点251→节点252→节点253→节点254,以及路径4(即,非最短路径):节点251→节点258→节点257→节点256→节点255→节点254;假设节点251→节点252、节点252→节点253和节点253→节点254的剩余可用带宽分别为0.4、0.5和0.6,节点251→节点258、节点258→节点257、节点257→节点256、节点256→节点255和节点255→节点254的剩余可用带宽分别为0.2、0.3、0.5、0.1和0.7。
基于本申请实施例对应的通信方式,在网络设备250内传输该流量2的过程可以包括:第一步,为流量2优先在路径3上申请0.5的请求带宽1,即,从路径3包括的3段单跳链路的剩余可用带宽0.4、0.5和0.6中,申请带宽许可,分别得到许可带宽为0.4、0.5和0.5,那么,最终可以确定该路径3上许可给流量2的目标带宽1为0.4;第二步,确定该流量2还剩(0.5-0.4)=0.1的速率未申请到带宽;第三步,为流量2在路径4上申请0.1的请求带宽2,即,从路径4包括的5段单跳链路的剩余可用带宽0.2、0.3、0.5、0.1和0.7中,申请带宽许可,分别得到许可带宽为0.1、0.1、0.1、0.1和0.1,那么,最终可以确定该路径4上许可给流量2的目标带宽2为0.1;第四步,流量2中的五分之四的流量21,基于目标带宽1从路径3传输至目的节点254,流量2中剩余的五分之一的流量22,基于目标带宽2从路径4传输至目的节点254。如此,确保了流量2可以有效的在网络设备250内被传输。
需要说明的是,本申请实施例中为了方便描述,将流量的速率以及带宽以1.0以内的数据表示,这些数据泛指一个标准下的网络带宽。例如:1.0可以视作1份带宽,具体可以表示400Gbps(其中,Gbps位交换带宽单位,1Gbps表示每秒1000兆位)、800Gbps等任意数值的带宽,若1.0指代400Gbps的带宽,那么,0.5表示200Gbps的带宽。
可以理解的是,上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景。
在介绍本申请实施例之前,先对本申请实施例中涉及的基础概念以及实现方式进行说明。
可以理解的是,网络设备可以通过其上的多个端口分别和其他外部设备连接,进行流量的交互。当流量从外部设备通过网络设备的某个端口对应的节点进入该网络设备,那么,该节点为在该网络设备内传输该流量的源节点;当流量通过某个节点对应的端口从该网络设备发出,传输至外部设备,那么,该节点为在该网络设备内传输该流量的目的节点。
对于包括多个节点的网络设备,流量在该网络设备内的路径至少有两条,作为一个示例,若该网络设备内的多个节点构成环网结构,那么,任何进入该网络设备的流量在该网络设备内传输的路径均只有两条;作为另一个示例,若该网络设备内的多个节点构成体网结构,那么,任何进入该网络设备的流量在该网络设备内传输的路径均大于两条。其中,每条路径都包括至少2个节点,相邻节点之间的链路称为一段单跳链路,也即,每条路径都包括至少一段单跳链路。
具体实现时,由于网络设备内各节点均可以同时执行接收、传输以及发送流量的操作,所以,该网络设备内各单跳链路的带宽随时都在发生着变化,基于此,为了可以通过申请和许可单跳链路上的带宽,实现网络设备内流量的有序和有效的传输,需要对网络设备内各单跳链路上的带宽进行实时管控。
管控网络设备内各单跳链路上的带宽的功能,可以通过下述方式实现:第一种可能的实现方式中,该网络设备可以包括管理节点,该管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配该网络设备中所有单跳链路的带宽资源;第二种可能的实现方式中,该网络设备内的每个节点单独保存该节点直接相连的单跳链路的剩余可用带宽,各节点独立管理和分配其对应的单跳链路的带宽资源。
对于第一种可能的实现方式,一种情况下,该管理节点可以是网络设备内专门管理和分配该网络设备中所有单跳链路带宽资源的节点,该管理节点不参与流量的传输,但可以和网络设备中所有用于传输流量的节点进行数据交互,实现对各单跳链路带宽资源的管理和分配。另一种情况下,该管理节点也可以是网络设备内用于实现流量传输的某个节点,该节点同时具备了管理和分配该网络设备中所有单跳链路带宽资源的功能。可以理解的是,管理节点可以是一个,也可以是多个,每个管理节点管理其对应的单跳链路的带宽资源。通过管理节点统一管理和分配各单跳链路带宽资源的详细说明,可以参见下述图3所示实施例中S11~S14或S21~S24对应实施例的相关说明。
对于第二种可能的实现方式,每个节点只可以响应对该节点对应的单跳链路带宽资源的请求,从该节点对应的单跳链路的剩余可用带宽中为许可带宽资源;而对于其他单跳链路带宽资源的请求,该节点不作处理,直接转发给直到该请求到达所请求带宽资源的单跳链路对应的节点处,由该所请求带宽资源的单跳链路对应的节点进行带宽的许可。通过各节点分别管理和分配各单跳链路带宽资源的详细说明,可以参见下述图3所示实施例中S31~S34 S41~S45、S51~S55或S61~S66对应实施例的相关说明。
下面结合附图,通过实施例来详细说明本申请实施例中的通信方法的具体实现方式。
图3示出了本申请实施例中的一种通信方法的流程示意图。参见图3,该方法应用于网络设备中的节点1,该网络设备内还可以包括节点2。该网络设备可以为环网结构或体网结构,其中,环网结构是指该网络设备内的每个节点有且仅有两个相邻的节点,体网结构是指网络设备内的每个节点和至少其他三个节点相连。当流量1进入该网络设备内,从节点1传输至节点2,从节点2的出端口传输至其他网络设备。流量1在该网络设备内进行通信的方法例如可以包括下述步骤301~步骤302:
步骤301,节点1获取流量1的路径1的目标带宽1,该路径1为从节点1传输流量1到节点2的路径,目标带宽1不大于路径1上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路。
可以理解的是,节点1作为该流量1在网络设备中的源节点,当节点1接收到流量1后,为了确保流量1可以在网络设备内有效的传输,节点1可以为该流量1请求带宽资源,并按照被许可的带宽资源进行传输。
对于流量1的路径1,若网络设备内由管理节点管理和分配该网络设备内各单跳链路的剩余可用带宽,那么,一种情况下,该路径1可以是节点1为流量1确定的,即,节点1接收到流量1后,根据该流量1中携带的信息,确定源节点为节点1,目的节点为节点2,从而可以计算路径1;另一种情况下,该路径1也可以是管理节点为流量1确定的,即,节点1接收到流量1后,向管理节点发送带宽请求消息,该带宽请求消息中携带该流量1的源节点和目的节点信息,管理节点可以基于该带宽请求消息为流量1确定路径1。若由各节点单独管理和分配该网络设备内各单跳链路的剩余可用带宽,那么,该节点1在接收到流量1后,根据该流量1中携带的源节点和目的节点的信息,可以计算路径1。需要说明的是,本申请实施例中,均是以路径1位节点1到节点2的一条路径为例进行描述的,而路径1可以是节点1到节点2的一条路径,也可以指示节点1到节点2的多条路径,在本申请实施例中不作具体限定。
若由管理节点管理和分配该网络设备内各单跳链路的带宽资源,则,步骤301可以通过实现方式实现:
在一些可能的实现方式中,节点1可以获得路径1上各单跳链路的链路带宽1,并将各单跳链路的链路带宽1的最小值确定为目标带宽1。
作为一个示例,该步骤301具体可以包括:S11,节点1接收到流量1后,该节点1向管理节点发送带宽请求消息1,该带宽请求消息1中携带用于指示该流量1的速率1的信息,用于为流量1向管理节点请求带宽资源;S12,管理节点从路径1对应的各单跳链路的剩余可用带宽中,为该流量1在各单跳链路分配链路许可带宽1,其中,对于同一单跳链路,分配的链路许可带宽1不大于流量1的速率和其上剩余可用带宽的最小值,即,链路许可带宽1≤min{流量1的速率,剩余可用带宽};S13,管理节点基于路径1上各单跳链路的链路许可带宽1,确定目标带宽1;S14,管理节点将目带宽1发送给节点1。其中,该路径1可以是该管理节点确定的,也可以是节点1确定并携带在带宽请求消息1中的。
可以理解的是,流量1的速率的信息,一种情况下,可以是流量1的速率本身,另一种情况下,如果是周期性发送带宽请求消息1,也可以是下一周期内要发送的流量1的数据量。本申请实施例中,以流量1的速率的信息即为流量1的速率本身为例进行说明。
其中,S12可以通过至少两种实现方式实现,一种方式下,管理节点可以同时为流量1在路径1上各单跳链路分配链路许可带宽1,具体过程可以包括:S12a1,管理节点同时为流量1在路径1上各单跳链路申请数值为流量1的速率的带宽资源,分别获得链路许可带宽2,其中,对于每个单跳链路,其链路许可带宽2为该单跳链路的剩余可用带宽和流量1的速率中的最小值,各单跳链路的链路许可带宽2可以相等,也可以不相等;S12a2,该管理节点在各单跳链路的链路许可带宽2中,选择最小值,作为该管理节点为该流量1在路径1上分配的链路许可带宽1。另一种方式下,管理节点也可以为流量1在路径1上各单跳链路分别分配链路许可带宽1,具体过程可以包括:S12b1,管理节点为流量1申请路径1上节点1到节点3的单跳链路1的请求带宽1(该请求带宽1的值可以取流量1的速率),获得链路许可带宽2,其中,链路许可带宽2为该单跳链路1的剩余可用带宽和请求带宽1中的最小值;S12b2,管理节点为流量1申请路径1上节点3到节点4的单跳链路2的请求带宽2,获得链路许可带宽3,其中,请求带宽2不大于链路许可带宽2,通常取请求带宽2等于链路许可带宽2,而链路许可带宽3为该单跳链路2的剩余可用带宽和请求带宽2中的最小值;以此类推,直到S12bn,管理节点为流量1申请路径1上节点n+1到节点2的单跳链路n的请求带宽n,获得链路许可带宽n+1,其中,请求带宽n不大于链路许可带宽n,通常取请求带宽n等于链路许可带宽n,而链路许可带宽n+1为该单跳链路n的剩余可用带宽和请求带宽n中的最小值;S12b(n+1),该管理节点确定链路许可带宽n+1为该管理节点为该流量1在路径1上分配的链路许可带宽1。
无论S12通过“S12a1~S12a2”实现,还是通过“S12b1~S12b(n+1)”实现,对于S13,具体可以都可以是:管理节点将为该流量1在路径1上分配的链路许可带宽1直接作为目标带宽1。
举例来说,以图4所示的网络设备400为例,其中,网络设备400包括节点401~节点406以及节点410,其中,节点410为该网络设备的管理节点。假设节点401接收到流量1,该流量1的速率为0.5,目的节点为节点403,路径1对应节点401→节点402→节点403的路径,节点410上保存的该路径上节点401→节点402和节点402→节点403的剩余可用带宽分别为0.4和0.3。若通过“S12a1~S12a2”实现S12,则,具体可以包括:节点410基于0.5和0.4,确定节点401→节点402的链路许可带宽为0.4,同理,节点410基于0.5和0.3,确定节点402→节点403的链路许可带宽为0.3;接着,节点410基于链路许可带宽0.4和链路许可带宽0.3确定目标带宽为0.3。若通过“S12b1~S12b(n+1)”实现S12,则,具体可以包括:节点410基于0.5和0.4,确定节点401→节点402的链路许可带宽为0.4,同理,节点410基于0.4和0.3,确定节点402→节点403的链路许可带宽为0.3;接着,节点410直接将链路许可带宽0.3确定目标带宽为0.3。
在另一些可能的实现方式中,目标带宽1可以是基于节点2上出端口的端口许可带宽1和路径1上的链路许可带宽1确定的,其中,节点2上出端口即为该节点2连接其他网络设备的出端口。
作为一个示例,若管理节点上还保存有该网络设备内各节点连接其他网络设备的出端口的剩余可用带宽,那么,该步骤301具体可以包括:S21,节点1向管理节点发送带宽请求消息1,该带宽请求消息1中携带用于指示流量1的速率的信息,用于向管理节点请求带宽值为流量1的速率的带宽资源;S22,管理节点从节点2上出端口的剩余可用带宽中,以及路径1对应的各单跳链路的剩余可用带宽中,分别为该流量1分配节点2上出端口对应的端口许可带宽1和在路径1上的链路许可带宽1;S23,管理节点基于端口许可带宽1和链路许可带宽1,确定目标带宽1;S24,管理节点将目标带宽1发送给节点1。
其中,S22可以有多种可能的实现方式:
一种方式下,S22具体可以包括:S22a1,管理节点先从节点2上出端口的剩余可用带宽中,为流量1分配端口许可带宽1,其中,该端口许可带宽1为该出端口的剩余可用带宽和流量1的速率的最小值;S22a2,管理节点从路径1上各单跳链路的剩余可用带宽中,为流量1分配链路许可带宽1,其中,每个单跳链路的链路许可带宽1不大于端口许可带宽1和该单跳链路的剩余可用带宽的最小值;S22a3,管理节点基于路径1上的每个单跳链路的链路许可带宽1,确定目标带宽1。其中,S22a2的实现方式可以是管理节点同时基于端口许可带宽1和各单跳链路的剩余可用带宽,为流量1在路径1上各单跳链路分配链路许可带宽1,具体实现可以参见上述实施例中的“S12a1~S12a2”的相关描述;也可以是管理节点为流量1在路径1上各单跳链路分别分配链路许可带宽1,即,基于端口许可带宽1和第一个单跳链路的剩余可用带宽,确定第一个单跳链路的链路许可带宽,再基于第一个单跳链路的链路许可带宽和第二个单跳链路的剩余可用带宽,确定第二个单跳链路的链路许可带宽,以此类推,具体实现可以参见上述实施例中的“S12b1~S12b(n+1)”的相关描述。
举例来说,仍然以图4所示的网络设备400为例,假设节点401接收到流量1,该流量1的速率为0.5,目的节点为节点403,路径1对应节点401→节点402→节点403的路径,节点410上保存的该路径上节点401→节点402和节点402→节点403的剩余可用带宽分别为0.4和0.3,还包括节点403的出端口的剩余可用带宽0.2。那么,S22通过“S22a1~S22a3”实现的过程可以包括:节点410基于0.2和0.5,确定端口许可带宽为0.2;接着,节点410基于0.2和0.4,确定节点401→节点402的链路许可带宽为0.2,同理,节点410基于0.2和0.3,确定节点402→节点403的链路许可带宽为0.2;最后,节点410将链路许可带宽0.2确定目标带宽,即为0.2。
另一种方式下,S22具体可以包括:S22b1,管理节点先从路径1上各单跳链路的剩余可用带宽中,为流量1分配链路许可带宽1,其中,每个单跳链路的链路许可带宽1不大于流量1的速率和该单跳链路的剩余可用带宽的最小值;S22b2,管理节点从节点2上出端口的剩余可用带宽中,为流量1分配端口许可带宽1,其中,该端口许可带宽1为该出端口的剩余可用带宽和各单跳链路的最小链路许可带宽1的最小值;S22b3,管理节点基于端口许可带宽1,确定目标带宽1。
举例来说,仍然以图4所示的网络设备400为例,假设节点401接收到流量1,该流量1的速率为0.5,目的节点为节点403,路径1对应节点401→节点402→节点403的路径,节点410上保存的该路径上节点401→节点402和节点402→节点403的剩余可用带宽分别为0.4和0.3,还包括节点403的出端口的剩余可用带宽0.2。那么,S22通过“S22b1~S22b3”实现的过程可以包括:节点410基于0.5和0.4,确定节点401→节点402的链路许可带宽为0.4,同理,节点410基于0.5和0.3,确定节点402→节点403的链路许可带宽为0.3;接着,节点410确定链路许可带宽的最小值,即为0.3;然后,节点410基于0.3和0.2,确定端口许可带宽为0.2;最后,节点410将端口许可带宽0.2确定目标带宽,即为0.2。
再一种方式下,S22具体还可以是管理节点同时为流量1分别链路许可带宽1和端口许可带宽1,具体过程可以包括:S22c1,管理节点汇总路径1上各单跳链路的剩余可用带宽,获得各单跳链路的剩余可用带宽的最小值,作为新的请求带宽1;S22c2,管理节点从节点2上出端口的剩余可用带宽中,为流量1分配端口许可带宽1,其中,该端口许可带宽1为该出端口的剩余可用带宽和新的请求带宽1的最小值;S22c3,管理节点从路径1上各单跳链路的剩余可用带宽中,为流量1分配链路许可带宽1,其中,每个单跳链路的链路许可带宽1不大于端口许可带宽1和该单跳链路的剩余可用带宽的最小值;S22c4,管理节点基于链路许可带宽1,确定目标带宽1。
举例来说,仍然以图4所示的网络设备400为例,假设节点401接收到流量1,该流量1的速率为0.5,目的节点为节点403,路径1对应节点401→节点402→节点403的路径,节点410上保存的该路径上节点401→节点402和节点402→节点403的剩余可用带宽分别为0.4和0.3,还包括节点403的出端口的剩余可用带宽0.2。那么,S22通过“S22c1~S22c4”实现的过程可以包括:节点410基于0.4和0.3,确定较小的值为新的请求带宽,即,确定新的请求带宽为0.3;接着,节点410基于0.2和0.3,确定端口许可带宽为0.2;然后,节点410基于0.2和0.4,确定节点401→节点402的链路许可带宽为0.2,同理,节点410基于0.2和0.3,确定节点402→节点403的链路许可带宽为0.2;最后,节点410将链路许可带宽0.2确定目标带宽,即为0.2。
作为另一个示例,若管理节点上不保存网络设备内各节点连接其他网络设备的出端口的剩余可用带宽,而由各节点保存自身的出端口的剩余可用带宽,那么,一种情况下,该步骤301具体可以包括:节点1向管理节点请求并获得路径1上的链路许可带宽1,向目的节点2请求并获得出端口的端口许可带宽1,节点1或管理节点接收到目的节点2发送的端口许可带宽1,基于端口许可带宽1和链路许可带宽1,确定目标带宽1。
举例来说,仍然以图4所示的网络设备400为例,假设节点401接收到流量1,该流量1的速率为0.5,目的节点为节点403,路径1对应节点401→节点402→节点403的路径,节点410上保存的该路径上节点401→节点402和节点402→节点403的剩余可用带宽分别为0.4和0.3,还包括节点403的出端口的剩余可用带宽0.2。那么,一种情况下,获得目标带宽1的过程可以包括:节点401向节点410申请路径1上0.5的带宽,获得0.3的链路许可带宽1;接着,节点401向节点403申请出端口上0.3的带宽,获得0.2的端口许可带宽1;最后,节点401将端口许可带宽0.2确定目标带宽,即为0.2。另一种情况下,获得目标带宽1的过程可以包括:节点401向节点403申请出端口上0.5的带宽,获得0.2的端口许可带宽1;接着,点401向节点410申请路径1上0.2的带宽,获得0.2的链路许可带宽1;最后,节点401将链路许可带宽0.2确定目标带宽,即为0.2。再一种情况下,获得目标带宽1的过程可以包括:节点410汇总路径1上两个单跳链路的剩余可用带宽的最小值,即0.3,发送给节点401;接着,节点401向节点403申请出端口上0.3的带宽,获得0.2的端口许可带宽1;接着,点401向节点410申请路径1上0.2的带宽,获得0.2的链路许可带宽1;最后,节点401将链路许可带宽0.2确定目标带宽,即为0.2。
该由各节点保存自身的出端口的剩余可用带宽的示例种,另一种情况下,该步骤301具体还可以包括:节点1向管理节点请求并获得路径1上的链路许可带宽1,其中,该链路许可带宽1为流量1的速率和路径1上各单跳链路的剩余可用带宽的最小值;管理节点向目的节点2请求并获得该节点2上出端口的端口许可带宽1,该端口许可带宽1为该节点2上出端口的剩余可用带宽和链路许可带宽1的最小值;目的节点2可以将端口许可带宽1发送给节点1;节点1可以直接将该端口许可带宽1作为目标带宽1。
再一种情况下,该步骤301具体也可以包括:节点1向目的节点2请求并获得该节点2上出端口的端口许可带宽1,该端口许可带宽1为该节点2上出端口的剩余可用带宽和流量1的速率的最小值;目的节点2向管理节点请求并获得路径1上的链路许可带宽1,其中,该链路许可带宽1为端口许可带宽1和路径1上各单跳链路的剩余可用带宽的最小值;管理节点将链路许可带宽1发送给节点1;该节点1可以直接将该链路许可带宽1作为目标带宽1。
需要说明的是,具体的申请顺序以及依据申请顺序不同而出现不同的申请策略,可以参见从管理节点处申请的具体描述,在此不再赘述。
需要说明的是,该由管理节点管理和分配该网络设备内各单跳链路的带宽资源的场景下的上述实现方式,均是以管理节点只负责该网络设备内带宽资源的管理和分配,而不参与该网络设备内流量的传输;但是,另一些示例中,该管理节点也可以是该网络设备内任意一个参与流量传输的普通节点,例如:节点1为管理节点,该情况下,步骤301具体可以包括:节点1根据保存的路径1上各单跳链路的剩余可用带宽,确定流量1在该路径1的目标带宽1。一个实例中,确定的目标带宽1可以是只考虑路径1上的链路许可带宽1,而不考虑目的节点2上出端口是否有足够的剩余可用带宽,将链路许可带宽1作为目标带宽1,而该目标带宽1(即,链路许可带宽1)为流量1的速率和路径1上各单跳链路的剩余可用带宽的最小值;另一个实例,目标带宽1也可以是结合路径1上各单跳链路的剩余可用带宽和目的节点2上出端口的剩余可用带宽确定的,那么,第一种实现方式可以是:节点1向目的节点2发送带宽请求消息1,其中,带宽请求消息1包括用于指示流量1的速率的信息;目的节点2为流量1确定端口许可带宽1,该端口许可带宽1为节点2上出端口的剩余可用带宽和流量1的速率的最小值,接着,目的节点2可以将该端口许可带宽1发送给节点1,该节点1即可根据保存的路径1上各单跳链路的剩余可用带宽和端口许可带宽1,获得目标带宽1,其中,目标带宽1为端口许可带宽1和路径1上的各单跳链路的剩余可用带宽的最小值;第二种实现方式可以是:节点1根据保存的路径1上各单跳链路的剩余可用带宽和流量1的速率,获得链路许可带宽2,该链路许可带宽2为路径1上各单跳链路的剩余可用带宽和流量1的速率的最小值,接着,节点1可以向目的节点2发送带宽请求消息2,其中,带宽请求消息2包括链路许可带宽2;目的节点2为流量1确定端口许可带宽2,该端口许可带宽2为节点2上出端口的剩余可用带宽和链路许可带宽2的最小值,接着,目的节点2可以将该端口许可带宽2发送给节点1,该节点1即可直接将该端口许可带宽2确定为目标带宽1。可见,无论管理节点为只负责该网络设备内带宽资源的管理和分配,而不参与该网络设备内流量的传输的节点,还是既负责该网络设备内带宽资源的管理和分配又参与该网络设备内流量的传输的节点,管理节点对该网络设备内带宽资源的管理和分配的过程,管理和分配网络设备内流量的传输的方式均类似。
需要说明的是,在一些具体的场景中,节点1和目的节点2之间可能有多条路径,而能够给流量1提供目标带宽的路径也不止一条,在能够给流量1提供目标带宽的路径中,某一条路径上提供给流量1的目标带宽1很可能小于该流量1的速率,此时,可以向能够给流量1提供目标带宽的多条路径均申请目标带宽,即,将能够给流量1提供目标带宽的多条路径中每条路径上各单跳链路的剩余可用带宽的最小值作为该条路径的链路许可带宽,将各路径对应的链路许可带宽的和作为为该流量1最终申请到的总目标带宽。也就是说,一种情况下,本申请实施例中的路径1可以视作将能够给流量1提供目标带宽的多条路径,目标带宽1即为该多条路径的许可的目标带宽的总和;另一种情况下,也可以将能够给流量1提供目标带宽的多条路径中的任意一条路径均作为路径1,执行一次本申请实施例提供的方法,即,将一条能够给流量1提供目标带宽的路径先作为路径1,申请到目标带宽1,若申请到的目标带宽1小于流量1的速率,可以继续将另一条能够给流量1提供目标带宽的路径再作为路径1,申请到目标带宽2,若申请到的目标带宽1和目标带宽2的总和还小于流量1的速率,则继续将再一条能够给流量1提供目标带宽的路径再作为路径1去申请更多的目标带宽,直至所有申请的目标带宽之和达到流量1的速率或对能够给流量1提供目标带宽的路径均进行申请为止。
需要说明的是,若管理节点在为流量1分配路径1上的带宽资源时,该路径1上的各单跳链路中,至少一个单跳链路的剩余可用带宽为零,则,本申请实施例还可以包括:节点1获得分配失败通知消息,该分配失败通知消息用于告知节点1无法为流量1在路径1上分配带宽。这样,可以节约节点1通过上述任一实现方式为流量1申请和获得路径1上的目标带宽1的过程,从而可以方便为该流量1申请具有有效带宽资源的其他路径上的带宽资源,一定程度上可以提高流量的传输效率。
需要说明的是,该由管理节点管理和分配该网络设备内各单跳链路的带宽资源的场景下,管理节点无论同时为流量1在路径1上各单跳链路分配链路许可带宽1,还是逐跳分配,管理节点均可以在获得目标带宽1后,更新其上保存的所有单跳链路的剩余可用带宽,即,为该流量1分配目标带宽1之前路径1的各单跳链路的剩余带宽的基础上,减去该目标带宽1,将差值分别作为各单跳链路更新后的剩余可用带宽。
这样,该场景下,在网络设备内传输流量之前,预先为该流量申请传输路径上交换侧链路以及出端口的带宽资源,并获得分配的链路许可带宽和目的节点出端口对应的端口许可带宽,能够确保后续该流量在该路径上实现非拥塞传输,并有效的从该出端口传输至其他网络设备,为下述步骤302提供了数据基础。
若由各节点管理和分配其对应单跳链路的带宽资源,则,步骤301可以通过实现方式实现:
在一些可能的实现方式中,步骤301具体可以包括:S31,节点1接收到流量1后,该节点1确定传输该流量1的路径1;S32,节点1向路径1上的各单跳链路对应的节点发送带宽请求消息,该带宽请求消息中携带用于指示流量1的速率的信息,例如该流量1的速率本身;S33,各单跳链路对应的节点为流量1预分配链路许可带宽1,并将链路许可带宽1分别发送给节点1;S34,节点1从各单跳链路对应的链路许可带宽1中,确定目标带宽1。
举例来说,以图5所示的网络设备500为例,其中,网络设备500包括节点501~节点506,其中,节点501保存节点506和节点501之间的剩余可用带宽,节点502保存节点501和节点502之间的剩余可用带宽,节点503保存节点502和节点503之间的剩余可用带宽,以此类推,各节点保存其对应的单跳链路的剩余可用带宽。假设节点501接收到流量1,该流量1的速率为0.5,目的节点为节点503,路径1对应节点501→节点502→节点503的路径,节点501→节点502和节点502→节点503的剩余可用带宽分别为0.4和0.3。那么,S31~S34的过程具体可以包括:节点501向节点502申请节点501→节点502上0.5的请求带宽,并向节点503申请节点502→节点503上0.5的请求带宽;接着,节点502向节点501返回0.4的链路许可带宽1,节点503向节点501返回0.3的链路许可带宽1;然后,节点501从0.4和0.3中,选择较小的0.3作为目标带宽1。
需要说明的是,在本申请实施例中由各节点管理和分配其对应单跳链路的带宽资源的场景下,每个节点负责管理和分配带宽资源的单跳链路(即,每个节点对应的单跳链路)可以是指以该节点为端点的单跳链路。第一种情况下,可以是该节点与任意一个相邻的节点之间的一条单跳链路,例如:上述举例中,节点501对应的单跳链路为节点501和其相邻的节点506之间的单跳链路,节点502对应的单跳链路为节点502和其相邻的节点501之间的单跳链路,以此类推。第二种情况下,也可以是该节点到所有相邻节点的所有单跳链路,例如:以图5为例,其中,节点501对应的单跳链路为:节点501→节点506以及节点501→节点502两条单跳链路;节点502对应的单跳链路为:节点502→节点501以及节点502→节点503两条单跳链路;节点503对应的单跳链路为:节点503→节点502以及节点503→节点504两条单跳链路,以此类推,各节点保存其对应的单跳链路的剩余可用带宽,该情况下,假设节点501接收到流量1,该流量1的速率为0.5,目的节点为节点503,路径1对应节点501→节点502→节点503的路径,节点501→节点502和节点502→节点503的剩余可用带宽分别为0.4和0.3。那么,S31~S34的过程具体可以包括:节点501自己从保存的节点501→节点502的剩余可用带宽中为流量1申请0.5的请求带宽,并向节点502申请节点502→节点503上0.5的请求带宽;接着,节点501确定在节点501→节点502上许可的0.4的链路许可带宽1,节点502向节点501返回在节点502→节点503上许可的0.3的链路许可带宽1;然后,节点501从0.4和0.3中,选择较小的0.3作为目标带宽1。第三种情况下,也可以是节点的所有相邻节点到该节点的所有单跳链路,例如:以图5为例,其中,节点501对应的单跳链路为:节点506→节点501以及节点502→节点501两条单跳链路;节点502对应的单跳链路为:节点501→节点502以及节点503→节点502两条单跳链路;节点503对应的单跳链路为:节点502→节点503以及节点504→节点503两条单跳链路,以此类推,各节点保存其对应的单跳链路的剩余可用带宽,该情况下,假设节点501接收到流量1,该流量1的速率为0.5,目的节点为节点503,路径1对应节点501→节点502→节点503的路径,节点501→节点502和节点502→节点503的剩余可用带宽分别为0.4和0.3。那么,S31~S34的过程具体可以包括:节点501向节点502申请节点501→节点502上0.5的请求带宽,并向节点503申请节点502→节点503上0.5的请求带宽;接着,节点502向节点501返回在节点501→节点502上许可的0.4的链路许可带宽1,节点503向节点501返回在节点502→节点503上许可的0.3的链路许可带宽1;然后,节点501从0.4和0.3中,选择较小的0.3作为目标带宽1。
在另一些可能的实现方式中,步骤301具体可以包括:S41,节点1接收到流量1后,该节点1确定传输该流量1的路径1;S42,节点1向目的节点2上出端口申请请求带宽1,并且,节点1向各单跳链路对应的节点申请请求带宽1,该请求带宽1可以是该流量1的速率;S43,目的节点2将许可的端口许可带宽1发送给节点1;S44,路径1上的各单跳链路对应的节点将许可的链路许可带宽1分别发送给节点1;S45,节点1基于端口许可带宽1和各单跳链路对应的链路许可带宽1,确定目标带宽1,即,节点1将端口许可带宽1和各单跳链路对应的链路许可带宽1中的最小值作为目标带宽1。
举例来说,仍以图5所示的网络设备500为例。假设节点501接收到速率为0.5的流量1,目的节点为节点503,路径1对应节点501→节点502→节点503的路径,节点501→节点502和节点502→节点503的剩余可用带宽分别为0.4和0.3,节点503的出端口的剩余可用带宽为0.2。那么,S41~S45的过程具体可以包括:节点501向节点502申请节点501→节点502上0.5的请求带宽,并向节点503申请节点502→节点503上0.5的请求带宽,向节点503申请出端口上0.5的请求带宽;接着,节点502向节点501返回0.4的链路许可带宽1,节点503向节点501返回0.3的链路许可带宽1和0.2的端口许可带宽1;然后,节点501从0.4、0.3和0.2中,选择较小的0.2作为目标带宽1。
在又一些可能的实现方式中,步骤301具体可以包括:S51,节点1接收到流量1后,该节点1确定传输该流量1的路径1;S52,节点1向目的节点2的出端口申请请求带宽1,该请求带宽1可以是该流量1的速率;S52,目的节点2获得节点2上出端口的端口许可带宽1,并将许可的端口许可带宽1发送给节点1,其中,该端口许可带宽1为节点2上出端口的剩余可用带宽和流量1的速率的最小值;S53,节点1向各单跳链路对应的节点申请数值等于该端口许可带宽1的带宽资源;S54,路径1上的各单跳链路对应的节点将许可的链路许可带宽1分别发送给节点1,其中,各单跳链路的链路许可带宽1为端口许可带宽1和该单跳链路的剩余可用带宽的最小值;S55,节点1从各单跳链路对应的链路许可带宽1中,确定目标带宽1,即,节点1将各单跳链路对应的链路许可带宽1中的最小值作为目标带宽1。
举例来说,仍以图5所示的网络设备500为例。假设节点501接收到速率为0.5的流量1,目的节点为节点503,路径1对应节点501→节点502→节点503的路径,节点501→节点502和节点502→节点503的剩余可用带宽分别为0.4和0.3,节点503的出端口的剩余可用带宽为0.2。那么,S51~S55的过程具体可以包括:节点501向节点503申请出端口上0.5的请求带宽;节点503向节点501返回0.2的端口许可带宽1;接着,节点501向节点502申请节点501→节点502上0.2的请求带宽,并向节点503申请节点502→节点503上0.2的请求带宽;节点502向节点501返回0.2的链路许可带宽1,节点503向节点501返回0.2的链路许可带宽1;最后,节点501基于节点502返回的0.2的链路许可带宽1和节点503返回的0.2的链路许可带宽1,确定0.2为目标带宽1。
在再一些可能的实现方式中,步骤301具体可以包括:S61,节点1接收到流量1后,该节点1确定传输该流量1的路径1;S62,节点1向各单跳链路对应的节点申请请求带宽1,该请求带宽1可以是该流量1的速率;S63,路径1上的各单跳链路对应的节点将许可的链路许可带宽1分别发送给节点1,其中,各单跳链路的链路许可带宽1为流量1的速率和该单跳链路的剩余可用带宽的最小值;S64,节点1确定各单跳链路对应的链路许可带宽1的最小值,记作链路许可带宽2,并向目的节点2的出端口申请数值等于该链路许可带2的带宽资源;S65,目的节点2将许可的端口许可带宽1发送给节点1,其中,该端口许可带宽1为链路许可带宽2和节点2上出端口的剩余可用带宽的最小值;S66,节点1可以直接将端口许可带宽1确定为目标带宽1。
举例来说,仍以图5所示的网络设备500为例。假设节点501接收到速率为0.5的流量1,目的节点为节点503,路径1对应节点501→节点502→节点503的路径,节点501→节点502和节点502→节点503的剩余可用带宽分别为0.4和0.3,节点503的出端口的剩余可用带宽为0.2。那么,S61~S65的过程具体可以包括:节点501向节点502申请节点501→节点502上0.5的请求带宽,并向节点503申请节点502→节点503上0.5的请求带宽;节点502向节点501返回0.4的链路许可带宽1,节点503向节点501返回0.3的链路许可带宽1;接着,节点501确定各单跳链路对应的链路带宽1的最小值为0.3,那么,该节点501向节点503申请出端口上0.3的请求带宽;然后,节点503向节点501返回0.2的端口许可带宽1;最后,节点501将该端口许可带宽1作为目标带宽1,即,确定目标带宽1为0.2。
对于该实现场景中的各实现方式,节点1向各单跳链路对应的节点申请请求带宽1的过程,可以是同时申请相同数值的请求带宽;也可以是分别进行申请,且申请的带宽资源的数值为已许可的链路许可带宽的最小值。
举例来说,仍以图5所示的网络设备500为例。假设节点501接收到速率为0.5的流量1,目的节点为节点503,路径1对应节点501→节点502→节点503的路径,节点501→节点502和节点502→节点503的剩余可用带宽分别为0.05和0.1,节点503的出端口的剩余可用带宽为0.2。那么,预先分配目标带宽的过程具体可以包括:节点501向节点503申请出端口上0.5的请求带宽;节点503向节点501返回0.2的端口许可带宽1;接着,节点501向节点503申请节点502→节点503上0.2的请求带宽,该节点503向节点501返回0.1的链路许可带宽1;接着,节点501向节点502申请节点501→节点502上0.1的请求带宽,该节点502向节点501返回0.2的链路许可带宽0.05;最后,节点501将该0.05确定为目标带宽1。
需要说明的是,该由各节点管理和分配其对应单跳链路的带宽资源的场景下的上述实现方式,可以认为是将管理节点对各单跳链路的管理功能分配给该单跳链路对应的节点,每个节点管理其对应的单跳链路的剩余可用带宽。
需要说明的是,每个节点不仅可以保存其对应的单跳链路的剩余可用带宽,还可以保存其他各单跳链路的带宽状态,该带宽状态用于指示其他各单跳链路是否仍然具有剩余可用带宽。那么,目的节点2可以根据根据其上保存的其他单跳链路的带宽状态,确定从节点1到节点2上具有可用带宽资源的至少一条路径1;并且,该目的节点2还可以将流量1的速率、节点2上出端口的剩余可用带宽、以及以节点2为端点的单跳链路的总剩余可用带宽中的最小值,确定为端口许可带宽1,为后续准确、快速的获得目标带宽1提供了数据基础。此外,若该路径1上的各单跳链路中,至少一个单跳链路的带宽状态指示该单跳链路没有剩余可用带宽,则,本申请实施例还可以包括:节点1获得分配失败通知消息,该分配失败通知消息用于告知节点1无法为流量1在路径1上分配带宽,或者,节点1在预设时间(例如:1秒)内未接收到带宽许可消息,则,节点1确定未申请到路径1上的带宽资源,从而不通过路径1发送流量1。这样,可以节约节点1通过上述任一实现方式为流量1申请和获得路径1上的目标带宽1的过程,从而可以方便为该流量1申请具有有效带宽资源的其他路径上的带宽资源,一定程度上可以提高流量的传输效率。
需要说明的是,该场景下,无论节点1同时向各单跳链路对应的节点申请相同数值的请求带宽,还是节点1向各单跳链路对应的节点分别申请请求带宽,在节点1获得目标带宽1后,本申请实施例均可以包括:节点1向该网络设备中的其他节点通告为流量1在路径1申请到的目标带宽1,以便其他节点基于目标带宽1更新该网络设备中各单跳链路的剩余可用带宽。
这样,该场景下,在网络设备内传输流量之前,预先为该流量申请传输路径上交换侧链路以及出端口的带宽资源,并获得分配的链路许可带宽和目的节点出端口对应的端口许可带宽,能够确保后续该流量在该路径上实现非拥塞传输,并有效的从该出端口传输至其他网络设备,为下述步骤302提供了数据基础。
步骤302,节点1根据目标带宽1,通过路径1发送流量1。
具体实现时,当节点1获得流量1在路径1的目标带宽1后,可以确定该流量1中目标带宽1对应的子流量11,并将子流量11通过该路径1发送给节点2,而且,将该子流量11从节点2的出端口传输至其他网络设备。
举例说明,假设流量1的速率为0.5,节点1为该流量1的源节点,节点2为该流量1的目的节点,通过步骤301,节点1获得流量1在路径1的目标带宽1为0.3,那么,该节点1将流量1中五分之三的流量作为子流量11,并将该子流量11通过路径1发送给节点2。
需要说明的是,路径1可以是节点1到节点2的一条路径,也可以是节点1到节点2的多条路径。作为一个示例,该路径1可以是网络设备内节点1到节点2的最短路径,路径1为一条路径的情况具体包括:情况一、网络设备内部的节点呈现环网结构,且该网络设备包括奇数个节点的情况;情况二、网络设备内部的节点呈现环网结构,该网络设备包括偶数个节点,且节点1和节点2为非对角关系的情况;情况三、网络设备内部的节点呈现体网结构,且节点1和节点2之间的最短路径1只有一条的情况。该情况下,通过图3所示实施例即可预先与流量1申请到目标带宽1,并且该流量1可以基于目标带宽1在该路径1上传输,提高传输可靠性。此外,路径1为多条路径的情况具体可以包括:情况一、网络设备内部的节点呈现环网结构,该网络设备包括偶数个节点,且节点1和节点2为对角关系;情况二、网络设备内部的节点呈现体网结构,且节点1和节点2之间的最短路径1可以是多条。该情况下,该路径1为多条包括单跳链路数量相同的路径,可以向该多条路径1申请总数值等于流量1的速率的带宽资源,例如:可以向该多条路径1中的每条路径申请数值等于流量1的速率的N分之一的带宽资源(其中,N为路径1的数量),通过上述图3对应的实施例,可以分别获得多条路径1对应的目标带宽1,从而基于多个目标带宽1,通过该多条路径1传输流量1,实现负载分担。本申请实施例中均是以路径1为节点1和节点2之间的一条最短路径为例进行说明的,路径1为多条路径的实现方式可以参见路径1为一条路径的相关描述。
这样,通过预先为该流量申请传输路径上的带宽,使得流量可以基于该路径上被许可的带宽进行传输,确保流量在路径上传输不发生拥塞,可以有效避免目前通信方式中,在传输流量时路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。
可以理解的是,当为流量1确定的目标带宽1小于该流量1的速率,则,说明该流量1剩余了部分流量未申请到目标带宽,此时,若除了路径1,该网络设备内还存在从节点1到节点2的路径2,该路径2上的各单跳链路上均有剩余可用带宽。那么,本申请实施例还可以包括:为该流量1未申请到目标带宽的子流量12,在路径2上申请带宽资源。具体实现时,如图6所示,本申请实施例还可以包括:
步骤603,节点1获得子流量12在路径2的目标带宽2;
步骤604,节点1基于目标带宽2,通过路径2发送子流量12。
作为一个示例,若由管理节点管理和分配该网络设备内各单跳链路的带宽资源,一种情况下,若该管理节点为节点1,则节点1直接为子流量12确定路径2,并为子流量12在路径2上分配目标带宽2,并通过目标带宽2发送子流量12。另一种情况下,若该管理节点不是节点1,则,节点1向管理节点发送的带宽请求消息还用于向管理节点请求路径2上的各单跳链路的请求带宽2,那么,节点1接收到管理节点1发送的带宽许可消息1不仅包括路径1对应的目标带宽1,还可以包括路径2对应的目标带宽2,此时,节点1可以基于该带宽许可消息1获得目标带宽2,并根据该目标带宽2,通过路径2发送子流量12。
作为另一个示例,若由各节点管理和分配其对应单跳链路的带宽资源,则,节点1在获得目标带宽1之后,即可确定子流量12,该子流量12为流量1中未通过路径1传输的流量;此时,该节点1可以确认该网络设备内从节点1到节点2的路径除了路径1之后,是否还存在路径2,若不存在,则丢弃该子流量12,若存在,则,执行上述步骤603~步骤604,具体过程可以包括:首先,节点1向路径2上的各节点发送带宽请求消息3,用于向各节点对应的单跳链路为子流量12申请请求带宽4,其中,该请求带宽4可以取子流量12的速率;然后,路径2上的各节点基于其对应的单跳链路的剩余可用带宽,为该子流量12分配对应的链路许可带宽2,其中,该每个单跳链路的链路许可带宽2为该单跳链路的剩余可用带宽和请求带宽4中的最小值;接着,各节点将其对应的单跳链路的链路许可带宽2携带在带宽许可消息3中,发送给节点1,该节点1基于所接收到的多个链路许可带宽2,可以确定目标带宽2,例如:节点1可以将多个链路许可带宽2中的最小值作为目标带宽2,并根据该目标带宽2,通过路径2发送子流量12。
需要说明的是,该情况下,为了提高各节点管理和分配其对应单跳链路的带宽资源的准确性,在节点1确定目标带宽2后,还可以通过通告消息向网络设备中的其他节点通告为该子流量12在路径2申请到的目标带宽2,以便该网络设备中的其他节点可以基于该目标带宽2,更新各节点对应管理的单跳链路的剩余可用带宽。
例如:路径2包括节点1到节点3的单跳链路1、节点3到节点4的单跳链路2以及节点4到节点2的单跳链路3,若节点3返回节点1的链路许可带宽2为0.5,节点4返回节点1的链路许可带宽2为0.3,节点2返回节点1的链路许可带宽2为0.4,那么,该节点1确定0.5、0.3和0.4的最小值0.3为目标带宽2,此时,节点1可以通告节点3、节点4和节点2目标带宽2为0.3,基于此,节点3、节点4和节点2可以在分配链路许可带宽2之前的剩余可用带宽中减去0.3,得到节点3、节点4和节点2更新后的剩余可用带宽。
此外,由于本申请实施例所涉及的网络设备具有多个网络侧端口,可以和外部设备进行持续不断的数据交互,故,该网络设备内传输流量的情况较为复杂,可能同时传输多个流量。因此,为了适用于网络设备内复杂多变的流量传输场景,使得为多个流量同时申请同一个单跳链路上的带宽资源时,可以按照一定的规则从该单跳链路的剩余可用带宽中分别为该多个流量有序的分配流量。
可以理解的是,本申请实施例引入目标优先级的概念,该目标优先级可以是基于流量的流量优先级确定的,也可以是基于传输流量的路径包括的单跳链路的数量确定的,还可以基于流量的流量优先级以及传输流量的路径包括的单跳链路的数量共同确定的。
需要说明的是,流量优先级可以是流量传输过程中携带的信息,具体可以基于服务质量(英文:Quality of Service,简称:QoS)概念中的优先级标识确定的流量优先级,其中,QoS中优先级从高到低的流量可以包括:类选择码(英文:class selector,简称:CS)流量、加速转发(英文:Expedited Forwarding,简称:EF)流量、确保转发(英文:assuredforwarding,简称:AF)流量和尽力而为(英文:best effort,简称:BE)流量。本申请实施例中的流量优先级可以是基于该流量在QoS概念中对应的优先级确定的,例如,假设CS流量对应的流量优先级为1,EF流量对应的流量优先级为2,AF流量对应的流量优先级为3,BE流量对应的流量优先级为4,那么,若流量1为BE流量,则,该流量1的流量优先级为4,若流量2为AF流量,则,流量2的优先级为3。
若目标优先级基于流量的流量优先级以及传输流量的路径包括的单跳链路的数量共同确定的,那么,目标优先级可以和流量优先级正相关,且目标优先级可以和路径包括的单跳链路数量负相关。一种情况下,当流量优先级相同时,路径包括的单跳链路的数量越多,表示该流量的传输路径越长,则,该流量的目标优先级越低。另一种情况下,当路径包括的单跳链路的数量相同时,该流量的流量优先级越高,则,该流量的目标优先级越高。
假设流量优先级包括1~4级,一种情况下,确定流量的目标优先级的方法,具体可以包括:优先考虑流量优先级,再考虑传输距离(即,路径包括的单跳链路的数量),例如:参见图4所示的网络设备,路径包括的单跳链路数量最小为1,最大为5,那么,确定20级的目的优先级,具体参见下表1所示:
表1一种目的优先级确定示例
另一种情况下,确定流量的目标优先级的方法,具体还可以包括:优先考虑传输距离(即,路径包括的单跳链路的数量),再考虑流量优先级,例如:参见图4所示的网络设备,路径包括的单跳链路数量最小为1,最大为5,那么,确定20级的目的优先级,具体参见下表2所示:
表2另一种目的优先级确定示例
需要说明的是,若流量的目标优先级的级数越大,表示该流量的目标优先级越低,反之,若流量的目标优先级的级数越小,表示该流量的目标优先级越高。
在一些可能的实现方式中,在由管理节点管理和分配该网络设备内各单跳链路的带宽资源场景下,如果节点1接收到流量1,节点4接收到流量2,且为流量1和流量4确定的路径上均包括单跳链路2,那么,如图7所示,本申请实施例中在单跳链路2上为流量1和流量2分别带宽资源的过程,具体可以包括:
步骤701,管理节点接收节点1发送的带宽请求消息1和节点4发送的带宽请求消息2;
步骤702,管理节点基于流量1的目标优先级1和流量2的目标优先级2,从单跳链路2的剩余可用带宽中,分别为流量1和流量2分配链路许可带宽3和链路许可带宽4。
可以理解的是,带宽请求消息中携带流量的流量优先级,也可以携带申请的请求带宽,如,带宽请求消息1可以携带请求带宽1,带宽请求消息2可以携带请求带宽2。
具体实现时,管理节点可以解析接收到的带宽请求消息1和带宽请求消息2,获得流量1的流量优先级和流量2的流量优先级;此时,一种情况下,若带宽请求消息中携带为该流量确定的路径,则管理节点可以基于流量优先级和该路径包括的单跳链路的数量,确定该流量的目标优先级,另一种情况下,若带宽请求消息中携带该流量的源节点和目的节点信息,则管理节点可以先为该流量确定路径,再基于流量优先级和该路径包括的单跳链路的数量为该流量确定目标优先级。
作为一个示例,当流量1的目标优先级高于流量2的目标优先级,则步骤702具体可以包括:第一步,管理节点从单跳链路2的剩余可用带宽1中,为流量1分配链路许可带宽3,其中,该链路许可带宽3为请求带宽1和剩余可用带宽1中的最小值;第二步,管理节点更新单跳链路2的剩余可用带宽为剩余可用带宽2,该剩余可用带宽2为剩余可用带宽1与链路许可带宽3的差值;第三步,管理节点从剩余可用带宽2中,为流量2分配链路许可带宽4,链路许可带宽4为请求带宽2和剩余可用带宽2中的最小值。
举例来说,在图4所示的网络设备内,假设流量1、流量2同时申请节点402→节点403的带宽资源,请求带宽分别为:0.4和0.5,且已知该节点402→节点403之间的剩余可用带宽为0.6,那么,分配带宽资源的过程具体可以包括:S71,确定流量1的目标优先级高于流量2的目标优先级;S72,先为流量1分配0.4和0.6中的最小值0.4作为链路许可带宽3;S73,确定节点402→节点403之间的剩余可用带宽为0.6-0.4=0.2;S74,再为流量2分配0.2和0.5中的最小值0.2作为链路许可带宽4。这样,为流量1和流量2分配到节点402→节点403的带宽分别为:0.4和0.2。
作为另一个示例,当流量1的目标优先级等于流量2的目标优先级,则步骤702具体可以包括:第一步,管理节点按照预设的分配算法,从单跳链路2的剩余可用带宽1中,为流量1分配链路许可带宽3,且为流量2分配链路许可带宽4,该链路许可带宽3和链路许可带宽4之和不大于剩余可用带宽1。需要说明的是,该示例中的链路许可带宽3和链路许可带宽4和上一示例中的链路许可带宽3和链路许可带宽4在数值上没有任何的关联关系,只是采用相同的名称表示。
其中,预设的分配算法具体可以是:最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
举例来说,以Max-Min fairness算法为例,在图4所示的网络设备内,假设流量1、流量2、流量3、流量4和流量5同时申请节点402→节点403的带宽资源,请求带宽分别为:0.1、0.2、0.3、0.4和0.5,且已知该节点402→节点403之间的剩余可用带宽为1,那么,基于Max-Min fairness算法分配带宽资源的过程具体可以包括:S71,将剩余带宽1平均分为五份,每份为0.2;S72,给每个流量分配0.2的许可带宽;S73,判断各流量分配的许可带宽和请求带宽的关系,确定流量1的许可带宽比请求带宽大0.1,流量2的许可带宽和请求带宽相等,其余3个流量的许可带宽均小于请求带宽;S74,将流量1中多出的0.1的带宽平均分为3份,每份为0.033;S75,给流量3、流量4和流量5分配0.033的许可带宽;S76,确定该节点402→节点403上无剩余可用带宽,结束分配带宽资源。这样,为流量1、流量2、流量3、流量4和流量5分配到节点402→节点403的带宽分别为:0.1、0.2、0.233、0.233和0.233。
需要说明的是,无论采用何种预设的分配算法进行流量分配,结束分配的条件均可以是:被分配的单跳链路的剩余可用带宽为0,或者,没有需要被分配带宽资源的流量。
在另一些实现方式中,在由各节点管理和分配其对应单跳链路的带宽资源场景下,如果节点5对应管理的单跳链路1,为流量1和流量2的路径所包括的单跳链路,那么,如图8所示,本申请实施例中在单跳链路1上为流量1和流量2分别带宽资源的过程,具体可以包括:
步骤801,节点5接收流量1对应的带宽请求消息1和流量2对应的带宽请求消息2;
步骤802,节点5获取流量1的目标优先级1以及流量的目标优先级2;
步骤803,节点5基于目标优先级1和目标优先级2,从单跳链路1的剩余可用带宽1中,分别为流量1和流量2分配链路许可带宽1和链路许可带宽2。
可以理解的是,带宽请求消息1和带宽请求消息2用于请求节点5为流量1和流量2在单跳链路1分配请求带宽1和请求带宽2,其中,单跳链路1为传输流量1和流量2共同经过的单跳链路。需要说明的是,请求带宽1和请求带宽2可以相同,也可以不同。
具体实现时,节点5可以解析接收到的带宽请求消息1和带宽请求消息2,获得流量1的流量优先级和流量2的流量优先级;而且,带宽请求消息中携带为其对应流量确定的路径,则节点5节点可以基于流量优先级和该路径包括的单跳链路的数量,确定该流量的目标优先级。
作为一个示例,当流量1的目标优先级高于流量2的目标优先级,则步骤803具体可以包括:第一步,节点5从剩余可用带宽1中,为流量1分配链路许可带宽1,其中,链路许可带宽1为请求带宽1和剩余可用带宽1中的最小值;第二步,节点5更新链路1的剩余可用带宽为剩余可用带宽2,其中,剩余可用带宽2为剩余可用带宽1与链路许可带宽1的差值;第三步,节点5从剩余可用带宽2中,为流量2分配链路许可带宽2,链路许可带宽2为请求带宽2和剩余可用带宽2中的最小值。
作为另一个示例,当流量1的目标优先级等于流量2的目标优先级,则步骤803具体可以包括:节点5按照预设的分配算法,从剩余可用带宽1中,为流量1分配链路许可带宽1,且为流量2分配链路许可带宽2,其中,该链路许可带宽2和链路许可带宽1之和不大于剩余可用带宽1。其中,预设的分配算法具体可以是:最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可见,本申请实施例中,不仅通过预先为该流量申请传输路径上的带宽,使得流量可以基于该路径上被许可的带宽进行传输,确保流量在路径上传输不发生拥塞,而且,考虑到网络设备中复杂多变的流量传输场景,提出流量的目标优先级的概念,可以基于流量优先级和路径包括的单跳链路数量共同确定目标优先级,为多个流量同时申请同一个单跳链路上的带宽资源提供了分配规则,确保流量可以有序的被分配到带宽资源,从而能够有效避免目前通信方式中路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。
为了使本申请实施例提供的通信的方法更加清楚,下面以一个实例介绍本申请实施例。
实例一:以图4所示的网络设备为例,假设管理节点410中待分配带宽资源的流量包括流量1和流量2,其中,流量1中携带的信息包括:源节点401、目的节点403、请求带宽为0.5、以及流量优先级为1,流量2中携带的信息包括:源节点404、目的节点402、请求带宽为0.2、以及流量优先级为2;已知节点401和节点402、节点402和节点403、节点403和节点404、节点404和节点405、节点405和节点406、以及节点406和节点401之间的剩余可用带宽为0.4、0.6、0.1、0.2、0.3和0.5。具体实现时,若以流量优先级作为优先考虑的指标,参见图9,本申请实施例可以包括:
步骤901,管理节点410依据表1,确定流量1在节点401→节点402→节点403的目标优先级分别为2,流量1在节点401→节点406→节点405→节点404→节点403的目标优先级分别为4,流量2在节点404→节点403→节点402的目标优先级分别为7,流量2在节点404→节点405→节点406→节点401→节点402的目标优先级分别为9。
步骤902,管理节点410判断各单跳链路的剩余可用带宽是否为0,或,是否没有待分配带宽资源的流量,若是,则执行步骤906;否则,执行步骤903。
步骤903,管理节点410将待分配带宽资源的流量中,目标优先级的级别最小的流量,作为目标流量。
可以理解的是,目标优先级的级别越小,说明该流量的目标优先级越高。
该目标流量在四个循环执行时,依次为,流量1在路径1:节点401→节点402→节点403上、流量1在路径2:节点401→节点406→节点405→节点404→节点403上、流量2在路径3:节点404→节点403→节点402上、以及流量2在路径4:节点404→节点405→节点406→节点401→节点402上。
步骤904,管理节点410为目标流量分配目标带宽1。
需要说明的是,管理节点410为流量1在路径1上分配目标带宽1为0.4,管理节点410为流量1在路径2分配目标带宽1为0.1,管理节点410为流量2在路径3和路径4上分配目标带宽1均为0。
需要说明的是,步骤904的过程可以参见上述图3所示的实施例中的相关描述。
步骤905,管理节点410基于目标带宽1更新其上保存的剩余可用带宽,更新待分配带宽资源的流量,并返回执行步骤902。
步骤906,管理节点410将流量1和流量2已申请到的目标带宽1分别反馈给流量1和流量2的源节点,以指导该流量1和流量2有效的在该网络设备内传输。
实例二:以图5所示的网络设备为例,假设流量3和流量4为待分配带宽资源的流量,其中,流量3中携带的信息包括:源节点501、目的节点504、请求带宽为0.5、以及流量优先级为1,流量2中携带的信息包括:源节点504、目的节点502、请求带宽为0.2、以及流量优先级为3;已知节点501和节点502、节点502和节点503、节点503和节点504、节点504和节点505、节点505和节点506、以及节点506和节点501之间的剩余可用带宽为0.4、0.6、0.1、0.2、0.3和0.5。具体实现时,若以流量优先级作为优先考虑的指标,参见图9,本申请实施例可以包括:
步骤1001,依据表2,确定流量3在节点501→节点502→节点503→节点504的目标优先级分别为9,流量3在节点501→节点506→节点505→节点504的目标优先级分别为9,流量4在节点504→节点503→节点502的目标优先级分别为6,流量4在节点504→节点505→节点506→节点501→节点502的目标优先级分别为14。
步骤1002,判断各单跳链路的剩余可用带宽是否为0,或,是否没有待分配带宽资源的流量,若是,则执行步骤1006;否则,执行步骤1003。
步骤1003,将待分配带宽资源的流量中,目标优先级的级别最小的流量,作为目标流量。
可以理解的是,目标优先级的级别越小,说明该流量的目标优先级越高。
该目标流量在四个循环执行时,依次为,流量4在路径3:节点504→节点503→节点502上、流量3在路径1:节点501→节点502→节点503→节点504上、流量3在路径2:节点501→节点506→节点505→节点504上、以及流量4在路径4:节点504→节点505→节点506→节点501→节点502上。
步骤1004,为目标流量分配目标带宽1。
需要说明的是,流量4在路径3上分配目标带宽1为0.1,流量3在路径2分配目标带宽1为0.2,流量3在路径1上以及流量4在路径4上分配目标带宽1均为0。
需要说明的是,步骤1004的过程可以参见上述图3所示的实施例中的相关描述。
步骤1005,基于目标带宽1更新其上保存的剩余可用带宽,更新待分配带宽资源的流量,并返回执行步骤1002。
步骤1006,按照已申请到的目标带宽1指导该流量1和流量2有效的在该网络设备内传输。
下面,以交互的方式介绍本申请实施例中的一种通信方法的各种可能的实现方式。
第一种实现方式下,如图11所示,网络设备内至少包括第一节点、第二节点,其中,第一节点为管理节点,即,第一节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,那么,本申请实施例具体可以包括:
步骤1101,第一节点接收到第一流量,该第一流量在该网络设备内的目的节点为第二节点。
步骤1102,第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径的第一目标带宽。
其中,步骤1102具体可以通过下述多种示例的实现:
第一种示例下,步骤1102具体可以包括:第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径上的第一链路许可带宽,并将第一链路许可带宽直接作为第一目标带宽,其中,第一链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽中的最小值。
第二种示例下,步骤1102具体可以包括:第一步,第一节点向第二节点发送第一带宽请求消息,其中,第一带宽请求消息包括用于指示第一流量的速率的信息;第二步,第二节点基于第一带宽请求消息,在该第二节点的出端口上为第一流量许可第一端口许可带宽,其中,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口,第一端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值;第三步,第二节点将第一端口许可带宽发送给第一节点;第四步,第一节点根据接收到的第一端口许可带宽和其上保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径上的第一目标带宽,其中,该第一目标带宽为第一端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
第三种示例下,步骤1102具体可以包括:第一步,第一节点根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径上的第一链路许可带宽,其中,第一链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽中的最小值;第二步,第一节点向第二节点发送该第一链路许可带宽;第三步,第二节点基于该第一链路许可带宽和该第二节点上出端口的剩余可用带宽,确定第一端口许可带宽;第四步,第二节点将该第一端口许可带宽发送给第一节点,其中,该第一端口许可带宽为第一链路许可带宽和该第二节点上出端口的剩余可用带宽的最小值;第五步,第一节点直接将该第一端口许可带宽确定为第一目标带宽。
步骤1103,第一节点根据第一目标带宽,在第一路径上传输第一流量。
第二种实现方式下,如图12所示,网络设备内至少包括第一节点和第二节点,其中,第二节点为管理节点,即,第二节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源,那么,本申请实施例具体可以包括:
步骤1201,第一节点接收到第一流量,该第一流量在该网络设备内的目的节点为第二节点。
步骤1202,第一节点向第二节点发送第一带宽请求消息,该第一带宽请求消息中包括用于指示第一流量的速率的信息。
步骤1203,第二节点根据其上保存的第一路径上各单跳链路的剩余可用带宽,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径。
步骤1204,第二节点根据第一流量的速率和其上保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在至少一条第一路径的第一目标带宽。
其中,步骤1204具体可以通过下述多种示例的实现:
第一种示例下,步骤1204具体可以包括:第二节点根据第一流量的速率和其上保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径上的第一链路许可带宽,并将第一链路许可带宽直接作为第一目标带宽,其中,第一链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽中的最小值。
第二种示例下,步骤1204具体可以包括:第二节点根据第一流量的速率、第二节点上出端口的剩余可用带宽和至少一条第一路径上各单跳链路的剩余可用带宽,确定第一端口许可带宽(即,第一流量在第一路径上的第一目标带宽),其中,第一目标带宽为多条第一路径上的可同时分配的带宽之和、第一流量的速率以及第二节点上出端口的剩余可用带宽这三者中的最小值。
步骤1205,第二节点将第一目标带宽发送给第一节点。
步骤1206,第一节点根据第一目标带宽,在第一路径上传输第一流量。
第三种实现方式下,如图13所示,网络设备内至少包括第一节点、第二节点和管理节点,该管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,专门用于管理和分配网络设备中所有单跳链路的带宽资源,那么,本申请实施例具体可以包括:
步骤1301,第一节点接收到第一流量,该第一流量在该网络设备内的目的节点为第二节点。
之后,本申请实施例可以通过步骤130a2~130a5实现,也可以通过步骤130b2~130b7实现,还可以步骤130c2~130c7实现:
第一种示例下,本申请实施例在步骤1301之后可以包括:
步骤130a2,第一节点向管理节点发送第二带宽请求消息,第二带宽请求消息包括用于指示第一流量的速率的信息;
步骤130a3,管理节点为第一流量在第一路径确定第一目标带宽,其中,该第一目标带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值。
步骤130a4,管理节点向第一节点发送第一目标带宽。
步骤130a5,第一节点根据第一目标带宽,在第一路径上传输第一流量。
第二种示例下,本申请实施例在步骤1301之后也可以包括:
步骤130b2,第一节点向第二节点发送第三带宽请求消息,其中,第三带宽请求消息包括用于指示第一流量的速率的信息。
步骤130b3,第二节点为第一流量在第二节点上出端口分配第二端口许可带宽,其中,第二端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值。
步骤130b4,第二节点将第二端口许可带宽发送给管理节点。
步骤130b5,管理节点为第一流量在第一路径确定第一目标带宽,其中,该第一目标带宽为第二端口许可带宽和第一路径上各单跳链路的剩余可用带宽的最小值。
步骤130b6,管理节点向第一节点发送第一目标带宽。
步骤130b7,第一节点根据第一目标带宽,在第一路径上传输第一流量。
第三种示例下,本申请实施例在步骤1301之后也可以包括:
步骤130c2,第一节点向管理节点发送第四带宽请求消息,其中,第四带宽请求消息包括用于指示第一流量的速率的信息。
步骤130c3,管理节点为第一流量在第一路径确定第二链路许可带宽,该第二链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值。
步骤130c4,管理节点将第二链路许可带宽发送给第二节点。
步骤130c5,第二节点根据第二链路许可带宽和该第二节点上出端口的剩余可用带宽,确定第一目标带宽,其中,该第一目标带宽为该第二节点上出端口的剩余可用带宽和第二链路许可带宽的最小值。
步骤130c6,第二节点向第一节点发送第一目标带宽。
步骤130c7,第一节点根据第一目标带宽,在第一路径上传输第一流量。
可以理解的是,上述对于本申请实施例在步骤1301之后实现通信的方法,步骤130a3、步骤130b5和步骤130c3中,管理节点基于其上保存的第一路径上的各单跳链路的剩余可用带宽,确定许可给第一流量的带宽资源的过程,一种情况下,以步骤130c3为例,具体可以包括:针对第一路径上的各单跳链路,管理节点分别确定第一流量的速率和该单跳链路的剩余可用带宽中的最小值,作为该单跳链路的第一链路许可带宽;管理节点将第一路径上各单跳链路的第二链路许可带宽的最小值,确定为第一流量在第一路径上的第二链路许可带宽。另一种情况下,具体也可以包括:针对每个单跳链路,管理节点确定该单跳链路的上一个单跳链路的链路许可带宽(对于第一个单跳链路,其上一个单跳链路的链路许可带宽即为该第一流量的速率)和该单跳链路的剩余可用带宽的最小值,作为该单跳链路的链路许可带宽,并基于该单跳链路的链路许可带宽确定下一个单跳链路的链路许可带宽,以此类推,直到基于倒数第二个单跳链路的链路许可带宽和倒数第一个单跳链路的剩余可用带宽,确定出该倒数第一个单跳链路的链路许可带宽,作为第一流量在第一路径上的第二链路许可带宽。
第四种实现方式下,如图14所示,网络设备内至少包括第一节点和第二节点,每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,用于管理和分配该节点为端点的单跳链路的带宽资源,那么,本申请实施例具体可以包括:
步骤1401,第一节点接收到第一流量,该第一流量在该网络设备内的目的节点为第二节点。
之后,本申请实施例可以通过步骤140a2~140a6实现,也可以通过步骤140b2~140b8实现:
第一种示例下,本申请实施例在步骤1401之后可以包括:
步骤140a2,第一节点向第一路径上的各节点发送第五带宽请求消息,其中,第五带宽请求消息中包括用于指示第一流量的速率的信息。
步骤140a3,第一路径上的各节点为第一流量预分配的第三链路许可带宽。
步骤140a4,第一路径上的各节点将其预分配的第三链路许可带宽发送给第一节点。
步骤140a5,第一节点基于第一路径上的各节点对应的第三链路许可带宽,确定第一目标带宽,其中,第一目标带宽不大于第一路径上的各单跳链路对应的第三链路许可带宽中的最小值。
具体实现时,步骤140a5具体可以包括:第一步,第一节点根据第三链路许可带宽,确定第一流量在第一路径上的第四链路许可带宽,其中,第四链路许可带宽为第一路径上的各单跳链路对应的第三链路许可带宽的最小值;第二步,第一节点向第二节点发送第四链路许可带宽;第三步,第二节点基于第四链路许可带宽确定第一目标带宽,其中,第一目标带宽为第四链路许可带宽和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口;第四步,第二节点将第一目标带宽发送给第一节点。
步骤140a6,第一节点根据第一目标带宽,在第一路径上传输第一流量。
第一种示例下,本申请实施例在步骤1401之后可以包括:
步骤140b2,第一节点向第二节点发送第六带宽请求消息,其中,第六带宽请求消息中包括用于指示第一流量的速率的信息。
步骤140b3,第二节点为第一流量在第二节点上出端口分配的第三端口许可带宽,其中,第三端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口。
步骤140b4,第二节点将第三端口许可带宽发送给第一节点。
步骤140b5,第一节点向第一路径上的各节点发送第七带宽请求消息,其中,第七带宽请求消息中包括第三端口许可带宽。
步骤140b6,第一路径上的各节点将其预分配的第五链路许可带宽发送给第一节点,每个及诶单预分配的第五链路许可带宽为第三端口许可带宽和该节点对应的单跳链路的剩余可用带宽的最小值。
步骤140b7,第一节点将第一路径上的各节点对应的第五链路许可带宽的最小值,确定为第一目标带宽。
步骤140b8,第一节点根据第一目标带宽,在第一路径上传输第一流量。
第五种实现方式下,如图15所示,网络设备内至少包括第一节点和第二节点,每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,以及,该网络设备内其他单跳链路的带宽状态,用于管理和分配该节点为端点的单跳链路的带宽资源,那么,本申请实施例还可以只考虑端口带宽资源,不去预先申请和分配链路带宽资源是否充足,此时,本申请实施例具体可以包括:
步骤1501,第一节点接收到第一流量,该第一流量在该网络设备内的目的节点为第二节点。
步骤1502,第一节点向第二节点发送第一带宽请求消息,其中,该第一带宽请求消息中包括用于指示第一流量的速率的信息,用于向第二节点请求第二节点上出端口的带宽资源,第二节点上出端口为第二节点用于向其它网络设备发送第一流量的出端口,第一流量为待从第一节点向第二节点传输的流量。
步骤1503,第二节点根据第一流量的速率和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽。
具体是现实,步骤1503具体可以包括:第一步,第二节点根据保存的其他单跳链路的带宽状态,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径;第二步,第二节点将第一流量的速率、第二节点上出端口的剩余可用带宽、以及以第二节点为端点的单跳链路的总剩余可用带宽中的最小值,确定为第一端口许可带宽。
步骤1504,第二节点将第一端口许可带宽发送给第一节点。
步骤1505,第一节点根据第一端口许可带宽,在第一路径上传输第一流量;或者,第一节点根据第一端口许可带宽确定第一目标带宽,并基于第一目标带宽在第一路径上传输第一流量。
可见,通过上述五种可能的实现方式,介绍了本申请实施例提供的通信方法,通过在网络设备内传输流量之前,预先为该流量判断传输路径上是否有足够的带宽,在确定传输路径上有被许可的带宽可以用于传输该流量后,才将该流量中被许可的带宽对应的部分在该传输路径上利用被许可的带宽传输。这样,通过预先为该流量确定的传输路径上的带宽,使得流量可以基于该路径上被许可的带宽进行传输,确保流量在路径上传输不发生拥塞,可以有效避免目前通信方式中,在传输流量时路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。
为了适用于网络设备内复杂多变的流量传输场景,使得为多个流量同时申请同一个单跳链路上的带宽资源时,可以按照一定的规则从该单跳链路的剩余可用带宽中分别为该多个流量有序的分配流量,本申请实施例引入目标优先级的概念,该目标优先级可以是基于流量的流量优先级确定的,也可以是基于传输流量的路径包括的单跳链路的数量确定的,还可以基于流量的流量优先级以及传输流量的路径包括的单跳链路的数量共同确定的。本申请实施例中,以基于流量的流量优先级以及传输流量的路径包括的单跳链路的数量共同确定目标优先级为例进行说明。
对于管理节点上保存有网络设备中所有单跳链路的剩余可用带宽,用于管理和分配网络设备中所有单跳链路的带宽资源的场景,若第一节点和第四节点分别为第一流量和第二流量向管理节点请求分配的带宽中包括第一链路的带宽,那么,如图16所示,本申请实施例具体可以包括:
步骤1601,管理节点接收第一节点发送的第一带宽请求消息和第四节点发送的第二带宽请求消息。
其中,第一带宽请求消息包括第一请求带宽,用于为第一流量向管理节点请求第一路径上的带宽资源;第二带宽请求消息包括第二请求带宽,用于为第二流量向管理节点请求第二路径上的带宽资源,其中,第二路径和第一路径均包括第一链路。
步骤1602,管理节点基于第一流量的第一目标优先级和第二流量的第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
作为一个示例,若第一目标优先级高于第二目标优先级,则,该步骤1602具体可以包括:第一步,管理节点从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,第二链路带宽为第一请求带宽和剩余可用带宽中的最小值;第二步,管理节点更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;第三步,管理节点从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
作为另一个示例,若第一目标优先级和第二目标优先级相同,则,该步骤1602具体可以包括:管理节点按照预设的分配算法,从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,预设的分配算法为最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可以理解的是,该实施例中,在步骤1601和步骤1602之间,还可以包括:管理节点依据第一流量的流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级,其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
对于网络设备中每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,用于管理和分配该节点为端点的单跳链路的带宽资源的场景,若第一路径上的中间节点(下文称第三节点)接收到请求,需要分别为第一流量和第二流量分配该第三节点对应的第一链路的带宽,那么,如图17所示,本申请实施例具体可以包括:
步骤1701,第三节点接收第一带宽请求消息和第二带宽请求消息。
其中,第一带宽请求消息用于请求第三节点为第一流量在第一链路分配第一请求带宽,其中,第一链路为传输第一流量的第一路径上的、以第三节点为端点的单跳链路;第二带宽请求消息用于请求第三节点为第二流量在第一链路分配第二请求带宽,其中,第一链路为传输第二流量的第二路径上的、以第三节点为端点的单跳链路。
步骤1702,第三节点获取第一流量的第一目标优先级以及第二流量的第二目标优先级。
其中,第一带宽请求消息中可以携带第一流量的第一流量优先级,第二带宽请求消息中也可以携带第二流量的第二流量优先级;本申请实施例中步骤1702具体可以包括:第三节点依据第一流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级;同理,第三节点依据第二流量优先级和第二路径包括的单跳链路数量,为第二流量确定第二目标优先级;其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
步骤1703,第三节点基于第一目标优先级和第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
作为一个示例,若第一目标优先级高于第二目标优先级,则,该步骤1703具体可以包括:第一步,第三节点从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,其中,第二链路许可带宽为第一请求带宽和第一剩余可用带宽中的最小值;第二步,第三节点更新第一链路的剩余可用带宽为第二剩余可用带宽,其中,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;第三步,第三节点从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
作为另一个示例,若第一目标优先级和第二目标优先级相同,则,该步骤1703具体可以包括:第三节点按照预设的分配算法,从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,预设的分配算法为最大最小公平Max-Minfairness算法、均分算法、轮询调度RR算法或随机分配算法。
可见,本申请实施例中,还考虑到网络设备中复杂多变的流量传输场景,提出流量的目标优先级的概念,可以基于流量优先级和路径包括的单跳链路数量共同确定目标优先级,为多个流量同时申请同一个单跳链路上的带宽资源提供了分配规则,确保流量可以有序的被分配到带宽资源,从而能够有效避免目前通信方式中路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。
此外,在本申请实施例中,如果第一流量的速率大于第一目标带宽,则,第一节点根据第一目标带宽,通过第一路径发送第一流量,具体为:第一节点将第一流量中第一目标带宽对应的第一子流量,通过第一路径发送。
可以理解的是,为了可以确保为流量申请的带宽资源有效且准确,不占用多余的网络资源,造成网络资源的浪费,本申请实施例还需要尽可能高效的对网络设备中的带宽剩余资源进行更新。例如:对于每个节点管理以该节点为端点的单跳链路的带宽资源的场景,本申请实施例还可以包括:第一节点向网络设备中的其他节点通告为第一流量在第一路径申请到的第一目标带宽,以便其他节点基于第一目标带宽更新网络设备中各单跳链路的剩余可用带宽。此时,网络设备中的第三节点接收第一节点发送的通告消息,通告消息用于告知在第一路径上分配给第一流量并用于传输第一流量的第一目标带宽;那么,该第三节点基于第一目标带宽,更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽和第一目标带宽的差值。又例如:对于管理节点统一管理所有单跳链路的带宽资源的场景,本申请实施例还可以包括:管理节点基于第一目标带宽,更新网络设备内各单跳链路的剩余可用带宽。
综上,在本申请实施例提供的通信方法中,在网络设备内传输流量之前,预先为该流量判断传输路径上是否有足够的带宽,在确定传输路径上有被许可的带宽可以用于传输该流量后,才将该流量中被许可的带宽对应的部分在该传输路径上利用被许可的带宽传输。这样,通过预先为该流量确定的传输路径上的带宽,使得流量可以基于该路径上被许可的带宽进行传输,确保流量在路径上传输不发生拥塞,可以有效避免目前通信方式中,在传输流量时路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。而且,还考虑到网络设备中复杂多变的流量传输场景,提出流量的目标优先级的概念,可以基于流量优先级和路径包括的单跳链路数量共同确定目标优先级,为多个流量同时申请同一个单跳链路上的带宽资源提供了分配规则,确保流量可以有序的被分配到带宽资源,从而能够有效避免目前通信方式中路径发生拥塞导致流量无法在该网络设备内传输的问题,提高了流量在网络设备内节点之间传输的有效性和可靠性。
需要说明的是,本申请实施例的相关描述和达到的效果,可以和图3、图7、图8、图9和图10对应实施例的相关描述对应,例如:本申请实施例中的第一节点可以对应于图3所示实施例中的节点1,本申请实施例中的第二节点可以对应于图3所示实施例中的节点2,本申请实施例中的第一流量可以对应于图3所示实施例中的流量1,本申请实施例中的第一路径可以对应于图3所示实施例中的路径1。在本申请实施例中,详细的说明可以参见图3、图7、图8、图9和图10对应实施例的相关描述,不再赘述。
相应的,本申请实施例提供了一种第一节点,如图18所示,该第一节点1800为网络设备内的节点2200,网络设备2200内还包括第二节点,第一节点1800包括:获取单元1801和第一发送单元1802。
其中,获取单元1801用于获取第一流量在第一路径的第一目标带宽,第一路径为从第一节点传输第一流量到第二节点的路径,第一目标带宽不大于第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;第一发送单元1802用于根据第一目标带宽,通过第一路径发送第一流量。
在一些可能的场景中,网络设备2200内还包括管理节点,管理节点上保存有网络设备2200中所有单跳链路的剩余可用带宽,用于管理和分配网络设备2200中所有单跳链路的带宽资源,若管理节点为第一节点,那么,获取单元1801,具体用于:根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径的第一目标带宽。
作为一个示例,该获取单元1801,具体用于根据保存的第一路径上各单跳链路的剩余可用带宽,确定第一流量在第一路径上的第一链路许可带宽,并将第一链路许可带宽作为第一目标带宽,其中,第一链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽中的最小值。
作为另一个示例,该第一节点1800还可以包括:第二发送单元,用于向第二节点发送第一带宽请求消息,其中,第一带宽请求消息包括用于指示第一流量的速率的信息;接收单元,用于接收第二节点发送的第一端口许可带宽,第一端口许可带宽为第二节点基于第一流量的速率为第一流量在第二节点上出端口分配的端口带宽,第二节点上出端口为第二节点用于向其它网络设备2200发送第一流量的出端口,第一端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值。此时,该获取单元1801,具体用于:基于第一端口许可带宽和其上保存的第一路径上各单跳链路的剩余可用带宽,获得第一目标带宽,其中,第一目标带宽为第一端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
在另一些可能的场景中,网络设备2200内还包括管理节点,管理节点上保存有网络设备2200中所有单跳链路的剩余可用带宽,用于管理和分配网络设备2200中所有单跳链路的带宽资源,但管理节点不为第一节点1800。
作为一个示例,该获取单元1801,可以包括:第一发送子单元,用于向管理节点发送第二带宽请求消息,第二带宽请求消息包括用于指示第一流量的速率的信息,以便管理节点为第一流量在第一路径确定第一目标带宽,第一目标带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值;第一接收子单元,用于从管理节点接收第一目标带宽。
作为另一个示例,该获取单元1801,也可以包括:第二发送子单元,用于向第二节点发送第三带宽请求消息,以便第二节点为第一流量在第二节点上出端口分配第二端口许可带宽,并将第二端口许可带宽发送给管理节点,其中,第三带宽请求消息包括用于指示第一流量的速率的信息,第二端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值;第二接收子单元,用于接收管理节点发送的第一目标带宽,其中,第一目标带宽为管理节点确定的、第二端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
作为再一个示例,该获取单元1801,也可以包括:第三发送子单元,用于向管理节点发送第四带宽请求消息,以便管理节点为第一流量在第一路径确定第二链路许可带宽,其中,第四带宽请求消息包括用于指示第一流量的速率的信息,第二链路许可带宽为第一流量的速率和第一路径上各单跳链路的剩余可用带宽的最小值;第三接收子单元,用于从第二节点接收第一目标带宽,其中,第一目标带宽为第二节点确定的、第二节点上出端口的剩余可用带宽和第二链路许可带宽的最小值。
在再一些可能的场景中,若网络设备2200中每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,用于管理和分配该节点为端点的单跳链路的带宽资源。
该场景中,作为一个示例,该获取单元1801,具体包括:第四发送子单元,用于向第一路径上的各节点发送第五带宽请求消息,其中,第五带宽请求消息中包括用于指示第一流量的速率的信息;第四接收子单元,用于接收第一路径上的各节点为第一流量预分配的第三链路许可带宽;第一确定子单元,用于基于第三链路许可带宽,确定第一目标带宽,其中,第一目标带宽不大于第一路径上的各单跳链路对应的第三链路许可带宽中的最小值。其中,第一确定子单元,包括:第二确定子单元,用于根据第三链路许可带宽,确定第一流量在第一路径上的第四链路许可带宽,其中,第四链路许可带宽为第一路径上的各单跳链路对应的第三链路许可带宽的最小值;第五发送子单元,用于向第二节点发送第四链路许可带宽,以便第二节点基于第四链路许可带宽确定第一目标带宽,其中,第一目标带宽为第四链路许可带宽和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备2200发送第一流量的出端口;第五接收子单元,用于接收第二节点发送的第一目标带宽。
作为另一个示例,该获取单元1801,具体包括:第六发送子单元,用于向第二节点发送第六带宽请求消息,其中,第六带宽请求消息中包括用于指示第一流量的速率的信息;第六接收子单元,用于接收第二节点为第一流量在第二节点上出端口分配的第三端口许可带宽,第三端口许可带宽为第一流量的速率和第二节点上出端口的剩余可用带宽的最小值,第二节点上出端口为第二节点用于向其它网络设备2200发送第一流量的出端口;第七发送子单元,用于向第一路径上的各节点发送第七带宽请求消息,其中,第七带宽请求消息中包括第三端口许可带宽;第七接收子单元,用于接收第一路径上的各节点为第一流量预分配的第五链路许可带宽;第三确定子单元,用于将多个第五链路许可带宽的最小值,确定为第一目标带宽。
在一种具体实现方式中,若第一流量的速率大于第一目标带宽,则,第一发送单元1802,具体用于:将第一流量中第一目标带宽对应的第一子流量,通过第一路径发送。
可以理解的是,该第一节点1800还可以包括:第三发送单元,用于向网络设备2200中的其他节点通告为第一流量在第一路径申请到的第一目标带宽,以便其他节点基于第一目标带宽更新网络设备2200中各单跳链路的剩余可用带宽。
需要说明的是,该第一节点1800的各种可能的实现方式以及达到的技术效果,可以参照前述图3、图6~图17所示实施例对应的方法的介绍。
此外,本申请实施例还提供了一种管理节点,如图19所示,该管理节点1900为网络设备2200内的节点,网络设备2200内还包括第一节点和第二节点,管理节点1900包括:第一确定单元1901和第一发送单元1902。
其中,第一确定单元1901用于为第一流量在第一路径上确定第一目标带宽,其中,第一路径为从第一节点传输第一流量到第二节点的路径,第一目标带宽不大于第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;第一发送单元1902用于将第一目标带宽发送给第一节点,以便第一节点基于第一目标带宽在第一路径上发送第一流量。
在一些可能实现的方式中,本申请实施例的管理节点1900还包括:第一接收单元,用于接收第一节点发送的第一带宽请求消息,第一带宽请求消息包括用于指示第一流量的速率的信息;那么,第一确定单元1901,具体用于:基于第一流量的速率和第一路径上的各单跳链路的剩余可用带宽,为第一流量在第一路径上确定第一目标带宽。
作为一个示例,第一确定单元1901,可以包括:第一确定子单元,用于将第一流量的速率和第一路径上的各单跳链路的剩余可用带宽的最小值,作为第一链路许可带宽;第一发送子单元,用于向第二节点发送第二带宽请求消息,以便第二节点基于第一链路许可带宽和第二节点上出端口的剩余可用带宽确定第一目标带宽,其中,第二带宽请求消息中包括第一链路许可带宽,第二节点上出端口为第二节点用于向其它网络设备2200发送第一流量的出端口;第一接收子单元,用于接收第二节点发送的第一目标带宽。其中,第一确定子单元,具体可以包括:第二确定子单元,用于针对第一路径上的各单跳链路,分别确定第一流量的速率和该单跳链路的剩余可用带宽中的最小值,作为该单跳链路的第二链路许可带宽;第三确定子单元,用于将第一路径上各单跳链路的第二链路许可带宽的最小值,确定为第一流量在第一路径上的第一链路许可带宽。
在另一些可能实现的方式中,该管理节点1900还包括:第二接收单元,用于接收第二节点发送的、为第一流量分配的第二节点上出端口的第一端口许可带宽,第二节点上出端口为第二节点用于向其它网络设备2200发送第一流量的出端口;那么,第一确定单元1901,具体用于:基于第一端口许可带宽和第一路径上各单跳链路的剩余可用带宽,获得第一目标带宽,其中,第一目标带宽为端口许可带宽和第一路径上的各单跳链路的剩余可用带宽的最小值。
在再一些可能实现的方式中,管理节点1900还包括:第三接收单元,用于接收第四节点发送的第二带宽请求消息,第二带宽请求消息包括第二请求带宽,用于为第二流量向管理节点请求第二路径上的带宽资源,其中,第二路径和第一路径均包括第一链路;分配单元,用于基于第一流量的第一目标优先级和第二流量的第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
一种情况下,若第一目标优先级高于第二目标优先级,则,分配单元,包括:第一分配子单元,用于从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,第二链路带宽为第一请求带宽和剩余可用带宽中的最小值;更新子单元,用于更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;第二分配子单元,用于从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
另一种情况下,若第一目标优先级和第二目标优先级相同,则,分配单元,具体用于:按照预设的分配算法,从第一链路的第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,预设的分配算法为最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可以理解的是,该管理节点1900还可以包括:第二确定单元,用于依据第一流量的流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级,其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
可以理解的是,该管理节点1900还包括:更新单元,用于基于第一目标带宽,更新网络设备2200内各单跳链路的剩余可用带宽。
需要说明的是,该管理节点1900的各种可能的实现方式以及达到的技术效果,可以参照前述图3、图6~图17所示实施例对应的方法的介绍。
此外,本申请实施例还提供了一种第三节点,参见图20,该第三节点2000为网络设备2200内的节点,网络设备2200内还包括第一节点,第三节点2000包括:第一接收单元2001、第一分配单元2002和发送单元2003。
其中,第一接收单元2001用于接收第一节点发送的第一带宽请求消息,第一带宽请求消息用于请求第三节点为第一流量在第一链路分配第一请求带宽,其中,第一链路为传输第一流量的第一路径上的、以第三节点为端点的单跳链路;第一分配单元2002用于从第一链路的第一剩余可用带宽中,为第一流量在第一链路分配第一链路许可带宽,其中,第一链路许可带宽不大于第一剩余可用带宽和第一请求带宽的最小值;发送单元2003用于向第一节点发送第一链路许可带宽。
在一些可能实现的方式中,该第三节点2000还包括:第二接收单元,用于接收第一节点发送的通告消息,通告消息用于告知在第一路径上分配给第一流量并用于传输第一流量的第一目标带宽;更新单元,用于基于第一目标带宽,更新第一链路的剩余可用带宽为第二剩余可用带宽,第二剩余可用带宽为第一剩余可用带宽和第一目标带宽的差值。
在另一些可能实现的方式中,该第三节点2000还包括:第三接收单元,用于接收第二带宽请求消息,第二带宽请求消息用于请求第三节点为第二流量在第一链路分配第二请求带宽,其中,第一链路为传输第二流量的第二路径上的、以第三节点为端点的单跳链路;获取单元,用于获取第一流量的第一目标优先级以及第二流量的第二目标优先级;第二分配单元,用于基于第一目标优先级和第二目标优先级,从第一链路的第一剩余可用带宽中,分别为第一流量和第二流量分配第二链路许可带宽和第三链路许可带宽。
一种情况下,若第一目标优先级高于第二目标优先级,则,第二分配单元,包括:第一分配子单元,用于从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,其中,第二链路许可带宽为第一请求带宽和第一剩余可用带宽中的最小值;更新子单元,用于更新第一链路的剩余可用带宽为第二剩余可用带宽,其中,第二剩余可用带宽为第一剩余可用带宽与第二链路许可带宽的差值;第二分配子单元,用于从第二剩余可用带宽中,为第二流量分配第三链路许可带宽,第三链路许可带宽为第二请求带宽和第二剩余可用带宽中的最小值。
另一种情况下,若第一目标优先级和第二目标优先级相同,则,第二分配单元,具体用于:按照预设的分配算法,从第一剩余可用带宽中,为第一流量分配第二链路许可带宽,且为第二流量分配第三链路许可带宽,第二链路许可带宽和第三链路许可带宽之和不大于第一剩余可用带宽。其中,预设的分配算法为最大最小公平Max-Min fairness算法、均分算法、轮询调度RR算法或随机分配算法。
可以理解的是,第一带宽请求消息中携带第一流量的第一流量优先级,第二带宽请求消息中携带第二流量的第二流量优先级;获取单元,包括:第一确定子单元,用于依据第一流量优先级和第一路径包括的单跳链路数量,为第一流量确定第一目标优先级;第二确定子单元,用于依据第二流量优先级和第二路径包括的单跳链路数量,为第二流量确定第二目标优先级;其中,目标优先级和流量优先级正相关,且目标优先级和路径包括的单跳链路数量负相关。
需要说明的是,该第三节点2000的各种可能的实现方式以及达到的技术效果,可以参照前述图3、图6~图17所示实施例对应的方法的介绍。
另外,本申请实施例还提供了一种第二节点,如图21所示,该第二节点2100为网络设备2200内的节点,网络设备2200内还包括第一节点,第二节点2100包括:第一接收单元2101和确定单元2102。
其中,第一接收单元2101用于接收第一节点发送的第一带宽请求消息,第一带宽请求消息中包括用于指示第一流量的速率的信息,用于向第二节点请求第二节点上出端口的带宽资源,第二节点上出端口为第二节点用于向其它网络设备2200发送第一流量的出端口,第一流量为待从第一节点向第二节点传输的流量;确定单元2102用于根据第一流量的速率和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽。
在一些可能实现的方式中,若第二节点上保存有网络设备2200中各单跳链路的剩余可用带宽,则,确定单元2102,包括:第一确定子单元,用于根据保存的网络设备2200中各单跳链路的剩余可用带宽,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径;第二确定子单元,用于基于第一流量的速率、第二节点上出端口的剩余可用带宽、以及至少一条第一路径上各单跳链路的剩余可用带宽,确定第一端口许可带宽。
在另一些可能实现的方式中,若第二节点上保存有以第二节点为端点的单跳链路的剩余可用带宽和其他单跳链路的带宽状态,则,确定单元2102,包括:第三确定子单元,用于根据保存的其他单跳链路的带宽状态,确定从第一节点到第二节点上具有可用带宽资源的至少一条第一路径;第四确定子单元,用于将第一流量的速率、第二节点上出端口的剩余可用带宽、以及以第二节点为端点的单跳链路的总剩余可用带宽中的最小值,确定为第一端口许可带宽。
在再一些可能实现的方式中,若网络设备2200内还包括管理节点,管理节点不是第二节点2100,管理节点上保存有网络设备2200中所有单跳链路的剩余可用带宽,用于管理和分配网络设备2200中所有单跳链路的带宽资源,则第二节点2100还包括:第一发送单元,用于向管理节点发送第一端口许可带宽,以便管理节点基于第一端口许可带宽,为第一流量在第一路径上分配第一目标带宽,并向第一节点发送第一目标带宽。
在又一些可能实现的方式中,若网络设备2200内还包括管理节点,管理节点不是第二节点2100,管理节点上保存有网络设备2200中所有单跳链路的剩余可用带宽,用于管理和分配网络设备2200中所有单跳链路的带宽资源,则第二节点2100还包括:第二接收单元,用于接收管理节点发送的第一链路许可带宽;那么,确定单元2102,具体用于:第三确定单元,用于基于第一链路许可带宽和第二节点上出端口的剩余可用带宽,确定第一端口许可带宽,并将第一端口许可带宽作为第一目标带宽;此时,该第二节点2100还包括:第二发送单元,用于向第一节点发送第一目标带宽。
需要说明的是,该第二节点2100的各种可能的实现方式以及达到的技术效果,可以参照前述图3、图6~图17所示实施例对应的方法的介绍。
此外,本申请实施例还提供了一种网络设备2200,该网络设备2200内包括第一节点1800和第二节点2100;其中,第一节点1800,用于接收第一流量,并执行以上应用于第一节点1800侧的通信的方法;第二节点2100,用于执行以上应用于第二节点2100侧的通信的方法。另外,该网络设备2200还可以包括第三节点2000,该第三节点2000用于执行以上应用于第三节点2000侧的通信的方法。此外,该网络设备2200还包括可以管理节点1900,管理节点1900用于执行以上应用于管理节点1900侧的通信的方法。
需要说明的是,该网络设备2200具体可以是指交换芯片,该交换芯片上包括的多个die,即为该网络设备内的节点。该网络设备2200包括第一节点1800,该第一节点1800还包括:接收单元、发送单元和处理单元。其中,接收单元,用于在第一节点1800处接收第一流量;发送单元,用于根据第一目标带宽,沿第一路径,由所述第一节点向所述目的节点转发所述第一流量,处理单元,用于执行前述图3、图6~图17所示实施例对应的任意一种实现方式所述的方法中第一节点进行的处理操作。同理,网络设备2200中的其他节点,例如可以包括第二节点、第三节点、管理节点等,均可以包括接收单元、发送单元和处理单元,完成本申请实施例中的通信方法的过程。
在本申请实施例中,网络设备2200可以是交换机、路由器等设备。上述网络设备2200也可以是路由器,交换机等设备中的交换网板或交换芯片。上述网络设备2200可以是指一个设备,也可以包括多个设备。例如,网络设备2200是由多个交换芯片构成。
可以理解的是,在该网络设备2200中,处理器可以是中央处理器(英文:centralprocessing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integratedcircuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logicdevice,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。处理器可以是指一个处理器,也可以包括多个处理器。存储器可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器还可以包括上述种类的存储器的组合,存储器可以是指一个存储器,也可以包括多个存储器。在一个具体实施方式中,存储器中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如发送模块,处理模块和接收模块。处理器执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器根据所述软件模块的指示而执行的操作。处理器执行存储器中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行网络设备可以执行的全部操作。
此外,本申请实施例还提供了一种第一节点,参见图23,该第一节点2300可以包括处理器2301和通信接口2302;其中,处理器2301用于执行前述图3、图6~图17所示实施例对应的任意一种实现方式下第一节点2300进行的处理操作;通信接口2302用于实现所述第一节点2300和所属网络设备内的其他节点以及和其他外部设备的通信。
可以理解的是,该通信接口2302具体可以包括:该第一节点2300和其他节点通信的通信接口,以及该第一节点2300和其他外部设备通信的通信接口。
本申请实施例还提供了一种管理节点,参见图24,该管理节点2400可以包括处理器2401和通信接口2402;其中,处理器2401用于执行前述图3、图6~图17所示实施例对应的任意一种实现方式下管理节点2400进行的处理操作;通信接口2402用于实现所述管理节点2400和所属网络设备内的其他节点的通信。
本申请实施例还提供了一种第三节点,参见图25,该第三节点2500可以包括处理器2501和通信接口2502;其中,处理器2501用于执行前述图3、图6~图17所示实施例对应的任意一种实现方式下第三节点2500进行的处理操作;通信接口2502用于实现所述第三节点2500和所属网络设备内的其他节点的通信。
本申请实施例还提供了一种第二节点,参见图26,该第二节点2600可以包括处理器2601和通信接口2602;其中,处理器2601用于执行前述图3、图6~图17所示实施例对应的任意一种实现方式下第二节点2600进行的处理操作;通信接口2602用于实现所述第二节点2600和所属网络设备内的其他节点。
可以理解的是,该通信接口2602具体可以包括:该第二节点2600和其他节点通信的通信接口,以及该第二节点2600和其他外部设备通信的通信接口。
需要说明的是,对于同一网络设备内的上述第一节点2300、第二节点2600、第三节点2500和管理节点2400,可以在同一个芯片上,也可以在不同芯片上。当位于不同芯片时,对于各节点和网络设备内的其他节点通信的通信接口,例如:第一节点2300和其他节点通信的通信接口、第二节点2600和其他节点通信的通信接口、第三节点2500的通信接口2502以及管理节点2400的通信接口2402,通信接口的类型具体可以是以太(Ethernet,ETH)接口、Interlaken(ILK)接口等。
具体实现时,每个节点的处理器可以通过读取存储器中的程序代码执行本申请实施例提供的通信的方法,而对于同一网络设备内的各节点,一种情况下,可以为各个节点设置共用的同一个存储器,每个节点的程序代码可以存储在该共用的存储器中;另一种情况下,也可以每个节点内置自己的存储器,每个节点的程序代码存储在各自的存储器中。
此外,本申请实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行前述图3、图6~图17所示实施例对应的任意一种实现方式所述的方法。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行前述图3、图6~图17所示实施例对应的任意一种实现方式所述的方法。
本申请实施例中提到的“第一流量”、“第一路径”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
Claims (13)
1.一种网络设备,其特征在于,所述网络设备内包括第一节点和第二节点;其中,
所述第一节点,用于接收第一流量,所述第一节点还用于:
获取第一流量在第一路径的第一目标带宽,所述第一路径为从所述第一节点传输所述第一流量到所述第二节点的路径,所述第一目标带宽不大于所述第一路径上的各单跳链路的剩余可用带宽的最小值,单跳链路为直连的两个节点之间的链路;
根据所述第一目标带宽,通过所述第一路径发送所述第一流量。
2.根据权利要求1所述的网络设备,其特征在于,还包括管理节点,所述管理节点用于保存所述网络设备中所有单跳链路的剩余可用带宽,以及管理和分配所述网络设备中所有单跳链路的带宽资源。
3.根据权利要求2所述的网络设备,其特征在于,所述管理节点为所述第一节点,所述第一节点获取第一流量在第一路径的第一目标带宽,具体为:
所述第一节点根据保存的所述第一路径上各单跳链路的剩余可用带宽,确定所述第一流量在所述第一路径的所述第一目标带宽。
4.根据权利要求3所述的网络设备,其特征在于,所述第一节点根据保存的所述第一路径上各单跳链路的剩余可用带宽,确定所述第一流量在所述第一路径的所述第一目标带宽,包括:
所述第一节点根据保存的所述第一路径上各单跳链路的剩余可用带宽,确定所述第一流量在所述第一路径上的第一链路许可带宽,并将所述第一链路许可带宽作为所述第一目标带宽,其中,所述第一链路许可带宽为所述第一流量的速率和所述第一路径上各单跳链路的剩余可用带宽中的最小值。
5.根据权利要求2或3所述的网络设备,其特征在于,所述第一节点还用于
向所述第二节点发送第一带宽请求消息,其中,所述第一带宽请求消息包括用于指示所述第一流量的速率的信息;
接收所述第二节点发送的第一端口许可带宽,所述第一端口许可带宽为所述第二节点基于所述第一流量的速率为所述第一流量在第二节点上出端口分配的端口带宽,所述第二节点上出端口为所述第二节点用于向其它网络设备发送所述第一流量的出端口,所述第一端口许可带宽为所述第一流量的速率和所述第二节点上出端口的剩余可用带宽的最小值;
则,所述第一节点根据保存的所述第一路径上各单跳链路的剩余可用带宽,确定所述第一流量在所述第一路径的所述第一目标带宽,包括:
所述第一节点基于所述第一端口许可带宽和其上保存的所述第一路径上各单跳链路的剩余可用带宽,获得所述第一目标带宽,其中,所述第一目标带宽为所述第一端口许可带宽和所述第一路径上的各单跳链路的剩余可用带宽的最小值。
6.根据权利要求1所述的网络设备,其特征在于,所述网络设备内还包括管理节点,所述管理节点上保存有所述网络设备中所有单跳链路的剩余可用带宽,用于管理和分配所述网络设备中所有单跳链路的带宽资源,若所述管理节点不为所述第一节点,所述第一节点获取第一流量在第一路径的第一目标带宽,包括:
所述第一节点向所述管理节点发送第二带宽请求消息,所述第二带宽请求消息包括用于指示所述第一流量的速率的信息,以便所述管理节点为所述第一流量在所述第一路径确定所述第一目标带宽,所述第一目标带宽为所述第一流量的速率和所述第一路径上各单跳链路的剩余可用带宽的最小值;
所述第一节点从管理节点接收所述第一目标带宽。
7.根据权利要求1所述的网络设备,其特征在于,所述网络设备内还包括管理节点,所述管理节点上保存有所述网络设备中所有单跳链路的剩余可用带宽,用于管理和分配所述网络设备中所有单跳链路的带宽资源,若所述管理节点不为所述第一节点,所述第一节点获取第一流量在第一路径的第一目标带宽,包括:
所述第一节点向所述第二节点发送第三带宽请求消息,以便所述第二节点为所述第一流量在所述第二节点上出端口分配第二端口许可带宽,并将所述第二端口许可带宽发送给所述管理节点,其中,所述第三带宽请求消息包括用于指示所述第一流量的速率的信息,所述第二端口许可带宽为所述第一流量的速率和所述第二节点上出端口的剩余可用带宽的最小值;
所述第一节点接收所述管理节点发送的所述第一目标带宽,其中,所述第一目标带宽为所述管理节点确定的、所述第二端口许可带宽和所述第一路径上的各单跳链路的剩余可用带宽的最小值。
8.根据权利要求1所述的网络设备,其特征在于,所述网络设备内还包括管理节点,所述管理节点上保存有所述网络设备中所有单跳链路的剩余可用带宽,用于管理和分配所述网络设备中所有单跳链路的带宽资源,若所述管理节点不为所述第一节点,所述第一节点获取第一流量在第一路径的第一目标带宽,包括:
所述第一节点向所述管理节点发送第四带宽请求消息,以便所述管理节点为所述第一流量在所述第一路径确定第二链路许可带宽,其中,所述第四带宽请求消息包括用于指示所述第一流量的速率的信息,所述第二链路许可带宽为所述第一流量的速率和所述第一路径上各单跳链路的剩余可用带宽的最小值;
所述第一节点从所述第二节点接收所述第一目标带宽,其中,所述第一目标带宽为所述第二节点确定的、所述第二节点上出端口的剩余可用带宽和所述第二链路许可带宽的最小值。
9.根据权利要求1所述的网络设备,其特征在于,若所述网络设备中每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,用于管理和分配该节点为端点的单跳链路的带宽资源;则,所述第一节点获取第一流量在第一路径的第一目标带宽,具体为:
所述第一节点向所述第一路径上的各节点发送第五带宽请求消息,其中,所述第五带宽请求消息中包括用于指示所述第一流量的速率的信息;
所述第一节点接收所述第一路径上的各节点为所述第一流量预分配的第三链路许可带宽;
所述第一节点基于所述第三链路许可带宽,确定所述第一目标带宽,其中,所述第一目标带宽不大于所述第一路径上的所述各单跳链路对应的第三链路许可带宽中的最小值。
10.根据权利要求9所述的网络设备,其特征在于,所述第一节点基于所述第三链路许可带宽,确定所述第一目标带宽,包括:
所述第一节点根据所述第三链路许可带宽,确定所述第一流量在所述第一路径上的第四链路许可带宽,其中,所述第四链路许可带宽为所述第一路径上的所述各单跳链路对应的第三链路许可带宽的最小值;
所述第一节点向所述第二节点发送所述第四链路许可带宽,以便所述第二节点基于所述第四链路许可带宽确定所述第一目标带宽,其中,所述第一目标带宽为所述第四链路许可带宽和所述第二节点上出端口的剩余可用带宽的最小值,所述第二节点上出端口为所述第二节点用于向其它网络设备发送所述第一流量的出端口;
所述第一节点接收所述第二节点发送的所述第一目标带宽。
11.根据权利要求1所述的网络设备,其特征在于,若所述网络设备中每个节点上保存有该节点为端点的单跳链路的剩余可用带宽,用于管理和分配该节点为端点的单跳链路的带宽资源;则,所述第一节点获取第一流量在第一路径的第一目标带宽,具体为:
所述第一节点向所述第二节点发送第六带宽请求消息,其中,所述第六带宽请求消息中包括用于指示所述第一流量的速率的信息;
所述第一节点接收所述第二节点为所述第一流量在所述第二节点上出端口分配的第三端口许可带宽,所述第三端口许可带宽为所述第一流量的速率和所述第二节点上出端口的剩余可用带宽的最小值,所述第二节点上出端口为所述第二节点用于向其它网络设备发送所述第一流量的出端口;
所述第一节点向所述第一路径上的各节点发送第七带宽请求消息,其中,所述第七带宽请求消息中包括所述第三端口许可带宽;
所述第一节点接收所述第一路径上的各节点为所述第一流量预分配的第五链路许可带宽;
所述第一节点将多个所述第五链路许可带宽的最小值,确定为所述第一目标带宽。
12.根据权利要求1~11任意一项所述的网络设备,其特征在于,所述第一流量的速率大于所述第一目标带宽,所述第一节点根据所述第一目标带宽,通过所述第一路径发送所述第一流量,具体为:
所述第一节点将所述第一流量中所述第一目标带宽对应的第一子流量,通过所述第一路径发送。
13.根据权利要求1~12任意一项所述的网络设备,其特征在于,所述第一节点还用于向所述网络设备中的其他节点通告为所述第一流量在所述第一路径申请到的所述第一目标带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211007861.3A CN115567450A (zh) | 2019-09-06 | 2019-09-06 | 一种网络设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843241.5A CN112468403B (zh) | 2019-09-06 | 2019-09-06 | 一种通信方法及其相关设备 |
CN202211007861.3A CN115567450A (zh) | 2019-09-06 | 2019-09-06 | 一种网络设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910843241.5A Division CN112468403B (zh) | 2019-09-06 | 2019-09-06 | 一种通信方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115567450A true CN115567450A (zh) | 2023-01-03 |
Family
ID=74807792
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910843241.5A Active CN112468403B (zh) | 2019-09-06 | 2019-09-06 | 一种通信方法及其相关设备 |
CN202211007861.3A Pending CN115567450A (zh) | 2019-09-06 | 2019-09-06 | 一种网络设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910843241.5A Active CN112468403B (zh) | 2019-09-06 | 2019-09-06 | 一种通信方法及其相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220200901A1 (zh) |
EP (1) | EP4027599A4 (zh) |
CN (2) | CN112468403B (zh) |
WO (1) | WO2021043302A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550263A (zh) * | 2021-06-28 | 2022-12-30 | 华为技术有限公司 | 一种网络设备的主动队列管理方法及网络设备 |
CN115277531B (zh) * | 2022-07-29 | 2023-07-25 | 南京大学 | 面向云上广域网的多径瓶颈公平性约束的两阶段路由方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6396816B1 (en) * | 1994-12-20 | 2002-05-28 | Intel Corporation | Method and apparatus for multiple applications on a single ISDN line |
WO2006057381A1 (ja) * | 2004-11-29 | 2006-06-01 | Sharp Kabushiki Kaisha | 帯域割り当て方法、帯域割り当て装置、通信端末、帯域割り当てプログラム及びプログラム記録媒体 |
CN101072171A (zh) * | 2006-05-09 | 2007-11-14 | 薄明霞 | 多纤IP over WDM网中的一种新型联合路由方法 |
CN101282279B (zh) * | 2007-04-04 | 2010-12-01 | 同济大学 | 基于可用带宽测量的无线自组织网络路由方法 |
US7813351B2 (en) * | 2007-04-13 | 2010-10-12 | Hewlett-Packard Development Company, L.P. | Available bandwidth estimation |
CN101415248B (zh) * | 2008-11-21 | 2010-07-21 | 中山大学 | 基于负载均衡的跨层动态源路由协议的建立方法 |
US8798034B2 (en) * | 2009-03-31 | 2014-08-05 | Motorola Solutions, Inc. | System and method for selecting a route based on link metrics incorporating channel bandwidth, spatial streams and/or guard interval in a multiple-input multiple-output (MIMO) network |
KR101163750B1 (ko) * | 2010-10-21 | 2012-07-10 | 광주과학기술원 | 다수 플로우의 쓰루풋 공평성을 관리하는 플로우 제어 노드, 송신 노드, 플로우 제어 방법 및 전송률 제어 방법 |
US8699382B2 (en) * | 2011-02-01 | 2014-04-15 | Cisco Technology, Inc. | Network topologies for energy efficient networks |
US9237089B2 (en) * | 2013-01-30 | 2016-01-12 | Cisco Technology, Inc. | Enhanced path selection scheme for equal cost paths in communication networks |
CN103650435B (zh) * | 2013-08-14 | 2016-11-09 | 华为技术有限公司 | 路由流量调整方法、装置及控制器 |
US9456506B2 (en) * | 2013-12-20 | 2016-09-27 | International Business Machines Corporation | Packaging for eight-socket one-hop SMP topology |
US9531564B2 (en) * | 2014-01-15 | 2016-12-27 | Cisco Technology, Inc. | Single hop overlay architecture for line rate performance in campus networks |
US10476698B2 (en) * | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US20170324733A1 (en) * | 2014-11-21 | 2017-11-09 | Interdigital Patent Holdings, Inc. | Using security posture information to determine access to services |
CN107659505B (zh) * | 2017-09-27 | 2020-03-13 | 迈普通信技术股份有限公司 | 一种sdn网络的选路方法和sdn控制器 |
CN108337189B (zh) * | 2018-01-29 | 2021-11-05 | 新华三技术有限公司 | 带宽调度方法及装置 |
CN109617806B (zh) * | 2018-12-26 | 2021-06-22 | 新华三技术有限公司 | 一种数据流量调度方法及装置 |
CN109561028B (zh) * | 2019-01-07 | 2023-04-07 | 中国联合网络通信集团有限公司 | 一种基于流量工程选择传输路径的方法和设备 |
US11510279B2 (en) * | 2019-05-14 | 2022-11-22 | Qubercomm Technologies, Inc. | System and method for selecting a path in a communication network |
-
2019
- 2019-09-06 CN CN201910843241.5A patent/CN112468403B/zh active Active
- 2019-09-06 CN CN202211007861.3A patent/CN115567450A/zh active Pending
-
2020
- 2020-09-07 WO PCT/CN2020/113744 patent/WO2021043302A1/zh unknown
- 2020-09-07 EP EP20861401.6A patent/EP4027599A4/en active Pending
-
2022
- 2022-03-04 US US17/687,039 patent/US20220200901A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4027599A1 (en) | 2022-07-13 |
CN112468403B (zh) | 2022-08-26 |
WO2021043302A1 (zh) | 2021-03-11 |
US20220200901A1 (en) | 2022-06-23 |
EP4027599A4 (en) | 2022-10-26 |
CN112468403A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3641244B1 (en) | Method and apparatus for selecting path | |
US9515932B2 (en) | Methods, systems, and computer readable media for conducting priority and compliance based message traffic shaping | |
US7609634B2 (en) | Communication traffic policing apparatus and methods | |
US7630317B2 (en) | Transmission bandwidth control device | |
US10965614B2 (en) | Negotiating quality of service for data flows | |
US20170118108A1 (en) | Real Time Priority Selection Engine for Improved Burst Tolerance | |
JP7288980B2 (ja) | 仮想サービスネットワークにおけるサービス品質 | |
US20220200901A1 (en) | Communications Method and Related Device | |
US7636316B2 (en) | Resource allocation plan in a network | |
US10469395B2 (en) | Packet transmission credit allocation | |
US7457239B2 (en) | Method and apparatus for providing a quality of service path through networks | |
CN109274589B (zh) | 业务传输的方法和装置 | |
JP5364183B2 (ja) | ネットワークのリソース管理装置 | |
US20210282144A1 (en) | Resource unit allocation in mesh networks | |
US10764191B2 (en) | Device and method for managing end-to-end connections | |
US11968124B2 (en) | System and method for managing network traffic using fair-share principles | |
CN116318554A (zh) | 网络传输方法及装置 | |
Kinoshita et al. | Joint bandwidth scheduling and routing method for large file transfer with time constraint and its implementation | |
CN113973342A (zh) | 流量控制方法、装置、电子设备及存储介质 | |
Tariq et al. | Hop-count fairness-aware protocols for improved bandwidth utilization in WDM burst-switched networks | |
WO2021174236A2 (en) | In-band signaling for latency guarantee service (lgs) | |
CN113852554A (zh) | 一种数据传输方法、装置及设备 | |
CN114615155A (zh) | 用于部署业务的方法及装置 | |
WO2022237860A1 (zh) | 报文处理方法、资源分配方法以及相关设备 | |
US20230077864A1 (en) | System and method for managing distributed shaping in a computer network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |