SDN概念

什么是SDN?
SDN是software defined network的缩写,软件定义网络。
为什么需要SDN?有什么是SDN能够做到而传统网络做不到的?
SDN交换机本质上也不过是把传统交换芯片包装一下而已,有什么转发行为是传统交换机支持不了的?(转发面)
传统交换机是用网管软件或者命令行来进行管理的,SDN交换机无非是换成controller控制器来管理而已,又有什么本质区别?(控制面)
其实SDN与传统网络是有本质区别的,传统网络的转发行为,是受协议控制的,反映了管理员的意愿,但是:
1.逐设备单独控制的,是纯分布式控制;
2.控制面跟转发面在同一个设备;
3.管理员无法直接操控转发行为,只能配置网络协议,通过协议自身去影响转发;
4.网络协议对转发行为的影响是固定的,比如路由协议只能靠目的IP地址转发,MPLS协议只能依靠label转发,并且只能对报文进行固定模式的修改,比如修改Mac地址,vlantag,TTL,DSCP,改不了其他东西。

SDN要求集中式控制,(即便有分布式,那也是集中式再发布),要求转发和控制分离。这样管理员就可以直接操控设备的转发行为,可以不通过各种网络协议,而是直接通过应用程序来控制转发行为。
注意,这里说不使用网络协议,不是说SDN杜绝了网络协议,只是这些协议运行在控制器上。
上述的控制转发行为是很直截了当的,不受任何协议影响,比如不是通过目的IP地址转发,而是希望看到目的IP地址加源IP地址,转发的时候直接修改报文的目的IP地址等。

总结,说白了,传统的网络设备虽然有大量的软件参与,但是并不是管理员去写的,无法体现自己意志,而是厂商固定在设备中的,自然就不是协议(软件)定义网络;而SDN中的软件完全是管理员设计的,用软件规划网络中的任意转发行为,管理员完全通过这些软件定义了整个网络,也就是所谓的software defined network。

SDN中的软件到达是什么?
其实就是各种应用程序application,比如视频监控的管理软件,这样依靠软件的图形化界面来控制设备,规定数据要发送到那个服务器上,走那条路径;再比如防火墙控制软件,通过图形化操作界面控制设备,符合什么条件的报文可以放行,发送给监控服务器进行深度分析。
这些软件并不是一定要去操作了才起作用,也可以根据网络管理员预先配置好的策略动态去配置设备。比如到某一时间,定时让设备启用一个功能;还有更复杂的应用,比如网络虚拟化的自动部署软件,流量工程中的自动化流量测试、路径规划软件等。
这些软件有一个共同特点:不依赖于任何路由交换协议,而是用户自己定制设计的,可以用来实现自动化控制,完全体现用户意志。

SDN并不是一个具体的技术,只是一个框架,一种网络设计的理念,SDN框架中的网络,控制面和转发面必须是分离的,在转发面这一角度,是希望与协议无关的,而是软件可以完全的体现管理员的意志,管理员用过软件控制转发行为,驱动整个网络流量。
SDN的一些潜台词:
对硬件转发面配置接口的标准化,如果想用软件实现控制转发行为,就应该尽量不依赖特定的硬件,不然软件无法通用。
集中控制,既然是软件定义的网络,那么网络中的设备都需要受软件的统一控制。
硬件转发面的标准化,不是配置接口,而是内部逻辑实现,否则会造成不同标准组织和公司在行为上的差异。
总结:SDN特性属性:
1.控制面与转发面分离
2.开放的可编程接口
3.集中化的网络控制
4.网络业务的自动化应用程序控制
前两个是SDN的核心属性,只要符合这两点,都可以认为是SDN架构的。
注意,这里不包括硬件编程接口的标准化,但是必须得开放化,而硬件编程接口的标准好一直是openflow所刻意追求的方向,不仅要求编程接口标准化,还要求硬件内部转发行为也要标准化。这也是传统设备厂商与OpenFlow的标准组织ONF之间的分歧所在。

SDN不是什么?
SDN就是SDN,不是任何其他的技术。
SDN不等于OpenFlow,不等于网络虚拟化network virtualization,不等于网络功能虚拟化NFV,network function virtualization,更不等于云计算或者大数据以及数据中心网络。
SDN不意味着一定要采用OpenFlow,网络虚拟化/云计算/大数据/数据中心网络也不一定需要用到SDN。
SDN不是网络协议,不是网管工具,仅仅只是一种网络架构的理念,规划了网络的各个部分组成(软件和硬件,转发面和控制面)及相互之间的互动关系。

发布了231 篇原创文章 · 获赞 222 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qinshangwy/article/details/105149680
SDN