一种分布式高吞吐量的光流交换网络波长信道动态调度方法与流程

文档序号:16278647发布日期:2018-12-14 22:45阅读:479来源:国知局
一种分布式高吞吐量的光流交换网络波长信道动态调度方法与流程

本发明属于光通信与光交换领域,主要是一种分布式高吞吐量的光流交换网络波长信道动态调度方法。

背景技术

光流交换是一种面向下一代全光交换网络的交换技术,适用于政府部门、金融机构、数据中心和其他商业服务提供商对于端到端的海量数据高速传输、数据迁移、灾难备份等的需求。

光流交换网络的框架基于现有的网络基础设施,将网络控制和数据转发在逻辑上解耦合为两个不同的平面:控制平面包括传统的ip交换机和连接它们的控制信道(控制信道可以是光纤信道,只要逻辑上独立),负责处理数据的传输请求和数据通路的建立/释放;数据平面由全光交换节点和光纤信道连接组成,负责数据的交换和传输。数据信号的交换由全光交换器件实现,包括光交叉连接器(oxc)、可重构光分叉复用器(roadm)和光线路终端(olt)。

光流交换网络的基本工作方式是:源节点在控制平面上发送传输请求给目的节点,沿途通过中间节点的ip路由器对相应的光交换器件进行动态配置,建立一条从源节点到目的节点的单波长信道的光路径。光数据信号随即在光路径上进行端到端的传输。光流交换技术具有以下特点:

1.数据转发完全在光域内进行,省去了中间交换节点对于光数据信号的光-电-光转换和处理的过程,能够卸载节点ip交换机的大部分处理工作,同时节约电能的消耗;

2.光流交换相当于电路交换在光域中的对等技术,数据在网络中进行端到端传输,不在中间节点上进行光信号的存储。由于光存储是光通信的技术短板,所以光流交换技术的应用相比光分组交换技术具备更加成熟的应用条件。

控制平面为每次数据传输请求建立一条单波长粒度的连接,在传输结束后立即释放该连接。以当前商用单波长信道的最高速率100gbps计算,传送一张蓝光光碟的数据(约50gb)所用时长为秒级,传送1tb数据的时长为分钟级。这类级别的动态线路交换,要求信道分配必须做到快速高效。波长信道是光网络中宝贵的网络资源,为了提高波长利用率,光流交换的调度算法需要解决两方面的资源竞争:从源节点到目的节点所经过的各个中间链路上的波长信道的竞争,以及源节点/目的节点的发送/接收端口的竞争。传统的调度方法存在以下缺点:

1.采用先到先服务+输入缓冲的排队方式,由于存在队头阻塞,最大吞吐量的理论上限只有58.6%,限制了网络整体的带宽利用率;

2.集中式调度算法,在流量动态变化以及广域网时延不能忽略的场景中,资源可用信息的更新不及时,也会影响到带宽利用率。



技术实现要素:

本发明的目的在于克服现有技术存在的不足,而提供一种分布式高吞吐量的光流交换网络波长信道动态调度方法。

本发明的目的是通过以下技术方案来实现的:本发明公开了一种分布式高吞吐量的光流交换网络波长信道动态调度方法,每个源节点独立建立和释放波长信道,每次建立波长信道前同时检测多个可选的目的地址,选择一个对应波长信道可用的目的地址进行预约;数据传输结束后,源节点释放中间链路上预约的波长信道。

本发明实质上是一种基于多目的地址检测的分布式调度方案,应用于光流交换网络的控制平面。该方案主要针对输入队列非空的情况(对于一般的网状拓扑结构,当网络负载>~10%时通常队列非空),在发送下一次数据前,同时探索队列中多个数据传输请求的目的地址,选择一个对应光路可用的目的地址进行预约。具体来说,该方法包括以下步骤:

