1. 传统节点与SDN节点
1.1 传统节点(Traditional Node)
这幅图展示了传统网络节点的结构。在这种设置中,控制层和数据层是集成在同一个设备内。
以太网交换机:在传统网络中,交换机包括控制层和数据层,它不仅负责数据包的传输,还负责决策如何处理和转发数据包。
控制软件/硬件(Control SW/HW):这里指的是交换机内部的软件和硬件,它们负责处理路由表、ACL规则等,以及所有决定网络流量如何通过交换机的逻辑。
1.2 SDN节点(SDN Node)
这幅图说明了SDN架构的基本组成部分。在SDN中,控制层(Control Plane)与数据层(Data Plane)是分开的。
SDN控制器:控制器是SDN架构的核心,它负责决定网络中的数据包如何流动。控制器与网络设备之间的通信通常是通过一个标准化的接口进行的,比如OpenFlow协议。
SDN客户端:这个术语通常不是标准用语,它指的是SDN环境中的任何网络设备,如交换机、路由器,或者实际上是指作为SDN控制器下发策略对象的实体。
应用(Apps):在SDN控制器上运行的应用程序可以编程网络行为,比如路由、负载均衡等策略。
以太网交换机(Ethernet Switch):物理设备,它在SDN中作为数据平面的一部分,负责数据的传输,但不做路由决策,这些决策由SDN控制器提供
1.3 平面的概念
在计算机网络中,通常将网络功能分为三个不同的层次:管理平面(Management Plane)、控制平面(Control Plane)和数据平面(Data Plane)
1.3.1 管理平面 (Management Plane)
配置 (Configuration):管理平面涉及网络设备的配置和管理。这包括设置路由器、交换机和其他网络设备的参数,如IP地址、路由协议等。
监控 (Monitoring):此外,管理平面还负责监控网络设备和流量,确保网络正常运行并进行性能分析。
1.3.2 控制平面 (Control Plane)
在路由器中建立状态 (Establishing the state in routers):控制平面负责决定数据应该如何和到哪里转发。它包括路由协议和策略的制定,这些协议和策略帮助建立路由器内部的路由表。
决定数据包的转发方式和路径 (Determines how and where packets are forwarded):控制平面通过更新路由表来响应网络中的变化,例如路径改变、网络拥塞等。
慢速时间尺度 (Slow time-scale):控制平面的操作通常是基于控制事件的,比如网络拓扑的变化,这些操作不是实时的,而是有一定的延迟。
1.3.3 数据平面 (Data Plane)
处理和转发数据包 (Processing and forwarding packets):数据平面负责实际处理和转发网络上的数据包。这涉及查看数据包的头信息,根据路由表决定其下一跳的位置。
基于路由器和端点的状态 (Based on state in routers and endpoints):数据平面依据控制平面建立的状态和策略来执行数据包的转发。
每个数据包的时间尺度(快速!)(Per-packet timescale (fast!)):数据平面的操作是针对每个数据包的,因此需要非常迅速地处理和转发,以保持网络流量的连续性和效率。
总结来说,管理平面负责网络设备的配置和监控,控制平面决定数据的转发策略,而数据平面则执行实际的数据处理和转发工作。这三个层次共同确保网络的有效和高效运行。
2. SDN发展的原因(为什么要使用新模式)
由于难以创新、设备昂贵、系统封闭网络多年来几乎没有变化
2.1 因素1:数据中心(DC)与虚拟化
2.1.1 数据中心虚拟化的原因
2.1.1.1 服务器利用率低下
传统的物理服务器经常存在资源未被充分利用的情况,虚拟化允许在单个物理服务器上运行多个虚拟机(VM),从而显著提高资源利用率。
2.1.1.2 多租户环境
尤其是提供云服务的数据中心,需要同时服务多个客户(租户)。虚拟化使得可以为每个租户创建独立的VM,确保隐私和安全。
2.1.1.3 隔离网络和重配置需求
当VM从一个主机迁移到另一个主机时,需要维护一致的网络配置。技术如VLAN(虚拟局域网)和VXLAN(可扩展虚拟局域网)被用来为每个VM创建隔离的网络,并在迁移过程中维持网络连续性。
SDN是更敏捷的方法来以编程方式构建和动态更改逻辑网络基础设施的查询指向了对更灵活、软件驱动方法的需求。
2.1.2 软件定义网络(SDN)
2.1.2.1 程序化控制
SDN将网络的控制平面(决定流量应该如何流动)与数据平面(根据这些决策转发流量)分离。这种分离允许更加可编程和动态的网络控制。
2.1.2.2 动态重配置
通过SDN,网络可以快速且以程序化的方式重新配置,而不需要对每次变更进行手动干预。这一能力在虚拟化环境中非常有益,因为工作负载和虚拟网络功能可能迅速变化。
2.1.2.3 自动化和编排
SDN使得网络资源的自动化和编排变得更加高效,允许更有效地管理网络流量,特别是在多租户和云环境中。