报文转发方法及装置与流程

文档序号:12865990阅读:237来源:国知局
报文转发方法及装置与流程
本申请涉及虚拟化
技术领域
,特别涉及一种报文转发方法及装置。
背景技术
:目前,为了实现对数据库访问数据流的审计,需要将数据库审计(databaseaudit)设备和数据库服务器(databaseserver)连接至同一台交换机上,通过交换机的镜像功能,将需要审计的数据库访问报文镜像到数据库审计设备上进行审计。在虚拟化环境中,数据库服务器可以由虚拟机(vm)来实现,此时,数据库审计设备和作为数据库服务器的vm所在物理服务器需要连接至同一台交换机上,通过交换机的镜像功能,将交换机接收到的需要审计的数据库访问报文镜像到数据库审计设备上进行审计。但是,上述的实现方法具有局限性,无法将发往某一台交换机连接的数据库服务器的数据库访问报文,镜像到另一台交换机连接的数据库审计设备上进行审计。技术实现要素:有鉴于此,本申请提供一种报文转发方法及装置。具体地,本申请是通过如下技术方案实现的:一方面,提供了一种报文转发方法,该方法应用于接入设备,该方法包括:在接收到数据库访问报文之后,根据该数据库访问报文的ip地址,在本地的镜像规则表中,查找到对应的mac地址和vxlan隧道;其中,镜像规则表 中包含有至少一个镜像规则,每一个镜像规则中包括:本接入设备连接的数据库服务器的ip地址、数据库审计设备的mac地址、以及本接入设备与连接该数据库审计设备的接入设备之间的vxlan隧道;对该数据库访问报文进行镜像,将镜像报文的目的mac地址替换为查找到的mac地址;根据查找到的vxlan隧道对该镜像报文进行封装,并将封装得到的vxlan报文转发出去。另一方面,还提供了一种报文转发方法,该方法应用于sdn控制器,该方法包括:确定需要为连接数据库服务器的第一接入设备配置镜像规则;向第一接入设备发送携带有该镜像规则的镜像规则新增消息,以使第一接入设备将该镜像规则添加到本地的镜像规则表中,并根据该镜像规则转发报文;其中,该镜像规则中包括:第一接入设备连接的数据库服务器的ip地址、数据库审计设备的mac地址、第一接入设备与连接该数据库审计设备的第二接入设备之间的vxlan隧道。又一方面,还提供了一种报文转发装置,该装置应用于接入设备中,该装置包括:接收模块,用于接收数据库访问报文;查找模块,用于在接收模块接收到数据库访问报文之后,根据该数据库访问报文的目的ip地址,在本地的镜像规则表中,查找到对应的mac地址和vxlan隧道;其中,镜像规则表中包含有至少一个镜像规则,每一个镜像规则中包括:本接入设备连接的数据库服务器的ip地址、数据库审计设备的mac地址、以及本接入设备与连接该数据库审计设备的接入设备之间的vxlan隧道;镜像模块,用于对接收模块接收到的数据库访问报文进行镜像;替换模块,用于将镜像模块得到的镜像报文的目的mac地址,替换为查找模块查找到的mac地址;封装模块,用于根据查找模块查找到的vxlan隧道,对替换模块替换后的镜像报文进行封装;发送模块,用于将封装模块封装得到的vxlan报文转发出去。又一方面,还提供了一种报文转发装置,该装置应用于sdn控制器中,该装置包括:确定模块,用于确定需要为连接数据库服务器的第一接入设备配置镜像规则;发送模块,用于在确定模块确定需要为第一接入设备配置镜像规则之后,向第一接入设备发送携带有该镜像规则的镜像规则新增消息,以使第一接入设备将该镜像规则添加到本地的镜像规则表中,并根据该镜像规则转发报文;其中,该镜像规则中包括:第一接入设备连接的数据库服务器的ip地址、数据库审计设备的mac地址、第一接入设备与连接该数据库审计设备的第二接入设备之间的vxlan隧道。通过本申请的以上技术方案,连接数据库服务器的接入设备上的镜像规则表中保存有该数据库服务器的ip地址、数据库审计设备的mac地址、以及本接入设备与连接该数据库审计设备的接入设备之间的vxlan隧道;从而,本接入设备在接收到数据库访问报文之后,可以从镜像规则表中查找到与该数据库访问报文的目的ip地址相对应的mac地址和vxlan隧道,在对该数据库访问报文进行镜像后,将镜像报文的目的mac地址替换为查找到的mac地址,之后,根据查找到的vxlan隧道对该镜像报文进行封装后,转发给连接该数据库审计设备的接入设备;这样,连接该数据库审计设备的接入设备在收到该vxlan报文后,即可对该vxlan报文进行解封装得到其中的镜像报文,并根据该镜像报文的目的mac地址将该镜像报文转发给该数据库审计设备进行审计。从而,通过上述的方法,实现了将发往某一接入设备连接的数据库服务器的数据库访问报文,镜像到另一接入设备连接的数据库审计设备上进行审计的目的。附图说明图1是本申请一示例性实施例示出的虚拟化网络的组网示意图;图2是本申请一示例性实施例示出的连接数据库服务器的接入设备对数据库访问报文进行处理的流程图;图3是本申请一示例性实施例示出的图1中的vm2发生了迁移后的虚拟化网络的组网示意图;图4是本申请一示例性实施例示出的图3中的vm7发生了迁移后的虚拟化网络的组网示意图;图5是本申请一示例性实施例示出的接入设备的硬件架构示意图;图6是本申请一示例性实施例示出的应用于接入设备中的报文转发装置的一种结构示意图;图7是本申请一示例性实施例示出的应用于接入设备中的报文转发装置的另一种结构示意图;图8是本申请一示例性实施例示出的sdn控制器的硬件架构示意图;图9是本申请一示例性实施例示出的应用于sdn控制器中的报文转发装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解, 本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。为了解决现有技术中存在的无法将发往某一台交换机连接的数据库服务器vm的数据库访问报文,镜像到另一台交换机连接的数据库审计设备上进行审计的问题,本申请以下实施例中提供了一种报文转发方法,以及一种可以应用该方法的报文转发装置。本申请实施例应用于如图1所示的虚拟化网络中,该虚拟化网络中包括:sdn(softwaredefinednetwork,软件定义网络)控制器、数据库服务器和数据库审计设备。其中,数据库服务器可以由物理设备来实现,也可以由vm(虚拟机)来实现,如图1中左划线填充的vm即为运行了数据库服务器软件的vm,此时,该vm作为数据库服务器;数据库审计设备可以由物理设备来实现,也可以由vm来实现,如图1中右划线填充的vm即为运行了数据库审计设备软件的vm,此时,该vm作为数据库审计设备。为了描述方便,以下将由物理设备实现的数据库服务器称为物理数据库服务器,由vm实现的数据库服务器称为数据库服务器vm,将由物理设备实现的数据库审计设备称为物理数据库审计设备,由vm实现的数据库审计设备称为数据库审计设备vm。在连接数据库服务器或数据库审计设备的接入设备(例如,交换机)之间建立vxlan(virtualextensiblelan,可扩展虚拟局域网络)隧道,实现任意两个接入设备间的隧道全连接。其中,连接数据库服务器的接入设备可以是连接物理数据库服务器的物理交换机,也可以是连接数据库服务器vm的虚拟交换机(vswitch),或者是数据库服务器vm所在物理服务器连接的外部的物理交换机;连接数据库 审计设备的接入设备可以是连接物理数据库审计设备的物理交换机,也可以是连接数据库审计设备vm的vswitch,或者是数据库审计设备vm所在物理服务器连接的外部的物理交换机。特别的,当物理数据库服务器和数据库服务器vm所在物理服务器连接在同一物理交换机上时,需要与其它接入设备建立vxlan隧道的是该物理交换机,即,在该物理交换机与其它接入设备之间建立vxlan隧道,而不是在该数据库服务器vm连接的vswitch与其它接入设备之间建立vxlan隧道。例如,图1中的交换机1同时连接物理数据库服务器1和数据库服务器vm1~vm3所在物理服务器1,此时,在交换机1与其它接入设备之间建立vxlan隧道,而不是在数据库服务器vm1~vm3连接的vswitch与其它接入设备之间建立vxlan隧道。当物理数据库审计设备和数据库审计设备vm所在物理服务器连接在同一物理交换机上时,也是如此。在实际实施过程中,建立vxlan隧道的方式可以采用手工方式或自动方式。其中,手工方式是指在接入设备上手工配置隧道接口,并指定隧道接口的源ip地址为本端接入设备的ip地址、目的ip地址为远端接入设备的ip地址;自动方式是指通过endp(enhancedneighbordiscoveryprotocol,增强的邻居发现协议)发现远端接入设备后,自动在本端接入设备和远端接入设备之间建立vxlan隧道。当需要对任一数据库服务器的数据库访问报文进行审计时,可以通过静态配置方式或者其它方式,在sdn控制器上配置对应的镜像规则,并保存到全局镜像规则配置表中,该镜像规则中包括:该数据库服务器的ip(internetprotocol,因特网协议)地址、数据库审计设备的mac(mediaaccesscontrol,媒体访问控制)地址、以及,连接该数据库服务器的接入设备与连接该数据库审计设备的接入设备之间的vxlan隧道;sdn控制器将该镜像规则携带在镜像规则新增消息中,发送给连接该数据库服务器的接入设备。sdn控制器上的全局镜像规则配置表的格式可以如表1所示。其中,上述其它方式可以是sdn控制器连接的上层管理平台将上述镜像规 则发送给sdn控制器进行配置,本申请实施例对此不做限定。连接该数据库服务器的接入设备在接收到该镜像规则新增消息之后,将该镜像规则新增消息中携带的镜像规则添加到如表2所示的镜像规则表中。表1由表1可以看出,sdn控制器上的全局镜像规则配置表中记录了:镜像规则以及需要配置该镜像规则的接入设备的id(标识),其中,接入设备的id具体可以是接入设备的ip地址或者名称等。表2其中,在表1和表2中,sw1表示连接该数据库服务器的接入设备的id,sw2表示连接该数据库审计设备的接入设备的id。在实际实施过程中,镜像规则中的vxlan隧道可以通过该vxlan隧道的源ip地址和目的ip地址来表示,其中,源ip地址可以是sw1的ip地址,目的ip地址可以是sw2的ip地址。在配置了镜像规则之后,连接该数据库服务器的接入设备就可以根据该镜像规则,将发往该数据库服务器的数据库访问报文,镜像到该数据库审计设备上进行审计。具体的,该接入设备需要执行的操作如图2所示,包括以下步骤:步骤s101,在接收到数据库访问报文之后,根据该数据库访问报文的目的ip地址,在镜像规则表中,查找到对应的mac地址和vxlan隧道;如表2所示,查找到的mac地址为数据库审计设备的mac地址,查找到的vxlan隧道为sw1与sw2之间的vxlan隧道。步骤s102,对该数据库访问报文进行镜像,将镜像报文的目的mac地址替换为查找到的mac地址;其中,对该数据库访问报文进行镜像后,会得到两个相同的报文,其中一个称为原始的数据库访问报文,另外一个称为镜像报文。对于原始的数据库访问报文会根据该报文的目的mac地址进行二层转发,即,在mac地址表中查找到对应的出接口,通过该出接口转发给该数据库服务器。步骤s103,根据查找到的vxlan隧道对该镜像报文进行封装,并将封装得到的vxlan报文转发出去。具体的,在该镜像报文的外面添加8字节的vxlan头、8字节的udp头和20字节的ip头。在步骤s103中,封装得到的vxlan报文会转发给连接数据库审计设备的接入设备。连接该数据库审计设备的接入设备接收到该vxlan报文之后,对接收到的vxlan报文进行解封装得到该镜像报文,根据该镜像报文的目的mac地址进行二层转发,即,在mac地址表中查找到对应的出接口,通过该出接口将该镜像报文转发给该数据库审计设备。本申请上述实施例的方法中,连接数据库服务器的接入设备上的镜像规则表中保存有:该数据库服务器的ip地址、数据库审计设备的mac地址、以及本接入设备与连接该数据库审计设备的接入设备之间的vxlan隧道;从而,本接入设备在接收到数据库访问报文之后,可以从镜像规则表中查找到与该数据库访问报文的目的ip地址相对应的mac地址和vxlan隧道,在对该数据库访问报文进行镜像后,将镜像报文的目的mac地址替换为查找到的mac地址,之后,根据查找到的vxlan隧道对该镜像报文进行封装后,转发给连接该数据库审计设备的接入设备;这样,连接该数据库审计设备的接入设备在收到该vxlan报文后,即可对该vxlan报文进行解封装得到其中的镜像报文,并根据该镜像报文的目的mac地址将该镜像报文转发给该数据库审计设备。从 而,通过上述的方法,实现了将发往某一接入设备连接的数据库服务器的数据库访问报文,镜像到另一接入设备连接的数据库审计设备上进行审计的目的。后续,当不再需要对该数据库服务器的访问数据流进行审计时,可以通过静态配置方式或其它方式,从全局镜像规则配置表中删除对应的镜像规则,此时,sdn控制器会向连接该数据库服务器的接入设备发送镜像规则删除消息,其中,该镜像规则删除消息中携带有该镜像规则中包含的至少一种信息,该至少一种信息可以是该镜像规则中包含的ip地址、mac地址和vxlan隧道中的一种或多种的组合。连接该数据库服务器的接入设备在接收到该镜像规则删除消息之后,就会从镜像规则表中查找到包含有该至少一种信息的镜像规则并删除。在虚拟化网络中,数据库服务器可以由vm来实现,数据库审计设备也可以由vm来实现,虚拟化网络中支持vm的迁移,因此,需要实现在vm动态迁移过程中的数据库访问报文的审计。数据库服务器vm迁移过程中的数据库访问报文的转发过程如下:当需要对任一数据库服务器vm进行迁移时,vm管理软件向sdn控制器发送迁移启动通知,其中,该迁移启动通知中携带有该vm的地址信息、该vm迁移前连接的第三接入设备的标识、以及该vm迁移后连接的第一接入设备的标识等。sdn控制器在接收到该迁移启动通知之后,会在全局镜像规则配置表中,查找包含有该vm的ip地址的镜像规则,其中,该镜像规则中包括的mac地址所标识的数据库审计设备(为了描述方便,称为第一数据库审计设备)连接第二接入设备;然后,对查找到的镜像规则进行复制并添加到全局镜像规则配置表中,将复制的镜像规则中包含的vxlan隧道,替换为第一接入设备与第二接入设备之间的vxlan隧道;最终,将替换后的镜像规则携带在镜像规则新增消息中,发送给第一接入设备。在实际实施过程中,将复制的镜像规则中包含的vxlan隧道,替换为第一接入设备与第二接入设备之间的vxlan隧道的方法可以是:将复制的镜像规则中包含的vxlan隧道的源ip地址,替换为第一接入设备的ip地址。第一接入设备在接收到该镜像规则新增消息之后,就会将该替换后的镜像规则添加到本地的镜像规则表中。此时,vm迁移前连接的第三接入设备和迁移后连接的第一接入设备上都配置有该数据库服务器vm对应的镜像规则。从而,第三接入设备和第一接入设备接收到发往该vm的数据库访问报文之后,都会按照如图2所示的方法,将该数据库访问报文的镜像报文发送给第二接入设备,通过第二接入设备转发给第一数据库审计设备进行审计。当该数据库服务器vm迁移完成之后,vm管理软件会向sdn控制器发送迁移完成通知,其中,该迁移完成通知中携带有该vm的地址信息、该vm迁移前连接的第三接入设备的标识、以及该vm迁移后连接的第一接入设备的标识等。sdn控制器接收到该迁移完成通知之后,会从全局镜像规则配置表中,删除包含有该vm的ip地址、以及第三接入设备与第二接入设备之间的vxlan隧道的镜像规则;然后,向第三接入设备发送携带有该vm的ip地址的镜像规则删除消息。在实际实施过程中,删除包含有该vm的ip地址、以及第三接入设备与第二接入设备之间的vxlan隧道的镜像规则的方法可以是:删除包含有该vm的ip地址、以及源ip地址为第三接入设备的ip地址的vxlan隧道的镜像规则。第三接入设备接收到该镜像规则删除消息之后,会根据该镜像规则删除消息中携带的该vm的ip地址,从镜像规则表中查找到包含有该ip地址的镜像规则并删除。这样,只有迁移后连接的第一接入设备上配置有该vm对应的镜像规则,从而,第一接入设备接收到发往该vm的数据库访问报文之后,会按照如图2所示的方法,将该数据库访问报文的镜像报文发送给第二接入设备,通过第二接入设备转发给第一数据库审计设备进行审计。或者,当需要对任一数据库服务器vm进行迁移时,vm管理软件向sdn控制器发送迁移启动通知,其中,该迁移启动通知中携带有该vm的地址信息、该vm迁移前连接的第一接入设备的标识、以及该vm迁移后连接的第三接入设备的标识等。sdn控制器在接收到该迁移启动通知之后,会在全局镜像规则 配置表中,查找包含有该vm的ip地址的镜像规则,其中,该镜像规则中包括的mac地址所标识的数据库审计设备(为了描述方便,称为第一数据库审计设备)连接第二接入设备;然后,对查找到的镜像规则进行复制并添加到全局镜像规则配置表中,将复制的镜像规则中包含的vxlan隧道,替换为第三接入设备与第二接入设备之间的vxlan隧道;最终,将替换后的镜像规则携带在镜像规则新增消息中,发送给第三接入设备。在实际实施过程中,将复制的镜像规则中包含的vxlan隧道,替换为第三接入设备与第二接入设备之间的vxlan隧道的方法可以是:将复制的镜像规则中包含的vxlan隧道的源ip地址,替换为第三接入设备的ip地址。第三接入设备在接收到该镜像规则新增消息之后,就会将该替换后的镜像规则添加到本地的镜像规则表中。此时,vm迁移前连接的第一接入设备和迁移后连接的第三接入设备上都配置有该数据库服务器vm对应的镜像规则。从而,第一接入设备和第三接入设备接收到发往该vm的数据库访问报文之后,都会按照如图2所示的方法,将该数据库访问报文的镜像报文发送给第二接入设备,通过第二接入设备转发给第一数据库审计设备进行审计。当该数据库服务器vm迁移完成之后,vm管理软件会向sdn控制器发送迁移完成通知,其中,该迁移完成通知中携带有该vm的地址信息、该vm迁移前连接的第一接入设备的标识、以及该vm迁移后连接的第三接入设备的标识等。sdn控制器接收到该迁移完成通知之后,会从全局镜像规则配置表中,删除包含有该vm的ip地址、以及第一接入设备与第二接入设备之间的vxlan隧道的镜像规则;然后,向第一接入设备发送携带有该vm的ip地址的镜像规则删除消息。在实际实施过程中,删除包含有该vm的ip地址、以及第一接入设备与第二接入设备之间的vxlan隧道的镜像规则的方法可以是:删除包含有该vm的ip地址、以及源ip地址为第一接入设备的ip地址的vxlan隧道的镜像规则。第一接入设备接收到该镜像规则删除消息之后,会根据该镜像规则删除消 息中携带的该vm的ip地址,从镜像规则表中查找到包含有该ip地址的镜像规则并删除。这样,只有迁移后连接的第三接入设备上配置有该vm对应的镜像规则,从而,第三接入设备接收到发往该vm的数据库访问报文之后,会按照如图2所示的方法,将该数据库访问报文的镜像报文发送给第二接入设备,通过第二接入设备转发给第一数据库审计设备进行审计。数据库审计设备vm迁移过程中的数据库访问报文的转发过程如下:当需要对任一数据库审计设备vm进行迁移时,vm管理软件会向sdn控制器发送的迁移启动通知,其中,该迁移启动通知中携带有该vm的地址信息、该vm迁移前连接的第三接入设备的标识和迁移后连接的第二接入设备的标识。sdn控制器接收到该迁移启动通知之后,会在全局镜像规则配置表中,查找包含有该vm的mac地址的镜像规则,其中,该镜像规则中包含的ip地址所标识的数据库服务器(为了描述方便,称为第一数据库服务器)连接第一接入设备;然后,对查找到的镜像规则进行复制并添加到全局镜像规则配置表中,将复制的镜像规则中包含的vxlan隧道,替换为第一接入设备与第二接入设备之间的vxlan隧道;最后,将替换后的镜像规则携带在镜像规则新增消息中,发送给第一接入设备。在实际实施过程中,将复制的镜像规则中包含的vxlan隧道,替换为第一接入设备与第二接入设备之间的vxlan隧道的方法可以是:将复制的镜像规则中包含的vxlan隧道的目的ip地址,替换为第二接入设备的ip地址。第一接入设备在接收到该镜像规则新增消息之后,就会将该替换后的镜像规则添加到镜像规则表中。此时,第一接入设备上既配置有包含第一数据库服务器的ip地址、该数据库审计设备vm的mac地址、以及第一接入设备与第三接入设备之间的vxlan隧道的镜像规则,也配置有包含第一数据库服务器的ip地址、该数据库审计设备vm的mac地址、以及第一接入设备与第二接入设备之间的vxlan隧道的镜像规则,从而,在接收到发往第一数据库服务器的数据库访问报文之后,第一接入设备就会按照如图2所示的方法,将该数据库访问报文的镜像报文发送给第三接入设备和第二接入设备,通过第三接入 设备和第二接入设备转发给该数据库审计设备vm进行审计。当该数据库审计设备vm完成了迁移之后,vm管理软件向sdn控制器发送迁移完成通知,其中,该迁移完成通知中携带有该vm的地址信息、该vm迁移前连接的第三接入设备的标识和迁移后连接的第二接入设备的标识。sdn控制器接收到该迁移完成通知之后,会从全局镜像规则配置表中,删除包含有该vm的mac地址、以及第一接入设备与第三接入设备之间的vxlan隧道的镜像规则;然后,向第一接入设备发送携带有该vm的mac地址、以及第一接入设备与第三接入设备之间的vxlan隧道的镜像规则删除消息。在实际实施过程中,删除包含有该vm的mac地址、以及第一接入设备与第三接入设备之间的vxlan隧道的镜像规则的方法可以是:删除包含有该vm的mac地址、以及目的ip地址为第三接入设备的ip地址的vxlan隧道的镜像规则。第一接入设备接收到该镜像规则删除消息之后,会根据该镜像规则删除消息中携带的该vm的mac地址、以及第一接入设备与第三接入设备之间的vxlan隧道,从镜像规则表中查找到对应的镜像规则并删除。这样,第一接入设备的镜像规则表中配置有包含第一数据库服务器的ip地址、该数据库审计设备vm的mac地址、以及第一接入设备与第二接入设备之间的vxlan隧道的镜像规则,从而,在接收到发往第一数据库服务器的数据库访问报文之后,第一接入设备就会按照如图2所示的方法,将该数据库访问报文的镜像报文发送给第二接入设备,通过第二接入设备转发给该数据库审计设备vm进行审计。通过上述方法,实现了数据库服务器vm或者数据库审计设备vm动态迁移过程中的数据库访问数据报文的审计。其中,在数据库服务器vm进行迁移的过程中,在迁移启动时,在迁移后连接的接入设备上配置该vm对应的镜像规则,在迁移完成之后,在迁移前连接的接入设备上删除该vm对应的镜像规则,从而,实现了数据库服务器vm动态迁移过程中,该vm对应的镜像规则的动态跟随,确保在迁移过程中不会影响发往该vm的数据库访问数据报文的审计,并且,该数据库访问数据报文 需要镜像到的数据库审计设备的位置无需改变。在数据库审计设备vm进行迁移的过程中,在迁移启动时,在对应的数据库服务器连接的接入设备上配置相应的镜像规则,该镜像规则中包含有该数据库服务器的ip地址、该vm的mac地址、以及该数据库服务器连接的接入设备与该vm迁移后连接的接入设备之间的vxlan隧道,在迁移完成之后,删除包含有该数据库服务器的ip地址、该vm的mac地址、以及该数据库服务器连接的接入设备与该vm迁移前连接的接入设备之间的vxlan隧道的镜像规则,从而,确保在数据库审计设备vm迁移过程中不会影响需要镜像到该vm的数据库访问报文的审计。以图1所示的实际网络为例,详细说明上述实施例的方法。图1中,在交换机1、交换机2、交换机3和交换机4中的任意两个交换机之间建立vxlan隧道。vm1~vm5为数据库服务器vm,vm6~vm9为数据库审计设备vm。vmn的ip地址和mac地址分别记为vmn-ip和vmn-mac,其中,n=1,2,…,9;交换机1连接的物理数据库服务器1的ip地址和mac地址分别记为ip11和mac11,交换机3连接的物理数据库审计设备1的ip地址和mac地址分别记为ip31和mac31;交换机i与交换机j之间的vxlan隧道记为vxlanij,其中,i=1,2,3,4,j=1,2,3,4,i≠j。sdn控制器上的全局镜像规则配置表如表3-1所示,交换机1上的镜像规则表如表4-1所示,交换机2上的镜像规则表如表5-1所示:表3-1表4-1ip地址mac地址vxlan隧道ip11vm8-macvxlan14vm1-ipvm7-macvxlan14vm2-ipmac31vxlan13vm3-ipmac31vxlan13表5-1ip地址mac地址vxlan隧道vm4-ipvm6-macvxlan23vm5-ipmac31vxlan23交换机1接收到数据库访问报文,其中,该数据库访问报文的目的ip地址为vm2-ip、目的mac地址为vm2-mac;从如表4-1所示的镜像规则表中查找到对应的mac地址为mac31、vxlan隧道为vxlan13,对该数据库访问报文进行镜像,将镜像报文的目的mac地址vm2-mac替换为mac31,之后,根据vxlan13对该镜像报文进行封装后,将封装得到的vxlan报文转发给交换机3。交换机3接收到该vxlan报文后,对该vxlan报文进行解封装得到其中的镜像报文,根据该镜像报文的目的mac地址mac31,在mac地址表中查找到对应的出接口,通过该出接口将该镜像报文转发给物理数据库审计设备1,从而,物理数据库审计设备1可以对该镜像报文进行审计。当vm管理软件(图1中未示出)要启动vm2的迁移时,向sdn控制器发送迁移启动通知,该迁移启动通知中携带有vm2的地址信息、vm2迁移前 连接的交换机1的标识、vm2迁移后连接的交换机2的标识等;sdn控制器接收到该迁移启动通知后,根据该迁移启动通知中携带的vm2的地址信息,确定该vm2为数据库服务器vm,则根据vm2的ip地址vm2-ip,在如表3-1所示的全局镜像规则配置表中查找对应的镜像规则,结果查找到如表3-1第4行所示的表项,对该镜像规则进行复制并添加到表3-1中,将复制的镜像规则中包含的vxlan隧道vxlan13,替换为交换机2与交换机3之间的vxlan隧道vxlan23,之后,将该镜像规则携带在镜像规则新增消息中发送给交换机2。此时,表3-1更新为表3-2。交换机2接收到该镜像规则新增消息之后,将该镜像规则新增消息中携带的镜像规则添加到如表5-1所示的镜像规则表中,此时,表5-1更新为表5-2。之后,在接收到数据库访问报文后,会按照如表5-2所示的镜像规则表进行处理。表3-2表5-2ip地址mac地址vxlan隧道vm4-ipvm6-macvxlan23vm5-ipmac31vxlan23vm2-ipmac31vxlan23当vm管理软件对vm2进行迁移完成之后,此时,图1所示的虚拟化网络更新为如图3所示,向sdn控制器发送迁移完成通知,该迁移完成通知中携带有vm2的地址信息、vm2迁移前连接的交换机1的标识、vm2迁移后连接的交换机2的标识等;sdn控制器接收到该迁移完成通知后,根据vm2的ip地址vm2-ip和vxlan13,在如表3-2所示的全局镜像规则配置表中查找对应的镜像规则,结果查找到如表3-2第4行所示的表项,删除该表项,此时,表3-2更新为表3-3;sdn控制器向交换机1发送携带有vm2-ip的镜像规则删除消息。交换机1接收到该镜像规则删除消息之后,从表4-1中删除包含有vm2-ip的镜像规则,此时,表4-1更新为表4-2。之后,在接收到数据库访问报文之后,会按照如表4-2所示的镜像规则表进行处理。表3-3表4-2ip地址mac地址vxlan隧道ip11vm8-macvxlan14vm1-ipvm7-macvxlan14vm3-ipmac31vxlan13当vm管理软件要启动vm7的迁移时,向sdn控制器发送迁移启动通知, 该迁移启动通知中携带有vm7的地址信息、vm7迁移前连接的交换机4的标识、vm7迁移后连接的交换机3的标识等;sdn控制器接收到该迁移启动通知后,根据该迁移启动通知中携带的vm7的地址信息,确定该vm7为数据库审计设备vm,则根据vm7的mac地址vm7-mac,在如表3-3所示的全局镜像规则配置表中查找对应的镜像规则,结果查找到如表3-3第3行所示的表项,对该镜像规则进行复制并添加到表3-3中,将复制的镜像规则中包含的vxlan隧道vxlan14,替换为交换机1与交换机3之间的vxlan隧道vxlan13,之后,将该镜像规则携带在镜像规则新增消息中发送给交换机1。此时,表3-3更新为表3-4。交换机1接收到该镜像规则新增消息之后,将该镜像规则新增消息中携带的镜像规则添加到如表4-2所示的镜像规则表中,此时,表4-2更新为表4-3。之后,在接收到数据库访问报文之后,会按照如表4-3所示的镜像规则表进行处理。表3-4表4-3ip地址mac地址vxlan隧道ip11vm8-macvxlan14vm1-ipvm7-macvxlan14vm1-ipvm7-macvxlan13vm3-ipmac31vxlan13当vm管理软件对vm7进行迁移完成之后,此时,图3所示的虚拟化网络更新为如图4所示,向sdn控制器发送迁移完成通知,该迁移完成通知中携带有vm7的地址信息、vm7迁移前连接的交换机4的标识、vm7迁移后连接的交换机3的标识等;sdn控制器接收到该迁移完成通知后,根据vm7的mac地址vm7-mac和vxlan14,在如表3-4所示的全局镜像规则配置表中查找对应的镜像规则,结果查找到如表3-4第3行所示的表项,删除该表项,此时,表3-4更新为表3-5;sdn控制器向交换机1发送携带有vm7-mac和vxlan14的镜像规则删除消息。交换机1接收到该镜像规则删除消息之后,从如表4-3所示的镜像规则表中删除包含有vm7-mac和vxlan14的镜像规则,此时,表4-3更新为表4-4。之后,在接收到数据库访问报文之后,会按照如表4-4所示的镜像规则表进行处理。表3-5表4-4ip地址mac地址vxlan隧道ip11vm8-macvxlan14vm1-ipvm7-macvxlan13vm3-ipmac31vxlan13与前述的报文转发方法的实施例相对应,本申请还提供了一种报文转发装置60和一种报文转发装置70的实施例。一种实施例中,本申请报文转发装置60的实施例可以应用在接入设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在接入设备的处理器10将非易失性存储器50中对应的计算机程序指令读取到内存40中运行形成的。从硬件层面而言,如图5所示,为本申请报文转发装置所在接入设备的一种硬件结构图,除了图5所示的处理器10、内部总线20、网络接口30、内存40、以及非易失性存储器50之外,实施例中装置所在的接入设备通常根据该接入设备的实际功能,还可以包括其他硬件,对此不再赘述。请参考图6,上述应用于接入设备中的报文转发装置60中包括以下模块:接收模块601、查找模块602、镜像模块603、替换模块604、封装模块605和发送模块606,其中:接收模块601,用于接收数据库访问报文;查找模块602,用于在接收模块601接收到数据库访问报文之后,根据该数据库访问报文的目的ip地址,在本地的镜像规则表中,查找到对应的mac地址和vxlan隧道;其中,镜像规则表中包含有至少一个镜像规则,每一个镜像规则中包括:本接入设备连接的数据库服务器的ip地址、数据库审计设备的mac地址、以及本接入设备与连接该数据库审计设备的接入设备之间的vxlan隧道;镜像模块603,用于对接收模块601接收到的数据库访问报文进行镜像;替换模块604,用于将镜像模块603得到的镜像报文的目的mac地址,替换为查找模块602查找到的mac地址;封装模块605,用于根据查找模块602查找到的vxlan隧道,对替换模块604替换后的镜像报文进行封装;发送模块606,用于将封装模块605封装得到的vxlan报文转发出去。其中,如图7所示,上述应用于接入设备中的报文转发装置60中还包括:添加模块607和删除模块608,其中:接收模块601,还用于接收sdn控制器发来的镜像规则新增消息和镜像规则删除消息,其中,镜像规则删除消息中携带有要删除的镜像规则中包含的至少一种信息;添加模块607,用于将接收模块601接收到的镜像规则新增消息中携带的镜像规则,添加到镜像规则表中;删除模块608,用于根据镜像规则删除消息中携带的至少一种信息,从镜像规则表中查找到要删除的镜像规则并删除。另一种实施例中,本申请报文转发装置70的实施例可以应用在sdn控制器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在sdn控制器的处理器10将非易失性存储器50中对应的计算机程序指令读取到内存40中运行形成的。从硬件层面而言,如图8所示,为本申请报文转发装置所在sdn控制器的一种硬件结构图,除了图8所示的处理器10、内部总线20、网络接口30、内存40、以及非易失性存储器50之外,实施例中装置所在的sdn控制器通常根据该sdn控制器的实际功能,还可以包括其他硬件,对此不再赘述。请参考图9,上述应用于sdn控制器中的报文转发装置70中包括:确定模块701和发送模块702,其中:确定模块701,用于确定需要为连接数据库服务器的第一接入设备配置镜像规则;发送模块702,用于在确定模块701确定需要为第一接入设备配置镜像规则 之后,向第一接入设备发送携带有该镜像规则的镜像规则新增消息,以使第一接入设备将该镜像规则添加到本地的镜像规则表中,并根据该镜像规则转发报文;其中,该镜像规则中包括:第一接入设备连接的数据库服务器的ip地址、数据库审计设备的mac地址、第一接入设备与连接该数据库审计设备的第二接入设备之间的vxlan隧道。一种实施例中,确定模块701中包括:接收单元、查找单元、复制添加单元、替换单元和确定单元,其中:接收单元,用于接收虚拟机管理软件发来的迁移启动通知,其中,该迁移启动通知中携带有要迁移的vm的地址信息、要迁移的vm迁移前连接的第三接入设备的标识和迁移后连接的第一接入设备的标识;查找单元,用于若要迁移的vm为数据库服务器,则在全局镜像规则配置表中,查找包含有要迁移的vm的ip地址的镜像规则,其中,查找到的镜像规则中包含的mac地址所标识的数据库审计设备连接第二接入设备;复制添加单元,用于对查找单元查找到的镜像规则进行复制并添加到全局镜像规则配置表中;替换单元,用于将复制添加单元复制的镜像规则中包含的vxlan隧道,替换为第一接入设备与第二接入设备之间的vxlan隧道;确定单元,用于确定需要为第一接入设备配置替换单元替换后的镜像规则。另一种实施例中,确定模块701中包括:接收单元、查找单元、复制添加单元、替换单元和确定单元,其中:接收单元,用于接收虚拟机管理软件发来的迁移启动通知,其中,迁移启动通知中携带有要迁移的vm的地址信息、要迁移的vm迁移前连接的第三接入设备的标识和迁移后连接的第二接入设备的标识;查找单元,用于若要迁移的vm为数据库审计设备,则在全局镜像规则配置表中,查找包含有要迁移的vm的mac地址的镜像规则,其中,查找到的镜像规则中包含的ip地址所标识的数据库服务器连接第一接入设备;复制添加单元,用于对查找单元查找到的镜像规则进行复制并添加到全局 镜像规则配置表中;替换单元,用于将复制添加单元复制的镜像规则中包含的vxlan隧道,替换为第一接入设备与第二接入设备之间的vxlan隧道;确定单元,用于确定需要为第一接入设备配置替换单元替换后的镜像规则。另外,确定模块701,还用于确定需要删除第一接入设备上的镜像规则;发送模块702,还用于在确定模块701确定需要删除第一接入设备上的镜像规则之后,向第一接入设备发送携带有要删除的镜像规则中包含的至少一种信息的镜像规则删除消息,以使第一接入设备从本地的镜像规则表中查找到包含有该至少一种信息的镜像规则并删除。一种实施例中,确定模块701中包括:接收单元、查找单元、复制添加单元、替换单元和确定单元,其中:接收单元,用于接收虚拟机管理软件发来的迁移完成通知,其中,迁移完成通知中携带有要迁移的vm的地址信息、要迁移的vm迁移前连接的第一接入设备的标识和迁移后连接的第三接入设备的标识;删除单元,用于若要迁移的vm为数据库服务器,则从全局镜像规则配置表中,删除包含有要迁移的vm的ip地址、以及第一接入设备与第二接入设备之间的vxlan隧道的镜像规则,其中,该镜像规则中包含的mac地址所标识的数据库审计设备连接第二接入设备;确定单元,用于确定需要删除第一接入设备上的包含有要迁移的vm的ip地址的镜像规则。另一种实施例中,确定模块701中包括:接收单元、查找单元、复制添加单元、替换单元和确定单元,其中:接收单元,用于接收虚拟机管理软件发来的迁移完成通知,其中,迁移完成通知中携带有要迁移的vm的地址信息、要迁移的vm迁移前连接的第三接入设备的标识和迁移后连接的第二接入设备的标识;删除单元,用于若要迁移的vm为数据库审计设备,则从全局镜像规则配置表中,删除包含有要迁移的vm的mac地址、以及第一接入设备与第三接入 设备之间的vxlan隧道的镜像规则,其中,该镜像规则中包含的ip地址所标识的数据库服务器连接第一接入设备;确定单元,用于确定需要删除第一接入设备上的包含有要迁移的vm的mac地址、以及第一接入设备与第三接入设备之间的vxlan隧道的镜像规则。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1