软件定义光网络故障恢复与资源分配

前言

传统IP分组交换网使用域内路由协议(Interior Gateway Protocol,IGP)和域间路由协议(Border Gateway Protocol,BGP)实现了完美的互联,构建了全球范围内的大规模Internet。但是,随着移动互联网和物联网的快速发展,新业务层出不穷,业务需求也千变万化,传统分布式的网络已不堪重负。同时,由于控制平面与数据平面集于一身的特征,传统网络也面临网络拥塞、设备复杂、运维困难、新业务部署慢等诸多问题。软件定义网络(Software Defined Networking,SDN)打破了传统网络的垂直集成,通过控制与转发分离的方式实现了控制逻辑集中、开放网络编程接口的特点,为网络注入了新的活力,使得网管可以对网络进行灵活地配置与重配置。

SDN的可编程性和开放性也为光网络的革新提供了新的机会。光网络在经历了时分复用(Time Division Multiplexing,TDM)、波分复用(Wavelength Division Multiplexing,WDM)之后也趋于走向未来的基于正交频分复用(Orthogonal Frequency Division Multiplexing ,OFDM)的灵活的弹性光网络(Elastic Optical Networks,EONs)。然而,EONs继续为网络用户提供大容量传输的同时,也对光网络的灵活管控提出了新的挑战。因此,SDN和EONs的结合(SD-EONs,架构如下图所示)会是未来光控制平面的有力解决方案之一,本文将从软件定义光网络中的故障恢复和资源分配两个方面做简短的介绍。

图(a)SD-EONs网络架构;(b)BV-WSS结构;(c)OF-AG结构;(d)ER结构;(e)光流表

一、故障恢复

任何网络都应该具有故障的容忍能力,当然光网络也不例外,恢复力也是光网络中最渴望的属性之一。在SD-EONs中,恢复力通常可以分为保护策略和恢复策略。保护是一种先验式的策略,而恢复是一种反应式的策略。

保护策略是预先规划的,无论网络故障是否发生,它们总是一直存在着。文献1中提供了一种环网的保护策略,利用流表的优先级来预先下发高优先级的工作流表和低优先级的保护流表。网络正常工作时使用高优先级的流表,一旦网络发生故障立即切换到低优先级的流表来恢复网络的通信。保护策略的好处就是故障恢复的时间非常短,因为整个过程不需要额外的信息交互。缺点就是保护路径再次发生故障时无法恢复通信,此外对于大规模复杂的网络拓扑设计完善的保护算法的难度也非常大。

恢复策略需要设计感知故障的方法,同时也要设计用于故障恢复的算法。文献2中利用探测包的方式动态地监测网络链路状态,一旦节点或链路发生故障,光代理模块会将故障信息反馈给控制器,控制器中的故障恢复应用运行动态的路由算法DAPSP(Dynamic All Pairs Shortest Paths)通过重路由的方式来恢复通信。当然,在软件定义的光网络中,控制器的故障也不容忽视,因为一旦控制器发生故障很可能会导致整个网络的瘫痪。文献3设计了一种主从控制器的方案来加强控制平面的鲁棒性。主从控制器之间周期性的同步网络的状态信息。在正常工作状态下,使用主控制器来管控网络,一旦主控制器发生故障,从控制器立即接管网络的控制与管理。

二、资源分配

EONs利用光正交频分复用(Optical Orthogonal Frequency Division Multiplexing, OOFDM)技术可以根据不同带宽的业务请求按需动态的分配频谱资源,并将频谱资源分成许多细粒度的频隙,同时还可以根据请求的需要把频隙进行拆分与聚合,这样就能够节约频谱资源,从而提高频谱资源的利用率。EONs最明显的特征就是弹性可变,多调制模式类型的转发器能够根据业务类型自主地选择最佳的调制等级。在SD-EONs中设计路由与频谱分配算法应该注意频谱连续性、频谱一致性和频谱冲突性三个约束。频谱连续性:是指为每个业务分配的频谱槽必须是连续的,中间没有间隔;频谱一致性:是指对于一个业务来说,在光路径经过的光链路上,应采用相同序号的光谱资源;频谱冲突性:是指不同业务之间需要一定的保护带宽,用以保证每条业务连接请求所占用的频谱间隙不重叠,确保信号在传输、处理过程中不会相互干扰。文献4设计了一个基于频谱效率与连通度(Spectral Efficiency and Connectivity,SEC)的路由调制等级和光谱分配(Routing, Modulation Level and Spectrum Allocation,RMLSA)的算法SEC-RMLSA来提升SD-EONs的业务承载能力。

