CN109587063B - 一种数据的引流方法及装置 - Google Patents
一种数据的引流方法及装置 Download PDFInfo
- Publication number
- CN109587063B CN109587063B CN201811633529.1A CN201811633529A CN109587063B CN 109587063 B CN109587063 B CN 109587063B CN 201811633529 A CN201811633529 A CN 201811633529A CN 109587063 B CN109587063 B CN 109587063B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- mac address
- data traffic
- destination
- address
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000004048 modification Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 abstract description 31
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据的引流方法及装置,应用于云平台新建的Linux网桥,云平台中的虚拟机和虚拟交换机通过Linux网桥进行连接,虚拟机包括源虚拟机、目的虚拟机和中间虚拟机;方法包括:当确定源虚拟机发送的数据流量的发送路径为流经中间虚拟机至目的虚拟机,接收到源虚拟机发送的寻址请求时,将中间虚拟机的第一MAC地址反馈至源虚拟机;当接收到源虚拟机发送的数据流量时,根据第一MAC地址,将数据流量转发至中间虚拟机;当接收到中间虚拟机发送的数据流量时,将第一MAC地址修改为目的虚拟机的第二MAC地址;根据第二MAC地址,将数据流量通过虚拟交换机转发至目的虚拟机。本发明实施例降低了安全运维的难度。
Description
技术领域
本发明实施例涉及云安全技术领域,尤其涉及一种数据的引流方法及装置。
背景技术
随着越来越多的企业部署私有云以及公有云技术,用户对云的安全运维问题也越来越重视。在云的安全运维过程中,云环境中的网络安全是一个重要的领域。
目前通常采用服务链技术来灵活解决云网络安全问题,但是该种方式存在如下缺陷:
其一,每种云平台都有自己的软件定义网络(Software Defined Network,SDN),例如VMware的NSX,Openstack的SFC,这导致运维人员需要采用不同的技术来进行数据引流,增加了运维的难度;
其二,单个云平台的网络技术方案在快速演进,例如Openstack,这导致运维人员需要根据快速演进的网络技术方案来相应学习运维技术,在很大很大上增加了运维人员的运维难度;
其三,不断引入新技术,这同样增加了运维人员的学习负担;
其四,现有运维技术较多侧重性能检测,而忽视了安全方面的运维能力。
综上所述,现有技术中在对云平台的安全进行运维时存在运维难度较大以及运维能力较低的问题。
发明内容
本发明实施例提供一种数据的引流方法及装置,以解决现有技术中在对云平台的安全进行运维时运维难度较大以及运维能力较低的问题。
为了解决上述技术问题,第一方面,本发明实施例提供一种数据的引流方法,应用于云平台新建的Linux网桥,其中所述云平台中的虚拟机和虚拟交换机通过所述Linux网桥进行连接,所述虚拟机包括源虚拟机、目的虚拟机和用于执行引流操作的中间虚拟机;所述方法包括:
当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机,且接收到所述源虚拟机发送的寻址请求时,将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机,以使所述源虚拟机将第一MAC地址确定为目的MAC地址;
当接收到所述源虚拟机发送的数据流量时,根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机;
当接收到所述中间虚拟机发送的数据流量时,将所述数据流量中的第一MAC地址修改为所述目的虚拟机的第二MAC地址;
根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
第二方面,本发明实施例提供一种数据的引流装置,应用于云平台新建的Linux网桥,其中所述云平台中的虚拟机和虚拟交换机通过所述Linux网桥进行连接,所述虚拟机包括源虚拟机、目的虚拟机和用于执行引流操作的中间虚拟机;所述装置包括:
第一发送模块,用于当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机,且接收到所述源虚拟机发送的寻址请求时,将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机,以使所述源虚拟机将第一MAC地址确定为目的MAC地址;
第二发送模块,用于当接收到所述源虚拟机发送的数据流量时,根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机;
第一修改模块,用于当接收到所述中间虚拟机发送的数据流量时,将所述数据流量中的第一MAC地址修改为所述目的虚拟机的第二MAC地址;
第三发送模块,用于根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的数据的引流方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的数据的引流方法的步骤。
本发明实施例提供的数据的引流方法及装置,通过在云平台中虚拟机和虚拟交换机之间插入Linux网桥,且Linux网桥在接收到源虚拟机发送的寻址请求时,将中间虚拟机的第一MAC地址反馈到源虚拟机作为目的MAC地址,从而使得数据流量能够发送至中间虚拟机,然后通过将第一MAC地址再修改为目的虚拟机的第二MAC地址,将数据流量发送至目的虚拟机,实现了基于MAC地址的修改来实现数据的引流,平滑了运维的学习曲线,在很大程度上降低了运维的难度,提高了安全运维的能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1表示本发明实施例中云平台中各设备的结构示意图;
图2表示本发明实施例中数据的引流方法的步骤流程图;
图3表示本发明实施例中数据流量的发送路径示意图;
图4表示本发明实施例中数据的引流装置的模块框图;
图5表示本发明实施例中电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据的引流方法,如图1所示,该引流方法应用于云平台新建的Linux网桥,其中所述云平台中的虚拟机和虚拟交换机通过所述Linux网桥进行连接,所述虚拟机包括源虚拟机、目的虚拟机和用于执行引流操作的中间虚拟机。
具体的,在本实施例的架构中,包括源虚拟机、目的虚拟机和用于引流的中间虚拟机等虚拟机,还包括虚拟交换机,即虚拟网络,且所有的虚拟机均与Linux网桥连接,Linux网桥与虚拟交换机连接。
具体的,Linux网桥是所有操作的基础,可以为不同的云平台提供一个统一的引流操作平台。
此外,具体的,中间虚拟机可以为安全虚拟机,以对流经的数据流量进行安全分析,并实现引流的效果。
当然,在此需要说明的是,在此并不具体限定中间虚拟机的数量,即通过多个中间虚拟机转发数据流量的原理和通过一个中间虚拟机转发数据流量的原理相同。本实施例在下述中以一个中间虚拟机为例对数据的引流方法进行说明。
此外,具体的,Linux网桥上设置有虚拟扩展局域网(简称Vxlan)接口,并开启该接口的代理(Proxy)功能,以实现地址解析协议(简称ARP协议)或者邻居发现协议(简称NDP协议)的代理应答功能。
另外,具体的,Linux网桥还能够采用IP neigh命令修改预先设置的邻居表和路由等,以用来辅助完成Proxy功能,实现媒体访问控制(简称MAC地址)的响应。
另外,具体的,Linux系统下的命令Ebtables,能够对二层地址MAC地址进行修改和过滤等。
另外,具体的,Linux网桥中还设置有二层转发表,即交换转发表,以记录MAC地址和端口的对应关系,从而使得能够根据MAC地址来找到对应的转发端口,实现数据流量的发送。
这样,通过在原有的云平台中部署具有上述功能的Linux网桥,使得能够Linux网桥实现ARP或NDP寻址请求的应答、MAC地址的修改以及数据流量的转发,进而实现了基于MAC地址修改的数据流量的引流效果,基于本实施例未引入其他演进技术,从而降低了引流技术的难度,提高了安全运维的能力。
具体的,如图2所示,为应用于上述实施例中Linux网桥的数据的引流的方法的步骤流程图,该方法包括如下步骤:
步骤201:当确定源虚拟机发送的数据流量的发送路径为流经中间虚拟机至目的虚拟机,且接收到源虚拟机发送的寻址请求时,将中间虚拟机的第一媒体访问控制MAC地址反馈至源虚拟机。
在本步骤中,当确定源虚拟机发送的数据流量的发送路径为流经中间虚拟机至目的虚拟机,即源虚拟机发送的数据流量需要先发送至中间虚拟机进行引流,然后再发送至目的虚拟机时,若接收到源虚拟机发送的寻址请求时,可以将中间虚拟机的第一MAC地址反馈至源虚拟机,以使源虚拟机将第一MAC地址确定为目的MAC地址,即使得源虚拟机能够将数据流量发送至中间虚拟机。
具体的,该寻址请求可以为ARP寻址请求或者NDP寻址请求。
此外,具体的,所述寻址请求中携带有所述源虚拟机的源IP地址和所述目的虚拟机的目的IP地址;
此时,在将所述中间虚拟机的第一MAC地址反馈至所述源虚拟机之前,还需要将预先设置的邻居表中目的虚拟机的目的IP地址与目的虚拟机的第二MAC地址之间的第一预设对应关系,修改为目的IP地址与中间虚拟机的第一MAC地址之间的第二预设对应关系,得到修改后的邻居表;然后根据所述修改后的邻居表,得到所述目的IP地址所对应的第一MAC地址。
具体的,Linux网桥中预先设置有邻居表,且邻居表中设置有所有虚拟机中每个虚拟机的IP地址与MAC地址的预设对应关系,此时为了使得能够实现将数据流量引流至中间虚拟机,则Linux网桥可以通过IP neigh命令修改邻居表,将邻居表中目的虚拟机的目的IP地址与目的虚拟机的第二MAC地址的第一预设对应关系修改为目的IP地址与中间虚拟机的第一MAC地址之间的第二预设对应关系,得到修改后的邻居表,从而使得能够在接收到寻址请求时,能够得到目的IP地址所对应的MAC地址,即第一MAC地址,并将第一MAC地址反馈至源虚拟机。
步骤202:当接收到源虚拟机发送的数据流量时,根据数据流量中携带的第一MAC地址,将数据流量转发至中间虚拟机。
在本步骤中,具体的,数据流量中携带有源虚拟机的第三MAC地址和中间虚拟机的第一MAC地址,且第一MAC地址为目的MAC地址。此时当接收到源虚拟机发送的数据流量时,可以根据数据流量中携带的第一MAC地址,将数据流量转发至中间虚拟机,以实现数据流量的引流。
其中,在根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机时,可以根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第一MAC地址所对应的中间虚拟机的端口信息;然后根据所述中间虚拟机的端口信息,将所述数据流量转发至所述中间虚拟机。
具体的,Linux网桥中预先设置有交换转发表,且交换转发表中记录有所有虚拟机中每个虚拟机的MAC地址和虚拟机的端口信息之间的预设对应关系。这样,Linux网桥在接收到数据流量时,可以查询该交换转发表,查询得到第一MAC地址所对应的中间虚拟机的端口信息,从而使得能够通过该中间虚拟机的端口信息,将数据流量转发至中间虚拟机,进而实现基于MAC地址修改的数据流量的引流。
步骤203:当接收到中间虚拟机发送的数据流量时,将数据流量中的第一MAC地址修改为目的虚拟机的第二MAC地址。
在本步骤中,具体的,当数据流量流经中间虚拟机并发出时,若Linux网桥接收到中间虚拟机发送的数据流量,则将数据流量中的第一MAC地址修改为目的虚拟机的第二MAC地址,并将第二MAC地址作为目的MAC地址,以使得能够根据第二MAC地址将数据流量转发到最终的目的虚拟机上。
具体的,在将数据流量中的第一MAC地址修改为目的虚拟机的第二MAC地址时,可以根据修改前的预先设置的邻居表中目的虚拟机的目的IP地址与MAC地址之间的对应关系,得到目的虚拟机的第二MAC地址。
步骤204:根据第二MAC地址,将数据流量通过虚拟交换机转发至目的虚拟机。
在本步骤中,具体的,在将数据流量中的第一MAC地址修改为目的虚拟机的第二MAC地址之后,可以根据第二MAC地址,将数据流量通过虚拟交换机,即虚拟网络发送至目的虚拟机上,以完成流量数据从源虚拟机至目的虚拟机的传输。
此外,具体的,在根据第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机时,可以根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第二MAC地址所对应的目的虚拟机的端口信息;然后根据所述目的虚拟机的端口信息,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
具体的,下面通过图3对整个实施例中的数据流量的传输过程进行说明。
其中,在图3中,虚线表示数据流量从源虚拟机至目的虚拟机的传输示意线。具体的,从源虚拟机发出的数据流量,通过将目的IP地址对应的目的虚拟机的第二MAC地址修改为中间虚拟机的第一MAC地址,使得在Linux网桥的转发后,能够到达中间虚拟机,此时中间虚拟机可以对数据流量进行安全分析等操作;此外,在中间虚拟机将数据流量发出后,Linux网桥再将从中间虚拟机发出的数据流量中的目的MAC地址由第一MAC地址修改为目的虚拟机的第二MAC地址,从而使得在通过Linux网桥的转发后,能够通过虚拟网络,即虚拟交换机转发至目的虚拟机,进而实现数据流量的引流。
这样,本实施例通过新插入的Linux网桥,基于MAC地址的修改实现了引流的效果,且基于未引入新的SDN技术,平滑了运维的学习曲线,且适用于部署有不同SDN方案的云平台,从而在很大程度上降低了运维的难度,提高了安全运维的能力。
此外,进一步地,在本实施例中,在当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机之前,可以获取所述云平台中所有虚拟机、Linux网桥和虚拟交换机构造的网络拓扑模型;然后根据所述网络拓扑模型,设置邻居表和交换转发表;其中,所述邻居表中记录有所有虚拟机中每个虚拟机的IP地址与MAC地址之间的预设对应关系,所述交换转发表中记录有所有虚拟机中每个虚拟机的MAC地址与端口信息之间的预设对应关系;并当监测到新增虚拟机的创建请求时,根据所述新增虚拟机,更新所述网络拓扑模型,并实时更新所述邻居表和交换转发表。
在此以Openstack环境对上述实施例进行说明。
具体的,可以在Openstack环境中部署Neutron Service Plugin、Neutron-agent-bridge-steering、Virtdriver-plugin和proxy-agent等模块。其中,Neutron ServicePlugin模块一方面可以提供Rest API,提供调度服务,还可以提供数据模型的维护以及信息同步和通知的功能,且任何数据的变动都会及时通知到相关的代理,即可以获取并维护所述云平台中所有虚拟机、Linux网桥和虚拟交换机构造的网络拓扑模型。此外,具体的,Neutron-agent-bridge-steering运行在计算节点上的代理,并按照网络组件Neutron的规范编写,主要提供的功能有调度网桥的创建和状态监控,ebtables规则的维护,以及交换转发表的修改和维护,即根据所述网络拓扑模型,设置邻居表和交换转发表。另外,具体的,Virtdriver-plugin,属于neutron agent的一个插件,需要修改配置文件,主要的作用就是影响虚拟网卡的创建,按照本发明的逻辑来创建虚拟网卡,以及虚拟网络所属的虚拟机交换机也要符合本发明的结构,且Proxy-agent管理vxlan端口以及它的邻居表,同时它会主动发ARP请求,即当监测到新增虚拟机的创建请求时,根据所述新增虚拟机,更新所述网络拓扑模型,并实时更新所述邻居表和交换转发表。
这样,本实施例通过在云平台中虚拟机和虚拟交换机之间插入Linux网桥,且Linux网桥在接收到源虚拟机发送的寻址请求时,将中间虚拟机的第一MAC地址反馈到源虚拟机作为目的MAC地址,从而使得数据流量能够发送至中间虚拟机,然后通过将第一MAC地址再修改为目的虚拟机的第二MAC地址,将数据流量发送至目的虚拟机,实现了基于MAC地址的修改来实现数据的引流,平滑了运维的学习曲线,在很大程度上降低了运维的难度,提高了安全运维的能力。
此外,如图4所示,为本发明实施例中数据的引流装置的模块框图,该装置应用于云平台新建的Linux网桥,其中所述云平台中的虚拟机和虚拟交换机通过所述Linux网桥进行连接,所述虚拟机包括源虚拟机、目的虚拟机和用于执行引流操作的中间虚拟机;所述装置包括:
第一发送模块401,用于当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机,且接收到所述源虚拟机发送的寻址请求时,将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机,以使所述源虚拟机将第一MAC地址确定为目的MAC地址;
第二发送模块402,用于当接收到所述源虚拟机发送的数据流量时,根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机;
第一修改模块403,用于当接收到所述中间虚拟机发送的数据流量时,将所述数据流量中的第一MAC地址修改为所述目的虚拟机的第二MAC地址;
第三发送模块404,用于根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
可选地,所述寻址请求中携带有所述源虚拟机的源IP地址和所述目的虚拟机的目的IP地址;所述装置还包括:
第二修改模块,用于将预先设置的邻居表中目的虚拟机的目的IP地址与目的虚拟机的第二MAC地址之间的第一预设对应关系,修改为目的IP地址与中间虚拟机的第一MAC地址之间的第二预设对应关系,得到修改后的邻居表;
第一获取模块,用于根据所述修改后的邻居表,得到所述目的IP地址所对应的第一MAC地址。
可选地,所述第二发送模块402包括:
第一获取单元,用于根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第一MAC地址所对应的中间虚拟机的端口信息;
第一发送单元,用于根据所述中间虚拟机的端口信息,将所述数据流量转发至所述中间虚拟机。
可选地,所述第三发送模块404包括:
第二获取单元,用于根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第二MAC地址所对应的目的虚拟机的端口信息;
第二发送单元,用于根据所述目的虚拟机的端口信息,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
可选地,所述装置还包括:
第二获取模块,用于获取所述云平台中所有虚拟机、Linux网桥和虚拟交换机构造的网络拓扑模型;
设置模块,用于根据所述网络拓扑模型,设置邻居表和交换转发表;其中,所述邻居表中记录有所有虚拟机中每个虚拟机的IP地址与MAC地址之间的预设对应关系,所述交换转发表中记录有所有虚拟机中每个虚拟机的MAC地址与端口信息之间的预设对应关系;
更新模块,用于当监测到新增虚拟机的创建请求时,根据所述新增虚拟机,更新所述网络拓扑模型,并实时更新所述邻居表和交换转发表。
本实施例提供的数据的引流装置,通过在云平台中虚拟机和虚拟交换机之间插入Linux网桥,且Linux网桥在接收到源虚拟机发送的寻址请求时,将中间虚拟机的第一MAC地址反馈到源虚拟机作为目的MAC地址,从而使得数据流量能够发送至中间虚拟机,然后通过将第一MAC地址再修改为目的虚拟机的第二MAC地址,将数据流量发送至目的虚拟机,实现了基于MAC地址的修改来实现数据的引流,平滑了运维的学习曲线,在很大程度上降低了运维的难度,提高了安全运维的能力。
此外,如图5所示,为本发明实施例提供的电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储在存储器530上并可在处理器510上运行的计算机程序,以执行上述各实施例提供的方法,例如包括:当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机,且接收到所述源虚拟机发送的寻址请求时,将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机,以使所述源虚拟机将第一MAC地址确定为目的MAC地址;当接收到所述源虚拟机发送的数据流量时,根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机;当接收到所述中间虚拟机发送的数据流量时,将所述数据流量中的第一MAC地址修改为所述目的虚拟机的第二MAC地址;根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机,且接收到所述源虚拟机发送的寻址请求时,将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机,以使所述源虚拟机将第一MAC地址确定为目的MAC地址;当接收到所述源虚拟机发送的数据流量时,根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机;当接收到所述中间虚拟机发送的数据流量时,将所述数据流量中的第一MAC地址修改为所述目的虚拟机的第二MAC地址;根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种数据的引流方法,其特征在于,应用于云平台新建的Linux网桥,其中所述云平台中的虚拟机和虚拟交换机通过所述Linux网桥进行连接,所述虚拟机包括源虚拟机、目的虚拟机和用于执行引流操作的中间虚拟机;所述方法包括:
当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机,且接收到所述源虚拟机发送的寻址请求时,将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机,以使所述源虚拟机将第一MAC地址确定为目的MAC地址;
当接收到所述源虚拟机发送的数据流量时,根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机;
当接收到所述中间虚拟机发送的数据流量时,将所述数据流量中的第一MAC地址修改为所述目的虚拟机的第二MAC地址;
根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机;
所述Linux网桥是引流操作的基础,为不同的云平台提供一个统一的引流操作平台。
2.根据权利要求1所述的方法,其特征在于,所述寻址请求中携带有所述源虚拟机的源IP地址和所述目的虚拟机的目的IP地址;
所述将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机之前,所述方法还包括:
将预先设置的邻居表中目的虚拟机的目的IP地址与目的虚拟机的第二MAC地址之间的第一预设对应关系,修改为目的IP地址与中间虚拟机的第一MAC地址之间的第二预设对应关系,得到修改后的邻居表;
根据所述修改后的邻居表,得到所述目的IP地址所对应的第一MAC地址。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机,包括:
根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第一MAC地址所对应的中间虚拟机的端口信息;
根据所述中间虚拟机的端口信息,将所述数据流量转发至所述中间虚拟机。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机,包括:
根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第二MAC地址所对应的目的虚拟机的端口信息;
根据所述目的虚拟机的端口信息,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
5.根据权利要求1所述的方法,其特征在于,所述当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机之前,所述方法还包括:
获取所述云平台中所有虚拟机、Linux网桥和虚拟交换机构造的网络拓扑模型;
根据所述网络拓扑模型,设置邻居表和交换转发表;其中,所述邻居表中记录有所有虚拟机中每个虚拟机的IP地址与MAC地址之间的预设对应关系,所述交换转发表中记录有所有虚拟机中每个虚拟机的MAC地址与端口信息之间的预设对应关系;
当监测到新增虚拟机的创建请求时,根据所述新增虚拟机,更新所述网络拓扑模型,并实时更新所述邻居表和交换转发表。
6.一种数据的引流装置,其特征在于,应用于云平台新建的Linux网桥,其中所述云平台中的虚拟机和虚拟交换机通过所述Linux网桥进行连接,所述虚拟机包括源虚拟机、目的虚拟机和用于执行引流操作的中间虚拟机;所述装置包括:
第一发送模块,用于当确定所述源虚拟机发送的数据流量的发送路径为流经所述中间虚拟机至所述目的虚拟机,且接收到所述源虚拟机发送的寻址请求时,将所述中间虚拟机的第一媒体访问控制MAC地址反馈至所述源虚拟机,以使所述源虚拟机将第一MAC地址确定为目的MAC地址;
第二发送模块,用于当接收到所述源虚拟机发送的数据流量时,根据所述数据流量中携带的第一MAC地址,将所述数据流量转发至所述中间虚拟机;
第一修改模块,用于当接收到所述中间虚拟机发送的数据流量时,将所述数据流量中的第一MAC地址修改为所述目的虚拟机的第二MAC地址;
第三发送模块,用于根据所述第二MAC地址,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机;
所述Linux网桥是引流操作的基础,为不同的云平台提供一个统一的引流操作平台。
7.根据权利要求6所述的装置,其特征在于,所述寻址请求中携带有所述源虚拟机的源IP地址和所述目的虚拟机的目的IP地址;所述装置还包括:
第二修改模块,用于将预先设置的邻居表中目的虚拟机的目的IP地址与目的虚拟机的第二MAC地址之间的第一预设对应关系,修改为目的IP地址与中间虚拟机的第一MAC地址之间的第二预设对应关系,得到修改后的邻居表;
第一获取模块,用于根据所述修改后的邻居表,得到所述目的IP地址所对应的第一MAC地址。
8.根据权利要求6所述的装置,其特征在于,所述第二发送模块包括:
第一获取单元,用于根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第一MAC地址所对应的中间虚拟机的端口信息;
第一发送单元,用于根据所述中间虚拟机的端口信息,将所述数据流量转发至所述中间虚拟机。
9.根据权利要求6所述的装置,其特征在于,所述第三发送模块包括:
第二获取单元,用于根据预先设置的交换转发表中MAC地址与虚拟机的端口信息之间的预设对应关系,获取所述第二MAC地址所对应的目的虚拟机的端口信息;
第二发送单元,用于根据所述目的虚拟机的端口信息,将所述数据流量通过所述虚拟交换机转发至所述目的虚拟机。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述云平台中所有虚拟机、Linux网桥和虚拟交换机构造的网络拓扑模型;
设置模块,用于根据所述网络拓扑模型,设置邻居表和交换转发表;其中,所述邻居表中记录有所有虚拟机中每个虚拟机的IP地址与MAC地址之间的预设对应关系,所述交换转发表中记录有所有虚拟机中每个虚拟机的MAC地址与端口信息之间的预设对应关系;
更新模块,用于当监测到新增虚拟机的创建请求时,根据所述新增虚拟机,更新所述网络拓扑模型,并实时更新所述邻居表和交换转发表。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的数据的引流方法的步骤。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5中任一项所述的数据的引流方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811633529.1A CN109587063B (zh) | 2018-12-29 | 2018-12-29 | 一种数据的引流方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811633529.1A CN109587063B (zh) | 2018-12-29 | 2018-12-29 | 一种数据的引流方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109587063A CN109587063A (zh) | 2019-04-05 |
CN109587063B true CN109587063B (zh) | 2021-08-31 |
Family
ID=65932427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811633529.1A Active CN109587063B (zh) | 2018-12-29 | 2018-12-29 | 一种数据的引流方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587063B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213181B (zh) * | 2019-04-28 | 2021-01-29 | 华为技术有限公司 | 虚拟网络中的数据引流装置及数据引流方法 |
CN115914135A (zh) * | 2021-08-03 | 2023-04-04 | 中移动信息技术有限公司 | 一种数据传输方法、虚拟交换机及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685588A (zh) * | 2012-09-10 | 2014-03-26 | 中兴通讯股份有限公司 | 客户端模式下无线网络设备网桥转发报文的方法及装置 |
CN108471383A (zh) * | 2018-02-08 | 2018-08-31 | 华为技术有限公司 | 报文转发方法、装置和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8675522B2 (en) * | 2011-09-23 | 2014-03-18 | Avaya Inc. | Conveying the VLAN/L2 VSN/bridging-domain of the incoming interface (IIF) when transporting multicast traffic over a shortest path bridged (SPB) network |
US8767737B2 (en) * | 2011-11-30 | 2014-07-01 | Industrial Technology Research Institute | Data center network system and packet forwarding method thereof |
CN103685592B (zh) * | 2012-09-20 | 2018-11-30 | 新华三技术有限公司 | 一种无线网桥及实现dhcp地址申请的方法 |
CN105100026B (zh) * | 2014-05-22 | 2018-07-20 | 新华三技术有限公司 | 一种报文安全转发方法及装置 |
SG11201800020UA (en) * | 2016-11-09 | 2018-06-28 | Huawei Tech Co Ltd | Packet processing method in cloud computing system, host, and system |
-
2018
- 2018-12-29 CN CN201811633529.1A patent/CN109587063B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685588A (zh) * | 2012-09-10 | 2014-03-26 | 中兴通讯股份有限公司 | 客户端模式下无线网络设备网桥转发报文的方法及装置 |
CN108471383A (zh) * | 2018-02-08 | 2018-08-31 | 华为技术有限公司 | 报文转发方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109587063A (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103812823B (zh) | 虚拟机热迁移时配置信息迁移的方法、设备及系统 | |
CN114363021B (zh) | 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置 | |
US10972362B2 (en) | Network service configuration method and network management device | |
WO2016107453A1 (zh) | 一种控制mac地址转发表发送的方法、装置及系统 | |
WO2017100365A1 (en) | Directing data traffic between intra-server virtual machines | |
CN103118148B (zh) | 一种arp缓存更新方法和设备 | |
CN102394831A (zh) | 基于虚拟机vm迁移的流量不中断方法和装置 | |
CN104038570B (zh) | 一种数据处理方法及装置 | |
CN109587063B (zh) | 一种数据的引流方法及装置 | |
EP3588856B1 (en) | Technologies for hot-swapping a legacy appliance with a network functions virtualization appliance | |
CN106302076B (zh) | 建立vxlan隧道的方法、系统及sdn控制器 | |
CN105791175A (zh) | 软件定义网络中控制传输资源的方法及设备 | |
CN107147533A (zh) | 一种基于sdn框架的流表配置下发方法及系统 | |
CN110932876B (zh) | 一种通信系统、方法及装置 | |
CN105607606B (zh) | 一种基于双主板架构的数据采集装置及方法 | |
CN105324968A (zh) | 可靠性资源的分配方法和装置 | |
CN110233750B (zh) | 私有云管理系统及方法 | |
CN114285695B (zh) | 通信方法、装置、设备、系统和存储介质 | |
CN112866078A (zh) | 一种网购云平台数据的引流方法及装置 | |
CN107509128A (zh) | 一种接入核心网的方法及系统 | |
CN103023704B (zh) | 虚拟网络服务设备接入方法及系统 | |
CN115065495A (zh) | 蜜罐网络运行方法、装置、设备及存储介质 | |
CN108933844A (zh) | 提供dhcp服务的方法及设备 | |
CN104301446A (zh) | 一种报文处理方法、交换机设备及系统 | |
CN109412828A (zh) | 用于软件定义网络中的网络拓扑发现的方法、设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing. Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |