软件定义网络实施的类型
SDN的实现与传统网络有很大不同。在传统组网中,数据包的转发和路由发生在同一个设备中。而在SDN中,它分为两个平面,即数据平面和控制平面。在每个 SDN 实施中,都涉及三个要素:
- 控制器
- 与硬件设备(交换机)通信的协议
- 开关
在传统网络中,这三个元素存在于同一设备中,这使得对交换机进行编程和控制变得困难。但是在 SDN 中,这三个元素是分开的,这为软件定义网络中的多种类型的研究和开发开辟了道路。在本文中,我们讨论了实现软件定义网络的方法。
SDN实施的类型:
- 开放SDN
- 通过 API 实现 SDN
- 通过基于 Hypervisor 的覆盖网络实现 SDN
开放SDN:
Open SDN 是使用 OpenFlow 交换机实现的。这是SDN的简单实现。在 Open SDN 中,控制器借助 OpenFlow 协议使用声音绑定 API 与交换机进行通信。
通过 API 实现 SDN:
在通过 API 的 SDN 中,远程设备(如交换机)中的功能使用传统方法(如 SNMP 或 CLI)或通过更新的方法(如 Rest API)调用。在这里,设备配备了控制点,使控制器能够使用 API 操作远程设备。
通过 API 实现的 SDN 不需要启用 OpenFlow 的交换机,也可以与传统交换机很好地配合使用。通过API使用SDN,更容易制作编排软件。通过 API 实现的 SDN 提供了更高的开放性,从而消除了对所有权的需求。
尽管 SDN via API 是非专有的,但 SDN via API 中使用的 API 是专有的,只能由特定供应商使用。
通过基于 Hypervisor 的覆盖网络实现 SDN:
在通过管理程序的 SDN 中,物理设备的配置是不变的。相反,基于 Hypervisor 的覆盖网络是在物理网络上创建的。只有物理网络边缘的设备连接到虚拟化网络,从而隐藏了物理网络中其他设备的信息。在这里,管理程序通过向虚拟化网络发送和接收流量来控制物理设备的网络流量。结果,边缘设备控制虚拟网络。
如果一个数据包进入虚拟网络的边缘,管理程序将获取该数据包并用另一个帧封装它。虚拟网络的边缘称为虚拟隧道端点 (VTEP)。然后,管理程序根据控制器编程的信息将封装的数据包发送到目标 VTEP,然后将其转发到目标主机。
SDN的优势:
- 集中式控制器是 SDN 的核心优势之一,用于对传入的数据包进行快速决策。
- 由于数据平面和控制平面分离,管理设备的代码行数减少了。
- 代码将只在控制器上编写一次,用于管理底层平面。
- 控制器本身具有网络拓扑管理、设备管理、流量管理、统计跟踪的功能,确实消除了对第三方设备/软件管理所有这些活动的需要。
- 网络抽象有助于将网络与底层设备分离。
- SDN也以其开放性而闻名,即。 SDN不是专有的。
SDN的缺点:
- SDN 缺乏标准的北向 API。
- 协调应用程序也是SDN控制器的一个陷阱。
- 未正确定义和探索大规模使用 SDN。
- 任何数据包传输的流优先级也是 SDN 中的问题。
SDN的应用:
- SDN 管理不同路径或一组已定义端点的流量负载。
- 它为两个端点之间的数据包传输找到最佳路径。
- 它负责处理由于将新设备添加到现有路径、为数据包传输添加新路径以及链路故障而可能导致的网络拓扑变化。
- 它有助于在路径中参与任何隔离、身份验证和检查的情况下重定向流量。
- SDN还做负载平衡、防火墙等。