NVMMAC介绍

NVMMAC是一种在数据中心网络中广泛应用的MAC层协议,主要用于解决网络虚拟化中的多租户隔离及流量管控问题。下面将就NVMMAC从不同角度进行详细介绍。

一、NVMMAC的概述

NVMMAC是由NVIDIA公司开发的一种MAC层协议,全称为NVIDIA Virtual Machine Multi-tenant Access Control (NVMMAC)。它可以在物理网络基础设施上实现网络虚拟化,为多个租户提供隔离的网络接入,以及流量管控手段。其基本思想是通过在MAC层引入租户ID和虚拟机ID两个标识符,实现不同租户和虚拟机之间的隔离。

NVMMAC的核心特点有:

1、通过采用基于硬件的方式实现,可以大幅度减轻虚拟化方案中的软件开销,提高网络虚拟化的性能。

2、在保证隔离性的前提下,NVMMAC允许不同租户之间的流量进行动态切换,从而提供更灵活的网络接入方式。

3、NVMMAC支持不同虚拟机之间直接通信,可以大幅度提升网络通信的效率。

二、NVMMAC的核心机制

NVMMAC主要通过以下几个机制实现租户隔离、流量管控等目标:

1、租户ID和虚拟机ID的标识:NVMMAC使用租户ID和虚拟机ID两个标识符,为不同租户和虚拟机之间进行区分。其中,租户ID用作源MAC地址,虚拟机ID用作目的MAC地址,从而实现真正意义上的多租户隔离。


#define     NVMT_ADDR_LEN       6
#define     ETH_ALEN            6

/* Second group of MAC addresses for non IPv4 packets */
#define     NVMMAC_HOST_IPV4_NOS_ADDR       {0xff,0xff,0xff,0xff,0xff,0xff}
#define     NVMMAC_ALL_VMS_IN_TENANT_ADDR   {0x01,0x00,0x5e,0x40,0xf5,0x00}
#define     NVMMAC_ALL_VMS_ADDR             {0x01,0x00,0x5e,0x00,0x00,0x00}

2、租户VLAN的支持:NVMMAC支持基于VLAN的租户划分方式,该方式可以提供更加灵活的虚拟网络划分,从而实现更加细粒度的隔离。同时,租户VLAN方式还支持高速发现和故障处理功能。


NVMMAC_VLAN_INGRESS_BYPASS_VLAN        = 0x4000,
NVMMAC_VLAN_INGRESS_STRIP_VLAN_4B,
NVMMAC_VLAN_INGRESS_SWAP_MAC,
NVMMAC_VLAN_INGRESS_ETHERTYPE_ACL,
NVMMAC_VLAN_INGRESS_MAC_ACL,
NVMMAC_VLAN_INGRESS_IP_ACL,
NVMMAC_VLAN_INGRESS_UDP_ACL,
NVMMAC_VLAN_INGRESS_TCP_ACL,
NVMMAC_VLAN_INGRESS_VLAN_ACL,
NVMMAC_VLAN_INGRESS_IP_FIXUP_L4,

3、租户流量管控机制:NVMMAC采用基于硬件的流量管控机制,主要包括最大速率、流量限制以及优先级等功能,可以为不同租户提供灵活的流量管控机制。


#define     PACKET_MAX_SIZE 9296

struct nvm_reg_packet_size {
    volatile u32   PACKET_SIZE:13;
    volatile u32   RESERVED:3;
    volatile u32   UPDATE:1;
    volatile u32   EN:1;
    volatile u32   MAX:1;
    volatile u32   BUSY:1;
    volatile u32   IP_VERSION:1;
    volatile u32   RSV0:3;
    volatile u32   PRIO:3;
    volatile u32   FLOW_ID:6;
    volatile u32   RSV1:46;
} __packed;

三、NVMMAC在数据中心网络中的应用

NVMMAC广泛应用在数据中心网络中,具有如下优点:

1、提供高效的网络接入方式:NVMMAC可以为不同租户提供动态切换的网络接入方式,从而更好地满足用户需求。

2、提供多种流量管控手段:NVMMAC支持最大速率、流量限制以及优先级等多种流量管控手段,可以灵活满足用户需求。

3、提高网络通信效率:NVMMAC支持不同虚拟机之间直接通信,可以提高网络通信的效率,同时减少网络负载。

四、总结

NVMMAC作为一种高效的MAC层协议,在网络虚拟化方案中具有广泛的应用前景。通过使用租户ID和虚拟机ID两个标识符、租户VLAN以及流量管控等多种机制,NVMMAC可以为多个租户提供隔离的网络接入、灵活的流量管控手段、高效的网络通信效率等多种功能。相信随着数据中心网络的不断发展和完善,NVMMAC在网络虚拟化中的应用将会愈发广泛、深入。

原创文章,作者:CRMBY,如若转载,请注明出处:https://www.506064.com/n/369385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CRMBYCRMBY
上一篇 2025-04-12 13:01
下一篇 2025-04-12 13:01

发表回复

登录后才能评论