我正在仔细阅读Open DayLight的文档,似乎无法围绕软件定义的网络。我可以在SDN上找到的所有媒体炒作,博客和文章都充斥着流行语,这些流行语对我来说对工程师来说毫无意义。所以我问:SDN究竟是什么(确切)?它解决了哪些具体用例/问题?是吗:
奖励:Open DayLight如何适应这个等式?
首先,你是对的,没有来自NIST或类似标准化机构的官方定义,而且其含义模糊的事实被营销人员利用。
SDN的要点是它允许使用API编程网络功能。过去,交换机和路由器等网络设备只能使用专有接口进行配置(无论是供应商特定工具还是设备上的CLI),并且没有API允许配置OSI L2-L3方面,如VLAN和路由,但还有L6-L7等高负荷均衡的方面。顺便说一句。在L6-L7功能的情况下,术语NVF =网络虚拟化功能似乎现在已经建立。
特别是对于支持多租户的虚拟化IaaS系统,这是必需的。您可以随意创建新的VPC并将它们排列在一起。为了真正地将租户彼此隔离,您需要具有L2隔离,因此为VPC提供的相同动态会传播到网络以进行互连。
结论:这是关于扩展的第一个子弹,API不一定由某些硬件设备提供,它也可以由一些纯软件实现提供。
关于OpenDaylight:它是SDN的OpenStack挂件。他们还积极推动与OpenStack的集成。他们说这是一个“通过开源SDN和NFV解决方案实现可编程性和控制的开放式参考框架”。这意味着它(如你所说)为manfold aspects of networking提供了一个外观。他们拥有所有大名鼎鼎的成员,这可能意味着他们有能力建立像OpenStack这样的事实上的标准。成员受益于他们可以为他们的产品提供插件,集成和调整,以便他们与OpenDayligh无缝集成,您只需要关注单个标准API。
SDN是可编程网络。不同的SDN解决方案在其API中为应用程序开发人员提供不同的功能。
这里为软件开发人员提供了很好的SDN概述:
https://github.com/BRCDcomm/BVC/wiki/SDN-applications
SDN解决方案最常见的元素是
基于控制器的解决方案具有集群架构元素(“控制器”),它为应用程序提供了北向api,并为网络设备连接了一组可扩展的南向API。目前可用的一些控制器是OpenDaylight,开放式网络操作系统(ONOS),Juniper Open Contrail,Brocade Vyatta控制器(ODL分配),HP VAN控制器等。
了解SDN产品的最佳经验法则:
一些SDN用例/应用程序:
SDN的概念非常简单。 SDN将控制平面(即决策制定)与数据平面(实际转发动作)分离,并在它们之间提供API(例如OpenFlow API)。
借助SDN架构,网络工程师不再需要为不同的供应商学习专有的CLI命令。他们可以专注于开发逻辑上集中的控制程序,以制定网络全局决策并将其发送到网络交换机(数据平面)。如果没有发现他们向控制器询问的决定,则转储网络交换机(数据平面)接收控制器规则/决策并相应地处理网络分组。
例如:在作为控制器中的程序开发的SDN架构路由算法中,它从网络收集所有所需的元数据(例如,交换机,端口,主机连接,链路,速度等),然后为网络中的每个交换机做出路由决定。在传统网络中,路由算法在所有交换机中以分布式方式实现(即,通常每个交换机具有其自己的智能并做出其自己的路由决定)。