CN114363236B - 一种基于显式路径的流量控制方法及相关设备 - Google Patents
一种基于显式路径的流量控制方法及相关设备 Download PDFInfo
- Publication number
- CN114363236B CN114363236B CN202111560725.2A CN202111560725A CN114363236B CN 114363236 B CN114363236 B CN 114363236B CN 202111560725 A CN202111560725 A CN 202111560725A CN 114363236 B CN114363236 B CN 114363236B
- Authority
- CN
- China
- Prior art keywords
- path
- node
- target
- paths
- target sub
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于显式路径的流量控制方法及相关设备,方法包括:将源节点到目的节点的目标路径划分为多个目标子路径;将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点;当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径的数据包分组头部。本发明可以降低端到端路径的显式控制时的分组头部开销。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种基于显式路径的流量控制方法及相关设备。
背景技术
在网络通信领域,互联网服务提供商常常使用流量工程方法,实现流量需求和网络资源的最优匹配。流量工程是指将流量传输需求映射到合适的端到端路径上,从而高效利用网络带宽资源,同时避免产生拥塞。实施流量工程的前提是能够对流量进行准确的路径控制,从而使流量严格地通过指定的路径进行传输。分段路由(Segment Routing,SR)协议可以引导流量按顺序依次通过源节点和目的节点之间的一系列预先设定的中间节点,从而实现显式的路径控制。
但是目前分段路由协议中是通过将端到端路径上所有节点的标签(Segment ID,简称SID)封装到数据包分组头部,从而实现显式的路径控制,然而,将端到端路径上所有节点的SID全部封装到数据分组头部,会限制降低数据包有效载荷的比率,网络传输开销大。
因此,现有技术还有待改进和提高。
发明内容
针对现有技术的上述缺陷,本发明提供一种基于显式路径的流量控制方法及相关设备,旨在解决现有技术中在实现显式路径控制时网络传输开销大的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
本发明的第一方面,提供一种基于显式路径的流量控制方法,所述方法包括:
将源节点到目的节点的目标路径划分为多个目标子路径,第n个所述目标子路径的终点为第n+1个所述目标子路径的起点,所述目标子路径为所述目标子路径的两个端点之间的唯一最短路径,将第n个所述目标子路径的终点延长至第n+1个所述目标子路径的第二个节点生成的路径不是第n个所述目标子路径的起点到第n+1个所述目标子路径的第二个节点之间的唯一最短路径;
将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点;
当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径的数据包分组头部。
所述的基于显式路径的流量控制方法,其中,所述将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,所述方法还包括:
获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序。
所述的基于显式路径的流量控制方法,其中,所述将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,所述方法还包括:
对于所述源节点和所述目的节点之间的多条显式路径,将所述多条显式路径中的链路利用率输入至预先训练完成的策略网络,获取所述策略网络输出的目标分流比;
根据所述目标分流比在所述多条显式路径中进行流量分配。
所述的基于显式路径的流量控制方法,其中,所述将源节点到目的节点的目标路径划分为多个目标子路径,包括:
将第n条所述目标子路径延伸至当前节点,确定第n条所述目标子路径是否为第n条所述目标子路径当前的两个端点之间的唯一最短路径,若是,则将第n条所述目标子路径继续延伸至当前节点在所述目标路径中的下一个节点,若不是,则确定第n条所述目标子路径的终点为当前节点在所述目标路径中的上一个节点,并将当前节点作为第n+1条所述目标子路径的起点;
其中,第1条所述目标子路径的起点为所述源节点。
所述的基于显式路径的流量控制方法,其中,所述根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序,包括:
对于目标节点,统计将所述目标节点作为关键节点的路径数量,记为所述目标节点对应的目标数量;
将各个所述关键节点按照对应的目标数量由多到少进行排序,得到各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序。
所述的基于显式路径的流量控制方法,其中,所述根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序之后,包括:
根据预设升级率按照所述优先级顺序优先选择节点作为待升级节点。
所述的基于显式路径的流量控制方法,其中,所述策略网络通过多组训练数据训练完成,每组所述训练数据包括输入链路利用率、所述策略网络基于所述输入链路利用率的输出结果对应的回报值。
所述的基于显式路径的流量控制方法,其中,所述策略网络和价值网络一同被训练,所述价值网络用于根据所述策略网络基于所述输入链路利用率的输出结果,输出回报值。
所述的基于显式路径的流量控制方法,其中,所述策略网络和所述价值网络通过深度确定性策略梯度算法训练。
本发明的第二方面,提供一种基于显式路径的流量控制装置,包括:
子路径划分模块,所述子路径划分模块用于将源节点到目的节点的多条路径中的目标路径划分为多个目标子路径,第n个所述目标子路径的终点为第n+1个所述目标子路径的起点,所述目标子路径为所述目标子路径的两个端点之间的唯一最短路径,将第n个所述目标子路径的终点延长至第n+1个所述目标子路径的第二个节点生成的路径不是第n个所述目标子路径的起点到第n+1个所述目标子路径的第二个节点之间的唯一最短路径;
关键节点确定模块,所述关键节点确定模块用于将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点;
封装模块,所述封装模块用于当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径的数据包分组头部。
所述的基于显式路径的流量控制装置,其中,所述装置还包括:
排序模块,所述排序模块用于获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序;
流量分配模块,所述流量分配模块用于对于所述源节点和所述目的节点之间的多条显式路径,将所述多条显式路径中的链路利用率输入至预先训练完成的策略网络,获取所述策略网络输出的目标分流比,并根据所述目标分流比在所述多条显式路径中进行流量分配。
本发明的第三方面,提供一种网络控制器,所述网络控制器包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述任一项所述的基于显式路径的流量控制方法的步骤。
本发明的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的基于显式路径的流量控制方法的步骤。
与现有技术相比,本发明提供了一种基于显式路径的流量控制方法及相关设备,本发明提供的基于显式路径的流量控制方法中,将源节点到目的节点的目标路径划分为多个目标子路径,每个目标子路径为该目标子路径的两个端点之间的唯一最短路径,将目标子路径的端点作为关键节点,在分段路由传输协议中,数据包在两个相邻的SID节点之间按照最短路径进行传输,因此,如果两个相邻的SID节点之间存在唯一最短路径,则无需封装该唯一最短路径上的其他节点的SID,这样就只需要将关键节点封装至数据包分组头部,就可以实现显式控制,并且,在本实施例中,在划分目标子路径时,将第n个目标子路径的终点延长至第n+1个目标子路径的第二个节点生成的路径不是第n个目标子路径的起点到第n+1个目标子路径的第二个节点之间的唯一最短路径,这样可以最大程度地减少关键节点的数量,进一步降低端到端路径的显式控制时的分组头部开销。
附图说明
图1为本发明提供的基于显式路径的流量控制方法的实施例的流程图;
图2为本发明提供的基于显式路径的流量控制方法的实施例中划分目标子路径的逻辑图;
图3为本发明提供的基于显式路径的流量控制方法的实施例中统计将目标节点作为关键节点的路径数量的逻辑图;
图4为本发明提供的基于显式路径的流量控制方法的实施例中策略网络的训练过程逻辑图;
图5为本发明提供的基于显式路径的流量控制装置的实施例的结构原理图;
图6为本发明提供的网络控制器的实施例的原理示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供的基于显式路径的流量控制方法,可以是由网络中网络控制器执行。
实施例一
如图1所示,所述基于显式路径的流量控制方法的一个实施例中,包括步骤:
S100、将源节点到目的节点的目标路径划分为多个目标子路径。
对于需要从源节点向目的节点发送数据包的网络流,中间可以通过多个节点转发,将从所述源节点经过哪些节点转发后到达所述目的节点的路线称为源节点到目的节点的端到端路径,不难理解,从所述源节点到所述目的节点之间的路径可以有很多条,对于每一条路径,都可以作为所述目标路径,划分为多个目标子路径,或者根据控制要求,从所述源节点到所述目的节点之间的路径中选择需要进行显式控制的路径作为所述目标路径。
具体地,对于对所述目标路径进行划分得到的多个目标子路径满足以下条件:
第n个所述目标子路径的终点为第n+1个所述目标子路径的起点,所述目标子路径为所述目标子路径的两个端点之间的唯一最短路径,将第n个所述目标子路径的终点延长至第n+1个所述目标子路径的第二个节点生成的路径不是第n个所述目标子路径的起点到第n+1个所述目标子路径的第二个节点之间的唯一最短路径。
为了使得划分得到的多个所述目标子路径满足以上条件,所述将源节点到目的节点的目标路径划分为多个目标子路径,包括:
将第n条所述目标子路径延伸至当前节点,确定第n条所述目标子路径是否为第n条所述目标子路径当前的两个端点之间的唯一最短路径,若是,则将第n条所述目标子路径继续延伸至当前节点在所述目标路径中的下一个节点,若不是,则确定第n条所述目标子路径的终点为当前节点在所述目标路径中的上一个节点,并将当前节点作为第n+1条所述目标子路径的起点;
其中,第1条所述目标子路径的起点为所述源节点。
S200、将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点。
具体地,如图2所示,依次检查所述目标路径中从所述源节点到所述目的节点的所有子路径,如果子路径是该子路径的两个端节点之间唯一的最短路径,则将该子路径延伸至下一跳节点,继续判断新生成的子路径是否仍然是该子路径的两个端节点之间的唯一最短路径,重复该过程直至子路径延伸至目的节点,过程中如果发现子路径不是两个端节点之间的唯一最短路径,则将当前子路径的终点的前一跳节点确定为关键节点,并生成新的子路径,新的子路径的起点为刚才确定的所述关键节点,终点为刚才确定的所述关键节点的下一跳节点,继续检查新的子路径是否是该子路径的两个端节点之间唯一的最短路径,重复上述过程,直到子路径的端节点延伸到所述目的节点。也就是说,最后一个所述目标子路径的终点是所述目的节点。
通过上述步骤,对于每一个所述目标路径,都可以确定对应的所述关键节点。
S300、当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径对应的数据包分组头部。
若需要将所述目标路径作为显式路径进行控制,即确定有数据包从所述源节点开始依次经过所述目标路径上的各个节点进行转发后到达所述目的节点,由于数据包在数据包分组头部中的两个相邻的节点标签(SID)之间按照最短路径进行传输,因此,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径对应的数据包分组头部后,数据包就会在相邻的关键节点转发时,由于相邻的关键节点之间存在唯一最短路径,且该唯一最短路径是所述目标路径中这两个关键节点之间的部分,那么数据包就会按照所述目标路径被转发,而不需要封装该唯一最短路径中的其他节点的SID,实现了以最小的分组头部开销实现从所述源节点到所述目的节点的所述目标路径的显式控制。
分段路由协议虽然可以引导流量按顺序依次通过源节点和目的节点之间的一系列预先设定的中间节点,从而实现显式的路径控制。然而,传统基于分段路由的流量工程方法假定转发域内的所有路由器全部支持分段路由功能。考虑到从传统路由器(IP路由器)升级到支持分段路由功能的路由器(SR路由)的过程中,软件升级或硬件更换会带来巨大的成本,因此,运营商希望优先升级部分IP路由器为SR路由器,从而小规模部署分段路由功能,随后逐步扩大IP路由器的升级范围,直至实现SR路由器的全网部署。
通过本实施例提供的方法识别出所述源节点到所述目的节点之间的所有端到端路径的所述关键节点,并将每条路径中的所述关键节点由IP路由器升级为SR路由器,可以实现对每条路径的显式控制。但是基于成本考虑,一次性对所有的所述关键节点进行升级代价是很大的,在本实施例中,还根据通过某个所述关键节点的路径数量,来确定对所述关键节点进行路由器升级的优先级。具体地,所述将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,本实施例提供的基于显式路径的流量控制方法还包括步骤:
获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序。
具体地,获取所述源节点到所述目的节点的多条路径的所述关键节点是获取所述源节点到所述目的节点的端到端路径中运营商需要显式控制的路径中的所述关键节点,可以是获取所述源节点到所述目的节点的全部端到端路径的所述关键节点或者是获取所述源节点到所述目的节点的部分端到端路径的所述关键节点。任何端到端路径只有到其所有的关键节点都升级到SR路由器后才能被显式控制,基于成本的考虑,需要选择将一部分节点的IP路由器升级为SR路由器,以便这些SR路由器可以显式地控制尽可能多的端到端路径。在本实施例中,在获取到所述关键节点后,对于所述关键节点中的目标节点,统计将所述目标节点作为关键节点的路径数量,即为所述目标节点对应的目标数量,将各个所述关键节点按照对应的目标数量由多到少进行排序,该顺序即为将所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序。某个所述关键节点的端到端路径的数量,可以反映该节点对于实现显式路径控制的重要性,因此根据每个所述关键节点对应的所述目标数量进行排序的结果可以作为路由器升级的优先级顺序。
如图3所示,对于网络拓扑G=(V,E)由|V|个IP路由器组成,预定义所述源节点和所述目的节点之间的路径集P,其中包含运营商需要显式控制的所有端到端路径,例如所述源节点到所述目的节点的所有端到端路径中前k个最短路径。统计每个节点v∈V作为路径集合P中的每个路径p∈P的关键节点出现的次数,然后根据该次数(v.count)对所有节点进行降序排序,得到路由器升级优先级顺序。
所述根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序之后,包括:
根据预设升级率按照所述优先级顺序优先选择节点作为待升级节点。
在得到路由器升级优先级顺序后,可以根据预设的升级率r,选择r*|V|个节点,将其升级为SR路由器。
所述源节点和所述目的节点之间可以设置多条显式路径,通过预先定义所述源节点到所述目的节点之间的多条显式路径,可以实现多路径流量传输,增加网络传输带宽和数据吞吐率,同时实现多路径负载均衡,降低瓶颈链路拥塞导致的延迟甚至丢包问题。传统的多路径负载均衡技术往往采用基于哈希算法的等价多路径路由(Equal Cost Multi-Path,ECMP),由于哈希冲突会将多个大流映射到相同的端到端路径,造成局部网络拥塞,以及服务质量的下降,其原因在于没有根据流量传输需求和网络负载情况,灵活的调整流量拆分比例。为了避免局部网络拥塞,实现根据流量传输需求和网络负载情况灵活调整流量拆分比例,本实施例提供的基于显式路径的流量控制方法,还包括步骤:
对于所述源节点和所述目的节点之间的多条显式路径,将所述多条显式路径中的链路利用率输入至预先训练完成的策略网络,获取所述策略网络输出的目标分流比;
根据所述目标分流比在所述多条显式路径中进行流量分配。
具体地,在本实施例中,所述策略网络通过多组训练数据训练完成,每组所述训练数据包括输入链路利用率、所述策略网络基于所述输入链路利用率的输出结果对应的回报值,在所述策略网络的训练过程中,所述策略网络基于所述输入链路利用率的输出结果对应的回报值是采用一个价值网络输出的,即所述策略网络和价值网络一同被训练,所述价值网络用于根据所述策略网络基于所述输入链路利用率的输出结果,输出回报值。
所述策略网络和所述价值网络利用深度确定性策略梯度算法(DeepDeterministic Policy Gradient,简称DDPG)来训练所述策略网络和所述价值网络。
具体地,所述策略网络和所述价值网络的训练过程如图4所示,首先是首先是策略网络和价值网络的参数初始化。对于参数为θμ的策略网络μ(s|θμ),该函数表示从输入状态st到相应动作at的映射。对于参数为θQ的价值网络Q(s,a|θQ),该函数输出值表示在状态st采取行动at时的Q值(预期累积回报)。为了稳定学习过程,设计两个目标网络μ’(s|θμ’)和Q’(s,a|θQ’),分别用参数θμ’和θQ’初始化。随后,初始化重播缓冲区R,用于存储状态转移四元组,初始化Ornstein Uhlenbeck(O-U)随机过程,用于在动作空间中进行探索,这是连续控制任务中默认使用的随机过程。
从节点之间周期性广播信息中收集OSPF LSA中的信息,定义输入状态st为所有链路当前的利用率。通过将O-U随机过程Nt添加到策略网络μ(st|θμ)的输出中,获得动作at,即获得目标分流比。随后在源-目的地对之间的多条路径上执行分流比。根据最大链路利用率计算奖励rt,并观察下一个状态st+1。
在重播缓冲区R中存储状态转移4元组,包括(st、at、rt、st+1)。在重播缓冲区采样K个状态转换进行采样,计算每个样本的目标值yi。目标值yi是奖励加上折扣因子γ和目标网络输出的Q值Q’(s,a|θQ’)的乘积的总和。
通过最小化损失函数L来更新价值网络的参数,损失函数L是目标Q值和真实Q值Q(si,ai|θQ)之间的平方误差。通过策略梯度更新策略网络参数。
使用系数τ同步目标网络。最后,DDPG收敛到一个最优的策略网络,并根据网络中的动态变化的链路利用率,在每个源-目的地对之间的所有可控路径上输出最优的分流比,实现多路径负载均衡,同时降低瓶颈链路拥塞概率。
综上所述,本实施例提供一种基于显式路径的流量控制方法,将源节点到目的节点的目标路径划分为多个目标子路径,每个目标子路径为该目标子路径的两个端点之间的唯一最短路径,将目标子路径的端点作为关键节点,在分段路由传输协议中,数据包在两个相邻的SID节点之间按照最短路径进行传输,因此,如果两个相邻的SID节点之间存在唯一最短路径,则无需封装该唯一最短路径上的其他节点的SID,这样就只需要将关键节点封装至数据包分组头部,就可以实现显式控制,并且,在本实施例中,在划分目标子路径时,将第n个目标子路径的终点延长至第n+1个目标子路径的第二个节点生成的路径不是第n个目标子路径的起点到第n+1个目标子路径的第二个节点之间的唯一最短路径,这样可以最大程度地减少关键节点的数量,进一步降低端到端路径的显式控制时的分组头部开销。
应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显式,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
实施例二
基于上述实施例,本发明还相应提供了一种基于显式路径的流量控制装置,如图5所示,所述基于显式路径的流量控制装置包括:
子路径划分模块,所述子路径划分模块用于将源节点到目的节点的多条路径中的目标路径划分为多个目标子路径,第n个所述目标子路径的终点为第n+1个所述目标子路径的起点,所述目标子路径为所述目标子路径的两个端点之间的唯一最短路径,将第n个所述目标子路径的终点延长至第n+1个所述目标子路径的第二个节点生成的路径不是第n个所述目标子路径的起点到第n+1个所述目标子路径的第二个节点之间的唯一最短路径,具体如实施例一中所述;
关键节点确定模块,所述关键节点确定模块用于将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点,具体如实施例一中所述;
封装模块,所述封装模块用于当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径的数据包分组头部,具体如实施例一中所述。
所述基于显式路径的流量控制转置还包括:
排序模块,所述排序模块用于获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序,具体如实施例一中所述;
流量分配模块,所述流量分配模块用于对于所述源节点和所述目的节点之间的多条显式路径,将所述多条显式路径中的链路利用率输入至预先训练完成的策略网络,获取所述策略网络输出的目标分流比,并根据所述目标分流比在所述多条显式路径中进行流量分配,具体如实施例一中所述。
实施例三
基于上述实施例,本发明还相应提供了一种网络控制器,如图6所示,所述网络控制器包括处理器10以及存储器20。图6仅示出了网络控制器的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述网络控制器的内部存储单元,例如网络控制器的硬盘或内存。所述存储器20在另一些实施例中也可以是所述网络控制器的外部存储设备,例如所述网络控制器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述网络控制器的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述网络控制器的应用软件及各类数据。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有基于显式路径的流量控制程序30,该基于显式路径的流量控制程序30可被处理器10所执行,从而实现本申请中基于显式路径的流量控制方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述基于显式路径的流量控制方法等。
在一实施例中,当处理器10执行所述存储器20中基于显式路径的流量控制程序30时实现以下步骤:
将源节点到目的节点的目标路径划分为多个目标子路径,第n个所述目标子路径的终点为第n+1个所述目标子路径的起点,所述目标子路径为所述目标子路径的两个端点之间的唯一最短路径,将第n个所述目标子路径的终点延长至第n+1个所述目标子路径的第二个节点生成的路径不是第n个所述目标子路径的起点到第n+1个所述目标子路径的第二个节点之间的唯一最短路径;
将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点;
当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径的数据包分组头部。
其中,所述将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,所述方法还包括:
获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序。
其中,所述将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,所述方法还包括:
对于所述源节点和所述目的节点之间的多条显式路径,将所述多条显式路径中的链路利用率输入至预先训练完成的策略网络,获取所述策略网络输出的目标分流比;
根据所述目标分流比在所述多条显式路径中进行流量分配。
其中,所述将源节点到目的节点的目标路径划分为多个目标子路径,包括:
将第n条所述目标子路径延伸至当前节点,确定第n条所述目标子路径是否为第n条所述目标子路径当前的两个端点之间的唯一最短路径,若是,则将第n条所述目标子路径继续延伸至当前节点在所述目标路径中的下一个节点,若不是,则确定第n条所述目标子路径的终点为当前节点在所述目标路径中的上一个节点,并将当前节点作为第n+1条所述目标子路径的起点;
其中,第1条所述目标子路径的起点为所述源节点。
其中,所述根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序,包括:
对于目标节点,统计将所述目标节点作为关键节点的路径数量,记为所述目标节点对应的目标数量;
将各个所述关键节点按照对应的目标数量由多到少进行排序,得到各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序。
其中,所述根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序之后,包括:
根据预设升级率按照所述优先级顺序优先选择节点作为待升级节点。
其中,所述策略网络通过多组训练数据训练完成,每组所述训练数据包括输入链路利用率、所述策略网络基于所述输入链路利用率的输出结果对应的回报值。
其中,所述策略网络和价值网络一同被训练,所述价值网络用于根据所述策略网络基于所述输入链路利用率的输出结果,输出回报值。
其中,所述策略网络和所述价值网络通过深度确定性策略梯度算法训练。
实施例四
本发明还提供一种计算机可读存储介质,其中,存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的基于显式路径的流量控制方法的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种基于显式路径的流量控制方法,其特征在于,所述方法包括:
将源节点到目的节点的目标路径划分为多个目标子路径,第n个所述目标子路径的终点为第n+1个所述目标子路径的起点,所述目标子路径为所述目标子路径的两个端点之间的唯一最短路径,将第n个所述目标子路径的终点延长至第n+1个所述目标子路径的第二个节点生成的路径不是第n个所述目标子路径的起点到第n+1个所述目标子路径的第二个节点之间的唯一最短路径;
将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点;
所述将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,所述方法还包括:
获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序;
当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径的数据包分组头部。
2.根据权利要求1所述的基于显式路径的流量控制方法,其特征在于,所述将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,所述方法还包括:
对于所述源节点和所述目的节点之间的多条显式路径,将所述多条显式路径中的链路利用率输入至预先训练完成的策略网络,获取所述策略网络输出的目标分流比;
根据所述目标分流比在所述多条显式路径中进行流量分配。
3.根据权利要求1所述的基于显式路径的流量控制方法,其特征在于,所述将源节点到目的节点的目标路径划分为多个目标子路径,包括:
将第n条所述目标子路径延伸至当前节点,确定第n条所述目标子路径是否为第n条所述目标子路径当前的两个端点之间的唯一最短路径,若是,则将第n条所述目标子路径继续延伸至当前节点在所述目标路径中的下一个节点,若不是,则确定第n条所述目标子路径的终点为当前节点在所述目标路径中的上一个节点,并将当前节点作为第n+1条所述目标子路径的起点;
其中,第1条所述目标子路径的起点为所述源节点。
4.根据权利要求1所述的基于显式路径的流量控制方法,其特征在于,所述根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序,包括:
对于目标节点,统计将所述目标节点作为关键节点的路径数量,记为所述目标节点对应的目标数量;
将各个所述关键节点按照对应的目标数量由多到少进行排序,得到各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序。
5.根据权利要求1所述的基于显式路径的流量控制方法,其特征在于,所述根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序之后,包括:
根据预设升级率按照所述优先级顺序优先选择节点作为待升级节点。
6.根据权利要求2所述的基于显式路径的流量控制方法,其特征在于,所述策略网络通过多组训练数据训练完成,每组所述训练数据包括输入链路利用率、所述策略网络基于所述输入链路利用率的输出结果对应的回报值。
7.根据权利要求6所述的基于显式路径的流量控制方法,其特征在于,所述策略网络和价值网络一同被训练,所述价值网络用于根据所述策略网络基于所述输入链路利用率的输出结果,输出回报值。
8.根据权利要求7所述的基于显式路径的流量控制方法,其特征在于,所述策略网络和所述价值网络通过深度确定性策略梯度算法训练。
9.一种基于显式路径的流量控制装置,其特征在于,包括:
子路径划分模块,所述子路径划分模块用于将源节点到目的节点的多条路径中的目标路径划分为多个目标子路径,第n个所述目标子路径的终点为第n+1个所述目标子路径的起点,所述目标子路径为所述目标子路径的两个端点之间的唯一最短路径,将第n个所述目标子路径的终点延长至第n+1个所述目标子路径的第二个节点生成的路径不是第n个所述目标子路径的起点到第n+1个所述目标子路径的第二个节点之间的唯一最短路径;
关键节点确定模块,所述关键节点确定模块用于将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点;
所述将所有所述目标子路径的端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点之后,还包括:
获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序;
封装模块,所述封装模块用于当将所述目标路径作为显式路径进行控制时,将所述目标路径的所述源节点、所述目的节点和所述关键节点的节点标签封装至所述目标路径的数据包分组头部。
10.根据权利要求9所述的基于显式路径的流量控制装置,其特征在于,所述装置还包括:
排序模块,所述排序模块用于获取所述源节点到所述目的节点的多条路径的所述关键节点,根据将每个节点作为关键节点的路径数量确定各个所述关键节点的路由器由IP路由器升级为SR路由器的优先级顺序;
流量分配模块,所述流量分配模块用于对于所述源节点和所述目的节点之间的多条显式路径,将所述多条显式路径中的链路利用率输入至预先训练完成的策略网络,获取所述策略网络输出的目标分流比,并根据所述目标分流比在所述多条显式路径中进行流量分配。
11.一种网络控制器,其特征在于,所述网络控制器包括:处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述权利要求1-8任一项所述的基于显式路径的流量控制方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8任一项所述的基于显式路径的流量控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111560725.2A CN114363236B (zh) | 2021-12-20 | 2021-12-20 | 一种基于显式路径的流量控制方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111560725.2A CN114363236B (zh) | 2021-12-20 | 2021-12-20 | 一种基于显式路径的流量控制方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114363236A CN114363236A (zh) | 2022-04-15 |
CN114363236B true CN114363236B (zh) | 2023-10-20 |
Family
ID=81101937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111560725.2A Active CN114363236B (zh) | 2021-12-20 | 2021-12-20 | 一种基于显式路径的流量控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114363236B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015024510A1 (en) * | 2013-08-23 | 2015-02-26 | Huawei Technologies Co., Ltd. | Segmented source routing in a network |
CN109039919A (zh) * | 2018-10-11 | 2018-12-18 | 平安科技(深圳)有限公司 | 转发路径确定方法、装置、系统、计算机设备及存储介质 |
CN110708243A (zh) * | 2018-07-09 | 2020-01-17 | 华为技术有限公司 | 段路由中获取数据包的转发路径的信息的方法和装置 |
CN111314219A (zh) * | 2020-02-24 | 2020-06-19 | 盛科网络(苏州)有限公司 | 一种IPv6分段路由的高效转发方法及装置 |
CN111682986A (zh) * | 2020-06-08 | 2020-09-18 | 平安科技(深圳)有限公司 | 全量链路质量探测方法、装置、计算机设备及存储介质 |
CN111865789A (zh) * | 2020-07-09 | 2020-10-30 | 南京航空航天大学 | 一种基于段路由的sr路径约束方法 |
-
2021
- 2021-12-20 CN CN202111560725.2A patent/CN114363236B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015024510A1 (en) * | 2013-08-23 | 2015-02-26 | Huawei Technologies Co., Ltd. | Segmented source routing in a network |
CN110708243A (zh) * | 2018-07-09 | 2020-01-17 | 华为技术有限公司 | 段路由中获取数据包的转发路径的信息的方法和装置 |
CN109039919A (zh) * | 2018-10-11 | 2018-12-18 | 平安科技(深圳)有限公司 | 转发路径确定方法、装置、系统、计算机设备及存储介质 |
CN111314219A (zh) * | 2020-02-24 | 2020-06-19 | 盛科网络(苏州)有限公司 | 一种IPv6分段路由的高效转发方法及装置 |
CN111682986A (zh) * | 2020-06-08 | 2020-09-18 | 平安科技(深圳)有限公司 | 全量链路质量探测方法、装置、计算机设备及存储介质 |
CN111865789A (zh) * | 2020-07-09 | 2020-10-30 | 南京航空航天大学 | 一种基于段路由的sr路径约束方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114363236A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111107001B (zh) | 网络中分段源路由的方法及存储介质 | |
US20210377162A1 (en) | Malleable routing for data packets | |
US10560383B2 (en) | Network latency scheduling | |
CN111756633B (zh) | 根据标签交换路径生成自动带宽调整策略 | |
JP2000092118A (ja) | プログラマブルネットワーク | |
CN104380669B (zh) | 在通讯网络中传输数据包的方法和通讯网络 | |
US11582146B2 (en) | High-quality adaptive bitrate video through multiple links | |
JP7078633B2 (ja) | ネットワーク内のデータパケットの相対的なタイミングと順序を保持するための方法および装置 | |
JP2012065171A (ja) | 車内データ中継装置、車両制御システム | |
EP3197108A1 (en) | Packet relaying method and packet relaying program | |
JP6647179B2 (ja) | 経路変換制御装置、経路変換制御方法および経路変換制御プログラム | |
CN105357124A (zh) | 一种MapReduce带宽优化方法 | |
WO2016186861A1 (en) | Method and apparatus for self-tuned adaptive routing | |
CN115037399A (zh) | 报文转发方法、电子设备和存储介质 | |
US8743685B2 (en) | Limiting transmission rate of data | |
CN110875886B (zh) | 一种用于传输网络的数据传输方法、装置和系统 | |
CN111543034B (zh) | 用于并行处理的自描述数据包头部 | |
EP3585016A1 (en) | Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices | |
CN114363236B (zh) | 一种基于显式路径的流量控制方法及相关设备 | |
CN110301116B (zh) | 通过绑定连接传送和接收数据分组的方法和系统 | |
US9973411B2 (en) | Synchronization of data and control planes of routers | |
EP3531622A1 (en) | Method of handling packet flow in software-defined network, computer program product, and software-defined network | |
JP2017168880A (ja) | コスト設定装置、方法およびプログラム | |
JP5047099B2 (ja) | データ通信システム、データ通信方法およびデータ通信システムを構成する情報処理装置 | |
US20230068443A1 (en) | Dynamic packet routing using prioritized groups |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |