CN104852846B - 一种数据转发控制方法及系统 - Google Patents

一种数据转发控制方法及系统 Download PDF

Info

Publication number
CN104852846B
CN104852846B CN201410052070.1A CN201410052070A CN104852846B CN 104852846 B CN104852846 B CN 104852846B CN 201410052070 A CN201410052070 A CN 201410052070A CN 104852846 B CN104852846 B CN 104852846B
Authority
CN
China
Prior art keywords
data packet
acl
virtual machine
dvs
cluster virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410052070.1A
Other languages
English (en)
Other versions
CN104852846A (zh
Inventor
刘建锋
何伟
霍卫峰
王旭宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410052070.1A priority Critical patent/CN104852846B/zh
Publication of CN104852846A publication Critical patent/CN104852846A/zh
Application granted granted Critical
Publication of CN104852846B publication Critical patent/CN104852846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种数据转发控制方法及系统,应用于云计算系统,所述云计算系统提供多个虚拟机集群,每个所述虚拟机集群包括多个虚拟机VM,所述VM连接到分布式虚拟交换机DVS上,可以提高控制数据包转发的成功率和正确率。该方法包括:在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;所述DVS接收数据包,根据所述数据包确定所述数据包对应的VM;所述DVS确定所述数据包对应的VM相关联的ACL;所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。

Description

一种数据转发控制方法及系统
技术领域
本发明涉及通信技术领域,具体涉及一种数据转发控制方法及系统。
背景技术
在云计算(Cloud Computing)的公有云中预配置出一个逻辑隔离空间,即虚拟私有云(Virtual Private Cloud,简称VPC),能够在自己定义的虚拟专用网络(VirtualPrivate Network,简称VPN)中自由选择IP地址范围,创建子网,以及配置路由表和网关等。其中,在VPC中配置虚拟机(Virtual Machine,简称VM),在所选择的IP地址范围内为VM配置IP地址,将VM连接到虚拟交换机(Virtual Switch,简称VS)或分布式虚拟交换机(Distribute Virtual Switch,简称DVS)上以实现数据转发,同时在VS或DVS上配置访问控制列表(Access Control List,简称ACL),为转发数据提供ACL服务。
其中,在匹配ACL时,通常根据数据包获取VM的IP地址,在ACL根据IP地址匹配VM确定丢包或转发。由于VPC能够自由给VM配置IP地址,导致不同VPC中的VM可能具有相同的IP地址,也就是VPC之间将会存在重叠的IP地址,在匹配ACL时造成错误匹配。
发明内容
针对上述缺陷,本发明实施例提供了一种数据转发控制方法及系统,用于提高控制数据转发的正确率和成功率。
本发明第一方面提供了一种数据转发控制方法,应用于云计算系统,所述云计算系统提供多个虚拟机集群,每个所述虚拟机集群包括多个虚拟机VM,所述VM连接到分布式虚拟交换机DVS上,可包括:
在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
所述DVS接收数据包,根据所述数据包确定所述数据包对应的VM;
所述DVS确定所述数据包对应的VM相关联的ACL;
所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。
结合第一方面,在第一种可能的实现方式中,所述在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联,包括:在所述DVS上为每个虚拟机集群创建一个ACL;建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系;
所述DVS确定所述数据包对应的VM相关联的ACL包括:所述DVS解析所述数据包获得所述数据包对应的VM的MAC;查找与所述VM的MAC地址相关联的ACL。
结合第一方面,在第二种可能的实现方式中,该数据转发控制方法还包括:建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系;
所述DVS确定所述数据包对应的VM相关联的ACL还包括:所述DVS解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;查找与所述虚拟局域网标签相关联的ACL。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数包括步骤:所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;若否,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;若是,则在所述会话表中查找所述转发控制参数。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述在所述会话表中查找所述转发控制参数包括步骤:所述会话表中的转发控制参数为目的IP地址和目的端口,若所述目的IP地址和目的端口不为空值,所述DVS将所述数据包转发给所述目的IP地址所在网络设备;若所述包括目的IP地址和目的端口为空值,所述DVS则丢弃所述数据包。
本发明第二方面提供了一种数据转发控制系统,该数据转发控制系统提供多个虚拟机集群,每个所述虚拟机集群包括多个虚拟机VM,所述VM连接到分布式虚拟交换机DVS上,该系统包括:
配置单元,用于在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
接收单元,用于接收数据包,根据所述数据包确定所述数据包对应的VM;
确定单元,用于确定所述数据包对应的VM相关联的ACL;
查找单元,用于根据所述数据包对应的VM,在所述确定的ACL中查找所述数据包对应的转发控制参数。
结合第二方面,在第一种可能的实现方式中,所述配置单元包括:第一创建单元,用于在所述DVS上为每个虚拟机集群创建一个ACL;第一建立单元,用于建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系;
所述确定单元包括:第一获取单元,用于解析所述数据包获得所述数据包对应的VM的MAC;第一查找单元,用于查找与所述VM的MAC地址相关联的ACL。
结合第二方面,在第二种可能的实现方式中,所述配置单元还用于建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系;
所述确定单元还包括:第二获取单元,用于解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;第二查找单元,用于查找与所述虚拟局域网标签相关联的ACL。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述查找单元包括:判断单元,用于所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;执行单元,用于若所述判断单元确定所述ACL中没有会话表,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;若所述判断单元确定所述ACL中有会话表,则在所述会话表中查找所述转发控制参数。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述执行单元包括:第一执行单元,用于在确定所述ACL中有会话表后,若所述目的IP地址和目的端口不为空值,将所述数据包转发给所述目的IP地址所在网络设备;若所述包括目的IP地址和目的端口为空值,则丢弃所述数据包。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例所提供的数据转发控制系统提供有多个虚拟机集群,每一个虚拟机集群中包括多个虚拟机VM,且每个VM都连接到DVS上。在DVS上为每一个虚拟机集群配置对应的ACL,且该ACL与虚拟机集群中的VM相关联。在DVS接收到数据包时,根据数据包确定数据包对应的VM,之后确定该VM相关联的ACL,最后,在确定的ACL中查找数据包对应的转发控制参数。与现有技术相比,本发明实施例通过在DVS中为每一个虚拟机集群创建对应的ACL,并且创建的ACL和虚拟机集群中的VM相关联,因而,在接收到数据包时,能够根据数据包对应的VM查找到相关联的ACL,进入到各自的ACL中查找数据包对应的转发控制参数,控制数据包转发,避免现有技术中在同一个ACL中控制数据包转发时,若不同虚拟机集群中的VM存在重复IP地址时,导致错误转发或丢包。本发明实施例能够提高控制数据转发的正确率和成功率,且整个系统的网络性能较高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-a为本发明一实施例提供的数据转发控制方法的流程示意图;
图1-b为本发明一实施例提供的数据转发控制系统的配置流程图;
图1-c为本发明一实施例提供的数据转发控制系统实现示意图;
图2-a为本发明另一实施例提供的数据转发控制系统的配置流程图;
图2-b为本发明另一实施例提供的数据转发控制系统实现示意图;
图3为本发明另一实施例提供的数据转发控制方法的流程示意图;
图4为本发明另一实施例提供的数据转发控制方法的流程示意图;
图5为本发明另一实施例提供的数据转发控制方法的流程示意图;
图6为本发明一实施例提供的数据转发控制系统的结构示意图;
图7-a为本发明另一实施例提供的数据转发控制系统的结构示意图;
图7-b为本发明另一实施例提供的数据转发控制系统的结构示意图;
图8为本发明另一实施例提供的数据转发控制系统的结构示意图;
图9-a为本发明另一实施例提供的数据转发控制系统的结构示意图;
图9-b为本发明另一实施例提供的数据转发控制系统的结构示意图;
图10为本发明一实施例提供的数据转发控制设备的结构示意图。
具体实施方式
下面将结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据转发控制方法及系统,能够提高控制数据转发的正确率和成功率。
如图1-a所示,本发明实施例提供的一种数据控制转发方法,可包括:
S101、在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
本发明所提供的实施例应用于云计算系统,在云计算系统中可以提供多个虚拟机集群,每一个虚拟机集群中包括有至少一个VM,每一个虚拟机集群上的VM都连接到DVS上。每一个虚拟机集群独立运行于一个虚拟局域网(Virtual Local Area Network,简称VLAN)上。
具体地,本发明实施例在VM所连接的DVS中为每一个虚拟机集群配置对应的ACL,且为该虚拟机集群当中的VM与ACL建立关联关系。
可以理解的是,ACL是路由器和交换机接口的指令列表,用来控制端口进出的数据包。在本发明实施例中,在DVS中配置ACL,通过ACL控制DVS进出的数据包。其中,ACL中包括有转发控制参数,该转发控制参数用于指示数据包到达DVS时,是被丢弃还是被转发。
S102、所述DVS接收数据包,根据所述数据包确定所述数据包对应的VM;
DVS对于进出的数据包,可以根据数据包来确定数据包对应的VM。
S103、所述DVS确定所述数据包对应的VM相关联的ACL;
其中,DVS再根据数据包对应的VM确定相关联的ACL。
S104、所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。
其中,转发控制参数能够指示数据包到达DVS时是被转发还是丢弃,因此,在数据包到达后,DVS通过在确定的ACL中查找数据包对应的转发控制参数,完成对数据包的控制转发。
本发明实施例所提供的云计算系统提供有多个虚拟机集群,每一个虚拟机集群中包括多个虚拟机VM,且每个VM都连接到DVS上。在DVS上为每一个虚拟机集群配置对应的ACL,且该ACL与虚拟机集群中的VM相关联。在DVS接收到数据包时,根据数据包确定数据包对应的VM,之后确定该VM相关联的ACL。最后,在确定的ACL中查找数据包对应的转发控制参数。避免当不同虚拟机集群中的VM存在重复IP地址时造成控制数据包转发出现错误的问题发生。保证在DVS中正确控制数据包转发,提高数据包转发的成功率,且提高整个系统网络性能。
进一步地,本发明实施例具体提供数据转发控制系统的配置流程,如图1-b所示,包括:
S1101、在所述DVS上为每个虚拟机集群创建一个ACL;
S1102、建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系。
根据上述配置流程,本发明实施例所提供的数据转发控制系统实现图可如图1-c所示。在图1-c中,数据转发控制系统提供了两个虚拟机集群,分别为虚拟机集群1和虚拟机集群2,虚拟机集群1工作于虚拟局域网VLAN100,虚拟机集群2工作于虚拟局域网VLAN200。虚拟机集群1包括VM1、VM2和VM3,虚拟机集群2包括VM4、VM5和VM6。虚拟机集群1的VM1、VM2和VM3,和虚拟机集群2中的VM4、VM5和VM6分别连接到DVS上,且在DVS中配置了虚拟机集群1对应的ACL1,和虚拟机集群2对应的ACL2。且虚拟机集群1中的VM1、VM2和VM3分别与ACL1相关联,虚拟机集群2中的VM4、VM5和VM6分别与ACL2相关联。
其中,每个虚拟机集群中VM都有唯一的媒体访问控制地址(MediaAccessControl,简称MAC),将每一个虚拟机集群中的VM的MAC与对应的ACL相关联。如图1-c中,将虚拟机集群1中VM1的MAC与DVS中为虚拟机集群1配置的ACL1建立关联关系,将VM2的MAC与ACL1建立关联关系,将VM3的MAC与ACL1建立关联关系。同样,将虚拟机集群2中VM1、VM2和VM3的MAC分别与DVS中为虚拟机集群2配置的ACL2建立关联关系。之后,若DVS接收到数据包,假设DVS确定数据包对应VM2,那么将根据VM2的MAC查找到其相关联的ACL1,从而在ACL1中查找转发控制参数。本发明实施例能够快速准确查找到相应的VM,完成对数据包的转发控制。
本发明实施例中,通过将虚拟机集群中的VM的MAC与该虚拟机集群对应的ACL建立关联关系,使得DVS在接收到数据包时,能够根据数据包确定VM的MAC,从而根据VM的MAC查找到关联的ACL,在虚拟机集群对应的ACL中完成对该虚拟机集群的数据包转发控制,有效提高控制数据包转发的成功率和正确率。
本发明实施例还提供另一种数据转发控制系统的配置流程,具体如图2-a,可包括:
S211、在所述DVS上为每个虚拟机集群创建一个ACL;
S212、建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系。
其中,每一个虚拟机集群独立工作于一个VLAN中,每个VLAN具有其相应的虚拟局域网标签VLAN Tag。根据数据包不但可以确定该数据包对应的VM的MAC,还可以确定其VM所在VLAN的VLAN Tag。因此,还可以直接将VLAN Tag与该VLAN Tag服务的虚拟机集群对应的ACL建立关联关系。
如图2-b所示,本发明实施例提供了另一种数据转发控制系统实现图。在图2-b中,虚拟机集群1通过VLAN100的VLAN Tag与ACL1建立关联关系,虚拟机集群2通过其虚拟局域网VLAN200的VLAN Tag与ACL2建立关联关系。之后,若DVS接收到数据包,假设DVS从数据包确定VLAN100的VLANTag,那么将根据VLAN100的VLAN Tag查找到其相关联的ACL1,从而在ACL1中查找转发控制参数。本发明实施例能够快速准确查找到相应的VM,完成对数据包的转发控制。
本发明实施例中,通过将ACL与虚拟机集群所在的虚拟局域网标签建立关联关系,使得DVS在接收到数据包时,能够根据数据包确定VLAN Tag,从而根据VLAN Tag查找到关联的ACL,在虚拟机集群对应的ACL中完成对该虚拟机集群的数据包转发控制,有效提高控制数据包转发的成功率和正确率。
对应于上述图1-b和1-c,如图3所示,本发明实施例提供了一种数据转发控制方法,可包括:
S301、DVS接收数据包;
在上述图1-b所示实施例通过对数据转发控制系统进行配置,在DVS中配置有与每个虚拟机集群对应的ACL,每个虚拟机集群中的VM通过VM的MAC与ACL相关联。虚拟机集群中的VM不论外发数据包或者接收数据包,数据包都将经过DVS,由DVS进行转发控制。
S302、所述DVS解析所述数据包获得所述数据包对应的VM的MAC;
其中,DVS具备对数据包进行解析的能力,从而获得数据包对应的VM的MAC地址。
S303、所述DVS查找与所述VM的MAC地址相关联的ACL;
通过数据包对应的VM的MAC地址,查找与该MAC地址相关联的ACL。
S304、所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。
具体,根据数据包对应的VM的MAC,查找到对应的ACL后,可以根据VM的IP地址在独立的ACL中查找到对应的转发控制参数,从而可以避免因不同虚拟机集群中VM的IP地址可能相同,导致数据包错误转发或丢失,确保数据包得到正确的转发控制,还能提高整个系统的网络性能。
对应于上述图2-a和图2-b,如图4所示,本发明实施例相应提供了一种数据转发控制方法,可以包括:
S401、DVS接收数据包;
在上述图2-a所示实施例通过对数据转发控制系统进行配置,在DVS中有与每个虚拟机集群对应的ACL,且每个虚拟机集群通过VLAN Tag与ACL相关联。
S402、所述DVS解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;
其中,DVS具备对数据包进行解析的能力,从而获得数据包对应的VM所属虚拟机集群所在的虚拟局域网标签VLAN Tag。
S403、所述DVS查找与所述虚拟局域网标签相关联的ACL;
通过数据包对应的VM所属虚拟机集群所在的虚拟局域网标签,查找与该虚拟局域网标签相关联的ACL。
S404、所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。
具体地,根据数据包对应的VM所属虚拟机集群所在的虚拟局域网标签,查找到对应的ACL后,可以根据VM的IP地址在ACL中查找到对应的转发控制参数,从而可以避免因不同虚拟机集群中VM的IP地址可能相同,导致数据包错误转发或丢失,确保数据包得到正确的转发控制,还能提高整个系统的网络性能。
具体地,ACL作为一种网络流量过滤技术,是路由器和交换机接口的指令列表。本发明所提供的实施例中,在DVS中配置ACL来控制数据包转发,在ACL中具体包括有数据包对应的转发控制参数。对于是数据流的首个数据包,在ACL中查找数据包对应的转发控制参数,并根据该转发控制参数和数据包所携带的信息生成会话表,之后,可以通过会话表对数据包进行转发控制,能够减少ACL中的查找工作,提供工作性能。
因此,如图5所示,上述步骤S104具体可以包括:
S501、所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表,其中,所述会话表包括所述转发控制参数;若否,则转向步骤S502;否是,则转向步骤S503;
S502、在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;
S503、在所述会话表中查找所述转发控制参数。
DVS在接收到数据包时,可以通过判断ACL中是否会话表,如果没有,则说明是数据流的首个数据包,则直接在ACL在查找数据包对应的转发控制参数,如果ACL中含有会话表,则说明不是数据流的首个数据包,可以通过查找会话表,根据会话表中的转发控制参数来控制数据包。
具体地,会话表是在接收到数据流的首个数据包时根据ACL的转发控制参数和数据包所携带的信息生成,其主要包括源IP地址、目的IP地址、源端口、目的端口和协议号。其中,在会话表中目的IP地址和目的端口作为指示数据包是被转发或丢弃的转发控制参数。若目的IP地址和目的端口数值为空值时,说明将丢弃该数据包,若目的IP地址和目的端口数值不为空值,则将数据包转发到目的IP地址所在的网络设备。
本发明实施例还提供一种数据转发控制系统600,如图6所示,可包括:
配置单元610,用于在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
接收单元620,用于接收数据包,根据所述数据包确定所述数据包对应的VM;
确定单元630,用于确定所述数据包对应的VM相关联的ACL;
查找单元640,用于根据所述数据包对应的VM,在所述确定的ACL中查找所述数据包对应的转发控制参数。
该数据转发控制系统600提供有多个虚拟机集群,每个虚拟机集群包括有多个VM,每个虚拟机集群中的VM都连接到DVS上。其中,配置单元610在DVS中为每个虚拟机集群配置对应的ACL,且所配置的ACL与虚拟机集群中的VM相关联。接收单元620在接收到数据包后,根据该数据包确定该数据包对应的VM,之后确定单元630将确定数据包对应的VM相关联的ACL,查找单元640根据数据包对应的VM,在该确定的ACL中查找该数据包对应的转发控制参数,从而完成对数据包的控制转发,提高转发控制正确率和成功率。
如图7-a所示,上述配置单元610进一步包括:
第一创建单元6101,用于在所述DVS上为每个虚拟机集群创建一个ACL;
第一建立单元6102,用于建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系;
因此,如图7-b所示,上述确定单元630可以进一步包括:
第一获取单元6301,用于解析所述数据包获得所述数据包对应的VM的MAC;
第一查找单元6302,用于查找与所述VM的MAC地址相关联的ACL。
在本发明实施例中,配置单元610包括第一创建单元6101和第一建立单元6102,第一创建单元6101在DVS上创建虚拟机集群对应的ACL,然后由第一建立单元6102将虚拟机集群中的VM的MAC与该ACL建立关联关系。之后,确定单元630中的第一获取单元6301将根据数据包获取该数据包对应的VM的MAC,再根据VM的MAC获取相关联的ACL。
在另一实施例中,上述配置单元610还用于建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系。
因此,如图8所示,上述确定单元630进一步可以包括:
第二获取单元6311,用于解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;
第二查找单元6312,用于查找与所述虚拟局域网标签相关联的ACL。
在本发明实施例中,上述配置单元610还可以用于建立ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系。之后,确定单元630中第二获取单元6311将从数据包中获取到虚拟局域网标签,根据虚拟局域网标签查找相关联的ACL。
如图9-a所示,上述查找单元640具体可以包括:
判断单元6401,用于所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;
执行单元6402,用于若所述判断单元确定所述ACL中没有会话表,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;若所述判断单元确定所述ACL中有会话表,则在所述会话表中查找所述转发控制参数。
如图9-b所示,上述执行单元6402具体可以包括:
第一执行单元64021,用于在确定所述ACL中有会话表后,若所述目的IP地址和目的端口不为空值,将所述数据包转发给所述目的IP地址所在网络设备;若所述包括目的IP地址和目的端口为空值,则丢弃所述数据包。
DVS在接收到数据包时,判断单元6401可以通过判断ACL中是否会话表,如果没有,则说明是数据流的首个数据包,执行单元6402则直接在ACL在查找数据包对应的转发控制参数,如果ACL中含有会话表,则说明不是数据流的首个数据包,执行单元6402可以通过查找会话表,根据会话表中的转发控制参数来控制数据包。
具体地,执行单元6402进一步可以包括第一执行单元64021。
会话表是在接收到数据流的首个数据包时根据ACL的转发控制参数和数据包所携带的信息生成,其主要包括源IP地址、目的IP地址、源端口、目的端口和协议号。其中,在会话表中目的IP地址和目的端口作为指示数据包是被转发或丢弃的转发控制参数。若目的IP地址和目的端口数值为空值时,说明将丢弃该数据包,若目的IP地址和目的端口数值不为空值,则将数据包转发到目的IP地址所在的网络设备。
如图10所示,本发明实施例还提供一种数据转发控制设备,可包括:存储器1010和至少一个处理器1020(图10中以一个处理器为例)。本发明实施例的一些实施例中,存储器1010和处理器1020可通过总线或其它方式连接,其中,图10以通过总线连接为例。
在本发明一些实施例中,上述处理器1020可以执行以下步骤:
在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;所述DVS接收数据包,根据所述数据包确定所述数据包对应的VM;所述DVS确定所述数据包对应的VM相关联的ACL;所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。
在本发明一些实施例中,上述处理器1020可以执行以下步骤:
在所述DVS上为每个虚拟机集群创建一个ACL;建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系。
在本发明一些实施例中,上述处理器1020可以执行以下步骤:
所述DVS解析所述数据包获得所述数据包对应的VM的MAC;查找与所述VM的MAC地址相关联的ACL。
在本发明一些实施例中,上述处理器1020可以执行以下步骤:
建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系。
在本发明一些实施例中,上述处理器1020可以执行以下步骤:
所述DVS解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;查找与所述虚拟局域网标签相关联的ACL。
在本发明一些实施例中,上述处理器1020可以执行以下步骤:
所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;若否,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;若是,则在所述会话表中查找所述转发控制参数。
在本发明一些实施例中,上述处理器1020可以执行以下步骤:
所述会话表中的转发控制参数为目的IP地址和目的端口,若所述目的IP地址和目的端口不为空值,所述DVS将所述数据包转发给所述目的IP地址所在网络设备;若所述包括目的IP地址和目的端口为空值,所述DVS则丢弃所述数据包。
在本发明一些实施例中,上述存储器1110可以用于存储:虚拟机集群中VM与ACL的关联关系、数据包、ACL、转发控制参数。
在本发明一些实施例中,上述存储器1110可以用于存储:ACL与虚拟机集群中的VM的MAC的关联关系。
在本发明一些实施例中,上述存储器1110可以用于存储:ACL与虚拟机集群所在网络的虚拟局域网标签的关联关系。
在本发明一些实施例中,上述存储器1110可以用于存储:会话表。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种数据转发控制方法及系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据转发控制方法,其特征在于,应用于云计算系统,所述云计算系统提供多个虚拟机集群,每个所述虚拟机集群包括多个虚拟机VM,所述VM连接到分布式虚拟交换机DVS上,所述方法包括:
在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
所述DVS接收数据包,根据所述数据包确定所述数据包对应的VM;
所述DVS确定所述数据包对应的VM相关联的ACL;
所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。
2.根据权利要求1所述的方法,其特征在于,所述在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联,包括:
在所述DVS上为每个虚拟机集群创建一个ACL;
建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系;
所述DVS确定所述数据包对应的VM相关联的ACL包括:
所述DVS解析所述数据包获得所述数据包对应的VM的MAC;
查找与所述VM的MAC地址相关联的ACL。
3.根据权利要求1所述的方法,其特征在于,还包括:
建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系;
所述DVS确定所述数据包对应的VM相关联的ACL还包括:
所述DVS解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;
查找与所述虚拟局域网标签相关联的ACL。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数包括步骤:
所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;
若否,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;
若是,则在所述会话表中查找所述转发控制参数。
5.根据权利要求4所述的方法,其特征在于,所述在所述会话表中查找所述转发控制参数包括步骤:
所述会话表中的转发控制参数为目的IP地址和目的端口,若所述目的IP地址和目的端口不为空值,所述DVS将所述数据包转发给所述目的IP地址所在网络设备;
若所述包括目的IP地址和目的端口为空值,所述DVS则丢弃所述数据包。
6.一种数据转发控制系统,其特征在于,所述数据转发控制系统提供多个虚拟机集群,每个所述虚拟机集群包括多个虚拟机VM,所述VM连接到分布式虚拟交换机DVS上,所述系统包括:
配置单元,用于在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
接收单元,用于接收数据包,根据所述数据包确定所述数据包对应的VM;
确定单元,用于确定所述数据包对应的VM相关联的ACL;
查找单元,用于根据所述数据包对应的VM,在所述确定的ACL中查找所述数据包对应的转发控制参数。
7.根据权利要求6所述的系统,其特征在于,所述配置单元包括:
第一创建单元,用于在所述DVS上为每个虚拟机集群创建一个ACL;
第一建立单元,用于建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系;
所述确定单元包括:
第一获取单元,用于解析所述数据包获得所述数据包对应的VM的MAC;
第一查找单元,用于查找与所述VM的MAC地址相关联的ACL。
8.根据权利要求6所述的系统,其特征在于,所述配置单元还用于建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系;
所述确定单元还包括:
第二获取单元,用于解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;
第二查找单元,用于查找与所述虚拟局域网标签相关联的ACL。
9.根据权利要求6~8任一项所述的系统,其特征在于,所述查找单元包括:
判断单元,用于所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;
执行单元,用于若所述判断单元确定所述ACL中没有会话表,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;若所述判断单元确定所述ACL中有会话表,则在所述会话表中查找所述转发控制参数。
10.根据权利要求9所述的系统,其特征在于,所述执行单元包括:
第一执行单元,用于在确定所述ACL中有会话表后,若目的IP地址和目的端口不为空值,将所述数据包转发给所述目的IP地址所在网络设备;若所述包括目的IP地址和目的端口为空值,则丢弃所述数据包。
CN201410052070.1A 2014-02-14 2014-02-14 一种数据转发控制方法及系统 Active CN104852846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410052070.1A CN104852846B (zh) 2014-02-14 2014-02-14 一种数据转发控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410052070.1A CN104852846B (zh) 2014-02-14 2014-02-14 一种数据转发控制方法及系统

Publications (2)

Publication Number Publication Date
CN104852846A CN104852846A (zh) 2015-08-19
CN104852846B true CN104852846B (zh) 2018-11-30

Family

ID=53852211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410052070.1A Active CN104852846B (zh) 2014-02-14 2014-02-14 一种数据转发控制方法及系统

Country Status (1)

Country Link
CN (1) CN104852846B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111213348B (zh) * 2017-10-11 2021-07-16 华为技术有限公司 数据中心系统中域名解析的方法、装置和系统
CN110113202B (zh) * 2019-04-30 2022-02-25 新华三信息安全技术有限公司 一种IPsec诊断方法、装置及本端设备
CN110365697A (zh) * 2019-07-26 2019-10-22 新华三大数据技术有限公司 一种虚拟防火墙设置方法、装置、电子设备及存储介质
CN112511516B (zh) * 2020-11-20 2022-07-01 杭州迪普科技股份有限公司 一种防护攻击的方法及装置
CN112328369B (zh) * 2020-11-24 2024-03-08 北京京投信安科技发展有限公司 一种处理多个虚拟机间访问规则最少化的方法
CN113630275B (zh) * 2021-08-13 2024-03-19 华云数据控股集团有限公司 虚拟机管理器集群的网络互通方法、计算设备和存储介质
CN117938552A (zh) * 2024-03-25 2024-04-26 道普信息技术有限公司 一种基于网络包过滤机制的vpc访问控制及vlan网络穿透方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1791065A (zh) * 2005-12-20 2006-06-21 杭州华为三康技术有限公司 一种接入虚拟局域网的方法
CN101141304A (zh) * 2007-09-18 2008-03-12 杭州华三通信技术有限公司 Acl规则的管理方法和设备
CN101304389A (zh) * 2008-06-20 2008-11-12 华为技术有限公司 报文处理方法、装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751650B2 (en) * 2012-05-10 2014-06-10 Cisco Technology, Inc. Method and apparatus for supporting access control lists in a multi-tenant environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1791065A (zh) * 2005-12-20 2006-06-21 杭州华为三康技术有限公司 一种接入虚拟局域网的方法
CN101141304A (zh) * 2007-09-18 2008-03-12 杭州华三通信技术有限公司 Acl规则的管理方法和设备
CN101304389A (zh) * 2008-06-20 2008-11-12 华为技术有限公司 报文处理方法、装置和系统

Also Published As

Publication number Publication date
CN104852846A (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
CN104852846B (zh) 一种数据转发控制方法及系统
US10749742B2 (en) Managing virtual port channel switch peers from software-defined network controller
US10116559B2 (en) Operations, administration and management (OAM) in overlay data center environments
EP3254417B1 (en) Method and system for supporting port ranging in a software-defined networking (sdn) system
EP3175590B1 (en) Bridging clouds
CN103200069B (zh) 一种报文处理的方法和设备
US10263808B2 (en) Deployment of virtual extensible local area network
EP3197107B1 (en) Message transmission method and apparatus
CN107113241B (zh) 路由确定方法、网络配置方法以及相关装置
US20140233569A1 (en) Distributed Gateway in Virtual Overlay Networks
CN113411243B (zh) 数据传输方法及装置
WO2014136864A1 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
EP3694157B1 (en) Vxlan configuration method, device and system
US20180077048A1 (en) Controller, control method and program
CN106331206B (zh) 域名管理方法及装置
US9860170B2 (en) Method, device, and system for packet routing in a network
US10911354B2 (en) Packet processing method and system, and device
CN104584491A (zh) 提供分布式虚拟路由和交换(dvrs)的系统和方法
EP3292666B1 (en) Multicast data packet forwarding
EP3292664B1 (en) Multicast data packet forwarding
CN104717081A (zh) 一种网关功能的实现方法及装置
US20180088972A1 (en) Controller, control method and program
EP3038296B1 (en) Pool element status information synchronization method, pool register and pool element
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
EP2924925A1 (en) Communication system, virtual-network management device, communication node, and communication method and program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant