虚拟化系统中的报文处理方法及装置制造方法
【专利摘要】本申请公开了一种虚拟化系统中的报文处理方法及装置,其中,该方法中包括:vSwitch接收到VM通过该VM对应的一VF发来的UNTAG数据报文,其中,该UNTAG数据报文中没有携带该VM的VLAN?ID;vSwitch根据该VF查找到对应的标记VLAN,将查找到的标记VLAN的VLAN?ID添加到该UNTAG数据报文中,得到802.1Q报文;其中,VF与标记VLAN一一对应;vSwitch将携带有标记VLAN的VLAN?ID的802.1Q报文发送给本物理服务器直连的接入交换机。本申请中可以使用普通网卡,即通用的SR-IOV?NIC作为PE,节省了成本,而且,互通性好,可以广泛应用。
【专利说明】虚拟化系统中的报文处理方法及装置
【技术领域】
[0001]本申请涉及虚拟化【技术领域】,特别涉及一种虚拟化系统中的报文处理方法及装置。
【背景技术】
[0002]PE (Port Extender,端口扩展器)技术是通过 PE 为 CB (Control Bridge,控制桥)提供端口扩展的作用,使得网络实现多级的扩展。
[0003]在现有的PE技术中,主要有802.1Qbg定义的Multichannel (多通道)/S_Channel(服务商通道)模式的PE、802.1BR定义的PE以及Cisco (思科)VN-TAG (VirtualNetwork-TAG,虚拟网络标签)私有技术定义的PE。下面对这三种方案分别加以介绍。
[0004]1、802.IQbg 定义的 Multichannel/S-Channel 模式的 PE
[0005]在这种方案中,CB-PE架构中主要包括:物理服务器及其直连的物理交换机,该物理服务器中包括:虚拟机(Virtual Machine, VM)、与VM连接的VEB (Virtual EthernetBridge,虚拟以太网网桥)和 / 或 VEPA (Virtual Ethernet Port Aggregator,虚拟以太网端口聚合器)、与VEB和/或VEPA连接的S-component (S组件);该物理交换机中包括:S-component。物理服务器中的S-component与物理交换机中的S-component之间通过S-Channel连接。其中,物理交换机作为CB,物理服务器中的S-component+VEB或VEPA作为PE0
[0006]在该种方案中,S-Channel转发的数据报文不是普通的数据报文,而是一种QinQ(堆叠VLAN (Stacked VLAN)或双层VLAN (Double VLAN))封装的数据报文,S卩,在这种数据报文中,在802.1Q中定义标准以太网报文的基础上又增加了 I层VLAN标签。因此,存在以下问题:(I)要求PE支持QinQ数据报文的封装和转发,普通的网卡不能作为PE使用;(2)能够作为PE的网卡必须在硬件上支持QinQ封装和进行Tunnel (隧道)的终结功能,造价比较昂贵。
[0007]2、802.1BR 定义的 PE
[0008]这种方案是一种硬件扩展。CB-PE架构中主要包括:扩展桥(Extended Bridge)和终端(End Station,也称为主机或服务器),扩展桥中包括:CB和外部PE(External BridgePE),CB通过CB内部的内部PE (Internal Bridge PE)与外部PE连接,外部PE可以连接多个终端或外部PE。在该架构中,CB是CB-PE架构中唯一具备网络交换功能的设备,而PE并不具备独立网络功能。
[0009]在该种方案中,传输的数据报文在802.1Q中定义标准以太网报文的基础上又增加了一个6字节E-TAG字段,因此,存在以下问题:(I)要求PE支持包含有E-TAG字段的数据报文的封装和转发,普通的网卡不能作为PE使用;(2)能够作为PE的网卡必须在硬件上支持E-TAG封装和进行Tunnel的终结功能,造价比较昂贵。
[0010]3、Cisco VN-TAG私有技术定义的PE
[0011]这种方案是一种硬件扩展。CB-PE架构中主要包括:物理交换机和物理服务器,每一个服务器上有一个NIC (网络接口卡),一个交换机连接多个NIC。其中,物理交换机作为CB, NIC 作为 PE0
[0012]在该种方案中,传输的数据报文在802.1Q中定义标准以太网报文的基础上又增加了一个4字节VN-TAG字段,因此,存在以下问题:(I)要求PE支持包含有VN-TAG字段的数据报文的封装和转发,普通的网卡不能作为PE使用;(2)能够作为PE的网卡必须在硬件上支持VN-TAG封装和进行Tunnel的终结功能,造价比较昂贵。
[0013]综上,现有技术的PE实现方案中,由于传输的数据报文都是特殊修改的数据报文,S卩,在802.1Q中定义的报文基础上又增加了特殊字段,例如,增加了一层VLAN标签的QinQ报文、增加了 E-TAG字段的数据报文、增加了 VN-TAG字段的数据报文,因此,都不能使用普通网卡作为PE,而需要使用特殊的硬件网卡作为PE,不仅造价高昂,而且,互通性差,不能广泛应用。
【发明内容】
[0014]本申请提供了一种虚拟化系统中的报文处理方法及装置,旨在解决现有技术中存在的需要使用特殊的硬件网卡作为PE,从而造价高昂,互通性差,不能广泛应用的问题。
[0015]本申请的技术方案如下:
[0016]一方面,提供了一种虚拟化系统中的报文处理方法,该虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;物理服务器中包括:SR-10V NIC和至少一个VM,SR-1OV NIC中包括vSwitch和至少一个NIC的VF,VM通过VF连接至vSwitch ;该方法包括:
[0017]vSwitch接收到VM通过该VM对应的一 VF发来的UNTAG数据报文,其中,该UNTAG数据报文中没有携带该VM的VLAN ID ;
[0018]vSwitch根据该VF查找到对应的标记VLAN,将查找到的标记VLAN的VLAN ID添加到该UNTAG数据报文中,得到802.1Q报文;其中,VF与标记VLAN——对应;
[0019]vSwitch将携带有标记VLAN的VLAN ID的802.1Q报文发送给本物理服务器直连的接入交换机。
[0020]另一方面,还提供了一种虚拟化系统中的报文处理方法,该虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;接入交换机用于连接物理服务器的物理端口上包括至少一个vPort ;接入交换机还与其它物理交换机直连,接入交换机用于连接其它物理交换机的物理端口上包括至少一个vPort ;该方法包括:
[0021]接入交换机接收到特定报文;其中,接收到的特定报文是直连的物理服务器或其它物理交换机发来的802.1Q报文,或是直连的其它物理交换机发来的隧道报文;
[0022]当该特定报文是802.1Q报文时,接入交换机去除该802.1Q报文中携带的VLANID得到UNTAG数据报文,根据该VLAN ID查找到对应的vPort,根据该vPort查找到对应的VNI ;当该特定报文是隧道报文时,接入交换机去除该隧道报文中的overlay隧道的源IP地址和目的IP地址、VNI和VLAN ID,得到UNTAG数据报文;
[0023]若得到的UNTAG数据报文是单播报文,则接入交换机根据该VNI和该UNTAG数据报文的目的MAC地址,从本地的MAC转发表中查找到一个出接口信息;根据该出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到该UNTAG数据报文中发送出去;[0024]其中,对应VLAN是标记VLAN或业务VLAN。
[0025]又一方面,还提供了一种虚拟化系统中的报文处理装置,该虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;物理服务器中包括:SR-10V NIC和至少一个VM,SR-1OV NIC中包括vSwitch和至少一个NIC的VF,VM通过VF连接至vSwitch ;该装置应用于vSwitch中,该装置包括:
[0026]接收模块,用于接收VM通过该VM对应的一 VF发来的UNTAG数据报文,其中,该UNTAG数据报文中没有携带该VM的VLAN ID ;
[0027]查找模块,用于在接收模块接收到VM通过该VM对应的一 VF发来的UNTAG数据报文之后,根据该VF查找到对应的标记VLAN ;
[0028]处理模块,用于将查找模块查找到的标记VLAN的VLAN ID添加到接收模块接收到的UNTAG数据报文中,得到802.1Q报文;其中,VF与标记VLAN——对应;
[0029]发送模块,用于将处理模块得到的携带有标记VLAN的VLAN ID的802.1Q报文,发送给本物理服务器直连的接入交换机。
[0030]又一方面,还提供了一种虚拟化系统中的报文处理装置,该虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;接入交换机用于连接物理服务器的物理端口上包括至少一个vPort ;接入交换机还与其它物理交换机直连,接入交换机用于连接其它物理交换机的物理端口上包括至少一个vPort ;该装置应用于接入交换机中,该装置包括:
[0031]接收模块,用于接收特定报文;其中,接收到的特定报文是直连的物理服务器或其它物理交换机发来的802.1Q报文,或是直连的其它物理交换机发来的隧道报文;
[0032]去除模块,用于当接收模块接收到的特定报文是802.1Q报文时,去除该802.1Q报文中携带的VLAN ID得到UNTAG数据报文;还用于当接收模块接收到的特定报文是隧道报文时,去除该隧道报文中的overl`ay隧道的源IP地址和目的IP地址、VNI和VLAN ID,得到UNTAG数据报文;
[0033]查找模块,用于当接收模块接收到的特定报文是802.1Q报文时,根据该802.1Q报文中携带的VLAN ID查找到对应的vPort,根据该vPort查找到对应的VNI ;还用于若去除模块得到的UNTAG数据报文是单播报文,则根据该VNI和该UNTAG数据报文的目的MAC地址,从本地的MAC转发表中查找到一个出接口信息;
[0034]添加发送模块,用于若去除模块得到的UNTAG数据报文是单播报文,则根据查找模块从MAC转发表中查找到的出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到去除模块得到的UNTAG数据报文中发送出去;
[0035]其中,对应VLAN是标记VLAN或业务VLAN。
[0036]本申请的以上技术方案中,提供了一种新的虚拟化系统,该系统中包括:物理服务器和接入交换机。物理服务器中包括:至少一个VM和采用SR-1OV技术的网卡,称为SR-1OVNIC,该SR-1OV NIC中包括L2vSwitch和多个VF ;其中,VF与标记VLAN——对应;VM中安装有VF驱动,VM对应于至少一个VF。接入交换机用于连接物理服务器(具体为连接SR-1OVNIC)的物理端口上包括多个虚拟端口 vPort,这些vPort与标记VLAN——对应;而且,接入交换机还与其它物理交换机直连,接入交换机用于连接其它物理交换机的物理端口上包括
多个vPort,这些vPort与该其它物理交换机上的业务VLAN--对应;另外,交换机上还配
置有多个VNI,vPort与VNI具有绑定关系。[0037]在上述系统中,利用网卡虚拟化SR-1OV技术,将SR-1OV NIC作为PE,将接入交换机作为CB,构成了接入交换机+SR-1OV NIC组成的CB-PE架构。
[0038]VM发出的不携带VLAN ID的UNTAG数据报文,会通过一 VF到达L2vSwitch,L2vSwitch接收到该UNTAG数据报文后,根据该VF查找到对应的标记VLAN,将查找到的标记VLAN的VLAN ID添加到该UNTAG数据报文中,得到802.1Q报文,最后将该802.1Q报文发送给接入交换机。从而,作为PE的SR-1OV NIC发出的报文是标准的802.1Q报文,没有增加任何特殊字段。同样,作为CB的接入交换机发给作为PE的SR-1OV NIC的报文也是标准的802.1Q报文。从而,PE收发的报文是标准的802.1Q报文,可以使用普通网卡,即通用的SR-1OV NIC作为PE,节省了成本,而且,互通性好,可以广泛应用。
【专利附图】
【附图说明】
[0039]图1是本申请一实施例的虚拟化系统的结构示意图;
[0040]图2是本申请一实施例的缺省配置过程的流程图;
[0041]图3是本申请一实施例的针对实际业务的配置过程的流程图;
[0042]图4是本申请一实施例的VM发出的报文的处理流程图;
[0043]图5是本申请一实施例的接入交换机接收到普通交换机发来的报文时的处理流程图;
[0044]图6是本申请一实施例的物理服务器接收到接入交换机发来的报文时的处理流程图;
[0045]图7是本申请另一实施例的虚拟化系统中的物理服务器的简化示意图;
[0046]图8是本申请另一实施例的虚拟化系统中接入交换机连接如图7所示的物理服务器和普通交换机的示意图;
[0047]图9是本申请又一实施例的应用于SR-1OV NIC中的vSwitch中的报文处理装置的结构不意图;
[0048]图10是本申请又一实施例的应用于接入交换机中的报文处理装置的结构示意图。
【具体实施方式】
[0049]为了解决现有技术中存在的需要使用特殊的硬件网卡作为PE,从而造价高昂,互通性差,不能广泛应用的问题,本申请实施例中提供了一种虚拟化系统中的报文处理方法及装置。
[0050]本申请实施例应用于如图1所示的虚拟化系统中,该虚拟化系统形成了 CB-PE架构。在该系统中主要包括:物理服务器及其直连的物理的接入交换机。下面对物理服务器和接入交换机的结构加以介绍。
[0051]1、物理服务器
[0052]物理服务器上安装有普通的SR-1OV (Single Root IO Virtualization,单根IO虚拟化)网络接口卡(Network Interface Card, NIC),而且在物理服务器上运行虚拟化软件层Hypervisor, Hypervisor也可称为虚拟机管理软件(VMM), Hypervisor例如可以是VMWare ESXiCVMware 公司出品的 ESXI 虚拟机软件),也可以是 KVM(Kernel_based VirtualMachine,基于内核的虚拟机)等。另外,在物理服务器上还包括:多个虚拟机(VirtualMachine, VM)。
[0053]对VM、Hypervisor 和 SR-1OV NIC 说明如下:
[0054](I)作为 PE 的 SR-1OV NIC
[0055]SR-1OV NIC就是采用了 SR-1OV技术的网络接口卡,SR-1OV NIC连接物理服务器外部的接入交换机。
[0056]其中,SR-1OV技术是一种不需要虚拟化软件模拟就可以共享I/O (Input/Output,输入/输出)设备的I/O端口的物理功能的方法。这个过程创造了一系列I/O设备物理端口的虚拟功能。每个虚拟功能都被直接分配到一个虚拟机,因此实现了接近本机的性能。总的来说,SR-1OV 实现了将 PCI (Peripheral Component Interconnection,外设组件互连标准)功能分配到多个虚拟接口以在虚拟化环境中共享一个PCI设备的资源。SR-1OV能够让网络传输绕过虚拟化软件模拟层,直接分配到虚拟机。这样就降低了虚拟化软件模拟层中的1/0开销。SR-1OV技术的目标是在绕过虚拟机参与数据迁移过程中实施标准化,为每个虚拟机提供独立内存空间、中断和Direct Memory Access (DMA)流。SR-1OV架构的设计允许一个1/0设备支持多个虚拟功能,同时将每个功能的硬件成本降至最低。SR-1OV引入了两个新的功能类型:
[0057]>物理功能(Physical Functions, PFs):这是一些支持SR-10V扩展功能的PCIe功能,被用于配置和管理SR-1OV功能特性;
[0058]>虚拟功能(Virtual Functions, VFs):这是一些“精简”的PCIe功能,包括数据迁移必需的资源,以及经过谨慎精简的配置资源集。
[0059]由此,SR-1OV NIC中包括:PF和多个VF,其中,PF用于对SR-1OV NIC进行管理和配置。在实际实施过程中,一个SR-1OV NIC中的VF的最大数量是4094,每一个VF具有一个唯一的ID (标识),例如,编号。
[0060]另外,在SR-1OV NIC中集成了一个L2 (二层)功能的vSwitch (虚拟交换机),该L2vSwitch具备基本的二层交换功能。VF与该L2vSwitch直连,VF相当于该L2vSwitch上的端口。
[0061](2) Hypervisor
[0062]Hypervisor 中包括:vSwitch 和 PCI 管理器,另外,Hypervisor 上安装有 SR-10VNIC的驱动程序:PF驱动。
[0063]其中,该vSwitch在本申请实施例中不参与报文的转发处理流程;PCI管理器用于对SR-1OV NIC中的PCI总线进行配置和管理。
[0064](3) VM
[0065]VM是指通过软件模拟+硬件辅助虚拟化的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过VM软件,可以在一台物理计算机上模拟出另一台或多台虚拟的计算机(即VM),这些VM完全就像真正的计算机那样进行工作,例如:可以安装操作系统、安装应用程序、访问网络资源等。从用户的角度来看,VM只是运行在用户的物理计算机上的一个应用程序,但是对于在VM中运行的应用程序而言,该应用程序就像是在真正的计算机中进行工作。
[0066]VM运行在Hypervisor上。每一个VM将SR-10V NIC中的VF识别为普通的PCIe(Peripheral Component Interface Express,快速外设组件互连标准)设备,因此,通过在每一个VM上安装VF驱动,每一个VM可以直接挂接到对应的VF上,从而旁路了 Hypervisor中的vSwitch,即,VM会将报文直接发送给对应的VF,而不会发送给Hypervisor中的vSwitch。
[0067]在实际实施过程中,每一个VM具有一个唯一的ID (标识),例如,编号。
[0068]2、作为CB的接入交换机[0069]接入交换机支持虚拟化网络技术,以VNI (Virtual Network Identity,虚拟化网络标识)标识虚拟化网络。其中,VNI是在交换机中针对网络的一种标识,可以是VLAN(Virtual Local Area Network,虚拟局域网)信息,也可以是 VPN (Virtual PrivateNetwork,虚拟专用网)信息,并且VLAN可以映射到VNI,VPN也可以映射到VNI。VNI占用的长度可以是12个比特,也可以是24个比特,视交换机的支持能力而定。
[0070]接入交换机上的一部分物理端口连接物理服务器,一部分物理端口连接网络中的其它物理交换机(称为普通交换机),其中,接入交换机上的一个物理端口连接一个物理服务器的SR-1OV NIC,或连接一个普通交换机。
[0071]在接入交换机用于连接SR-1OV NIC的一个物理端口上,可以配置多个虚拟端口vPort,该物理端口上的vPort总数与对端的SR-1OV NIC上的VF总数相同。即,该物理端口上的vPort总数等于该物理端口连接的SR-1OV NIC上的VF总数。
[0072]基于如图1所示的系统架构,本申请实施例中的方法包括以下部分:
[0073](I)系统配置过程
[0074]系统配置过程可以包括:缺省配置过程和针对实际业务的配置过程。其中,缺省配置是指在部署本申请实施例的虚拟化系统时,所有物理服务器和接入交换机都需要进行的相同的配置,即,所有物理服务器都需要进行步骤S102和步骤S104的配置,所有接入交换机都需要进行步骤S106-步骤SllO的配置;缺省配置主要是配置VF、标记VLAN、与接入交换机用于连接物理服务器的物理端口上的vPort之间的映射关系的配置,缺省配置与实际业务数据流的业务属性无关。而针对实际业务的配置涉及到实际应用场景中用户的业务数据流的业务属性,如VNI对于不同用户是不一样的。
[0075]如图2所示,在缺省配置过程中,包括以下步骤:
[0076]步骤S102,在SR-1OV NIC中的L2vSwitch上建立VM与VF之间的对应关系;
[0077]其中,允许一个VM对应于一个或多个VF,但不允许一个VF对应于多个VM。
[0078]步骤S104,在SR-1OV NIC中的L2vSwitch上配置VF与标记VLAN之间的——对应关系;
[0079]具体的,每一个VF对应于一个标记VLAN,此处,标记VLAN区别于普通的业务VLAN,而是为了标记报文是通过哪一个VF发来的,标记VLAN实际上表示了 VF的编号。
[0080]例如,SR-1OV NIC中VF总数N=64,此时,VFl对应于标记VLAN1,VF2对应于标记VLAN2,…,VF64对应于标记VLAN64。
[0081]在实际实施过程中,VF与标记VLAN之间的——对应关系是在L2vSwitch连接VM的逻辑进入点配置。本申请实施例中要求标记VLAN在L2vSwitch上只有两个接口,一个是连接VM的VF,另一个是SR-1OV NIC连接接入交换机的上行物理端口,即,从VF入时,从上行物理端口出,从上行物理端口入时,从VF出。这样,来自一个VM且要发往同一物理服务器内的另一个VM且非属于同一虚拟局域网(VLAN)或者虚拟专用网(VPN)的数据报文进入到L2vSwitch后,L2vSwitch是不会直接转发给该另一个VM的。
[0082]步骤S106,在接入交换机用于连接SR-1OV NIC的物理端口上配置与VF总数相同的虚拟端口 vPort ;
[0083]假设,物理服务器上的SR-1OV NIC中的VF总数为N,则在接入交换机用于连接SR-1OV NIC的物理端口上配置N个vPort。
[0084]步骤S108,在接入交换机用于连接SR-1OV NIC的物理端口上建立vPort与标记VLAN之间的——对应关系;
[0085]例如,N=64,此时,标记VLANl对应于虚拟端口 vPl,标记VLAN2对应于vP2,…,标记 VLAN64 对应于 vPort64。
[0086]这样,一旦SR-1OV NIC和接入交换机开始工作,VF与vPort便——对应。
[0087]步骤SI 10,在接入交换机用于连接SR-1OV NIC的物理端口上使能VLAN TRUNK(虚拟局域网中继)功能。
[0088]即,进入接入交换机的报文都携带802.1Q VLAN TAG,且该802.1QVLAN TAG是标记VLAN,而非业务VLAN。
[0089]针对实际业务的配置主要用于配置业务网络,涉及到实际应用场景中用户的业务数据流的业务属性。如果接入交换机是传统交换机,则针对实际业务的配置可以应用于例如VLAN的二层网络。如图3所示,在针对实际业务的配置过程中,包括以下步骤:
[0090]步骤S202,在接入`交换机上配置多个不同的VNI,来表示不同的虚拟化网络;
[0091]其中,VNI是交换机的全局概念。因此,需要在接入交换机上配置VNI,而非在接入交换机的物理端口上配置。
[0092]步骤S204,在接入交换机用于连接物理服务器的物理端口上,将该物理端口上的每一个虚拟端口(vPort)绑定到对应的VNI ;
[0093]步骤S206,在接入交换机用于连接普通交换机的物理端口上配置多个虚拟端口vPort,每一个vPort对应于该普通交换机上的一个业务VLAN ;
[0094]此处的业务VLAN就是普通业务的VLAN。
[0095]步骤S208,在步骤S206中的物理端口上配置每一个vPort与一个VNI绑定;从而,最终使得该普通交换机上的业务VLAN与接入交换机上的VNI —一对应。
[0096]通过步骤S108和步骤S204,在接入交换机用于连接SR-1OV NIC的物理端口上保存有标记VLAN、vPort、与VNI之间的对应关系;通过步骤S206和步骤S208,在接入交换机用于连接普通交换机的物理端口上保存有业务VLAN、vPort、与VNI之间的对应关系。
[0097](2)报文处理过程
[0098]在报文处理过程中,包括以下部分:
[0099]I)从VM发出的报文
[0100]如图4所示,从VM发出的报文处理流程包括以下步骤:
[0101]步骤S302,VM通过本VM对应的一 VF将UNTAG(不带标签)数据报文发送给SR-1OVNIC的L2vSwitch ;之后执行步骤S304 ;
[0102]VM发出的UNTAG数据报文中不携带802.1Q VLAN TAG,即,不携带本VM的VLAN ID。
[0103]步骤S304,SR-1OV NIC的L2vSwitch通过一 VF接收到UNTAG数据报文后,查找到与该VF对应的标记VLAN,将查找到的标记VLAN的VLANID添加到该UNTAG数据报文中,并将得到的802.1Q报文通过连接接入交换机的物理端口发送出去;之后执行步骤S306 ;
[0104]具体的,将查找到的标记VLAN的VLAN ID携带在802.1Q中定义的VLAN TAG字段中,将该VLAN TAG字段添加到该UNTAG数据报文中。此时,从SR-1OV NIC出来的报文是标准的802.1Q报文,但是该802.1Q报文中的VLAN TAG并不代表正常的VLAN (即普通业务VLAN)含义,而是标记了 VF的ID,报文带上VF的ID,是为了接入交换机能够区分处理。
[0105]步骤S306,接入交换机从连接物理服务器的SR-1OV NIC的物理端口(记为Portl)上接收到802.1Q报文后,去除该802.1Q报文中携带的标记VLAN的VLAN ID, 即,去除VLANTAG字段,得到UNTAG数据报文,根据该标记VLAN的VLAN ID查找到该物理端口 Portl上的对应vPort,并根据查找到的vPort查找到对应的VNI ;之后执行步骤S308 ;
[0106]其中,查找到的vPort就是该802.1Q报文的入vPort。
[0107]经过步骤S306后,得到的UNTAG数据报文中已经不存在VLAN TAG字段。
[0108]步骤S308,接入交换机判断该UNTAG数据报文是否是单播报文或组播报文,若是单播报文或组播报文,则执行步骤S310,若是广播报文或目的MAC地址未知的单播报文,则执行步骤S312 ;
[0109]具体的,若该UNTAG数据报文中的目的MAC (Media Access Control,媒体访问控制)地址是单播MAC地址或组播MAC地址,且根据该目的MAC地址可以从本地的如表1所示的MAC转发表中查找到相同的MAC地址,则执行步骤S310 ;若该UNTAG数据报文中的目的MAC地址是广播MAC地址,则执行步骤S312 ;若该UNTAG数据报文中的目的MAC地址是单播MAC地址,且根据该目的MAC地址从如表1所示的MAC转发表中查找不到相同的MAC地址,则执行步骤S312 ;
`[0110]步骤S310,根据查找到的VNI和该UNTAG数据报文的目的MAC地址,从如表1所示的MAC转发表中查找到至少一个出接`口信息;之后执行步骤S314 ;
[0111]表1
[0112]
【权利要求】
1.一种虚拟化系统中的报文处理方法,其特征在于,所述虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;所述物理服务器中包括:单根输入输出虚拟化SR-1OV网络接口卡NIC和至少一个虚拟机VM,所述SR-10VNIC中包括虚拟交换机vSwitch和至少一个NIC的虚拟功能VF,VM通过VF连接至vSwitch ;所述方法包括: vSwitch接收到VM通过该VM对应的一 VF发来的不带标签UNTAG数据报文,其中,该UNTAG数据报文中没有携带该VM的虚拟局域网VLAN标识ID ; vSwitch根据该VF查找到对应的标记VLAN,将查找到的标记VLAN的VLAN ID添加到该UNTAG数据报文中,得到802.1Q报文;其中,VF与标记VLAN——对应; vSwitch将携带有标记VLAN的VLAN ID的802.1Q报文发送给本物理服务器直连的接入交换机。
2.根据权利要求1所述的方法,其特征在于,还包括: vSwitch接收到本物理服务器直连的接入交换机发来的802.1Q报文,其中,该802.1Q报文中携带有标记VLAN的VLAN ID ; vSwitch去除该802.1Q报文中携带的标记VLAN的VLAN ID,得到UNTAG数据报文;vSwitch根据该标记VLAN的VLAN ID查找到对应的VF的ID,将该UNTAG数据报文通过该ID所指示的VF发送给与该VF对应的VM。
3.根据权利要求1或2所述的方法,其特征在于,一个VM对应于至少一个VF,一个VF对应于一个VM。
4.一种虚拟化系统中的报文处理方法,其特征在于,所述虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;所述接入交换机用于连接所述物理服务器的物理端口上包括至少一 个虚拟端口 vPort ;所述接入交换机还与其它物理交换机直连,所述接入交换机用于连接其它物理交换机的物理端口上包括至少一个vPort ;所述方法包括: 所述接入交换机接收到特定报文;其中,接收到的特定报文是直连的物理服务器或其它物理交换机发来的802.1Q报文,或是直连的其它物理交换机发来的隧道报文; 当该特定报文是802.1Q报文时,所述接入交换机去除该802.1Q报文中携带的虚拟局域网VLAN标识ID得到不带标签UNTAG数据报文,根据该VLAN ID查找到对应的vPort,根据该vPort查找到对应的虚拟化网络标识VNI ;当该特定报文是隧道报文时,所述接入交换机去除该隧道报文中的交叠overlay隧道的源因特网协议IP地址和目的IP地址、VNI和VLAN ID,得到UNTAG数据报文; 若得到的UNTAG数据报文是单播报文,则所述接入交换机根据该VNI和该UNTAG数据报文的目的媒体访问控制MAC地址,从本地的MAC转发表中查找到一个出接口信息;根据该出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到该UNTAG数据报文中发送出去; 其中,所述对应VLAN是标记VLAN或业务VLAN。
5.根据权利要求4所述的方法,其特征在于,还包括: 若得到的UNTAG数据报文是组播报文,则所述接入交换机根据该VNI和该UNTAG数据报文的目的MAC地址,从所述MAC转发表中查找到至少一个出接口信息;针对每一个出接口信息,对该UNTAG数据报文进行复制,根据该出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到复制的UNTAG数据报文中发送出去。
6.根据权利要求4所述的方法,其特征在于,还包括: 若得到的UNTAG数据报文是广播报文或目的MAC地址未知的单播报文,则所述接入交换机根据该VNI,从本地的广播转发表中查找到至少一个出接口信息;针对每一个出接口信息,对该UNTAG数据报文进行复制,根据该出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到复制的UNTAG数据报文中发送出去。
7.根据权利要求4-6中任一项所述的方法,其特征在于,所述接入交换机用于连接物理服务器的物理端口上的vPort与标记VLAN —一对应;所述接入交换机用于连接该其它物理交换机的物理端口上的vPort与该其它物理交换机上的业务VLAN——对应; 当该特定报文是物理服务器发来的802.1Q报文时,该802.1Q报文中携带的VLAN ID是标记VLAN的VLAN ID ; 当该特定报文是其它物理交换机发来的802.1Q报文时,该802.1Q报文中携带的VLANID 是业务 VLAN 的 VLAN ID ; 当该特定报文是其它物理交换机发来的隧道报文时,该隧道报文中携带的VLAN ID是业务 VLAN 的 VLAN ID。
8.根据权利要求7所述的方法,其特征在于,根据该出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到UNTAG数据报文中发送出去的方法包括: 若该出接口信息是vPort的端口 ID,则根据该vport的端口 ID查找到对应VLAN,将该对应VLAN的VLAN ID添加到该UNTAG数据报文中,将得到的携带有该对应VLAN的VLAN ID的802.1Q报文,通过该vport所在的物理端口发送出去;其中,该对应VLAN是标记VLAN或业务VLAN ; 当该对应VLAN是标记VLAN时,将携带有标记VLAN的VLAN ID的802.1Q报文,通过该vport所在的物理端口发送给直连的物理服务器; 当该对应VLAN是业务VLAN时,将携带有业务VLAN的VLAN ID的802.1Q报文,通过该vport所在的物理端口发送给直连的其它物理交换机。
9.根据权利要求8所述的方法,其特征在于,根据该出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到UNTAG数据报文中发送出去的方法还包括: 若该出接口信息是交叠overlay隧道的隧道ID,则根据该隧道ID查找到对应的隧道信息,其中,该隧道信息中包括:该overlay隧道的源IP地址和目的IP地址,以及该overlay隧道对应的出vport ; 根据该出vport查找到对应的业务VLAN,将该overlay隧道的源IP地址和目的IP地址、该VNI和该业务VLAN的VLAN ID添加到该UNTAG数据报文中,将得到的隧道报文通过该出vport所在的物理端口发送给直连的其它物理交换机。
10.根据权利要求7所述的方法,其特征在于,还包括: 在所述接入交换机用于连接物理服务器的物理端口上建立vPort与标记VLAN之间的 对应关系; 在所述接入交换机上配置至少一个VNI ; 在所述接入交换机用于连接物理服务器的物理端口上将每一个vPort绑定到对应的 VNI ; 在所述接入交换机用于连接其它物理交换机的物理端口上建立vPort与该其它物理交换机上的业务VLAN之间的——对应关系;在该物理端口上将每一个vPort与一个VNI绑定。
11.一种虚拟化系统中的报文处理装置,其特征在于,所述虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;所述物理服务器中包括:单根输入输出虚拟化SR-1OV网络接口卡NIC和至少一个虚拟机VM,所述SR-1OV NIC中包括虚拟交换机vSwitch和至少一个NIC的虚拟功能VF, VM通过VF连接至vSwitch ;所述装置应用于所述vSwitch中,所述装置包括: 接收模块,用于接收VM通过该VM对应的一 VF发来的不带标签UNTAG数据报文,其中,该UNTAG数据报文中没有携带该VM的虚拟局域网VLAN标识ID ; 查找模块,用于在所述接收模块接收到VM通过该VM对应的一 VF发来的UNTAG数据报文之后,根据该VF查找到对应的标记VLAN ; 处理模块,用于将所述查找模块查找到的标记VLAN的VLAN ID添加到所述接收模块接收到的UNTAG数据报文中,得到802.1Q报文;其中,VF与标记VLAN——对应; 发送模块,用于将所述处理模块得到的携带有标记VLAN的VLAN ID的802.1Q报文,发送给本物理服务器直连的接入交换机。
12.根据权利要求11所述的装置,其特征在于, 所述接收模块,还用于接收本物理服务器直连的接入交换机发来的802.1Q报文,其中,该802.1Q报文中携带有标记VLAN的VLAN ID ; 所述处理模块,还用于在所述接收模块接收到本物理服务器直连的接入交换机发来的802.1Q报文之后,去除该802.1Q报文中携带的标记VLAN的VLANID,得到UNTAG数据报文;所述查找模块,还用于根据所述接收模块接收到的802.1Q报文中的标记VLAN的VLANID查找到对应的VF的ID ; 所述发送模块,还用于将所述处理模块得到的UNTAG数据报文,通过所述查找模块查找到的ID所指示的VF发送给与该VF对应的VM。
13.根据权利要求11或12所述的装置,其特征在于,一个VM对应于至少一个VF,一个VF对应于一个VM。
14.一种虚拟化系统中的报文处理装置,其特征在于,所述虚拟化系统中包括:物理服务器及其直连的物理的接入交换机;所述接入交换机用于连接所述物理服务器的物理端口上包括至少一个虚拟端口 vPort ;所述接入交换机还与其它物理交换机直连,所述接入交换机用于连接其它物理交换机的物理端口上包括至少一个vPort ;所述装置应用于所述接入交换机中,所述装置包括: 接收模块,用于接收特定报文;其中,接收到的特定报文是直连的物理服务器或其它物理交换机发来的802.1Q报文,或是直连的其它物理交换机发来的隧道报文; 去除模块,用于当所述接收模块接收到的特定报文是802.1Q报文时,去除该802.1Q报文中携带的虚拟局域网VLAN标识ID得到UNTAG数据报文;还用于当所述接收模块接收到的特定报文是隧道报文时,去除该隧道报文中的交叠overlay隧道的源因特网协议IP地址和目的IP地址、VNI和VLAN ID,得到UNTAG数据报文;查找模块,用于当所述接收模块接收到的特定报文是802.1Q报文时,根据该802.1Q报文中携带的VLAN ID查找到对应的vPort,根据该vPort查找到对应的虚拟化网络标识VNI ;还用于若所述去除模块得到的UNTAG数据报文是单播报文,则根据该VNI和该UNTAG数据报文的目的媒体访问控制MAC地址,从本地的MAC转发表中查找到一个出接口信息; 添加发送模块,用于若所述去除模块得到的UNTAG数据报文是单播报文,则根据所述查找模块从所述MAC转发表中查找到的出接口信息获取对应VLAN,将该对应VLAN的VLANID添加到所述去除模块得到的UNTAG数据报文中发送出去; 其中,所述对应VLAN是标记VLAN或业务VLAN。
15.根据权利要求14所述的装置,其特征在于,还包括:复制模块,其中: 所述查找模块,还用于若所述去除模块得到的UNTAG数据报文是组播报文,则根据该VNI和该UNTAG数据报文的目的MAC地址,从所述MAC转发表中查找到至少一个出接口信息; 所述复制模块,用于若所述去除模块得到的UNTAG数据报文是组播报文,则针对所述查找模块从所述MAC转发表中查找到的每一个出接口信息,对该UNTAG数据报文进行复制; 所述添加发送模块,还用于若所述去除模块得到的UNTAG数据报文是组播报文,则根据所述查找模块从所述MAC转发表中查找到的每一个出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到所述复制模块得到的复制的UNTAG数据报文中发送出去。
16.根据权利要求14所述的装置,其特征在于,还包括:复制模块,其中: 所述查找模块,还用于若所述去除模块得到的UNTAG数据报文是广播报文或目的MAC地址未知的单播报文,则根据该VNI,从本地的广播转发表中查找到至少一个出接口信息; 所述 复制模块,用于若所述去除模块得到的UNTAG数据报文是广播报文或目的MAC地址未知的单播报文,则针对所述查找模块从所述广播转发表中查找到的每一个出接口信息,对该UNTAG数据报文进行复制; 所述添加发送模块,还用于若所述去除模块得到的UNTAG数据报文是广播报文或目的MAC地址未知的单播报文,则根据所述查找模块从所述广播转发表中查找到的每一个出接口信息获取对应VLAN,将该对应VLAN的VLAN ID添加到复制的UNTAG数据报文中发送出去。
17.根据权利要求14-16中任一项所述的装置,其特征在于,所述接入交换机用于连接物理服务器的物理端口上的vPort与标记VLAN —一对应;所述接入交换机用于连接该其它物理交换机的物理端口上的vPort与该其它物理交换机上的业务VLAN——对应; 当所述接收模块接收到的特定报文是物理服务器发来的802.1Q报文时,该802.1Q报文中携带的VLAN ID是标记VLAN的VLAN ID ;当所述接收模块接收到的特定报文是其它物理交换机发来的802.1Q报文时,该802.1Q报文中携带的VLAN ID是业务VLAN的VLAN ID ;当所述接收模块接收到的特定报文是其它物理交换机发来的隧道报文时,该隧道报文中携带的VLAN ID是业务VLAN的VLAN ID。
18.根据权利要求17所述的装置,其特征在于,所述添加发送模块包括: VLAN查找单元,用于若所述查找模块查找到的一出接口信息是vPort的端口 ID,则根据该vport的端口 ID查找到对应VLAN ; 添加单元,用于将所述VLAN查找单元查找到的对应VLAN的VLAN ID,添加到UNTAG数据报文中,得到携带有该对应VLAN的VLAN ID的802.1Q报文;发送单元,用于将所述添加单元得到的802.1Q报文,通过该vport所在的物理端口发送出去;其中,该对应VLAN是标记VLAN或业务VLAN ; 当所述VLAN查找单元查找到的对应VLAN是标记VLAN时,所述发送单元将携带有标记VLAN的VLAN ID的802.1Q报文,通过该vport所在的物理端口发送给直连的物理服务器; 当所述VLAN查找单元查找到的对应VLAN是业务VLAN时,所述发送单元将携带有业务VLAN的VLAN ID的802.1Q报文,通过该vport所在的物理端口发送给直连的其它物理交换机。
19.根据权利要求18所述的装置,其特征在于, 所述VLAN查找单元,还用于若所述查找模块查找到的一出接口信息是交叠overlay隧道的隧道ID,则根据该隧道ID查找到对应的隧道信息,其中,该隧道信息中包括:该overlay隧道的源IP地址和目的IP地址,以及该overlay隧道对应的出vport ;还用于根据该出vport查找到对应的业务VLAN ; 所述添加单元,还用于将所述VLAN查找单元查找到的隧道信息中包括的overlay隧道的源IP地址和目的IP地址、该VNI和该业务VLAN的VLAN ID添加到UNTAG数据报文中,得到隧道报文; 所述发送单元,还用于将所述添加单元得到的隧道报文,通过该出vport所在的物理端口发送给直连的其它物理交换机。
20.根据权利要求17所述的装置,其特征在于,还包括: 建立模块,用于在所述接入交换机用于连接物理服务器的物理端口上建立vPort与标记VLAN之间的一一对应关系;`还用于在所述接入交换机用于连接其它物理交换机的物理端口上建立vPort与该其它物理交换机上的业务VLAN之间的——对应关系; 配置模块,用于在所述接入交换机上配置至少一个VNI ; 绑定模块,用于在所述接入交换机用于连接物理服务器的物理端口上将每一个vPort绑定到对应的VNI ;还用于在所述接入交换机用于连接其它物理交换机的物理端口上将每一个vPort与一个VNI绑定。
【文档编号】H04L12/761GK103873374SQ201410118957
【公开日】2014年6月18日 申请日期:2014年3月27日 优先权日:2014年3月27日
【发明者】刘新民 申请人:杭州华三通信技术有限公司