CN103167006A - 虚拟机提供Web服务的方法、虚拟机监控器与系统 - Google Patents
虚拟机提供Web服务的方法、虚拟机监控器与系统 Download PDFInfo
- Publication number
- CN103167006A CN103167006A CN2011104270218A CN201110427021A CN103167006A CN 103167006 A CN103167006 A CN 103167006A CN 2011104270218 A CN2011104270218 A CN 2011104270218A CN 201110427021 A CN201110427021 A CN 201110427021A CN 103167006 A CN103167006 A CN 103167006A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- domain name
- monitor
- visited
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013507 mapping Methods 0.000 claims abstract description 33
- 239000012467 final product Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统,其中,该方法包括虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。本发明在多个虚拟机共享一个公有IP地址的情况下,通过虚拟机域名与私有地址之间的映射关系,将各虚拟机域名分别映射到不同虚拟机上,从而实现了对不同虚拟机的访问。本发明具有部署简单和高可用性的特点,能够有效解决目前IPV4地址枯竭带来的问题。
Description
技术领域
本发明涉及互联网技术领域,特别地,涉及一种虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统。
背景技术
随着虚拟化技术的发展,虚拟机得到了广泛的应用,出现了用虚拟机来代替物理主机做Web服务器的应用需求。但在现实应用中,一台刀片服务器上往往创建了多台虚拟机,如果给每台虚拟机都配置一个公网IP地址,在IPV4地址严重短缺的情况下会造成极大的浪费,因此,为了充分利用有效的IP地址资源,考虑采用在虚拟机中配置私有地址,共享单一公有IP地址方式来提供虚拟机的Web服务,但这必然面临当用户向虚拟机的Web服务器发起HTTP请求时,由于虚拟机上的Web服务器都使用了80目标端口及同样的对外公网IP,无法定位到特定的虚拟机Web服务上的问题,因此也无法直接使用NAT(Network AddressTranslation,网络地址转换)技术来解决这个问题。
发明内容
本发明要解决的一个技术问题是提供一种虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统,能够使一台服务器上的各虚拟机在共享一个公有IP地址的情况下提供Web服务。
根据本发明的一方面,提出了一种虚拟机提供Web服务的方法,包括虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
根据本发明的另一方面,还提出了一种虚拟机监控器,包括请求接收单元,用于接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;网络地址转换单元,与请求接收单元相连,用于根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;Web服务访问单元,与网络地址转换单元相连,用于根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
根据本发明的又一方面,还提出了一种虚拟机系统,包括虚拟机监控器和多个虚拟机,其中,每个虚拟机,与虚拟机监控器相连,用于接收来自虚拟机监控器的Web访问请求,并将网页内容返回给用户。
本发明提供的虚拟机提供Web服务的方法、虚拟机监控器与虚拟机系统,在多个虚拟机共享一个公有IP地址的情况下,通过虚拟机域名与私有地址之间的映射关系,将各虚拟机域名分别映射到不同虚拟机上,从而实现了对不同虚拟机的访问。本发明具有部署简单和高可用性的特点,能够有效解决目前IPV4地址枯竭带来的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
图1是本发明虚拟机提供Web服务的方法的一个实施例的流程示意图。
图2是本发明虚拟机提供Web服务的方法的另一实施例的流程示意图。
图3是本发明虚拟机提供Web服务的方法的又一实施例的流程示意图。
图4是本发明虚拟机监控器的一个实施例的结构示意图。
图5是本发明虚拟机系统的一个实施例的结构示意图。
图6是本发明虚拟机系统的另一实施例的结构示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
本发明的下述实施例对原有虚拟机架构进行了改造,在VMM(Virtual Machine Monitor,虚拟机监控器)层中增加了一层应用层NAT,用于维护虚拟机私有地址和虚拟机域名之间的映射关系,这样这些创建的VMM上的虚拟机就可以通过共享一个VMM的公有地址(例如,IPv4地址)来提供Web服务。
图1是本发明虚拟机提供Web服务的方法的一个实施例的流程示意图。
如图1所示,可以包括以下步骤:
S102,虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;
S104,虚拟机监控器根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;
S106,虚拟机监控器根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
该实施例在多个虚拟机共享一个公有IP地址的情况下,通过虚拟机域名与私有地址之间的映射关系,将各虚拟机域名分别映射到不同虚拟机上,从而实现了对不同虚拟机的访问。本发明具有部署简单和高可用性的特点,能够有效解决目前IPV4地址枯竭带来的问题。
图2是本发明虚拟机提供Web服务的方法的另一实施例的流程示意图。
如图2所示,可以包括以下步骤:
S202,DNS(Domain Name System,域名系统)服务器接收DNS请求,请求中包含待访问的虚拟机域名;
S204,DNS服务器根据预设的虚拟机域名与公有地址之间的映射关系将待访问的虚拟机域名解析为虚拟机监控器的公有地址;
S206,DNS服务器利用虚拟机监控器的公有地址向虚拟机监控器发起HTTP请求包;
S208,虚拟机监控器接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;
S210,虚拟机监控器根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;
S212,虚拟机监控器根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
进一步地,在S212之后,被访问的虚拟机将网页内容返回给用户。
图3是本发明虚拟机提供Web服务的方法的又一实施例的流程示意图。
如图3所示,可以包括以下步骤:
S302,当外部用户通过浏览器访问虚拟机的Web服务时,首先向DNS服务器发起一个DNS请求,该请求中包含了提供Web服务的虚拟机域名;
S304,DNS服务器根据预先设置的虚拟机监控器的公有IP地址与虚拟机域名之间的映射关系将所有虚拟机上的域名都解析为该VMM的公网IPv4地址,并向用户返回VMM的公网IPv4地址;
S306,构造HTTP请求包,该请求包中携带Host属性,值为需要访问的虚拟机的域名,再将该HTTP请求包发送到VMM;
S308,VMM通过NAT检查虚拟机域名与虚拟机私有IP地址之间的映射关系,根据虚拟机域名将目标地址改为虚拟机的私有地址;
其中,NAT层地址映射表如下述表1所示:
虚拟机的域名 | 虚拟机对应的私有IP地址 |
www.a.com | 192.168.1.1 |
www.b.com | 192.168.1.2 |
...... | ...... |
表1
S310,将虚拟机的私有地址返回给VMM;
S312,VMM根据接收到的虚拟机的私有地址访问对应的虚拟机,从而实现对虚拟机中的web服务的访问;
S314,对应的虚拟机把网页内容返回给用户。
在本发明虚拟机提供Web服务的方法的再一实施例中,只需要额外增加一台授权DNS服务器即可,在授权的DNS服务器上把需要提供Web服务的虚拟机的域名映射为对应的VMM公有地址,在VMM上配置NAT层,并在NAT表中增加虚拟机的域名与相应私有IP地址之间的映射关系。例如,在虚拟机环境下,给VMM配备一个全局IPv4地址202.97.0.1,在VMM上开启两个虚拟机VM1和VM2,为VM1分配的私有地址是192.168.1.1,为VM2分配的私有地址是192.168.1.2,设置VM1使用www.a.com作为域名启动Web service,VM2使用www.b.com作为域名启动Web service,并且外部用户可以直接通过域名访问到相应的Web service。在VMM上配制应用层NAT,即维护上述表1,同时在DNS服务器中将www.a.com和www.b.com均映射为202.97.0.1。
当外部用户发起HTTP请求后,例如,在浏览器中输入www.a.com后,浏览器首先会发起DNS解析请求,结果将www.a.com解析为202.97.0.1,然后构造HTTP请求包,包中会携带Host属性,值为www.a.com,将这个请求发送到VMM,VMM检查映射规则,将目标地址改为192.168.1.1,然后再送交给VM1,从而实现对VM1的Web服务的访问。
本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
图4是本发明虚拟机监控器的一个实施例的结构示意图。
如图4所示,该实施例的虚拟机监控器400可以包括:
请求接收单元402,用于接收HTTP请求包,HTTP请求包中携带待访问的虚拟机域名;
网络地址转换单元404,与请求接收单元相连,用于根据预设的虚拟机域名与私有地址之间的映射关系将待访问的虚拟机域名解析为待访问的虚拟机私有地址;
Web服务访问单元406,与网络地址转换单元相连,用于根据待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
该实施例改变了现有虚拟机架构的结构,在VMM上增加了一个网络地址转换单元,用于维护虚拟机私有地址与域名之间的映射关系,从而实现了一台服务器上的多台虚拟机能够共享单一IP地址来提供Web服务的功能,能够很好地节省IP地址资源,具有部署简单、低成本的特点。
图5是本发明虚拟机系统的一个实施例的结构示意图。
如图5所示,该实施例的系统500可以包括:
虚拟机监控器502,可以通过图4所示的实施例实现;
多个虚拟机504,其中,每个虚拟机均与虚拟机监控器相连,用于接收来自虚拟机监控器的Web访问请求,并将网页内容返回给用户。
图6是本发明虚拟机系统的另一实施例的结构示意图。
如图6所示,与图5中的实施例相比,该实施例的系统600还可以包括:
DNS服务器602,与虚拟机监控器互通(例如,通过互联网或其他方式互通),用于接收DNS请求,请求中包含待访问的虚拟机域名,根据预设的虚拟机域名与公有地址之间的映射关系将待访问的虚拟机域名解析为虚拟机监控器的公有地址,利用虚拟机监控器的公有地址向虚拟机监控器发起HTTP请求包。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (6)
1.一种虚拟机提供Web服务的方法,其特征在于,包括:
虚拟机监控器接收HTTP请求包,所述HTTP请求包中携带待访问的虚拟机域名;
根据预设的虚拟机域名与私有地址之间的映射关系将所述待访问的虚拟机域名解析为待访问的虚拟机私有地址;
根据所述待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
DNS服务器接收DNS请求,所述请求中包含所述待访问的虚拟机域名;
根据预设的虚拟机域名与公有地址之间的映射关系将所述待访问的虚拟机域名解析为虚拟机监控器的公有地址;
利用所述虚拟机监控器的公有地址向所述虚拟机监控器发起所述HTTP请求包。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对应虚拟机将网页内容返回给用户。
4.一种虚拟机监控器,其特征在于,包括:
请求接收单元,用于接收HTTP请求包,所述HTTP请求包中携带待访问的虚拟机域名;
网络地址转换单元,与所述请求接收单元相连,用于根据预设的虚拟机域名与私有地址之间的映射关系将所述待访问的虚拟机域名解析为待访问的虚拟机私有地址;
Web服务访问单元,与所述网络地址转换单元相连,用于根据所述待访问的虚拟机私有地址访问对应虚拟机上的Web服务。
5.一种虚拟机系统,其特征在于,包括权利要求4所述的虚拟机监控器和多个虚拟机,其中,
每个虚拟机,与所述虚拟机监控器相连,用于接收来自所述虚拟机监控器的Web访问请求,并将网页内容返回给用户。
6.根据权利要求5所述的虚拟机系统,其特征在于,所述系统还包括:
DNS服务器,与所述虚拟机监控器互通,用于接收DNS请求,所述请求中包含所述待访问的虚拟机域名,根据预设的虚拟机域名与公有地址之间的映射关系将所述待访问的虚拟机域名解析为虚拟机监控器的公有地址,利用所述虚拟机监控器的公有地址向所述虚拟机监控器发起所述HTTP请求包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110427021.8A CN103167006B (zh) | 2011-12-19 | 2011-12-19 | 虚拟机提供Web服务的方法、虚拟机监控器与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110427021.8A CN103167006B (zh) | 2011-12-19 | 2011-12-19 | 虚拟机提供Web服务的方法、虚拟机监控器与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103167006A true CN103167006A (zh) | 2013-06-19 |
CN103167006B CN103167006B (zh) | 2016-08-03 |
Family
ID=48589744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110427021.8A Active CN103167006B (zh) | 2011-12-19 | 2011-12-19 | 虚拟机提供Web服务的方法、虚拟机监控器与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103167006B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618724A (zh) * | 2013-12-03 | 2014-03-05 | 中标软件有限公司 | 终端机与虚拟机之间的通信方法与通信系统 |
CN105450690A (zh) * | 2014-08-21 | 2016-03-30 | 国际商业机器公司 | 虚拟机管理程序执行的方法和虚拟机管理系统 |
CN108363611A (zh) * | 2017-11-02 | 2018-08-03 | 北京紫光恒越网络科技有限公司 | 虚拟机的安全管理方法、装置及全方位虚拟化系统 |
CN108566445A (zh) * | 2018-03-15 | 2018-09-21 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN108694065A (zh) * | 2017-04-10 | 2018-10-23 | 鸿富锦精密电子(天津)有限公司 | 虚拟桌面系统及虚拟桌面控制方法 |
CN113162835A (zh) * | 2021-02-26 | 2021-07-23 | 北京百度网讯科技有限公司 | 访问服务资源的方法、装置、设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863143A (zh) * | 2005-08-09 | 2006-11-15 | 华为技术有限公司 | 一种实现Web Server访问的方法、系统和装置 |
CN101119274A (zh) * | 2007-09-12 | 2008-02-06 | 杭州华三通信技术有限公司 | 一种提高ssl网关处理效率的方法及ssl网关 |
-
2011
- 2011-12-19 CN CN201110427021.8A patent/CN103167006B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863143A (zh) * | 2005-08-09 | 2006-11-15 | 华为技术有限公司 | 一种实现Web Server访问的方法、系统和装置 |
CN101119274A (zh) * | 2007-09-12 | 2008-02-06 | 杭州华三通信技术有限公司 | 一种提高ssl网关处理效率的方法及ssl网关 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618724A (zh) * | 2013-12-03 | 2014-03-05 | 中标软件有限公司 | 终端机与虚拟机之间的通信方法与通信系统 |
CN103618724B (zh) * | 2013-12-03 | 2018-03-02 | 中标软件有限公司 | 终端机与虚拟机之间的通信方法与通信系统 |
CN105450690A (zh) * | 2014-08-21 | 2016-03-30 | 国际商业机器公司 | 虚拟机管理程序执行的方法和虚拟机管理系统 |
US10038665B2 (en) | 2014-08-21 | 2018-07-31 | International Business Machines Corporation | Reducing broadcast flooding in a software defined network of a cloud |
CN108694065A (zh) * | 2017-04-10 | 2018-10-23 | 鸿富锦精密电子(天津)有限公司 | 虚拟桌面系统及虚拟桌面控制方法 |
CN108694065B (zh) * | 2017-04-10 | 2021-08-27 | 鸿富锦精密电子(天津)有限公司 | 虚拟桌面系统及虚拟桌面控制方法 |
CN108363611A (zh) * | 2017-11-02 | 2018-08-03 | 北京紫光恒越网络科技有限公司 | 虚拟机的安全管理方法、装置及全方位虚拟化系统 |
CN108566445A (zh) * | 2018-03-15 | 2018-09-21 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN108566445B (zh) * | 2018-03-15 | 2020-12-08 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN113162835A (zh) * | 2021-02-26 | 2021-07-23 | 北京百度网讯科技有限公司 | 访问服务资源的方法、装置、设备以及存储介质 |
CN113162835B (zh) * | 2021-02-26 | 2022-08-09 | 北京百度网讯科技有限公司 | 访问服务资源的方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103167006B (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2745474B1 (en) | Virtualization gateway between virtualized and non-virtualized networks | |
CN103167006A (zh) | 虚拟机提供Web服务的方法、虚拟机监控器与系统 | |
AU2015267341B2 (en) | Network packet encapsulation and routing | |
Levin et al. | IPv4 to IPv6: Challenges, solutions, and lessons | |
WO2015120750A1 (zh) | 一种基于DNS的IPv6和IPv4互通信方法 | |
CN113094182B (zh) | 一种服务的负载均衡处理方法、装置及云端服务器 | |
CN101132424B (zh) | 网络地址转换的方法及装置 | |
CN104601720A (zh) | 一种缓存访问控制方法及装置 | |
CN109729187B (zh) | 一种代理通信方法、系统、装置及存储介质 | |
CN105635332A (zh) | 一种多虚拟机共用单外网ip的方法 | |
CN104486402A (zh) | 一种基于大型网站组合均衡的方法 | |
CN104618243A (zh) | 路由方法、装置及系统、网关调度方法及装置 | |
CN103744995A (zh) | 一种构建专题地图的方法及应用该方法的移动终端 | |
CN105045762A (zh) | 一种配置文件的管理方法及装置 | |
CN102316043A (zh) | 端口虚拟化方法、交换机及通信系统 | |
CN102724101A (zh) | 报文转发方法及系统与中继代理设备 | |
CN104798347A (zh) | 分布式通信系统中的局部分区 | |
CN102970387A (zh) | 一种域名解析方法、装置及系统 | |
US11194867B2 (en) | System, method and apparatus for dynamically identifying pop-out links in networked applications via lookup | |
CN103973819A (zh) | 一种响应社区域名请求的方法、相关装置及系统 | |
CN117792995A (zh) | 租户通信方法、装置、电子设备及存储介质 | |
CN103051544B (zh) | 实现IPv4私网接入IPv6网络的方法及接入设备 | |
CN105657077A (zh) | 一种网络地址转换穿越方法和网络地址转换设备 | |
US8447839B2 (en) | Three-layer web management protocol device emulation | |
CN112565357B (zh) | 连接业务虚拟机和对象存储系统的方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20130619 Assignee: Tianyiyun Technology Co.,Ltd. Assignor: CHINA TELECOM Corp.,Ltd. Contract record no.: X2024110000040 Denomination of invention: Method, Virtual Machine Monitor, and System for Providing Web Services by Virtual Machines Granted publication date: 20160803 License type: Common License Record date: 20240914 |
|
EE01 | Entry into force of recordation of patent licensing contract |