2016-02-14 by muzi

SDN作为一种新的网络架构,正被应用到越来越多的网络场景中。而网络的关键在于通信,如何使得SDN网络正常运行,并且能够和传统网络相互通信是SDN组网需要解决的基本问题。本文将介绍SDN组网相关解决方案中的数据平面到控制平面的组网解决方案、多SDN域组网解决方案和SDN网络与传统网络组网通信的解决方案。

SDN数据平面到控制平面组网

目前为止,在数据层面到控制到控制平面之间的组网方案主要有两大类:带外组网和带内(in-band)组网。

  • 带外(out-band)组网:

    数据平面到控制平面的控制数据通过专门的控制网络,而不经过数据平面转发,从而将数据平面的数据和控制平面数据隔离运行在两张独立的网络中。在带外 组网方案中,每个交换机都有连接到控制平面的专属线路,而无需通过其他数据平面交换机转发。带外组网可以减少组网的难度和运维的难度。缺点是交换机多时, 链路数量较多。

图1. out-band组网方案

  • 带内(in-band)组网

    带内组网指的是控制数据和数据平面数据可以共享一个物理链路。即数据平面的有些交换机直连控制器,而其他的交换机的需要经过数据平面的链路才能到达控制器。非直交换机的控制数据需要通过数据平面的链路进行转发,并通过直连交换机转发到控制器。此种组网方式可以减少许多交换机到控制器的链路数量,但是配置带内组网比较麻烦,可靠性较低,维护成本也相对要高。

    图2. in-band组网方案

多SDN域组网方案

当网络规模过大时,需要部署多域的组网方案。其中每个SDN域都由各自的控制平面控制。多域组网方案有水平架构和垂直架构两种。水平架构形式的多域组网方案中,域控制平面之间的关系是对等的。而在垂直架构中,则划分为域控制器层和超级控制器层。其中域控制器层负责自身域内的控制,超级控制器层负责管理域间的通信。

  • 水平架构

    实现水平架构的多域控制器的解决方案有分布式集群和东西向接口协议两种方式。部署分布式集群可以实现同类型多控制器实例的协同工作,无法支持异构控制器之间的协同工作。而东西向接口协议支持异构多域控制器之间的协同工作,其通过交换路由等信息实现多域网络通信。水平架构多域组网架构图如图3所示:

图3. 水平架构多域控制器组网方案

  • 垂直架构

    垂直架构的多域控制器组网中超级控制器负责域间通信,而域控制器负责域内的通信。超级控制器相当于集中式的路由器,负责域间的通信,而每一个域由的域控制器模拟成独立的网络域,从而实现全局网络的管理。目前实现垂直架构的多域控制器协同工作的协议有Open eXchange 协议,其组网架构图如图4所示:

图4. 垂直架构多域控制器组网方案

SDN与传统互联

以上介绍的SDN组网仅仅是SDN网络部分的组网,而如何与其他传统网络相互通信则是本小节的内容。根据现实网关功能的设备种类不同,可以将组网方案分为传统设备组网方案和SDN设备组网方案两种。采用传统路由器作为网关方案中,SDN网络作为内部网络运营,而与其他网络通信的工作由传统路由器完成。 而采用SDN设备模拟网关时,由SDN控制器在边缘交换机上模拟网关行为,从而完成与其他域之间的网络通信。

  • 传统网络设备作网关

    在此方案中,采用传统路由器作为网络出口,由其完成和其他路由器之间的路由同步等工作。此方案中,复杂的网关功能由现网设备完成,而SDN控制器只需控制内部网络节点,从而降低了组网的难度,也提升了对内部网络的管控能力。

图5. 采用传统设备作网关方案

  • SDN数据交换机作网关

    SDN设备解决方案中,SDN控制器需将边缘交换机模拟成一个路由器,如运行BGP协议的路由器,从而实现对传统路由协议的响应和支持,向外表现出路由器的特征,进而实现与互联网的互联互通。

图6. 采用SDN设备模拟网关组网方案示意图

总结

作为一名SDN初学者,在平时学习研究中,仅仅需要通过Mininet模拟则可以完成实验。而当真正部署SDN网络时,则需要考虑到很多实际问题,尤其是基本的组网方案。本文从数据平面到控制平面组网、SDN域之间组网和SDN域与传统网络之间组网三个方面简要介绍了SDN组网的相关解决方案。以此作为一个学习的总结,同时也希望这篇文章能帮助到有需要的研究人员。

作者简介:

