为什么?

最近一直在学习SDN方面的知识,本着“最好的学习就是分享”的精神,记录下本系列的文章,尝试更好地去理解SDN这一正当红的技术。

如何?

SDN领域现在已经充斥了大量的公司,大大小小无计其数,既有思科、juniper、Nicira(后被vmware收购)、Big Switch等,又有大量初创型的企业,如Arkin NET、Forward Networks。同时充斥着像是openstack neutron、mido之类大量开源的项目,而ONF、ODL等组织也各自博弈,意图掌控SDN的方向。

各个厂家火热的态度表明了网络未来的方向,同时也因初期标准的不完善呈现出不少乱象。

发展到当前阶段,SDN已经不是一门单一的技术的,也不是一种协议的,而变成了一种理念,在这种理念下,SDN呈现出来的特征包括:1.控制平面和转发层面的分立;2.开放的编程接口;3.集中化的网络控制;4.网络业务的自动化应用过程。

一些传统的厂家也在推自己的网络功能虚拟化技术—NFV,NFV的目的是利用虚拟化技术,在标准的X86架构上运行一些原来要在特定硬件上运行的网络设备(虽然原来由不少厂家硬件设备本身也是X86架构的)。如:防火墙、路由器、负载均衡设备等。而有一些厂家的NFV功能实现也可能会有统一的控制平面,搭载各厂家自己的转发层面的插件。并也支持编程。所以这一类的NFV可以视为SDN的一种形式。不过这不是我的重点。

这也给我的学习带来了不少的麻烦。

结合我学习的目的,最终我选定了三个资料较为完善且在未来有较大希望成为主流解决方案的产品,通过对比三家不同的实现方式,窥探SDN领域目前的现状,以及三家解决方案各自的技术优劣势。这三家分别是:openstack neutron(M版)、vmware nsx、opendaylight 。

Openstack neutron

当下最热的SDN项目,neutron是openstack的核心之一,虽然还不是特别成熟,但是影响面最广。

Vmware nsx

较早推出较完整的SDN解决方案的商用产品,有着Nicira人员的加持。解决方案和产品都比较成熟。

OpenDaylight

目前发展最快的开源SDN解决方案,成员大都是原网络设备厂商,三个月左右更新一个版本,但因为问题较多,实在无法上生产环境,也一直没能火起来。

这几类的产品核心也是以解决云计算数据中心需求为主,云数据中心也是对于SDN需求最为迫切的领域。可能最后会少量讨论SDN在园区、WAN网络上的应用。

目录

SDN网络学习分享

  1. SDN发展现状
  2. 云数据中心物理网络架构
  3. 二层技术和实现
  4. 三层技术和实现
  5. 防火墙技术和实现
  6. LB技术和实现
  7. VPN技术和实现
  8. SD-WAN
  9. SDN的未来

参考内容:

当前网上介绍openflow和openstack neutron的书籍非常多,但都以安装、部署、实现讲解为主,或者是泛泛而谈SDN大方向,能以简洁的语言把原理和问题讲清楚的并不多。为了保证get到一手知识,尽量理解方案的原理,最终参考了大量的资料,包括大神的博客、网络上中英文资料、书籍。尽量保证资料真实可查。所有的参考资源不一定能列全,但重要的文章都会附上链接.

水平、篇幅有限,如果对系列文章中的内容感兴趣,可以一起深入研究。

参考的内容包括不限于:

https://github.com/openvswitch/ovs/blob/master/FAQ.rst   neutron官方wiki

http://www.cnblogs.com/sammyliu/p/4622563.html      国内大神的博客,推荐大家关注

OpenStack Networking Essentials        很大部分内容来源于此

Mastering Openstack

新一代SDN Vmware NSX 网络原理与实践      很大部分内容来源于此

NSX网络虚拟化设计指南

SDN理解:目录的更多相关文章

  1. SDN理解:SDN现状

    目录 - SDN现状 - (一)SDN现状 - SDN诞生的背景 - SDN的介绍 - (二)SDN领域的相关组织和发展现状 - 1.ONF - 2.OpenDaylight - 3. IETF -  ...

  2. SDN理解:云数据中心底层网络架构

    目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) ...

  3. 理解OpenShift(3):网络之 SDN

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  4. 理解OpenShift(6):集中式日志处理

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  5. 理解OpenShift(5):从 Docker Volume 到 OpenShift Persistent Volume

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  6. 理解OpenShift(2):网络之 DNS(域名服务)

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  7. 理解OpenShift(4):用户及权限管理

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  8. 【转】理解inode

    From:http://www.ruanyifeng.com/blog/2011/12/inode.html  阮一峰大神真NB 作者: 阮一峰 日期: 2011年12月 4日 inode是一个重要概 ...

  9. 理解linux and inode

    inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础. 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念 ...

随机推荐

  1. Windows下MYSQL自动备份批处理

    windows下MYSQL自动备份批处理 2011-05-04 09:16:45|  分类: mysql|举报|字号 订阅     按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.b ...

  2. QTP脚本不能录制怎么办?

    QTP是基于VBS脚本语言的,大部分VBS脚本都能在QTP上运行,只是在一些细节上略有不同,比如说VBS上停止用sleep,QTP上用wait.QTP的强大之处在于对程序窗口的操作,有很多针对窗体的属 ...

  3. 一步一步实现基于Task的Promise库(一)Promise的基本实现

    如果我们现在有一个需求,大概是先读取一个文件的内容,再把得到的内容传给后台去解析,最后把解析后的结果再保存到那个文件,按照最原始的做法代码就是下面这个样子的: //读取文件的原始内容 var read ...

  4. Ubuntu下安装Intel Fortran编译器(ifort)

    Intel Fortan Compiler简称ifort, Windows下的ifort是收费的,但是Linux系统下提供免费的ifort,可以在下面的链接中下载需要的版本(必须先注册,随后会收到官网 ...

  5. ASP.NET交互Rest服务接口(Jquery的Get与Post方式)

    ASP.NET交互Rest服务接口(Jquery的Get与Post方式) 本文将通过一个简单的实例,介绍如何创建一个Rest服务接口,以及通过JQUERY去对它进行调用;主要采取两种方式分别为Get跟 ...

  6. [转]iOS IPC via NSFileCoordinator and NSFilePresenter

    Source:http://mjtsai.com/blog/2014/11/21/ios-ipc-via-nsfilecoordinator-and-nsfilepresenter/ 为什么每次我想到 ...

  7. Vnix的Logo设计

    又捣鼓了一下Logo,感觉Ascii Design碉堡了.下面贴出几款Logo以供观赏,欢迎投票. ## ## ## ## #### ## ## ## ## ### ## ## ## ## ## ## ...

  8. Linux环境进程间通信(二):信号(下)

    linux下进程间通信的几种主要手段: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允 ...

  9. 记录最近在使用sprintf构造字符串时遇到的一个问题

    直接上代码: #include "stdio.h" #include "string.h" int main() { char szTmp[20] = {0}; ...

  10. Asp.net QueryString批量插入和更新

    public static string InsertOrUpdateQueryString(string[] keys, string[] values) { return InsertOrUpda ...