CN112887441B - 一种域名解析方法、终端和dns服务器 - Google Patents
一种域名解析方法、终端和dns服务器 Download PDFInfo
- Publication number
- CN112887441B CN112887441B CN202110024279.7A CN202110024279A CN112887441B CN 112887441 B CN112887441 B CN 112887441B CN 202110024279 A CN202110024279 A CN 202110024279A CN 112887441 B CN112887441 B CN 112887441B
- Authority
- CN
- China
- Prior art keywords
- domain name
- request message
- dns
- network number
- operator network
- 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 41
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种域名解析方法、终端和DNS服务器,所述方法包括:获取应用程序的DNS请求报文;获取当前网络的运营商网络号;将所述运营商网络号添加到所述DNS请求报文中,并将添加了所述运营商网络号的DNS请求报文发送给DNS服务器;接收所述DNS服务器发送的域名解析结果,并将所述域名解析结果发送给所述应用程序。该方法、终端和DNS服务器能够解决现有的域名解析方法由于解析得到的服务器IP地址可能需要跨运营商网络传输,从而导致较大的网络延迟,大大降低了用户体验的问题。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种域名解析方法、终端和DNS服务器。
背景技术
目前,移动互联网应用在部署业务服务器时,为保证业务使用体验,一般会在不同运营商的不同区域机房分布式部署多套业务服务器,以尽量保证不同运营商、不同区域的用户访问服务器时有较好的用户体验。服务器维护人员为某域名添加A类型(IPv4)或者AAAA类型(IPv6)解析记录时,需要填写该域名对应的多个服务器IP地址,当客户端发送DNS(Domain Name System,域名***)请求报文时,域名解析服务器会返回所有的IP地址,但返回IP地址的顺序是随机的,应用默认取第一个返回的IP地址作为解析结果。然而,由于应用获取到的服务器IP地址可能需要跨运营商网络传输,从而导致较大的网络延迟,大大降低了用户体验。
发明内容
本发明所要解决的技术问题是针对现有技术的上述不足,提供一种域名解析方法、终端和DNS服务器,用以解决现有的域名解析方法由于解析得到的服务器IP地址可能需要跨运营商网络传输,从而导致较大的网络延迟,大大降低了用户体验的问题。
第一方面,本发明实施例提供一种域名解析方法,应用于终端,所述方法包括:
获取应用程序的DNS请求报文;
获取当前网络的运营商网络号;
将所述运营商网络号添加到所述DNS请求报文中,并将添加了所述运营商网络号的DNS请求报文发送给DNS服务器;
接收所述DNS服务器发送的域名解析结果,并将所述域名解析结果发送给所述应用程序。
优选地,所述获取应用程序的DNS请求报文,包括:
获取所述应用程序待外发的网络请求报文,通过拦截所述网络请求报文中的DNS请求报文获取所述应用程序的DNS请求报文。
优选地,所述DNS请求报文为符合DNS协议的报文,所述DNS请求报文的Queries区域包括Name字段;
所述将所述运营商网络号添加到所述DNS请求报文中,具体包括:
将所述运营商网络号添加到所述DNS请求报文中的Queries区域的Name字段。
优选地,所述DNS请求报文中的Queries区域的Name字段预先依次设置有待解析域名前缀长度、待解析域名前缀、待解析域名后缀长度和待解析域名后缀;
所述将所述运营商网络号添加到所述DNS请求报文中的Queries区域的Name字段,包括:
在所述待解析域名前缀之前***所述运营商网络号,并将所述待解析域名前缀长度增加所述运营商网络号的长度;或者,
在所述待解析域名前缀之后***所述运营商网络号,并将所述待解析域名前缀长度增加所述运营商网络号的长度;或者,
在所述待解析域名后缀之前***所述运营商网络号,并将所述待解析域名后缀长度增加所述运营商网络号的长度;或者,
在所述待解析域名后缀之后***所述运营商网络号,并将所述待解析域名后缀长度增加所述运营商网络号的长度。
优选地,所述运营商网络号为46000、46001或46003中的一种。
第二方面,本发明实施例提供一种域名解析方法,应用于DNS服务器,所述方法包括:
接收终端发送的添加了运营商网络号的DNS请求报文;
获取所述DNS请求报文中的运营商网络号和待解析域名;
根据所述待解析域名查询预先建立的所述运营商网络号对应的缓冲池中是否存在与所述待解析域名对应的IP地址;
若存在,则获取所述待解析域名对应的IP地址,并向所述终端发送域名解析结果。
优选地,若预先建立的所述运营商网络号对应的缓冲池中不存在与所述待解析域名对应的IP地址,则所述方法还包括:
从所述DNS请求报文中去除所述运营商网络号;
向所述运营商网络号所对应的运营商DNS服务器发送去除了所述运营商网络号的DNS请求报文;
接收所述运营商DNS服务器基于所述去除了所述运营商网络号的DNS请求报文返回的IP地址,并将所述待解析域名和返回的IP地址的对应对关系添加到所述缓冲池中。
优选地,若预先建立的所述运营商网络号对应的缓冲池中不存在与所述待解析域名对应的IP地址,则所述方法还包括:
向所述运营商网络号所对应的运营商DNS服务器转发所述DNS请求报文;
接收所述运营商DNS服务器基于所述DNS请求报文返回的IP地址,并将所述待解析域名和返回的IP地址的对应对关系添加到所述缓冲池中。
第三方面,本发明实施例提供一种终端,包括:
第一获取模块,用于获取应用程序的DNS请求报文;
第二获取模块,用于获取当前网络的运营商网络号;
报文发送模块,与所述第一获取模块和第二获取模块连接,用于将所述运营商网络号添加到所述DNS请求报文中,并将添加了所述运营商网络号的DNS请求报文发送给DNS服务器;
接收处理模块,与所述报文发送模块连接,用于接收所述DNS服务器发送的域名解析结果,并将所述域名解析结果发送给所述应用程序。
第四方面,本发明实施例提供一种DNS服务器,包括:
报文接收模块,用于接收终端发送的添加了运营商网络号的DNS请求报文;
第三获取模块,与所述报文接收模块连接,用于获取所述DNS请求报文中的运营商网络号和待解析域名;
地址查询模块,与所述第三获取模块连接,用于根据所述待解析域名查询预先建立的所述运营商网络号对应的缓冲池中是否存在与所述待解析域名对应的IP地址;
结果发送模块,与所述地址查询模块连接,用于在所述地址查询模块的查询结果中存在与所述待解析域名对应的IP地址时,获取所述待解析域名对应的IP地址,并向所述终端发送域名解析结果。
本发明实施例提供的域名解析方法、终端和DNS服务器,通过获取应用程序的DNS请求报文以及终端当前网络的运营商网络号,并在不改变当前DNS协议的情况下,将运营商网络号添加到该DNS请求报文中,同时,终端向DNS服务器发送该DNS请求报文,以使得DNS服务器接收到该DNS请求报文后,查询该运营商网络号所对应的缓冲池中是否存在与待解析域名对应的IP地址,并在查询结果为存在时,向所述终端返回域名解析结果,再由所述终端向该应用程序发送域名解析结果。由于域名解析结果中的服务器IP地址是终端当前所用网络的运营商所部署的服务器IP地址,通过使用同一运营商网络访问同一运营商的服务器,从而能够减少IP路由的次数,降低网络访问的延迟,解决了现有的域名解析方法由于解析得到的服务器IP地址可能需要跨运营商网络传输,从而导致较大的网络延迟,大大降低了用户体验的问题。
附图说明
图1:为本发明实施例的一种域名解析方法的场景图;
图2:为本发明实施例1的一种域名解析方法的流程图;
图3:为本发明实施例的DNS请求报文中的Queries区域的结构示意图;
图4:为本发明实施例2的一种域名解析方法的流程图;
图5:为本发明实施例3的一种终端的结构示意图;
图6:为本发明实施例4的一种DNS服务器的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请实施例描述的场景图是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
如图1所示,为本申请实施例提供的一种域名解析方法的场景图,其中,各部分说明如下:
1)APP:即终端应用程序,泛指终端上所有能够进行网络传输的应用程序,即用户安装的需要向外发送网络请求报文的普通应用程序。
2)DNS客户端:为预装或由用户下载安装的客户端软件,负责获取所有APP待外发的网络请求报文,并拦截所述网络请求报文中的DNS请求报文,对于其他网络请求报文则旁路放行。同时,DNS客户端根据终端当前所用移动网络的MNC(Mobile Network Code,移动网络号码)得到运营商网络号,例如,***网络号为46001,***网络号为46000,中国电信网络号为46003,并将运营商网络号融入DNS请求报文后与DNS服务器交互完成DNS解析。
3)DNS服务器:与DNS客户端交互完成DNS解析并返回本运营商网络内的服务器IP地址作为域名解析结果。
具体地,DNS服务器预先建立有不同运营商网络号对应的缓冲池,例如:46000对应***DNS地址缓冲池;46001对应***DNS地址缓冲池;46003对应中国电信DNS地址缓冲池。DNS服务器接收到DNS客户端发送的添加了运营商网络号的DNS请求报文后,先提取运营商网络号,通过运营商网络号查询对应的运营商DNS地址缓冲池中是否有该域名对应的IP地址,若有,则直接向DNS客户端返回携带有该对应IP地址的域名解析结果;若没有,则继续向该运营商的DNS服务器查询对应的IP地址。如果查到则在对应的运营商DNS地址缓冲池中增加待解析域名和对应IP地址的对应对关系;如果仍未查到该域名的IP地址,则最终向更上一级的该运营商网络号对应的顶级DNS服务器发送DNS请求报文以查询对应的IP地址。
4)移动网络接口:负责为终端应用程序提供网络发送与接收功能的网络接口,包括移动网络、WIFI、以太网等网络接口。此处特指负责移动网络传输的网络接口。
基于图1所示的场景图,下面介绍本申请涉及的域名解析方法的相关实施例。
实施例1:
本实施例提供一种域名解析方法,应用于终端,如图2所示,该方法包括:
步骤S102:获取应用程序的DNS请求报文。
具体地,终端获取应用程序待外发的网络请求报文,通过拦截网络请求报文中的DNS请求报文获取应用程序的DNS请求报文。
在本实施例中,终端上安装有DNS客户端,可以由终端上的DNS客户端实时获取终端上所有应用程序待外发的网络请求报文,并拦截所述网络请求报文中的DNS请求报文,对于其他网络请求报文则旁路放行。比如,当终端上的某个APP想发出访问***.com的网络请求报文时,DNS客户端拦截该网络请求报文,阻止其直接向外发送该网络请求报文;而当某个APP向某个IP地址发出正常HTTP网络请求报文时,DNS客户端判断其为非DNS请求报文,则直接旁路放行。
步骤S104:获取当前网络的运营商网络号。
在本实施例中,终端优选为智能手机,一般智能手机内可以同时插有不同运营商的不同SIM卡,在用户使用智能手机访问网络时,通常只支持用户将一张卡作为移动数据卡进行上网,因此,通过用户当前所使用SIM卡运营商网络号可有效判断用户侧网络所归属的运营商。
步骤S106:将运营商网络号添加到DNS请求报文中,并将添加了运营商网络号的DNS请求报文发送给DNS服务器。
具体地,DNS请求报文为符合DNS协议的报文,DNS请求报文的Queries区域包括Name字段,DNS客户端具体将运营商网络号添加到DNS请求报文中的Queries区域的Name字段。
在本实施例中,DNS请求报文为符合现有DNS协议的报文,具体报文格式如下:
|IP头|UDP头|DNS头|DNS请求内容|
其中,DNS请求内容的Queries区域包含3个字段,如图3所示,Queries区域包括Name、Type和Class字段。具体地,Name表示查询名字,长度不固定,用于存储要查询的域名;Type表示查询类型,例如A表示IPv4地址,AAAA表示IPv6地址等等;Class表示查询类,比如对于Internet信息,总是IN。为了能够在不改变现有DNS协议格式的情况下,将运营商网络号融入到DNS请求报文中以实现网络延迟最小化,本实施例选择在Name字段添加该运营商网络号。
可选地,DNS请求报文中的Queries区域的Name字段预先依次设置有待解析域名前缀长度、待解析域名前缀、待解析域名后缀长度和待解析域名后缀,将运营商网络号添加到DNS请求报文中的Queries区域的Name字段,可以包括:
在待解析域名前缀之前***运营商网络号,并将待解析域名前缀长度增加运营商网络号的长度;或者,
在待解析域名前缀之后***运营商网络号,并将待解析域名前缀长度增加运营商网络号的长度;或者,
在待解析域名后缀之前***运营商网络号,并将待解析域名后缀长度增加运营商网络号的长度;或者,
在待解析域名后缀之后***运营商网络号,并将待解析域名后缀长度增加运营商网络号的长度。
在本实施例中,假设终端上的DNS客户端拦截了某个APP想发出访问***.com的网络请求报文,则此时的DNS请求报文中的Queries区域的Name字段内容如下:
6***3com
其中,6为***的长度,***为域名***.com的前缀,3为com的长度,com为域名***.com的后缀。
假设此时的运营商网络号为46001,则DNS客户端将运营商网络号融入到该DNS请求报文中的Queries区域的Name字段后,Name字段内容可以为以下之一:
1146001***3com
11***460013com
6***846001com
6***8com46001
在本实施例中,当DNS服务器接收到DNS客户端发送的添加了运营商网络号的DNS请求报文后,按照与DNS客户端相同的运营商网络号融入规则进行解析、提取运营商网络号和待解析域名。通过运营商网络号索引到运营商对应的DNS地址缓冲池,查询缓冲池中是否有该域名对应的IP地址,如果有则直接回复。如果没有则继续向指定运营商域名服务器查询待解析域名对应的IP地址,如果有则直接回复,并将该待解析域名及其对应的IP地址添加到该运营商对应的DNS地址缓冲池中;如果没有,则向更上一级的该运营商网络号对应的顶级域名服务器查询并将域名解析结果返回给DNS客户端。
在本实施例中,为了提高DNS解析速度和准确度,DNS服务器内分别存储不同运营商网络号对应的DNS地址缓冲池,例如:
46000—***DNS地址缓冲池;
46001—***DNS地址缓冲池;
46003—中国电信DNS地址缓冲池;
DNS服务器接收到DNS客户端发送的添加了运营商网络号的DNS请求报文后,可以按照以下优先级顺序依次查询:运营商DNS地址缓冲池>运营商DNS服务器>顶级DNS服务器,直到获取到待解析域名对应的IP地址为止。由于最终解析出来的IP地址是终端当前所用网络的运营商所部署的服务器IP地址,不需要跨运营商网络传输,从而能够在减少网络路由次数、降低网络负载的同时,进一步提高用户的体验。
在本实施例中,若运营商DNS地址缓冲池中没有对应的IP地址,则DNS客户端可以向运营商DNS服务器或顶级DNS服务器转发该携带有运营商网络号的DNS请求报文,也可以将运营商网络号从DNS请求报文中去除,向运营商DNS服务器或顶级DNS服务器发送去除了该运营商网络号的DNS请求报文,以使运营商DNS服务器或顶级DNS服务器返回对应的IP地址。
步骤S108:接收DNS服务器发送的域名解析结果,并将域名解析结果发送给应用程序。
在一个具体的实施例中,假设终端为智能手机,智能手机上预先安装了DNS客户端,当智能手机上的某个app想发出访问***.com的网络请求报文时,由于该网络请求报文为DNS请求报文,此时,终端上的DNS客户端对其进行拦截,并将智能手机当前网络的运营商网络号融入到DNS请求报文中。比如若运营商网络号为46001,则融入了该运营商网络号的DNS请求报文中的Queries区域的Name字段内容可以为:1146001***3com,其他字段内容不变。DNS客户端将该融入了运营商网络号的DNS请求报文发送给DNS服务器,由于运营商网络号的长度及内容固定,DNS服务器从中提取运营商网络号46001,并在***DNS地址缓冲池中查找与***.com对应的IP地址,若找到了对应的IP地址,比如244.0.0.3,则DNS服务器向DNS客户端返回携带有244.0.0.3的域名解析结果,DNS客户端再将该域名解析结果发送给对应的app,app经DNS客户端向244.0.0.3发出正常的HTTP网络请求报文,DNS客户端发现该网络请求报文为非DNS请求报文,则直接旁路放行相关网络传输包。
本发明实施例提供的域名解析方法,通过获取应用程序的DNS请求报文以及终端当前网络的运营商网络号,并在不改变当前DNS协议的情况下,将运营商网络号添加到该DNS请求报文中,同时,终端向DNS服务器发送该DNS请求报文,以使得DNS服务器接收到该DNS请求报文后,查询该运营商网络号所对应的缓冲池中是否存在与待解析域名对应的IP地址,并在查询结果为存在时,向所述终端返回域名解析结果,再由所述终端向该应用程序发送域名解析结果。由于域名解析结果中的服务器IP地址是终端当前所用网络的运营商所部署的服务器IP地址,通过使用同一运营商网络访问同一运营商的服务器,从而能够减少IP路由的次数,降低网络访问的延迟,解决了现有的域名解析方法由于解析得到的服务器IP地址可能需要跨运营商网络传输,从而导致较大的网络延迟,大大降低了用户体验的问题。
实施例2:
如图4所示,本实施例提供一种域名解析方法,应用于DNS服务器,该方法包括:
步骤S202:接收终端发送的添加了运营商网络号的DNS请求报文;
步骤S204:获取DNS请求报文中的运营商网络号和待解析域名;
步骤S206:根据待解析域名查询预先建立的运营商网络号对应的缓冲池中是否存在与待解析域名对应的IP地址;
步骤S208:若存在,则获取待解析域名对应的IP地址,并向终端发送域名解析结果。
优选地,若预先建立的运营商网络号对应的缓冲池中不存在与待解析域名对应的IP地址,则方法还可以包括:
从DNS请求报文中去除运营商网络号;
向运营商网络号所对应的运营商DNS服务器发送去除了运营商网络号的DNS请求报文;
接收运营商DNS服务器基于去除了运营商网络号的DNS请求报文返回的IP地址,并将待解析域名和返回的IP地址的对应对关系添加到缓冲池中。
优选地,若预先建立的运营商网络号对应的缓冲池中不存在与待解析域名对应的IP地址,则方法还可以包括:
向运营商网络号所对应的运营商DNS服务器转发DNS请求报文;
接收运营商DNS服务器基于DNS请求报文返回的IP地址,并将待解析域名和返回的IP地址的对应对关系添加到缓冲池中。
实施例3:
如图5所示,本实施例提供一种终端,包括:
第一获取模块31,用于获取应用程序的DNS请求报文;
第二获取模块32,用于获取当前网络的运营商网络号;
报文发送模块33,与第一获取模块31和第二获取模块32连接,用于将运营商网络号添加到DNS请求报文中,并将添加了运营商网络号的DNS请求报文发送给DNS服务器;
接收处理模块34,与报文发送模块33连接,用于接收DNS服务器发送的域名解析结果,并将域名解析结果发送给应用程序。
可选地,所述第一获取模块31具体用于获取应用程序待外发的网络请求报文,通过拦截网络请求报文中的DNS请求报文获取应用程序的DNS请求报文。
可选地,DNS请求报文为符合DNS协议的报文,DNS请求报文的Queries区域包括Name字段;
所述报文发送模块33具体用于将运营商网络号添加到DNS请求报文中的Queries区域的Name字段,并将添加了运营商网络号的DNS请求报文发送给DNS服务器;
可选地,DNS请求报文中的Queries区域的Name字段预先依次设置有待解析域名前缀长度、待解析域名前缀、待解析域名后缀长度和待解析域名后缀;
所述报文发送模块33具体用于在待解析域名前缀之前***运营商网络号,并将待解析域名前缀长度增加运营商网络号的长度;或者,
在待解析域名前缀之后***运营商网络号,并将待解析域名前缀长度增加运营商网络号的长度;或者,
在待解析域名后缀之前***运营商网络号,并将待解析域名后缀长度增加运营商网络号的长度;或者,
在待解析域名后缀之后***运营商网络号,并将待解析域名后缀长度增加运营商网络号的长度;以及,
将添加了运营商网络号的DNS请求报文发送给DNS服务器。
可选地,运营商网络号为46000、46001或46003中的一种。
实施例4:
如图6所示,本实施例提供一种DNS服务器,包括:
报文接收模块41,用于接收终端发送的添加了运营商网络号的DNS请求报文;
第三获取模块42,与报文接收模块41连接,用于获取DNS请求报文中的运营商网络号和待解析域名;
地址查询模块43,与第三获取模块42连接,用于根据待解析域名查询预先建立的运营商网络号对应的缓冲池中是否存在与待解析域名对应的IP地址;
结果发送模块44,与地址查询模块43连接,用于在地址查询模块的查询结果中存在与待解析域名对应的IP地址时,获取待解析域名对应的IP地址,并向终端发送域名解析结果。
可选地,若预先建立的运营商网络号对应的缓冲池中不存在与待解析域名对应的IP地址,则该DNS服务器还包括:
去除模块,用于从DNS请求报文中去除运营商网络号;
第一发送模块,用于向运营商网络号所对应的运营商DNS服务器发送去除了运营商网络号的DNS请求报文;
第一接收模块,用于接收运营商DNS服务器基于去除了运营商网络号的DNS请求报文返回的IP地址,并将待解析域名和返回的IP地址的对应对关系添加到缓冲池中。
可选地,若预先建立的运营商网络号对应的缓冲池中不存在与待解析域名对应的IP地址,则该DNS服务器还包括:
第二发送模块,用于向运营商网络号所对应的运营商DNS服务器转发DNS请求报文;
第二接收模块,用于接收运营商DNS服务器基于DNS请求报文返回的IP地址,并将待解析域名和返回的IP地址的对应对关系添加到缓冲池中。
实施例2至实施例4提供的域名解析方法、终端和DNS服务器,通过获取应用程序的DNS请求报文以及终端当前网络的运营商网络号,并在不改变当前DNS协议的情况下,将运营商网络号添加到该DNS请求报文中,同时,终端向DNS服务器发送该DNS请求报文,以使得DNS服务器接收到该DNS请求报文后,查询该运营商网络号所对应的缓冲池中是否存在与待解析域名对应的IP地址,并在查询结果为存在时,向所述终端返回域名解析结果,再由所述终端向该应用程序发送域名解析结果。由于域名解析结果中的服务器IP地址是终端当前所用网络的运营商所部署的服务器IP地址,通过使用同一运营商网络访问同一运营商的服务器,从而能够减少IP路由的次数,降低网络访问的延迟,解决了现有的域名解析方法由于解析得到的服务器IP地址可能需要跨运营商网络传输,从而导致较大的网络延迟,大大降低了用户体验的问题。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (9)
1.一种域名解析方法,其特征在于,应用于终端,所述方法包括:
获取应用程序的DNS请求报文;
获取当前网络的运营商网络号;
将所述运营商网络号添加到所述DNS请求报文中,并将添加了所述运营商网络号的DNS请求报文发送给DNS服务器;
接收所述DNS服务器发送的域名解析结果,并将所述域名解析结果发送给所述应用程序;
其中,所述DNS请求报文为符合DNS协议的报文,所述DNS请求报文的Queries区域包括Name字段;
所述将所述运营商网络号添加到所述DNS请求报文中,具体包括:
将所述运营商网络号添加到所述DNS请求报文中的Queries区域的Name字段。
2.根据权利要求1所述的域名解析方法,其特征在于,所述获取应用程序的DNS请求报文,包括:
获取所述应用程序待外发的网络请求报文,通过拦截所述网络请求报文中的DNS请求报文获取所述应用程序的DNS请求报文。
3.根据权利要求1所述的域名解析方法,其特征在于,所述DNS请求报文中的Queries区域的Name字段预先依次设置有待解析域名前缀长度、待解析域名前缀、待解析域名后缀长度和待解析域名后缀;
所述将所述运营商网络号添加到所述DNS请求报文中的Queries区域的Name字段,包括:
在所述待解析域名前缀之前***所述运营商网络号,并将所述待解析域名前缀长度增加所述运营商网络号的长度;或者,
在所述待解析域名前缀之后***所述运营商网络号,并将所述待解析域名前缀长度增加所述运营商网络号的长度;或者,
在所述待解析域名后缀之前***所述运营商网络号,并将所述待解析域名后缀长度增加所述运营商网络号的长度;或者,
在所述待解析域名后缀之后***所述运营商网络号,并将所述待解析域名后缀长度增加所述运营商网络号的长度。
4.根据权利要求1-3任一项所述的域名解析方法,其特征在于,所述运营商网络号为46000、46001或46003中的一种。
5.一种域名解析方法,其特征在于,应用于DNS服务器,所述方法包括:
接收终端发送的添加了运营商网络号的DNS请求报文,其中,所述DNS请求报文为符合DNS协议的报文,所述DNS请求报文的Queries区域包括Name字段,所述运营商网络号添加在所述DNS请求报文中的Queries区域的Name字段中;
获取所述DNS请求报文中的运营商网络号和待解析域名;
根据所述待解析域名查询预先建立的所述运营商网络号对应的缓冲池中是否存在与所述待解析域名对应的IP地址;
若存在,则获取所述待解析域名对应的IP地址,并向所述终端发送域名解析结果。
6.根据权利要求5所述的域名解析方法,其特征在于,若预先建立的所述运营商网络号对应的缓冲池中不存在与所述待解析域名对应的IP地址,则所述方法还包括:
从所述DNS请求报文中去除所述运营商网络号;
向所述运营商网络号所对应的运营商DNS服务器发送去除了所述运营商网络号的DNS请求报文;
接收所述运营商DNS服务器基于所述去除了所述运营商网络号的DNS请求报文返回的IP地址,并将所述待解析域名和返回的IP地址的对应对关系添加到所述缓冲池中。
7.根据权利要求5所述的域名解析方法,其特征在于,若预先建立的所述运营商网络号对应的缓冲池中不存在与所述待解析域名对应的IP地址,则所述方法还包括:
向所述运营商网络号所对应的运营商DNS服务器转发所述DNS请求报文;
接收所述运营商DNS服务器基于所述DNS请求报文返回的IP地址,并将所述待解析域名和返回的IP地址的对应对关系添加到所述缓冲池中。
8.一种终端,其特征在于,包括:
第一获取模块,用于获取应用程序的DNS请求报文;
第二获取模块,用于获取当前网络的运营商网络号;
报文发送模块,与所述第一获取模块和第二获取模块连接,用于将所述运营商网络号添加到所述DNS请求报文中,并将添加了所述运营商网络号的DNS请求报文发送给DNS服务器;
接收处理模块,与所述报文发送模块连接,用于接收所述DNS服务器发送的域名解析结果,并将所述域名解析结果发送给所述应用程序;
其中,所述DNS请求报文为符合DNS协议的报文,所述DNS请求报文的Queries区域包括Name字段;
所述报文发送模块具体用于将所述运营商网络号添加到所述DNS请求报文中的Queries区域的Name字段。
9.一种DNS服务器,其特征在于,包括:
报文接收模块,用于接收终端发送的添加了运营商网络号的DNS请求报文,其中,所述DNS请求报文为符合DNS协议的报文,所述DNS请求报文的Queries区域包括Name字段,所述运营商网络号添加在所述DNS请求报文中的Queries区域的Name字段中;
第三获取模块,与所述报文接收模块连接,用于获取所述DNS请求报文中的运营商网络号和待解析域名;
地址查询模块,与所述第三获取模块连接,用于根据所述待解析域名查询预先建立的所述运营商网络号对应的缓冲池中是否存在与所述待解析域名对应的IP地址;
结果发送模块,与所述地址查询模块连接,用于在所述地址查询模块的查询结果中存在与所述待解析域名对应的IP地址时,获取所述待解析域名对应的IP地址,并向所述终端发送域名解析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110024279.7A CN112887441B (zh) | 2021-01-08 | 2021-01-08 | 一种域名解析方法、终端和dns服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110024279.7A CN112887441B (zh) | 2021-01-08 | 2021-01-08 | 一种域名解析方法、终端和dns服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887441A CN112887441A (zh) | 2021-06-01 |
CN112887441B true CN112887441B (zh) | 2023-04-07 |
Family
ID=76047300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110024279.7A Active CN112887441B (zh) | 2021-01-08 | 2021-01-08 | 一种域名解析方法、终端和dns服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887441B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760267B (zh) * | 2022-04-08 | 2024-03-19 | ***通信集团陕西有限公司 | 域名封堵方法、装置、设备、介质及程序产品 |
CN115022285B (zh) * | 2022-06-02 | 2024-02-09 | 北京亿安天下科技股份有限公司 | 一种一键式自动化互联网通信设备配置的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846483A (zh) * | 2017-11-10 | 2018-03-27 | 北京粉笔蓝天科技有限公司 | 一种域名解析方法、***和服务器 |
CN108566446A (zh) * | 2018-04-09 | 2018-09-21 | 广州热点软件科技股份有限公司 | 局域网域名解析方法、装置和*** |
CN109995889A (zh) * | 2018-01-02 | 2019-07-09 | ***通信有限公司研究院 | 映射关系表的更新方法、装置、网关设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420762B (zh) * | 2007-10-23 | 2011-02-23 | ***通信集团公司 | 接入网关的选择方法、***及网关选择执行节点 |
-
2021
- 2021-01-08 CN CN202110024279.7A patent/CN112887441B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846483A (zh) * | 2017-11-10 | 2018-03-27 | 北京粉笔蓝天科技有限公司 | 一种域名解析方法、***和服务器 |
CN109995889A (zh) * | 2018-01-02 | 2019-07-09 | ***通信有限公司研究院 | 映射关系表的更新方法、装置、网关设备及存储介质 |
CN108566446A (zh) * | 2018-04-09 | 2018-09-21 | 广州热点软件科技股份有限公司 | 局域网域名解析方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN112887441A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108353095B (zh) | 域名解析方法、客户端、边缘节点及域名解析*** | |
US20230354149A1 (en) | Method for identification of traffic suitable for edge breakout and for traffic steering in a mobile network | |
CN1930848B (zh) | 用于万维网服务处理的方法和*** | |
CN109981803B (zh) | 业务请求处理方法及装置 | |
US7333459B2 (en) | Allocation of a server address to a terminal | |
US10581797B2 (en) | Hybrid access DNS optimization for multi-source download | |
CN101325552B (zh) | 访问请求的三角转发方法和glb服务器 | |
CN112887441B (zh) | 一种域名解析方法、终端和dns服务器 | |
CN101540759B (zh) | 业务服务器地址获取方法及通信*** | |
CN112217856B (zh) | 应用实例的地址获取方法、装置、设备及存储介质 | |
CN114258667B (zh) | 用于获得ip地址的方法和装置 | |
CN109040243B (zh) | 一种报文处理方法及装置 | |
CN102843391A (zh) | 一种信息发送方法及网关 | |
CN107707683B (zh) | 一种减小dns报文长度的方法和装置 | |
CN110233834B (zh) | 网络***、攻击报文的拦截方法、装置和设备 | |
JP4699530B2 (ja) | サービスアドレス指定のための方法、システム、およびアプリケーション | |
CN103078963A (zh) | 一种域名服务器的选择方法和设备 | |
CN103825923A (zh) | 一种资源下载方法、业务服务器及手机客户端 | |
CN102480721A (zh) | 运营商路由号码的获取方法及服务器 | |
CN101801059A (zh) | 用于cpe的数据访问方法和cpe | |
CN110225144A (zh) | 获取及提供服务的方法、用户设备和管理服务器 | |
CN105657055A (zh) | 一种面向web网页的局域网设备发现方法及装置 | |
CN114124889B (zh) | 确定业务服务器地址的方法和通信装置 | |
CN111988441A (zh) | 基于IPv6的组网接入方法及*** | |
CN105429880B (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 |