SDN (Software Defined Networking)|软件定义网络

软件定义网络(SDN)是一种将网络资源抽象到虚拟化系统中的 IT 基础架构方法。这被称为网络虚拟化。SDN 将网络转发功能与网络控制功能分离开来,目的是创建可集中管理且可编程的网络,这也就是说将控制平面与数据平面分离。SDN 允许 IT 运维团队通过集中面板来控制复杂网络拓扑中的网络流量,而无需手动处理每个网络设备。
 
SDN 名词介绍

SDN控制器

SDN 控制器,如 OpenDaylight、Floodlight 等

负载均衡

硬件方面
  • 网卡绑定:将多块 PCIe 100G 网卡绑定为一个逻辑网卡组,对外呈现为一个虚拟网卡。这样,网络流量可以在绑定的网卡之间进行分配。例如,常见的网卡绑定模式有平衡轮询(Round-Robin)模式,即按照顺序依次将数据包发送到不同的网卡上;主备模式,其中一块网卡为主用,其他网卡为备用,当主用网卡故障时,备用网卡自动接管。这种方式需要服务器的操作系统支持网卡绑定功能,并且在配置时需要指定绑定模式和相关参数。
  • 使用支持负载均衡的交换机:一些高端交换机支持链路聚合和负载均衡功能,可以将服务器上的多块网卡与交换机的多个端口进行连接,并在交换机上配置相应的聚合策略,实现网络流量的均衡分配。例如,通过配置基于源 MAC 地址、目的 MAC 地址、源 IP 地址、目的 IP 地址或端口号等参数的哈希算法,将流量分配到不同的链路上。
软件方面
  • 操作系统层面的配置:主流的服务器操作系统(如 Linux)提供了网络负载均衡的功能模块。例如,在 Linux 中可以通过修改网络配置文件,启用多网卡的负载均衡功能。具体的配置方法因操作系统版本和发行版而异,但通常涉及到设置网络接口的参数、绑定网卡、配置负载均衡策略等步骤。
  • 使用负载均衡软件:可以在服务器上安装专门的负载均衡软件,如 LVS(Linux Virtual Server)、HAProxy、Nginx 等。这些软件可以根据预设的策略将网络流量分发到不同的网卡上。例如,LVS 可以基于 IP 地址、端口号等信息进行负载均衡;HAProxy 支持多种负载均衡算法,如轮询、加权轮询、最小连接数等;Nginx 主要用于 Web 服务器的反向代理和负载均衡,可以根据客户端的请求将流量分配到不同的后端服务器(即服务器上的不同网卡)。
  • 应用程序层面的实现:如果应用程序本身支持多网卡的负载均衡,可以在应用程序的配置文件中指定使用的网卡和负载均衡策略。例如,一些数据库管理系统、分布式存储系统等可以根据网络配置和负载情况,自动选择合适的网卡进行数据传输。

SDN 负载均衡

阿里云 ALB 应该就包含在这里了,最后一层的应用服务器分流 卸载 Htpps,作为网关聚合再次转发流量到集群内

数据中心网络 Spin-Leaf

notion image
notion image
notion image
如果某台路由宕机,则另一台路由会将它的公网 ip 接过来,可以实现分钟级故障恢复(主要是公网路由表可能更新缓慢)。
如果某台交换机宕机,则左侧的路由通过 ECMP 及时调整路由配置,可以实现秒级切换。
如果某台 LVS 服务器宕机:Keepalived 机制会让 Standby 设备在 1 秒之内顶上。
notion image
notion image

MLAG

MLAG 利用链路聚合的优势,将网络带宽和可靠性分散到一对数据中心交换机上,从而提供系统级冗余和网络级弹性。
notion image
Loading...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP