2495 字
12 分钟
MCloud网络知识

相关术语#

  • 广播域:网络中能接收到同一广播消息的所有设备的集合,任何一个设备发送的广播帧都会被该域的其他设备接收(三层交换机,路由器)
  • 冲突域:网络中共享同一带宽,可能会发生数据冲突的区域,同一时间只能有一个设备发送数据(交换机,网桥)
  • 二层网络:二层广播域(交换机),仅通过ARP广播获取MAC地址实现通讯
  • 三层网络:云主机使用的网络配置,包括ip范围,网关,dns,子网掩码等,数据传送通过ip转发
  • 共有网络:一般为可直接访问互联网的网络
  • 私有网络:云主机之间连接和使用的内部网络
  • 扁平网络:与物理机网络直通,也可以直接访问互联网
  • VPC网络:云主机使用的私有网络,可通过VPC路由器访问互联网
  • 弹性IP:基于NAT,将一个网络地址转换为另一个网络地址(地址映射)
  • 虚拟IP:数据包会被发送到虚拟IP,再路由至云主机
  • Underlay网络:相对于Overlay网络,物理网络成为Underlay网络
  • Overlay网络:相对于Underlay网络,运行在物理网络之上的虚拟逻辑网络称为Overlay网络

TCP/IP五层网络模型#

层数结构主要设备及协议
5应用层HTTP,FTP,SMTP,DHCP等
4传输层TCP,UDP
3网络层IP,ARP(三层交换机,路由器)
2数据链路层网桥,交换机
1物理层集线器(HUB),中继器

Linux虚拟网络设备#

  • Tun设备是一个三层设备,读取和写入IP数据包
  • Tap设备是一个二层设备,读取和写入MAC数据帧,与真实的物理网卡能力接近

img.png 虚拟机上的eth[x],为虚拟网卡,对应宿主机上的vnic[x](Tap设备),它们为一对设备,共同完成虚拟机与外部的通信

  • Bridge网桥:同物理交换机差不多,维护一个转发数据库根据MAC地址转发报文。物理设备和虚拟设备都可以桥接到bridge上,接收数据时,由bridge决定数据的走向,但是发送数据时不会被转发到bridge上,会寻找下一个发送出口 img_1.png

Veth pair#

  • veth是虚拟以太网卡的缩写(Virtual Ethernet)。veth设备总是成对的,所以被称为veth pair。
  • veth pair一端发送的数据会在另一端接收
  • veth pair常用于将两端放在不同的network namespace里进行跨network namespace之间的通信

Network Namespace(网络命名空间)#

  • Linux内核提供的一种网络隔离机制,用于将不同的网络设备、IP地址、路由表、防火墙规则等网络资源隔离到独立的命名空间中
  • 同一个网络设备只能位于一个命名空间中,不同的网络命名空间中的设备可以通过veth pair进行桥接

VLAN#

  • 虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域
  • 可以实现相同的vlan在同一广播域,不同vlan内的报文在数据传输时是相互隔离的
  • 用vlan可以划分不同的用户使用不同的网段,便于流量管理
  • vlan的数量一共2^12=4096个vlanID(04095)其中0和4095为系统保留,所以vlanID范围为14094

VXLAN#

  • 虚拟可扩展的局域网,通过三层网络搭建的虚拟的二层网络
  • vxlan可突破vlan4096个子网的数量限制,能够支持2^24个子网
  • VNI是每个VXLAN的标识,24位整数,最大值为2^24-2=16777214
  • tunnel,隧道,是一个逻辑上的概念,一种虚拟通道,VXLAN通信双方(虚拟机之间)都认为自己在直接通信,并不知道底层网络

PVLAN#

  • 一种网络隔离技术,在传统的VLAN基础上提供更细粒度的隔离,同一个VLAN内部隔离不同的实例
  • 一个PVLAN下只有一个隔离VLAN
  • PVLAN的优势在于精细的访问控制,节省IP资源,提高安全保护
  • 可用于同一个三层网络下的vm之间相互隔离
  • 创建二层网络时,可开关PVLAN,用于设置是否在云平台中实现 PVLAN 的隔离 VLAN(Isolated VLAN)功能,通常与物理交换机的 PVLAN 功能配合使用
  • 二层网络开启后PVLAN后,将实现二层网络内的隔离效果,使用该二层网络创建的三层网络内的云主机之间默认也无法通信。

