究竟什么是软件定义网络(SDN)?

问题描述 投票:5回答:3

我正在仔细阅读Open DayLight的文档,似乎无法围绕软件定义的网络。我可以在SDN上找到的所有媒体炒作,博客和文章都充斥着流行语,这些流行语对我来说对工程师来说毫无意义。所以我问:SDN究竟是什么(确切)?它解决了哪些具体用例/问题?是吗:

  • 只是制作专有网络硬件服务网络API,从而允许程序配置它们(而不是IT人员使用控制台或Web界面)?要么
  • 将(传统专有的)网络硬件实现为软件;要么
  • 编写软件以某种方式与虚拟化平台(vLAN,vSwitch等)使用的虚拟网络硬件集成?要么
  • 还有别的吗?!?

奖励:Open DayLight如何适应这个等式?

opendaylight sdn
3个回答
3
投票

首先,你是对的,没有来自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。


2
投票

SDN是可编程网络。不同的SDN解决方案在其API中为应用程序开发人员提供不同的功能。

这里为软件开发人员提供了很好的SDN概述:

https://github.com/BRCDcomm/BVC/wiki/SDN-applications

SDN解决方案最常见的元素是

  1. 北向API:应用程序/脚本用于监视,管理和控制网络中的网络拓扑和数据包流的编程接口。
  2. 网络元素:切换或路由网络元素,通过北向API强制执行应用程序提供的规则。这些元素可以是物理(Cisco,Brocade,Tallac等)或虚拟(Open VSwitch,Brocade Vyatta vrouter,Cisco 1000等)或其组合。

基于控制器的解决方案具有集群架构元素(“控制器”),它为应用程序提供了北向api,并为网络设备连接了一组可扩展的南向API。目前可用的一些控制器是OpenDaylight,开放式网络操作系统(ONOS),Juniper Open Contrail,Brocade Vyatta控制器(ODL分配),HP VAN控制器等。

了解SDN产品的最佳经验法则:

  1. 阅读其北向API - 这将告诉您在网络中将能够监控,管理和控制的内容。
  2. 找出它支持哪些南向API - 这可以告诉您它可以使用哪些交换机/路由器。

一些SDN用例/应用程序:

  • DevOps / Admin自动化 - 通过自动化使网络管理员或DevOps生活更轻松的应用程序和脚本。 OpenStack Neutron是一个常见的例子。
  • 安全性 - HP提供“网络保护器”,用于了解网络拓扑,然后监控提供警报和/或修复不合规行为的活动。
  • 网络优化 博科提供“流量管理器”,可监控网络利用率并实时修改流量,以根据定义的策略优化质量。 惠普提供“HP Network Optimizer”,为企业Microsoft Lync用户提供端到端语音优化路径。 Lyatiss实时配置AWS网络以满足应用需求。
  • 监控课堂上课时间--Elbrys提供的应用程序为教师提供了一个仪表板,可以实时监控学生的上班时间,并使个别学生重定向到他们选择的网页。 (免责声明:我在Elbrys Networks工作)
  • OpenDaylight项目提案页面 - https://wiki.opendaylight.org/view/Project_Proposals:Main

0
投票

SDN的概念非常简单。 SDN将控制平面(即决策制定)与数据平面(实际转发动作)分离,并在它们之间提供API(例如OpenFlow API)。

enter image description here

借助SDN架构,网络工程师不再需要为不同的供应商学习专有的CLI命令。他们可以专注于开发逻辑上集中的控制程序,以制定网络全局决策并将其发送到网络交换机(数据平面)。如果没有发现他们向控制器询问的决定,则转储网络交换机(数据平面)接收控制器规则/决策并相应地处理网络分组。

例如:在作为控制器中的程序开发的SDN架构路由算法中,它从网络收集所有所需的元数据(例如,交换机,端口,主机连接,链路,速度等),然后为网络中的每个交换机做出路由决定。在传统网络中,路由算法在所有交换机中以分布式方式实现(即,通常每个交换机具有其自己的智能并做出其自己的路由决定)。

SDN explained by Nick Feamster

Here is a good paper that illustrates the road map to SDN

© www.soinside.com 2019 - 2024. All rights reserved.