vmware虚拟交换机二层详解

1、背景介绍

实验室进了一批新设备,计划用vmware搭建集群,使用华为S5700三层交换机将管理与业务网分离,架构拓扑以下:
vmware虚拟交换机二层详解
物理交换机的1--12口为管理口,端口类型为access,pvid为10;物理交换机13--20口为业务口,端口类型为trunk,pvid为20;21--24口为物理交换机上联接口,网关位于三层交换机的vlanif接口上 网络

2、问题描述

配置完成后,管理网络通讯正常,但此时发现业务网络通讯异常,问题以下:
规划业务口走vlan20,因此,在业务的虚拟交换机端口组上给的VID是20
vmware虚拟交换机二层详解
业务口上联至物理交换机的13口,链路状态是TRUNK,物理接口配置以下:
vmware虚拟交换机二层详解
业务网络的网关在物理交换机的vlanif20口上
vmware虚拟交换机二层详解
此时发现,这么配置后VM无法ping通网关,若是把虚拟交换机端口组的VID改为0或者4095,VM均可以ping通网关 架构

3、问题定位

仔细观察虚拟交换机,发现数据包从vm出来后2次通过了虚拟交换机,并非以前觉得的1次,标记1处的vid能够在端口组上设置,标记2处的端口类型与pvid在vmware产品中有默认设置,不容许用户修改
vmware虚拟交换机二层详解
经过实践得出结论,标记处2的端口类型为trunk,且trunk pvid为1,此时的数据报文传输以下图所示:
vmware虚拟交换机二层详解
此时入方向的二层传输路径为: ide

  1. vm发出纯以太网帧
  2. 进入虚拟交换机时,打上tag20
  3. 离开虚拟交换机时,trunk容许报文带tag20经过
  4. 进入物理交换机时,trunk容许报文带tag20进入交换模块

此时报文已经进入物理交换机的内部,数据在返回时二层传输路径为: 3d

  1. 此时报文在物理交换机内部tag为20,且物理交换机trunk口的pvid也为20,因此报文在离开物理交换机端口时剥离tag,以纯以太网帧离开物理交换机
  2. 进入虚拟交换机时,打上trunk口的pvid,此时tag为1
  3. 但vm链接虚拟交换机的端口组tag为20,因此不通

4、解决方法

在明白了问题点后,按照上面数据报文的流通过程,就能解释出为何将虚拟交换机端口组(标签1)处的vid设置为0或者4095能够正常通讯,而根据规划,业务网络的vid为20,此时只须要将物理交换机trunk口的pvid改成1,就能够正常通讯,具体的通讯过程为:
vmware虚拟交换机二层详解 blog

  1. vm发出纯以太网帧
  2. 通过虚拟交换机端口组时,打上tag20
  3. 携带tag20离开虚拟交换机trunk端口
  4. 携带tag20进入物理交换机内部
  5. 携带tag20离开物理交换机trunk端口
  6. 携带tag20经过虚拟交换机trunk端口,进入交换模块
  7. 离开虚拟交换机access端口时,剥离tag20,以纯以太网帧送往vm

5、总结

经过上述特征,能够得出如下几个结论: 接口

  1. 全部进入交换机内部的报文都是携带tag的
  2. vmware虚拟交换机的上行口尽管不能配置,端口类型为trunk,且pvid为1,容许全部vlan经过
  3. 虚拟交换机的端口组vid为0时,端口类型为access,pvid为1;vid为4095时,端口类型为trunk,pvid为1,且容许全部vlan经过(vid4095以前有文章介绍,此处再也不赘述)

vmware虚拟交换机二层详解

相关文章
相关标签/搜索