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...
文章列表
王小扬博客
云原生
Git
Elasticsearch
Apollo
产品
Think
生活技巧
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP
AI