1.每个源节点根据自己的虚拟输出队列(voq)中非空子队列队头请求的优先级,选取1个主目的节点和n(0≤n≤k)个辅目的节点,向它们发送1个主控制包和n个辅控制包。每个控制包负责检测从源节点到对应目的节点的路径上是否存在可用的波长信道,包括路径上各中间链路是否存在一致的空闲波长信道,以及目的节点的接收端口是否可用;

2.每一跳节点收到控制包后,根据控制包中的路由信息,对下一跳链路上的空闲波长信息与控制包中的可用波长信道记录进行相与计算,再将计算结果更新到控制包;

3.重复步骤2直至a)控制包记录的可用波长信道数变为0或者b)当前节点为目的节点;

4.当前节点将控制包发回给源节点;

5.源节点接收所有返回的控制包,读取控制包记录的信息。如果到主目的节点存在可用的波长信道,则开始在数据平面上传输数据,并跳转到步骤7;否则

6.如果至少到一个辅目的节点存在可用的波长信道,则从中选取请求优先级最高的辅目的节点,将它设为主目的节点,重复步骤1;如果到所有辅目的节点都不存在可用的波长信道,等待一个随机延时,重复步骤1;

7.当数据传输结束时,源节点发送释放控制包rls_msg到目的节点,释放中间链路上预约的信道和目的节点的接收端口。

本发明还可通过以下技术方案进一步限定和完善:

作为优选,所述步骤1中,各请求子队列的队头优先级依据请求内容的优先级/请求到达时间而定。在优先级相同的情况下,采用轮询方法选取队头请求。

作为优选,所述步骤2和3中,若波长信道可用,主控制包在各个节点处预约该波长信道,而辅控制包不进行预约操作。

本发明的有益效果是:

1.基于现有网络硬件实施条件,网络修整少,部署方便;

2.由于采用了在各个源节点分布式的调度,网络中不需要集中式的资源调度单元,单个节点调度的计算复杂度低;

3.实时获取波长信道和节点端口可用状态信息,延时在毫秒量级;

4.多目的地址检测的方法有效提高光流交换网络的吞吐量,带宽利用率高。

附图说明

图1是光流交换节点系统框图。

图2是多目的地址检测算法流程图。

图3是控制包的一种实现格式。

具体实施方式

本发明的要点是采用了分布式调度和多目的地址检测的方法,分布式调度系统取代了传统调度方式中的集中调度系统的职能。即每个源节点独立建立和释放波长信道,每次建立波长信道前同时检测多个可选的目的地址,选择一个对应波长信道可用的目的地址进行预约;数据传输结束后,源节点释放中间链路上预约的波长信道。

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的实施例作详细描述。本发明所依据的系统框图如图1。每个节点由一个ip交换机和一个oxc(光交叉连接)组成。每个ip交换机设计一个专门的光流交换模块,包括一组虚拟输出队列(voq)和一个光流调度模块。voq用来缓存本节点产生的数据传输请求,不同的子队列对应不同的目的节点。光流调度模块负责处理数据传输请求。一个oxc的不同端口连接不同的光纤,从每根光纤上输入的波长信道被解复用,来自不同光纤相同波长的数据进行波长交换,最后再次复用到不同的光纤上输出。

下面以基本的前向预约方式为例,描述一个完整的传输过程。按照图2的流程,当源节点上有新的传输请求产生且源节点的虚拟输出队列(voq)为空时,或者上一个传输请求完成且voq不为空时,每个源节点根据voq中非空子队列的队头请求的优先级,选取1个主目的节点和n个辅目的节点(0≤n≤5),向它们发送1个主控制包和n个辅控制包。每个控制包负责检测从源节点到对应目的节点的路径上是否存在可用的波长信道,包括路径上各中间链路是否存在一致的波长信道,以及目的节点的接收端口是否可用。接收到控制包的节点对比本地地址和控制包的路由地址列表,判断当前节点在控制包所请求的路径中属于中间节点、目的节点还是源节点,相应选择以下三种操作之一:

