Software Define Network

| 分类 Infosec  | 标签 SDN 

软件定义网络初探


image 软件定义网络Software Define Network(SDN:Still don’t know)初探笔记,以及Mininet原理分析

软件定义网络的定义

如果将网络中的所有网络设备视为被管理的资源,那么就像操作系统一样,软件定义网络SDN提供了同样的管理视图和编程接口。这样基于SDN这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,二维无需关系底层网络的拓扑结构。

SDN交换机与控制器

SDN交换机只负责网络高速转发,保存的用于转发决策的转发表信息来自控制器,SDN交换机需要在远程控制器的管控下工作,与之相关的设备状态和控制指令都需要经由SDN的南向接口传达,从而实现集中化统一管理。控制指令标准和状态需要满足SDN协议规范。 下图说明了SDN与交换机的工作流程

image

控制器目前有很多,根据知乎网友的推荐[link][http://www.zhihu.com/question/22599089], 控制器如果选择Python 的话,推荐 POX 或者 Ryu,更推荐 Ryu 一些,Java 的话就是 Floodlight 了。

术语区分

Mininet: 主要是虚拟出Openflow交换机以及host节点,并且可以自定义拓扑结构,是一个网络仿真平台。支持Openflow,OpenvSwitch等软件定义网络布局。 Open vSwitch(OVS):是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机。 Opendaylight(ODL): 属于控制器的一种,开源项目,整体SDN解决方案,包含一系列组件,支持多种协议包括了openflow。是现在主流的控制器项目,功能比较完善 floodlight: 属于控制器的一种,开源项目,文档齐全,图形化界面管理。简而言之,Floodlight提供了用户友好的图形化界面,来控制管理支持Openflow协议的交换机。 Openflow: 是用于管理交换机流表的协议,起源于斯坦福大学的Clean Slate项目组,属于SDN协议的一种(其他的例如ForCES、PCE-P等等)。Openflow应用最广,现已成为了SDN的代言词。OpenFlow协议是描述控制器和交换机之间交互信息的南向接口标准。控制器和交换机之间通过这SDN协议进行连接建立,流表下发和信息交换,实现对网络中所有OpenFlow交换机的控制。

私有云与SDN的关系

私有云(Private Clouds)是为特定客户单独使用而构建的一个资源服务网络。特定用户拥有基础设施,并可以控制在此基础设施上部署需求的应用程序和服务。私有云的核心属性是专有资源。

网络是私有云中的瓶颈问题。现在,服务器和存储技术已经发展成共享资源,云管理员可以自由地调用这些资源,但是网络却仍然是手动的。为了提高灵活性,私有云网络必须进行虚拟化,而软件定义网络(SDN)是一个性价比不错的方法。

根据ONF介绍,SDN是私有云的基础。SDN使得私有云可以分享设备资源,按需分配,自动操作,处理动态变化的事务更加灵活有效,最大化资源利用。

Mininet运行原理

Mininet通过Linux内置的Network Namespace来达到主机之间通信的隔离效果。这个Namespace和C++中的Namespace感觉差不多,不过C++Namespace达到的效果是函数的隔离。我觉得这篇blog介绍Linux Network namespace比较清楚,Network Namespace 介绍,通过这个介绍,Mininet理解起来就方便多了。

在Mininet中我们不单可以在主机上面运行ping命令,每一条 Linux下的命令或者程序都可以在 Mininet 中的虚拟主机中运行。但是每个虚拟主机 h1,h2,s1三个进程列表是完全相同的。其实完全可以做到各个主机完全独立,就想 LXC 那样,但是目前 Mininet 并没有这么做。在 Mininet 中所有的进程都放在 root 下面,这样你可以在 Linux的 shell 中直接用kill或者ps这些命令查看或者杀死进程。参考外链

Mininet原理

其它

通过mininet可以在本机迅速搭建任意拓扑结构的虚拟网络。然后利用控制器可以控制和管理所构建的虚拟网络,增加设备,删除设备等等。

最简单的配置就是只有一台主机即可,如下图所示:

image

当然复杂一点可以利用多台主机,比如这样:

image

最近实验室采购设备,调研至此感觉SDN好像不需要特殊设备呢?我们只需要在不同host上运行不同的程序,甚至不同的操作系统,以方便网络安全实验。不过现在有很多厂家在做SDN控制器,还有支持Openflow协议的交换机,但都还不成熟。目前业界尚未发布完全符合 OpenFlow 协议规范的芯片,所以说感觉没必要买一些不成熟的产品。就多买几台性能还行的服务器,交换机,其余硬件资源没必要,在剩下的就是手动搭建工作了。

Posted by 灵犀一点00 - 2015-05-14
如需转载,请注明: 本文来自 Jasonzhuo's Blog