说明书
发明名称 : 虚拟网络中的数据引流装置及数据引流方法
[0001]
本申请涉及虚拟网络技术领域,特别涉及一种虚拟网络中的数据引流装置及数据引流方法。
[0002]
在云场景等虚拟化网络中,两个虚拟机(virtual machine,VM)之间可以相互发送数据,以进行通信。并且,一个虚拟机在向另一个虚拟机发送数据的过程中,该数据在传递至另一个虚拟机之前,通常被引流至安全服务节点,由安全服务节点对该数据进行处理,以监测两个虚拟机之间的通信的安全性,并由安全服务节点将该数据转发至另一个虚拟机。
[0003]
相关技术中可以通过虚拟网关的方式将数据引流至安全服务节点。具体地,当虚拟机A需要向虚拟机B发送数据时,虚拟机A先将数据发送至虚拟机A所在的虚拟局域网(virtual extensible LAN,VxLAN)的虚拟网关A,由虚拟网关A对该数据进行封装,封装之后的数据中携带的目的地址为安全服务节点的地址。当安全服务节点接收到封装之后的数据时,进行解封之后得到该数据,以便后续对该数据进行处理。另外,安全服务节点在解封得到该数据之后,重新对该数据进行封装,封装之后的数据中携带的目的地址为虚拟机B所在的虚拟局域网中的虚拟网关B的地址,由虚拟网关B最终将该数据发送至虚拟机B。
[0004]
相关技术中还可以通过内存传递的方式将数据引流至安全服务节点。具体地,当虚拟机A需要向虚拟机B发送数据时,虚拟机A将数据写入虚拟机A对应的内存,安全服务节点从虚拟机A对应的内存中读取该数据,并将该数据重新写入虚拟机B对应的内存,以实现将虚拟机A的数据发送至虚拟机B。
[0005]
对于上述通过虚拟网关的方式,需要安全服务节点能够提前明确虚拟网关封装数据时采用的协议。对于上述通过内存传递的方式,需要安全服务节点预先定制开发与虚拟机的内存匹配的应用程序编程接口(application programming interface,API)接口。而安全服务节点通常由第三方提供,导致这两种方式中均需要对第三方提供的安全服务节点预先进行大量的适配工作,影响了上述数据引流过程的灵活性。
[0007]
本申请实施例提供了一种虚拟网络中的数据引流装置及数据引流方法,可以提高数据引流的灵活性。
[0008]
第一方面,提供了一种虚拟网络中的数据引流装置,该数据引流装置包括第一虚拟机、第二虚拟机、安全服务节点和虚拟交换机;第一虚拟机、第二虚拟机、安全服务节点分别与虚拟交换机连接;虚拟交换机用于根据流表将第一虚拟机和第二虚拟机之间传输的数据转发至安全服务节点,以指示安全服务节点对第一数据进行处理,流表用于指示虚拟交换机传输数据的路由规则。
[0009]
由于第一虚拟机、第二虚拟机、安全服务节点分别与虚拟交换机连接,而流表用于指示虚拟交换机传输数据的路由规则,因此,在本申请实施例中,通过在第一虚拟机、第二虚拟机、安全服务节点之间创建的虚拟交换机以及流表即可实现将数据引流至安全服务节点。整个数据引流过程中无需通过虚拟机网关对数据进行封装,也无需虚拟机通过内存传递的方式进行数据引流。这样对于安全服务节点而言,也就无需预先明确虚拟网关封装数据采用的协议,也无需预先定制开发与虚拟机的内存匹配的API接口。因此,通过本申请实施例提供的数据引流装置,无需对第三方提供的安全服务节点预先进行大量的适配工作,从而提高了数据引流装置的应用灵活性。
[0010]
可选地,虚拟交换机包括第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块和集成网桥;第一虚拟机和第一虚拟机网桥连接,第二虚拟机和第二虚拟机网桥连接,安全服务节点与安全监测网桥模块连接,第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块分别与集成网桥连接;第一虚拟机网桥和安全监测网桥模块上存在互为配对(英文名称:peer)的一对或多对端口,互为配对的一对端口是指一个端口发出的数据由另一个端口接收、另一端口发送的数据由一个端口接收,流表用于指示在第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块和集成网桥中任一个的内部传递数据的路由规则。
[0011]
在本申请实施例中,为了使得安全监测网桥模块与其他网桥之间可以相互通信,以实现将数据引流至安全服务节点。可以在安全监测网桥模块与其他网桥之间创建互为配对的一对或多对端口。因此,通过流表和创建的互为配对的一对或多对端口即可实现将数据引流至安全服务节点。
[0012]
可选地,安全服务节点包括第一安全虚拟机,安全监测网桥模块包括第一安全虚拟机网桥组件,第一安全虚拟机和第一安全虚拟机网桥组件连接,第一虚拟机网桥包括第一端口和第二端口,第一安全虚拟机网桥组件包括第三端口和第四端口;第一端口和第一安全虚拟机网桥组件上的第三端口是互为配对的一对端口,第二端口和第一安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[0013]
基于上述结构,安全服务节点可以只包括一个安全虚拟机,安全监测网桥模块也只包括一个安全虚拟机网桥组件,这样只需将数据引流至一个安全虚拟机即可,提高了该数据引流装置的灵活性。
[0014]
可选地,安全服务节点包括N个安全虚拟机,安全监测网桥模块包括N个安全虚拟机网桥组件,N个安全虚拟机和N个安全虚拟机网桥组件一一对应,N个安全虚拟机网桥组件按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件上存在互为配对的一对端口,N为大于或等于2的正整数,第一虚拟机网桥包括第一端口和第二端口,每个安全虚拟机网桥组件包括第三端口和第四端口;第一端口和排序之后的第一个安全虚拟机网桥组件上的第三端口是互为配对的一对端口,第二端口和排序之后的最后一个安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[0015]
基于上述结构,安全服务节点包括多个安全虚拟机,安全监测网桥模块也包括多个安全虚拟机网桥组件,这样可以将数据引流至多个安全虚拟机,以分别进行安全监测,提高了该数据引流装置的灵活性。
[0016]
可选地,对于排序之后的第i个安全虚拟机网桥组件,第i个安全虚拟机网桥组件上的第三端口与第i-1个安全虚拟机网桥组件的第四端口是互为配对的一对端口,i为大 于等于2且小于等于N的正整数。
[0017]
基于上述结果,可以依次将数据从第一个安全虚拟机网桥组件传输至最后一个安全虚拟机网桥组件,保证了数据在及鞥过多个安全虚拟机之后可以返回至第一虚拟机网桥。
[0018]
可选地,任一安全虚拟机网桥组件上还包括第五端口和第六端口,任一安全虚拟机网桥组件上的第五端口和第六端口用于连接一个安全虚拟机;流表用于指示任一安全虚拟机网桥组件上第三端口发送的数据由位于同一安全虚拟机网桥组件的第五端口发送出去,任一安全虚拟机网桥组件上第五端口发送的数据由位于同一安全虚拟机网桥组件的第三端口发送出去;流表还用于指示任一安全虚拟机网桥组件上第六端口发送的数据由位于同一安全虚拟机网桥组件的第四端口发送出去,任一安全虚拟机网桥组件上第四端口发送的数据由位于同一安全虚拟机网桥组件的第六端口发送出去。
[0019]
通过上述路由规则,就可以实现将安全虚拟机网桥组件上接收到的数据发送至与其连接的虚拟机,并将从与其连接的虚拟机处接收到的数据发送至其他安全虚拟机网桥组件或第一虚拟机网桥。
[0020]
可选地,第一虚拟机网桥中还包括第七端口,第七端口和第一虚拟机连接,流表用于指示第七端口接收到的数据由第一端口发送出去,第一端口接收到的数据由第七端口发送出去。
[0021]
通过该路由规则,就可以实现将第一虚拟机网桥接收到的数据发送至第一虚拟机,或者,将第一虚拟机网桥从第一虚拟机处接收到的数据发送出去。
[0022]
可选地,第一虚拟机网桥中还包括第八端口,集成网桥中包括第九端口,第八端口和第九端口连接;流表还用于指示第二端口接收到的数据由第八端口发送出去,第八端口接收到的数据由第九端口发送出去。
[0023]
通过该路由规则,可以实现将第一虚拟机网桥接收到的数据发送至集成网桥,或将集成网桥接收到的数据发送至第一虚拟机网桥。
[0024]
可选地,集成网桥还包括第十端口,第二虚拟机网桥还包括第十一端口和第十二端口,第十端口和第十一端口连接,第十二端口与第二虚拟机连接;流表还用于指示第九端口接收到的数据由第十端口发送出去,第十端口接收到的数据由第九端口发送出去;流表还用于指示第十一端口接收到的数据由第十二端口发送出去,第十二端口接收到的数据由第十一端口发送出去。
[0025]
通过该路由规则,可以实现将第一虚拟机网桥接收到的数据通过集成网桥发送至第二虚拟机网桥,或者将第二虚拟机网桥接收到的数据通过集成网桥发送至第一虚拟机网桥。
[0026]
可选地,任一安全虚拟机网桥组件包括第一安全虚拟机网桥和第二安全虚拟机网桥;第一安全虚拟机网桥上部署有第三端口和第五端口,第二安全虚拟机网桥上部署有第四端口和第六端口。
[0027]
通过这种设置,可以将发送至安全虚拟机的数据的传输路径和安全虚拟机发送的数据的传输路径通过不同的网桥实现,以便于SDN控制器制作流表。
[0028]
可选地,虚拟交换机是由软件定义网络SDN控制器创建的,流表由SDN控制器下发至虚拟交换机。
[0029]
第二方面,提供了一种虚拟网络中的数据引流方法,其特征在于,应用于权利要求1至11任一的数据引流装置,该方法包括:虚拟交换机接收第一虚拟机发送的第一数据;虚拟交换机根据流表将第一数据转发至安全服务节点,以指示安全服务节点对第一数据进行处理,流表用于指示虚拟交换机传输数据的路由规则;当虚拟交换机接收到安全服务节点发送的第一数据时,根据流表将第一数据发送至第二虚拟机。
[0030]
可选地,虚拟交换机包括第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块和集成网桥;虚拟交换机接收第一虚拟机发送的第一数据,包括:第一虚拟机网桥接收第一虚拟机发送的第一数据;相应地,虚拟交换机根据流表将第一数据转发至安全服务节点,以指示安全服务节点对第一数据进行处理,包括:第一虚拟机网桥根据流表将第一数据发送至安全监测网桥模块;安全监测网桥模块根据流表将接收到的第一数据转发给安全服务节点,以指示安全服务节点对第一数据进行处理;相应地,当虚拟交换机接收到安全服务节点发送的第一数据时,根据流表将第一数据发送至第二虚拟机,包括:安全监测网桥模块根据流表将安全服务节点发送的第一数据发送至第一虚拟机网桥;第一虚拟机网桥在接收到安全监测网桥模块发送的第一数据时,根据流表将第一数据发送至集成网桥;集成网桥在接收到第一数据时,根据流表将第一数据发送至第二虚拟机网桥,由第二虚拟机网桥根据流表将第一数据发送至第二虚拟机。
[0031]
可选地,安全服务节点包括第一安全虚拟机,安全监测网桥模块包括第一安全虚拟机网桥组件;第一虚拟机网桥根据流表将第一数据发送至安全监测网桥模块,包括:当第一虚拟机网桥接收到第一虚拟机发送的第一数据时,第一虚拟机网桥通过第一端口发送第一数据;相应地,安全监测网桥模块根据流表将接收到的第一数据转发给安全服务节点,用于指示安全服务节点对第一数据进行处理,包括:第一安全虚拟机网桥组件通过第三端口接收第一数据,并将第一数据发送至第一安全虚拟机,第一端口和第一安全虚拟机网桥组件上的第三端口是互为配对的一对端口。
[0032]
可选地,安全监测网桥模块根据流表将安全服务节点发送的第一数据发送至第一虚拟机网桥,包括:当第一安全虚拟机网桥组件接收到第一安全虚拟机发送的第一数据时,第一安全虚拟机网桥组件通过第四端口发送第一数据;
[0033]
第一虚拟机网桥通过第二端口接收第一数据,第二端口和第一安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[0034]
可选地,安全服务节点包括N个安全虚拟机,安全监测网桥模块包括N个安全虚拟机网桥组件,N个安全虚拟机和N个安全虚拟机网桥组件之间一一对应,N为大于或等于2的正整数;第一虚拟机网桥根据流表将第一数据发送至安全监测网桥模块,包括:当第一虚拟机网桥接收到第一虚拟机发送的第一数据时,第一虚拟机网桥组件通过第一端口发送第一数据,N个安全虚拟机网桥组件按照参考顺序排序后的第一个安全虚拟机网桥组件通过第三端口接收第一数据,第一端口和排序之后的第一个安全虚拟机网桥组件上的第三端口是互为配对的一对端口;相应地,安全监测网桥模块根据流表将接收到的第一数据转发给安全服务节点,以指示安全服务节点对第一数据进行处理,包括:第一个安全虚拟机网桥组件将第一数据发送至相应安全虚拟机,以指示相应安全虚拟机对第一数据进行处理,第一个安全虚拟机网桥组件接收相应安全虚拟机发送的第一数据,由第一个安全虚拟机网桥组件将第一数据发送至第二个安全虚拟机;对于排序之后的第i个安 全虚拟机网桥组件,第i个安全虚拟机网桥组件接收第i-1个安全虚拟机网桥组件发送的第一数据,并将第一数据发送至相应安全虚拟机,以指示相应安全虚拟机对第一数据进行处理,并将第一数据返回至第i个安全虚拟机网桥组件,i为大于等于2且小于等于N的正整数,N个安全虚拟机网桥组件按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件上存在互为配对的一对端口。
[0035]
可选地,安全监测网桥模块根据流表将安全服务节点发送的第一数据发送至第一虚拟机网桥,包括:当排序后的最后一个安全虚拟机网桥组件接收到相应安全虚拟机发送的第一数据时,将第一数据通过第四端口发送;第一虚拟机网桥通过第二端口接收第一数据,第二端口和排序之后的最后一个安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[0036]
可选地,该方法还包括:虚拟交换机接收第二虚拟机针对第一数据发送的第二数据;虚拟交换机根据流表将第二数据转发至安全服务节点,以指示安全服务节点对第二数据进行处理;当虚拟交换机接收到安全服务节点发送的第二数据时,根据流表将第二数据发送至第一虚拟机。
[0037]
可选地,虚拟交换机包括第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块和集成网桥;虚拟交换机接收第二虚拟机针对第一数据发送的第二数据,包括:
[0038]
第二虚拟机网桥接收第二虚拟机发送的第二数据;相应地,虚拟交换机根据流表将第二数据转发至安全服务节点,以指示安全服务节点对第二数据进行处理,包括:第二虚拟机网桥根据流表将第二数据发送至虚拟交换机中的集成网桥;集成网桥在接收到第二数据时,根据流表将第二数据发送至第一虚拟机网桥;第一虚拟机网桥在接收到集成网桥发送的第二数据时,根据流表将第二数据发送至安全监测网桥模块;安全监测网桥模块根据流表将接收到的第二数据转发给安全服务节点,以指示安全服务节点在对第二数据进行处理;相应地,当虚拟交换机接收到安全服务节点发送的第二数据时,根据流表将第二数据发送至第一虚拟机,包括:安全监测网桥模块根据流表将安全服务节点发送的第二数据发送至第一虚拟机网桥;当第一虚拟机网桥接收到安全监测网桥模块发送的第二数据时,根据流表将第二数据发送至第一虚拟机。
[0039]
可选地,安全服务节点包括第一安全虚拟机,安全监测网桥模块包括第一安全虚拟机网桥组件;第一虚拟机网桥在接收到集成网桥发送的第二数据时,根据流表将第二数据发送至安全监测网桥模块,包括:当第一虚拟机网桥在接收到集成网桥发送的第二数据时,第一虚拟机网桥通过第二端口发送第二数据;第一安全虚拟机网桥组件通过第四端口接收第二数据,第二端口和第一安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[0040]
可选地,安全监测网桥模块根据流表将安全服务节点发送的第二数据发送至第一虚拟机网桥,包括:当第一安全虚拟机网桥组件接收到第一安全虚拟机发送的第二数据时,通过第一安全虚拟机网桥组件中的第三端口发送第二数据;第一虚拟机网桥通过第一端口接收第二数据。
[0041]
可选地,安全服务节点包括N个安全虚拟机,安全监测网桥模块包括N个安全虚拟机网桥组件,N个安全虚拟机和N个安全虚拟机网桥组件之间一一对应,N为大于或等于2的正整数;第一虚拟机网桥在接收到集成网桥发送的第二数据时,根据流表将第二数据 发送至安全监测网桥模块,包括:当第一虚拟机网桥接收到集成网桥发送的第二数据时,第一虚拟机网桥组件通过第二端口发送第二数据,N个安全虚拟机网桥组件按照参考顺序排序后的最后一个安全虚拟机网桥组件通过第四端口接收第二数据,第二端口和排序之后的最后一个安全虚拟机网桥组件上的第四端口是互为配对的一对端口;
[0042]
相应地,安全监测网桥模块根据流表将接收到的第二数据转发给安全服务节点,以指示安全服务节点在对第二数据进行处理,包括:
[0043]
最后一个安全虚拟机网桥组件将第二数据发送至相应安全虚拟机,以指示相应安全虚拟机对第二数据进行处理,并将第二数据返回至最后一个安全虚拟机网桥组件,由最后一个安全虚拟机网桥组件将第二数据发送至排序后的倒数第二个安全虚拟机网桥组件;
[0044]
对于排序之后的第j个安全虚拟机网桥组件,第j个安全虚拟机网桥组件接收第j+1个安全虚拟机网桥组件发送的第二数据,并将第二数据发送至相应安全虚拟机,以指示相应安全虚拟机对第二数据进行处理,并将第二数据返回至第j个安全虚拟机网桥组件,j为大于等于1且小于等于N-1的正整数,N个安全虚拟机网桥组件按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件上存在互为配对的一对端口。
[0045]
可选地,安全监测网桥模块根据流表将安全服务节点发送的第二数据发送至第一虚拟机网桥,包括:当排序后的第一个安全虚拟机网桥组件接收到相应安全虚拟机发送的第二数据时,将第二数据通过第三端口发送;第一虚拟机网桥通过第一端口接收第二数据,第一端口和排序之后的第一个安全虚拟机网桥组件上的第三端口是互为配对的一对端口。
[0046]
上述第二方面提供的虚拟网络中的数据引流方法的有益效果可以参考第一方面提供的装置的有益效果,在此不再赘述。
[0047]
图1是本申请实施例提供的一种虚拟化网络中的主机的结构示意图;
[0048]
图2是本申请实施例提供的一种虚拟网络中的数据引流装置的结构示意图;
[0049]
图3是本申请实施例提供的另一种数据引流装置的结构示意图;
[0050]
图4是本申请实施例提供的另一种数据引流装置示意图;
[0051]
图5是本申请实施例提供的一种虚拟网络中的数据引流方法流程图;
[0052]
图6是本申请实施例提供的另一种虚拟网络中的数据引流方法流程图。
[0053]
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0054]
在对本申请实施例提供的虚拟网络中的数据引流装置及数据引流方法进行解释说明之前,先对本申请实施例的应用场景进行解释说明。
[0055]
在非虚拟化网络中,如果需要对两个网络设备之间传输的数据进行安全监测,则可以在两个网络设备之间串联入侵防御系统(instruction prevention system,IPS)或入侵检测系统(instruction detection system,IDS)等安全设备,以将两个网络设备 之间传输的数据引流至该安全设备,从而进行安全监测。而在虚拟化网络中,虚拟化的特性打破了传统的网络边界。如果需要对两个虚拟机之间传输的数据进行安全监测,此时由于路由配置的复杂和云场景本身实现的一些限制,将安全设备串联在网络中以实现数据引流的方式在虚拟化网络中难以实现。因此,本申请实施例提供了一种虚拟化网络中的数据引流装置及数据引流方法。图1是本申请实施例提供的一种虚拟化网络中的主机的结构示意图。如图1所示,主机100中安装有操作系统101,操作系统101上运行有多个虚拟机,各个虚拟机之间可以进行数据传输。本申请实施例提供的数据引流装置及数据引流方法可以应用于位于同一主机的两个虚拟机之间,也可以应用于位于不同的主机的两个虚拟机之间。
[0056]
接下来对本申请实施例提供的数据引流装置进行详细解释说明。
[0057]
图2是本申请实施例提供的一种虚拟网络中的数据引流装置的结构示意图。如图2所示,该数据引流装置200包括第一虚拟机201、第二虚拟机202、安全服务节点203和虚拟交换机204。第一虚拟机201、第二虚拟机202、安全服务节点203分别与虚拟交换机204连接。其中,虚拟交换机204用于根据流表将第一虚拟机201和第二虚拟机202之间传输的数据转发至安全服务节点203,以指示安全服务节点203对第一数据进行处理,流表用于指示虚拟交换机204传输数据的路由规则。
[0058]
由于第一虚拟机、第二虚拟机、安全服务节点分别与虚拟交换机连接,而流表用于指示虚拟交换机传输数据的路由规则,因此,在本申请实施例中,通过在第一虚拟机、第二虚拟机、安全服务节点之间创建的虚拟交换机以及流表即可实现将数据引流至安全服务节点。整个数据引流过程中无需通过虚拟机网关对数据进行封装,也无需虚拟机通过内存传递的方式进行数据引流。这样对于安全服务节点而言,也就无需预先明确虚拟网关封装数据采用的协议,也无需预先定制开发与虚拟机的内存匹配的API接口。因此,通过本申请实施例提供的数据引流装置,无需对第三方提供的安全服务节点预先进行大量的适配工作,从而提高了数据引流装置的应用灵活性。
[0059]
其中,虚拟交换机204可以由软件定义网络(software define network,SDN)控制器创建。当然,虚拟交换机204也可以由其他类型的网络控制器创建,在此就不再一一举例说明。流表可以由SDN控制器下发至虚拟交换机204。流表具体可以为基于openflow(一种网上通信协议)的流表。
[0060]
下面对本申请实施例提供的虚拟交换机的结构进行详细说明:
[0061]
在一种可能的实现方式中,如图2所示,虚拟交换机204包括第一虚拟机网桥2041、第二虚拟机网桥2042、安全监测网桥模块2043和集成网桥2044。第一虚拟机201和第一虚拟机网桥2041连接。第二虚拟机202和第二虚拟机网桥2042连接。安全服务节点203与安全监测网桥模块2043连接。第一虚拟机网桥2041、第二虚拟机网桥2042、安全监测网桥模块2043分别与集成网桥2044连接。其中,第一虚拟机网桥2041、第二虚拟机网桥2042、安全监测网桥模块2043和集成网桥2044均可以通过SDN控制器创建。
[0062]
在本申请实施例中,为了使得安全监测网桥模块2043与其他网桥之间可以相互通信,以实现将数据引流至安全服务节点。可以在安全监测网桥模块2043与其他网桥之间创建互为配对的一对或多对端口。互为配对的一对端口是指一个端口发出的数据由另一个端 口接收、另一端口发送的数据由一个端口接收。并且具体在图2所示的数据引流装置中,流表用于指示在第一虚拟机网桥2041、第二虚拟机网桥2042、安全监测网桥模块2043和集成网桥2044中任一个的内部传递数据的路由规则。因此,在本申请实施例中,通过流表和创建的互为配对的一对或多对端口即可实现将数据引流至安全服务节点。
[0063]
具体地,虚拟交换机204可以有以下两种可能的结构:
[0064]
第一种可能的结构,第一虚拟机网桥2041和安全监测网桥模块2043上存在互为配对的二对端口。如此,第一虚拟机网桥2041就可以通过其中的一对互为配对的端口将数据引流至安全监测网桥模块2043,安全监测网桥模块2043接收到安全服务节点203反馈的数据时,可以通过另一对互为配对的端口将数据返回至第一虚拟机网桥2041,以通过第一虚拟机网桥2041、集成网桥2044和第二虚拟机网桥2042将数据发送至第二虚拟机202。
[0065]
当第一虚拟机201和第二虚拟机202之间的数据无需引流至安全服务节点时,此时第一虚拟机201和第二虚拟机202之间的数据是通过第一虚拟网桥2041、第二虚拟网桥2042和集成网桥2044传输的。比如,当第一虚拟机201发送数据时,该数据传输至第二虚拟机202的路径为第一虚拟网桥2041→集成网桥2044→第二虚拟网桥2042。因此,通过上述第一种可能的结构进行数据引流,可以兼容虚拟机之间传输数据的原有路径,避免了对流表修改太多,从而提高了该数据引流装置的应用灵活性。
[0066]
第二种可能的结构,可以在第一虚拟机网桥2041和安全监测网桥模块2043上创建互为配对的一对端口,在安全监测网桥模块2043和第二虚拟机网桥2042上创建互为配对的另一对端口。如此,第一虚拟机网桥2041就可以将数据引流至安全监测网桥模块2043,安全监测网桥模块2043接收到安全服务节点203反馈的数据时,可以将数据发送至第二虚拟机网桥2042,以实现将数据发送至第二虚拟机202。但是,在这种情况下,需要对现有的流表进行大量修改,不利于该数据引流装置的推广。
[0067]
另外,在虚拟化网络中,安全虚拟机(secure virutal machine,SVM)可以对数据进行安全监测。所以,在本申请实施例中,安全服务节点可以包括一个安全虚拟机,以通过该安全虚拟机对数据进行安全监测。当然,安全服务节点可以包括多个安全虚拟机,以分别通过多个安全虚拟机中的每个安全虚拟机对数据进行安全监测。因此,针对上述第一种可能的结构,图2所示的数据引流装置可以具体有以下两种结构。
[0068]
图3是本申请实施例提供的另一种数据引流装置的结构示意图。如图3所示,安全服务节点203包括第一安全虚拟机2031,安全监测网桥模块2043包括第一安全虚拟机网桥组件20431,第一安全虚拟机2031和第一安全虚拟机网桥组件20431连接,第一虚拟机网桥2031中包括第一端口和第二端口,第一安全虚拟机网桥组件20431包括第三端口和第四端口。其中,第一端口和第一安全虚拟机网桥组件20431上的第三端口是互为配对的一对端口,第二端口和第一安全虚拟机网桥组件20431上的第四端口是互为配对的一对端口。
[0069]
也即是,在图3所示的数据引流装置中,安全服务节点只包括一个安全虚拟机,安全监测网桥模块也只包括一个安全虚拟机网桥组件,这样只需将数据引流至一个安全虚拟机即可。
[0070]
图4是本申请实施例提供的另一种数据引流装置示意图。如图4所示,安全服务节 点203包括N个安全虚拟机2032。安全监测网桥模块2043包括N个安全虚拟机网桥组件20432。N个安全虚拟机2032和N个安全虚拟机网桥组件20432一一对应。N个安全虚拟机网桥组件20432按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件20432上存在互为配对的一对端口。N为大于或等于2的正整数,第一虚拟机网桥2041包括第一端口和第二端口。每个安全虚拟机网桥组件20432包括第三端口和第四端口。第一端口和排序之后的第一个安全虚拟机网桥组件20432上的第三端口是互为配对的一对端口。第二端口和排序之后的最后一个安全虚拟机网桥组件20432上的第四端口是互为配对的一对端口。
[0071]
其中,由于第一端口和排序之后的第一个安全虚拟机网桥组件20432上的第三端口是互为配对的一对端口,因此第一虚拟机网桥2041可以将数据发送至排序之后的第一个安全虚拟机网桥组件20432。又由于N个安全虚拟机网桥组件20432按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件20432上存在互为配对的一对端口,因此,可以依次将数据从第一个安全虚拟机网桥组件20432传输至最后一个安全虚拟机网桥组件20432。又由于第二端口和排序之后的最后一个安全虚拟机网桥组件20432上的第四端口是互为配对的一对端口,因此,在经过所有的安全虚拟机2032之后,还可以将数据返回至第一虚拟机网桥2041。
[0072]
也即是,在图4所示的数据引流装置中,安全服务节点203包括多个安全虚拟机2032,安全监测网桥模块2043也包括多个安全虚拟机网桥组件20432,这样可以将数据引流至多个安全虚拟机2032,以分别进行安全监测,提高了该数据引流装置的灵活性。
[0073]
图4中仅仅是以N为2进行举例说明,图4中的安全虚拟机2032的数量与安全虚拟机网桥组件20432的数量并不构成对N的具体限定。
[0074]
另外,在图4所示的数据引流装置中,N个安全虚拟机网桥组件20432按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件20432上存在互为配对的一对端口具体可以是指:对于排序之后的第i个安全虚拟机网桥组件20432,第i个安全虚拟机网桥组件20432上的第三端口与第i-1个安全虚拟机网桥组件20432的第四端口是互为配对的一对端口,i为大于等于2且小于等于N的正整数。比如,在图4中,第2个安全虚拟机网桥组件20432上的第三端口与第1个安全虚拟机网桥组件20432的第四端口是互为配对的一对端口。
[0075]
另外,如图3或图4所示,对于任一安全虚拟机网桥组件,该安全虚拟机网桥组件上还包括第五端口和第六端口,该安全虚拟机网桥组件上的第五端口和第六端口用于连接一个安全虚拟机。
[0076]
此时,流表用于指示任一安全虚拟机网桥组件上第三端口发送的数据由位于同一安全虚拟机网桥组件的第五端口发送出去,任一安全虚拟机网桥组件上第五端口发送的数据由位于同一安全虚拟机网桥组件的第三端口发送出去。流表还用于指示任一安全虚拟机网桥组件上第六端口发送的数据由位于同一安全虚拟机网桥组件的第四端口发送出去,任一安全虚拟机网桥组件上第四端口发送的数据由位于同一安全虚拟机网桥组件的第六端口发送出去。通过上述路由规则,就可以实现将安全虚拟机网桥组件上接收到的数据发送至与其连接的虚拟机,并将从与其连接的虚拟机处接收到的数据发送至其他安全虚拟机网桥组件或第一虚拟机网桥。
[0077]
另外,如图3或图4所示,第一虚拟机网桥中还包括第七端口,第七端口和第一虚拟机连接。此时,流表用于指示第七端口接收到的数据由第一端口发送出去,第一端口接收到的数据由第七端口发送出去。通过该路由规则,就可以实现将第一虚拟机网桥接收到的数据发送至第一虚拟机,或者,将第一虚拟机网桥从第一虚拟机处接收到的数据发送出去。
[0078]
另外,如图3或图4所示,第一虚拟机网桥中还包括第八端口、集成网桥中包括第九端口,第八端口和第九端口连接。此时,流表还用于指示第二端口接收到的数据由第八端口发送出去,第八端口接收到的数据由第九端口发送出去。通过该路由规则,可以实现将第一虚拟机网桥接收到的数据发送至集成网桥,或将集成网桥接收到的数据发送至第一虚拟机网桥。
[0079]
上述集成网桥还包括第十端口,第二虚拟机网桥还包括第十一端口和第十二端口,第十端口和所述第十一端口连接,第十二端口与所述第二虚拟机连接。此时,流表还用于指示第九端口接收到的数据由第十端口发送出去,第十端口接收到的数据由第九端口发送出去。流表还用于指示第十一端口接收到的数据由第十二端口发送出去,第十二端口接收到的数据由第十一端口发送出去。通过该路由规则,可以实现将第一虚拟机网桥接收到的数据通过集成网桥发送至第二虚拟机网桥,或者将第二虚拟机网桥接收到的数据通过集成网桥发送至第一虚拟机网桥。
[0080]
另外,由于SDN控制器下发的流表通常是针对网桥下发的,因此,在本申请实施例中,对于任一安全虚拟机网桥组件,如图3或图4所示,该安全虚拟机网桥组件可以包括第一安全虚拟机网桥和第二安全虚拟机网桥,第一安全虚拟机网桥上部署有图3或图4中的第三端口和第五端口。第二安全虚拟机网桥上部署有图3或图4中的第四端口和第六端口。通过这种设置,可以将发送至安全虚拟机的数据的传输路径和安全虚拟机发送的数据的传输路径通过不同的网桥实现,以便于SDN控制器制作流表。
[0081]
其中,在上述图3或图4所示的数据引流装置中,第一虚拟机网桥、第一安全虚拟机网桥、第二安全虚拟机网桥和第二虚拟机网桥的类型可以为liniux(一种操作系统)网桥。比如,可以将这类网桥命名为Br-ply网桥,当然可以命名其他名称。另外,在图3或图4所示的数据引流装置中,集成网桥的类型可以为开放式虚拟机交换机(open virtual switch,OVS)网桥。比如,可以将该类网桥命名为Br-int网桥,当然也可以命名其他名称。
[0082]
另外,如图3或图4所示的数据引流装置,第一安全虚拟机网桥或第二安全虚拟机网桥也是通过端口与集成网桥连接的,在此就不再一一阐述。
[0083]
另外,对于图2-图4所示的数据引流装置,第一虚拟机、第二虚拟机以及安全虚拟机可以是同一主机上的虚拟机,也可以是不同主机上的虚拟机。其中,如果第一虚拟机和第二虚拟机之间需要互通数据,那么第一虚拟机、第二虚拟机以及安全虚拟机则需要部署在同一主机上。如果第一虚拟机仅需要单向向第二虚拟机发送数据,则只需限制第一虚拟机和安全虚拟机位于同一主机即可。同样地,如果第二虚拟机仅需要单向向第一虚拟机发送数据,则只需限制第二虚拟机和安全虚拟机位于同一主机即可。
[0084]
接下来对本申请实施例提供的虚拟网络中的数据引流方法进行详细阐述。在本申请 实施例中,当第一虚拟机向第二虚拟机发送第一数据时,第一数据可以通过上述数据引流装置进行引流。当然,在第二虚拟机根据第一数据向第一虚拟机反馈第二数据时,由于对第二数据进行安全监测时通常需要参考第一数据,所以第二数据可以按照与第一数据的传输路径相反的路径进行传输,以实现对该第二数据进行引流。下述实施例将分别针对上述两个场景展开说明。
[0085]
图5是本申请实施例提供的一种虚拟网络中的数据引流方法流程图,应用于图2至图4实施例所示的数据引流装置。如图5所示,该方法包括如下步骤:
[0086]
步骤501:虚拟交换机接收第一虚拟机发送的第一数据。
[0087]
如图2所示,由于虚拟机交换机包括虚拟交换机包括第一虚拟机网桥。而第一虚拟机和第一虚拟机网桥连接。因此,在一种可能的实现方式中,步骤501可以为:第一虚拟机网桥接收第一虚拟机发送的第一数据。具体地,如图3或图4所示,第一虚拟机网桥的第七端口接收第一数据。
[0088]
步骤502:虚拟交换机根据流表将第一数据转发至安全服务节点,以指示安全服务节点对第一数据进行处理,流表用于指示虚拟交换机传输数据的路由规则。
[0089]
如图2所示,步骤502具体可以为:第一虚拟机网桥根据流表将第一数据发送至安全监测网桥模块;安全监测网桥模块根据流表将接收到的第一数据转发给安全服务节点,以指示安全服务节点对第一数据进行处理。
[0090]
其中,如图3所示,当安全服务节点包括第一安全虚拟机,安全监测网桥模块包括第一安全虚拟机网桥组件时,第一虚拟机网桥根据流表将第一数据发送至安全监测网桥模块的实现方式可以为:当第一虚拟机网桥接收到第一虚拟机发送的第一数据时,第一虚拟机网桥通过第一端口发送第一数据。相应地,安全监测网桥模块根据流表将接收到的第一数据转发给安全服务节点,用于指示安全服务节点对第一数据进行处理的实现方式可以为:第一安全虚拟机网桥组件通过第三端口接收第一数据,并将第一数据发送至第一安全虚拟机。
[0091]
另外,如图4所示,当安全服务节点包括N个安全虚拟机,安全监测网桥模块包括N个安全虚拟机网桥组件时,第一虚拟机网桥根据流表将第一数据发送至安全监测网桥模块,的实现方式可以为:当第一虚拟机网桥接收到第一虚拟机发送的第一数据时,第一虚拟机网桥组件通过第一端口发送第一数据,N个安全虚拟机网桥组件按照参考顺序排序后的第一个安全虚拟机网桥组件通过第三端口接收第一数据。
[0092]
相应地,安全监测网桥模块根据流表将接收到的第一数据转发给安全服务节点,以指示安全服务节点对第一数据进行处理的实现方式可以为:第一个安全虚拟机网桥组件将第一数据发送至相应安全虚拟机,以指示相应安全虚拟机对第一数据进行处理,第一个安全虚拟机网桥组件接收相应安全虚拟机发送的第一数据,由第一个安全虚拟机网桥组件将第一数据发送至第二个安全虚拟机;对于排序之后的第i个安全虚拟机网桥组件,第i个安全虚拟机网桥组件接收第i-1个安全虚拟机网桥组件发送的第一数据,并将第一数据发送至相应安全虚拟机,以指示相应安全虚拟机对第一数据进行处理,并将第一数据返回至第i个安全虚拟机网桥组件,i为大于等于2且小于等于N的正整数,N个安全虚拟机网桥组件按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件上存在互为配对的一对端口。
[0093]
其中,在上述针对图3和图4的两种实现方式中,对安全监测网桥模块中任一安全虚拟机网桥组件,当该安全虚拟机网桥组件通过第三端口接收到第一数据时,均需将第一数据发送至与其连接的安全虚拟机。具体地,如图3或图4所示,当该安全虚拟机网桥组件通过第三端口接收到第一数据时,可以通过该安全虚拟机网桥组件中的第五端口发送第一数据,以将第一数据发送至与安全虚拟机网桥组件对应的安全虚拟机。安全虚拟机在接收到第一数据之后,可以对该第一数据进行处理。并将第一数据返回至该安全虚拟机网桥组件。其中,如图3或图4所示,安全虚拟机网桥组件通过第六端口接收相应安全虚拟机发送的第一数据,并根据流表中指示的路由规则通过该安全虚拟机网桥组件中的第四端口发送第一数据,以将第一数据发送至下一个安全虚拟机网桥组件或第一虚拟机网桥。
[0094]
步骤503:当虚拟交换机接收到安全服务节点发送的第一数据时,根据流表将第一数据发送至第二虚拟机。
[0095]
在一种可能的实现方式中,如图2所示,步骤503具体可以为:安全监测网桥模块根据流表将安全服务节点发送的第一数据发送至第一虚拟机网桥;第一虚拟机网桥在接收到安全监测网桥模块发送的第一数据时,根据流表将第一数据发送至集成网桥;集成网桥在接收到第一数据时,根据流表将第一数据发送至第二虚拟机网桥,由第二虚拟机网桥根据流表将第一数据发送至第二虚拟机。
[0096]
具体地,如图3所示,当安全服务节点包括第一安全虚拟机,安全监测网桥模块包括第一安全虚拟机网桥组件时,安全监测网桥模块根据流表将安全服务节点发送的第一数据发送至第一虚拟机网桥的实现方式可以为:当第一安全虚拟机网桥组件接收到第一安全虚拟机发送的第一数据时,第一安全虚拟机网桥组件通过第四端口发送第一数据;第一虚拟机网桥通过第二端口接收第一数据。
[0097]
如4所示,当安全服务节点包括N个安全虚拟机,安全监测网桥模块包括N个安全虚拟机网桥组件时,安全监测网桥模块根据流表将安全服务节点发送的第一数据发送至第一虚拟机网桥的实现方式可以为:当排序后的最后一个安全虚拟机网桥组件接收到相应安全虚拟机发送的第一数据时,将第一数据通过第四端口发送;第一虚拟机网桥通过第二端口接收第一数据。
[0098]
另外,如图3或图4所示,第一虚拟机网桥在接收到安全监测网桥模块发送的第一数据时,根据流表将第一数据发送至集成网桥的实现方式可以为:第一虚拟机网桥在接收到安全监测网桥模块发送的第一数据时,第一虚拟机网桥通过第八端口发送第一数据;集成网桥通过第九端口接收第一数据。
[0099]
另外,如图3或图4所示,集成网桥在接收到第一数据时,根据流表将第一数据发送至第二虚拟机网桥,由第二虚拟机网桥根据流表将第一数据发送至第二虚拟机的实现方式可以为:集成网桥通过第十端口发送第一数据;第二虚拟机网桥通过第十一端口接收第一数据,并通过第十二端口发送第一数据,以将第一数据发送至第二虚拟机。
[0100]
图6是本申请实施例提供的另一种虚拟网络中的数据引流方法流程图,应用于图2至图4实施例所示的数据引流装置。如图6所示,该方法包括如下步骤:
[0101]
步骤601:虚拟交换机接收第二虚拟机针对第一数据发送的第二数据。
[0102]
如图2所示,由于虚拟机交换机包括第二虚拟机网桥。而第二虚拟机和第二虚拟机网桥连接。因此,在一种可能的实现方式中,步骤601具体可以为:第二虚拟机网桥接收第二虚拟机发送的第二数据。具体地,如图3或图4所示,第二虚拟机网桥的第十二端口接收第二数据。
[0103]
步骤602:虚拟交换机根据流表将第二数据转发至安全服务节点,以指示安全服务节点对第二数据进行处理。
[0104]
如图2所示,虚拟交换机根据流表将第二数据转发至安全服务节点,以指示安全服务节点对第二数据进行处理的实现方式可以为:第二虚拟机网桥根据流表将第二数据发送至虚拟交换机中的集成网桥;集成网桥在接收到第二数据时,根据流表将第二数据发送至第一虚拟机网桥;第一虚拟机网桥在接收到集成网桥发送的第二数据时,根据流表将第二数据发送至安全监测网桥模块;安全监测网桥模块根据流表将接收到的第二数据转发给安全服务节点,以指示安全服务节点在对第二数据进行处理。
[0105]
具体地,如图3所示,当安全服务节点包括第一安全虚拟机,安全监测网桥模块包括第一安全虚拟机网桥组件时,第一虚拟机网桥在接收到集成网桥发送的第二数据时,根据流表将第二数据发送至安全监测网桥模块的实现方式可以为:当第一虚拟机网桥在接收到集成网桥发送的第二数据时,第一虚拟机网桥通过第二端口发送第二数据;第一安全虚拟机网桥组件通过第四端口接收第二数据。
[0106]
具体地,如图4所示,当安全服务节点包括N个安全虚拟机,安全监测网桥模块包括N个安全虚拟机网桥组件时,第一虚拟机网桥在接收到集成网桥发送的第二数据时,根据流表将第二数据发送至安全监测网桥模块的实现方式可以为:当第一虚拟机网桥接收到集成网桥发送的第二数据时,第一虚拟机网桥组件通过第二端口发送第二数据,N个安全虚拟机网桥组件按照参考顺序排序后的最后一个安全虚拟机网桥组件通过第四端口接收第二数据。
[0107]
相应地,安全监测网桥模块根据流表将接收到的第二数据转发给安全服务节点,以指示安全服务节点在对第二数据进行处理的实现方式可以为:最后一个安全虚拟机网桥组件将第二数据发送至相应安全虚拟机,以指示相应安全虚拟机对第二数据进行处理,并将第二数据返回至最后一个安全虚拟机网桥组件,由最后一个安全虚拟机网桥组件将第二数据发送至排序后的倒数第二个安全虚拟机网桥组件;对于排序之后的第j个安全虚拟机网桥组件,第j个安全虚拟机网桥组件接收第j+1个安全虚拟机网桥组件发送的第二数据,并将第二数据发送至相应安全虚拟机,以指示相应安全虚拟机对第二数据进行处理,并将第二数据返回至第j个安全虚拟机网桥组件,j为大于等于1且小于等于N-1的正整数。
[0108]
步骤603:当虚拟交换机接收到安全服务节点发送的第二数据时,根据流表将第二数据发送至第一虚拟机。
[0109]
如图2所示,步骤603具体可以为:安全监测网桥模块根据流表将安全服务节点发送的第二数据发送至第一虚拟机网桥;当第一虚拟机网桥接收到安全监测网桥模块发送的第二数据时,根据流表将第二数据发送至第一虚拟机。
[0110]
具体地,如图3所示,当安全服务节点包括第一安全虚拟机,安全监测网桥模块包括第一安全虚拟机网桥组件时,安全监测网桥模块根据流表将安全服务节点发送的第二 数据发送至第一虚拟机网桥的实现方式可以为:当第一安全虚拟机网桥组件接收到第一安全虚拟机发送的第二数据时,通过第一安全虚拟机网桥组件中的第三端口发送第二数据;第一虚拟机网桥通过第一端口接收第二数据。
[0111]
如图4所示,当安全服务节点包括N个安全虚拟机,安全监测网桥模块包括N个安全虚拟机网桥组件时,安全监测网桥模块根据流表将安全服务节点发送的第二数据发送至第一虚拟机网桥的实现方式可以为:当排序后的第一个安全虚拟机网桥组件接收到相应安全虚拟机发送的第二数据时,将第二数据通过第三端口发送;第一虚拟机网桥通过第一端口接收第二数据。
[0112]
在图3或图4所示的数据引流装置中,对于安全监测网桥模块中任一安全虚拟机网桥组件,当该安全虚拟机网桥组件通过第四端口接收到第二数据时,通过该安全虚拟机网桥组件中的第六端口发送第二数据,以将第二数据发送至与该安全虚拟机网桥组件连接的安全虚拟机。当该安全虚拟机网桥组件通过第五端口接收接的安全虚拟机发送的第二数据,可以通过该安全虚拟机网桥组件中的第三端口发送第一数据。
[0113]
另外,如图3或图4所示,第二虚拟机网桥根据流表将第二数据发送至虚拟交换机中的集成网桥的实现方式可以为:第二虚拟机网桥通过第十一端口发送第二数据;集成网桥通过第十端口接收第二数据。
[0114]
如图3或图4所示,集成网桥在接收到第二数据时,根据流表将第二数据发送至虚拟交换机中的第一虚拟机网桥的实现方式可以为:集成网桥通过第九端口发送第二数据;第一虚拟机网桥通过第八端口接收第二数据。
[0115]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0116]
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
权利要求书
[权利要求 1]
一种虚拟网络中的数据引流装置,其特征在于,所述数据引流装置包括第一虚拟机、第二虚拟机、安全服务节点和虚拟交换机; 所述第一虚拟机、所述第二虚拟机、所述安全服务节点分别与所述虚拟交换机连接; 所述虚拟交换机用于根据流表将所述第一虚拟机和所述第二虚拟机之间传输的数据转发至所述安全服务节点,以指示所述安全服务节点对所述第一数据进行处理,所述流表用于指示所述虚拟交换机传输数据的路由规则。
[权利要求 2]
根据权利要求1所述的数据引流装置,其特征在于,所述虚拟交换机包括第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块和集成网桥; 所述第一虚拟机和所述第一虚拟机网桥连接,所述第二虚拟机和所述第二虚拟机网桥连接,所述安全服务节点与所述安全监测网桥模块连接,所述第一虚拟机网桥、所述第二虚拟机网桥、所述安全监测网桥模块分别与所述集成网桥连接; 所述第一虚拟机网桥和所述安全监测网桥模块上存在互为配对的一对或多对端口,互为配对的一对端口是指一个端口发出的数据由另一个端口接收、所述另一端口发送的数据由所述一个端口接收,所述流表用于指示在所述第一虚拟机网桥、所述第二虚拟机网桥、所述安全监测网桥模块和所述集成网桥中任一个的内部传递数据的路由规则。
[权利要求 3]
根据权利要求2所述的数据引流装置,其特征在于,所述安全服务节点包括第一安全虚拟机,所述安全监测网桥模块包括第一安全虚拟机网桥组件,第一安全虚拟机和所述第一安全虚拟机网桥组件连接,所述第一虚拟机网桥包括第一端口和第二端口,所述第一安全虚拟机网桥组件包括第三端口和第四端口; 所述第一端口和所述第一安全虚拟机网桥组件上的第三端口是互为配对的一对端口,所述第二端口和所述第一安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[权利要求 4]
根据权利要求2所述的数据引流装置,其特征在于,所述安全服务节点包括N个安全虚拟机,所述安全监测网桥模块包括N个安全虚拟机网桥组件,所述N个安全虚拟机和所述N个安全虚拟机网桥组件一一对应,所述N个安全虚拟机网桥组件按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件上存在互为配对的一对端口,所述N为大于或等于2的正整数,所述第一虚拟机网桥包括第一端口和第二端口,每个安全虚拟机网桥组件包括第三端口和第四端口; 所述第一端口和排序之后的第一个安全虚拟机网桥组件上的第三端口是互为配对的一对端口,所述第二端口和排序之后的最后一个安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[权利要求 5]
根据权利要求4所述的数据引流装置,其特征在于,对于排序之后的第i个安全虚拟机网桥组件,所述第i个安全虚拟机网桥组件上的第三端口与第i-1个安全虚拟机网桥组件的第四端口是互为配对的一对端口,所述i为大于等于2且小于等于N的正整数。
[权利要求 6]
根据权利要求3至5任一所述的数据引流装置,其特征在于,任一安全虚拟机网桥组件上还包括第五端口和第六端口,任一安全虚拟机网桥组件上的第五端口和第六端口用于连接一个安全虚拟机; 所述流表用于指示任一安全虚拟机网桥组件上第三端口发送的数据由位于同一安全虚拟机网桥组件的第五端口发送出去,任一安全虚拟机网桥组件上第五端口发送的数据由位于同一安全虚拟机网桥组件的第三端口发送出去; 所述流表还用于指示任一安全虚拟机网桥组件上第六端口发送的数据由位于同一安全虚拟机网桥组件的第四端口发送出去,任一安全虚拟机网桥组件上第四端口发送的数据由位于同一安全虚拟机网桥组件的第六端口发送出去。
[权利要求 7]
根据权利要求3至6任一所述的数据引流装置,其特征在于,所述第一虚拟机网桥中还包括第七端口,所述第七端口和所述第一虚拟机连接,所述流表用于指示所述第七端口接收到的数据由所述第一端口发送出去,所述第一端口接收到的数据由所述第七端口发送出去。
[权利要求 8]
根据权利要求3至7任一所述的数据引流装置,其特征在于,所述第一虚拟机网桥中还包括第八端口、所述集成网桥中包括第九端口,所述第八端口和所述第九端口连接; 所述流表还用于指示所述第二端口接收到的数据由所述第八端口发送出去,所述第八端口接收到的数据由所述第九端口发送出去。
[权利要求 9]
根据权利要求8所述的数据引流装置,其特征在于,所述集成网桥还包括第十端口,所述第二虚拟机网桥还包括第十一端口和第十二端口,所述第十端口和所述第十一端口连接,所述第十二端口与所述第二虚拟机连接; 所述流表还用于指示所述第九端口接收到的数据由所述第十端口发送出去,所述第十端口接收到的数据由所述第九端口发送出去; 所述流表还用于指示所述第十一端口接收到的数据由所述第十二端口发送出去,所述第十二端口接收到的数据由所述第十一端口发送出去。
[权利要求 10]
根据权利要求3至9任一所述的数据引流装置,其特征在于,任一安全虚拟机网桥组件包括第一安全虚拟机网桥和第二安全虚拟机网桥; 所述第一安全虚拟机网桥上部署有所述第三端口和所述第五端口,所述第二安全虚拟机网桥上部署有所述第四端口和所述第六端口。
[权利要求 11]
根据权利要求1至10任一所述的数据引流装置,其特征在于,所述虚拟交换机是由软件定义网络SDN控制器创建的,所述流表由所述SDN控制器下发至所述虚拟交换机。
[权利要求 12]
一种虚拟网络中的数据引流方法,其特征在于,应用于权利要求1至11任一 所述的数据引流装置,所述方法包括: 所述虚拟交换机接收所述第一虚拟机发送的第一数据; 所述虚拟交换机根据流表将所述第一数据转发至所述安全服务节点,以指示所述安全服务节点对所述第一数据进行处理,所述流表用于指示所述虚拟交换机传输数据的路由规则; 当所述虚拟交换机接收到所述安全服务节点发送的第一数据时,根据所述流表将所述第一数据发送至所述第二虚拟机。
[权利要求 13]
根据权利要求12所述的方法,其特征在于,所述虚拟交换机包括第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块和集成网桥; 所述虚拟交换机接收所述第一虚拟机发送的第一数据,包括: 所述第一虚拟机网桥接收所述第一虚拟机发送的第一数据; 相应地,所述虚拟交换机根据流表将所述第一数据转发至所述安全服务节点,以指示所述安全服务节点对所述第一数据进行处理,包括: 所述第一虚拟机网桥根据所述流表将所述第一数据发送至所述安全监测网桥模块; 所述安全监测网桥模块根据所述流表将接收到的第一数据转发给所述安全服务节点,以指示所述安全服务节点对所述第一数据进行处理; 相应地,所述当所述虚拟交换机接收到所述安全服务节点发送的第一数据时,根据所述流表将所述第一数据发送至所述第二虚拟机,包括: 所述安全监测网桥模块根据所述流表将所述安全服务节点发送的第一数据发送至所述第一虚拟机网桥; 所述第一虚拟机网桥在接收到所述安全监测网桥模块发送的第一数据时,根据所述流表将所述第一数据发送至所述集成网桥; 所述集成网桥在接收到所述第一数据时,根据所述流表将所述第一数据发送至所述第二虚拟机网桥,由所述第二虚拟机网桥根据所述流表将所述第一数据发送至所述第二虚拟机。
[权利要求 14]
根据权利要求13所述的方法,其特征在于,所述安全服务节点包括第一安全虚拟机,所述安全监测网桥模块包括第一安全虚拟机网桥组件; 所述第一虚拟机网桥根据所述流表将所述第一数据发送至所述安全监测网桥模块,包括: 当所述第一虚拟机网桥接收到所述第一虚拟机发送的第一数据时,所述第一虚拟机网桥通过第一端口发送所述第一数据; 相应地,所述安全监测网桥模块根据所述流表将接收到的第一数据转发给所述安全服务节点,用于指示所述安全服务节点对所述第一数据进行处理,包括: 所述第一安全虚拟机网桥组件通过第三端口接收所述第一数据,并将所述第一数据发送至所述第一安全虚拟机,所述第一端口和所述第一安全虚拟机网桥组件上的第三端口是互为配对的一对端口。
[权利要求 15]
根据权利要求14所述的方法,其特征在于,所述安全监测网桥模块根据所述 流表将所述安全服务节点发送的第一数据发送至所述第一虚拟机网桥,包括: 当所述第一安全虚拟机网桥组件接收到所述第一安全虚拟机发送的第一数据时,所述第一安全虚拟机网桥组件通过第四端口发送所述第一数据; 所述第一虚拟机网桥通过所述第二端口接收所述第一数据,所述第二端口和所述第一安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[权利要求 16]
根据权利要求13所述的方法,其特征在于,所述安全服务节点包括N个安全虚拟机,所述安全监测网桥模块包括N个安全虚拟机网桥组件,所述N个安全虚拟机和所述N个安全虚拟机网桥组件之间一一对应,所述N为大于或等于2的正整数; 所述第一虚拟机网桥根据所述流表将所述第一数据发送至所述安全监测网桥模块,包括: 当所述第一虚拟机网桥接收到所述第一虚拟机发送的第一数据时,所述第一虚拟机网桥组件通过第一端口发送所述第一数据,所述N个安全虚拟机网桥组件按照参考顺序排序后的第一个安全虚拟机网桥组件通过第三端口接收所述第一数据,所述第一端口和排序之后的第一个安全虚拟机网桥组件上的第三端口是互为配对的一对端口; 相应地,所述安全监测网桥模块根据所述流表将接收到的第一数据转发给所述安全服务节点,以指示所述安全服务节点对所述第一数据进行处理,包括: 所述第一个安全虚拟机网桥组件将所述第一数据发送至相应安全虚拟机,以指示相应安全虚拟机对所述第一数据进行处理,所述第一个安全虚拟机网桥组件接收相应安全虚拟机发送的第一数据,由所述第一个安全虚拟机网桥组件将所述第一数据发送至第二个安全虚拟机; 对于排序之后的第i个安全虚拟机网桥组件,所述第i个安全虚拟机网桥组件接收第i-1个安全虚拟机网桥组件发送的第一数据,并将所述第一数据发送至相应安全虚拟机,以指示相应安全虚拟机对所述第一数据进行处理,并将所述第一数据返回至所述第i个安全虚拟机网桥组件,所述i为大于等于2且小于等于N的正整数,所述N个安全虚拟机网桥组件按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件上存在互为配对的一对端口。
[权利要求 17]
根据权利要求16所述的方法,其特征在于,所述安全监测网桥模块根据所述流表将所述安全服务节点发送的第一数据发送至所述第一虚拟机网桥,包括: 当排序后的最后一个安全虚拟机网桥组件接收到相应安全虚拟机发送的所述第一数据时,将所述第一数据通过第四端口发送; 所述第一虚拟机网桥通过第二端口接收所述第一数据,所述第二端口和排序之后的最后一个安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[权利要求 18]
根据权利要求12至17任一所述的方法,其特征在于,所述方法,还包括: 虚拟交换机接收第二虚拟机针对所述第一数据发送的第二数据; 所述虚拟交换机根据所述流表将所述第二数据转发至安全服务节点,以指示所述安全服务节点对所述第二数据进行处理; 当所述虚拟交换机接收到所述安全服务节点发送的第二数据时,根据所述流表将所 述第二数据发送至所述第一虚拟机。
[权利要求 19]
根据权利要求18所述的方法,其特征在于,所述虚拟交换机包括第一虚拟机网桥、第二虚拟机网桥、安全监测网桥模块和集成网桥; 所述虚拟交换机接收第二虚拟机针对所述第一数据发送的第二数据,包括: 所述第二虚拟机网桥接收所述第二虚拟机发送的第二数据; 相应地,所述虚拟交换机根据所述流表将所述第二数据转发至安全服务节点,以指示所述安全服务节点对所述第二数据进行处理,包括: 所述第二虚拟机网桥根据所述流表将所述第二数据发送至所述虚拟交换机中的集成网桥; 所述集成网桥在接收到所述第二数据时,根据所述流表将所述第二数据发送至所述第一虚拟机网桥; 所述第一虚拟机网桥在接收到所述集成网桥发送的所述第二数据时,根据所述流表将所述第二数据发送至所述安全监测网桥模块; 所述安全监测网桥模块根据所述流表将接收到的第二数据转发给所述安全服务节点,以指示所述安全服务节点在对所述第二数据进行处理; 相应地,当所述虚拟交换机接收到所述安全服务节点发送的第二数据时,根据所述流表将所述第二数据发送至所述第一虚拟机,包括: 所述安全监测网桥模块根据所述流表将所述安全服务节点发送的第二数据发送至所述第一虚拟机网桥; 当所述第一虚拟机网桥接收到所述安全监测网桥模块发送的所述第二数据时,根据所述流表将所述第二数据发送至所述第一虚拟机。
[权利要求 20]
根据权利要求19所述的方法,其特征在于,所述安全服务节点包括第一安全虚拟机,所述安全监测网桥模块包括第一安全虚拟机网桥组件; 所述第一虚拟机网桥在接收到所述集成网桥发送的所述第二数据时,根据所述流表将所述第二数据发送至所述安全监测网桥模块,包括: 当所述第一虚拟机网桥在接收到所述集成网桥发送的所述第二数据时,所述第一虚拟机网桥通过第二端口发送所述第二数据; 所述第一安全虚拟机网桥组件通过第四端口接收所述第二数据,所述第二端口和所述第一安全虚拟机网桥组件上的第四端口是互为配对的一对端口。
[权利要求 21]
根据权利要求20所述的方法,其特征在于,所述安全监测网桥模块根据所述流表将所述安全服务节点发送的第二数据发送至所述第一虚拟机网桥,包括: 当所述第一安全虚拟机网桥组件接收到所述第一安全虚拟机发送的所述第二数据时,通过所述第一安全虚拟机网桥组件中的第三端口发送所述第二数据; 所述第一虚拟机网桥通过所述第一端口接收所述第二数据。
[权利要求 22]
根据权利要求19所述的方法,其特征在于,所述安全服务节点包括N个安全虚拟机,所述安全监测网桥模块包括N个安全虚拟机网桥组件,所述N个安全虚拟机和 所述N个安全虚拟机网桥组件之间一一对应,所述N为大于或等于2的正整数; 所述第一虚拟机网桥在接收到所述集成网桥发送的所述第二数据时,根据所述流表将所述第二数据发送至所述安全监测网桥模块,包括: 当所述第一虚拟机网桥接收到所述集成网桥发送的所述第二数据时,所述第一虚拟机网桥组件通过第二端口发送所述第二数据,所述N个安全虚拟机网桥组件按照参考顺序排序后的最后一个安全虚拟机网桥组件通过第四端口接收所述第二数据,所述第二端口和排序之后的最后一个安全虚拟机网桥组件上的第四端口是互为配对的一对端口; 相应地,所述安全监测网桥模块根据所述流表将接收到的第二数据转发给所述安全服务节点,以指示所述安全服务节点在对所述第二数据进行处理,包括: 所述最后一个安全虚拟机网桥组件将所述第二数据发送至相应安全虚拟机,以指示相应安全虚拟机对所述第二数据进行处理,并将所述第二数据返回至所述最后一个安全虚拟机网桥组件,由所述最后一个安全虚拟机网桥组件将所述第二数据发送至排序后的倒数第二个安全虚拟机网桥组件; 对于排序之后的第j个安全虚拟机网桥组件,所述第j个安全虚拟机网桥组件接收第j+1个安全虚拟机网桥组件发送的第二数据,并将所述第二数据发送至相应安全虚拟机,以指示相应安全虚拟机对所述第二数据进行处理,并将所述第二数据返回至所述第j个安全虚拟机网桥组件,所述j为大于等于1且小于等于N-1的正整数,所述N个安全虚拟机网桥组件按照参考顺序排序之后每相邻的两个安全虚拟机网桥组件上存在互为配对的一对端口。
[权利要求 23]
根据权利要求22所述的方法,其特征在于,所述安全监测网桥模块根据所述流表将所述安全服务节点发送的第二数据发送至所述第一虚拟机网桥,包括: 当排序后的第一个安全虚拟机网桥组件接收到相应安全虚拟机发送的所述第二数据时,将所述第二数据通过第三端口发送; 所述第一虚拟机网桥通过第一端口接收所述第二数据,所述第一端口和排序之后的第一个安全虚拟机网桥组件上的第三端口是互为配对的一对端口。
附图