【虚拟网络类型】
·Local
本地的Linux Bridge,除了虚拟机的网卡,不连接其他的网络设备,实际场景使用较少。
·Flat
不带vlan tag的网络,相当于local网络的Linux Bridge连接到一个物理网卡,该网络中的instance可以于网络中的instance通信。
所有的租户都在同一个网络内,没有进行网络隔离,容易产生广播风暴。
可以跨节点,实际场景也较少。
neutron net-create NAME --provider:network_type flat \ --provider:physical_network PHYS_NET_NAME |
·VLAN
基于物理Vlan网络实现,共享同一个物理网络的多个Vlan网络是相互隔离的,甚至可以使用重叠的IP空间。
每个支持VLAN network的物理网络可以被视为一个分离的VLAN trunk,使用一组独占的vlan id。(有效段为1~4096)
私有云网络应用较多。
neutron net-create NAME --provider:network_type vlan \ --provider:physical_network PHYS_NET_NAME \ --provider:segmentation_id VID |
·VXLAN
基于隧道技术的 overlay 网络,通过唯一的 VNI 区分于其他的 vxlan 网络,不和具体的物理网络绑定。
在 vxlan 中,数据包通过 VNI 封装成UDP包进行传输,因为二层的包通过封装在三层传输,能够克服vlan和物理网络基础设施的限制。
neutron net-create NAME --provider:network_type vxlan \ --provider:segmentation_id TUNNEL_ID |
·GRE
与vxlan类似的一种overlay网络,使用IP包进行封装。
GRE 封装的数据包基于 IP 路由表来进行路由,因此 GRE network 不和具体的物理网络绑定。(基于隧道)
neutron net-create NAME --provider:network_type gre \ --provider:segmentation_id TUNNEL_ID |
【虚拟网络类型特点以及应用场景】
模式 | 原理 | 优点 | 缺点 |
vlan | 划分vlan,使用vlan_id隔离广播域 | 适合小规模网络部署 | 必须和物理交换机的vlan_id绑定,最多只能有4096个 |
GRE | 和vlan模式不同的.是vlan id 会被转换成gre id,外面在封IP.通过隧道转发出去. 2层的包,通过IP来转发.物理层的3层通信,虚拟上的2层通信. | gre id 可以有1600W个 没有mac地址表过大的问题,物理交换机,只需要记住一个eth0的mac地址 3层网络的通信 | 两个阶段需要建隧道,方案不成熟 |
VXLAN | 相比较于gre,不使用隧道 本质: 2层的包+封装vxlan id + 组播地址+ + udp报头 + ip 报头+数据包 | 不需要建隧道,使用udp 方便的安全策略 和gre id一样,也有1600W可以使用 |
|