CN106487695B - 一种数据传输方法、虚拟网络管理装置及数据传输系统 - Google Patents
一种数据传输方法、虚拟网络管理装置及数据传输系统 Download PDFInfo
- Publication number
- CN106487695B CN106487695B CN201610698151.8A CN201610698151A CN106487695B CN 106487695 B CN106487695 B CN 106487695B CN 201610698151 A CN201610698151 A CN 201610698151A CN 106487695 B CN106487695 B CN 106487695B
- Authority
- CN
- China
- Prior art keywords
- network
- address
- subnet
- gateway
- virtual
- 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 47
- 230000005540 biological transmission Effects 0.000 title abstract description 47
- 238000011144 upstream manufacturing Methods 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 26
- 208000033748 Device issues Diseases 0.000 claims description 4
- 206010052428 Wound Diseases 0.000 claims 1
- 208000027418 Wounds and injury Diseases 0.000 claims 1
- 238000010276 construction Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 65
- 238000010586 diagram Methods 0.000 description 12
- 239000011800 void material Substances 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 10
- 238000013508 migration Methods 0.000 description 10
- 230000005012 migration Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 239000004744 fabric Substances 0.000 description 5
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 description 4
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/44—Distributed routing
-
- 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/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
-
- 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/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例提供一种数据传输方法、虚拟网络管理装置及数据传输系统,能够提供对直连网络方式南北向通信的分布式解决方案,提高数据转发效率,减少通信时延。具体方案为:获取虚拟网络的网络标识信息,虚拟网络的子网包括第一子网;获取路由器信息;获取虚拟机信息,虚拟机信息用于指示虚拟机所连接的子网;当确定虚拟机所连接的子网为第一子网,且第一子网与路由器连接,且路由器与外部网络连接时,指示计算节点创建网关,并对网关进行配置,网关用于对虚拟专用网络VPN报文进行转发。本发明用于进行直连网络方式南北向通信。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据传输方法、虚拟网络管理装置及数据传输系统。
背景技术
随着云计算技术的发展,数据中心近年来得到高速的发展,数据中心的规模越来越大,承载的业务越来越多,因而数据中心的通信数据量也越来越大。数据中心的通信包括东西向通信和南北向通信。其中东西向通信是指数据中心的内部通信,南北向通信是指数据中心和外部网络之间的通信。
图1为现有技术中数据中心内虚拟网络之间进行通信的示意图,其中,数据中心包括计算节点和网络节点,计算节点1包括虚拟机(英文全称:Virtual Machine,英文简称:VM)1和虚拟机2,计算节点2包括虚拟机3,其中虚拟机1和虚拟机3属于虚拟网络1,虚拟机2属于虚拟网络2。虚拟机通过计算节点内的虚拟机交换机(英文全称:Virtual Switch,英文简称:VS)进行数据交换。
结合图1,传统数据中心的通信方式中,通信数据通过路由器进行集中式转发,即虚拟网络1和虚拟网络2间的东西向通信流量需要经过网络节点1上的路由器进行转发,虚拟网络1和数据中心外部用户的通信流量也需要经过网络节点1上的路由器完成与用户边缘(英文全称:Customer Edge,英文简称:CE)路由器之间的转发。
集中式转发的处理方案中,随着通信数据量的增加,路由器的工作负荷不断增大,路由器的处理能力逐渐成为提高通信效率的瓶颈,制约着网络规模,因此对通信数据进行分布式转发的通信方案,成为云计算技术发展的新方向。
现有技术已经能够提供对东西向通信数据进行分布式转发的解决方案,然而对于南北向通信数据的分布式转发,目前还没有彻底的解决方案。
具体的,数据中心的南北向通信分为三种方式:
1)浮动网络互连协议(英文全称:Internet Protocol,英文简称:IP)地址方式南北向通信:数据中心的虚拟机作为客户机-服务器通信模式的服务器端,配置公网地址(浮动IP),外部用户通过公网地址访问数据中心内的VM。
2)直连网络方式南北向通信:数据中心的VM作为客户端或者服务器,配置私网地址,通过虚拟专用网络(英文全称:Virtual Private Network,英文简称:VPN)和外部分支机构或远程用户通信。
3)源地址转换(英文全称:Source Network Address Translation,英文简称:SNAT)方式南北向通信:数据中心的多个VM通过SNAT共享一个公网IP地址,作为客户机访问外部网络上的服务器。
现有技术中的云计算平台,提供了对上述第一种南北向通信方式的分布式解决方案,然而其它两种方式的南北向通信数据还完全依赖现有的集中式处理方案实现转发。受网络节点上路由器处理能力的制约,当直连网络方式南北向通信流量较大,或者SNAT方式南北向通信流量较大时,易导致数据转发效率低下,通信时延大的问题。
发明内容
本发明的实施例提供一种数据传输方法、虚拟网络管理装置及数据传输系统,能够提供对直连网络方式南北向通信的分布式解决方案,提高数据转发效率,减少通信时延。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,一种数据传输方法,包括:
获取虚拟网络的网络标识信息,所述网络标识信息包括所述虚拟网络的子网信息,所述子网信息用于标识所述虚拟网络的子网,所述虚拟网络的子网包括第一子网;
获取路由器信息,所述路由器信息用于指示路由器与所述虚拟网络的子网之间的连接状态,以及所述路由器与外部网络之间的连接状态;
获取虚拟机信息,所述虚拟机信息用于指示虚拟机所连接的子网;
当确定所述虚拟机所连接的子网为所述第一子网,且所述第一子网与所述路由器连接,且所述路由器与所述外部网络连接时,将所述网络标识信息、所述路由器信息以及所述虚拟机信息发送至所述虚拟机所在的计算节点,以指示所述计算节点创建网关,并对所述网关进行配置,所述网关用于对虚拟专用网络VPN报文进行转发。
结合第一方面,在第一种可能的实现方式中,所述对所述网关进行配置,包括:
根据所述网络标识信息为所述网关添加下行接口,所述下行接口的网络互连协议IP地址为所述第一子网的网关地址;
为所述网关添加上行接口,所述上行接口为所述外部网络的接口,用于与用户边缘CE路由器进行VPN报文转发;
根据所述网络标识信息为所述网关设置转发策略,所述转发策略包括:从所述虚拟机接收到的VPN报文,下一跳地址为所述CE路由器的下行接口的地址;从所述CE路由器的下行接口接收到的VPN报文,目的地址为所述虚拟机的地址。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
创建路由信息发布模块,通过所述路由信息发布模块向所述CE路由器发布所述虚拟机的路由信息,以便于所述CE路由器维护更新CE路由表,所述CE路由表记录的内容包括从所述外部网络接收到的VPN报文,下一跳地址为所述网关上行接口的地址。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述创建路由信息发布模块,包括:
创建路由信息发布器实例,为所述路由信息发布器实例配置独立的地址空间,并将所述路由信息发布器实例与路由代理连接,所述路由信息发布器实例用于通过动态路由协议向所述CE路由器上对应的路由器实例发送所述虚拟机的路由信息。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述通过所述路由信息发布模块向所述CE路由器动态发布所述虚拟机的路由信息,包括:
在所述虚拟机创建、迁移或者撤销之后,通过所述路由信息发布模块向所述CE路由器发布更新的所述虚拟机的路由信息。
结合第一方面至第一方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述方法还包括:
获取更新的路由器信息,根据所述更新的路由器信息,当所述第一子网与所述路由器之间的连接断开时,或者所述路由器与所述外部网络之间的连接断开时,撤销所述网关;
或者,从所述计算节点获取更新的虚拟机信息,根据所述更新的虚拟机信息,当所述虚拟机与所述第一子网之间的连接断开时,撤销所述网关。
第二方面,一种虚拟网络管理装置,包括:
虚拟网络管理模块,用于获取虚拟网络的网络标识信息,所述网络标识信息包括所述虚拟网络的子网信息,所述子网信息用于标识所述虚拟网络的子网,所述虚拟网络的子网包括第一子网;
网络节点管理模块,用于获取路由器信息,所述路由器信息用于指示路由器与所述虚拟网络的子网之间的连接状态,以及所述路由器与外部网络之间的连接状态;
计算节点管理模块,用于获取虚拟机信息,所述虚拟机信息用于指示虚拟机所连接的子网;
当所述计算节点管理模块确定所述虚拟机所连接的子网为所述第一子网,且所述第一子网与所述路由器连接,且所述路由器与所述外部网络连接时,将所述网络标识信息、所述路由器信息以及所述虚拟机信息发送至所述虚拟机所在的计算节点,以指示所述计算节点创建网关,并对所述网关进行配置,所述网关用于对虚拟专用网络VPN报文进行转发。
结合第二方面,在第一种可能的实现方式中,所述计算节点管理模块,具体用于,
根据所述网络标识信息为所述网关添加下行接口,所述下行接口的网络互连协议IP地址为所述第一子网的网关地址;
为所述网关添加上行接口,所述上行接口为所述外部网络的接口,用于与用户边缘CE路由器进行VPN报文转发;
根据所述网络标识信息为所述网关设置转发策略,所述转发策略包括:从所述虚拟机接收到的VPN报文,下一跳地址为所述CE路由器的下行接口的地址;从所述CE路由器的下行接口接收到的VPN报文,目的地址为所述虚拟机的地址。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网络节点管理模块,还用于创建路由信息发布模块,通过所述路由信息发布模块向所述CE路由器发布所述虚拟机的路由信息,以便于所述CE路由器维护更新CE路由表,所述CE路由表记录的内容包括从所述外部网络接收到的VPN报文,下一跳地址为所述网关上行接口的地址。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述网络节点管理模块,具体用于创建路由信息发布器实例,为所述路由信息发布器实例配置独立的地址空间,并将所述路由信息发布器实例与路由代理连接,所述路由信息发布器实例用于通过动态路由协议向所述CE路由器上对应的路由器实例发送所述虚拟机的路由信息。
结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述网络节点管理模块,具体用于在所述虚拟机创建、迁移或者撤销之后,通过所述路由信息发布模块向所述CE路由器发布更新的所述虚拟机的路由信息。
结合第二方面至第二方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述网络节点管理模块,还用于获取更新的路由器信息;
所述计算节点管理模块,还用于根据所述更新的路由器信息,当所述第一子网与所述路由器之间的连接断开时,或者所述路由器与所述外部网络之间的连接断开时,撤销所述网关;
所述计算节点管理模块,还用于从所述计算节点获取更新的虚拟机信息;
所述计算节点管理模块,还用于根据所述更新的虚拟机信息,当所述虚拟机与所述第一子网之间的连接断开时,撤销所述网关。
第三方面一种数据传输系统,包括:云资源管理器,虚拟网络管理装置,网络节点和计算节点;
所述云资源管理器,用于创建虚拟网络,并将所述虚拟网络的网络标识信息发送至所述虚拟网络管理装置,所述网络标识信息包括所述虚拟网络的子网信息,所述子网信息用于标识所述虚拟网络的子网,所述虚拟网络的子网包括第一子网;
所述云资源管理器,还用于指示所述网络节点创建路由器,并配置所述路由器与所述虚拟网络的子网之间的连接状态,以及所述路由器与外部网络之间的连接状态;
所述网络节点,用于将路由器信息发送至所述虚拟网络管理装置,所述路由器信息用于指示路由器与所述虚拟网络的子网之间的连接状态,以及所述路由器与外部网络之间的连接状态;
所述云资源管理器,还用于指示所述计算节点创建虚拟机,并将所述虚拟机与所述虚拟网络的子网连接;
所述计算节点,还用于将虚拟机信息发送至所述虚拟网络管理装置,所述虚拟机信息用于指示所述虚拟机所连接的子网;
当所述虚拟网络管理装置确定所述虚拟机所连接的子网为所述第一子网,且所述第一子网与所述路由器连接,且所述路由器与所述外部网络连接时,将所述网络标识信息、所述路由器信息以及所述虚拟机信息发送至所述虚拟机所在的计算节点,以指示所述计算节点创建网关,并对所述网关进行配置,所述网关用于对虚拟专用网络VPN报文进行转发。
结合第三方面,在第一种可能的实现方式中,所述虚拟网络管理装置,具体用于,
根据所述网络标识信息为所述网关添加下行接口,所述下行接口的网络互连协议IP地址为所述第一子网的网关地址;
为所述网关添加上行接口,所述上行接口为所述外部网络的接口,用于与用户边缘CE路由器进行VPN报文转发;
根据所述网络标识信息为所述网关设置转发策略,所述转发策略包括:从所述虚拟机接收到的VPN报文,下一跳地址为所述CE路由器的下行接口的地址;从所述CE路由器的下行接口接收到的VPN报文,目的地址为所述虚拟机的地址。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟网络管理装置,还用于指示所述网络节点创建路由信息发布模块,并将所述虚拟机的路由信息发送至所述路由信息发布模块;
所述路由信息发布模块,用于向所述CE路由器发布所述虚拟机的路由信息,以便于所述CE路由器维护更新CE路由表,所述CE路由表记录的内容包括从所述外部网络接收到的VPN报文,下一跳地址为所述网关上行接口的地址。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述虚拟网络管理装置,具体用于指示所述网络节点创建路由信息发布器实例,为所述路由信息发布器实例配置独立的地址空间,并将所述路由信息发布器实例与路由代理连接,所述路由信息发布器实例用于通过动态路由协议向所述CE路由器上对应的路由器实例发送所述虚拟机的路由信息。
结合第三方面的第二种可能的实现方式,在第四种可能的实现方式中,所述虚拟网络管理装置,具体用于在所述虚拟机创建、迁移或者撤销之后,通过所述路由信息发布模块向所述CE路由器发布更新的所述虚拟机的路由信息。
结合第三方面至第三方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,
所述虚拟网络管理装置,还用于获取更新的路由器信息,根据所述更新的路由器信息,当所述第一子网与所述路由器之间的连接断开时,或者所述路由器与所述外部网络的连接断开时,撤销所述网关;
所述虚拟网络管理装置,还用于获取更新的虚拟机信息,根据所述更新的虚拟机信息,当所述虚拟机与所述第一子网之间的连接断开时,撤销所述网关。
本发明的实施例所提供的数据传输方法、虚拟网络管理装置及数据传输系统,通过获取虚拟网络的网络标识信息,获取路由器信息,获取虚拟机信息,并根据网络标识信息、路由器信息和虚拟机信息进行判断,当确定虚拟机所连接的子网为第一子网,且第一子网与路由器连接,且路由器与数据中心外部网络连接时,在计算节点上创建分布式网关,并对分布式网关进行配置,从而通过分布式网关对VPN报文进行转发。VPN报文无需依赖现有的集中式处理方案进行转发。进一步地,在同一计算节点上的属于同一虚拟网络或者不同虚拟网络的多个虚拟机,可以共用同一分布式网关。对于一个分布式网关,由于其只负责对所在计算节点上虚拟机的VPN报文进行转发,工作负荷小,分布式网关足以对这些虚拟机的VPN报文进行高效率的转发,避免了出现VPN报文拥堵的情况,减少了通信时延。
本申请的第四方面,提供了一种网关创建方法,包括:虚拟网络管理装置首先确定计算节点上建立的虚拟机VM所在的子网。
该虚拟网络管理装置具体可以通过该VM的IP地址查询存储的各个子网对应的IP地址段,以确认该VM所在的子网。
该虚拟网络管理装置确定该VM所在的子网对应的网关地址,该VM所在的子网的网络标识ID,该VM所属租户对应的外部网络的IP地址段,该外部网络的网络ID,以及该外部网络对应的网关地址。
该虚拟网络管理装置确定该外部网络的IP地址以及该外部网络的IP地址对应的MAC地址,该外部网络的IP地址属于该外部网络的IP地址段。
该租户在不同计算节点上创建的网关的上行接口的IP地址均属于该外部网络的IP地址段。因此在该虚拟网络装置获取了该外部网络的IP地址段后,需要从该外部网络的IP地址段中分配一个该外部网络的IP地址以及分配该外部网络的IP地址对应的MAC地址作为该网关的上行接口的地址。该分配动作可以由该虚拟网络装置执行,也可以由云资源管理器执行。
如果该分配动作由该虚拟网络装置执行,则该虚拟网络装置从该外部网络的IP地址段中分配一个未被占用的IP地址。如果该分配动作由云资源管理器执行,则该虚拟网络装置请求云资源管理器从该外部网络的IP地址段中分配一个未被占用的IP地址以及分配该外部网络的IP地址对应的MAC地址,该云资源管理器将分配的该外部网络的IP地址以及该外部网络的IP地址对应的MAC地址后发送至该虚拟网络装置。
该虚拟网络管理装置将该VM所在的子网对应的网关地址,该外部网络的IP地址与该外部网络的IP地址对应的MAC地址发送至该计算节点,并指示该计算节点创建网关。
由于此处针对在一个计算节点上建立一个VM的场景,因此仅涉及在该计算节点上建立对应的网关,实际的数据传输系统中设置有多个计算节点,每个运行了VM的计算节点上均设置有对应的网关,这些网关分布式的部署于各个计算节点上,相对于传统的在网络节点上部署的集中式的路由器,采用分布式网关的场景下,VPN报文的处理效率不受限于网络节点的处理能力。
该网关配置有上行接口和下行接口,该网关的上行接口的地址包括该外部网络的IP地址与该外部网络的IP地址对应的MAC地址,该网关的上行接口用于与CE路由器的下行接口通信,该CE路由器的下行接口的地址为该外部网络对应的网关地址,该网关的下行接口的地址为该VM所在的子网对应的网关地址,该网关的下行接口用于与该VM所在的子网通信。
该虚拟网络管理装置根据该外部网络对应的网关地址,该VM所在的子网的网络ID以及该外部网络的网络ID为该网关配置转发策略,该转发策略指示该网关将该VM发出的第一VPN报文转换为第二VPN报文,该第一VPN报文中携带该VM所在的子网的网络ID,该第二VPN报文中携带该外部网络的网络ID,该转发策略还指示该网关将该第二VPN报文通过该网关的上行接口发送至该CE路由器的下行接口。
结合第四方面,在第四方面的第一种实现方式中,该虚拟网络管理装置确定计算节点上建立的VM所在的子网之前,该方法还包括:该虚拟网络管理装置获取N个子网的子网信息,每个子网的子网信息包括网络标识ID和IP地址段,N为大于0的整数,该N个子网均属于该租户;该虚拟网络管理装置获取该每个子网对应的网关地址,该外部网络的IP地址段,该外部网络的网络ID,以及该外部网络对应的网关地址;该虚拟网络管理装置确定计算节点上建立的VM所在的子网包括:该虚拟网络管理装置获取该VM的IP地址,根据该VM的IP地址确定该VM所在的子网。
该虚拟管理装置根据该VM的IP地址确定的各类信息,由云资源管理器预先发送至该虚拟网络管理装置。
结合第四方面或第四方面的第一种实现方式,在第四方面的第二种实现方式中,该方法还包括:该虚拟网络管理装置向该CE路由器发布该VM的路由信息,该路由信息用于指示该CE路由器将目的地为该VM的报文发送至该网关的上行接口。
由于本方面提供的网关分布式的部署于各个计算节点之上,因此CE路由器接收到公网发来的报文时,该CE路由器需要根据该路由信息确认该报文是发往哪个网关的上行接口。
除了VM新建的场景中需要向该CE路由器发布VM的路由信息,当VM撤销或VM迁移时,也需要向该CE路由器更新被撤销的VM或者被迁移的VM对应的路由信息。
结合第四方面或第四方面的前述任一种实现方式,在第四方面的第三种实现方式中,该方法还包括:该虚拟网络管理装置确定该计算节点上属于该租户的全部VM均撤销;该虚拟网络管理装置指示该计算节点撤销该网关。
在确定该计算节点上属于该租户的全部VM均撤销的情况下,也即确定了该网关所连接的VM全部撤销,此时撤销该网关有助于节省该计算节点的物理资源,并且也可以释放之前为该网关分配的外部网络的IP地址和MAC地址,由于每个租户所属的外部网络的地址资源有限,合理回收已分配的外部网络的地址资源有助于提升外部网络的地址资源的利用率。
本申请的第五方面,提供了一种虚拟网络管理装置,该虚拟网络管理装置用于为在新创建了VM的计算节点上创建网关。该装置包括了用于执行第四方面或第四方面的任意一种实现方式提供的网关创建方法的至少一个模块。
本申请的第六方面,提供了一种计算设备,该计算设备包括处理器、存储器。该计算设备可以为数据传输系统中的虚拟网络管理装置,该计算设备上可以运行用于实现SDN控制器的软件,以使得该计算设备实现SDN控制器的功能。该计算设备运行时执行第四方面或第四方面的任意一种实现方式提供的网关创建方法。
本申请的第七方面,提供了一种数据传输系统,该数据传输系统包括了云资源管理器、第五方面或第六方面提供的虚拟网络管理装置、CE路由器以及至少一个计算节点。其中,云资源管理器与虚拟网络管理装置建立通信连接,虚拟网络管理装置与每个计算节点建立通信连接,CE路由器与每个计算节点建立通信连接。
该云资源管理器,用于将N个子网的子网信息,每个子网的子网信息包括网络ID和IP地址段,N为大于0的整数,该N个子网均属于一个租户,每个子网对应的网关地址,该租户对应的外部网络的IP地址段,该外部网络的网络ID,以及该外部网络对应的网关地址发送至该虚拟网络管理装置。
该虚拟网络管理装置,用于确定第一计算节点上创建的VM的IP地址,该VM属于该租户,根据该VM的IP地址确定该VM所在的子网,并确定该VM所在的子网对应的网关地址,该VM所在的子网的网络ID,该外部网络的IP地址以及该外部网络的IP地址对应的MAC地址,该外部网络的网络ID。
该虚拟网络管理装置,还用于将该VM所在的子网对应的网关地址,该外部网络的IP地址与该外部网络的IP地址对应的MAC地址发送至该计算节点,并指示该第一计算节点创建网关。
该网关配置有上行接口和下行接口,该网关的上行接口的地址包括该外部网络的IP地址与该外部网络的IP地址对应的MAC地址,该网关的上行接口用于与该CE路由器的下行接口通信,该CE路由器的下行接口的地址为该外部网络对应的网关地址,该网关的下行接口的地址为该VM所在的子网对应的网关地址,该网关的下行接口用于与该VM所在的子网通信。
该虚拟网络管理装置,还用于根据该外部网络对应的网关地址,该VM所在的子网的网络标识ID以及该外部网络的网络ID生成转发策略,该转发策略指示该网关将该VM发出的第一VPN报文转换为第二VPN报文,该第一VPN报文中携带该VM所在的子网的网络标识ID,该第二VPN报文中携带该外部网络的网络ID,该转发策略还指示该网关将该第二VPN报文通过该网关的上行接口发送至该CE路由器的下行接口。
该第一计算节点,用于创建该网关以及接收该转发策略,并为该网关配置该转发策略。
结合第七方面,在第七方面的第一种实现方式中,该虚拟网络管理装置,还用于向该CE路由器发布该VM的路由信息,该路由信息用于指示该CE路由器将目的地为该VM的报文发送至该网关的上行接口。
结合第七方面,在第七方面的第二种实现方式中,该数据传输系统还包括路由信息发布模块,该路由信息发布模块设置于该数据传输系统的计算节点或网络节点;
该虚拟网络管理装置,还用于生成该VM的路由信息,该路由信息用于指示该CE路由器将目的地为该VM的报文发送至该网关的上行接口;
该路由信息发布模块,用于向该CE路由器发布该VM的路由信息。
结合第七方面或第七方面的任一种实现方式,在第七方面的第三种实现方式中,该虚拟网络管理装置,还用于确定该计算节点上属于该租户的全部VM均撤销,指示该计算节点撤销该网关。
本申请的第八方面,提供了一种存储介质,该存储介质中存储了程序代码,该程序代码被运行时,执行第四方面或第四方面的任意一种实现方式提供的方法。该存储介质包括但不限于快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid state drive,缩写:SSD)。
本申请的第九方面,提供了一种计算机程序产品,该计算机程序产品可以为一个软件安装包,该软件安装包被运行时,执行第四方面或第四方面的任意一种实现方式提供的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中数据中心内虚拟网络之间通信方式的示意图;
图2为本发明的实施例一所提供的一种数据传输方法流程示意图;
图3为本发明的实施例二所提供的一种数据传输方法流程示意图;
图4为SDN控制器通过路由信息发布模块发布虚拟机的路由信息的示意图;
图5为本发明的实施例二中虚拟机与通信对端之间进行直连网络方式南北向通信的示意图;
图6为本发明的实施例三所提供的一种虚拟网络管理装置结构示意图;
图7为本发明的实施例四所提供的一种数据传输系统的结构示意图;
图8为本发明的实施例五所提供的一种数据传输系统的结构示意图;
图9为本发明的实施例提供的计算设备的组织结构示意图;
图10为本发明的实施例所提供的一种虚拟网络管理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明的实施例提供一种数据传输方法,应用于云计算场景中,提供对直连网络方式南北向通信的分布式解决方案。方法涉及云资源管理器、虚拟网络管理装置、网络节点、计算节点以及CE路由器。
其中,云资源管理器用于资源的分配和管理,包括虚拟网络创建,虚拟机创建、迁移和删除等。具体的,云资源管理器可以是Openstack,或者其它的云资源管理平台所提供的具有相同或者类似功能的对象。
网络节点,用于对网络数据进行传输、转发等,在本发明的实施例主要涉及对南北向通信数据的转发功能。
计算节点,本发明的实施例中在计算节点内创建虚拟机,虚拟机作为虚拟网络内的主机,是与通信对端进行南北向通信的主体。
虚拟网络管理装置,是对虚拟网络进行管理的主体。在本发明的实施例中,虚拟网络管理装置从网络节点和计算节点上报的信息中获取整个虚拟网络的拓扑结构,包括虚拟网络中虚拟机和路由器之间,以及路由器和数据中心外部网络之间的连接状态,从而根据虚拟网络的拓扑结构对虚拟网络进行管理。
用户边缘(英文全称:customer edge,缩写CE)路由器,连接数据中心和外部网络的路由器,虚拟网络的南北向通信的数据报文从数据中心发出后,通过CE路由器进入VPN,最终发往通信对端。通信对端发往数据中心内虚拟网络的南北向通信的数据报文,通过VPN发送至CE路由器,通过CE路由器转发至数据中心。
本发明的实施例所提供的数据传输方法,应用于虚拟网络管理装置,参照图2所示,包括以下步骤:
201、虚拟网络管理装置获取虚拟网络的网络标识信息。
网络标识信息包括虚拟网络的网络ID,以及虚拟网络的子网信息。其中,子网信息用于标识虚拟网络的子网。
用户通过云资源管理器创建虚拟网络,并在虚拟网络内创建子网。子网信息用于标识虚拟网络所包括的各个子网,其中包括第一子网。具体的,不同子网通过各自的网际互连协议(英文全称:Internet Protocol,英文简称:IP)地址以及对应的子网掩码进行标识。当然,虚拟网络也可以只包括一个子网,即第一子网。
可选的,虚拟网络管理装置为软件定义网络(英文全称:Software DefinedNetwork,英文简称:SDN)控制器。本发明的实施例以虚拟网络管理装置为SDN控制器的应用场景为例进行说明。虚拟网络创建完成之后,网络节点将虚拟网络的网络标识信息发送至SDN控制器。
202、获取路由器信息。
其中,路由器信息用于指示路由器的连接状态,包括路由器和虚拟网络的哪些子网连接,以及路由器是否和数据中心的外部网络连接。例如,虚拟网络包括两个子网,如果两个子网均与路由器连接,则两个子网之间可以进行东西向通信。如果路由器进一步与外部网络连接,则两个子网中的任一子网可以进行南北向通信。
具体的,云资源管理器创建虚拟网络之后,指示网络节点创建路由器,以为创建的虚拟网络提供路由服务。路由器创建后,云资源管理器对其进行配置,即将路由器与虚拟网络内的部分或者全部子网连接,或者还可以进一步将路由器与数据中心的外部网络连接。云资源管理器对路由器进行配置之后,网络节点根据路由器的连接状态,将路由器信息发送至SDN控制器。
203、获取虚拟机信息,虚拟机信息用于指示虚拟机所连接的子网。
云资源管理器创建虚拟网络之后,指示计算节点创建虚拟机,并将虚拟机与虚拟网络的一个子网连接。本实施例中以虚拟机所连接的子网为第一子网的情况为例进行说明。虚拟机与第一子网连接之后,计算节点将虚拟机信息发送至SDN控制器。
204、当确定虚拟机所连接的子网为第一子网,且第一子网与路由器连接,且路由器与外部网络连接时,将网络标识信息、路由器信息以及虚拟机信息发送至虚拟机所在的计算节点,以指示计算节点创建分布式网关,并对分布式网关进行配置。
其中,分布式网关用于对虚拟专用网络VPN报文进行转发。具体的,VPN报文为虚拟机进行直连网络方式南北向通信时的数据报文。
特别地,在包括多个计算节点的应用场景中,针对不同计算节点,分别执行步骤201-204,在多个计算节点上建立分布式网关,对不同计算节点上的虚拟机VPN报文进行转发。
SDN控制器根据虚拟网络的网络标识信息、路由器信息和虚拟机信息进行判断,如果第一子网与路由器连接,且路由器与外部网络连接,则表示虚拟机有进行直连网络方式南北向通信的需求,此时建立分布式网关。
分布式网关建立之后,对分布式网关进行配置,具体包括将第一子网与分布式网关连接,并将分布式网关与外部网络连接。这样虚拟机可以通过分布式网关向通信对端发送VPN报文,或者通过分布式网关接收通信对端发送的VPN报文。
本发明的实施例所提供的数据传输方法,SDN控制器通过从云资源管理器获取虚拟网络的网络标识信息,从网络节点获取路由器信息,从计算节点获取虚拟机信息,并根据网络标识信息、路由器信息和虚拟机信息进行判断,当确定虚拟机所连接的子网为第一子网,且第一子网与路由器连接,且路由器与外部网络连接时,在计算节点上创建分布式网关,并对分布式网关进行配置,从而通过分布式网关对VPN报文进行转发。VPN报文无需依赖现有的集中式处理方案进行转发。进一步地,在同一计算节点上的属于同一虚拟网络或者不同虚拟网络的多个虚拟机,可以共用同一分布式网关。对于一个分布式网关,由于其只负责对所在计算节点上虚拟机的VPN报文进行转发,工作负荷小,分布式网关足以对这些虚拟机的VPN报文进行高效率的转发,避免了出现VPN报文拥堵的情况,减少了通信时延。
实施例二
基于图2对应的实施例,本发明实施例二提供一种数据传输方法,参照图3所示,包括以下步骤:
301、云资源管理器创建虚拟网络,并将虚拟网络的网络标识信息发送至SDN控制器。
网络标识信息包括虚拟网络的网络ID,以及虚拟网络的子网信息。其中,子网信息用于标识虚拟网络的子网,虚拟网络的子网包括第一子网。
可选的,网络ID具体可以为虚拟局域网(英文全称:Virtual Local AreaNetwork,英文简称:VLAN)ID或者虚拟可扩展局域网(英文全称:Virtual ExtensibleLocal Area Network,英文简称:VxLAN)ID。虚拟网络的子网信息用于指示虚拟网络所包括的各个子网,具体可以包括各个子网的IP地址以及子网掩码。
302、云资源管理器指示网络节点创建路由器,并配置路由器的连接状态。
其中,配置路由器的连接状态是指,将路由器与虚拟网络内的部分或者全部子网连接,或者还可以进一步将路由器与外部网络连接。
以第一子网为例,将路由器与第一子网连接是指,为路由器添加子网接口,该子网接口的IP地址就是第一子网的网关地址。其中第一子网为虚拟网络的任一子网。类似地,将路由器与外部网络连接是指,为路由器添加外部网络接口。
可选的,在一种具体的应用场景中,虚拟网络需要进行浮动IP方式南北向通信或者SNAT方式南北向通信时,还可以进一步为路由器创建命名空间(Name Space)。若虚拟网络只需要进行直连网络方式南北向通信,则无需为路由器创建命名空间。
303、网络节点将路由器信息发送至SDN控制器。
其中,路由器信息用于指示路由器的连接状态。具体用于指示路由器与虚拟网络中的哪些子网连接,以及是否与外部网络连接。
304、云资源管理器指示计算节点创建虚拟机,并将该虚拟机与虚拟网络的子网连接。
305、计算节点将虚拟机信息发送至SDN控制器。
其中,虚拟机信息用于指示虚拟机所连接的子网。
通过步骤301-305,SDN控制器获取虚拟网络的网络标识信息、路由器信息以及虚拟机信息,这些信息描述了虚拟网络的拓扑结构,包括虚拟网络内的子网与路由器之间的连接关系,子网所连接的虚拟机,以及虚拟网络与外部网络的连接状态。
306、当SDN控制器确定虚拟机所连接的子网为第一子网,且第一子网与路由器连接,且路由器与外部网络连接时,将网络标识信息、路由器信息以及虚拟机信息发送至虚拟机所在的计算节点,以指示计算节点创建分布式网关。
其中,分布式网关用于对虚拟专用网络VPN报文进行转发,VPN报文是指虚拟机进行直连网络方式南北向通信时的数据报文。
SDN控制器根据虚拟网络的拓扑结构进行判断,确定是否建立分布式网关。具体的,如果路由器与外部网络没有连接,即没有为路由器配置外部网络接口,表示虚拟机没有进行直连网络方式南北向通信的需求,则无需建立分布式网关。如果路由器与外部网络连接,表示虚拟机有进行直连网络方式南北向通信的需求,则建立分布式网关。
307、SDN控制器对分布式网关进行配置。
对分布式网关进行配置,经过配置后分布式网关即可对VPN报文进行转发。对分布式网关的配置包括三点,为分布式网关添加下行接口,为分布式网关添加上行接口,以及为分布式网关设置转发策略。
分布式网关下行接口,是分布式网关与虚拟网络子网的接口,本实施例仅针对第一子网进行说明。SDN控制器根据网络标识信息确定第一子网在虚拟网络内所属的网段,然后为分布式网关添加下行接口,下行接口的I P地址为第一子网的网关地址。
分布式网关的上行接口,是分布式网关与CE路由器的接口。SDN控制器为分布式网关添加上行接口,上行接口为外部网络的接口,且与CE路由器下行接口属于同一外部网络,这样,分布式网关就可以与CE路由器进行VPN报文转发。
分布式网关的转发策略,即分布式网关对VPN报文进行转发的规则。可选的,转发策略具体可以是路由表的形式实现。或者通过OpenFlow流表的形式实现。基于OpenFlow的转发规则更加灵活,适用面更广,计算节点无需支持Name Space,也无需具备IP路由的能力,因此降低了对计算节点的要求。具体的,SDN控制器根据网络标识信息为分布式网关设置转发策略,转发策略包括:从虚拟机接收到的VPN报文,下一跳地址为CE路由器的下行接口的地址;从CE路由器的下行接口接收到的VPN报文,目的地址为虚拟机的地址。
308、SDN控制器指示网络节点创建路由信息发布模块,通过路由信息发布模块向CE路由器动态发布虚拟机的路由信息。
步骤307中,分布式网关接收到VPN报文后,根据分布式网关的转发策略,完成VPN报文从分布式网关向CE路由器的转发。
步骤308中,SDN控制器指示网络节点创建路由信息发布模块,并将虚拟机的路由信息动态发送至路由信息发布模块,由路由信息发布模块向CE路由器发布虚拟机的路由信息,以便于CE路由器维护更新CE路由表,CE路由表记录的内容包括,从外部网络接收到的VPN报文,下一跳地址为分布式网关上行接口的地址。CE路由器接收到通信对端发送的VPN报文后,根据CE路由表完成VPN报文从CE路由器到分布式网关的转发。
路由信息发布模块包括路由代理(英文全称:Routing Agent)和路由信息发布器实例。指示网络节点创建路由信息发布模块,具体是指创建路由信息发布器实例,为路由信息发布器实例配置独立的地址空间,并将路由信息发布器实例与路由代理连接。
其中,路由代理用于和SDN控制器进行通信,获取虚拟机的路由信息。路由代理获取的虚拟机的路由信息,经路由信息发布器实例根据动态路由协议进行封装后向CE路由器发布。动态路由协议具体可以是边界网关协议(英文全称:Border Gateway Protocol,英文简称:BGP)。一个路由信息发布器实例可以向CE路由器发布虚拟网络内不同子网的多台虚拟机的路由信息。
向CE路由器动态发布虚拟机的路由信息,是指当虚拟机的路由信息有更新时,就向CE路由器发布更新的虚拟机的路由信息。例如在虚拟机创建、迁移或者撤销之后,SDN控制器通过路由信息发布模块向CE路由器发布更新的虚拟机的路由信息。
优选的,如图4所示,在一种具体的应用场景中,路由信息发布模块可以包括多个路由信息发布器实例,每个路由信息发布器实例配置独立的地址空间。同时,CE路由器通过VPN路由转发(英文全称:VPN Routing and Forwarding,英文简称:VRF)功能创建多个路由器实例,路由器实例与路由信息发布器实例一一对应。图4中,路由器实例1与路由信息发布器实例1对应,路由器实例2与路由信息发布器实例2对应。
路由信息发布器实例1将可以将N个虚拟网络内虚拟机的路由信息向路由器实例1发布,其中N为大于等于1的整数。这样,这N个虚拟网络共享路由器实例1,或者说路由器实例1为这N个虚拟网络提供路由服务。
同样地,路由信息发布器实例2也可以为至少一个虚拟网络提供路由服务。在云计算应用场景中,通常为一个租户配置一个路由器实例,该路由器实例为该租户的至少一个虚拟网络提供路由服务。不同路由器实例为不同租户的虚拟网络提供路由服务。
309、虚拟机通过分布式路由器和CE路由器与通信对端进行直连网络方式南北向通信。
结合图5,对虚拟机与通信对端进行直连网络方式南北向通信时,VPN报文的转发过程进行举例说明。
图5中,虚拟机的IP地址为192.168.100.6,媒体访问控制(英文全称:MediaAccess Control,英文简称:MAC)地址为1122-3344-6666。
分布式网关下行接口,即第一子网的网关为192.168.100.1,MAC地址为1122-3344-5555。
分布式网关的上行接口,即分布式网关与CE路由器的接口,IP地址为192.168.120.3,MAC地址为1122-3344-3333。
CE路由器下行接口,IP地址为192.168.120.1,MAC地址为1122-3344-1111。
通信对端的IP地址为192.168.200.35。通信对端与CE路由器之间通过穿过公网的VPN连接。
虚拟机向通信对端发送VPN报文过程:
虚拟机通过地址解析协议(英文全称:Address Resolution Protocol,英文简称:ARP)请求分布式网关下行接口MAC地址。获取到分布式网关下行接口MAC地址后,向分布式网关发送VPN报文,VPN报文的报头内容如表一所示,其中,虚拟网络的VLAN ID为500,外部网络的VLAN ID为100。
分布式网关接收到虚拟机发送的VPN数据报文后,根据目的IP查询转发策略(分布式网关的路由表或者OpenFlow流表),确定下一跳地址为CE路由器的下行接口的地址,则将源MAC修改为分布式网关的上行接口MAC地址,目的MAC修改为CE路由器下行接口MAC地址。同时将虚拟网络的VLAN ID修改为外部网络的VLAN ID。然后将VPN报文通过分布式网关的上行接口发送至CE路由器下行接口。这样,分布式网关就将虚拟机发出的VPN报文从虚拟网络(VLAN ID 500)转发到了外部网络(VLAN ID100),并最终通过VPN穿过公网,被发送至通信对端。
通信对端向虚拟机发送VPN报文过程:
通信对端发送的VPN报文到达CE路由器后,根据CE路由表确定下一跳地址为分布式网关上行接口的地址,则将源MAC修改为CE路由器下行接口MAC地址,目的MAC修改为分布式网关的上行接口MAC地址,然后将VPN报文通过CE路由器下行接口发送至分布式网关上行接口。
分布式网关接收到CE路由器发送的VPN数据报文后,根据目的IP确定虚拟机所连接的虚拟网络子网,将源MAC修改为分布式网关下行接口MAC地址,目的MAC修改为虚拟机MAC地址,同时将外部网络的VLAN ID修改为虚拟网络的VLAN ID,然后将VPN报文通过分布式网关下行接口发送至虚拟机。
表一
310、SDN控制器从网络节点获取更新的路由器信息。
当路由器的连接状态发生变化时,例如,第一子网与路由器断开连接,或者路由器与外部网络断开连接,则网络节点向SDN控制器上报更新的路由器信息。
311、根据更新的路由器信息,当第一子网与路由器之间的连接断开时,或者路由器与外部网络之间的连接断开时,SDN控制器撤销分布式网关。
312、SDN控制器从计算节点获取更新的虚拟机信息。
当虚拟机的连接状态发生变化时,例如虚拟机与第一子网的连接断开,包括创建新的虚拟机,或已有的虚拟机撤销、迁移的情况。此时,计算节点向SDN控制器上报更新的虚拟机信息。
313、根据更新的虚拟机信息,当虚拟机与第一子网的连接断开时,撤销分布式网关。
虚拟机与第一子网的连接断开,包括虚拟机撤销、迁移的情况。当然,在第一子网有多个虚拟机位于计算节点内的应用场景中,当计算节点内第一子网的全部虚拟机均与第一子网断开时,SDN控制器撤销分布式网关。
结合步骤306,如果虚拟机没有进行直连网络方式南北向通信的需求,则可以撤销分布式网关。只在需要进行直连网络方式南北向通信的计算节点上创建分布式网关,以尽可能地减小外部网络的规模,节约计算节点的软硬件资源。
本发明的实施例所提供的数据传输方法,SDN控制器通过从云资源管理器获取虚拟网络的网络标识信息,从网络节点获取路由器信息,从计算节点获取虚拟机信息,并根据网络标识信息、路由器信息和虚拟机信息进行判断,当确定虚拟机所连接的子网为第一子网,第一子网与路由器连接,且路由器与外部网络连接时,在计算节点上创建分布式网关,并对分布式网关进行配置,从而通过分布式网关对VPN报文进行转发。VPN报文无需依赖现有的集中式处理方案进行转发。进一步地,在同一计算节点上的属于同一虚拟网络或者不同虚拟网络的多个虚拟机,可以共用同一分布式网关。对于一个分布式网关,由于其只负责对所在计算节点上虚拟机的VPN报文进行转发,工作负荷小,分布式网关足以对这些虚拟机的VPN报文进行高效率的转发,避免了出现VPN报文拥堵的情况,减少了通信时延。
实施例三
基于实施例一及实施例二所提供的数据传输方法,本发明的实施例三提供一种虚拟网络管理装置,用于执行上述实施例中SDN控制器所完成的功能。结合图6所示,虚拟网络管理装置600包括:
虚拟网络管理模块601,用于获取虚拟网络的网络标识信息,网络标识信息包括虚拟网络的子网信息,子网信息用于标识虚拟网络的子网,虚拟网络的子网包括第一子网。
网络节点管理模块602,用于获取路由器信息,路由器信息用于指示路由器与虚拟网络的子网之间的连接状态,以及路由器与外部网络之间的连接状态。
计算节点管理模块603,用于获取虚拟机信息,虚拟机信息用于指示虚拟机所连接的子网。
当计算节点管理模块603确定虚拟机所连接的子网为第一子网,且第一子网与路由器连接,且路由器与外部网络连接时,将网络标识信息、路由器信息以及虚拟机信息发送至虚拟机所在的计算节点,以指示计算节点创建网关,并对网关进行配置,网关用于对虚拟专用网络VPN报文进行转发。
可选的,计算节点管理模块603,具体用于,
根据网络标识信息为网关添加下行接口,下行接口的网络互连协议I P地址为第一子网的网关地址。
为网关添加上行接口,上行接口为外部网络的接口,用于与用户边缘CE路由器进行VPN报文转发。
根据网络标识信息为网关设置转发策略,转发策略包括:从虚拟机接收到的VPN报文,下一跳地址为CE路由器的下行接口的地址;从CE路由器的下行接口接收到的VPN报文,目的地址为虚拟机的地址。
可选的,网络节点管理模块602,还用于创建路由信息发布模块,通过路由信息发布模块向CE路由器发布虚拟机的路由信息,以便于CE路由器维护更新CE路由表,CE路由表记录的内容包括从外部网络接收到的VPN报文,下一跳地址为网关上行接口的地址。
可选的,网络节点管理模块602,具体用于创建路由信息发布器实例,为路由信息发布器实例配置独立的地址空间,并将路由信息发布器实例与路由代理连接,路由信息发布器实例用于通过动态路由协议向CE路由器上对应的路由器实例发送虚拟机的路由信息。
可选的,网络节点管理模块602,具体用于在虚拟机创建、迁移或者撤销之后,通过路由信息发布模块向CE路由器发布更新的虚拟机的路由信息。
可选的,网络节点管理模块602,还用于获取更新的路由器信息。
计算节点管理模块603,还用于根据更新的路由器信息,当第一子网与路由器之间的连接断开时,或者路由器与外部网络之间的连接断开时,撤销网关。
计算节点管理模块603,还用于从计算节点获取更新的虚拟机信息。
计算节点管理模块603,还用于根据更新的虚拟机信息,当虚拟机与第一子网之间的连接断开时,撤销网关。
本发明的实施例所提供的虚拟网络管理装置,通过从云资源管理器获取虚拟网络的网络标识信息,从网络节点获取路由器信息,从计算节点获取虚拟机信息,并根据网络标识信息、路由器信息和虚拟机信息进行判断,当确定虚拟机所连接的子网为第一子网,第一子网与路由器连接,且路由器与数据中心外部网络连接时,在计算节点上创建分布式网关,并对分布式网关进行配置,从而通过分布式网关对VPN报文进行转发。VPN报文无需依赖现有的集中式处理方案进行转发。进一步地,在同一计算节点上的属于同一虚拟网络或者不同虚拟网络的多个虚拟机,可以共用同一分布式网关。对于一个分布式网关,由于其只负责对所在计算节点上虚拟机的VPN报文进行转发,工作负荷小,分布式网关足以对这些虚拟机的VPN报文进行高效率的转发,避免了出现VPN报文拥堵的情况,减少了通信时延。
实施例四
本发明的实施例四提供一种数据传输系统,参照图7所示,数据传输系统70包括:云资源管理器701,虚拟网络管理装置702,网络节点703和计算节点704,用于完成实施例二中各执行主体对应的功能,实现实施例二所提供的数据传输方法。
其中,云资源管理器701,用于创建虚拟网络,并将虚拟网络的网络标识信息发送至虚拟网络管理装置702,网络标识信息包括虚拟网络的子网信息,子网信息用于标识虚拟网络的子网,虚拟网络的子网包括第一子网。
云资源管理器701,还用于指示网络节点703创建路由器,并配置路由器与虚拟网络的子网之间的连接状态,以及路由器与外部网络之间的连接状态。
网络节点703,用于将路由器信息发送至虚拟网络管理装置702,路由器信息用于指示路由器与虚拟网络的子网之间的连接状态,以及路由器与外部网络之间的连接状态。
云资源管理器701,还用于指示计算节点704创建虚拟机,并将虚拟机与虚拟网络的子网连接。
计算节点704,还用于将虚拟机信息发送至虚拟网络管理装置702,虚拟机信息用于指示虚拟机所连接的子网。
当虚拟网络管理装置702确定虚拟机所连接的子网为第一子网,且第一子网与路由器连接,且路由器与外部网络连接时,将网络标识信息、路由器信息以及虚拟机信息发送至虚拟机所在的计算节点704,以指示计算节点704创建网关,并对网关进行配置,网关用于对虚拟专用网络VPN报文进行转发。
可选的,虚拟网络管理装置702,具体用于,
根据网络标识信息为网关添加下行接口,下行接口的网络互连协议IP地址为第一子网的网关地址。
为网关添加上行接口,上行接口为外部网络的接口,用于与用户边缘CE路由器进行VPN报文转发。
根据网络标识信息为网关设置转发策略,转发策略包括:从虚拟机接收到的VPN报文,下一跳地址为CE路由器的下行接口的地址;从CE路由器的下行接口接收到的VPN报文,目的地址为虚拟机的地址。
可选的,虚拟网络管理装置702,还用于指示网络节点703创建路由信息发布模块,并将虚拟机的路由信息发送至路由信息发布模块。
路由信息发布模块,用于向CE路由器发布虚拟机的路由信息,以便于CE路由器维护更新CE路由表,CE路由表记录的内容包括从外部网络接收到的VPN报文,下一跳地址为网关上行接口的地址。
可选的,虚拟网络管理装置702,具体用于指示网络节点703创建路由信息发布器实例,为路由信息发布器实例配置独立的地址空间,并将路由信息发布器实例与路由代理连接,路由信息发布器实例用于通过动态路由协议向CE路由器上对应的路由器实例发送虚拟机的路由信息。
可选的,虚拟网络管理装置702,具体用于在虚拟机创建、迁移或者撤销之后,通过路由信息发布模块向CE路由器发布更新的虚拟机的路由信息。
可选的,虚拟网络管理装置702,还用于获取更新的路由器信息,根据更新的路由器信息,当第一子网与路由器之间的连接断开时,或者路由器与外部网络的连接断开时,撤销网关。
虚拟网络管理装置702,还用于获取更新的虚拟机信息,根据更新的虚拟机信息,当虚拟机与第一子网之间的连接断开时,撤销网关。
本发明的实施例所提供的数据传输系统,虚拟网络管理装置通过从云资源管理器获取虚拟网络的网络标识信息,从网络节点获取路由器信息,从计算节点获取虚拟机信息,并根据网络标识信息、路由器信息和虚拟机信息进行判断,当确定虚拟机所连接的子网为第一子网,第一子网与路由器连接,且路由器与数据中心外部网络连接时,在计算节点上创建分布式网关,并对分布式网关进行配置,从而通过分布式网关对VPN报文进行转发。VPN报文无需依赖现有的集中式处理方案进行转发。进一步地,在同一计算节点上的属于同一虚拟网络或者不同虚拟网络的多个虚拟机,可以共用同一分布式网关。对于一个分布式网关,由于其只负责对所在计算节点上虚拟机的VPN报文进行转发,工作负荷小,分布式网关足以对这些虚拟机的VPN报文进行高效率的转发,避免了出现VPN报文拥堵的情况,减少了通信时延。
实施例五
本发明实施例五提供一种网关创建方法,该方法运用于图8所示的数据传输系统,该方法包括:
步骤802,云资源管理器发送N个子网的子网信息至SDN控制器,N为大于0的整数。
租户通过云资源管理器创建N个子网,这N个子网可以为VLAN子网或VxLAN子网或其他类型的子网。每个子网的子网信息包括:该子网对应的网络ID以及该子网的IP地址段。例如第一子网的子网信息包括:VLAN ID 500,192.168.100.0/24。
步骤804,该云资源管理器将每个子网对应的网关地址发送至该SDN控制器。网关地址具体包括:网关的IP地址与MAC地址。例如,该第一子网的网关地址包括,IP地址192.168.100.1,MAC地址1122-3344-5555。
步骤806,该云资源管理器将该N个子网对应的外部网络的IP地址段,该外部网络的网络ID,以及该外部网络对应的网关地址发送至该SDN控制器。
例如,该外部网络的IP地址段包括:192.168.120.0/24,该外部网络的网络ID为VLAN ID 100,该外部网络对应的网关地址包括:IP地址192.168.10 120.1,MAC地址1122-3344-1111。
该外部网络实际可以为VPN为本数据传输系统分配的多个外部网络中的一个。本数据传输系统的每个租户均被分配了一个IP地址段,作为该租户的外部网络。该外部网络用于在该租户所属的分布式网关和CE路由器之间路由报文。
步骤804和步骤806的执行顺序可以互换,或者步骤802、步骤804、步骤806可以合并为同一步骤,或者步骤804和步骤806可以合并为同一步骤。
可选的,该数据中心中实际可能存在多个租户,因此云资源管理器向SDN控制器发送各类信息时还需要发送租户标识。同一租户所属的子网对应的外部网络的IP地址段以及该外部网络对应的网关地址相同。一个租户的外部网络对应的网关地址实际为该租户在CE路由器上对应的下行接口的地址。
步骤806后,该SDN控制器内存储有各个租户对应的子网的子网信息,每个子网对应的网关地址,外部网络的IP地址段,外部网络的网络ID以及该外部网络对应的网关地址。
例如:
租户1子网信息11子网的网关地址11外部网络的IP地址段1外部网络的网络ID1外部网络的网关地址1
其中,子网信息11包括VLAN ID 500,192.168.10 0.0/24;子网的网关地址11为IP地址192.168.100.1,MAC地址1122-3344-5555;外部网络的IP地址段1为192.168.120.0/24;外部网络的网络ID为VLAN ID100;外部网络的网关地址1为IP地址192.168.10 120.1,MAC地址1122-3344-1111。
租户1子网信息12子网的网关地址12外部网络的IP地址段1外部网络的网络ID1外部网络的网关地址1
…
租户1子网信息1N子网的网关地址1N外部网络的IP地址段1外部网络的网络ID1外部网络的网关地址1
租户2子网信息21子网的网关地址21外部网络的IP地址段2外部网络的网络ID2外部网络的网关地址2
…
租户3子网信息31子网的网关地址31外部网络的IP地址段3外部网络的网络ID3外部网络的网关地址3
….
步骤808,该云资源管理器指示一个计算节点创建VM。
示例性的,以步骤808中在计算节点1上创建VM-1为例,该VM-1的IP地址为192.168.100.6,MAC地址为1122-3344-6666。该VM-1属于租户1。
步骤808中,该云资源管理器除了将待创建的VM的IP地址和MAC地址发送至计算节点之外,还将该VM所在子网对应的子网信息也发送至计算节点。
步骤810,该计算节点向该SDN控制器发送VM创建消息。该VM创建消息指示该SDN控制器该计算节点上创建完成该VM。
计算节点1创建成功VM-1后,通知该SDN控制器VM-1创建完成,SDN控制器获取VM-1的IP地址。
该VM-1的IP地址具体可以携带于计算节点1发送给该SDN控制器的该VM创建消息中。
步骤812,该SDN控制器确定该VM所在子网对应的信息,包括子网的网关地址,外部网络的IP地址段,外部网络的网络ID,外部网络的网关地址。
步骤814,该SDN控制器确定该外部网络的IP地址以及该IP地址对应的MAC地址。
该SDN控制器从该外部网络的IP地址段中分配IP地址,并且分配一个对应于该IP地址的MAC地址。
或者,该SDN控制器请求该云资源管理器从该外部网络的IP地址段中分配IP地址,并且分配一个对应于该IP地址的MAC地址。
以步骤808中创建VM-1为例,步骤810中,该SDN控制器获知VM-1的IP地址为192.168.100.6。步骤812中,该SDN控制器根据VM-1的IP地址确定VM-1所在的子网对应的信息包括:子网信息VLAN ID 500,192.168.10 0.0/24;子网的网关地址IP地址192.168.100.1,MAC地址1122-3344-5555;外部网络的IP地址段192.168.120.0/24;外部网络的网络ID VLAN ID100;外部网络的网关的IP地址192.168.10 120.1,MAC地址1122-3344-1111。
该SDN控制器从192.168.120.0/24中分配IP地址,作为后续计算节点1上创建的分布式网关的上行接口的IP地址,例如为192.168.120.3。该SDN控制器还分配与该IP地址对应的MAC地址,例如为1122-3344-3333,作为计算节点1上创建的分布式网络的上行接口的MAC地址。
或者,云资源管理器统一管理整个数据传输系统中IP地址和MAC地址,则步骤814中,该SDN控制器请求该云资源管理器从192.168.120.0/24中分配IP地址,并分配该IP地址对应的MAC地址。
步骤816,该计算节点接收该VM所在子网对应的子网的网关地址,该外部网络的IP地址以及该IP地址对应的MAC地址。
步骤816中接收的信息用于在该计算节点上创建分布式网关。其中,该子网的网关地址用于创建该分布式网关对应于该VM所在子网的下行接口,该外部网络的IP地址和MAC地址用于创建该分布式网关的上行接口。
步骤818,该计算节点根据该VM所在子网对应的子网的网关地址,外部网络的IP地址和MAC地址,建立分布式网关。
步骤820,该SDN控制器生成该分布式网关的转发策略,并将该转发策略发送至该计算节点,以供该计算节点通过该转发策略配置该分布式网关。
该SDN控制器根据该外部网络对应的网关地址,该VM所在的子网的网络ID以及该外部网络的网络ID为该分布式网关配置转发策略。
由于该分布式网关将该VM所在的子网发出的报文发送至该外部网络的过程中,该报文跨越了子网,也即该报文携带的网络ID由该VM所在的子网的网络ID转换为该外部网络的网络ID。
该VM所在的子网的网络标识ID以及该外部网络的网络ID用于设置该转发策略。该转发策略包括将该VM发出的第一VPN报文转换为第二VPN报文,该第一VPN报文中携带该VM所在的子网的网络标识ID,该第二VPN报文中携带该外部网络的网络ID。
该转发策略除了用于修改报文携带的网络ID之外,还需要指示报文的路由路径。
该外部网络的MAC地址和该外部网络的网关地址用于在该分布式网关中设置该转发策略,该转发策略指示将该VM发出的报文通过该分布式网关的上行接口发送至该外部网络的网关地址,也即将VM-1发出的报文,通过该分布式网关的上行接口发送至该CE路由器上对应于租户1的下行接口。
该转发策略具体可以通过流表或路由表的形式实现。通过流表实现的情况下,该流表需要将VM发出的报文的源MAC地址修改为该分布式网络上行接口的MAC地址,将该报文的目的MAC地址修改为该CE路由器上对应于该VM所属的租户对应的下行接口的MAC地址,还将该报文携带的该VM所属子网的网络ID修改为该VM所属的租户对应的外部网络的网络ID。
在步骤814后,该SDN控制器获知该VM的IP地址,同时该SDN控制器也获知该分布式网关的上行接口的IP地址和MAC地址,因此该SDN控制器需要向CE路由器发布该VM的路由信息,以指示该CE路由器将到发往该VM的报文发送至该分布式网关的上行接口。
步骤822,该SDN控制器通过路由信息发布模块向CE路由器发布路由信息,该路由信息指示该CE路由器将到目的地为该VM的报文发送至该分布式网关的上行接口。
该路由信息发布模块可以部署于SDN控制器内部,或部署于任一计算节点。该路由信息具体可以指示发往该VM的报文的下一跳为该分布式网关的上行接口的IP地址。
该路由信息发布模块的具体实现方式,参考前述实施例中与图4对应的部分。
步骤822在步骤814之后任意时刻执行,分布式网关的建立过程与向CE路由器的路由发布过程也可以同步进行。
除了前述新建VM的场景,在已经建立的VM发生迁移情况下,该SDN控制器也可以通过该路由信息发布模块向CE路由器发布迁移后的VM的路由信息,或者在已经建立的VM撤销的情况下,该SDN控制器通知CE路由器将该撤销的VM的路由信息删除。
步骤824,该SDN控制器确定该计算节点上属于该VM所属的租户的全部VM均撤销,则指示该计算节点撤销该分布式网关。
前述步骤808至步骤818中介绍了一个租户在一个计算节点上建立的第一个VM后,该SDN控制器为该租户在该计算节点上建立分布式网关的过程。实际中,若该数据传输系统中还包括其他租户,并且其他租户也在该计算节点上建立了VM,则该SDN控制器还需要为每个在该计算节点上建立的VM的租户建立一个分布式网关。
该SDN控制器管理了该数据传输系统中,每个租户所属的每个VM建立于哪个计算节点。因此,当该SDN控制器确认某一租户在某一计算节点上的全部VM均撤销,则该SDN控制器指示该计算节点将之前建立的分布式网关撤销。
步骤824的执行与前述步骤没有时序关系,也即该SDN控制器在为新建的VM建立分布式网关的同时,也可以监控每个租户在每个计算节点上所属VM的运行情况,一旦发现有某一租户在某一计算节点上的全部VM均撤销,则该SDN控制器指示该计算节点将之前建立的分布式网关撤销。
步骤824的执行,使得如果某一计算节点上属于某一租户的全部VM都被撤销,则可以删除该计算节点上属于该租户的分布式网关,释放该计算节点的资源,提升了计算节点的资源的使用效率。同时也可以释放出该分布式网关占用的该租户对应的外部网络的IP和MAC地址,提升外部网络的地址的使用效率。
本发明的实施例所提供的方法,在计算节点上创建分布式网关,并对分布式网关进行配置,从而通过分布式网关对VPN报文进行转发。VPN报文无需依赖现有的集中式处理方案进行转发,提升了VPN报文的处理效率。
以上提供的数据传输系统中,VM发出的VPN报文的处理过程和VM接收到VPN报文的处理过程参考前述图5对应的实施例。
前述附图中的虚拟网络管理装置或SDN控制器可以通过计算设备1000实现。计算设备1000的组织结构示意图如图9所示,包括处理器1002、存储器1004,还可以包括总线1008、通信接口1006。
其中,处理器1002、存储器1004和通信接口1006可以通过总线1008实现彼此之间的通信连接,也可以通过无线传输等其他手段实现通信。
处理器1002可以为中央处理器(英文:central processing unit,缩写:CPU)。
存储器1004可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器,HDD或SSD;存储器204还可以包括上述种类的存储器的组合。用于实现本申请图8提供的方法中SDN控制器执行的部分的程序代码保存在存储器1004中,并由处理器1002来执行。计算设备1000通过通信接口1006与数据传输网络中其他节点以及云资源管理通信。
基于实施例五所提供的数据传输方法,本发明的实施例提供一种虚拟网络管理装置,用于执行上述实施例中SDN控制器所完成的功能。如图10所示,虚拟网络管理装置1200包括:处理模块1202,发送模块1204,以及接收模块1206。
虚拟网络管理装置1200可以通过专用集成电路(英文:application-specificintegrated circuit,缩写:ASIC)实现,或可编程逻辑器件(英文:programmable logicdevice,缩写:PLD)实现。上述PLD可以是复杂可编程逻辑器件(英文:complexprogrammable logic device,缩写:CPLD),现场可编程门阵列(英文:field programmablegate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。
接收模块1206,用于接收云资源管理器发送的N个子网的子网信息,每个子网对应的网关地址,该N个子网对应的外部网络的IP地址段,该外部网络的网络ID,以及该外部网络对应的网关地址。
接收模块1206将接收的N个子网的子网信息,每个子网对应的网关地址,该N个子网对应的外部网络的IP地址段,该外部网络的网络ID,以及该外部网络对应的网关地址发送至处理模块1202。
接收模块1206,还用于接收VM创建消息。
处理模块1202,用于确定该VM所在子网对应的信息,包括子网的网关地址,外部网络的IP地址段,外部网络的网络ID,外部网络的网关地址,并确定该外部网络的IP地址以及该IP地址对应的MAC地址。
发送模块1204,还用于将该VM所在子网对应的子网的网关地址,该外部网络的IP地址以及该IP地址对应的MAC地址发送至创建该VM的计算节点。
处理模块1202,还用于该SDN控制器根据该外部网络对应的网关地址,该VM所在的子网的网络标识ID以及该外部网络的网络ID生成转发策略。
发送模块1204,还用于将该转发策略发送至该计算节点。
可选的,处理模块1202,还用于生成该VM的路由信息,该路由信息用于指示该CE路由器将目的地为该VM的报文发送至该网关的上行接口。发送模块1204,还用于向该CE路由器发布该VM的路由信息。
处理模块1202和发送模块1204的以上功能参考实施例五中的步骤822。
可选的,处理模块1202,还用于确定该计算节点上属于该VM所属的租户的全部VM均撤销。发送模块1204,还用于指示该计算节点撤销该网关。
处理模块1202和发送模块1204的以上功能参考实施例五中的步骤824。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存储器(英文全称:Random AccessMemory,英文简称:RAM)、只读存储器(英文全称:Read Only Memory,英文简称:ROM)、电可擦可编程只读存储器(英文全称:Electrically Erasable Programmable Read OnlyMemory,英文简称:EEPROM)、只读光盘(英文全称:Compact Disc Read Only Memory,英文简称:CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户专线(英文全称:Digital Subscriber Line,英文简称:DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘和碟包括压缩光碟(英文全称:Compact Disc,英文简称:CD)、激光碟、光碟、数字通用光碟(英文全称:Digital Versatile Disc,英文简称:DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (9)
1.一种网关创建方法,其特征在于,包括:
虚拟网络管理装置确定计算节点上建立的虚拟机VM所在的子网;
所述虚拟网络管理装置确定所述VM所在的子网对应的网关地址,所述VM所在的子网的网络标识ID,所述VM所属租户对应的外部网络的IP地址段,所述外部网络的网络ID,以及所述外部网络对应的网关地址;
所述虚拟网络管理装置确定所述外部网络的IP地址以及所述外部网络的IP地址对应的媒体访问控制MAC地址,所述外部网络的IP地址属于所述外部网络的IP地址段;
所述虚拟网络管理装置将所述VM所在的子网对应的网关地址,所述外部网络的IP地址与所述外部网络的IP地址对应的MAC地址发送至所述计算节点,并指示所述计算节点创建网关;
所述网关配置有上行接口和下行接口,所述网关的上行接口的地址包括所述外部网络的IP地址与所述外部网络的IP地址对应的MAC地址,所述网关的上行接口用于与用户边缘CE路由器的下行接口通信,所述CE路由器的下行接口的地址为所述外部网络对应的网关地址,所述网关的下行接口的地址为所述VM所在的子网对应的网关地址,所述网关的下行接口用于与所述VM所在的子网通信;
所述虚拟网络管理装置根据所述外部网络对应的网关地址,所述VM所在的子网的网络ID以及所述外部网络的网络ID为所述网关配置转发策略,所述转发策略指示所述网关将所述VM发出的第一VPN报文转换为第二VPN报文,所述第一VPN报文中携带所述VM所在的子网的网络ID,所述第二VPN报文中携带所述外部网络的网络ID,所述转发策略还指示所述网关将所述第二VPN报文通过所述网关的上行接口发送至所述CE路由器的下行接口。
2.如权利要求1所述的方法,其特征在于,所述虚拟网络管理装置确定计算节点上建立的VM所在的子网之前,所述方法还包括:
所述虚拟网络管理装置获取N个子网的子网信息,每个子网的子网信息包括网络ID和IP地址段,N为大于0的整数,所述N个子网均属于所述租户;
所述虚拟网络管理装置获取所述每个子网对应的网关地址,所述外部网络的IP地址段,所述外部网络的网络ID,以及所述外部网络对应的网关地址;
所述虚拟网络管理装置确定计算节点上建立的VM所在的子网包括:
所述虚拟网络管理装置获取所述VM的IP地址,根据所述VM的IP地址确定所述VM所在的子网。
3.如权利要求1或2所述的方法,其特征在于,还包括:
所述虚拟网络管理装置向所述CE路由器发布所述VM的路由信息,所述路由信息用于指示所述CE路由器将目的地为所述VM的报文发送至所述网关的上行接口。
4.如权利要求1或2所述的方法,其特征在于,还包括:
所述虚拟网络管理装置确定所述计算节点上属于所述租户的全部VM均撤销;
所述虚拟网络管理装置指示所述计算节点撤销所述网关。
5.一种虚拟网络管理装置,其特征在于,包括:
处理模块,用于确定计算节点上建立的虚拟机VM所在的子网,并确定所述VM所在的子网对应的网关地址,所述VM所在的子网的网络标识ID,所述VM所属租户对应的外部网络的IP地址段,所述外部网络的网络ID,以及所述外部网络对应的网关地址,以及确定所述外部网络的IP地址以及所述外部网络的IP地址对应的媒体访问控制MAC地址,所述外部网络的IP地址属于所述外部网络的IP地址段;
发送模块,用于将所述VM所在的子网对应的网关地址,所述外部网络的IP地址与所述外部网络的IP地址对应的MAC地址发送至所述计算节点,并指示所述计算节点创建网关,所述网关配置有上行接口和下行接口,所述网关的上行接口的地址包括所述外部网络的IP地址与所述外部网络的IP地址对应的MAC地址,所述网关的上行接口用于与用户边缘CE路由器的下行接口通信,所述CE路由器的下行接口的地址为所述外部网络对应的网关地址,所述网关的下行接口的地址为所述VM所在的子网对应的网关地址,所述网关的下行接口用于与所述VM所在的子网通信;
所述处理模块,还用于根据所述外部网络对应的网关地址,所述VM所在的子网的网络ID以及所述外部网络的网络ID生成转发策略,所述转发策略指示所述网关将所述VM发出的第一VPN报文转换为第二VPN报文,所述第一VPN报文中携带所述VM所在的子网的网络ID,所述第二VPN报文中携带所述外部网络的网络ID,所述转发策略还指示所述网关将所述第二VPN报文通过所述网关的上行接口发送至所述CE路由器的下行接口;
所述发送模块,还用于将所述转发策略发送至所述计算节点。
6.如权利要求5所述的装置,其特征在于,还包括:
接收模块,用于获取N个子网的子网信息,每个子网的子网信息包括网络ID和IP地址段,N为大于0的整数,所述N个子网均属于所述租户,以及用于获取所述每个子网对应的网关地址,所述外部网络的IP地址段,所述外部网络的网络ID,以及所述外部网络对应的网关地址;
所述处理模块,具体用于获取所述VM的IP地址,根据所述VM的IP地址确定所述VM所在的子网。
7.如权利要求5或6所述的装置,其特征在于,所述处理模块,还用于生成所述VM的路由信息,所述路由信息用于指示所述CE路由器将目的地为所述VM的报文发送至所述网关的上行接口;
所述发送模块,还用于向所述CE路由器发布所述VM的路由信息。
8.如权利要求5或6所述的装置,其特征在于,所述处理模块,还用于确定所述计算节点上属于所述租户的全部VM均撤销;
所述发送模块,还用于指示所述计算节点撤销所述网关。
9.一种计算设备,其特征在于,包括处理器、存储器,所述处理器与所述存储器建立通信连接;
所述处理器用于读取所述存储器中的程序执行如权利要求1至4任一项所述的网关创建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/096372 WO2017032300A1 (zh) | 2015-08-25 | 2016-08-23 | 一种数据传输方法、虚拟网络管理装置及数据传输系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510526841 | 2015-08-25 | ||
CN2015105268410 | 2015-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106487695A CN106487695A (zh) | 2017-03-08 |
CN106487695B true CN106487695B (zh) | 2019-10-01 |
Family
ID=58273277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610698151.8A Active CN106487695B (zh) | 2015-08-25 | 2016-08-19 | 一种数据传输方法、虚拟网络管理装置及数据传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106487695B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871740B (zh) * | 2016-06-27 | 2019-04-23 | 联想(北京)有限公司 | 一种分布式网络的通信方法、系统和控制节点 |
CN109275151B (zh) * | 2017-07-17 | 2020-12-08 | 华为技术有限公司 | 一种通信方法、设备和系统 |
CN109274570B (zh) * | 2017-07-18 | 2021-04-20 | 中国电信股份有限公司 | Vpn的构建方法、装置和计算机可读存储介质 |
CN107547403B (zh) * | 2017-07-26 | 2020-11-06 | 新华三技术有限公司 | 报文转发方法、协助方法、装置、控制器及主机 |
CN108011759B (zh) * | 2017-12-05 | 2021-06-18 | 锐捷网络股份有限公司 | 一种vpn管理方法、装置及系统 |
CN108429680B (zh) * | 2018-03-07 | 2020-09-15 | 北京青云科技股份有限公司 | 一种基于虚拟私有云的路由配置方法、系统、介质及设备 |
CN111049697B (zh) * | 2018-10-12 | 2023-05-30 | 中兴通讯股份有限公司 | 一种网络链路质量监测方法和装置 |
CN111327531B (zh) * | 2018-12-17 | 2022-08-02 | 中兴通讯股份有限公司 | 基于vdc的路由配置方法、装置、设备及可读存储介质 |
CN110336730B (zh) * | 2019-07-09 | 2022-01-18 | 腾讯科技(深圳)有限公司 | 一种网络系统及数据传输方法 |
CN110581800B (zh) * | 2019-08-23 | 2021-07-02 | 苏州浪潮智能科技有限公司 | 一种创建虚拟路由器接口的方法及装置、存储介质和设备 |
CN110752989A (zh) * | 2019-10-18 | 2020-02-04 | 苏州浪潮智能科技有限公司 | 一种东西向流量转发方法与装置 |
CN112751766B (zh) * | 2019-10-30 | 2023-07-11 | 华为技术有限公司 | 报文转发方法和系统、相关设备和芯片 |
CN110944044B (zh) * | 2019-11-20 | 2020-11-13 | 广州市品高软件股份有限公司 | 一种分布式api网关系统及其实现方法 |
CN113709200B (zh) * | 2020-05-21 | 2023-11-28 | 阿里巴巴集团控股有限公司 | 一种建立通信连接的方法及装置 |
US11870677B2 (en) * | 2020-06-04 | 2024-01-09 | Juniper Networks, Inc. | Liveness detection and route convergence in software-defined networking distributed system |
CN113472753B (zh) * | 2021-06-12 | 2023-03-24 | 广州鲁邦通智能科技有限公司 | 一种多租户网络隔离的方法、数据中心和通信系统 |
CN113973028A (zh) * | 2021-10-26 | 2022-01-25 | 亿次网联(杭州)科技有限公司 | 一种vpn通信方法、虚拟网卡、节点设备及存储介质 |
CN114338397B (zh) * | 2021-12-27 | 2023-11-03 | 中国联合网络通信集团有限公司 | 云平台网络配置方法、装置、服务器、存储介质及系统 |
CN114666395B (zh) * | 2022-03-29 | 2024-03-08 | 青岛海信移动通信技术有限公司 | 双系统网络共享的方法及装置 |
CN115118655B (zh) * | 2022-06-21 | 2023-12-12 | 阿里巴巴(中国)有限公司 | 跨网络报文转发方法、装置、电子设备及可读存储介质 |
CN115150327B (zh) * | 2022-06-29 | 2024-06-14 | 郑州浪潮数据技术有限公司 | 一种接口设置方法、装置、设备及介质 |
CN115473766B (zh) * | 2022-08-22 | 2024-01-26 | 苏州思萃工业互联网技术研究所有限公司 | 一种基于分布式网关的vip实现方法和系统 |
CN117040933B (zh) * | 2023-10-09 | 2024-02-13 | 苏州元脑智能科技有限公司 | 跨区域的网络引流处理方法、安全处理方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581324A (zh) * | 2013-11-11 | 2014-02-12 | 中国联合网络通信集团有限公司 | 一种云计算资源池系统及其实现方法 |
CN104468775A (zh) * | 2014-12-05 | 2015-03-25 | 国云科技股份有限公司 | 一种适用于云计算的分布式路由器实现方法 |
CN104660479A (zh) * | 2015-02-13 | 2015-05-27 | 南京华讯方舟通信设备有限公司 | 一种组网方法以及网络系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9191327B2 (en) * | 2011-02-10 | 2015-11-17 | Varmour Networks, Inc. | Distributed service processing of network gateways using virtual machines |
US9471356B2 (en) * | 2013-06-12 | 2016-10-18 | Dell Products L.P. | Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation |
-
2016
- 2016-08-19 CN CN201610698151.8A patent/CN106487695B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581324A (zh) * | 2013-11-11 | 2014-02-12 | 中国联合网络通信集团有限公司 | 一种云计算资源池系统及其实现方法 |
CN104468775A (zh) * | 2014-12-05 | 2015-03-25 | 国云科技股份有限公司 | 一种适用于云计算的分布式路由器实现方法 |
CN104660479A (zh) * | 2015-02-13 | 2015-05-27 | 南京华讯方舟通信设备有限公司 | 一种组网方法以及网络系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106487695A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106487695B (zh) | 一种数据传输方法、虚拟网络管理装置及数据传输系统 | |
US10659358B2 (en) | Method and apparatus for advanced statistics collection | |
US10887129B2 (en) | Method and apparatus for providing a point-to-point connection over a network | |
RU2651149C2 (ru) | Sdn-контроллер, система центра обработки данных и способ маршрутизируемого соединения | |
JP5986692B2 (ja) | ネットワークデバイスのためのネットワーク機能仮想化 | |
US9331872B2 (en) | Implementing PVLANs in a large-scale distributed virtual switch | |
KR102233645B1 (ko) | 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법 | |
WO2017032300A1 (zh) | 一种数据传输方法、虚拟网络管理装置及数据传输系统 | |
US8804745B1 (en) | Virtualization mapping | |
US9363164B2 (en) | Logical inter-cloud dispatcher | |
CN108092893B (zh) | 一种专线开通方法及装置 | |
US20170264496A1 (en) | Method and device for information processing | |
WO2021007963A1 (zh) | 路由分发方法及控制器、信息路由方法及网络节点设备 | |
CN104584491A (zh) | 提供分布式虚拟路由和交换(dvrs)的系统和方法 | |
CN111263373B (zh) | 数据处理方法、控制器和转发设备 | |
TWI639325B (zh) | 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法 | |
JP2011160363A (ja) | コンピュータシステム、コントローラ、スイッチ、及び通信方法 | |
WO2017157206A1 (zh) | 云数据中心互联方法及装置 | |
WO2022110535A1 (zh) | 一种报文发送方法、设备及系统 | |
CN105490937B (zh) | 以太虚拟网络网关切换方法和服务商边缘节点设备 | |
WO2014180199A1 (zh) | 网络建立的方法及控制设备 | |
CN109688241A (zh) | 基于SDN的IPv4/IPv6双栈转换方法和系统 | |
EP3210113B1 (en) | Virtual overlay mobility using label based underlay network forwarding | |
CN115955456A (zh) | 基于IPv6的企业园区网及组网方法 | |
CN102780701B (zh) | 访问控制方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220222 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |