SDN相比传统网络具有很多优点,比如控制与转发分离,这种思想打破了传统设备供应商的绑定,提高了新业务的部署速度,可以从整个网络层面对流量进行优化等等。在SDN网络中,不管是开发人员还是用户,都可以更多的发挥自己的想象,而不用再受各种RFC的强力约束。
当前的SDN网络一般都是如下形式:有一个控制器(或集群),他负责收集整个网络的拓扑、流量等信息,计算流量转发路径,通过openflow协议将转发表项下发给交换机,交换机按照表项执行转发动作。和控制器对应,执行转发动作的交换机一般称为转发器。控制面从传统网络的单个设备上剥离,集中到了控制器上,转发面由转发器构成。
网络部署有两种形式:一种是underlay的网络,这种网络中,所有的转发行为都由控制器决定,控制器通过OpenFlow协议或者定制的BGP协议将转发表项下发给转发器,转发器仅仅执行动作,没有单独的控制面。另一种是overlay的网络,这种网络的转发器一般都是传统设备,不支持OpenFlow,或者私有定制协议不能部署。这时就要用到隧道技术,基础网络还是传统网络形式,通过路由协议打通各个节点,但是在服务器接入点,采用隧道技术将数据报文进行封装或者解封装。对传统网络来说见到的就是普通的数据报文,转发即可。隧道技术实际上就是报文的马甲,迷惑网络设备,让设备以为是自己人,但是实际上报文的心是虚拟化的心。现在一般采用VxLan、GRE、NVGRE等隧道技术。而这些也是新增的协议,也需要升级现有网络设备才能支持。穿马甲虽然能够在不进行大的改造的情况下增加新的功能,但无疑会降低网路性能,underlay方式一定是SDN网络的终极形式。
SDN网络的控制面,不再是口口相传,而是集中智能,从更高的层次看整个网络,通过软件来控制网络行为。这里的软件已经不再由设备供应商绑定设备提供,而是用户可以自己实现。SDN网络唯一标准化的是控制器与转发器的通信接口,就是OpenFlow,不是传统意义上的网络控制协议,只是一个接口,控制器和转发器按接口实现即可,至于控制器要如何控制,转发器要如何转发,都是一片空白。SDN打开了一扇通往奇境的大门。
ovs已经成为转发器实现事实上的标准,而控制器则是百家争鸣,有ODL、ONOS、AC、Ryu等。各种控制器的实现也有不小的差异,控制原理也都不同,这就对运维人员带来了挑战。在传统网络时代懂得了协议就懂得了网络,而在SDN时代,控制器才是网络的核心,只有弄懂控制器实现原理,才能懂得网络。
在现阶段,OpenFlow作为接口,网络上传递的报文还是按照传统网络时代定义的格式进行封装,而控制器现阶段能做的也仅是对报文封装的字段进行修改。而下一阶段,当P4或者华为的POF作为接口时,网络将彻底变革,用户不仅可以控制转发行为,还能按需定义报文封装格式,而不再局限于mac、ip等等。虽然更灵活,但是各个局域网络的实现可能都不相同,对网络运维人员来说可能会更困难,换一个网络可能就需要学习一套新的规则。但是这也真正体现软件定义的魅力,控制器的控制形式势必会更加多种多样,网络也会进入一个新的轮回。
收起以这几年的经验来谈谈,正如楼上朋友说的一样sdn其实更像是一种新的网络架构,又统一的控制器帮助运维人员把意图转换为各个网络设备上的具体配置,并且能借助sdn上的各种工具去做很多原来没办法简单实现的功能。sdn主要对企业具体能够解决的问题一般有几点我觉得比传统网络好的:
1.集中管理集中配置,只需要通过控制器完成全网配置,并且不是命令方式而是图形化和意图方式。
2.网络虚拟化,物理网络共用。
3.分布式网关,尤其对多中心组网流量绕行问题极大优化。
4.大带宽,低收敛比网络。
5.具备北向接口,对接云平台和自动化平台能力很强。
SDN不应被定义为一种网络技术,更为准确地说法是,SDN是由多种重要技术、解决方案形成地一种下一代网络体系架构
传统网络存在以下问题:
传统网络设备支撑了过去几十年网络的发展和应用,随着云计算与移动互联网的兴起,用户的业务需求呈现出多样化、灵活化、不确定性等特点,目前封闭的网络体系架构已经不能满足实际应用的需求,面临着越来越多的问题和挑战。SDN/NFV作为一种革命性的新技术必将对未来网络的演进带来举足轻重的影响。
收起由于虚拟化技术兴起,网络从稳态需要变换成敏态,
vm在不同的物理设备之间迁移或者不同物理设备上的vm实现组网
需要一个 网络定义过程
这个过程 如果依然需要固网运维模式,已经无法满足快速的vm变换业务需求
从而提出SDN技术,传输层和上层业务网络管理流量方面逻辑分开
业务网络可自己组网,快速完成vm级别的网络组建