CN106161667A - 一种域名解析方法及装置 - Google Patents
一种域名解析方法及装置 Download PDFInfo
- Publication number
- CN106161667A CN106161667A CN201510204630.5A CN201510204630A CN106161667A CN 106161667 A CN106161667 A CN 106161667A CN 201510204630 A CN201510204630 A CN 201510204630A CN 106161667 A CN106161667 A CN 106161667A
- Authority
- CN
- China
- Prior art keywords
- record
- resource
- aaaa
- domain name
- ipv6
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种域名解析方法及装置,该域名解析方法包括:根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录;根据AAAA记录,确定AAAA记录对应的IPv6资源是否可达;将对应IPv6资源为可达的AAAA记录,发送至客户端。本发明实施例根据AAAA记录确定AAAA记录对应的IPv6资源是否可达,对于可达的资源,对客户端提供AAAA记录;对于不可达的资源,删除该AAAA记录,不向客户端提供;通过该域名解析方法,使得客户端能够优先与可达的IPv6资源进行通信,而当资源不可达时,直接访问IPv4资源,避免了由于IPv6资源不可达再退回访问IPv4资源而导致的时间的浪费,提升了用户体验。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种域名解析方法及装置。
背景技术
1984年Paul Mockapetris发布了RFC882和RFC883(随后被RFC1034和RFC1035代替),系统地描述了域名系统DNS的基本思想,标志着DNS的诞生。域名系统DNS实现互联网域名到IP地址的转换,起到IP层与应用层间的桥梁作用,是HTTP、Email等几乎所有互联网应用的基础服务。其中,DNS域名解析流程如图1所示:
(1)客户端向Local DNS(本地域名服务器)发出域名解析查询请求;(2)本地域名服务器检查其DNS cache(DNS快速缓冲贮存区),发现没有该记录,将此请求发送给Authoritative DNS(权威域名服务器);(3)Authoritative DNS中发现有该请求的记录,将对应的IP地址返回给Local DNS;(4)Local DNS将解析结果返回客户端;(5)域名解析完成。
现有技术中,在IPv4v6双栈情况下,DNS工作流程与上述DNS域名解析流程基本相同,但不同的是DNS会根据客户端的要求为其提供A记录和AAAA记录,具体流程如下:
(1)客户端向Local DNS发出域名解析查询请求。同时包含A、AAAA记录的请求;(2)Local域名服务器检查其DNS cache,如果有对应A、AAAA记录,则直接反馈给用户;如果发现没有该A、AAAA记录,将此请求发送给Authoritative DNS;(3)Authoritative DNS中发现有该请求的A、AAAA记录,将对应的IPv4/v6地址返回给Local DNS;(4)Local DNS将解析结果返回客户端;(5)域名解析完成。
在上述场景中,需要注意的是,无论DNS的承载路径为IPv4或IPv6或双栈,用户均可获取A、AAAA记录;这就导致了一个严重的问题,当前是IPv6的导入期,用户可能通过DNS获取了AAAA记录,但无法通过IPv6链路访问网站。
如图2所示,目前国内为数不多的支持IPv6的网站IDC可能仅接入某一个运营商,如果ISP骨干网不能通过IPv6互通,则会导致用户无法访问。即首先双栈终端获取AAAA DNS记录,并使用IPv6访问该网站,由于骨干网IPv6不互通将导致用户访问失败;然后IE等浏览器需等待数十秒后才可重新发起IPv4访问。需要注意的是,几乎所有浏览器在获取A记录、AAAA记录后,均优先采用AAAA记录访问(选取IPv6通道)。但当发现IPv6通道不可用必须退回IPv4所需的时间较长,其中以IE为内核的浏览器尤为明显,造成用户体验下降严重。具体的如下表所示:
发明内容
本发明的目的在于提供一种域名解析方法及装置,解决了当IPv6通道不可用必须退回IPv4通道时所需时间较长的问题,实现对IPv6通道是否可用的检测,使得用户直接访问可用的IPv6通道,提供访问效率,提升用户体验。
为了达到上述目的,本发明实施例提供一种域名解析方法,包括:
根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录;
根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达;
将对应IPv6资源为可达的AAAA记录,发送至所述客户端。
其中,所述域名解析方法还包括:
将对应IPv6资源为可达的AAAA记录添加至本地DNS服务器的资源记录区中。
其中,所述根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达,具体包括:
向所述AAAA记录对应的IPv6资源发送探测请求数据包;
若接收到针对所述探测数据包返回的探测响应数据包,则确定所述AAAA记录对应的IPv6资源可达;否则,所述AAAA记录对应的IPv6资源不可达。
其中,所述向所述AAAA记录对应的IPv6资源发送探测请求数据包,具体为:
向所述AAAA记录对应的IPv6资源发送基于ping协议的探测请求数据包。
其中,所述根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达,具体包括:
向所述AAAA记录对应的IPv6资源发送http访问请求;
若访问成功,则确定所述AAAA记录对应的IPv6资源可达;否则,确定所述AAAA记录对应的IPv6资源不可达。
其中,所述根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达,具体包括:
向所述AAAA记录对应的IPv6资源发送探测请求数据包;
若未接收到针对所述探测数据包返回的探测响应数据包括,则确定所述AAAA记录对应的IPv6资源不可达;
若接收到针对所述探测数据包返回的探测响应数据包,向所述AAAA记录对应的IPv6资源发送http访问请求;访问成功,则确定所述AAAA记录对应的IPv6资源可达;访问失败,则确定所述AAAA记录对应的IPv6资源不可达。
其中,所述根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录,具体包括:
根据所述客户端发出的域名解析请求,查询本地DNS服务器的资源记录区;
若本地DNS服务器的资源记录区中记录有与所述域名解析请求对应的A记录和AAAA记录,从本地DNS服务器的资源记录区中获取所述A记录和AAAA记录;
若本地DNS服务器的资源记录区中没有与所述域名解析请求对应的A记录和AAAA记录,将所述域名解析请求转发至上级DNS服务器,由所述上级DNS服务器查询确定A记录和AAAA记录,从所述上级DNS服务器中获取所述A记录和AAAA记录。
其中,所述域名解析方法还包括:
接收所述本地DNS服务器的资源记录区发送的更新记录的请求,获取所述资源记录区中的AAAA记录;
向所述AAAA记录对应的IPv6资源发送探测请求数据包,若未接收到针对所述探测数据包返回的探测响应数据包,将所述IPv6资源对应的AAAA记录从所述资源记录区中删除。
本发明实施例还提供一种域名解析装置,包括:
获取模块,用于根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录;
确定模块,用于根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达;
反馈模块,用于将对应IPv6资源为可达的AAAA记录,发送至所述客户端。
其中,所述域名解析装置还包括:
记录模块,用于将对应IPv6资源为可达的AAAA记录添加至本地DNS服务器的资源记录区中。
其中,所述确定模块包括:
第一操作模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包;
第一确定子模块,用于若接收到针对所述探测数据包返回的探测响应数据包,则确定所述AAAA记录对应的IPv6资源可达;否则,所述AAAA记录对应的IPv6资源不可达。
其中,所述第一操作模块包括:
第一操作子模块,用于向所述AAAA记录对应的IPv6资源发送基于ping协议的探测请求数据包。
其中,所述确定模块包括:
第二操作模块,用于向所述AAAA记录对应的IPv6资源发送http访问请求;
第二确定子模块,用于若访问成功,则确定所述AAAA记录对应的IPv6资源可达;否则,确定所述AAAA记录对应的IPv6资源不可达。
其中,所述确定模块包括:
第三操作模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包;
第三确定子模块,用于若未接收到针对所述探测数据包返回的探测响应数据包括,则确定所述AAAA记录对应的IPv6资源不可达;
第四确定子模块,用于若接收到针对所述探测数据包返回的探测响应数据包,向所述AAAA记录对应的IPv6资源发送http访问请求;访问成功,则确定所述AAAA记录对应的IPv6资源可达;访问失败,则确定所述AAAA记录对应的IPv6资源不可达。
其中,所述获取模块包括:
查询模块,用于根据所述客户端发出的域名解析请求,查询本地DNS服务器的资源记录区;
第一获取子模块,用于若本地DNS服务器的资源记录区中记录有与所述域名解析请求对应的A记录和AAAA记录,从本地DNS服务器的资源记录区中获取所述A记录和AAAA记录;
第二获取子模块,用于若本地DNS服务器的资源记录区中没有与所述域名解析请求对应的A记录和AAAA记录,将所述域名解析请求转发至上级DNS服务器,由所述上级DNS服务器查询确定A记录和AAAA记录,从所述上级DNS服务器中获取所述A记录和AAAA记录。
其中,所述域名解析装置还包括:
接收获取模块,用于接收所述本地DNS服务器的资源记录区发送的更新记录的请求,获取所述资源记录区中的AAAA记录;
更新模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包,若未接收到针对所述探测数据包返回的探测响应数据包,将所述IPv6资源对应的AAAA记录从所述资源记录区中删除。
本发明的上述技术方案至少具有如下有益效果:
本发明实施例的域名解析方法及装置中,根据AAAA记录确定AAAA记录对应的IPv6资源是否可达,对于可达的资源,对客户端提供AAAA记录;对于不可达的资源,删除该AAAA记录,不向客户端提供;通过该域名解析方法,使得客户端能够优先与可达的IPv6资源进行通信,而当资源不可达时,直接访问IPv4资源,避免了由于IPv6资源不可达再退回访问IPv4资源而导致的时间的浪费,提升了用户体验。
附图说明
图1表示现有技术中域名解析的原理示意图;
图2表示现有技术中双栈用户无法访问IPv6业务的原理示意图;
图3表示本发明实施例的域名解析方法的基本步骤示意图;
图4表示本发明实施例中采用ping方式验证IPv6资源是否可行的具体流程图;
图5表示本发明实施例中采用ping方式实现资源记录区的周期性更新的具体流程图;
图6表示本发明实施例中采用http方式验证IPv6资源是否可行的具体流程图;
图7表示本发明实施例中采用ping方式和http方式结合验证IPv6资源是否可行的具体流程图;
图8表示本发明实施例的域名解析装置的组成结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有技术中当IPv6通道不可用必须退回IPv4通道时所需时间较长的问题,提供一种域名解析方法及装置,根据AAAA记录确定AAAA记录对应的IPv6资源是否可达,对于可达的资源,对客户端提供AAAA记录;对于不可达的资源,删除该AAAA记录,不向客户端提供;通过该域名解析方法,使得客户端能够优先与可达的IPv6资源进行通信,而当资源不可达时,直接访问IPv4资源,避免了由于IPv6资源不可达再退回访问IPv4资源而导致的时间的浪费,提升了用户体验。
需要说明的是,本发明实施例提供的域名解析方法应用于本地DNS服务器上,且本发明实施例中提及的客户端为双栈客户端,即同时支持IPv4和IPv6的客户端,其发送的域名解析请求为双栈请求。
如图3所示,本发明实施例提供一种域名解析方法,包括:
步骤31,根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录;
步骤32,根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达;
步骤33,将对应IPv6资源为可达的AAAA记录,发送至所述客户端。
本发明的上述实施例中,AAAA记录(AAAA record)是用来将域名解析到IPv6地址的DNS记录。用户可以将一个域名解析到IPv6地址上,也可以将子域名解析到IPv6地址上。每一个AAAA记录对应一个IPv6资源,故可根据AAAA记录判断其对应的IPV6资源是否可达,IPv6资源可达即该IPv6资源当前可被用户访问,且用户根据该AAAA记录可访问其对应的IPv6资源。本发明实施例提供的方法在用户访问IPv6资源之前通过对AAAA记录对应的IPv6资源是否可达进行验证,并将可达的IPv6资源对应的AAAA记录反馈至客户端,使得客户端能够根据AAAA记录访问IPv6资源,避免了由于IPv6资源不可达再退回访问IPv4资源而导致的时间的浪费,提升了用户体验。
具体的,步骤31中,根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录,具体包括:
步骤311,根据所述客户端发出的域名解析请求,查询本地DNS服务器的资源记录区;
步骤312,若本地DNS服务器的资源记录区中记录有与所述域名解析请求对应的A记录和AAAA记录,从本地DNS服务器的资源记录区中获取所述A记录和AAAA记录;
步骤313,若本地DNS服务器的资源记录区中没有与所述域名解析请求对应的A记录和AAAA记录,将所述域名解析请求转发至上级DNS服务器,由所述上级DNS服务器查询确定A记录和AAAA记录,从所述上级DNS服务器中获取所述A记录和AAAA记录。
其中,A记录是用来将域名解析到IPv4地址的DNS记录。若客户端发出的域名解析请求为双栈请求,则本地DNS服务器需查询A记录和AAAA记录;若客户端发出的域名解析请求仅包含A记录的请求,则本地DNS服务器仅需查询A记录;若客户端发出的域名解析请求仅包含AAAA记录的请求,则本地DNS服务器仅需查询AAAA记录。需要说明的是,本发明实施例提供的域名解析方法适用于域名解析请求中包含AAAA记录的请求,即双栈请求和AAAA请求。
本地DNS服务器包含一资源记录区,该资源记录区中保存与域名解析请求对应的A记录和AAAA记录。需要说明的是,若本地DNS服务器中没有查找到对应的A记录和AAAA记录,需将该域名解析请求转发至上级DNS服务器(一般指Authoritative DNS,即权威DNS),由上级DNS服务器来查找对应的A记录和AAAA记录,直到查询到A记录和AAAA记录为止;查询到的A记录和AAAA记录被转发至本地DNS服务器,本地DNS服务器将A记录和有效的AAAA记录保存至资源记录区。其中,有效的AAAA记录是指对应IPv6资源为可达的AAAA记录。具体的,所述域名解析方法还包括:
步骤34,将对应IPv6资源为可达的AAAA记录添加至本地DNS服务器的资源记录区中。
简言之,本地DNS服务器的资源记录区(DNS Cache)中保存有与之前的域名解析请求对应的A记录和/或AAAA记录,使得后续有与之前相同的域名解析请求时,可以直接从本地DNS服务器的资源记录区获取A记录和/或AAAA记录,节省了转发至上级DNS服务器进行域名解析再返回结果的时间,提升用户体验。进一步的,由于本发明实施例中本地DNS服务器的资源记录区中保存的AAAA记录对应的IPv6资源为可达资源,则客户端可通过该AAAA记录直接成功的访问对应的IPv6资源,避免了访问IPv6资源失败再退回访问IPv4资源浪费的时间,提高了访问速率,进一步提升用户体验。
本发明的上述实施例中,判断AAAA记录对应的IPv6资源是否可达的方法具体为(即步骤32具体包括):
步骤321,向所述AAAA记录对应的IPv6资源发送探测请求数据包;
步骤322,若接收到针对所述探测数据包返回的探测响应数据包,则确定所述AAAA记录对应的IPv6资源可达;否则,所述AAAA记录对应的IPv6资源不可达。
需要说明的是,本发明实施例提供的发送的探测请求数据包是为了验证IPv6资源是否可达,其具体形式至少包括:基于ping协议的探测请求数据包、基于trace命令的探测请求数据包以及基于tracert命令的探测请求数据包。上述具体形式仅为举例说明,其他能够坚持网络是否可达的命令或协议在本发明实施例中同样适用。本发明的具体实施例中,采用较常用的ping协议为例来描述本发明的具体实现过程,其他协议或命令的检测过程与ping协议类似,在此不作一一描述。具体的,步骤321包括:
步骤3211,向所述AAAA记录对应的IPv6资源发送基于ping协议的探测请求数据包。
其中,Ping是Windows下的一个命令在Unix和Linux下也有这个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地分析和判定网络故障。本发明实施例中,发送探测请求数据包,即是利用ping操作来检测IPv6网络是否连通。
具体的,对AAAA记录进行ping操作(即步骤321),继而步骤322中,若接收到针对所述探测数据包返回的探测响应数据包,即可以ping通,则确定所述AAAA记录对应的IPv6资源可达;否则,即不可以ping通,则确定所述AAAA记录对应的IPv6资源不可达。
例如,如图4所示,一双栈用户发起域名解析请求,并通过ping方式实现IPv6资源检测的方法具体如下:
①用户发起双栈请求;
②本地DNS查询Cache(资源记录区),未找到对应记录;
③本地DNS进行递归查询(即将双栈请求转发至权威DNS);
④权威DNS向本地DNS反馈记录,包括A记录和AAAA记录;
⑤本地DNS对AAAA记录进行Ping操作;例如IPv6.google.com反馈的AAAA记录是2002:3A5B::1,则本地DNS发起ping 2002:3A5B::1操作;
⑥根据ping的结果,Local DNS向用户反馈相应的A或AAAA记录;即如果可以ping通,则对用户返回该AAAA记录,反之不反馈;
⑦本地DNS将A记录和可以ping通的AAAA记录更新至Cache。
需要说明的是,为了保证Cache中AAAA记录的实时性(即其对应的IPv6资源一直可达),本发明实施例中,对Cache中AAAA记录采用周期性更新的方法进行保存,即定期的对Cache中AAAA记录重新进行ping操作,可ping通的继续保留在Cache中,无法ping通的删除。
具体的,本发明实施例中关于Cache中周期性更新的方法,所述域名解析方法还包括:
步骤35,接收所述本地DNS服务器的资源记录区发送的更新记录的请求,获取所述资源记录区中的AAAA记录;
步骤36,向所述AAAA记录对应的IPv6资源发送探测请求数据包,若未接收到针对所述探测数据包返回的探测响应数据包(即无法ping通),将所述IPv6资源对应的AAAA记录从所述资源记录区中删除。
例如,如图5所示,采用ping操作的方式时,本地DNS中Cache周期更新AAAA记录的具体流程如下:
①Cache内AAAA记录到期(该周期为预先设置的);
②Cache请求本地DNS对相应记录更新;
③本地DNS从Cache中获取需更新的AAAA记录;
④本地DNS对需更新的AAAA记录进行Ping操作;
⑤本地DNS根据ping的结果更新Cache内记录,即可ping通的继续保留在Cache中,无法ping通的从Cache中删除。
需要说明的是,仅采用ping的方式来确定通路是否可达可能会发生误判,例如:网站侧端口配置有误,或IDC内防火墙配置有问题等,均可造成网站IP地址可ping通,但无法访问的情况。为了降低其误判率,提升用户体验,本发明实施例还提供一种http请求的方式来判断AAAA记录对应的IPv6资源是否可达。具体的,由于本地DNS服务器或DNS调用的其他服务器记录有IPv6资源是否访问成功的记录,则可在客户端发起IPv6访问之前,利用本地DNS服务器代替客户端发起IPv6的http请求,以验证该IPv6资源是否可达。
具体的,本发明上述实施例中,步骤32具体包括:
步骤323,向所述AAAA记录对应的IPv6资源发送http访问请求;
步骤324,若访问成功,则确定所述AAAA记录对应的IPv6资源可达;否则,确定所述AAAA记录对应的IPv6资源不可达。
例如,如图6所示,一双栈用户发起域名解析请求,并通过http方式实现IPv6资源检测的方法具体如下:
①用户发起双栈请求;
②本地DNS查询Cache,未找到对应记录;
③本地DNS进行递归查询(即将双栈请求转发至权威DNS);
④权威DNS向本地DNS反馈记录,包括A记录和AAAA记录;
⑤本地DNS服务器(或DNS调用其他服务器)使用HTTP浏览器访问网站,如Fierfox、chrome等。该服务器记录IPv6是否访问成功。
⑥根据服务器访问的结果,Local DNS向用户反馈相应的A或AAAA记录;及如果访问成功,则对用户返回该AAAA记录,反之不反馈;
⑦本地DNS将A记录和可以访问的AAAA记录更新至Cache。
需要说明的是,关于Cache中周期性更新的方法,采用http的方式进行更新的步骤与采用ping操作的步骤一致,大致为对Cache中AAAA记录采用周期性更新的方法进行保存,即本地DNS服务器定期的对Cache中AAAA记录对应的IPv6资源进行http访问,可访问成功的继续保留在Cache中,无法访问的删除。其具体步骤在此不重复赘述。
综上,本发明实施例中,判断IPv6资源是否可达的方式包括:对AAAA记录进行ping操作和进行http访问两种方式,该两种方式可单独使用,也可综合使用,即为了避免单独使用ping的方式时造成漏判,本发明实施例还提供一种所述根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达的方法,具体包括(即步骤32具体包括):
步骤325,向所述AAAA记录对应的IPv6资源发送探测请求数据包;
步骤326,若未接收到针对所述探测数据包返回的探测响应数据包括,则确定所述AAAA记录对应的IPv6资源不可达;
步骤327,若接收到针对所述探测数据包返回的探测响应数据包,向所述AAAA记录对应的IPv6资源发送http访问请求;访问成功,则确定所述AAAA记录对应的IPv6资源可达;访问失败,则确定所述AAAA记录对应的IPv6资源不可达。
例如,如图7所示,一双栈用户发起域名解析请求,并通过ping方式和http方式综合的方法实现IPv6资源检测的方法具体如下:
①用户发起双栈请求;
②本地DNS查询Cache,未找到对应记录;
③本地DNS进行递归查询(即将双栈请求转发至权威DNS);
④权威DNS向本地DNS反馈记录,包括A记录和AAAA记录;
⑤本地DNS对AAAA记录进行Ping操作;
⑥对于可以ping成功的AAAA记录,DNS服务器(或DNS调用其他服务器)使用HTTP浏览器访问网站,该浏览器支持HE,如Fierfox、chrome等。该服务器记录IPv6是否访问成功。如果未ping通,则不进行此步骤。
⑦根据服务器访问的结果,本地DNS向用户反馈相应的A或AAAA记录;
⑧本地DNS将记录更新至Cache。
为了更好的实现上述目的,如图8所示,本发明实施例还提供一种域名解析装置,包括:
获取模块81,用于根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录;
确定模块82,用于根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达;
反馈模块83,用于将对应IPv6资源为可达的AAAA记录,发送至所述客户端。
具体的,本发明的上述实施例中所述域名解析装置还包括:
记录模块,用于将对应IPv6资源为可达的AAAA记录添加至本地DNS服务器的资源记录区中。
具体的,本发明的上述实施例中所述确定模块82包括:
第一操作模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包;
第一确定子模块,用于若接收到针对所述探测数据包返回的探测响应数据包,则确定所述AAAA记录对应的IPv6资源可达;否则,所述AAAA记录对应的IPv6资源不可达。
具体的,本发明的上述实施例中所述第一操作模块包括:
第一操作子模块,用于向所述AAAA记录对应的IPv6资源发送基于ping协议的探测请求数据包。
具体的,本发明的上述实施例中所述确定模块82包括:
第二操作模块,用于向所述AAAA记录对应的IPv6资源发送http访问请求;
第二确定子模块,用于若访问成功,则确定所述AAAA记录对应的IPv6资源可达;否则,确定所述AAAA记录对应的IPv6资源不可达。
具体的,本发明的上述实施例中所述确定模块82包括:
第三操作模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包;
第三确定子模块,用于若未接收到针对所述探测数据包返回的探测响应数据包括,则确定所述AAAA记录对应的IPv6资源不可达;
第四确定子模块,用于若接收到针对所述探测数据包返回的探测响应数据包,向所述AAAA记录对应的IPv6资源发送http访问请求;访问成功,则确定所述AAAA记录对应的IPv6资源可达;访问失败,则确定所述AAAA记录对应的IPv6资源不可达。
具体的,本发明的上述实施例中所述获取模块包括:
查询模块,用于根据所述客户端发出的域名解析请求,查询本地DNS服务器的资源记录区;
第一获取子模块,用于若本地DNS服务器的资源记录区中记录有与所述域名解析请求对应的A记录和AAAA记录,从本地DNS服务器的资源记录区中获取所述A记录和AAAA记录;
第二获取子模块,用于若本地DNS服务器的资源记录区中没有与所述域名解析请求对应的A记录和AAAA记录,将所述域名解析请求转发至上级DNS服务器,由所述上级DNS服务器查询确定A记录和AAAA记录,从所述上级DNS服务器中获取所述A记录和AAAA记录。
具体的,本发明的上述实施例中所述域名解析装置还包括:
接收获取模块,用于接收所述本地DNS服务器的资源记录区发送的更新记录的请求,获取所述资源记录区中的AAAA记录;
更新模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包,若未接收到针对所述探测数据包返回的探测响应数据包,将所述IPv6资源对应的AAAA记录从所述资源记录区中删除。
本发明的上述实施例的域名解析方法中,根据AAAA记录确定AAAA记录对应的IPv6资源是否可达,对于可达的资源,对客户端提供AAAA记录;对于不可达的资源,删除该AAAA记录,不向客户端提供;通过该域名解析方法,使得客户端能够优先与可达的IPv6资源进行通信,而当资源不可达时,直接访问IPv4资源,避免了由于IPv6资源不可达再退回访问IPv4资源而导致的时间的浪费,提升了用户体验
需要说明的是,本发明实施例提供的域名解析装置的应用上述域名解析方法的装置,则上述域名解析方法的所有实施例均适用于该域名解析装置,且均能达到相同或相似的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种域名解析方法,其特征在于,包括:
根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录;
根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达;
将对应IPv6资源为可达的AAAA记录,发送至所述客户端。
2.根据权利要求1所述的域名解析方法,其特征在于,所述域名解析方法还包括:
将对应IPv6资源为可达的AAAA记录添加至本地DNS服务器的资源记录区中。
3.根据权利要求1所述的域名解析方法,其特征在于,所述根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达,具体包括:
向所述AAAA记录对应的IPv6资源发送探测请求数据包;
若接收到针对所述探测数据包返回的探测响应数据包,则确定所述AAAA记录对应的IPv6资源可达;否则,所述AAAA记录对应的IPv6资源不可达。
4.根据权利要求3所述的域名解析方法,其特征在于,所述向所述AAAA记录对应的IPv6资源发送探测请求数据包,具体为:
向所述AAAA记录对应的IPv6资源发送基于ping协议的探测请求数据包。
5.根据权利要求1所述的域名解析方法,其特征在于,所述根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达,具体包括:
向所述AAAA记录对应的IPv6资源发送http访问请求;
若访问成功,则确定所述AAAA记录对应的IPv6资源可达;否则,确定所述AAAA记录对应的IPv6资源不可达。
6.根据权利要求1所述的域名解析方法,其特征在于,所述根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达,具体包括:
向所述AAAA记录对应的IPv6资源发送探测请求数据包;
若未接收到针对所述探测数据包返回的探测响应数据包括,则确定所述AAAA记录对应的IPv6资源不可达;
若接收到针对所述探测数据包返回的探测响应数据包,向所述AAAA记录对应的IPv6资源发送http访问请求;访问成功,则确定所述AAAA记录对应的IPv6资源可达;访问失败,则确定所述AAAA记录对应的IPv6资源不可达。
7.根据权利要求1所述的域名解析方法,其特征在于,所述根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录,具体包括:
根据所述客户端发出的域名解析请求,查询本地DNS服务器的资源记录区;
若本地DNS服务器的资源记录区中记录有与所述域名解析请求对应的A记录和AAAA记录,从本地DNS服务器的资源记录区中获取所述A记录和AAAA记录;
若本地DNS服务器的资源记录区中没有与所述域名解析请求对应的A记录和AAAA记录,将所述域名解析请求转发至上级DNS服务器,由所述上级DNS服务器查询确定A记录和AAAA记录,从所述上级DNS服务器中获取所述A记录和AAAA记录。
8.根据权利要求2所述的域名解析方法,其特征在于,所述域名解析方法还包括:
接收所述本地DNS服务器的资源记录区发送的更新记录的请求,获取所述资源记录区中的AAAA记录;
向所述AAAA记录对应的IPv6资源发送探测请求数据包,若未接收到针对所述探测数据包返回的探测响应数据包,将所述IPv6资源对应的AAAA记录从所述资源记录区中删除。
9.一种域名解析装置,其特征在于,包括:
获取模块,用于根据一客户端发出的域名解析请求,获取域名解析得到的AAAA记录;
确定模块,用于根据所述AAAA记录,确定所述AAAA记录对应的IPv6资源是否可达;
反馈模块,用于将对应IPv6资源为可达的AAAA记录,发送至所述客户端。
10.根据权利要求9所述的域名解析装置,其特征在于,所述域名解析装置还包括:
记录模块,用于将对应IPv6资源为可达的AAAA记录添加至本地DNS服务器的资源记录区中。
11.根据权利要求9所述的域名解析装置,其特征在于,所述确定模块包括:
第一操作模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包;
第一确定子模块,用于若接收到针对所述探测数据包返回的探测响应数据包,则确定所述AAAA记录对应的IPv6资源可达;否则,所述AAAA记录对应的IPv6资源不可达。
12.根据权利要求11所述的域名解析装置,其特征在于,所述第一操作模块包括:
第一操作子模块,用于向所述AAAA记录对应的IPv6资源发送基于ping协议的探测请求数据包。
13.根据权利要求9所述的域名解析装置,其特征在于,所述确定模块包括:
第二操作模块,用于向所述AAAA记录对应的IPv6资源发送http访问请求;
第二确定子模块,用于若访问成功,则确定所述AAAA记录对应的IPv6资源可达;否则,确定所述AAAA记录对应的IPv6资源不可达。
14.根据权利要求9所述的域名解析装置,其特征在于,所述确定模块包括:
第三操作模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包;
第三确定子模块,用于若未接收到针对所述探测数据包返回的探测响应数据包括,则确定所述AAAA记录对应的IPv6资源不可达;
第四确定子模块,用于若接收到针对所述探测数据包返回的探测响应数据包,向所述AAAA记录对应的IPv6资源发送http访问请求;访问成功,则确定所述AAAA记录对应的IPv6资源可达;访问失败,则确定所述AAAA记录对应的IPv6资源不可达。
15.根据权利要求9所述的域名解析装置,其特征在于,所述获取模块包括:
查询模块,用于根据所述客户端发出的域名解析请求,查询本地DNS服务器的资源记录区;
第一获取子模块,用于若本地DNS服务器的资源记录区中记录有与所述域名解析请求对应的A记录和AAAA记录,从本地DNS服务器的资源记录区中获取所述A记录和AAAA记录;
第二获取子模块,用于若本地DNS服务器的资源记录区中没有与所述域名解析请求对应的A记录和AAAA记录,将所述域名解析请求转发至上级DNS服务器,由所述上级DNS服务器查询确定A记录和AAAA记录,从所述上级DNS服务器中获取所述A记录和AAAA记录。
16.根据权利要求10所述的域名解析装置,其特征在于,所述域名解析装置还包括:
接收获取模块,用于接收所述本地DNS服务器的资源记录区发送的更新记录的请求,获取所述资源记录区中的AAAA记录;
更新模块,用于向所述AAAA记录对应的IPv6资源发送探测请求数据包,若未接收到针对所述探测数据包返回的探测响应数据包,将所述IPv6资源对应的AAAA记录从所述资源记录区中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510204630.5A CN106161667A (zh) | 2015-04-27 | 2015-04-27 | 一种域名解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510204630.5A CN106161667A (zh) | 2015-04-27 | 2015-04-27 | 一种域名解析方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106161667A true CN106161667A (zh) | 2016-11-23 |
Family
ID=57347417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510204630.5A Pending CN106161667A (zh) | 2015-04-27 | 2015-04-27 | 一种域名解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106161667A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306994A (zh) * | 2017-12-07 | 2018-07-20 | 上海西默通信技术有限公司 | 一种互联网访问方法及系统 |
CN108809769A (zh) * | 2018-07-18 | 2018-11-13 | 赛尔网络有限公司 | 一种检测IPv6活跃度的方法和电子设备 |
CN109150655A (zh) * | 2018-07-25 | 2019-01-04 | 赛尔网络有限公司 | 一种IPv4防火墙IPv6绕过的检测方法 |
CN109462668A (zh) * | 2018-10-25 | 2019-03-12 | 维沃移动通信有限公司 | 一种处理域名解析请求的方法和装置 |
CN109495325A (zh) * | 2018-12-26 | 2019-03-19 | 睿哲科技股份有限公司 | 网站IPv6支持度评估方法、装置和设备 |
CN109842566A (zh) * | 2019-01-10 | 2019-06-04 | 杭州迪普科技股份有限公司 | 一种dns解析方法及装置 |
CN110191200A (zh) * | 2019-04-16 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 网络访问方法、装置、电子设备和计算机可读介质 |
CN110225150A (zh) * | 2019-06-27 | 2019-09-10 | 中星科源(北京)信息技术有限公司 | 不同网络协议间的通信方法、系统和存储介质 |
CN113608877A (zh) * | 2021-08-13 | 2021-11-05 | 牙木科技股份有限公司 | 一种内容商ipv4和ipv6资源池负载均衡调度方法 |
CN115412531A (zh) * | 2022-08-31 | 2022-11-29 | 深圳市创维软件有限公司 | 网络查询方法、装置、设备及存储介质 |
US11895215B2 (en) | 2020-03-11 | 2024-02-06 | Huawei Technologies Co., Ltd. | Application server access method and terminal |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756263A (zh) * | 2004-09-27 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 域名解析方法、域名服务器及域名系统 |
WO2011143869A1 (zh) * | 2010-05-20 | 2011-11-24 | 中兴通讯股份有限公司 | 一种提高域名解析效率的方法及终端 |
CN103167045A (zh) * | 2011-12-12 | 2013-06-19 | 中国电信股份有限公司 | 选择网络层协议的方法、 dns 服务器和域名管理系统 |
CN103856436A (zh) * | 2012-11-28 | 2014-06-11 | 中国电信股份有限公司 | 用户设备选择网络层协议的方法、家庭网关和互联网网络 |
CN104519148A (zh) * | 2013-09-30 | 2015-04-15 | 中国电信股份有限公司 | 应用服务器地址的可达性检测方法与系统 |
-
2015
- 2015-04-27 CN CN201510204630.5A patent/CN106161667A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756263A (zh) * | 2004-09-27 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 域名解析方法、域名服务器及域名系统 |
WO2011143869A1 (zh) * | 2010-05-20 | 2011-11-24 | 中兴通讯股份有限公司 | 一种提高域名解析效率的方法及终端 |
CN103167045A (zh) * | 2011-12-12 | 2013-06-19 | 中国电信股份有限公司 | 选择网络层协议的方法、 dns 服务器和域名管理系统 |
CN103856436A (zh) * | 2012-11-28 | 2014-06-11 | 中国电信股份有限公司 | 用户设备选择网络层协议的方法、家庭网关和互联网网络 |
CN104519148A (zh) * | 2013-09-30 | 2015-04-15 | 中国电信股份有限公司 | 应用服务器地址的可达性检测方法与系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306994A (zh) * | 2017-12-07 | 2018-07-20 | 上海西默通信技术有限公司 | 一种互联网访问方法及系统 |
CN108809769B (zh) * | 2018-07-18 | 2020-09-08 | 赛尔网络有限公司 | 一种检测IPv6活跃度的方法和电子设备 |
CN108809769A (zh) * | 2018-07-18 | 2018-11-13 | 赛尔网络有限公司 | 一种检测IPv6活跃度的方法和电子设备 |
CN109150655A (zh) * | 2018-07-25 | 2019-01-04 | 赛尔网络有限公司 | 一种IPv4防火墙IPv6绕过的检测方法 |
CN109150655B (zh) * | 2018-07-25 | 2020-09-11 | 赛尔网络有限公司 | 一种IPv4防火墙IPv6绕过的检测方法 |
CN109462668A (zh) * | 2018-10-25 | 2019-03-12 | 维沃移动通信有限公司 | 一种处理域名解析请求的方法和装置 |
CN109495325A (zh) * | 2018-12-26 | 2019-03-19 | 睿哲科技股份有限公司 | 网站IPv6支持度评估方法、装置和设备 |
CN109842566A (zh) * | 2019-01-10 | 2019-06-04 | 杭州迪普科技股份有限公司 | 一种dns解析方法及装置 |
CN110191200A (zh) * | 2019-04-16 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 网络访问方法、装置、电子设备和计算机可读介质 |
CN110225150A (zh) * | 2019-06-27 | 2019-09-10 | 中星科源(北京)信息技术有限公司 | 不同网络协议间的通信方法、系统和存储介质 |
CN110225150B (zh) * | 2019-06-27 | 2020-09-15 | 中星科源(北京)信息技术有限公司 | 不同网络协议间的通信方法、系统和存储介质 |
US11895215B2 (en) | 2020-03-11 | 2024-02-06 | Huawei Technologies Co., Ltd. | Application server access method and terminal |
CN113608877A (zh) * | 2021-08-13 | 2021-11-05 | 牙木科技股份有限公司 | 一种内容商ipv4和ipv6资源池负载均衡调度方法 |
CN113608877B (zh) * | 2021-08-13 | 2023-11-10 | 牙木科技股份有限公司 | 一种内容商ipv4和ipv6资源池负载均衡调度方法 |
CN115412531A (zh) * | 2022-08-31 | 2022-11-29 | 深圳市创维软件有限公司 | 网络查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106161667A (zh) | 一种域名解析方法及装置 | |
US10523783B2 (en) | Request routing utilizing client location information | |
JP3703457B2 (ja) | アドレス通知方法、プログラム、及び、装置 | |
US9935921B2 (en) | Correlating nameserver IPv6 and IPv4 addresses | |
US9800539B2 (en) | Request routing management based on network components | |
CN103281409B (zh) | 基于tcp协议的移动互联网域名解析方法及dns服务器 | |
CN101483648B (zh) | Dns缓存探测的方法、系统、装置和dns服务器 | |
JP5150769B2 (ja) | 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新 | |
Müller et al. | Recursives in the wild: Engineering authoritative DNS servers | |
US10992777B2 (en) | System and method for identifying OTT applications and services | |
CN108848205B (zh) | 一种区分IPv4、IPv6的CNAME域名解析方法 | |
CN101582925B (zh) | 一种网络地址转换的方法及系统 | |
CN103856580B (zh) | 一种IPv6客户机访问IPv4服务器的方法 | |
CN1547828A (zh) | 用于访问作为宽带接入终端的嵌入式万维网服务器的方法、系统和计算机程序产品 | |
CN103685168B (zh) | 一种dns递归服务器的查询请求服务方法 | |
KR20080004502A (ko) | 자원 주소 요청을 관리하는 방법과 연관된 게이트웨이디바이스 | |
CN108667946B (zh) | 一种多域名互备解析管理方法、装置及系统 | |
CN110035134A (zh) | 网络地址转换方法、装置及接入设备 | |
CN107222588A (zh) | 一种提高dns可用性的方法及系统 | |
JP2004350133A (ja) | 接続制御方法、接続制御プログラム、及び、接続装置 | |
CN106331205B (zh) | 域名资源记录缓存的集中管控方法、装置和相关设备 | |
Alzoubi et al. | Performance implications of unilateral enabling of IPv6 | |
CN105763660A (zh) | 一种域名解析方法及装置 | |
CN104378301B (zh) | 一种数据处理方法及数据处理设备 | |
Abley et al. | AS112 Redirection Using DNAME |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |