最新公告
  • 欢迎光临数据科学与编程,我们是数据学科学兴趣交流小组立即加入我们
  • 一种基于SDN的混合网络架构设计与实现

    摘 要

     

    现阶段,单一的移动自组织网络(MANET)或延迟容忍网络(DTN)已经无法满足战场、 灾区等复杂环境通信的需求,将两者结合的思想被研究者们提出。为了解决常规路由转发协议栈 和延迟容忍转发协议栈不兼容的问题,我们利用目前广受关注的软件定义网络技术(SDN),提 出了一种将移动无线自组网(MANET)和延迟容忍网络(DTN)相结合的混合网络架构,通过向 流表发送探测分组,判断到目的地是否有“端到端”链路的方式,对节点的传输方法进行动态切换。最后对混合架构进行了实现,并与传统网络架构做实验对比,说明了我们方案的优越性。

    内容目录

    1  SDN体系结构分析
    2 基于SDN的混合网络结构设计
    2.1 流表构建
    2.2 数据报文转发
    3 快速切换路由机制的设计
    4 实现与性能分析
    4.1 硬件设备
    4.2 软 
    4.3 实验流程
    4.4 实验结果及分析
    5 结 

    随着无线网络技术的飞速发展,无线通信应用 场景也越来越复杂、多样化。其中,移动Ad-hoc 网络(Mobile Ad-hoc Networks, MANET )以其自自 组织、自寻址和自路由的特性受到人们的青睐% MANET在紧急救援、车辆通信和战场通信等领域 有着广泛应用。和节点始终相连的互联网不同,移 动自组织网由于自身节点移动或环境条件的变化, 频繁地出现网络分区,使得源节点和目标节点可能 没有可靠的端到端链路,导致整个自组网性能下降, 甚至不能正常工作。

    为了解决“可靠性”问题,延迟容忍网络(Delay Tolerant Network, DTN )开始被人们所关注。传统 的无线Ad-hoc网络在通信会话正在进行时建立可 用的端到端路径,而在延迟容忍网络中,由于网络 的稀疏性和低节点密度且节点之间的联系只能通过 短暂的通信场景支持。DW方法允许中间节点以“存 储-携带-转发”模式进行异步通信,并且当机会合 适的时候将消息传递到目的节点。因此在卫星组网、 传感器网络、战场通信等应用领域受到重视。然而, 许多D0路由协议为了保证数据包到达率,创建多 个消息副本传送,这会导致拥塞并降低网络性能。

    在某些特定场景下,例如无人机组网场景中, 很多情况下,用户希望在有路由时采用MANET转 发,而在没有路由,网络不具备端到端连通链路时 采用DTN协议框架转发,这样在既保证实时性的 情况下,又尽可能地提高端到端分组交付率。然而 目前已有的混合架构大多在节点网络层添加切换机 制或者在源节点设置适配层,根据当前网络环境切 换传输方式,但使得DTN与MANET协议栈耦合 度较高、灵活性切换较差,不利于DTN与MANET 混合协议的有效实现。为了更好地实现MANET与 DTN两种传输模式的结合,软件定义网络(Software Defined Network, SDN )以转控分离、开放的可编 程接口等特性,弓I起了相关研究者的关注。

    本文借助软件定义网络控制平面和数据平面 分离的转发处理功能,提出了基于软件定义网络来 实现常规路由转发与延迟容忍网络的结合,解决了 传统路由协议栈与延迟容忍协议栈不兼容的问题, 同时,设计了一个两种传输模式的快速切换策略, 可以使节点以较低开销获知数据是否可以通过路由 转发,并根据网络路由通断情况动态选择继续使用 DTN或切换至路由方式转发数据,是一种轻量级、 灵活、易扩展的混合网络架构。

    SDN体系结构分析

    SDN技术是计算机网络领域的一种新的驱动 力,它本身诞生于美国斯坦福大学实验室的一个课 题,是为了让网络管理员通过集中控制的方式,更 方便地对网络通信进行安全控制。经过十多年的发 展,SDN的概念由于不同场景的应用而有了不同的 标准,目前最普遍接受的定义是由开放网络基金会 (Open Networking Foundation, ONF )提出的,也 被业内人士称为狭义SDN,通常具有三个基本特征:网络转发和控制平面的明确分离、网络逻辑从硬件 实现到软件的抽象和存在协调网络设备转发决定的 控制器叫

    如图1所示,ONF提出的SDN参考模型分为 三层架构,由下至上依此为基础设施层、控制层 和应用层。应用层与控制层通过北向接口进行交 互,但目前还没有统一的规范。控制层和基础设 施层通过南向接口进行交互,一般采用ONF提出 OpenFolw协议格式[6]o

    一种基于SDN的混合网络架构设计与实现

    图1 SDN参考架构模型

    基础设施层包括数据平面的交换设备(例如, 交换机、路由器等)。这些交换设备的功能大多是 双重的。首先,它们负责收集网络状态,暂时将这 些状态存储在本地设备中并将其发送到控制器。网 络状态可以包括诸如网络拓扑、流量统计和网络使用之类的信息。其次,它们负责根据控制器提供的 规则处理数据包。

    控制层通过其两个接口桥接应用层和基础设施 层,向下与基础设施层(南向接口)交互,它为控 制器详细指定了访问和控制交换设备的功能。这些 功能可以包括报告网络状态和导入分组转发规则。向上与应用层(北向接口)交互,它以各种形式提 供服务接入点,例如,应用程序编程接口( Application Programming Interface, API )。SDN 应用程序可以 通过此API访问交换设备报告的网络状态信息,根 据此信息做出系统调整决策,并通过使用此API将 数据包转发规则设置为交换设备来执行这些决策。

    应用层包含为满足用户需求而设计的SDN应 用程序。通过控制层提供的可编程平台,SDN应用 程序能够访问和控制基础设施层的交换设备。SDN 应用程序的示例可以包括动态访问控制、无缝移动 和迁移、服务器负载平衡和网络虚拟化。

    基于SDN的混合网络结构设计

    目前,已经提出的MANET与DTN网络混合 架构有三种,分别是DTN-over-IP架构、IP-over- DTN架构和IP-cum-DTN架构。但都有着明显的缺 陷和不足,虽然DTN-over-IP架构最大程度的支持 已有的各种DTN协议,但它仍处于应用层与网络 层之间,所以只与专门为捆绑层编写的应用程序兼 容,并且还有在只使用端到端路径时会产生额外的 开销,DTN路由不与IP路由交互等缺点。

    IP-over- DTN架构一般用在延迟容忍网络包含于移动无线网络节点(DTN over MANET, DOM)模型上,它将 IP包封装在DTN包中,能大大提高原来基于IP的 应用程序兼容性,但这种方法有明显的层冲突,并 且一旦采用DTN模式,即使网络链路恢复,也不 能切换成MANET模式传输,大大增加了网络时延。IP-cum-DTN架构不覆盖协议,它是依赖于节点(_ 般为网关)中的第三个模块将两种传输模式拼接成 一个端到端层,好处是把DTN和MANET传输实现 了分离,但架构模型对传统架构改动较为复杂,一 般应用在D0M模型的边缘DTN代理节点。

    针对已经存在的问题,利用SDN,我们设计 的延迟容忍网络和无线移动自组织网络融合方案 如图2所示。在这个混合网络架构里,我们将负责 DTN转发的延迟容忍模块和常规路由的路由管理模 块基本分离,整个架构分为控制器单元(负责路由 接收、流表设置、数据处理)、路由管理模块、软 交换单元(负责流表配置和数据转发)和延迟容忍 模块四大部分。需要指出的是,每个节点都是〜分 布式控制器,而不是整个网络的集中控制器,节点 的通信服务版可以有多个外部接口,软交换机支持 多接口。

    一种基于SDN的混合网络架构设计与实现

    图2 基于SDN延迟容忍网络和无线移动自组网络的融合框架

    软交换单元接收带转发的数据报文后,根据数 据报文中的目的地址查找流表,当流表中能够找到 相应目的地址所对应的流表数据时,向对应的网络 发送数据报文。当流表中找不到相应目的地址所对 应的流表数据时,将数据报文发送至延迟容忍模块, 由延迟容忍模块通过延迟容忍的方式发送该数据报 文。该架构解决了常规路由转发协议栈与延迟容忍 转发协议栈不兼容的问题,同时不存在控制器融交 互等问题,没有给网络增加额外的开销和负担。混 合架构涉及两个重要过程:流表构建过程和数据报 文转发过程。

    2.1 流表构建

    SDN和传统互联网分层有一定区别,但流表 的构建仍是可以基于现有协议算法所确定的路由信 息,路由管理模块运行自身的路由和组网协议(例 如最优链路状态路由协议),根据其他节点反馈回 来的消息,确定每个目的子网或目的地址的路由。将得到的路由信息通过北向接口的API,告知或者 发送给控制器单元里的路由接收模块。

    这时,路 由接收模块将接收到的路由信息转交给流表设置模 块,流表设置模块是将路由信息转化成相应的流表 设置指令,并将流表设置指令发送至软交换单元中 的流表配置模块。流表配置模块根据控制器单元所 发送的流表设置指令,形成相应的流表,流表由流 表数据和缺省项信息所组成,流表数据和缺省项信 息的一般格式分别如图3和图4所示。

    匹配目的地址

    下一跳

    输出端口

    动作

    图3 流表数据一般格式

     

    匹配字段

    下一跳

    输出端口

    动作

    图4 缺省项信息一般格式

    需要指出的是,由于路由信息分为可达路由和 不可达路由。当路由信息为可达的路由时,流表配 置模块则根据流表设置指令在流表中生成相应的流 表数据;当路由信息为不可达的路由时,流表配置 模块则根据流表设置指令在流表中删除相应的流表 数据。

    2.2 数据报文转发

    在数据报文转发过程中,当一个携带有目的地 址的分组,也就是数据报文,通过物理接口到达软 交换单元后,软交换单元的数据转发模块根据数据 报文中的目的地址查找流表配置模块生成的流表。当流表中能够找到相应目的地址所对应的流表数据 时,向对应的网络发送该数据报文。

    当流表中找不 到相应的目的地址所对应的流表数据时,数据转发 模块会将数据报文提交至控制器单元的数据处理模 块。然后数据处理模块将接收到的数据报文发送至 延迟容忍模块。最后由延迟容忍模块将的数据报文 通过延迟容忍的方式进行发送。最终实现有路由分 组转发和无路由分组转发的融合。

    通过在每个节点设置一个分布式控制器,并通 过路由模块、DTN模块与控制器模块的交互实现系 统存在路由时采用路由转发分组,系统不存在路由 时采用延迟容忍网络转发分组的融合分组转发。本 文提出的架构,不存在控制器融合、交互等问题, 没有给网络增加额外的开销和负担,对传统路由模 块和DTN模块改动也很小。

    由于控制器是每节点 一个,因此在网络分裂时不需要重新选举出控制器, 在多网络融合时,不需要多控制器交互关闭其中一 个或多个控制器,组网基本上不会给网络引入新的 开销,网络效率高。

    快速切换路由机制的设计

    为了更灵活地切换延迟容忍模式和常规路由两 种策略,达到“无路走DTN,有路走MANET”的效果, 本文还提出一种路由快速切换机制,根据网络路由 通断情况动态选择使用DTN或者MANETO便于描 述,把主控单元和软交换单元里的模块隐藏(如 图5所示)。

    一种基于SDN的混合网络架构设计与实现

    图5基于SDN的混合网络架构略图

    在该结构图中,路由模块上运行常规路由协议, 当流表建立起来后,通过控制器设置软交换机内部 的流表,用于软交换机的查表转发。当节点收到来 自输入接口的分组时,该分组将被导向查阅流表, 确认是否具有到目的节点的路由。快速切换路由机 制的流程图如图5所示。

    首先节点通过无线信道或者物理网口接收到 数据包,用户可以按照需求情况通过扩展流表项区 分是否为DTN数据包(例如设置服务类型的优先 级),不是DTN数据包,按常规路由转发方式进行。如果是DTN数据包,软交换单元通过主控单元将 DTN数据包递交给DTN模块。

    DTN模块收到DTN数据包后,继续DTN传输 模式,同时构造一个探测分组,探测分组的目的地 址设置为目的节点的IP地址,分组的TTL( Time To Live,生存时间)字段设置为1,然后将此探测 分组插入到输入接口队列,开启定时器,则此探测 分组会被送到软交换机里进行查表。如果流表里有 到目的节点的路由,就会根据流表指定的接口转发 此探测分组,由于该分组的TTL为1,因此分组在 流表转发时,TTL值自动被递减为0,自然会被转 发模块丢弃traceroute原理),在转发出接口之前 已经被丢弃,从而不会给网络带来额外负担,并且 在定时器超时时间内没有收到刚刚发出的探测分 组,则认为本节点有到目的节点的路由,因此该数 据分组不需要通过DTN模块转发,DTN模块将该 数据包恢复成常规数据包格式,插入到外部接口发 送队列中。

    否则,软交换机将没有流表对应项的探 测分组送入控制器,再由控制器转交给DTN模块 进行发送。DTN模块从控制器处收到刚刚发出的探 测分组,说明没有到目的节点的路径,就会继续使 用DTN模块进行DTN方式传输。同时开启周期性 构建探测分组,判断是否有到目的节点的“端到端” 路径,从而进行快速路由切换。

    通过此种方式,节点只需要构造一个开销极小 的探测分组,在节点内部完成是否进行传输切换的 判断,也没有对常规路由协议和DTN协议中的数 据格式进行修改。比通过扩展MANET路由协议数 据格式有着兼容性更强、扩展度更高等优点,在对 网络资源有限的Ad-hoc网络(如战场无人机通信 等)中有着更强的参考价值。

    实现与性能分析

    验证基于SDN混合网络架构的可行性,本文 基于Ubuntu操作系统搭建了 SDN环境,利用C++ 语言实现了 DTN模块探测包的发送和接受处理, 并对SDN控制器RYU核心代码进行了修改,能够 处理我们需要发生的事件。然后通过与传统网络架 构(DTN-over-MANET)做实验对比,得出我们提 出方案的优势。

    4.1 硬件设备

    考虑到实验的易操作和易实现,本实验的硬件 环境考虑使用基于ARM内核的Ubuntu 16.04操作系 统的树莓派3b,是一款价格便宜并且功能俱全的微 型开发板,适合大部分研究人员的测试和应用。

    4.2 软 件

    SDN的控制器采用Python语言编写的基于组 件的RYU,它是一个开源软件,可以为开发者自定 义新的网络管理和控制应用程序,支持各种用于管 理网络设备的协议。软交换模块采用高质量、多层 的虚拟交换机(OpenVSwitch, OVS),与物理交换 设备相比,开销小,可以通过编程方式扩展大型网 络,同时能支持许多标准南向接口协议如OpenFlow 等,快速切换路由机制流程如图6所示。

    一种基于SDN的混合网络架构设计与实现

    6快速切换路由机制流程

    DTN模块使用DTN2作为DTN协议实现。DTN2根据网络规范RFC 5050,实现了 DTN捆绑 协议,允许DTN节点之间利用Bundle层传输数据。由于这个软件只考虑了 DTN情况下的传输,本文 的探测分组的构造和DTN数据包转换成IP包工作 在DTN2基础上完成。为了验证架构的可行性,我 们选择了 DTN2软件里比较简单的Direct Delivery 路由算法。这种算法只允许源节点与目的节点相遇 后才发送数据,有利于实验对节点传输方式的判断。

    常规路由模块使用目前较为成熟的OLSRd作 为协议源码。该源码用于实现路由协议最优状态 链路协议(Optimized Link State Routing Protocol, OLSR ) o OLSR 是链路状态协议(Link State Routing Protocol, LS)的改进,它是基于链路状态的主动路 由协议,节点之间通过周期性的交互状态维护整个 网络的拓扑信息,与被动协议不同,如果节点传输 数据失败,不需要转入链路维护状态,直接丢弃该 数据包,降低时延。

    4.3 实验流程
    为了验证基于SDN混合网络架构和切换算法 的有效性,本设计了两种场景进行实验。选择4个 树莓派作为节点,DTN的ID依此为Pil〜Pi4,对 应的 IP 地址依此 192.168.1.1 ~ 192.168.L4o 对每 个实验场景,分别采用传统网络架构和基于SDN 的网络混合架构发送数据包,采用何种网络传输 模式可以通过数据包的存入路径判断,然后利用 Wireshark抓包工具和目的节点接收情况来对结果 进行分析。

    场景1。源节点为Pil,目的节点为Pi4,形成 的连通关系如图7所示,首先各节点采用传统架构, 源节点Pil发送数据包,然后查看Pi4的接收和所 有节点抓包情况;然后各节点换成设计的SDN混 合网络架构进行相同实验,查看结果。

    一种基于SDN的混合网络架构设计与实现

    图7实验场景1拓扑关系

    场景2。各节点的连通关系如图8所示,同样 先后采用传统结构和SDN混合网络架构的顺序实 验。源节点Pil和节点Pi2为无效链路,发送数据, 查看各节点的抓包和接收情况,然后移动源节点 Pil,使其与节点Pi2形成可用链路,但与Pi4不在一跳范围内,再次查看各节点的抓包和接收情况。

    一种基于SDN的混合网络架构设计与实现

    8 实验场景拓扑关系

    4.4 实验结果及分析

    场景1。树莓派不管是采用传统架构还是SDN 混合网络架构,Pi4接收到数据包,并且以文件形 式存入MANET对应的路径,通过Wireshark抓包, 发现每个节点都有到目的节点的IP,说明在节点之 间链路存在的情况下,两种架构都能采用常规路由 模式传输数据。

    场景2。当Pil和Pi2没有可用链路时,树莓 派不管采用哪一种网络架构,Pi4都没有接收到数 据包,通过Wireshark查看,只有Pil有到目的节 点IP的记录,并且以文件形式缓存在DTN对应的 路径,说明两种架构都能在网络断路时切换成DTN 模式。当Pil和Pi2恢复链路后,在采用传统架构 的情况下,数据包仍存储在Pil的bundle层,没有 被转发。原因是传统架构采用DTN模式后,即使 出现“端到端”链路,由于MANET与DTN架构不 兼容,无法切换到MANET模式。而在采用SDN混 合网络架构的情况下,目的节点Pi4成功接收数据 包,查看各个节点抓包和数据包存储路径情况,发 现Pi4以文件形式存入MANET对应的路径,传输 成功。说明Pil通过快速路由切换机制,检测到了 有到目的节点Pi4的“端到端”链路,自动切换成 了常规路由发送,验证了本文提出的基于SDN的 混合网络架构,以采用内部发送较低开销的探测分 组的方式,使用DTN与MANET两种传输模式在低 耦合度情况下也达到了灵活的切换。

    结 语

    本文根据SDN架构,考虑了两种传输方式的 特点,且结合实际应用的需要,提出了一种基于 SDN的混合网络架构设计。该模型利用SDN可编 程性、转控分离等特点,通过在应用层“挂件”的 方式,使DTN和MANET两个模块能独自运行的同 时,设计了一种低开销的路由快速切换机制,使得 节点能根据当前网络环境的通断情况,动态地选择 传输方式。最后,利用现有的资源对该架构进行了 实现,并和传统网络架构(DTN-over-MANET)做 对比,验证了该架构的有效性和灵活性。

    从现在来,纯MANET或DTN路由技术已经趋 于成熟,但在应对受限网络领域如战场通信,无人 机通信等方面,都有所不足。本文结合SDN技术, 充分发挥了两种路由模式的优点,为混合架构的研 究提供了新思路,有较大的实用价值。

    引用本文戴天,李艾静,王海.一种基于SDN的混合网络架构设计与实现[J].通信技术,2019, 52(05):1134-1141.

    本站上原创文章未经作者许可,不得用于商业用途,仅做学习交流使用,本站免责声明。转载请注明出处,否则保留追究法律责任的权利。《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
    数据科学与编程 » 一种基于SDN的混合网络架构设计与实现

    发表评论

    • 52会员总数(位)
    • 310资源总数(个)
    • 29本周发布(个)
    • 1 今日发布(个)
    • 331稳定运行(天)

    提供最优质的博文资源集合

    立即阅览 了解详情