已知某软件定义网络的数据转发平面的拓扑结构为G = V L其中 G是无向图 V为转发 设备节点集合 L为物理链路集合。假定每条物理链路lu v的可用带宽量为bwu v物理 链路lu v的时延为delayu v其中 uv分别表示转发设备节点。网络中数据流请求动态 到达 每个数据流表示为fS T bwS T priority delayS T其中 ST为该数据流的源和 目的节点priority为该数据
路由算法设计思路:
-
建立网络拓扑结构的图模型,并初始化每个节点的流量需求为0。
-
对每个数据流进行处理:
-
通过最短路径算法(如 Dijkstra 算法)计算出源节点到目的节点的所有可行路径,得到一个路径集合 P。
-
对路径集合 P 中的每条路径,计算其可分配带宽量 bw_p = min(bw(S,T), bw(u,v)),其中(u,v) 是路径上的一条物理链路。
-
根据每条路径的时延,将路径集合按照时延从小到大排序。
-
对于每个优先级,按照权重从大到小的顺序,依次为每个数据流分配带宽量:
a) 对于路径集合 P 中的每条路径,如果该路径上的可用带宽量大于等于带宽请求,就将该路径的带宽分配给该数据流,并更新路径上的流量需求。
b) 如果路径集合 P 中所有可用路径的带宽之和小于带宽请求,就将所有可用带宽分配给该数据流。
-
将已分配的带宽量按照优先级加权累加到每个节点的流量需求中。
-
-
循环处理所有数据流,直到所有数据流的带宽需求都得到满足。
-
对于每个节点,将其流量需求均匀地分配到其可用带宽量上,实现权重最大-最小公平带宽分配。
-
输出每个数据流分配到的带宽量和每个节点的流量需求和可用带宽量。
该算法可以公平地为数据流分配带宽量,并且能够在多条可行路径中选择带宽利用率高的路径,以尽可能地利用网络资源
原文地址: https://www.cveoy.top/t/topic/fHji 著作权归作者所有。请勿转载和采集!