发明内容
本发明实施例提供一种DCBX参数传输方法和设备,以实现在EVB网络中将DCBX参数传输给相应的VM,并由VM进行DCBX配置。
为了达到上述目的,本发明实施例提供一种数据中心桥接交换协议DCBX参数传输方法,应用于包括边缘交换机和服务器的边缘虚拟桥EVB网络中,所述服务器中包括有一个以上的虚拟机VM,该方法包括以下步骤:
所述服务器接收来自所述边缘交换机的携带DCBX参数的邻居信息,且所述邻居信息中包括用于表示所述DCBX参数对应的虚拟服务实例VSI接口的标识;
所述服务器确定所述VSI接口的标识所对应的VSI接口,且每个VSI接口对应于所述服务器中的VM;
所述服务器通过确定的VSI接口将所述邻居信息发送给对应的VM,由所述VM利用所述邻居信息中的DCBX参数进行DCBX配置。
所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;
所述服务器接收来自所述边缘交换机的携带DCBX参数的邻居信息之前,所述方法还包括:
所述边缘交换机确定所述服务器中的VM对应的DCBX参数,并确定所述VM对应的VSI接口;
所述边缘交换机在LLDP报文中添加所述VM对应的DCBX参数,并在所述LLDP报文的指定字段中添加用于表示所述VM对应的VSI接口的标识;
所述边缘交换机将修改后的LLDP报文发送给所述服务器。
所述LLDP报文的指定字段中携带的VSI接口的标识用于表示VM对应的S-Channel下的VSI接口。
对于预标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX控制CONTROL字段中增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识;
对于标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX类型长度值TLV字段之前增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识。
本发明实施例提供一种服务器,应用于包括边缘交换机和所述服务器的边缘虚拟桥EVB网络中,所述服务器中包括有一个以上的虚拟机VM,所述服务器具体包括:
接收模块,用于接收来自所述边缘交换机的携带数据中心桥接交换协议DCBX参数的邻居信息,且所述邻居信息中包括用于表示所述DCBX参数对应的虚拟服务实例VSI接口的标识;
确定模块,用于确定所述VSI接口的标识所对应的VSI接口,且每个VSI接口对应于所述服务器中的VM;
发送模块,用于通过确定的VSI接口将所述邻居信息发送给对应的VM,由所述VM利用所述邻居信息中的DCBX参数进行DCBX配置。
所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中,所述LLDP报文的指定字段中携带的VSI接口的标识用于表示VM对应的S-Channel下的VSI接口。
所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中:
对于预标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX控制CONTROL字段中增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识;
对于标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX类型长度值TLV字段之前增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识。
本发明实施例提供一种边缘交换机,应用于包括所述边缘交换机和服务器的边缘虚拟桥EVB网络中,所述服务器中包括有一个以上的虚拟机VM,所述边缘交换机具体包括:
确定模块,用于确定所述服务器中的VM对应的数据中心桥接交换协议DCBX参数,并确定所述VM对应的虚拟服务实例VSI接口;
处理模块,用于在邻居信息中添加所述VM对应的DCBX参数,并在所述邻居信息中添加用于表示所述VM对应的VSI接口的标识;其中,每个VSI接口对应于所述服务器中的VM;
发送模块,用于将所述邻居信息发送给所述服务器,由所述服务器确定所述邻居信息中携带的VSI接口的标识所对应的VSI接口,并通过确定的VSI接口将所述邻居信息发送给对应的VM,由所述VM利用所述邻居信息中的DCBX参数进行DCBX配置。
所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中,所述LLDP报文的指定字段中携带的VSI接口的标识用于表示VM对应的S-Channel下的VSI接口。
所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中:
对于预标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX控制CONTROL字段中增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识;
对于标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX类型长度值TLV字段之前增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,边缘交换机只需要通过一个物理端口发送针对不同VM的携带有不同DCBX参数的LLDP报文,即可实现对同一服务器的不同VM进行控制;进一步的,通过在LLDP报文的指定字段中携带用于表示DCBX参数对应的VSI(VirtualSwitch Instance,虚拟服务实例)接口的标识,使得服务器能够通过相应的VSI接口将携带DCBX参数的LLDP报文发送给对应的VM,从而实现在EVB网络中将DCBX参数传输给相应的VM,并由VM进行DCBX配置。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种DCBX参数(如:ETS的优先级组、是否支持以及使能PFC等参数)传输方法,该方法应用于包括边缘交换机和服务器的EVB网络(如采用EVB技术的数据中心网络)中;其中,该服务器中包括有一个以上的VM,且该边缘交换机用于对服务器中的一个以上的VM进行DCBX配置。
如图2所示,为本发明实施例的应用场景示意图,服务器中包括有VM1、VM2、VM3和VM4,边缘交换机的物理端口1与服务器的物理端口2之间存在3个S-Channel(S-Channel为边缘交换机与服务器之间的通道),其分别为S-Channel1、S-Channel2和S-Channel3。此外,在EVB网络中,每个VSI接口对应于服务器中的VM,如VSI接口1对应于VM1,VSI接口2对应于VM2,VSI接口3对应于VM3和VM4;进一步的,每个VSI接口为S-Channel下的VSI接口,如VSI接口1为S-Channel1下的VSI接口1,VSI接口2为S-Channel1下的VSI接口2,VSI接口2为S-Channel2下的VSI接口3。
在上述应用场景下,如图3所示,该方法包括以下步骤:
步骤301,边缘交换机确定服务器中的VM对应的DCBX参数,并确定该VM所对应的VSI接口(即S-Channel下的VSI接口)。
在图2所示的应用场景下,边缘交换机确定VM1对应的DCBX参数为DCBX参数1,并进一步确定该VM1所对应的VSI接口为S-Channel1下的VSI接口1;此外,边缘交换机确定VM2对应的DCBX参数为DCBX参数2,并进一步确定该VM2所对应的VSI接口为S-Channel1下的VSI接口2;此外,边缘交换机确定VM3对应的DCBX参数为DCBX参数3,并进一步确定该VM3所对应的VSI接口为S-Channel2下的VSI接口3。
步骤302,边缘交换机在邻居信息中添加VM对应的DCBX参数,并在邻居信息中添加用于表示VM对应VSI接口的标识;在一种优选实施方式中,该邻居信息携带于边缘交换机向服务器发送的LLDP报文中,且该LLDP报文的指定字段中携带有用于表示DCBX参数对应的VSI接口的标识,即LLDP报文的指定字段中携带的VSI接口的标识用于表示VM对应的S-Channel下的VSI接口。
本发明实施例中,边缘交换机和服务器上均会配置指定字段中的标识与VSI接口(S-Channel下的VSI接口)之间的对应关系;在图2所示的应用场景下,配置指定字段中的标识为1时,VSI接口为S-Channel1下的VSI接口1,配置指定字段中的标识为2时,VSI接口为S-Channel1下的VSI接口2,配置指定字段中的标识为3时,VSI接口为S-Channel2下的VSI接口3。
基于此,边缘交换机在确定VM1对应的DCBX参数为DCBX参数1,并确定该VM1所对应的VSI接口为S-Channel1下的VSI接口1时,在LLDP报文1中添加VM1对应的DCBX参数1,并在LLDP报文1的指定字段中添加标识1(标识1用于表示S-Channel1下的VSI接口1);边缘交换机在确定VM2对应的DCBX参数为DCBX参数2,并确定该VM2所对应的VSI接口为S-Channel1下的VSI接口2时,在LLDP报文2中添加VM2对应的DCBX参数2,并在LLDP报文2的指定字段中添加标识2(标识2用于表示S-Channel1下的VSI接口2);边缘交换机确定VM3对应的DCBX参数为DCBX参数3,并确定该VM3所对应的VSI接口为S-Channel2下的VSI接口3时,在LLDP报文3中添加VM3对应的DCBX参数3,并在LLDP报文3的指定字段中添加标识3(标识3用于表示S-Channel2下的VSI接口3)。
目前携带DCBX参数的LLDP报文分为预标准版本的携带DCBX参数的LLDP报文以及标准版本的携带DCBX参数的LLDP报文,考虑到兼容性,本发明实施例中对指定字段(可以称为SC_ID字段)的设计如下所示:
(1)对于预标准版本的携带DCBX参数的LLDP报文的设计方式,可以在LLDP报文的DCBX CONTROL(控制)字段中增加指定字段,以通过该指定字段携带用于表示DCBX参数对应的S-Channel下的VSI接口的标识。
具体的,目前在预标准版本的携带DCBX参数的LLDP报文中,对于LLDP报文中的DCBX CONTROL字段,Oper_ver字段和Max_ver字段各占8bits,分别用于表示目前的版本号和最大版本号。本发明实施例中,考虑到标准版本的携带DCBX参数的LLDP报文中已经去掉了DCBX CONTROL字段,使得Oper_ver字段和Max_ver字段后续的延展性不大,因此将Oper_ver字段和Max_ver字段均修改为4bits,并增加指定字段(可以称为SC_ID字段)为8bits,该指定字段携带用于表示DCBX参数对应的S-Channel下的VSI接口的标识,其8bits的长度最多可以支持256个不同S-Channel下的VSI接口的标识。
如图4所示,为在预标准版本的携带DCBX参数的LLDP报文中,一种增加了指定字段的DCBX CONTROL字段的格式示意图。
(2)对于标准版本的携带DCBX参数的LLDP报文的设计方式,可以在LLDP报文的DCBX TLV(类型长度值)字段之前增加指定字段,以通过该指定字段携带用于表示DCBX参数对应的S-Channel下的VSI接口的标识。
如图5所示,为在标准版本的携带DCBX参数的LLDP报文中,增加了指定字段的格式示意图,其通过在DCBX TLV字段之前增加8bits的指定字段,使该指定字段携带用于表示DCBX参数对应的S-Channel下的VSI接口的标识,其8bits的长度最多可以支持256个不同S-Channel下的VSI接口的标识。
步骤303,边缘交换机通过物理端口将修改后的LLDP报文发送给服务器。其中,该修改后的LLDP报文中携带VM对应的DCBX参数,且该LLDP报文的指定字段中携带有用于表示DCBX参数对应的VSI接口的标识。
本发明实施例中,通过对边缘交换机的物理端口进行扩展,使得该物理端口支持发送携带有不同DCBX参数的LLDP报文到服务器的物理端口,以实现边缘交换机的一个物理端口对服务器的多个VM进行DCBX配置。
在图2所示的应用场景下,边缘交换机可以通过物理端口1将LLDP报文1(该LLDP报文1中可以携带VM1对应的DCBX参数1以及用于表示S-Channel1下的VSI接口1的标识1)发送给服务器(即发送到服务器的物理端口2上);和/或,边缘交换机可以通过物理端口1将LLDP报文2(该LLDP报文2中可以携带VM2对应的DCBX参数2以及用于表示S-Channel1下的VSI接口2的标识2)发送给服务器(即发送到服务器的物理端口2上);和/或,边缘交换机可以通过物理端口1将LLDP报文3(该LLDP报文3中可以携带VM3对应的DCBX参数3以及用于表示S-Channel2下的VSI接口3的标识3)发送给服务器(即发送到服务器的物理端口2上)。
步骤304,服务器在收到来自边缘交换机的LLDP报文(LLDP报文中携带DCBX参数,且LLDP报文的指定字段中携带有用于表示DCBX参数对应的VSI接口的标识)后,确定该LLDP报文的指定字段中携带的标识所对应的VSI接口,并通过确定的VSI接口将LLDP报文发送给对应的VM,由VM利用该LLDP报文中携带的DCBX参数进行DCBX配置。
本发明实施例的一种具体实现方式中,服务器可以通过该VSI接口对应的VEB(Virtual Ethernet Bridge,虚拟以太网网桥)或者VEPA(Virtual EthernetPort Aggregator,虚拟以太网端口汇聚器)将该LLDP报文发送给对应的VM,之后由该VM利用该LLDP报文中携带的DCBX参数进行DCBX配置。
本发明实施例中,通过对服务器的物理端口进行扩展,使得服务器在从物理端口收到携带DCBX参数的LLDP报文时,可以对LLDP报文的指定字段中所携带的标识进行检查判断,以确定该LLDP报文的指定字段中携带的标识所对应的VSI接口;在确定到相应的VSI接口时,通过该VSI接口将该LLDP报文发送给对应的VM;在没有确定到相应的VSI接口时,丢弃该LLDP报文;从而提供能够适用于EVB网络的DCBX参数传输方式。
在图2所示的应用场景下,服务器通过物理端口2收到LLDP报文1(LLDP报文1中携带VM1对应的DCBX参数1和用于表示S-Channel1下的VSI接口1的标识1),确定LLDP报文1的指定字段中携带的标识1所对应的VSI接口为S-Channel1下的VSI接口1,并通过S-Channel1下的VSI接口1将LLDP报文1发送给VM1,由VM1利用LLDP报文1中的DCBX参数1进行DCBX配置;服务器通过物理端口2收到LLDP报文2(LLDP报文2中携带VM2对应的DCBX参数2和用于表示S-Channel1下的VSI接口2的标识2),确定LLDP报文2的指定字段中携带的标识2所对应的VSI接口为S-Channel1下的VSI接口2,并通过S-Channel1下的VSI接口2将LLDP报文2发送给VM2,由VM2利用LLDP报文2中的DCBX参数2进行DCBX配置;服务器通过物理端口2收到LLDP报文3(LLDP报文3中携带VM3对应的DCBX参数3和用于表示S-Channel2下的VSI接口3的标识3),确定LLDP报文3的指定字段中携带的标识3所对应的VSI接口为S-Channel2下的VSI接口3,并通过S-Channel2下的VSI接口3将LLDP报文3发送给VM3和VM4,由VM3利用LLDP报文3中的DCBX参数3进行DCBX配置。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种服务器,应用于包括边缘交换机和所述服务器的边缘虚拟桥EVB网络中,所述服务器中包括有一个以上的虚拟机VM,如图6所示,所述服务器具体包括:
接收模块11,用于接收来自所述边缘交换机的携带数据中心桥接交换协议DCBX参数的邻居信息,且所述邻居信息中包括用于表示所述DCBX参数对应的虚拟服务实例VSI接口的标识;
确定模块12,用于确定所述VSI接口的标识所对应的VSI接口,且每个VSI接口对应于所述服务器中的VM;
发送模块13,用于通过确定的VSI接口将所述邻居信息发送给对应的VM,由所述VM利用所述邻居信息中的DCBX参数进行DCBX配置。
本发明实施例中,所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中,所述LLDP报文的指定字段中携带的VSI接口的标识用于表示VM对应的S-Channel下的VSI接口。
本发明实施例中,所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中:
对于预标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX控制CONTROL字段中增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识;
对于标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX类型长度值TLV字段之前增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种边缘交换机,应用于包括所述边缘交换机和服务器的边缘虚拟桥EVB网络中,所述服务器中包括有一个以上的虚拟机VM,如图7所示,所述边缘交换机包括:
确定模块21,用于确定所述服务器中的VM对应的数据中心桥接交换协议DCBX参数,并确定所述VM对应的虚拟服务实例VSI接口;
处理模块22,用于在邻居信息中添加所述VM对应的DCBX参数,并在所述邻居信息中添加用于表示所述VM对应的VSI接口的标识;其中,每个VSI接口对应于所述服务器中的VM;
发送模块23,用于将所述邻居信息发送给所述服务器,由所述服务器确定所述邻居信息中携带的VSI接口的标识所对应的VSI接口,并通过确定的VSI接口将所述邻居信息发送给对应的VM,由所述VM利用所述邻居信息中的DCBX参数进行DCBX配置。
本发明实施例中,所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中,所述LLDP报文的指定字段中携带的VSI接口的标识用于表示VM对应的S-Channel下的VSI接口。
本发明实施例中,所述邻居信息携带于所述边缘交换机发送的链路层发现协议LLDP报文中,且所述LLDP报文的指定字段中携带有所述用于表示所述DCBX参数对应的VSI接口的标识;其中:
对于预标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX控制CONTROL字段中增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识;
对于标准版本的携带DCBX参数的LLDP报文,在所述LLDP报文的DCBX类型长度值TLV字段之前增加所述指定字段,以通过所述指定字段携带用于表示所述DCBX参数对应的VSI接口的标识。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。