1.若当前节点是所收到的控制包的中间节点,读取控制包波长状态列表的可用波长集合a,对比当前节点的下一跳链路波长状态列表中的可用波长集合b,取交集a∩b。若控制包为

1a)前向主控制包:若a∩b非空,执行动作①③⑦,否则执行动作⑥⑧;

1b)后向主控制包:执行动作②⑧;

1c)前向辅控制包:若a∩b非空,执行动作③⑦,否则执行动作⑥⑧;

1d)后向辅控制包:若ack=1,执行动作③⑧,否则执行动作⑧。

2.若当前节点是所收到的控制包的目的节点,读取控制包波长状态列表的可用波长集合a,对比当前节点的波长接收端口状态列表中的可用端口集合c,取交集a∩c。若控制包为

2a)前向主控制包:若a∩c为非空,执行动作④⑤⑧,否则执行动作⑥⑧;

2b)前向辅控制包:若a∩c为非空,执行动作⑨⑧,否则执行动作⑥⑧;

3.若当前节点是所收到的控制包的源节点,读取控制包波长状态列表的可用波长集合a。若控制包为3a)后向主控制包:若a非空,执行动作②⑩;否则等待全部辅控制包返回,如果其中至少有一个到辅目的节点的波长信道可用,则从中选取请求优先级最高的辅目的节点,将它设为主目的节点,同时选取n个辅目的节点(0≤n≤k),重新向它们发送1个主控制包和n个辅控制包。如果全部目的节点都没有波长信道可用,那么等待一个均值为100ms的指数随机延时,重新发送原来的1个主控制包和n个辅控制包。

3b)后向辅控制包:若源节点已开始数据传输,忽略此控制包;否则结合其他返回的控制包,参见3a)判决下一步的操作。

其中动作①~⑩定义如下:

①:修改节点下一跳链路波长状态列表:预约a∩b中的波长并将之设为不可用;

②:修改节点下一跳链路波长状态列表:将b-a中的波长信道设为可用;

③:修改控制包波长状态列表,将可用波长集合设为a∩b;

④:修改节点波长接收端口列表:选取a∩c中的一个波长λ进行预约,并在波长接收端口列表中将之设为不可用;

⑤:修改控制包波长状态列表,将a集合中除λ之外的波长设为不可用;

⑥:改写控制包标志位ack为0,同时修改控制包波长状态列表,将所有波长设为不可用;

⑦:根据控制包的路由地址列表转发控制包给下一跳节点;

⑧:根据控制包的路由地址列表发送控制包给上一跳节点;

⑨:修改控制包可用波长列表为a∩c;

⑩:开始光信号数据传输。

最后,当传输结束时源节点发送释放控制包:修改节点下一跳链路可用波长列表:释放波长信道λ;释放波长λ对应的端口。

辅控制包的个数k的取值是一个与网络节点数规模无关的常数,如果取值太大会增加控制平面的计算复杂度。本方案取值k=5,网络最大吞吐量可以达到75%。指数随机延时的均值与波长信道的带宽和数据流的平均值相关,本方案均值取100ms适用于数据流持续时长~1s的情况,均值取值太小会增加控制平面的计算复杂度,太大会降低带宽利用率。

如图3所示,公开了一种控制包的实现格式,其中说明如下:

inq:标志位,1表示控制包前向发送,0表示控制包后向返回;

prima:标志位,1表示主控制包,0表示辅控制包;

ack:标志位,前向发送时,ack=1表示主控制包或者辅控制包,ack=0表示释放控制包;后向返回时,1表示控制包预约成功,0表示预约不成功;

ini_time:控制包从源节点发出的时间;

rsv_time:控制包返回到源节点的时间;

rtn_node:控制包折返的节点地址;

src_addr:源节点地址;

prima_addr:目的节点地址;

axu_addr_i:中间路由节点i的地址;

lamda_i:波长状态列表,初值=1,返回值=1表示第i个波长信道可用,=0表示不可用。

可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1