一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于云计算网络的域名解析方法及相关系统和装置与流程

2021-11-30 21:59:00 来源:中国专利 TAG:


1.本发明涉及it技术领域,尤其涉及基于云计算网络的域名解析方法及相关系统和装置。


背景技术:

2.域名系统(domain name system,dns)是因特网上实现域名和ip地址相互映射的系统。当用户访问互联网时,用户不需要直接使用能够被机器读取的ip地址进行访问,用户只需要输入主机域名,由dns系统进行域名解析操作获得该主机域名对应的ip地址,用户即可访问该ip地址。
3.虚拟私有云(virtual private cloud,vpc)是用户在数据中心网络中创建的自定义私有网络,不同的虚拟私有云之间二层逻辑隔离,用户可以管理自己的虚拟私有云的网络,在虚拟私有云中创建和管理云产品实例,例如划分网段、配置路由表和网关等等。
4.由于用户可以自主对vpc网络进行配置和管理,因此,在不同的vpc网络中,不同的用户配置的域名可能会重复。示例性的,用户a配置vpc1网络中域名www.abc.com对应的ip地址为2.2.2.2,用户b配置vpc2网络中域名www.abc.com对应的ip地址为3.3.3.3。此时,由于存在域名重复的情况,数据中心内的dns服务器进行域名解析时,无法将相同域名对应的不同ip地址返回给不同的用户。


技术实现要素:

