学完CCIE课程,基于对网络现状的认知,很早就对SDN有所了解,最近正式开始系统的研究SDN,

1)传统网络概观

1.1)传统网络架构

上图展示的是一个简单的传统网络架构,二层交换接入用户,三层交换实施基于策略的转发,在小型网络中这样的方法看起来简单有效,因为早期的网络设备开发人员希望每个设备能最大程度的独立执行任务,而当时的网络规模小而固定,而且分布在较大的范围区域内。在这种分布式环境下,开发人员决定让每个设备都成为智能设备。每当设备间需要协调工作时,就可以通过交换信息来互相协作以达成集体决策。
而传统网络发展到今天,设备的独立性成为了网络设备管理的瓶颈,在控制层面,传统网络设备自有其复杂的一套解决方法动态分发二层三层信息,而对于策略信息,例如ACL这样的安全配置,并没有协议为这些策略做分发,只能依靠网络管理员为其手工配置,这样的工作方式对于分秒必争的互联网时代来说,无疑是木桶最短的那块板,对于大型网络,这样的配置工作花费时间造成的损失是巨大的。
1.2)传统网络供应商
在整个计算机体系中,硬件平台有各种个样的选择,而操作系统也是如此,例如我们很少担心那个硬件会不支持Windows,或Linux,而运行其上的软件更是多种多样,这样的模式也促进了整个行业的科技水平发展。
而在网络领域,网络供应商们,自下而上掌控着硬件,操作系统,网络管理所必须的软件,垄断,必然也造就发展的缓慢,这样缺乏竞争的环境,对于市场和消费者也造成很多的不利。

2)SDN概观


上图是一个简单的SDN网络架构,很直观,所有网络设备连接到一个Controller,将控制层面集中到Controller上,所有的决策,安全,全部集中到Controller,至此,不得不说到OpenFlow(后文简称OP),OP发布于2008年,术语“SDN”是在其一年后才开始使用,可以说OP的出现,是推进SDN演进的中坚力量,相比于传统网络设备,OP解决方案的基本操作如下:
--由控制器来填写交换机的流表表项
--交换机评估传入分组并查找匹配的流,然后执行相应的动作
--如果没有发现匹配项,交换机将该分组转发给控制器,并等待如何处理的指令
--一般情况下,当控制器接受到新的分组模式时,他将更新交换机的流表表项 ,使交换机能在本地处理这些分组,另一种可能是控制器编写通配符规则(Wildcard Rule),这个通配符一次可负责多个流
简单学习总结就到这里,部分概念摘自《软件定义网络--原理,技术与实践》