一种数据转发控制方法及系统的制作方法

文档序号:8530306阅读:264来源:国知局
一种数据转发控制方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,具体涉及一种数据转发控制方法及系统。
【背景技术】
[0002]在云计算(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服务。
[0003]其中,在匹配ACL时,通常根据数据包获取VM的IP地址,在ACL根据IP地址匹配VM确定丢包或转发。由于VPC能够自由给VM配置IP地址,导致不同VPC中的VM可能具有相同的IP地址,也就是VPC之间将会存在重叠的IP地址,在匹配ACL时造成错误匹配。

【发明内容】

[0004]针对上述缺陷,本发明实施例提供了一种数据转发控制方法及系统,用于提高控制数据转发的正确率和成功率。
[0005]本发明第一方面提供了一种数据转发控制方法,应用于云计算系统,所述云计算系统提供多个虚拟机集群,每个所述虚拟机集群包括多个虚拟机W,所述VM连接到分布式虚拟交换机DVS上,可包括:
[0006]在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
[0007]所述DVS接收数据包,根据所述数据包确定所述数据包对应的VM ;
[0008]所述DVS确定所述数据包对应的VM相关联的ACL ;
[0009]所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数。
[0010]结合第一方面,在第一种可能的实现方式中,所述在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联,包括:在所述DVS上为每个虚拟机集群创建一个ACL ;建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系;
[0011 ] 所述DVS确定所述数据包对应的VM相关联的ACL包括:所述DVS解析所述数据包获得所述数据包对应的VM的MAC ;查找与所述VM的MAC地址相关联的ACL。
[0012]结合第一方面,在第二种可能的实现方式中,该数据转发控制方法还包括:建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系;
[0013]所述DVS确定所述数据包对应的VM相关联的ACL还包括:所述DVS解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;查找与所述虚拟局域网标签相关联的ACL。
[0014]结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述DVS根据所述数据包对应的VM,在确定的ACL中查找所述数据包对应的转发控制参数包括步骤:所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;若否,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;若是,则在所述会话表中查找所述转发控制参数。
[0015]结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述在所述会话表中查找所述转发控制参数包括步骤:所述会话表中的转发控制参数为目的IP地址和目的端口,若所述目的IP地址和目的端口不为空值,所述DVS将所述数据包转发给所述目的IP地址所在网络设备;若所述包括目的IP地址和目的端口为空值,所述DVS则丢弃所述数据包。
[0016]本发明第二方面提供了一种数据转发控制系统,该数据转发控制系统提供多个虚拟机集群,每个所述虚拟机集群包括多个虚拟机VM,所述VM连接到分布式虚拟交换机DVS上,该系统包括:
[0017]配置单元,用于在所述DVS上为每个虚拟机集群配置对应的访问控制列表ACL,其中,所述虚拟机集群对应的ACL与所述虚拟机集群中的VM相关联;
[0018]接收单元,用于接收数据包,根据所述数据包确定所述数据包对应的VM ;
[0019]确定单元,用于确定所述数据包对应的VM相关联的ACL ;
[0020]查找单元,用于根据所述数据包对应的VM,在所述确定的ACL中查找所述数据包对应的转发控制参数。
[0021]结合第二方面,在第一种可能的实现方式中,所述配置单元包括:第一创建单元,用于在所述DVS上为每个虚拟机集群创建一个ACL ;第一建立单元,用于建立所述ACL与所述虚拟机集群中的VM的媒体访问控制地址MAC的关联关系;
[0022]所述确定单元包括:第一获取单元,用于解析所述数据包获得所述数据包对应的VM的MAC ;第一查找单元,用于查找与所述VM的MAC地址相关联的ACL。
[0023]结合第二方面,在第二种可能的实现方式中,所述配置单元还用于建立所述ACL与所述虚拟机集群所在网络的虚拟局域网标签的关联关系;
[0024]所述确定单元还包括:第二获取单元,用于解析所述数据包,获得所述数据包对应的VM所属虚拟机集群所在网络的虚拟局域网标签;第二查找单元,用于查找与所述虚拟局域网标签相关联的ACL。
[0025]结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述查找单元包括:判断单元,用于所述DVS根据所述数据包对应的VM,判断确定的ACL中是否有会话表;所述会话表包括所述转发控制参数;执行单元,用于若所述判断单元确定所述ACL中没有会话表,则在所述ACL中查找所述数据包对应的转发控制参数,并根据所述数据包所携带的信息和查找到的转发控制参数生成会话表;若所述判断单元确定所述ACL中有会话表,则在所述会话表中查找所述转发控制参数。
[0026]结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述执行单元包括:第一执行单元,用于在确定所述ACL中有会话表后,若所述目的IP地址和目的端口不为空值,将所述数据包转发给所述目的IP地址所在网络设备;若所述包括目的IP地址和目的端口为空值,则丢弃所述数据包。
[0027]从以上技术方案可以看出,本发明实施例具有以下优点:
[0028]本发明实施例所提供的数据转发控制系统提供有多个虚拟机集群,每一个虚拟机集群中包括多个虚拟机VM,且每个VM都连接到DVS上。在DVS上为每一个虚拟机集群配置对应的ACL,且该ACL与虚拟机集群中的VM相关联。在DVS接收到数据包时,根据数据包确定数据包对应的VM,之后确定该VM相关联的ACL,最后,在确定的ACL中查找数据包对应的转发控制参数。与现有技术相比,本发明实施例通过在DVS中为每一个虚拟机集群创建对应的ACL,并且创建的ACL和虚拟机集群中的VM相关联,因而,在接收到数据包时,能够根据数据包对应的VM查找到相关联的ACL,进入到各自的ACL中查找数据包对应的转发控制参数,控制数据包转发,避免现有技术中在同一个ACL中控制数据包转发时,若不同虚拟机集群中的VM存在重复IP地址时,导致错误转发或丢包。本发明实施例能够提高控制数据转发的正确率和成功率,且整个系统的网络性能较高。
【附图说明】
[0029]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图Ι-a为本发明一实施例提供的数据转发控制方法的流程示意图;
[0031]图Ι-b为本发明一实施例提供的数据转发控制系统的配置流程图;
[0032]图Ι-c为本发明一实施例提供的数据转发控制系统实现示意图;
[0033]图2_a为本发明另一实施例提供的数据转发控制系统的配置流程图;
[0034]图2_b为本发明另一实施例提供的数据转发控制系统实现示意图;
[0035]图3为本发明另一实施例提供的数据转发控制方法的流程示意图;
[0036]图4为本发明另一实施例提供的数据转发控制方法的流程示意图;
[0037]图5为本发明另一实施例提供的数据转发控制方法的流程示意图;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1