一种访问控制的方法、装置及系统的制作方法

文档序号:7986817阅读:287来源:国知局
一种访问控制的方法、装置及系统的制作方法
【专利摘要】本发明实施例提供一种访问控制的方法、装置及系统,涉及计算机通信领域,能够通过在源虚拟机发送数据包时,在源服务器配置目标服务器上目标虚拟机的数据包转发规则,实现在源服务器对数据包进行处理,从而降低网络流量的消耗。该方法包括:根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;其中,源虚拟机运行在源服务器上,目标虚拟机运行在目标服务器上;若源服务器未查询到转发规则,源服务器发送第一数据包至目标服务器;源服务器接收来自目标服务器的转发规则,并将转发规则存入第一转发表。
【专利说明】—种访问控制的方法、装置及系统
【技术领域】
[0001]本发明涉及计算机通信领域,尤其涉及一种访问控制的方法、装置及系统。
【背景技术】
[0002]现有技术中,在虚拟化环境下,可通过分布式虚拟交换机实现ACUAccessControl List,访问控制列表)规则,即可在分布式虚拟交换机端口设置ACL规则,若虚拟机接收到数据包,该虚拟机中的控制模块则将通过对该虚拟机的ACL规则进行查询并判断,以得到对收到的数据包的处理方式,从而达到控制访问的目的。
[0003]在这种访问控制机制下,运行在一台服务器上的虚拟机向运行在另一台服务器上的虚拟机发送数据包时,另一台服务器根据ACL规则对收到的数据包进行处理,根据访问规则,如果将该数据包丢弃,将造成该数据包在传送过程中对网络流量的消耗。

【发明内容】

[0004]本发明的实施例提供一种访问控制的方法、装置及系统,能够通过在源虚拟机发送数据包时,在源服务器配置目标服务器上目标虚拟机的数据包转发规则,实现在源服务器对数据包进行处理,从而降低网络流量的消耗。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]根据本发明的第一方面,一种访问控制的方法,包括:
[0007]根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;其中,所述源虚拟机运行在所述源服务器上,所述目标虚拟机运行在目标服务器上;
[0008]若所述源服务器未查询到所述转发规则,所述源服务器发送所述第一数据包至所述目标服务器;
[0009]所述源服务器接收来自所述目标服务器的所述转发规则,并将所述转发规则存入所述第一转发表。
[0010]在第一方面的第一种可能的实现方式中,所述方法还包括:
[0011]若所述源服务器在所述第一转发表中查询到所述转发规则,所述源服务器根据所述转发规则判断是否丢弃所述第一数据包。
[0012]根据本发明的第二方面,一种访问控制的方法,包括:
[0013]目标服务器接收来自源服务器的第一数据包;其中,所述第一数据包为运行在所述源服务器上的源虚拟机向运行在所述目标服务器上的目标虚拟机发送的;
[0014]根据所述第一数据包,所述目标服务器查询第二转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;
[0015]若所述目标服务器未查询到所述转发规则,所述目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表;
[0016]所述目标服务器发送所述转发规则至所述源服务器。
[0017]在第二方面的第一种可能的实现方式中,当所述目标服务器根据所述ACL生成所述转发规则时,还包括:
[0018]所述目标服务器根据所述转发规则判断是否丢弃所述第一数据包。
[0019]根据本发明的第三方面,一种服务器,包括:
[0020]处理单元,用于根据源虚拟机向目标虚拟机发送的第一数据包,查询第一转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;其中,所述源虚拟机运行在所述服务器上,所述目标虚拟机运行在目标服务器上;
[0021]发送单元,用于若所述处理单元未查询到所述转发规则,发送所述第一数据包至所述目标服务器;
[0022]接收单元,用于接收来自所述目标服务器的所述转发规则;
[0023]所述处理单元,还用于将所述接收单元接收的所述转发规则存入所述第一转发表。
[0024]在第三方面的第一种可能的实现方式中,若所述处理单元在所述第一转发表中查询到所述转发规则,所述处理单元,还用于根据所述转发规则判断是否丢弃所述第一数据包。
[0025]根据本发明的第四方面,一种服务器,包括:
[0026]接收单元,用于接收来自源服务器的第一数据包;其中,所述第一数据包为运行在所述源服务器上的源虚拟机向运行在所述服务器上的目标虚拟机发送的;
[0027]处理单元,用于根据所述第一数据包,查询第二转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;若所述处理单元未查询到所述转发规则,所述处理单元则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表;
[0028]发送单元,用于发送所述转发规则至所述源服务器。
[0029]在第四方面的第一种可能的实现方式中,当所述处理单元根据所述ACL生成所述转发规则时,还用于根据所述转发规则判断是否丢弃所述第一数据包。
[0030]根据本发明的第五方面,一种访问控制系统,包括:源服务器和目标服务器,其中,源虚拟机运行在所述源服务器上,目标虚拟机运行在所述目标服务器上;
[0031]根据所述源虚拟机向所述目标虚拟机发送的第一数据包,所述源服务器查询第一转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;
[0032]若所述源服务器未查询到所述转发规则,所述源服务器发送所述第一数据包至所述目标服务器;
[0033]所述目标服务器接收来自所述源服务器的所述第一数据包;根据所述第一数据包,所述目标服务器查询第二转发表是否包括所述转发规则;
[0034]若所述目标服务器未查询到所述转发规则,所述目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表;
[0035]所述目标服务器发送所述转发规则至所述源服务器;
[0036]所述源服务器接收所述目标服务器发送的所述转发规则,并将所述转发规则存入所述第一转发表。
[0037]本发明的实施例提供一种访问控制的方法、装置及系统,根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;若源服务器未查询到所述转发规则,源服务器发送所述第一数据包至目标服务器;目标服务器接收来自源服务器的第一数据包;查询第二转发表是否包括所述转发规则;若目标服务器未查询到所述转发规则,目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表;目标服务器发送所述转发规则至源服务器;源服务器接收所述转发规则,并将所述转发规则存入所述第一转发表,则在源服务器和目标服务器都存储所述转发规则,从而可以在源服务器即可对从源虚拟机向目标虚拟机发送的数据包进行处理,从而节约了网络数据传输量。
【专利附图】

