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