6

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

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

奖励: Open DayLight 如何在这里适合这个等式?

4

3 回答 3

4

首先,您是对的,NIST 或一些类似的标准化机构没有官方定义,其含义模糊的事实被营销人员利用。

SDN 的要点是它允许使用 API 对网络功能进行编程。过去,交换机和路由器等网络设备只能使用专有接口进行配置(无论是供应商特定工具还是设备上的 CLI),并且没有允许配置 OSI L2 - L3 方面(如 VLAN 和路由)的 API,但是还有 L6 - L7 方面,例如高度动态的负载平衡。顺便提一句。在 L6 - L7 功能的情况下,术语 NVF = Network Virtualized Function 现在似乎已经成立。

这对于支持多租户的虚拟化 IaaS 系统尤其需要。您可以创建新的 VPC 并将它们随意排列在一起。要真正将租户彼此隔离,您需要进行 L2 隔离,因此为 VPC 提供的相同动态会传播到网络以互连它们。

结论:这是关于你的第一个扩展的子弹,API不一定必须由某些硬件设备提供,它也可以由一些纯软件实现提供。

关于 OpenDaylight:它是 SDN 的 OpenStack 挂件。他们还积极推动与 OpenStack 的集成。他们说它们是“通过开源 SDN 和 NFV 解决方案实现可编程性和控制的开放参考框架”。这意味着它(如您所说)为网络的多方面提供了一个外观。他们拥有所有大牌成员,这可能意味着他们有能力像 OpenStack 那样建立一个事实上的标准。成员受益于他们可以为他们的产品提供插件、集成和改编,以便他们与 OpenDayligh 无缝集成,您只需要关心一个标准API。

于 2015-01-22T09:50:55.700 回答
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,网络设备连接到这些 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
于 2015-01-23T23:57:28.313 回答
1

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

在此处输入图像描述

图片来源:https ://www.commsbusiness.co.uk/features/software-defined-networking-sdn-explained/

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

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

SDN 由 Nick Feamster 解释

这是一篇很好的论文,说明了 SDN 的路线图

于 2019-03-03T00:17:43.797 回答