1、IOChain 

      vSphere ESXi的IOChain是一个网络框架,无论使用vSphere标准交换机(VSS)还是vSphere分布式交换机
(VDS),它都可以将函数插入到网络数据路径中。IOChain是一组函数,提供端口和vSwitch之间的连接。一个端口根据与
vSwitch的方向有两个IOChain,一个输入和一个输出IOChain,这意味着集合中的每个端口都与它相关联。

        IOChain中可选元素有VLAN支持、NIC组队和流量调整。查看ESXi网络IOChain中的高级组件,可以从端口组级别、vSwitch
(VSS或VDS)级别和上行链路(UPLINK)级别去分析。

1.1 端口组级别

        这是VLAN过滤器解释可选配置VLAN的地方,允许端口组使用VLAN 802.1q标记。混杂模式、MAC地址更改、伪传输
等安全设置也设置在端口组级别。用户还可以选择配置流量调整,使用VSS时只对出口调整,使用VDS时双向流量调整。

1.2 vSwitch (VSS或VDS)级别

        vSwitch级别的入方向报文通过转发引擎转发到目的地。Forwarding Engine包含端口信息和MAC地址信息
,它的工作是将流量发送到适当的目的地。该转发引擎可以是位于同一个ESXi主机上的虚拟交换机,也可以是一个物理交换机。

        Teaming Engine
负责在上行链路接口上均衡网络数据包。它的实现方式取决于用户选择的团队配置。端口组级别使能流量整形器模块时,IOChain中会加入流量整形器模块。

1.3 Uplink级别

        在这个级别上,从vSwitch发送到外部主机的流量找到它的驱动模块。这是所有硬件卸载发生的地方,
支持的硬件卸载特性强烈依赖于物理网卡与特定驱动模块的结合。通常支持的硬件卸载功能,在网卡中是TCP段卸载(TCP Segment Offload ,TSO)
,大接收卸载(Large Receive Offload ,LRO)或校验和卸载(Checksum Offload ,CSO)。NSX-v和NSX-T中使用的
VXLAN和Geneve等网络覆盖协议卸载在现代网卡上得到了广泛支持。

        除了硬件卸载之外,缓冲区机制在上行链路层也发挥了作用。也就是说,当处理大量网络数据包时,环缓冲区就会发挥作用。最后,比特传输到DMA
控制器上,由CPU和物理网卡处理,然后再传输到以太网结构。

2、Standard vSwitch

        下图是标准vSwitch网络的IOChain。

3、Distributed Switch

        vSphere VDS可以使多台ESXI主机进行通信,这些ESXi主机甚至可以被分组到多个集群上。VDS可以在企业许可模型中获得,也可以随
vSAN许可一起提供。它允许网络信息分布在所有成员ESXi主机上,从而在Sphere环境中提供网络配置一致性。

        VDS提供了广泛的功能集,用于质量控制功能,如网络I/O控制(NIOC)
、出入流量整形和流量监控选项等。除此之外,它还允许附加的Teaming选项,如LBT(负载平衡团队)和LACP(链路聚合控制协议)。下图是vSphere
分布式交换机的网络组件。

        对比VSS发现VDS多了DVfilter组件。DVfilter是一个可用于VDS和NSX的API框架。当NSX安装时,它会在vSphere
ESXi中引入额外的内核模块。ESXi shell上的

summarize-dvfilter

命令显示每个端口加载的DVfilter代理和过滤器。

        我们在Fastpaths, Slowpaths和Filters中识别DVfilter组件:

* Fastpaths—流量过滤器内核模块。
* Slowpaths——用于第三方集成。
* filter-过滤器放置在插槽为每个适用的vNIC。
        ESXi网络路径本质上是模块化的。IOChain函数和dvfilter都只在配置时添加到网络路径,以保持通信路径尽可能精简和平均。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信