CN114301868A - 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置 - Google Patents
快速生成虚拟容器浮动ip的方法及网络直通的方法和装置 Download PDFInfo
- Publication number
- CN114301868A CN114301868A CN202111650825.4A CN202111650825A CN114301868A CN 114301868 A CN114301868 A CN 114301868A CN 202111650825 A CN202111650825 A CN 202111650825A CN 114301868 A CN114301868 A CN 114301868A
- Authority
- CN
- China
- Prior art keywords
- network
- vxlan tunnel
- address
- virtual
- tunnel endpoint
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种快速生成虚拟容器浮动IP的方法,包括:使用openstack软件的neutron服务给各数字机分配虚拟容器浮动IP和创建br‑tun网桥;使用openstack软件的zun服务的kuryr‑libnetwork生成VXLAN隧道端点地址IP并绑定虚拟容器中的网络接口;使用brctl工具修改linux bridge绑定的物理网卡;使用pipework工具刷新虚拟容器的内部默认网关;添加静态路由,并在对应的网卡放行流量。本发明还公开一种快速生成虚拟容器浮动IP的装置,网络直通的方法和装置。本发明的优点在于:配置完成后,生效时间在数秒之内,提升了网络流量转发速度;较好利用计算节点资源;大大降低了网络节点负载压力。
Description
技术领域
本发明涉及云计算中的网络流量转发,特别是云计算中生成虚拟容器浮动IP的方法及网络直通的方法和装置。
背景技术
在基础设施即服务平台(Infrastructure as a Service,简称IaaS)中,存在计算节点(compute node)和网络节点(public network)等设备,主要为用户提供各种服务。其中,计算节点上创建有虚拟机,虚拟机与虚拟机之间的通信产生的东西流量只需要经过计算节点,虚拟机与外网通信产生的南北流量都要经过网络节点上设置的分布式路由(route)。
假设虚拟机VM0虚拟网卡veth0有网络数据包向外网发送,那么会经过如下过程:
(1)数据包会经过qbr Linux Bridge设备,qvb(quantum veth bridge)和qvo(quantum veth ovs)虚拟网络设备;
(2)数据包到达OVS网桥br-int(集成网桥)上,br-int将数据包attach到OVS网桥br-tun(虚拟化层网桥)上(br-int完成标记和去除内部即本地租户VLAN TAG,本机虚机L2层流量的本地转发);
(3)数据包再从计算节点OVS网桥的br-tun和网络节点OVS网桥br-tun构成的GRE隧道穿过(br-tun是OVS虚拟出来的网桥,进行隧道封装,并完成VNI和VLAN映射,通过它将环境中的所有物理机连通起来,这样物理节点之间就可以形成一个GRE的点对点通信网络或者VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)网络;
(4)交付到网络节点的OVS网桥br-int上;
(5)网络节点的br-int通过qr设备借助Linux命名空间qrouter连通到br-ex上的qg设备,将数据包交付到OVS网桥br-ex上(qrouter就是网络节点上的neutron-l3-agent);
(6)最后br-ex通过网络节点的外部物理端口eth1把数据包传送到外部路由器的网关。
传统的云服务主要通过SNAT(Source Network Address Translation,源网络地址转换)和DNAT(Destination Network Address Translation,目的地址转换)进行网络分配,主要基于底层的IPtables实现转换,即使采用上述文献中公开的网络流量控制方法和计算节点,所有的网络流量汇总出口在网络节点,具有如下缺陷:
所有流量基于网络节点IPtables转发,性能消耗较大,在规则数量多的时候比较缓慢,配置和产生效果有较大时间延迟(数秒到几十秒不等);
所有流量进出口汇总于网络节点,整个集群网络总带宽取决于网络节点的网口,计算节点网络几乎没有使用;
只支持tcp,udp,tcmp,等协议,对于特殊协议无法转发。
申请号为201710806755.4的专利文献公开了一种网络流量控制方法和计算节点,见图1,虚拟机产生访问外网的第一数据包,并将第一数据包发送至集成网桥(OVS网桥br-int);集成网桥将第一数据包发送至分布式路由;分布式路由对接收到的第一数据包进行处理,并将处理后第一数据包通过外网网桥发送至网络服务质量模块;网络服务质量模块对处理后第一数据包进行流量控制,并通过第一物理网卡发送至外网。如此,既可以实现在计算节点内部对虚拟机的网络流量进行控制;又可以避免了经过网络节点的负载过高造成的单点故障问题。还可以降低第一数据包从虚拟机到达外网的时延,进而保证虚拟机的网络服务质量。该专利的技术方案,用分布式路由和qos,但是原本这些服务即存在,只是部署在网络节点,文献中只是换个地方部署在计算节点而已,即将集中在网络节点的IPtables分散到计算节点,本质没有区别,同样存在IPtables转发性能消耗较大、在规则数量多的时候比较缓慢,以及配置和产生效果有较大时间延迟的问题,也会存在支持的协议范围有限的问题。
发明内容
本发明所要解决的技术问题在于如何减少流量配置生效时间进而提升网络流量转发速度。
本发明通过以下技术手段实现解决上述技术问题的:一种快速生成虚拟容器浮动IP的方法,包括如下步骤:
步骤S1、使用openstack软件的neutron服务给各数字机分配虚拟容器浮动IP和创建br-tun网桥;
步骤S2、使用openstack软件的zun服务的kuryr-libnetwork生成VXLAN隧道端点地址IP并绑定虚拟容器中的网络接口;
步骤S3、使用brctl工具修改linux bridge绑定的物理网卡;
步骤S4、使用pipework工具刷新虚拟容器的内部默认网关;
步骤S5、添加静态路由,并在对应的网卡放行流量。
本发明还公开一种快速生成虚拟容器浮动IP的装置,包括下述模块:
IP分配和网桥创建模块,用于使用openstack软件的neutron服务给各数字机分配虚拟容器浮动IP和创建br-tun网桥;
VXLAN隧道端点地址IP生成模块,用于使用openstack软件的zun服务的kuryr-libnetwork生成VTEP地址IP并绑定虚拟容器中的网络接口;
物理网关修改模块,使用brctl工具修改linux bridge绑定的物理网卡;
刷新模块,用于使用pipework工具刷新虚拟容器的内部默认网关;
静态路由添加模块,用于添加静态路由,并在对应的网卡放行流量。
本发明还公开一种基于上述快速生成虚拟容器浮动IP的方法实现网络直通的方法,包括如下步骤:
步骤1、确定外部网络协议端口;
步骤2、外部IP头封装:源IP为发送报文的虚拟机所属的VXLAN隧道端点的IP地址,目的IP为目的虚拟机所属的VXLAN隧道端点的IP地址;
步骤3、外部网络虚拟边缘节点封装:源为发送报文的虚拟容器所属的VXLAN隧道端点的MAC地址,目的为目的虚拟机所属的VXLAN隧道端点上路由表中下一跳MAC地址,VXLAN隧道端点封装在虚拟边缘节点中,用于VXLAN报文的封装和解封装,VXLAN隧道端点与物理网络相连,一对VXLAN隧道端点地址就对应着一个VXLAN隧道,在隧道中出来的网络流量在交换机直接解析去到外部网络,执行网络流量直通。
作为进一步具体的方案,所述步骤2中,当目的IP为接收端的VXLAN隧道端点的IP时,若所述IP地址未知,则执行地址解析协议请求以获取所述IP地址。
作为进一步具体的方案,所述执行地址解析协议请求以获取所述IP地址的步骤如下:
步骤21.目标IP被替换成与源容器具有相同虚拟扩展局域网的网络标识的多播组IP地址;
步骤22.所有VXLAN隧道端点都接收多播报文,VXLAN隧道端点查找所在主机上的全部虚拟机来匹配源虚拟容器的内部目的MAC;
步骤23.目标VXLAN隧道端点的虚拟机容器会回应该多播报文,从而获得目标VXLAN隧道端点的IP地址;
步骤24.发送报文的虚拟机的VXLAN隧道端点添加虚拟扩展局域网的网络标识-VXLAN隧道端点-虚拟机MAC的映射关系到自己的VXLAN表中,避免再次组播学习。
本发明还公开一种基于上述的快速生成虚拟容器浮动IP的装置实现网络直通的装置,包括如下模块:
协议端口确定模块,用于确定外部网络协议端口;
外部IP头封装模块,用于封装的源IP为发送报文的虚拟机所属的VXLAN隧道端点的IP地址,目的IP为目的虚拟机所属的VXLAN隧道端点的IP地址;
外部网络虚拟边缘节点封装模块,用于封装的源为发送报文的虚拟容器所属的VXLAN隧道端点的MAC地址,目的为目的虚拟机所属的VXLAN隧道端点上路由表中下一跳MAC地址,VXLAN隧道端点封装在虚拟边缘节点中,用于VXLAN报文的封装和解封装,VXLAN隧道端点与物理网络相连,一对VXLAN隧道端点地址就对应着一个VXLAN隧道,在隧道中出来的网络流量在交换机直接解析去到外部网络,执行网络流量直通。
作为进一步具体的方案,所述外部IP头封装模块中,当目的IP为接收端的VXLAN隧道端点的IP时,若IP地址未知,则调取地址解析协议请求单元以获取所述IP地址。
作为进一步具体的方案,所述地址解析协议请求单元执行如下操作:
目标IP被替换成与源容器具有相同虚拟扩展局域网的网络标识的多播组IP地址;
所有VXLAN隧道端点都接收多播报文,VXLAN隧道端点查找所在主机上的全部虚拟机来匹配源虚拟容器的内部目的MAC;
目标VXLAN隧道端点的虚拟机容器会回应该多播报文,从而获得目标VXLAN隧道端点的IP地址;
发送报文的虚拟机的VXLAN隧道端点添加虚拟扩展局域网的网络标识-VXLAN隧道端点-虚拟机MAC的映射关系到自己的VXLAN表中,避免再次组播学习。
本发明还提供一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的网络直通方法。
本发明还提供一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述的网络直通方法。
本发明的优点在于:
1、配置完成后,生效时间在数秒之内,提升了网络流量转发速度;
2、所有网络流量从计算节点各自进出,不再使用网络节点进出网络流量,较好利用计算节点资源;现有技术中没有用到计算节点进出网络流量,只用网络节点进出网络流量,造成网络节点负载较大,本发明大大降低了网络节点负载压力;
3、无协议限制。以前技术转发协议有限,如常用的一些协议TCP、UDP以及一些不常用的协议,本发明无需网络节点转发,网络节点只是用作IP的分配,通过计算节点的各自进出,所以无协议限制,兼容性较广;
4、节约资源,之前的方案在网络节点集中进出流量,如果一百个计算节点,每个计算节点的外部网络流量是1G,那么总共需要100G的网络带宽,按照现在出口光纤万兆计算(实际提供的贷款为10000Mbs/8=1250Mbs),需要约80台计算节点,本发明的方案网络流量直接从计算节点出来,无需这么多网络节点提供网络转发功能,节约了资源;
5、相对于申请号为201710806755.4的专利文献区别主要为以下两点:
(1)本发明使用网桥,弃用了路由和qos,不存在IPtables转发,因此不存在IPtables转发引起的性能消耗较大、在规则数量多的时候比较缓慢,以及配置和产生效果有较大时间延迟的问题;
(2)申请号为201710806755.4的专利文献的虚拟机产生访问外网的第一数据包,并将第一数据包发送至集成网桥;集成网桥将第一数据包发送至分布式路由;分布式路由对接收到的第一数据包进行处理,并将处理后第一数据包通过外网网桥发送至网络服务质量模块;网络服务质量模块对处理后第一数据包进行流量控制,并通过第一物理网卡发送至外网,本发明中容器产生的数据包到网桥,然后经过物理网卡到交换机(即外网),本发明的转发流程更加便捷。
附图说明
图1是现有技术的网络流量控制方法;
图2是本发明实施例的快速生成虚拟容器浮动IP的方法的流程图;
图3是本发明实施例的快速生成虚拟容器浮动IP的装置的结构示意图;
图4是本发明实施例的网络直通的方法的流程图;
图5是本发明实施例的网络直通的方法中执行ARP请求的流程图;
图6是本发明实施例的网络直通的装置的结构示意图;
图7是根据本发明实施例的电子设备的结构框图;
图8是根据本发明实施例的计算机系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种快速生成虚拟容器浮动IP的方法,使用openstack软件的neutron(openstack软件的一个组件)分配浮动IP和建网桥,zun(openstack软件的一个组件)服务的kuryr-libnetwork生成VTEP(VXLAN Tunnel Endpoint,VXLAN隧道端点)地址IP和绑定虚拟容器中的interface(网络接口),然后再修改linux bridge(brctl addif)(操作系统的网桥)绑定的物理网卡,然后使用pipework工具刷新虚拟机的内部默认网关,最后添加静态路由route add-net(基础命令),并在对应的网卡放行流量,这样流量直接通过br-tun网桥出去,不需要背景技术中复杂的转发流程。
如图2所示,上述快速生成虚拟容器浮动IP的方法具体包括如下步骤:
步骤S1、使用openstack软件的neutron服务给各数字机分配虚拟容器浮动IP和创建br-tun网桥;
步骤S2、使用openstack软件的zun服务的kuryr-libnetwork生成VTEP地址IP并绑定虚拟容器中的interface(网络接口);
执行以上步骤S1、S2后原理上即可以生成虚拟容器浮动IP,但是实际上实现不了,因为步骤S1、S2只是把数字机的网络物理地址进行了绑定,并未连接外部网络,正常来说绑定后就生效,但是实际操作中,以上步骤S1、S2完成以后并没有打通通信路径,到这里在链路层(基于mac地址通信)通了,但是虚拟容器浮动IP通信是网络层(基于IP通信)的通信,所以需要在网络层进行打通,因此还需要以下步骤S3至S5,下面步骤S3至S5是将网络层的通信路径进行打通的步骤:
步骤S3、使用brctl工具修改linux bridge(操作系统的网桥)绑定的物理网卡brctl addif br-tun xxx;
步骤S3是将docke容器的浮动IP的链路从默认切换到人为控制的链路,为打通网络层做准备,方便自我控制。
步骤S4、使用pipework工具刷新虚拟容器的内部默认网关。
网关是网络层通信的基础,指明流量的下一步流出地址,让流量从虚拟容器浮动IP到计算节点。
步骤S5、使用静态路由route add-net命令修改基础网桥route add-net10.20.30.48netmask 255.255.255.248gw 10.20.30.41。
指明网络流量的下一步流出地址,让网络流量从计算节点的虚拟容器的浮动IP到计算节点的流量去到交换机。
目前,网络流量的转发,本领域的技术人员只能根据官方的要求去用,但是,官方的要求不能够符合所有的业务需求,如本发明针对的是转发时间短,控制的反应时间短的业务场景,现有的技术针对的都是一般的需求场景,如国内主流的云平台:阿里云、青云,华为云等的客户是公司,或者个人,创建docker之后是长期存在同时是人为操作的(人为接受的反应时间较长),但是本发明使用的业务场景是自动的,操作对象是服务器,服务器的操作时间是在毫米级别,控制的反应时间要比人为的短,所以才会出现这个业务需求。因此需要快速的完成流量的流入流出,本方案为快速的流量的流入流出打好了基础。
如图3所示,本实施例还提供一种快速生成虚拟容器浮动IP的装置,包括下述模块:
IP分配和网桥创建模块,用于使用openstack软件的neutron服务给各数字机分配虚拟容器浮动IP和创建br-tun网桥;
VXLAN隧道端点地址IP生成模块,用于使用openstack软件的zun服务的kuryr-libnetwork生成VTEP地址IP并绑定虚拟容器中的网络接口;
物理网关修改模块,使用brctl工具修改linux bridge绑定的物理网卡;
刷新模块,用于使用pipework工具刷新虚拟容器的内部默认网关;
静态路由添加模块,用于添加静态路由,并在对应的网卡放行流量。
实施例二
通过实施例一快速生成虚拟容器浮动IP以后,即可以实现网络流量直通,如图4所示,网络流量直通工作过程如下:
步骤1、确定外部UDP端口:外部UDP(网络协议)端口使用4799,但可以修改。
步骤2、外部IP(网络互联协议)头封装:源IP为发送报文的虚拟机所属的VTEP的IP地址,目的IP为目的虚拟机所属的VTEP的IP地址。
当目的IP为接收端的VTEP的IP地址时,若所述IP地址未知,则需要执行ARP(地址解析协议)请求以获取所述IP地址,如图5所示,步骤如下:
步骤21.目标IP被替换成与源容器具有相同VNI(虚拟扩展局域网的网络标识)的多播组IP地址;
步骤22.所有VTEP端都接收多播报文,VTEP查找所在主机上的全部虚拟机来匹配源虚拟容器的内部目的MAC(媒体存取控制位址即物理地址);
步骤23.目标VTEP的虚拟机容器会回应该多播报文,从而获得目标VTEP的IP地址;
步骤24.发送报文的虚拟机的VTEP添加VNI-VTEP-虚拟机MAC的映射关系到自己的VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)表中,以避免再次组播学习。
步骤3、外部NVE(Network Virtrualization Edge网络虚拟边缘节点)封装:SA(源)为发送报文的虚拟容器所属的VTEP MAC地址,DA(目的)为目的虚拟机所属的VTEP上路由表中下一跳MAC地址。
NVE(Network Virtrualization Edge网络虚拟边缘节点)是实现网络虚拟化的功能实体,虚拟容器里的报文经过NVE封装后,NVE之间就可以在基于L3(网络层)的网络基础上建立起L2(数据链路层即链路层)虚拟网络。
VTEP为VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。VTEP与物理网络相连,分配的地址为物理网络IP地址。VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道,在隧道中出来的网络流量在交换机直接解析去到外部网络,执行网络流量直通。
上述步骤对应背景技术中的网络数据包向外网发送的过程,只是不需要网络节点的转发。和传统方式对比,最大的差别如下:
本发明的网络流量方式:
网络流量从各数字机的docker浮动IP到计算节点的虚拟网桥br-tun,然后流量直接到交换机,没有转发过程;
传统方式:
各数字机的docker的私有IP到计算节点虚拟网桥br-tun,然后到网络节点的虚拟网桥br-tun,然后在网络节点通过IPtables,将私有IP转发到浮动IP(需要转发)然后通过网络节点的虚拟网络br-ex到交换机。
应用案例:某公司,使用的服务系统是九十年代开发的系统,转移到云平台后所有服务正常,网络正常,但是无法正常访问服务,生成容器后,需要十几秒才可以ping通,根据业务场景,修改后,可以正常访问服务,创建完成,1秒内可以ping通。
本实施例还公开一种实现网络直通的装置,如图6所示,包括如下模块:
外部UDP端口确定模块,用于确定外部网络协议端口;
外部IP头封装模块,用于封装的源IP为发送报文的虚拟机所属的VXLAN隧道端点的IP地址,目的IP为目的虚拟机所属的VXLAN隧道端点的IP地址;
外部NVE封装模块,用于封装的源为发送报文的虚拟容器所属的VXLAN隧道端点的MAC地址,目的为目的虚拟机所属的VXLAN隧道端点上路由表中下一跳MAC地址,VXLAN隧道端点封装在虚拟边缘节点中,用于VXLAN报文的封装和解封装,VXLAN隧道端点与物理网络相连,一对VXLAN隧道端点地址就对应着一个VXLAN隧道,在隧道中出来的网络流量在交换机直接解析去到外部网络,执行网络流量直通。
所述外部IP头封装模块中,当目的IP为接收端的VXLAN隧道端点的IP时,假如不知道这个IP地址,则需要调取地址解析协议请求单元来获取。
所述地址解析协议请求单元执行如下操作:
目标IP被替换成与源容器具有相同虚拟扩展局域网的网络标识的多播组IP地址;
所有VXLAN隧道端点都接收多播报文,VXLAN隧道端点查找所在主机上的全部虚拟机来匹配源虚拟容器的内部目的MAC;
目标VXLAN隧道端点的虚拟机容器会回应该多播报文,从而获得目标VXLAN隧道端点的IP地址;
发送报文的虚拟机的VXLAN隧道端点添加虚拟扩展局域网的网络标识-VXLAN隧道端点-虚拟机MAC的映射关系到自己的VXLAN表中,避免再次组播学习。
在一个可能的设计中,前述网络直通的结构可实现为电子设备,如图7中所示,该电子设备900可以包括处理器901和存储器902。
所述存储器902用于存储支持处理器执行上述网络直通的方法,所述处理器901被配置为用于执行所述存储器902中存储的程序。
图8是适于用来实现根据本发明实施方式的网络直通的方法的计算机系统的结构示意图。
如图8所示,计算机系统1000包括处理器(CPU、GPU、FPGA等)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行上述附图所示的实施方式中的部分或全部处理。在RAM1003中,还存储有系统1000操作所需的各种程序和数据。处理器1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施方式,上文参考附图描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行附图中的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种快速生成虚拟容器浮动IP的方法,其特征在于:包括如下步骤:
步骤S1、使用openstack软件的neutron服务给各数字机分配虚拟容器浮动IP和创建br-tun网桥;
步骤S2、使用openstack软件的zun服务的kuryr-libnetwork生成VXLAN隧道端点地址IP并绑定虚拟容器中的网络接口;
步骤S3、使用brctl工具修改linux bridge绑定的物理网卡;
步骤S4、使用pipework工具刷新虚拟容器的内部默认网关;
步骤S5、添加静态路由,并在对应的网卡放行流量。
2.一种快速生成虚拟容器浮动IP的装置,其特征在于:包括下述模块:
IP分配和网桥创建模块,用于使用openstack软件的neutron服务给各数字机分配虚拟容器浮动IP和创建br-tun网桥;
VXLAN隧道端点地址IP生成模块,用于使用openstack软件的zun服务的kuryr-libnetwork生成VTEP地址IP并绑定虚拟容器中的网络接口;
物理网关修改模块,使用brctl工具修改linux bridge绑定的物理网卡;
刷新模块,用于使用pipework工具刷新虚拟容器的内部默认网关;
静态路由添加模块,用于添加静态路由,并在对应的网卡放行流量。
3.一种基于权利要求1所述的快速生成虚拟容器浮动IP的方法实现网络直通的方法,其特征在于:包括如下步骤:
步骤1、确定外部网络协议端口;
步骤2、外部IP头封装:源IP为发送报文的虚拟机所属的VXLAN隧道端点的IP地址,目的IP为目的虚拟机所属的VXLAN隧道端点的IP地址;
步骤3、外部网络虚拟边缘节点封装:源为发送报文的虚拟容器所属的VXLAN隧道端点的MAC地址,目的为目的虚拟机所属的VXLAN隧道端点上路由表中下一跳MAC地址,VXLAN隧道端点封装在虚拟边缘节点中,用于VXLAN报文的封装和解封装,VXLAN隧道端点与物理网络相连,一对VXLAN隧道端点地址就对应着一个VXLAN隧道,在隧道中出来的网络流量在交换机直接解析去到外部网络,执行网络流量直通。
4.如权利要求3所述的实现网络直通的方法,其特征在于:所述步骤2中,当目的IP为接收端的VXLAN隧道端点的IP地址时,若所述IP地址未知,则执行地址解析协议请求以获取所述IP地址。
5.如权利要求4所述的实现网络直通的方法,其特征在于:所述执行地址解析协议请求以获取所述IP地址的步骤如下:
步骤21.目标IP被替换成与源容器具有相同虚拟扩展局域网的网络标识的多播组IP地址;
步骤22.所有VXLAN隧道端点都接收多播报文,VXLAN隧道端点查找所在主机上的全部虚拟机来匹配源虚拟容器的内部目的MAC;
步骤23.目标VXLAN隧道端点的虚拟机容器会回应该多播报文,从而获得目标VXLAN隧道端点的IP地址;
步骤24.发送报文的虚拟机的VXLAN隧道端点添加虚拟扩展局域网的网络标识-VXLAN隧道端点-虚拟机MAC的映射关系到自己的VXLAN表中,避免再次组播学习。
6.一种基于权利要求2所述的快速生成虚拟容器浮动IP的装置实现网络直通的装置,其特征在于:包括如下模块:
协议端口确定模块,用于确定外部网络协议端口;
外部IP头封装模块,用于封装的源IP为发送报文的虚拟机所属的VXLAN隧道端点的IP地址,目的IP为目的虚拟机所属的VXLAN隧道端点的IP地址;
外部网络虚拟边缘节点封装模块,用于封装的源为发送报文的虚拟容器所属的VXLAN隧道端点的MAC地址,目的为目的虚拟机所属的VXLAN隧道端点上路由表中下一跳MAC地址,VXLAN隧道端点封装在虚拟边缘节点中,用于VXLAN报文的封装和解封装,VXLAN隧道端点与物理网络相连,一对VXLAN隧道端点地址就对应着一个VXLAN隧道,在隧道中出来的网络流量在交换机直接解析去到外部网络,执行网络流量直通。
7.如权利要求6所述的实现网络直通的装置,其特征在于:所述外部IP头封装模块中,当目的IP为接收端的VXLAN隧道端点的IP地址时,若所述IP地址未知,则调取地址解析协议请求单元以获取所述IP地址。
8.如权利要求7所述的实现网络直通的装置,其特征在于:所述地址解析协议请求单元执行如下操作:
目标IP被替换成与源容器具有相同虚拟扩展局域网的网络标识的多播组IP地址;
所有VXLAN隧道端点都接收多播报文,VXLAN隧道端点查找所在主机上的全部虚拟机来匹配源虚拟容器的内部目的MAC;
目标VXLAN隧道端点的虚拟机容器会回应该多播报文,从而获得目标VXLAN隧道端点的IP地址;
发送报文的虚拟机的VXLAN隧道端点添加虚拟扩展局域网的网络标识-VXLAN隧道端点-虚拟机MAC的映射关系到自己的VXLAN表中,避免再次组播学习。
9.一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求3~5任一项所述的方法。
10.一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如权利要求3~5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111650825.4A CN114301868B (zh) | 2021-12-30 | 2021-12-30 | 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111650825.4A CN114301868B (zh) | 2021-12-30 | 2021-12-30 | 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301868A true CN114301868A (zh) | 2022-04-08 |
CN114301868B CN114301868B (zh) | 2023-07-11 |
Family
ID=80973218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111650825.4A Active CN114301868B (zh) | 2021-12-30 | 2021-12-30 | 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301868B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115189948A (zh) * | 2022-07-11 | 2022-10-14 | 北京志凌海纳科技有限公司 | 一种CaaS平台中容器网络插件的实现方法和系统 |
CN115834529A (zh) * | 2022-11-23 | 2023-03-21 | 浪潮智慧科技有限公司 | 一种边缘设备远程监测方法及系统 |
CN116094870A (zh) * | 2023-01-29 | 2023-05-09 | 深圳前海环融联易信息科技服务有限公司 | 容器内操作系统的路由方法、装置、设备及存储介质 |
CN116436727A (zh) * | 2023-04-19 | 2023-07-14 | 北京志凌海纳科技有限公司 | 一种虚拟机容器混合编排系统及其IPv6网络实现方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953788A (zh) * | 2017-02-16 | 2017-07-14 | 北京西普阳光教育科技股份有限公司 | 一种虚拟网络控制器及控制方法 |
CN107078934A (zh) * | 2014-09-30 | 2017-08-18 | Nicira股份有限公司 | 虚拟分布式桥接模块 |
CN107547439A (zh) * | 2017-09-08 | 2018-01-05 | 中国银联股份有限公司 | 一种网络流量控制方法和计算节点 |
CN107770062A (zh) * | 2016-08-16 | 2018-03-06 | 北京金山云网络技术有限公司 | 一种数据包发送方法、装置及网络架构 |
US20180287902A1 (en) * | 2017-03-29 | 2018-10-04 | Juniper Networks, Inc. | Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control |
CN108810191A (zh) * | 2018-07-18 | 2018-11-13 | 郑州云海信息技术有限公司 | 基于OpenStack的浮动IP检测方法及系统 |
US20180332001A1 (en) * | 2016-02-08 | 2018-11-15 | Miguel Redondo Ferrero | Federated virtual datacenter apparatus |
CN109150589A (zh) * | 2018-07-25 | 2019-01-04 | 赛尔网络有限公司 | 基于Open Stack虚拟网络阻塞异常的处理方法及系统 |
US20190068543A1 (en) * | 2015-10-26 | 2019-02-28 | New H3C Technologies Co., Ltd. | Packet forwarding applied to vxlan |
CN109660443A (zh) * | 2018-12-26 | 2019-04-19 | 江苏省未来网络创新研究院 | 基于sdn的物理设备与虚拟网络通信方法和系统 |
CN110995561A (zh) * | 2019-12-06 | 2020-04-10 | 中国科学院信息工程研究所 | 基于容器技术的虚拟网络数据通信交互方法与系统 |
CN112165432A (zh) * | 2020-09-07 | 2021-01-01 | 广州锦行网络科技有限公司 | 一种实现OpenStack虚拟机与外部通信的方法 |
CN113132505A (zh) * | 2020-01-10 | 2021-07-16 | 华为技术有限公司 | 发送应答报文的方法、装置、计算设备和存储介质 |
CN113794732A (zh) * | 2021-09-22 | 2021-12-14 | 上海观安信息技术股份有限公司 | 一种部署仿真网络环境的方法、装置、设备及存储介质 |
-
2021
- 2021-12-30 CN CN202111650825.4A patent/CN114301868B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107078934A (zh) * | 2014-09-30 | 2017-08-18 | Nicira股份有限公司 | 虚拟分布式桥接模块 |
US20190068543A1 (en) * | 2015-10-26 | 2019-02-28 | New H3C Technologies Co., Ltd. | Packet forwarding applied to vxlan |
US20180332001A1 (en) * | 2016-02-08 | 2018-11-15 | Miguel Redondo Ferrero | Federated virtual datacenter apparatus |
CN107770062A (zh) * | 2016-08-16 | 2018-03-06 | 北京金山云网络技术有限公司 | 一种数据包发送方法、装置及网络架构 |
CN106953788A (zh) * | 2017-02-16 | 2017-07-14 | 北京西普阳光教育科技股份有限公司 | 一种虚拟网络控制器及控制方法 |
US20180287902A1 (en) * | 2017-03-29 | 2018-10-04 | Juniper Networks, Inc. | Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control |
CN107547439A (zh) * | 2017-09-08 | 2018-01-05 | 中国银联股份有限公司 | 一种网络流量控制方法和计算节点 |
CN108810191A (zh) * | 2018-07-18 | 2018-11-13 | 郑州云海信息技术有限公司 | 基于OpenStack的浮动IP检测方法及系统 |
CN109150589A (zh) * | 2018-07-25 | 2019-01-04 | 赛尔网络有限公司 | 基于Open Stack虚拟网络阻塞异常的处理方法及系统 |
CN109660443A (zh) * | 2018-12-26 | 2019-04-19 | 江苏省未来网络创新研究院 | 基于sdn的物理设备与虚拟网络通信方法和系统 |
CN110995561A (zh) * | 2019-12-06 | 2020-04-10 | 中国科学院信息工程研究所 | 基于容器技术的虚拟网络数据通信交互方法与系统 |
CN113132505A (zh) * | 2020-01-10 | 2021-07-16 | 华为技术有限公司 | 发送应答报文的方法、装置、计算设备和存储介质 |
CN112165432A (zh) * | 2020-09-07 | 2021-01-01 | 广州锦行网络科技有限公司 | 一种实现OpenStack虚拟机与外部通信的方法 |
CN113794732A (zh) * | 2021-09-22 | 2021-12-14 | 上海观安信息技术股份有限公司 | 一种部署仿真网络环境的方法、装置、设备及存储介质 |
Non-Patent Citations (5)
Title |
---|
OPENSTACK: "Linux bridge:Self-service networks", Retrieved from the Internet <URL:https://docs.openstack.org/mitaka/networking-guide/deploy-lb-selfservice.html> * |
YUKUN ZHANG ET.AL.: "A Novel Software Defined Networking Framework for Cloud Environments", 2016 IEEE 3RD INTERNATIONAL CONFERENCE ON CYBER SECURITY AND CLOUD COMPUTING (CSCLOUD) * |
一个小白的学习日常: "openstack neutron网络插件学习(二)【linux-bridge实现】", Retrieved from the Internet <URL:https://blog.csdn.net/weixin_45537413/article/details/109587949> * |
刘渊;乔巍;: "云环境下基于Kubernetes集群系统的容器网络研究与优化", 信息网络安全, no. 03 * |
王璐: "OpenStack和OpenDaylight相结合的云网融合的关键技术研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115189948A (zh) * | 2022-07-11 | 2022-10-14 | 北京志凌海纳科技有限公司 | 一种CaaS平台中容器网络插件的实现方法和系统 |
CN115189948B (zh) * | 2022-07-11 | 2023-05-12 | 北京志凌海纳科技有限公司 | 一种CaaS平台中容器网络插件的实现方法和系统 |
CN115834529A (zh) * | 2022-11-23 | 2023-03-21 | 浪潮智慧科技有限公司 | 一种边缘设备远程监测方法及系统 |
CN115834529B (zh) * | 2022-11-23 | 2023-08-08 | 浪潮智慧科技有限公司 | 一种边缘设备远程监测方法及系统 |
CN116094870A (zh) * | 2023-01-29 | 2023-05-09 | 深圳前海环融联易信息科技服务有限公司 | 容器内操作系统的路由方法、装置、设备及存储介质 |
CN116094870B (zh) * | 2023-01-29 | 2024-07-12 | 深圳前海环融联易信息科技服务有限公司 | 容器内操作系统的路由方法、装置、设备及存储介质 |
CN116436727A (zh) * | 2023-04-19 | 2023-07-14 | 北京志凌海纳科技有限公司 | 一种虚拟机容器混合编排系统及其IPv6网络实现方法 |
CN116436727B (zh) * | 2023-04-19 | 2023-12-05 | 北京志凌海纳科技有限公司 | 一种虚拟机容器混合编排系统及其IPv6网络实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114301868B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880216B2 (en) | Generic communication channel for information exchange between a hypervisor and a virtual machine | |
US10182005B2 (en) | Software defined network (SDN) switch clusters having layer-3 distributed router functionality | |
US11115465B2 (en) | Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table | |
WO2021135345A1 (zh) | 虚拟私有云通信及配置方法以及相关装置 | |
US9602307B2 (en) | Tagging virtual overlay packets in a virtual networking system | |
CN114301868B (zh) | 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置 | |
US9544248B2 (en) | Overlay network capable of supporting storage area network (SAN) traffic | |
US9413554B2 (en) | Virtual network overlays | |
WO2018086014A1 (zh) | 云计算系统中报文处理的方法、主机和系统 | |
US9112801B2 (en) | Quantized congestion notification in a virtual networking system | |
US11509581B2 (en) | Flow-based local egress in a multisite datacenter | |
JP2022541381A (ja) | ハイブリッドクラウド環境における通信方法、ゲートウェイ、並びに管理方法及び装置 | |
US11671358B2 (en) | Disambiguating traffic in networking environments with multiple virtual routing and forwarding (VRF) logical routers | |
US12052171B2 (en) | Communication system and communication method | |
CN105391635A (zh) | 一种基于sdn的网络虚拟化方法 | |
WO2021077995A1 (zh) | 网络切片共享上联口的方法、装置及存储介质 | |
Yan et al. | Open vSwitch Vxlan performance acceleration in cloud computing data center | |
WO2024037619A1 (zh) | 一种基于云计算技术的虚拟实例创建方法和云管理平台 | |
Han et al. | High-Performance and Low-Cost VPP Gateway for Virtual Cloud Networks | |
WO2022146586A1 (en) | Layer-2 networking information in a virtualized cloud environment | |
CN116648691A (zh) | 在虚拟化的云环境中使用访问控制列表的层2网络 | |
CN117255019A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |