为什么?

最近一直在学习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. Object.prototype.propertyIsEnumerable

    语法: obj.propertyIsEnumerable(prop); 此方法返回一个布尔值,表明指定的属性名是否是当前对象可枚举的自身属性. 1.如果是用户自定义了对象的属性,将返回true,比如 ...

  2. Date的使用

    方法 说明 Date() 返回当日的日期和时间 getDate() 获取当天(1-31) getDay() 获取当天的星期(0-6) getMonth() 获取月份(0-11) getFullYear ...

  3. vj1011:记忆化搜索

    vj1011:记忆化搜索 这题就是很简单的记忆化搜索即可,和经典题目滑雪简直一模一样 对于记忆化搜索,我也是暑假看了ccy大神的题解才有所领悟的 其实也就是DFS+mark 主要的部分 int sea ...

  4. 【转载】Stack Overflow: The Architecture - 2016 Edition

    转载:http://www.infoq.com/cn/news/2016/03/Stack-Overflow-architecture-insi?utm_source=tuicool&utm_ ...

  5. DeviceIoControl方式 sys和exe通信

        常识: IRP:I/O Request Package  即输入输出请求包 exe和sys通信时,exe会发出I/O请求.操作系统会将I/O请求转化为相应的IRP数据, 不同类型传递到不同的d ...

  6. escape,encodeURI,encodeURIComponent函数比较

    escape,encodeURI,encodeURIComponent函数比较 js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数 ...

  7. 使用Struts2实现文件的上传和下载

    (一)单个文件的上传步骤: 1.拷贝jar包:commons-fileupload.jar,  commons-io.jar 下载链接(文件上传.rar):http://www.cnblogs.com ...

  8. 3364 Lanterns (异或方程组高斯消元)

    基本思路.首先构造一个n*(m+1)的矩阵,同时标记一个行数row,row从零开始,然后找出每一列第一个非零的数,和第row行互换, 然后对row到n行,异或运算.最终的结果为2^(m-row) #i ...

  9. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  10. Unity3D中使用MiniJson解析json的例子

    json: --------------------------------- {     "name":"中国",     "province&qu ...