为什么?

最近一直在学习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网络虚拟化设计指南

Openstack neutron:目录的更多相关文章

  1. openstack Neutron分析(3)—— neutron-dhcp-agent源码分析

    1.neutron dhcp3个主要部件分别为什么?2.dhcp模块包含哪些内容?3.Dnsmasq配置文件是如何创建和更新的?4.DHCP agent的信息存放在neutron数据库的哪个表中? 扩 ...

  2. Openstack Neutron:三层技术和实现

    目录 - 1.Neutron 三层技术简介 - 2.集中式router - 1.在节点上安装L3 agent - 2.配置外部网络 - 3.通过CLI或者Horizon 来创建路由 - 4.连接租户网 ...

  3. Openstack neutron:云数据中心底层网络架构

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

  4. Openstack学习目录

    1.2016.12.27    ceph简介   crush算法    OSD(boject storage device)   Mds(cephfs) 使用cephfs时需要安装metadata s ...

  5. Openstack Neutron OVS ARP Responder

    ARP – Why do we need it? In any environment, be it the physical data-center, your home, or a virtual ...

  6. Openstack Neutron L2 Population

    Why do we need it, whatever it is? VM unicast, multicast and broadcast traffic flow is detailed in m ...

  7. 深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)

    VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...

  8. openstack neutron中涉及的网络设备

    一.openstack neutron网络设备介绍 Bridge(网桥) 用于将两个LAN连接起来,主要靠的MAC地址学习机制.当网桥的Port收到包时会将包的源mac和port ID关联起来记入ma ...

  9. [转]OpenStack Neutron运行机制解析概要

    转载自:http://panpei.net.cn/2013/12/04/openstack-neutron-mechanism-introduce/ 自从开学以来,玩OpenStack也已经3个月了, ...

随机推荐

  1. 扩展新的WCV到标准的WC后,不能在业务角色里面看见视图解决方法

    by zyi 感谢群主红枣的分享 1.把你的WCVIEW扩展进WC中 2.使用UI Designer打开你的WCVIEW 3.更改你的WCVIEW名字

  2. 业务可视化-让你的流程图"Run"起来

    前言 最近在研究业务可视化的问题,在日常的工作中,流程图和代码往往是分开管理的. 一个被维护多次的系统,到最后流程图和代码是否匹配这个都很难说. 于是一直有一个想法,让程序直接读流程图,根据流程图的配 ...

  3. 建立二叉树的二叉链表(严6.65)--------西工大noj

    需要注意的点:在创建二叉树的函数中,如果len1==len2==0,一定要把(*T)置为NULL然后退出循环 #include <stdio.h> #include <stdlib. ...

  4. 新建 Microsoft Office Word 文档 来源:牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28886/1015 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  5. Linux 加密安全和私有CA的搭建方法

    常用安全技术 3A: 认证:身份确认 授权:权限分配 审计:监控做了什么 安全通信 加密算法和协议 对称加密: 非对称加密 单向加密:哈希(hash)加密 认证协议 对称加密: 加密和解密使用的是同一 ...

  6. 项目开发中Maven的单向依赖-2022新项目

    一.业务场景 工作多年,在真实的项目开发中经常会遇到将一个项目拆分成多个工程的情况,比如将一个真实的项目拆分成controller层,service层, dao层,common公共服务层等等.这样拆分 ...

  7. Odoo14 ir.actions.act_window

    xml声明 1 <record id="res_company_user_action" model="ir.actions.act_window"> ...

  8. 在VMD上可视化hdf5格式的分子轨迹文件

    技术背景 在处理分子动力学模拟的数据时,不可避免的会遇到众多的大轨迹文件.因此以什么样的格式来存储这些庞大的轨迹数据,也是一个在分子动力学模拟软件设计初期就应该妥善考虑的问题.现有的比较常见的方式,大 ...

  9. 安装 NetworkManager(Debian最小化安装)

    Debian最小化安装是没有NetworkManager 1 安装: 2 [root@debian]apt install -y netwok-manager 1 启动(查看网卡): 2 [root@ ...

  10. React中useMemo与useCallback的区别

    useMemo 把"创建"函数和依赖项数组作为参数传⼊入useMemo,它仅会在某个依赖项改变时才重新计算memoized 值.这种优化有助于避免在每次渲染时都进⾏行行⾼高开销的计 ...