SDN组网相关解决方案

时间:2022-05-14 21:07:12
2016-02-14 by muzi

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

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

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

  • 带外(out-band)组网:

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

SDN组网相关解决方案图1. out-band组网方案

  • 带内(in-band)组网

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

    SDN组网相关解决方案图2. in-band组网方案

多SDN域组网方案

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

  • 水平架构

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

SDN组网相关解决方案图3. 水平架构多域控制器组网方案

  • 垂直架构

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

SDN组网相关解决方案图4. 垂直架构多域控制器组网方案

SDN与传统互联

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

  • 传统网络设备作网关

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

SDN组网相关解决方案图5. 采用传统设备作网关方案

  • SDN数据交换机作网关

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

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

总结

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

作者简介:

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

个人博客:www.muzixing.com

SDN组网相关解决方案
 

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. 动态单链表的传统存储方式和10种常见操作-C语言实现

    顺序线性表的优点:方便存取(随机的),特点是物理位置和逻辑为主都是连续的(相邻).但是也有不足,比如:前面的插入和删除算法,需要移动大量元素,浪费时间,那么链式线性表 (简称链表) 就能解决这个问题. ...

  2. PHP中include和require(转)

    昨天去面试一个php开发,看到笔试试卷上有这么一道题目: include和require有什么区别? 这个题目可以称得上php开发面试中的必考题目,网上也有各种答案和解释.但是我当时却真的想不起来了. ...

  3. ZBrush中必须记住的常用快捷键

    ZBrush是一款数字雕刻和绘画软件,它以强大的功能和直观的工作流程彻底改变了整个三维雕刻行业.强大的功能离不开便捷的操作,为此ZBrush提供了一系列常用操作快捷键,熟练掌握这些快捷键,可帮助您节省 ...

  4. uploadify的用法与动态传参 提供demo下载

    ---恢复内容开始--- 官网:http://www.uploadify.com/   一款不错的上传插件.官方文档http://www.uploadify.com/documentation/ 用法 ...

  5. ACM HDU 1021 Fibonacci Again

    #include<iostream> using namespace std; int main() { int n; while(cin>>n) { if((n+1)%4== ...

  6. Handler总结

    一.整体工程图 二.activity_handler.xml <?xml version="1.0" encoding="utf-8"?> < ...

  7. Windows Graphics Programming Win32 GDI and DirectDraw第六章疑问

    <Windows Graphics Programming Win32 GDI and DirectDraw>6.1节中有这样的描述: The Windows NT/2000 graphi ...

  8. C&num;常见金额优选类型及其三种常用的取整方式

    这两天一直在做一个商城后台的对账方面的工作,忽然发现C#真的有很多值的学习的东西: 一.C#常用的三种取整方式(主要适用于double.decimal.float这一类型的数据): Math.Roun ...

  9. Git技能图

  10. Java工程师必备

    Java工程师必备 JAVA基础扎实,熟悉JVM,熟悉网络.多线程.分布式编程及性能调优 精通Java EE相关技术 熟练运用Spring/SpringBoot/MyBatis等基础框架 熟悉分布式系 ...