弹性光网络中多播业务负载均衡的研究
2020-04-30张建芳
张建芳 杨 阳 郝 娟
(河北建筑工程学院 信息工程学院,河北 张家口 075000)
1 引 言
随着信息技术及互联网的飞速发展,资源的利用成为必不可少的研究课题,尽管传统的波分复用(WDM)网络有很多优势,但WDM网络缺点也比较明显.WDM网络是固定栅格,对于各种速率的业务,波分复用网络需要将整个波长分配给连接,即使有的业务连接请求并不需要如此大的带宽,这就造成了频谱利用率降低,此外,波分复用可扩展性很低,因此基于正交频分复用(orthogonal frequency division multiplexing,OFDM)的弹性光网络应用而生.弹性光网络可以提供更细的频谱粒度并且在分配调制格式时采用距离自适应调制格式,不仅实现了频谱的高效利用也可以在一定程度上节省频谱资源.随着光网络向着灵活栅格方向发展,网络资源的实体由波长向着频谱转变.使得资源管理与调控问题的复杂性提高,路由计算和频谱资源的分配策略则变得复杂多样.
与传统的点到点通信方式相比,多播是一种有效利用现有带宽的技术,如视频会议,远程教学等带宽密集型业务.多播可以高效率的完成业务的传送,并且可以节约大量的频谱资源,但是随着网络业务需求的急速增加,出现越来越多的业务阻塞问题,或许只是工作路径上某段链路频谱资源不足就造成整个多播业务请求失败.由此可见,频谱资源的合理利用和负载均衡就变得尤为重要.
2 问题描述
弹性光网络提供了更细的频谱粒度和距离自适应调制格式,可以实现频谱的有效分配.随着光网络向着灵活栅格方向发展,网络资源的实体由波长向着频谱转变,使得资源管理与调控问题的复杂性提高,路由计算和频谱资源的分配策略则变得复杂多样.
与传统的点到点通信方式相比,多播是一种有效利用现有带宽的技术,如视频会议,远程教学等带宽密集型业务.多播不仅可以高效率的传输业务,也可以节省频谱资源,但是随着网络业务需求的急速增加,出现越来越多的业务阻塞问题,或许只是工作路径上某段链路频谱资源不足就造成整个多播业务请求失败.由此可见,频谱资源的合理利用和负载均衡就变得尤为重要.
(a)树形网络结构 (b)网状网络结构
在弹性光网络中,现有的研究都是基于频谱连续的业务传输方式,为了更好的利用频谱资源,降低业务阻塞率,本节提出分子带多播路由算法,该算法的核心思想是在频谱领域将连续频谱槽分成若干子带在相干光OFDM光通道经过不同路由进行传输,最终在接收端将子带整合成连续频谱.
2.1 基于网状网络结构的分子带多播路由算法
弹性光网络中常见的网络有树形和网状网结构如图2.1,该算法适应于网状网络结构,因为需要源节点和接收点的节点度(节点度是指和该节点相关联的边的条数,又称关联度)至少为2,才能找到至少两条链路不相交的路由来承载子带的传输.
(a)网络拓扑图 (b)多播请求及当前频谱状态 (c)子带传输
如图2.2,网络拓扑如图2.2(a),多播请求及当前频谱资源占用状态如图2.2(b),多播请求为r=(a,{g,i,f}).请求的源节点为a,目的节点为g,i,f,多播请求的带宽为280Gb/s.选用Segment-based multicast tree algorithm为多播请求选路.
图2.3 子带分割方法
首先根据源-目的节点的最远距离确定调制格式,最远距离为a-e-g1100Km,自适应调制格式为8QAM,需要4个频谱槽承载业务.由当前的多播工作路径频谱状态可知,链路a-e上的频谱资源不足4个频谱槽,因此该多播业务将会阻塞,此时利用基于网状网络结构的分子带多播路由算法将所需的带宽分成若干个子带在链路不相交的不同路由上进行信息传输,在目的节点处将所有子带频谱重组即可.每个子带的连续频谱槽个数有多种分割方法如图2.3,要依据当前的频谱使用状态决定,为了降低算法复杂度,本文选用同种粒度的子带.
本例将4个频谱槽的带宽分成两个子带,子带1包含两个频谱槽,子带2包含两个频谱槽.如图2.2(c),在多播工作路径上占用频谱槽6-7传送子带1.在与工作路链路不相交的a-b-g-i和a-c-f上传送子带2,最后在目的节点g、i、f将子带1和子带2的频谱信息进行重组,基于网状网络结构的分子带多播路由算法不仅降低了网络阻塞率,也实现了网络的负载均衡.
2.2 算法具体流程
基于网状网络结构的分子带多播路由算法的核心思想是将请求的带宽资源分为若干子带在不同路由上传输,在目的节点将子带资源重组.因此首先要解决的问题是为每一对节点对找到不同的路由.本文采用改进的迪杰斯特拉Dijkstra最短路径算法,该算法实质是为每对节点对根据链路权重找到所有链路不相交的路径,从而为子带路由提供多种选择,也可以平衡网络负载.
定义链路权重w,链路距离为h(km),[x]为不小于x的最小整数,则链路权重定义为式(1).
W=[h%10]
(1)
网络节点定义为ni,i=1,2,3…两个节点间的链路定义为lni,nj,i=1,2,3…,j=1,2,3,…i≠j两节点间链路距离为h(lni,nj),权重为w(ni,nj)=[h(lni,nj)%10].定义两个节点集合P,Q.
改进的Dijkstra最短路径算法如下:
步骤1 首先令集合P={n1},集合Q={n2,n3,n4…}.
图2.4 节点对遍历方式
步骤2 图2.4为节点对的遍历方式.首先令i=1,j=2.
步骤3 将ni和nj作为节点对(i,j),根据式(2.1)为所有链路计算链路权重,找到节点对(i,j)之间链路权重加和最小的路径.
步骤4 将步骤3中找到的路径从拓扑图中删除,更新拓扑图,并将该路径加入节点对(i,j)的路径列表中.从更新的拓扑图中继续找出权重和最小的链路,从拓扑图删除,并将该路径加入节点(i,j)的路径列表中.重复以上步骤,直到节点对(i,j)间的全部链路不相交路径全部添加到节点对(i,j)的路径列表中.
步骤5 恢复初始拓扑,令j=j+1重复步骤3-5为节点对n1与n3,n1与nk的节点(1,3)…(1,k)更新路径列表.
步骤6 如图2.4将n1从集合P中删除,n2从集合Q中移到集合P,即P={n2},Q={n3,n4…},然后令i=i+1,j=j+2重复步骤3-5直到所有节点对的全部路径被找到.
对于基于网状网络结构的分子带多播路由算法,核心思想是将请求的带宽资源分为若干子带在不同路由上传输,定义每个子带的频谱槽个数相同的子带为SUB-F(x),其中x为子带的连续频谱槽个数.若多播请求需求的频谱槽个数为k,则需要k/x个子带,需求的子带个数为整数,所以对结果取不小于k/x的最小整数即[k/x].本节研究的内容是基于同种粒度的,即每个子带的频谱槽个数相同.当然子带的粒度是可以不同的,如将5个频谱槽分为子带1包含3个频谱槽,子带2包含2个频谱槽,这种子带的分割方法将会增加算法复杂度,因此不同粒度的子带分割将在未来研究.
基于网状网络结构的分子带多播路由算法如下:
输入:弹性光网络的网络拓扑G(V,E),多播请求r=(sr,Dr,Cr).
输出:弹性光网络中多播业务请求的工作路径以及它们的频谱分配.
步骤1 检测当前网络频谱资源使用状态.
步骤2 利用Segment-based multicast tree algorithm为多播请求寻找工作路径.
步骤3 检测当前多播工作路径的链路上是否有足够频谱资源满足多播需求的带宽.若剩余频谱资源充足,则该多播请求选路成功.若工作路径经过的某条链路频谱资源不足,则跳到步骤4.
步骤4 确定工作路径所经过的所有链路,找到链路剩余频谱槽最少的数目,将该数目定义为j.则子带为SUB-F(j),本文采用同种粒度的子带传输方式,若多播请求需求的频谱槽个数为k,需要的子带个数为[k/j].
步骤5 运行改进的Dijkstra算法,找到相关源目的节点对的链路不相交的路径列表.该列表是按权重和从小到大排列的,从列表中依次选取[k/j]条路径承载子带业务.在目的节点将子带业务重组即可完成多播请求.
3 结束语
论文针对弹性光网络中的多播路由及负载均衡问题进行了研究.为了更好的提高频谱利用率,降低网络阻塞率,本文将重点放在路由选择及频谱资源的分配调度上,采用基于网状网络的分子带多播路由算法解决频谱资源有限时利用足够光收发器解决多播业务请求阻塞以及频谱的利用率问题,所提算法通过改变信号调制格式,灵活运用链路上的频谱碎片,可以有效降低网络的阻塞率,提高网络的频谱利用率.