光流表

在光设备中,数据的转发应该按照光流表来进行操作。一个简单的光流表由输入端口(In Port)、输出端口(Out Port)、中心频率(Central Frequency,CF)、频谱槽宽度(Slot Width,SW)和调制格式(Modulation Format,MF)组成。在这里介绍一种基于Flow_Mod消息扩展光流表的简单方法。

小提示:

!:大端存储;C:char,字符型;B:一个字节长度,无符号字符型;I:4个字节长度,int型;H:两个字节长度;Q:八个字节长度;x:padding;3x:3个字节的padding;5s:5个字节的字符串。

在光设备中,数据的转发应该按照光流表来进行操作。一个简单的光流表由输入端口(In Port)、输出端口(Out Port)、中心频率(Central Frequency,CF)、频谱槽宽度(Slot Width,SW)和调制格式(Modulation Format,MF)组成。在这里介绍一种基于Flow_Mod消息扩展光流表的简单方法。

步骤1:

目录:ryu/ryu/ofproto/ofproto_v1_3.py

首先,先需要把ofp_action_output中的协议格式重新定义,即将原来末尾的6x填充域重定义为3个HHH的格式,分别用于存储中心频率、频谱槽宽度和调制格式。

步骤2:

目录:ryu/ryu/ofproto/ofproto_v1_3_parser.py

接着,在解析和序列化函数中分别添加中心频率、频谱槽宽度、调制格式3个变量。

步骤3:

目录:在你所开发的应用中。

最后,将拟设计算法输出的3个参数加载到action中的末尾。以及将封装好的Flow_Mod消息发送给光代理。

如图所示的结果,利用Wireshark抓到的Flow_Mod消息。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2017-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玉树芝兰

如何用Python提取中文关键词?

本文一步步为你演示,如何用Python从中文文本中提取关键词。如果你需要对长文“观其大略”,不妨尝试一下。

2432
来自专栏SDNLAB

DPI深度报文检测架构及关键技术实现

当前DPI(Deep Packet Inspect深度报文识别)技术是安全领域的关键技术点之一,围绕DPI技术衍生出的安全产品类型也非常的多样。在分析DPI的进...

6148
来自专栏贾老师の博客

游戏中的网络同步

3114
来自专栏北京马哥教育

知乎美女挖掘指南--Python实现自动化图片抓取、颜值评分

声明:文中所有文字、图片以及相关外链中直接或间接、明示或暗示涉及性别、颜值分数等信息全部由相关人脸检测接口给出。无任何客观性,仅供参考。 1 数据源 知乎 话题...

5106
来自专栏哲学驱动设计

Rafy 领域实体框架 - 领域模型设计器(建模工具)设计方案

去年4月,我们为 Rafy 框架添加了领域模型设计器组件。时隔一年,谨以本文,简要说明该领域模型设计器的设计思想。 设计目标 Rafy 实体框架中以领域驱动设计...

32810
来自专栏python小白到大牛

python老司机带你玩玩炫酷的3D渲染,酷毙了!

自从学会了turtle模块后,画了不少简笔画。像小猪佩奇、哆啦A梦等等,但是这些依然不能让身边人感受到python的强大,依然是每次装逼必被打脸。就像你用tur...

4202
来自专栏PingCAP的专栏

天真贝叶斯学习机 | TiDB Hackathon 优秀项目分享

**“在 TiDB Hackathon 2018 学习到不少东西,希望明年再来”**

1440
来自专栏FreeBuf

看我如何基于Python;Facepp打造智能监控系统

由于种种原因,最近想亲自做一个基于python&facepp打造的智能监控系统。 0x00:萌芽 1:暑假在家很无聊 想出去玩,找不到人。玩个lol(已卸载),...

5745
来自专栏分子生物和分子模拟计算

Human Hemoglobin

1364
来自专栏数据和云

Oracle Database 18c 的10大新特性一览

在 2017 Oracle OpenWorld大会上,关于 Oracle 18c 的一系列新特性已经被披露出来,借助分散在各个会场的公开分享主题和内容、OOW提...

58411

扫码关注云+社区

领取腾讯云代金券