centos

CentOS Overlay网络原理

小樊
47
2025-10-11 07:05:06
栏目: 智能运维

CentOS Overlay网络原理

一、Overlay网络概述

Overlay网络是一种构建在现有物理网络(Underlay)之上的虚拟逻辑网络,通过隧道技术将二层或三层报文封装在IP报文中,实现跨物理主机的虚拟网络连接。在CentOS环境中,Overlay网络常用于容器(如Docker、Kubernetes Pod)的跨主机通信,其核心目标是隔离物理网络拓扑限制,让虚拟网络中的节点像在同一局域网内一样通信。

二、Overlay网络的核心组件

Overlay网络的运行依赖三大核心组件的协同:

  1. 边缘设备(VTEP)
    边缘设备是Overlay网络与Underlay网络的“桥梁”,负责报文的封装与解封装。在CentOS的软件Overlay方案中,边缘设备通常由**vSwitch(虚拟交换机)**实现(如Open vSwitch),它会为进出虚拟网络的报文添加/剥离隧道头部(如VXLAN头部);在硬件Overlay方案中,边缘设备可能是支持VXLAN的物理交换机。
  2. 控制平面
    控制平面是Overlay网络的“大脑”,负责虚拟隧道的建立、维护,以及主机可达性信息、MAC地址与IP地址的映射通告。常见的控制平面包括:
    • 分布式协调服务(如Consul、Etcd):用于同步Overlay网络的配置信息(如网络ID、节点IP);
    • SDN控制器(如Kubernetes的kube-controller-manager):集中管理Overlay网络的拓扑与路由。
  3. 数据平面
    数据平面是Overlay网络的“传输通道”,负责虚拟报文的转发。在CentOS中,数据平面通常由物理网络(如Underlay的Ethernet/IP网络)承载,通过UDP隧道(如VXLAN)传输封装后的报文。

三、关键技术:隧道封装与VXLAN

Overlay网络的核心技术是隧道封装,即将原始报文(如二层以太网帧或三层IP报文)封装在新的IP报文中,使其能在Underlay网络中透明传输。CentOS中最常用的隧道技术是VXLAN(Virtual Extensible LAN)

四、Overlay网络的工作流程

CentOS中Overlay网络的跨主机通信流程可分为以下步骤:

  1. Overlay网络创建:通过Docker或Kubernetes命令创建Overlay网络(如docker network create --driver overlay --subnet 10.0.0.0/24 my-overlay),此时控制平面(如Consul)会同步该网络的配置信息到所有节点。
  2. 节点加入网络:各节点的Docker/Kubernetes守护进程向控制平面注册自己的VTEP地址(如节点A的IP为192.168.1.10,节点B的IP为192.168.1.20),控制平面将这些信息同步给所有节点。
  3. 服务发现与地址映射:当容器启动时,控制平面会为其分配Overlay网络中的IP地址(如10.0.0.2),并通过Consul等服务发现组件同步该地址到所有节点。节点通过查询控制平面获取目标容器的MAC地址与IP地址映射关系。
  4. 报文转发:源容器发送数据时,vSwitch捕获报文并进行VXLAN封装(添加VNI、UDP、外部IP头部),通过Underlay网络发送到目标节点。目标节点的vSwitch解封装报文,将原始数据发送给目标容器。

五、Overlay网络的优势

相较于传统Underlay网络,CentOS Overlay网络的核心优势在于:

0
看了该问题的人还看了