二层网络#

  • L2NoVlanNetwork:表示相关的物理机对应的网络设备不设置VLAN,如果交换机端口设置了VLAN,则需要在交换机端配置Access模式
  • L2VlanNetwork:表示相关的物理机对应的网络设备需要设置VLAN,需在物理机接入的交换机端进行Trunk设置
  • 如果集群已加载二层网络,但物理机不存在此二层设备(二层网络绑定的网卡不存在),则物理机不能添加进入该集群
  • 如果集群未加载二层网络,物理机也不存在此二层设备,则物理机不能添加进入该集群
  • 如果物理机存在此二层设备,但设备接线于集群内其他物理机接线不一样,则会导致创建出来的云主机ip无法正常工作
  • 删除二层网络时,其对应的三层网络将被删除,使用此三层网络的云主机的网卡也将被删除

三层网络#

  • 不推荐多个三层网络使用同一个二层网络,否则可能会出现DHCP服务不可用的情况
  • 云主机加载三层网络会自动在物理机上创建一个虚拟网卡(vnic)attach到对应的网桥上面

路由资源#

  • MCloud封装了VPC路由器的镜像,只为云路由提供服务,云路由的镜像不能直接用于创建云主机

  • 镜像上传地址: x86:http://管理节点IP:8080/mcloud/static/mcloud-repo/x86_64/c78/mcloud-tools/MCloud-vRouter-openEuler-22.03.qcow2 arm:http://管理节点IP:8080/mcloud/static/mcloud-repo/aarch64/openeuler22/mcloud-tools/MCloud-vRouter-openEuler-22.03-aarch64.qcow2

  • 创建路由规格时,管理网可以公有网络和系统网络

  • VPC路由器为公有网络/VPC网络提供分布式DHCP、DNS、SNAT、弹性IP、端口转发、负载均衡、安全组等网络服务

  • 设置网卡QOS,能通过VPC路由器设置网卡的Qos,限制网卡的上行和下行带宽

  • 多公网SNAT(Source Network Address Translation),VPC路由器加载的默认公有网络默认开启SNAT

    • SNAT:源IP地址转换,将内部VPC网络中发向公网的数据通过NAT转化,将数据包中源地址转成VPC路由器对应公网网卡的IP地址
    • 默认公有网络开启SNAT后,VPC网络中云主机可以直接访问互联网
    • 非默认公有网络开启SNAT后,VPC网络中云主机可通过SNAT访问非默认网络中的云主机
  • 源进源出:由VPC路由器基本属性中开关。当VPC路由器配置多条公有网络时,将每个公网所触发的外部请求对应的内部响应原路返回,确保数据进出一致。

  • 组播数据传输使用UDP协议,接收的云主机防火墙应启用IGMP协议

安全组#

  • 安全组支持的协议包括tcp、udp、icmp、all
  • 安全组由作用方向、作用对象、协议、端口、优先级(数字越小,优先级越高)组成。为云主机提供三层网络的安全控制,能对tcp、udp、icmp等数据包进行过滤
  • 入方向:数据包从外部进入云主机
  • 出方向:数据包从云主机往外部发送
  • 网卡绑定安全组后才会受安全规则的限制,一张网卡可以绑定多个安全组
  • 网卡加入安全组后,除安全规则规定外,默认允许其他所有出方向流量,拒绝其他所有入方向流量
  • VPC防火墙管控南北向流量,作用于整个VPC,部署在VPC路由器上。安全组作用于云主机虚拟网卡,侧重保护VPC内部东西向通信安全,部署在云主机上。

虚拟IP#

公有网络创建VIPVPC网络创建VIP扁平网络创建VIP
为扁平网络提供弹性IP,负载均衡弹性IP,负载均衡
为VPC网络提供弹性IP,端口转发,负载均衡,IPsec隧道负载均衡
  • 云路由器成功创建后,系统使用路由器加载的三层网络会自动创建虚拟ip。数据包会发送到虚拟ip,再路由至主机网络

弹性IP#

  • 弹性IP基于NAT,将一个网络的IP地址转换成另一个网络的IP地址,可将对公网的访问直接关联到内部私有的云主机IP

端口转发#

  • 基于VPC路由提供的三层转发服务,可以将指定公网ip+端口转发到云主机对应协议的端口上

负载均衡#

  • 将VIP的访问流量分发到后端服务器上,自动检测隔离不可用的后端服务器,提高业务的服务能力和可用性
  • 性能共享型:通过VPC路由器提供负载均衡服务,访问流量经由VPC路由器分发给后端服务器。当VPC路由器上承载多业务运行,负载均衡服务需与其他业务共享VPC路由器性能
  • 性能独享型:通过负载均衡实例提供负载均衡服务,访问流量经由负载均衡实例分发给后端服务器。负载实例是一个定制的云主机,负载均衡服务独享该实例性能。