【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1为本发明实施例提供的一种访问控制的方法的方法流程图一;
[0040]图2为本发明实施例提供的一种访问控制的方法的方法流程图二 ;
[0041]图3为本发明实施例提供的一种访问控制的方法的方法流程图三;
[0042]图4为本发明实施例提供的一种访问控制的方法的方法流程图四;
[0043]图5为本发明实施例提供的一种服务器的结构示意图一;
[0044]图6为本发明实施例提供的一种服务器的结构示意图二 ;
[0045]图7为本发明实施例提供的一种访问控制的系统的结构示意图。
【具体实施方式】
[0046]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]实施例一
[0048]本发明实施例提供一种访问控制的方法,如图1所示,包括:
[0049]S101、根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;其中,源虚拟机运行在源服务器上,目标虚拟机运行在目标服务器上。[0050]虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,人们可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全可以就像真正的计算机那样进行工作,例如人们可以安装操作系统、安装应用程序以及访问网络资源等。本发明实施例中,源虚拟机和目标虚拟机分别为运行在源服务器和目标服务器上的两台虚拟机,源服务器可用来控制源虚拟机的工作,目标服务器可用来控制目标虚拟机的工作。
[0051]需要说明的是,第一数据包为源虚拟机需传输至目标虚拟机的数据中的数据包,根据通信原理,若源虚拟机需传输数据至目标虚拟机,则该数据将被分成很多个数据包依次传输至目标虚拟机,且每个数据包都由一个包头信息和实际需传输的数据组成,其中,包头信息可以包括源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP (Transmission Control Protocol,传输控制协议)等,以用来指示源服务器需将源虚拟机的此包数据发送至目标虚拟机。
[0052]进一步地,本发明实施例提供的数据包包头信息中包括的TCP还可以为UDP(UserDatagram Protocol,用户数据报协议)或 ICMP (Internet Control Message Protocol,互联网控制报文协议)等满足要求的协议,本发明不做限制。
[0053]不例性的,源服务器中包括第一转发表,第一转发表中包括多条转发规则。这些转发规则包含为源虚拟机与其他虚拟机之间收发的数据包的转发规则,用来指示源虚拟机是否可以与其他虚拟机之间进行收发某些数据包。
[0054]需要说明的是,本发明实施例中,源服务器根据源虚拟机向目标虚拟机发送的第一数据包中携带的源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口,以及源虚拟机与目标虚拟机之间收发的数据包的转发规则,判断是否丢弃第一数据包,以用来指示源虚拟机与目标虚拟机之间能否进行收发某些数据包。
[0055]源服务器根据第一数据包中携带的源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等信息,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,以根据该转发规则判断是否丢弃该第一数据包。
[0056]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0057]S102、若源服务器未查询到转发规则,源服务器发送第一数据包至目标服务器。
[0058]若源服务器在第一转发表中未查询到上述的源虚拟机与目标虚拟机之间收发的数据包的转发规则,源服务器则将第一数据包发送至目标服务器,以使得目标服务器根据第一数据包中包含的包头信息,在第二转发表中查询是否包括转发规则,若目标服务器在第二转发表中仍未查询到转发规则,目标服务器则根据预设的访问控制列表ACL生成源虚拟机与目标虚拟机之间收发的数据包的转发规则。
[0059]进一步地,目标服务器中包括第二转发表,第二转发表中包括多条转发规则。这些转发规则包含目标虚拟机与其他虚拟机之间收发的数据包的转发规则,用来指示目标虚拟机是否可以与其他虚拟机之间进行收发某些数据包。
[0060]进一步地,ACL规则为预设的一个访问控制列表规则,它是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL中包含了匹配关系、条件和查询语句,可以用来对某种访问进行控制,也就是说,若一台设备需要访问另一台设备,但是另一台设备由于有重要的信息不能公开给该设备,即另一台设备拒绝该设备的访问,那么,就可以通过设置ACL规则实现阻止该设备对该另一台设备的访问,如本发明实施例提出的方法,该设备发送给另一台设备的数据包将被丢弃。
[0061]S103、源服务器接收来自目标服务器的转发规则,并将转发规则存入第一转发表。
[0062]目标服务器将生成的转发规则发送至源服务器,也就是说,源服务器接收来自目标服务器的转发规则,并将该转发规则存入第一转发表中,进而,若源虚拟机后续需传输其他数据包至目标虚拟机,源服务器则直接根据上述的转发规则判断是否丢弃其他数据包。
[0063]本发明提供一种访问控制的方法,如图2所示,包括:
[0064]S201、目标服务器接收来自源服务器的第一数据包;其中,第一数据包为运行在源服务器上的源虚拟机向运行在目标服务器上的目标虚拟机发送的。
[0065]示例性的,目标服务器接收到来自源服务器的第一数据包,第一数据包为运行在源服务器上的源虚拟机向运行在目标服务器上的目标虚拟机发送的。
[0066]S202、根据第一数据包,目标服务器查询第二转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包。
[0067]示例性的,目标服务器根据第一数据包中携带的源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的地址以及TCP等信息,在第二转发表中查询是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,以根据该转发规则判断是否丢弃第一数据包,并且指示源虚拟机是否可以与目标虚拟机之间进行收发某些数据包。
[0068]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0069]S203、若目标服务器未查询到转发规则,目标服务器则根据预设的访问控制列表ACL生成转发规则,并将转发规则存入第二转发表。
[0070]示例性的,若目标服务器在第二转发表中未查询到源虚拟机和目标虚拟机之间收发的数据包的转发规则,目标服务器则根据提前设置的ACL生成源虚拟机与目标虚拟机之间收发的数据包的转发规则,并将该转发规则存入目标服务器的第二转发表中。
[0071]S204、目标服务器发送转发规则至源服务器。
[0072]目标服务器生成源虚拟机与目标虚拟机之间收发的数据包的转发规则之后,将该转发规则发送至源服务器,以使得源服务器可以在后续的源虚拟机与目标虚拟机进行数据包传输过程中,根据该转发规则判断是否丢弃相应的数据包。
[0073]本发明实施例提供一种访问控制的方法,根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;若源服务器未查询到所述转发规则,源服务器发送所述第一数据包至目标服务器;目标服务器接收来自源服务器的第一数据包;查询第二转发表是否包括所述转发规则;若目标服务器未查询到所述转发规则,目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表;目标服务器发送所述转发规则至源服务器;源服务器接收所述转发规则,并将所述转发规则存入所述第一转发表,则在源服务器和目标服务器都存储所述转发规则,从而可以在源服务器即可对从源虚拟机向目标虚拟机发送的数据包进行处理,从而节约了网络数据传输量。
[0074]实施例二
[0075]本发明实施例提供一种访问控制的方法,如图3所示,包括:
[0076]S301、根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;其中,源虚拟机运行在源服务器上,目标虚拟机运行在目标服务器上。
[0077]虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,人们可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全可以就像真正的计算机那样进行工作,例如人们可以安装操作系统、安装应用程序以及访问网络资源等。
[0078]本发明实施例中,源虚拟机和目标虚拟机分别为运行在源服务器和目标服务器上的两台虚拟机,源服务器可用来控制源虚拟机的工作,目标服务器可用来控制目标虚拟机的工作。
[0079]进一步地,第一数据包为运行在源服务器上的源虚拟机向运行在目标服务器上的目标虚拟机发送的,根据通信原理,若源虚拟机需传输数据至目标虚拟机,则该数据将被分成很多个数据包依次传输至目标虚拟机,且每个数据包都由一个包头信息和实际需传输的数据组成,其中,包头信息可以包括源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等,以用来指示源服务器需将源虚拟机的此包数据发送至目标虚拟机。
[0080]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0081]示例性的,源服务器中包括第一转发表,第一转发表中包括多条转发规则。这些转发规则包括源虚拟机与其他虚拟机之间的转发规则,用来指示源虚拟机是否可以与其他虚拟机之间进行收发某些数据包。
[0082]需要说明的是,本发明实施例中,源服务器根据源虚拟机向目标虚拟机发送的第一数据包中携带的源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口等信息,以及源虚拟机与目标虚拟机之间收发的数据包的转发规则,判断是否丢弃第一数据包,以用来指示源虚拟机与目标虚拟机之间能否进行收发某些数据包。
[0083]源服务器根据第一数据包中携带的源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等信息,源服务器查询第一转发表中是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,以根据该转发规则判断是否丢弃该第一数据包。
[0084]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0085]S302、若源服务器未查询到转发规则,源服务器发送第一数据包至目标服务器。
[0086]示例性的,若源服务器在第一转发表中未查询到源虚拟机与目标虚拟机之间收发的数据包的转发规则,源服务器则将第一数据包发送至目标服务器。[0087]当然,若源服务器在第一转发表中查询到了源虚拟机与目标虚拟机之间收发的数据包的转发规则,那么,源服务器则直接根据该转发规则判断是否丢弃第一数据包,也就是说,源服务器直接根据该转发规则对第一数据包进行过滤,而不再将第一数据包转发至目标服务器去进行过滤了。
[0088]S303、根据第一数据包,目标服务器查询第二转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则。
[0089]进一步地,目标服务器中包括第二转发表,第二转发表中也包括多条转发规则。这些转发规则包括目标虚拟机与其他虚拟机之间收发的数据包的转发规则,用来指示目标虚拟机是否可以与其他虚拟机之间进行收发数据包。
[0090]若源服务器在第一转发表中未查询到上述源虚拟机与目标虚拟机之间收发的数据包的转发规则,源服务器则将第一数据包发送至目标服务器,以使得目标服务器接收到来自源服务器的第一数据包之后,目标服务器根据第一数据包中携带的包头信息,在第二转发表中查询是否包括转发规则。
[0091]S304、若目标服务器未查询到转发规则,目标服务器根据预设的访问控制列表ACL生成转发规则,并将转发规则存入第二转发表。
[0092]ACL规则为预设的一个访问控制列表规则,它是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL中包含了匹配关系、条件和查询语句,可以用来对某种访问进行控制,也就是说,若一台设备需要访问另一台设备,但是另一台设备由于有比较重要的信息不能公开给该设备,即另一台设备拒绝该设备的访问,那么,就可以通过设置ACL规则实现阻止该设备访问该另一台设备,如本发明实施例提出的方法,该设备发送给该另一台设备的数据包将被丢弃。
[0093]若目标服务器在第二转发表中仍未查询到源虚拟机与目标虚拟机之间收发的数据包的转发规则,目标服务器则根据预设的ACL生成源虚拟机与目标虚拟机之间收发的数据包的转发规则,并将该转发规则存入目标服务器的第二转发表中。
[0094]S305、目标服务器根据生成的转发规则判断是否丢弃第一数据包。
[0095]目标服务器首先根据生成的转发规则判断是否丢弃第一数据包,若不丢弃,则表示目标虚拟机允许接收源虚拟机发送的第一数据包,目标服务器则将第一数据包转至目标虚拟机,并且,目标服务器将生成的转发规则发送至源服务器,以使得源服务器可以获取到源虚拟机与目标虚拟机之间收发的数据包的转发规则。
[0096]S306、源服务器接收来自目标服务器的转发规则,并将转发规则存入第一转发表。
[0097]源服务器接收到目标服务器发送的转发规则之后,源服务器将转发规则存入第一转发表中,以使得若源虚拟机需传输其他数据包至目标虚拟机,源服务器则根据转发规则判断是否丢弃其他数据包。
[0098]需要说明的是,第一数据包传输完成后,若源虚拟机后续需传输其他数据包至目标虚拟机,源服务器则根据存入第一转发表中的源虚拟机与目标虚拟机之间收发的数据包的转发规则判断是否丢弃其他数据包,若需丢弃,源服务器则可直接将其他数据包丢弃,不用再将其他数据包传输至目标服务器,由目标服务器再根据转发规则判断是否丢弃了,这样,通过在发送端控制数据包的方法,节省了网络流量。
[0099]需要说明的是,步骤S306中源服务器接收来自目标服务器的转发规则具体可以为:目标服务器发送转发规则至分布式虚拟交换机或虚拟数据中心;源服务器接收分布式虚拟交换机或虚拟数据中心转发的转发规则。
[0100]具体的,由于分布式虚拟交换机的管理模块或虚拟数据中心的管理模块中保存了源虚拟机与源服务器之间的对应关系,因此,分布式虚拟交换机的管理模块或虚拟数据中心的管理模块根据源虚拟机与源服务器之间的对应关系以及转发规则中包括的源虚拟机的地址,将转发规则发送至源服务器。
[0101]分布式虚拟交换机为软件模拟的关联主机间的以太网交换机,当两个或多个虚拟机连接到同一分布式虚拟交换机时,它们之间的网络流量就会由分布式虚拟交换机统一交
换和管理。
[0102]虚拟数据中心为通过虚拟化技术将整个数据中心的计算资源统一抽象出来,形成可以按一定粒度分配的计算资源池。虚拟化后的资源池屏蔽了各种物理服务器的差异,形成了统一的、云内部标准化的逻辑CPU (Central Processing Unit,中央处理单元)、逻辑内存、逻辑存储空间、逻辑网络接口,任何用户使用的虚拟化资源在调度、供应、度量上都具有
一致性。
[0103]进一步地,作为本发明实施例的另外一种实现方式,如图4所示,一种访问控制的方法包括:
[0104]S401、根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;其中,源虚拟机运行在源服务器上,目标虚拟机运行在目标服务器上。
[0105]本发明实施例中,源虚拟机运行在源服务器上,目标虚拟机运行在目标服务器上,源服务器可用于控制源虚拟机的工作,目标服务器可用于控制目标虚拟机的工作。
[0106]需要说明的是,根据通信原理,若源虚拟机需发送数据至目标虚拟机,则该数据将被分成很多个数据包依次发送至目标虚拟机,其中,每个数据包均包括一个包头信息和实际需传输的数据,数据包的包头信息可以包括源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等信息,以用来指示源服务器需将源虚拟机的此包数据发送至目标虚拟机。
[0107]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0108]示例性的,本发明实施例提供的源虚拟机与目标虚拟机之间收发的数据包的转发规则用来指示源虚拟机与目标虚拟机之间能否进行收发某些数据包。源服务器根据源虚拟机向目标虚拟机发送的第一数据包中携带的源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口等信息,以及源虚拟机与目标虚拟机之间收发的数据包的转发规则,判断是否丢弃第一数据包。
[0109]源服务器根据第一数据包中携带的源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等信息,在源服务器的第一转发表中查询是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,从而根据该转发规则判断是否丢弃
第一数据包。
[0110]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0111]S402、若源服务器未查询到该转发规则,源服务器发送转发规则请求消息至目标服务器,转发规则请求消息包括源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等信息。
[0112]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0113]若源服务器在的第一转发表中未查询到源虚拟机与目标虚拟机之间收发的数据包的转发规则,源服务器则发送转发规则请求消息至目标服务器,以用来请求目标服务器将该转发规则发送至源服务器,其中,转发规则请求消息可以包括源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等信息,转发规则请求消息可以用来指示目标服务器需将源虚拟机与目标虚拟机之间收发的数据包的转发规则发送至源服务器。
[0114]当然,若源服务器在第一转发表中查询到了源虚拟机与目标虚拟机之间收发的数据包的转发规则,那么,源服务器则直接根据该转发规则判断是否丢弃第一数据包,也就是说,源服务器直接根据转发规则对第一数据包进行过滤,而不再发送转发规则请求消息至目标服务器,以请求目标服务器将转发规则发送至源服务器了。
[0115]S403、目标服务器根据转发规则请求消息查询第二转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则。
[0116]目标服务器接收到来自源服务器的转发规则请求消息后,根据该转发规则请求消息在目标服务器的第二转发表中查询是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则。
[0117]S404、若目标服务器未查询到转发规则,目标服务器根据预设的访问控制列表ACL生成转发规则,并将转发规则存入第二转发表。
[0118]上述ACL规则为路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL中包含了匹配关系、条件和查询语句,可以用来对某种访问进行控制,即可以通过在路由器或交换机中设置ACL规则控制某种访问,例如,一台设备需访问另一台设备,但是另一台设备不允许被该设备访问,则可以通过设置ACL规则实现该另一台设备拒绝该设备的访问。
[0119]若目标服务器在第二转发表中未查询到源虚拟机与目标虚拟机之间收发的数据包的转发规则,目标服务器则根据预设的ACL生成该转发规则,且目标服务器将该转发规则存入目标服务器的第二转发表中,并将该转发规则发送至源服务器。
[0120]S405、源服务器接收来自目标服务器的转发规则,并将转发规则存入第一转发表,以及根据转发规则判断是否丢弃第一数据包。
[0121]源服务器接收来自目标服务器发送的源虚拟机与目标虚拟机之间收发的数据包的转发规则之后,源服务器将该转发规则存入源服务器的第一转发表中,以及,源服务器根据该转发规则判断是否丢弃运行在源服务器上的源虚拟机向运行在目标服务器上的目标虚拟机发送的第一数据包。
[0122]需要说明的是,上述步骤S405中源服务器接收来自目标服务器的转发规则具体可以为:目标服务器发送转发规则至分布式虚拟交换机或虚拟数据中心;源服务器接收分布式虚拟交换机或虚拟数据中心转发的转发规则。
[0123]可以理解的是,源服务器通过在第一数据包发送至目标服务器之前根据源虚拟机与目标虚拟机之间收发的数据包的转发规则判断是否丢弃第一数据包,从而可以达到数据包在发送端进行过滤的目的,节省了网络流量。
[0124]本发明实施例提供一种访问控制的方法,根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;若源服务器未查询到所述转发规则,源服务器发送所述第一数据包至目标服务器;目标服务器接收来自源服务器的第一数据包;查询第二转发表是否包括所述转发规则;若目标服务器未查询到所述转发规则,目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表;目标服务器发送所述转发规则至源服务器;源服务器接收所述转发规则,并将所述转发规则存入所述第一转发表,则在源服务器和目标服务器都存储所述转发规则,从而可以在源服务器即可对从源虚拟机向目标虚拟机发送的数据包进行处理,从而节约了网络数据传输量。
[0125]实施例三
[0126]如图5所示,本发明实施例提供一种服务器,为源服务器1,包括:
[0127]处理单元11,用于根据源虚拟机向目标虚拟机发送的第一数据包,查询第一转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;其中,所述源虚拟机运行在所述服务器上,所述目标虚拟机运行在目标服务器上。
[0128]发送单元12,用于若所述处理单元11未查询到所述转发规则,发送所述第一数据包至所述目标服务器。
[0129]接收单元10,用于接收来自所述目标服务器的所述转发规则。
[0130]所述处理单元11,还用于将所述接收单元接收的所述转发规则存入所述第一转发表。
[0131]进一步地,若所述处理单元11在所述第一转发表中查询到所述转发规则,所述处理单元11,还用于根据所述转发规则判断是否丢弃所述第一数据包。
[0132]进一步地,源服务器I应用于本发明实施例提供的访问控制的方法的另一种实现方式中,若所述处理单元11在所述第一转发表中未查询到所述转发规则,所述发送单元12,用于发送转发规则请求消息至所述目标服务器,所述转发规则请求消息包括所述源虚拟机的地址、所述源虚拟机的端口、所述目标虚拟机的地址、所述目标虚拟机的端口以及TCP。
[0133]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0134]同样的,所述接收单元10,用于接收来自所述目标服务器的所述转发规则,并根据所述转发规则判断是否丢弃所述第一数据包。
[0135]本发明实施例提供一种服务器,源服务器根据源虚拟机向目标虚拟机发送的第一数据包,查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;其中,源虚拟机运行在源服务器上,目标虚拟机运行在目标服务器上;若源服务器未查询到所述转发规贝1J,源服务器发送所述第一数据包至目标服务器;源服务器接收来自目标服务器的所述转发规则,并将所述转发规则存入第一转发表,则在源服务器和目标服务器都存储所述转发规则,从而可以在源服务器即可对从源虚拟机向目标虚拟机发送的数据包进行处理,从而节约了网络数据传输量。
[0136]如图6所示,本发明实施例提供一种服务器,为目标服务器2,包括:
[0137]接收单元20,用于接收来自源服务器的第一数据包;其中,所述第一数据包为运行在所述源服务器上的源虚拟机向运行在所述服务器上的目标虚拟机发送的。
[0138]处理单元21,用于根据所述第一数据包,查询第二转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;若所述处理单元未查询到所述转发规则,所述处理单元则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表。
[0139]发送单元22,用于发送所述转发规则至所述源服务器。
[0140]进一步地,当所述处理单元21根据所述ACL生成所述转发规则时,还用于根据所述转发规则判断是否丢弃所述第一数据包。
[0141]进一步地,目标服务器2应用于本发明实施例提供的访问控制的方法的另一种实现方式中,所述接收单元20,用于接收来自所述源服务器的转发规则请求消息,所述转发规则请求消息包括所述源虚拟机的地址、所述源虚拟机的端口、所述目标虚拟机的地址、所述目标虚拟机的端口以及TCP。
[0142]所述处理单元21,用于根据所述转发规则请求消息查询所述第二转发表是否包括所述转发规则。
[0143]本发明实施例提供一种服务器,目标服务器接收来自源服务器的第一数据包;其中,所述第一数据包为运行在源服务器上的源虚拟机向运行在目标服务器上的目标虚拟机发送的;目标服务器根据所述第一数据包,查询第二转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;若目标服务器未查询到所述转发规则,目标服务器则根据预设的ACL生成所述转发规则,并将所述转发规则存入第二转发表;以及,目标服务器发送所述转发规则至源服务器,则在源服务器和目标服务器都存储所述转发规则,从而可以在源服务器即可对从源虚拟机向目标虚拟机发送的数据包进行处理,从而节约了网络数据传输量。
[0144]实施例四
[0145]本发明实施例提供一种访问控制的系统,如图7所示,包括:
[0146]实施例三所述的源服务器I和目标服务器2,其中,源虚拟机3运行在所述源服务器I上,目标虚拟机4运行在所述目标服务器2上。
[0147]根据所述源虚拟机3向所述目标虚拟机4发送的第一数据包,所述源服务器I查询第一转发表是否包括所述源虚拟机3与所述目标虚拟机4之间收发的数据包的转发规贝U,所述转发规则用于指示是否丢弃所述源虚拟机3与所述目标虚拟机4之间收发的数据包。
[0148]若所述源服务器I未查询到所述转发规则,所述源服务器I发送所述第一数据包至所述目标服务器2。
[0149]所述目标服务器2接收来自所述源服务器I的所述第一数据包;根据所述第一数据包,所述目标服务器2查询第二转发表是否包括所述转发规则。
[0150]若所述目标服务器2未查询到所述转发规则,所述目标服务器2则根据预设的ACL生成所述转发规则,并将所述转发规则存入所述第二转发表。
[0151 ] 所述目标服务器2发送所述转发规则至所述源服务器I。
[0152]所述源服务器I接收所述目标服务器2发送的所述转发规则,并将所述转发规则存入所述第一转发表。
[0153]本发明实施例中,源虚拟机3和目标虚拟机4分别为运行在源服务器I和目标服务器2上的两台虚拟机,源服务器I可用于控制源虚拟机3的工作,对应的,目标服务器2可用于控制目标虚拟机4的工作。
[0154]进一步地,本发明实施例提供的访问控制的方法的另外一种实现方式,应用于上述访问控制的系统中时,若所述源服务器I若未查询到所述转发规则,所述源服务器发送转发规则请求消息至所述目标服务器2,以及,所述源服务器I接收来自所述目标服务器2发送的所述转发规则,并将所述转发规则存入所述第一转发表,并根据所述转发规则判断是否丢弃所述第一数据包,转发规则请求消息可以包括源虚拟机的地址、源虚拟机的端口、目标虚拟机的地址、目标虚拟机的端口以及TCP等信息。
[0155]本发明实施例提供的访问控制系统中的源服务器I和目标服务器2具体可以为普通的计算机、工作站或专用服务器等,本发明不作具体限定,本发明实施例四中的源服务器I和目标服务器2,均具有存储器和至少一个中央处理器,所述存储器与所述至少一个中央处理器通过总线相连,存储器存储计算机指令,所述至少一个中央处理器用于执行存储器中的计算机指令,同时也包含通用的外部接口等实现服务器功能的一些必要组件。其中,存储器中存储的计算机指令的算法可以参照本发明实施例一的描述,在此不再赘述。
[0156]需要说明的是,本发明实施例提供的第一数据包不仅可以为TCP数据包,还可以为UDP或ICMP等数据包,本发明不做限制。
[0157]本发明实施例提供一种访问控制的系统,根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括源虚拟机与目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃源虚拟机与目标虚拟机之间收发的数据包;若源服务器未查询到所述转发规则,源服务器发送所述第一数据包至目标服务器;目标服务器接收来自源服务器的第一数据包;查询第二转发表是否包括所述转发规则;若目标服务器未查询到所述转发规则,目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表;目标服务器发送所述转发规则至源服务器;源服务器接收所述转发规则,并将所述转发规则存入所述第一转发表,则在源服务器和目标服务器都存储所述转发规则,从而可以在源服务器即可对从源虚拟机向目标虚拟机发送的数据包进行处理,从而节约了网络数据传输量。
[0158]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0159]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0160]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0161]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0162]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0163]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种访问控制的方法,其特征在于,包括: 根据源虚拟机向目标虚拟机发送的第一数据包,源服务器查询第一转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;其中,所述源虚拟机运行在所述源服务器上,所述目标虚拟机运行在目标服务器上; 若所述源服务器未查询到所述转发规则,所述源服务器发送所述第一数据包至所述目标服务器; 所述源服务器接收来自所述目标服务器的所述转发规则,并将所述转发规则存入所述第一转发表。
2.根据权利要求1所述的访问控制的方法,其特征在于,还包括: 若所述源服务器在所述第一转发表中查询到所述转发规则,所述源服务器根据所述转发规则判断是否丢弃所述第一数据包。
3.—种访问控制的方法,其特征在于,包括: 目标服务器接收来自源服务器的第一数据包;其中,所述第一数据包为运行在所述源服务器上的源虚拟机向运行在所述目标服务器上的目标虚拟机发送的; 根据所述第一数据包,所述目标服务器查询第二转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包; 若所述目标服务器未查询到·所述转发规则,所述目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表; 所述目标服务器发送所述转发规则至所述源服务器。
4.根据权利要求3所述的访问控制的方法,其特征在于,当所述目标服务器根据所述ACL生成所述转发规则时,还包括: 所述目标服务器根据所述转发规则判断是否丢弃所述第一数据包。
5.一种服务器,其特征在于,包括: 处理单元,用于根据源虚拟机向目标虚拟机发送的第一数据包,查询第一转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;其中,所述源虚拟机运行在所述服务器上,所述目标虚拟机运行在目标服务器上; 发送单元,用于若所述处理单元未查询到所述转发规则,发送所述第一数据包至所述目标服务器; 接收单元,用于接收来自所述目标服务器的所述转发规则; 所述处理单元,还用于将所述接收单元接收的所述转发规则存入所述第一转发表。
6.根据权利要求5所述的服务器,其特征在于,若所述处理单元在所述第一转发表中查询到所述转发规则,所述处理单元,还用于根据所述转发规则判断是否丢弃所述第一数据包。
7.一种服务器,其特征在于,包括: 接收单元,用于接收来自源服务器的第一数据包;其中,所述第一数据包为运行在所述源服务器上的源虚拟机向运行在所述服务器上的目标虚拟机发送的;处理单元,用于根据所述第一数据包,查询第二转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包;若所述处理单元未查询到所述转发规则,所述处理单元则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表; 发送单元,用于发送所述转发规则至所述源服务器。
8.根据权利要求7所述的服务器,其特征在于,当所述处理单元根据所述ACL生成所述转发规则时,还用于根据所述转发规则判断是否丢弃所述第一数据包。
9.一种访问控制的系统,其特征在于,包括:源服务器和目标服务器,其中,源虚拟机运行在所述源服务器上,目标虚拟机运行在所述目标服务器上; 根据所述源虚拟机向所述目标虚拟机发送的第一数据包,所述源服务器查询第一转发表是否包括所述源虚拟机与所述目标虚拟机之间收发的数据包的转发规则,所述转发规则用于指示是否丢弃所述源虚拟机与所述目标虚拟机之间收发的数据包; 若所述源服务器未查询到所述转发规则,所述源服务器发送所述第一数据包至所述目标服务器; 所述目标服务器接收来自所述源服务器的所述第一数据包;根据所述第一数据包,所述目标服务器查询第二转发表是否包括所述转发规则; 若所述目标服务器未查询到所述转发规则,所述目标服务器则根据预设的访问控制列表ACL生成所述转发规则,并将所述转发规则存入所述第二转发表; 所述目标服务器发送所述转发规则至所述源服务器; 所述源服务器接收所述目·标服务器发送的所述转发规则,并将所述转发规则存入所述第一转发表。
【文档编号】H04L29/06GK103856460SQ201210512613
【公开日】2014年6月11日 申请日期:2012年12月4日 优先权日:2012年12月4日
【发明者】闫立俊 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1