5.本发明实施例描述了一种数据中心系统中域名解析的方法、装置和系统,避免数据中心系统中不同vpc存在域名重复的情况下dns服务器无法正确进行域名解析的问题。
6.一方面,本发明实施例提供了一种数据中心系统中进行域名解析的方法,所述数据中心系统包括至少一个物理服务器、dns服务器以及分布式路由设备,各物理服务器上运行有至少一个虚拟机,所述数据中心系统中的虚拟机分别位于至少两个虚拟私有云vpc中,所述至少两个vpc中托管有相同的域名,所述相同的域名在所述至少两个vpc中指向不同的服务,所述方法包括:
7.所述dns服务器接收所述分布式路由设备发送的修改后的dns查询报文,所述修改后的dns查询报文的源ip地址为发出所述dns查询报文的第一vpc中的第一虚拟机对应的nat地址,所述修改后的dns查询报文携带所述第一虚拟机待访问的域名;
8.所述dns服务器根据nat地址与vpc标识的对应关系,确定所述第一虚拟机所在的vpc的标识;
9.所述dns服务器根据确定的所述vpc的标识,获取所述vpc中托管的所述域名对应的ip地址,并将获取的ip地址返回给所述第一物理服务器。
10.本发明实施例通过在dns服务器建立nat地址与vpc标识的对应关系,通过vpc标识来区分不同用户所在的vpc,从而实现dns服务器支持用户在不同vpc之间的隔离,实现针对数据中心内部不同vpc网络中相同域名的正确解析。
11.在一种可能的实施方式中,所述dns服务器从存储设备中读取分配给vpc的nat地址池中的nat地址,记录所述nat地址与vpc标识的对应关系,所述存储设备中记录有vpc的标识以及归属在所述vpc的nat地址池的对应关系。
12.所述对应关系可以采用数组的形式进行记录,具体的,所述数组包括索引和vpc标识,所述索引用于唯一标识一个nat地址。所述索引的取值为nat地址跟100.64.0.0做与运算得到的结果。通过上述索引,可以提高查询的效率。
13.当dns服务器在本地未查询到所述域名对应的ip地址时,进一步的,所述dns服务器向数据中心系统外的互联网域名服务器发送dns查询请求,获取所述域名对应的公网ip地址,并将所述公网ip地址返回给所述第一物理服务器中的第一虚拟机。
14.第二方面,本发明实施例提供了一种数据中心系统,所述系统包括至少一个物理服务器、dns服务器以及分布式路由设备,各物理服务器上运行有至少一个虚拟机,所述数据中心系统中的虚拟机分别位于至少两个虚拟私有云vpc中,所述至少两个vpc中托管有相同的域名,所述相同的域名在所述至少两个vpc中指向不同的服务,
15.所述数据中心系统中的第一物理服务器,用于将所述第一物理服务器上运行的第一虚拟机发出的域名系统dns查询报文发送到所述分布式路由设备,所述dns查询报文的源ip地址为所述第一虚拟机在第一vpc中的局域网地址,所述dns查询报文携带所述第一虚拟机待访问的域名;
16.所述分布式路由设备,用于接收所述dns查询报文,将所述dns查询报文的源ip地址修改为所述源ip地址对应的nat地址,将修改后的dns查询报文发送给所述dns服务器;
17.所述dns服务器,用于接收所述修改后的dns查询报文,根据nat地址与vpc标识的对应关系,确定所述第一虚拟机所在的vpc的标识,根据确定的所述vpc的标识,获取所述vpc中托管的所述域名对应的ip地址,并将获取的ip地址返回给所述第一物理服务器;
18.所述第一物理服务器,用于发送所述第一虚拟机根据所述ip地址发出的访问请求,所述访问请求用于访问所述域名在所述第一vpc中指向的服务。
19.所述系统还包括存储设备,所述存储设备,在vpc被创建时,用于记录归属所述vpc的nat地址池以及vpc标识。
20.第三方面,与前述第一方面的域名解析的方法相对应,本发明实施例还提供了一种dns服务器,所述dns服务器包括接收单元、接收单元以及发送单元,上述各单元用于执行域名解析中的方法步骤,实现域名解析。
21.在一个可能的设计中,所述dns服务器由通用或专用的物理服务器实现,物理服务器的结构中包括处理器、存储器、系统总线以及输入输出接口,所述处理器被配置为支持所述系统中dns服务器的相应的功能。所述输入输出接口用于与所述数据中心系统中的其他部件进行通信,处理器执行所述存储器中存储的指令。
22.再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述dns服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
附图说明
23.图1是本发明实施例提供的数据中心系统的结构示意图;
24.图2是本发明实施例提供的数据中心系统的域名解析的方法流程示意图;
25.图3是本发明实施例提供的一种dns服务器的逻辑结构示意图;
26.图4是本发明实施例提供的一种dns服务器的硬件结构示意图。
具体实施方式
27.internet网络中域名唯一,互联网域名服务器(公网dns服务器)向internet用户提供域名解析服务。数据中心网络中,用户可以建立vpc,在pvc中自定义域名。vpc为用户在数据中心系统中自定义的逻辑隔离网络空间,具备与传统网络相似的能力,用户可以完全掌握归属自己的vpc,对vpc执行各种操作,包括自定义网段划分、ip地址分配和路由策略制定等。因此,同一域名可以应用在不同的vpc网络中代表不同的服务,即域名在数据中心系统中存在重复的可能性。
28.示例性的,用户a在数据中心系统中建立vpc1,在vpc1中定义了域名www.abc.com,用于指向ip地址为2.2.2.2的网站a;用户b在数据中心系统中建立vpc2,在vpc2中定义了域名www.abc.com,用于指向ip地址为3.3.3.3的网站b。vpc1中的第一虚拟机在浏览器中输入域名www.abc.com,向数据中心系统中的dns服务器发起dns查询,dns服务器接收到vpc1中的第一虚拟机输入的域名www.abc.com,无法确定域名www.abc.com对应的vpc,进而无法解析出域名对应的ip地址,导致vpc1中的第一虚拟机无法访问网站a。
29.为解决上述问题,本发明实施例提供了一种数据中心系统中dns服务器向用户虚拟机提供域名解析服务的方法,可以实现针对不同vpc网络中相同域名的正确解析。本发明实施例中,建立用户虚拟机的网络地址转换(network address translation,nat)地址与vpc标识的对应关系,通过vpc标识来区分不同用户所在的vpc,进而确定vpc中托管的域名对应的ip地址,从而实现dns服务器支持用户在不同vpc之间的隔离,实现针对不同vpc网络中相同域名的正确解析。
30.下面将结合附图,对本发明实施例中的技术方案进行描述。
31.如图1所示,为本发明实施例提供的一种数据中心系统的结构示意图,所述数据中心网络包括dns服务器101、分布式路由设备102以及多个物理服务器103,物理服务器103上运行有vm(virtual machine,虚拟机),数据中心系统中包含至少两个vpc,每个vpc中包含至少一个虚拟机。虚拟机通过分布式路由设备102连接到dns服务器101,由dns服务器101为虚拟机提供域名解析服务。
32.不同的vpc之间为二层隔离,同一vpc中的多个vm的局域网地址不同,不同vpc中的多个vm可以配置为相同的局域网地址。示例性的,在vpc1中,vm1的局域网地址为192.168.10.10,vm2的局域网地址为192.168.10.11;在vpc2中,vm3的局域网地址为192.168.10.10,vm4的局域网地址为192.168.10.11。
33.vpc中的vm与分布式路由设备102相连,每个vm连接到分布式路由设备的一个端口,该端口的ip地址为与该端口相连的vm的nat地址。示例性的,vm1连接到的分布式路由设备102的端口的ip地址为100.64.10.10,vm2连接到的分布式路由设备102的端口的ip地址为100.64.10.11,vm3连接到的分布式路由设备102的端口的ip地址为100.64.10.10,vm4连接到的分布式路由设备102的端口的ip地址为100.64.10.11。
34.所述数据中心系统还包括存储设备104,用户在数据中心系统中创建vpc时,在所述存储设备104中记录分配给该vpc的nat地址池与该vpc标识的对应关系。所述dns服务器
101可以从所述存储设备104中读取并记录nat地址池与vpc标识的对应关系。
35.所述数据中心系统通过internet网络与公网域名服务器105相连,当数据中心系统中的所述dns服务器101无法查询到域名对应的ip地址时,dns服务器将dns查询报文转发给公网域名服务器,由公网域名服务器提供域名解析服务。
36.vpc中的vm发起dns查询报文,所述dns查询报文携带所述vm待访问的域名,所述dns查询报文的源ip地址为vm的局域网地址。分布式路由设备102接收所述dns查询报文,将dns查询报文的源ip地址修改为与所述vm相连的端口的ip地址
37.dns服务器只能处理dns查询报文,dns查询报文无法携带用户所在的vpc标识,dns服务器即无法区分dns查询报文是从哪个vpc发出的。在云计算网络中,vpc中的虚拟机发出的报文在进行nat转换时,转换为的ip地址属于固定的ip地址池(示例性的,转换得到的ip地址均在100.64.0.0至100.127.255.255范围内),每个ip地址唯一属于某个vpc。如图1中所示,vpc1中的vm1的局域网地址为192.168.10.10,vpc1中的vm2的局域网地址为192.168.10.11,经nat转换后,vm1对应的ip地址为10.64.10.10,vm2对应的ip地址为10.64.10.11。dns接收到的查询报文的源ip地址为转换后的nat地址,在本发明实施例中,dns服务器可以通过源ip地址与vpc的对应关系,查找发出查询报文的源虚拟机所属的vpc的标识,从而使得dns服务器可以识别虚拟机所在的vpc。
38.dns服务器可以预先建立了源ip地址与vpc标识的对应关系,示例性的,所述对应关系如表1所示:
[0039][0040]
表1
[0041]
所述索引具体为nat地址与10.64.0.0做与运算得到的数值。
[0042]
进一步的,用户在创建vpc时,通知dns服务器更新上述对应关系。具体的,用户在创建vpc时,云计算管理系统为创建的vpc分配对应的nat地址池,在数据库中记录vpc标识和nat地址池的对应关系。dns服务器可以主动读取数据库,并更新更新dns服务器中记录的上述对应关系。
[0043]
dns服务器可以存储上述对应关系,具体的,在dns服务启动时,dns服务器为上述对应关系分配内存,用于存储上述源ip地址与vpc标识的对应关系,具体可以采用数组的方式进行存储。在一种可能的实施方式中,数组的容量上限可以设置为400万,即可存储100.64.0.0/10网段所包含的400万个ip。
[0044]
在一种可能的实施方式中,dns服务器还可以为每个vpc分配一个命名空间,将vpc标识作为命名空间的标识,该命名空间中记录有与该命名空间对应的vpc中的每个域名对应的ip地址。当dns服务器收到查询报文时,根据查询报文的源ip地址确定发出所述查询报文的虚拟机所在的vpc的标识,通过确定的vpc标识找到对应的命名空间,在找到的命名空间中进行域名解析,从而确定待解析域名对应的ip地址。
[0045]
在一种实施方式中,dns服务器可能采用服务器集群的形式为数据中心系统提供域名解析服务器,数据中心系统中的各虚拟机通过dns服务器集群的虚拟ip访问dns服务器集群,经过负载均衡后,选择集群中的某个dns服务器执行本发明实施例描述的域名解析的方法。
[0046]
如图2所述,基于图1所示的系统结构,本发明实施例提供了一种数据中心系统中域名解析的方法,所述方法包括:
[0047]
步骤201:用户登录vm1,所述vm1归属于vpc1,用户打开vm1上的浏览器,输入待访问的域名,vm1发起域名查询操作,向dns服务器发送dns查询报文,所述dns查询报文用于指示所述dns服务器对待访问域名进行解析。
[0048]
示例性的,该待访问的域名为www.abc.com,vm1的局域网地址为192.168.10.11。
[0049]
步骤202:分布式路由设备通过与vm1相连的端口接收所述dns查询报文,对所述dns查询报文进行nat转换,将所述dns查询报文的源ip地址修改为对应的nat地址,所述nat地址即为与所述vm1相连的所述端口的ip地址,所述dns查询报文的目的地址为所述dns服务器的虚拟ip地址。示例性的,vm1对应的nat地址为100.64.10.11。
[0050]
步骤203:分布式路由设备向所述dns服务器发送所述dns查询报文。
[0051]
步骤204:所述dns服务器接收所述dns查询报文,所述dns服务器根据nat地址与vpc标识的对应关系,确定所述vm1所在的vpc的标识;
[0052]
所述dns服务器记录有nat地址与vpc标识的对应关系,即所述dns服务器可以根据dns查询报文的源地址中携带的nat地址,确定发出所述dns查询报文的vm所述的vpc。
[0053]
在一种实施方式中,用户在创建vpc时,系统会为vpc分配nat地址池,vpc中的每个vm都会分配有nat地址池中的nat地址。dns服务器在vpc创建完成后,获取每个vpc对应的nat地址池,并记录nat地址与vpc标识的对应关系。
[0054]
步骤205:所述dns服务器根据确定的所述vm1所在的vpc的标识,获取所述dns查询报文携带的待访问域名对应的ip地址。
[0055]
在一种实施方式中,所述dns服务器为每个vpc分别建立域名解析表,所述域名解析表包括域名以及域名对应的ip地址。所述dns服务器根据确定所述vm1所在的vpc的标识查找所述vpc的域名解析表,获取待访问域名对应的ip地址。
[0056]
更进一步的,所述dns服务器,还可以为每一个vpc分配一个命名空间,在所述命名空间中记录所述vpc中托管的域名与提供该域名指向的服务的ip地址的对应关系;
[0057]
所述步骤205具体为:所述dns服务器在确定的所述vpc的标识对应的命名空间中,查询所述dns查询报文中携带的域名对应的ip地址。
[0058]
步骤206:dns服务器向vm1返回vpc1中待访问域名对应的ip地址,示例性的,vpc1中待访问域名对应的ip地址为2.2.2.2。
[0059]
所述vm1获取所述待访问域名对应的ip地址,发送访问请求,所述访问请求的目的
地址为所述待访问域名对应的ip地址,所述访问请求用于访问所述域名在所述第一vpc中指向的服务。
[0060]
需要说明的是,当待访问域名不是数据中心网络中的dns服务器上托管的域名,而是internet网络中的公网域名时,则dns服务器无法查询到vpc1中待访问域名对应的ip地址,此时,执行步骤207。
[0061]
步骤207:dns服务器向互联网域名服务器发起域名查询请求。
[0062]
步骤208:dns服务器接收到互联网域名服务器返回的待访问域名对应的ip地址,将接收到的所述ip地址返回给vm1。
[0063]
步骤209:vm1接收所述ip地址,向所述ip地址对应的服务器发起服务请求。
[0064]
与前述域名解析的过程类似,当vpc2中的vm2向dns服务器发起dns查询时,dns服务器根据dsn查询报文中携带的源地址确定发出所述dns查询报文的vm2所属的vpc的标识,获取该vpc中的域名对应的ip地址。
[0065]
本发明实施例中,建立用户虚拟机的nat地址与vpc标识的对应关系,通过vpc标识来区分不同用户所在的vpc,进而确定vpc中托管的域名对应的ip地址,从而实现dns服务器支持用户在不同vpc之间的隔离,实现针对不同vpc网络中相同域名的正确解析。
[0066]
更进一步的,dns服务器可以为不同的vpc分配不同的命名空间,在确定发出dns查询报文的虚拟机所述的vpc后,在该vpc对应的命名空间中查询域名对应的ip地址,从而实现了用户隔离。
[0067]
如图3所示,为本发明实施例提供的一种dns服务器的结构示意图,所述dns服务器包括接收单元301、处理单元302以及发送单元303,上述功能模块301