李呈,2014/09-至今,北京邮电大学信息与通信工程学院未来网络理论与应用实验室(FNL实验室)攻读硕士研究生。

个人博客:www.muzixing.com

 

SDN组网相关解决方案的更多相关文章

  1. 微信小程序入口场景的问题整理与相关解决方案

    前言 最近一段时间都在做小程序. 虽然是第二次开发小程序,但是上次做小程序已经是一年前的事了,所以最终还是被坑得死去活来. 这次是从零开始开发一个小程序,其实除了一些莫名其妙的兼容性问题,大多数坑点都 ...

  2. 关于Entity Framework中的Attached报错相关解决方案的总结

    关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...

  3. web开发相关解决方案

    HTML5 API 应用 History.js - gracefully supports the HTML5 History/State APIs pushState + ajax Notify.j ...

  4. CORS 跨域 实现思路及相关解决方案

    本篇包括以下内容: CORS 定义 CORS 对比 JSONP CORS,BROWSER支持情况 主要用途 Ajax请求跨域资源的异常 CORS 实现思路 安全说明 CORS 几种解决方案 自定义CO ...

  5. SDN可靠性相关

    A subtree-based approach to failure detection and protection for multicast in SDN FRONTIERS OF INFOR ...

  6. CORS跨域实现思路及相关解决方案

    本篇包括以下内容: CORS 定义 CORS 对比 JSONP CORS,BROWSER支持情况 主要用途 Ajax请求跨域资源的异常 CORS 实现思路 安全说明 CORS 几种解决方案 自定义CO ...

  7. iOS上架被拒理由及相关解决方案记录

    注:苹果客服中国区电话:4006 701 855 最近公司上线一个电动车工具类项目,被拒无数次,今天上架了,记录一下 01 苹果拒绝理由(内购和后台定位) We noticed that your a ...

  8. 启动jemeter 报错相关解决方案

    1:当启动jemeter时报错"页面文件太小,无法完成操作" 如图: 是说明分配的内容不足,即可调整内存重启即可解决 1):打开:控制面板>系统和安全>系统 2):点击 ...

  9. ASP.NET、JAVA跨服务器远程上传文件(图片)的相关解决方案整合

    一.图片提交例: A端--提交图片 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string u ...

随机推荐

  1. oracle数据泵示例

    主要的导出示例: 1.导出指定表空间: expdp system/xxx DIRECTORY=dump_dir tableapace=xxx dumpfile=xxx_%DATE:~0,4%%DATE ...

  2. 安装使用ubuntu问题汇总

    很早以前就安装了ubuntu系统,可是一直没怎么用,也没有深入研究.这两天重装了一下windows,顺带着也重新装了一遍最新的ubuntu14.04.期间碰到了不少问题,一个个解决也花费了不少时间.所 ...

  3. getaddrinfo

    gethostbyname和gethostbyaddr这两个函数仅仅支持IPv4,getaddrinfo函数能够处理名字到地址以及服务到端口这两 种转换,返回的是一个sockaddr结构的链表而不是一 ...

  4. java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)

    1.实现目标 读取文件,将文件中的数据一行行的取出. 2.代码实现 1).方式1: 通过BufferedReader的readLine()方法. /** * 功能:Java读取txt文件的内容 步骤: ...

  5. FineReport集成到AWS系统中的方案

    本人实施了北京炎黄盈动的BPM及OA系统,主要目标是对业务流程进行控制和管理,加快Oracle JDE的业务前端录单速度和弥补JDE在流程控制方面的不足,实现BPM数据能与JDE无缝互相结合,经过3个 ...

  6. 求最大边/最小边的比值最小的路径 codevs 1001 舒适的路线

    codevs 1001 舒适的路线 2006年  时间限制: 2 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description Z小镇是一个景色宜人 ...

  7. hdu1251 统计难题

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=1251 题目: 统计难题 Time Limit: 4000/2000 MS (Java/Othe ...

  8. 第28章 行为型模式大PK

    27.1 策略模式 VS 命令模式 27.1.1 策略模式实现压缩算法 //行为型模式大PK——策略模式和命令模式 //实例:用策略模式实现压缩算法 #include <iostream> ...

  9. AC日记——基因相关性 openjudge 1.7 03

    03:基因相关性 总时间限制:  1000ms 内存限制:   65536kB 描述 为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性 ...

  10. Svn Patch 中文乱码

    关于Patch svn打patch的介绍:巧用svn create patch(打补丁)方案解决定制版需求 svn创建patch 1.在SVN的提交列表中,右键选择“创建补丁” 2.选择保存位置,保存 ...