在前面的文章中,我们已经把宏观物理网络的架构大致讲清楚了:
骨干网的那点事
IP城域网究竟是个什么网?
数据中心网络架构是怎样的?)
家庭设备是如何接入网络的?
手机上网的物理链路是怎样的?
同时,物理服务器的宿主系统Linux基础网络也进行了介绍:
Linux基础网络是怎样的?
Linux网络设备:Linux Bridge
Linux网络设备:Open vSwitch
后面我们将讨论: 微观虚拟网络:虚拟机网络和容器网络。 本文将探讨虚拟机网络是如何构建的?
我们知道,现在物理服务器性能强劲,一个物理服务器可以数十个虚拟机,这些虚拟机之间必然需要通信,即要通信必然需要网络。此时,就需要进行虚拟机网络的构建了。
一、虚实相通,先看物理服务器网络如何构建?
物理服务器之间要进行通信,通常情况下,可以将其连接到物理交换机上。
物理服务器之间的数据包通过交换机进行转发,那么如何转发呢?MAC地址表。
A发送数据包到C,通过查询MAC地址表可知,数据包从交换机的3号口转发。
说明:起初MAC地址表是空的,A发出未知单播包,交换机记录macA和端口的映射关系;交换机转发数据包到所有的端口,端口3发现自己连接的物理服务器macC,则将macC和端口记录到MAC地址表中。
注意到,MAC地址表含有VLAN字段。对于支持VLAN的交换机来说,交换机端口分成: Access、Trunk和Hybrid 。
Access: 以太帧从access口进入交换机时会打上VLAN TAG,从access口出去时,交换机去除VLAN TAG;access只属于一个VLAN;
Trunk: 以太帧带VLAN TAG进行传输,trunk口可同时传输多个VLAN;
Hybrid: 具有trunk和access两种端口的特点,tag类似trunk,untag类似access。
多个交换机进行互联:
二、虚实相通,再来看虚拟机网络如何构建?
将红色框的部分看成一个物理服务器,那么,一个物理服务器中包含了交换机和虚拟机。交换机上存在不同的VLAN Tag,不同的用户使用不同的VLAN Tag,以隔离不同的网络。
通常将这里的VLAN Tag称为 Local VLAN ,只在本物理服务器内部有效。
如果一个用户在不同服务器申请了多个虚拟机,那么不同服务器的 Local VLAN Tag可能是不同的 。Local VLAN Tag在出入物理服务器时,会进行Local VLAN和外部VLANID(VxLANID)的转换。
三、开源软件是如何实现虚拟机网络的?
物理服务器内的虚拟交换机通常使用Open vSwitch。
有关Open vSwitch的详细介绍,可以阅读文章:
初识Open vSwitch:基础与原理
认识Open vSwitch
Open vSwitch基础命令
Linux网络设备:Open vSwitch
在虚拟机网络中,通常把物理交换机看成一朵云。
通常在物理服务器之间打上VxLAN隧道,这样物理网络就是一朵云了。
关注的重点在于是虚拟机之间如何进行通信?
本质上虚拟机网络就是接入逻辑交换机下的二层网络。
-
交换机
+关注
关注
20文章
2615浏览量
99179 -
MAC地址表
+关注
关注
0文章
3浏览量
5597 -
端口
+关注
关注
4文章
952浏览量
31998
发布评论请先 登录
相关推荐
评论