303执行图2对应的实施例中dns服务器的各项功能,实现为vpc中的vm提供域名解析服务,具体的,
[0068]
接收单元301,用于接收分布式路由设备发送的修改后的dns查询报文,所述修改后的dns查询报文的源ip地址为发出所述dns查询报文的第一vpc中的第一虚拟机对应的nat地址,所述修改后的dns查询报文携带所述第一虚拟机待访问的域名;
[0069]
处理单元302,用于根据nat地址与vpc标识的对应关系,确定所述第一虚拟机所在的vpc的标识,根据确定的所述vpc的标识,获取所述vpc中托管的所述域名对应的ip地址;
[0070]
发送单元303,用于将获取的ip地址返回给所述第一虚拟机。
[0071]
所述处理单元302,具体用于从存储设备中读取各vpc的nat地址池以及nat地址池对应的vpc的标识,记录nat地址与vpc标识的对应关系。
[0072]
所述处理单元302,具体用于建立数组,所述数组包括索引和vpc标识,所述索引用于唯一标识一个nat地址。
[0073]
所述处理单元302,具体用于为每一个vpc分配一个命名空间,在所述命名空间中记录所述vpc中托管的域名与提供该域名指向的服务的ip地址的对应关系;
[0074]
所述处理单元302,具体用于所述接收单元接收到所述修改后的dns查询报文后,在确定的所述vpc的标识对应的命名空间中,查询所述dns查询报文中携带的域名对应的ip地址。
[0075]
所述发送单元303,还用于在处理单元未查询到所述域名对应的ip地址时,向数据中心系统外的互联网域名服务器发送dns查询请求;
[0076]
所述接收单元301,还用于获取互联网域名服务器返回的所述域名对应的公网ip
地址;
[0077]
所述发送单元303,还用于将所述公网ip地址返回给所述第一虚拟机。
[0078]
所述dns服务器具体可以为专用或者通用的物理服务器,图4是本发明实施例的dns服务器400的示意性框图。该dns服务器400包括:处理器和收发器,处理器和收发器相连,可选地,该服务器400还包括存储器,存储器与处理器相连,进一步可选地,该服务器400包括总线系统。其中,处理器、存储器和收发器可以通过总线系统相连,该存储器可以用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信息或信号,使得服务器400执行上述数据中心系统中dns服务器的功能、所执行的各动作或处理过程。
[0079]
本发明实施例中的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0080]
本发明实施例中的存储器或存储设备可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read

only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0081]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0082]
另外,在本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0083]
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想
到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献