本文主要是介绍SDN的基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网络层的主要任务是转发和路由选择,可以讲网络层抽象地划分为数据平面和控制平面,转发时数据平面实现的功能,而路由选择是控制平面实现的功能。
软件定义网络是今年流行的一种创新网络架构,它采用集中式的控制平面和分布式的数据平面,两个平面相互分离,控制平面利用控制-数据接口,对数据平面上的路由器进行集中式的控制,方便软件来控制网络。传统网络中的路由器基友转发表,又有路由选择软件,既有数据平面又有控制平面。但是在SDN结构中,路由器都变得简单了,他的路由选择软件都不需要了,因此路由器之间不再相互相互交换路由信息。在网络控制平面有一个逻辑上的远程控制器(可以由多个服务器组成)。远程控制器掌握各个主机和整个网络的状态,为每个分组计算出最佳路由,通过Openflow协议,将转发表(在SDN中称为流表)下发给路由器。
路由器的工作很单纯,即收到分组、查找转发表、转发分组。
SDN的可编程性通过为开发者提供强大的编程接口,使得网络具有很好的编程性。
对上层应用的开发者,SDN提供的编程接口称为北向接口,北向接口提供了一系列丰富的API,开发者可以在此基础上设计自己的应用,而不必关心底层的硬件细节。
SDN控制器和转发设备,建立双向会话的接口,称为南向接口,通过不同的南向接口协议,SDN控制器就可以兼容不同的硬件设备,同时可以在设备中实现上层应用的逻辑。
SDN控制器集群内不控制器之间的通信接口,称为东西向接口,用于增强整个控制平面的可靠性和可拓展性。
SDN的优点:1,全局集中式的控制和分布式的高速转发,既有利于控制平面的全局优化,又有利于高性能网络的转发。2,灵活的可编程与性能的平衡,控制和转发功能分离之后,使得网络可以由专有的自动化工具以编程方式配置。3,降低成本,控制和数据平面分离之后,尤其是在使用开放的接口协议之后,就实现了网络设备的制造与功能软件的开发相分离,从而有效的降低了成本。
SDN的问题:1,安全风险,集中管理容易收到攻击,如果崩溃了,则整个网络可能会收到影响。2,瓶颈问题,原本分布式的控制平面集中化后,随着网络规模的扩大,控制器可能成为网络性能的瓶颈。
这篇关于SDN的基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!