如何构建虚拟机网络?

描述

在前面的文章中,我们已经把宏观物理网络的架构大致讲清楚了:

骨干网的那点事

IP城域网究竟是个什么网?

数据中心网络架构是怎样的?)

家庭设备是如何接入网络的?

手机上网的物理链路是怎样的?

同时,物理服务器的宿主系统Linux基础网络也进行了介绍:

Linux基础网络是怎样的?

Linux网络设备:Linux Bridge

Linux网络设备:Open vSwitch

后面我们将讨论: 微观虚拟网络:虚拟机网络和容器网络。 本文将探讨虚拟机网络是如何构建的?

我们知道,现在物理服务器性能强劲,一个物理服务器可以数十个虚拟机,这些虚拟机之间必然需要通信,即要通信必然需要网络。此时,就需要进行虚拟机网络的构建了。

一、虚实相通,先看物理服务器网络如何构建?

物理服务器之间要进行通信,通常情况下,可以将其连接到物理交换机上。

MAC地址表

物理服务器之间的数据包通过交换机进行转发,那么如何转发呢?MAC地址表。

A发送数据包到C,通过查询MAC地址表可知,数据包从交换机的3号口转发。

MAC地址表

说明:起初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。

多个交换机进行互联:

MAC地址表

MAC地址表

二、虚实相通,再来看虚拟机网络如何构建?

将红色框的部分看成一个物理服务器,那么,一个物理服务器中包含了交换机和虚拟机。交换机上存在不同的VLAN Tag,不同的用户使用不同的VLAN Tag,以隔离不同的网络。

MAC地址表

通常将这里的VLAN Tag称为 Local VLAN ,只在本物理服务器内部有效。

如果一个用户在不同服务器申请了多个虚拟机,那么不同服务器的 Local VLAN Tag可能是不同的 。Local VLAN Tag在出入物理服务器时,会进行Local VLAN和外部VLANID(VxLANID)的转换。

三、开源软件是如何实现虚拟机网络的?

物理服务器内的虚拟交换机通常使用Open vSwitch。

MAC地址表

有关Open vSwitch的详细介绍,可以阅读文章:

初识Open vSwitch:基础与原理

认识Open vSwitch

Open vSwitch基础命令

Linux网络设备:Open vSwitch

在虚拟机网络中,通常把物理交换机看成一朵云。

MAC地址表

通常在物理服务器之间打上VxLAN隧道,这样物理网络就是一朵云了。

MAC地址表

关注的重点在于是虚拟机之间如何进行通信?

本质上虚拟机网络就是接入逻辑交换机下的二层网络。

MAC地址表

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分