随笔分类 -  SDN

摘要:这一节主要是介绍几种开源的SDN控制器。 NOX/POX。最初的NOX混合了C++和Python两种编程语言,现在演变为两个版本。NOX版本主要面向Linux平台,利用C++开发,目标是提供快速的控制平台;POX版本面向Windows、Mac OS、Linux等多种平台,利用Python开发,目标是提供控制器部署的便利性。两者可以看作是同一种控制器。 NOX采用了组件化的架构,可分为核心组件和应用组件。核心组件是用于和网络直接打交道的底层接口;应用组件既包括NOX本身提供的组件,也包括第三方扩展的组件(包括用户)。与SDN相关的组件包括以下几种:Discovery组件:用于链路发现;T... 阅读全文
posted @ 2014-03-13 09:23 7hat 阅读(569) 评论(0) 推荐(0)
摘要:在SDN的架构中,控制器可以说是SDN的核心,它负责对底层转发设备的控制以及向上层应用提供可编程性的北向接口。从实现上看,主要分三个层面来考虑,南向接口技术,北向接口技术以及东西向的可扩展性能力。下面逐一描述。 南向网络控制技术主要包括通过南向接口协议进行链路发现、拓扑管理、策略制定、表项下发等。链路发现和拓扑管理主要是控制器利用交换机上报的信息进行同一管理(上行),而策略制定和表项下发则是控制器向交换机发送控制信息从而实施同一控制(上行)。 SDN控制器主要使用LLDP(Link Layer Discovery Protocol,链路层发现协议)作为链路发现协议。该协议可将设备的能力... 阅读全文
posted @ 2014-03-12 11:18 7hat 阅读(1672) 评论(0) 推荐(1)
摘要:Open vSwitch(OVS)是一款基于软件实现的开源交换机。它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境。特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开源的虚拟化平台相整合。 (参考Open vSwitch官网:http://openvswitch.org/) 如上图所示。OVS两端连接着一块物理网卡和多块虚拟网卡(虚拟机中的网卡),在OVS的维护一个映射表,根据MAC地址来映射到对应的VM链路从而完成数据的转发,从某个角度上看,这可能有点像NAT的功能。值得注意的是,提供OpenFlow支持的OVS是根据自身保存的流表来对数据包进行匹配... 阅读全文
posted @ 2014-03-11 16:33 7hat 阅读(1253) 评论(1) 推荐(1)
摘要:OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持。如下图所示,OF-CONFIG在OpenFlow原来的框架上,新增了OpenFlow配置点对交换机进行配置和管理。(图摘自《SDN核心技术剖析和实战指南》) OF-CONFIG对一些交换机的基本功能进行了配置,如控制器的IP地址,设备的队列与端口等资源以及支持远程修改设备的端口状态等。另外,还有其他一些可配置的参数,但我认为在学习理论的时候并不需要强记这些东西,到了实践的时候真正用到就会记得。现在只需要记得,... 阅读全文
posted @ 2014-03-11 16:07 7hat 阅读(616) 评论(0) 推荐(0)
摘要:这节的内容相当多,主要是介绍OpenFlow标准特别是流表的相关特性。 典型的OpenFlow标准由三部分组成:安全通道,流表和OpenFlow协议。注意这个标准是一份设备标准,并不单指OpenFlow协议。后来引入了流水线式的多流表以及组表(Group Tabel)。 (图摘自SDNAP的文章) 安全通道是交换机与控制器进行通讯的接口,在实现上推荐使用(在缺省情况下就是)TLS用来保证认证性和数据隐私。而OpenFlow协议是用来描述控制器和交换机之间交互信息的接口标准。OpenFlow协议支持三种类型的信息:controller-to-switch(控制器到交换机)、asynch... 阅读全文
posted @ 2014-03-10 17:55 7hat 阅读(1164) 评论(1) 推荐(1)
摘要:对于SDN交换机的技术,其实也适用于传统的交换机,只不过控制部分被分离出来而已。传统交换机的控制面主要是转发表的管理以及网络状态之类的各种表,现在这些都由控制器来担心。转发面主要由转发决策、背板和输出链路调度组成。 转发决策是指数据包从输入端口进入交换机后,接下来怎么办。在SDN架构上,就是查询流表。 背板是指作出决策后数据包到达输出端口所经过的地方。主要由两种背板设计方式,一是共享总线型,发往不同端口的数据包共享总线来传输,这个比较容易冲突,类比下以太网;二是交叉开关矩阵型,就是不同的输入端口与输出端口之间存在多条通路,可以类比一下矩阵。 输出链路调度是指在数据包到达输出端口后,需要排队输. 阅读全文
posted @ 2014-03-09 20:40 7hat 阅读(502) 评论(0) 推荐(1)
摘要:第一章主要是概况。新技术有一个特点是,每家都有不同的说法。这里我只说说我比较认同的部分。 SDN的核心概念大概有两个:转发面与控制面分离、开发可编程化。书里还说逻辑上集中控制,其实这个就可以从转发与控制分离推出;至于说到网络虚拟化,我看这只是其中一个结果吧。 ONF的SDN架构分为三层:应用层、控制层和基础设施层。与其他架构不同的是,它的南向接口规定是OpenFlow,不过我想很难统一化。北向接口因为与业务的关联比较大,因此也没什么标准可言。OpenDayLight的架构非常庞大,基本上包括了ONF的三层,南向接口支持多种协议,北向接口支持现在比较流行的REST API。 S... 阅读全文
posted @ 2014-03-07 10:20 7hat 阅读(564) 评论(0) 推荐(0)
摘要:SDN(软件定义网络),顾名思义,通过软件来控制或驱动整个网络。SDN的核心概念有两个,第一是转发面与控制面的分离;第二是开放的可编程接口。另外,SDN强调集中式控制,通过软件来控制整个网络,但这并不意味着只有一个Controller,在大型网络中,更多是使用分布式Controller的架构来管理,如Onix。 SDN是一个部署网络的框架,并不是具体的某个技术,更不是OpenFlow。OpenFlow协议只是Switch和Controller用来通信的应用比较广泛的一个协议,还有其他一些协议。 NV(网络虚拟化)不是SDN。网络虚拟化是指利用Tunnel技术将虚拟机连接起来实现一个运行在... 阅读全文
posted @ 2014-03-06 08:08 7hat 阅读(1308) 评论(0) 推荐(0)