一种旁路缓存域名解析方法和系统的制作方法

文档序号:7808853阅读:153来源:国知局
一种旁路缓存域名解析方法和系统的制作方法
【专利摘要】一种旁路缓存域名解析方法,包括:步骤S1000,客户端发送DNS解析请求,所述DNS解析请求携带了域名和目标DNS服务器信息;步骤S2000,所述DNS解析请求经分光器或者路由器被发送到外部网络和DNS旁路缓存子系统;步骤S3000,所述DNS旁路缓存子系统接收客户端发送的域名系统DNS解析请求,确认所述DNS解析请求携带的域名和目标DNS服务器信息;步骤S4000,所述DNS旁路缓存子系统确定所述目标DNS服务器在黑名单中;步骤S5000,所述DNS旁路缓存子系统向所述客户端返回域名解析结果。本发明可以提升通信运营商对用户流量调度的能力。
【专利说明】一种旁路缓存域名解析方法和系统

【技术领域】
[0001] 本发明涉及一种旁路缓存域名解析方法和系统。

【背景技术】
[0002] 在IP (Internet Protocol,互联网协议)网络中,域名系统(Domain Name System, DNS)是因特网最关键的基础服务之一,为众多网络应用提供根本性支撑,其主要功 能是将易于人们记忆的域名(Domain Name)与网络可识别的IP地址作转换。域名和IP地 址之间的转换称为域名解析,执行域名解析的网络主机可以称为DNS服务器。通过域名系 统DNS服务器的查询服务,可以找到所需站点或资源的入口,进而对站点或资源进行访问。
[0003] 目前一个DNS结果过程通过会遇到两种DNS设备,分别是缓存DNS服务器和授权 DNS服务器。
[0004] 缓存服务器通常由通讯运营商管理,比如中国电信,中国联通,中国移动管理这大 量的缓存DNS服务器,这些缓存服务器为通讯运营商的用户提供DNS解析代理服务,这里指 的缓存DNS是指具备缓存或递归功能的DNS服务器。
[0005] 授权服务器通常由域名所有者负责管理,域名所有者负责将域名和IP对应的关 系写入授权服务器,授权服务器只提供自己管理的域名的解析。
[0006] 传统的DNS解析流程如图1所示。具体为:1.用户向运营商缓存DNS发起DNS请 求;2.运营商缓存DNS如有缓存则直接应答用户,无缓存时运营商缓存DNS向授权DNS递归 请求;3.授权DNS应答运营商缓存DNS请求,运营商缓存DNS写入缓存;4.运营商缓存DNS 应答用户。
[0007] DNS优化系统的业务流程如图2所示。具体为:1.用户向运营商缓存DNS发起DNS 请求;2.运营商缓存DNS有缓存则直接应答用户,若无缓存,向授权DNS递归请求;3.劫持 系统镜像运营商缓存DNS向授权DNS的递归请求;4.劫持系统对镜像的请求包进行分析, 对比现有列表;5.列表已存在,就应答给运营商缓存DNS,若不存在,丢弃报文,不做任何处 理;4.运营商缓存DNS获取到劫持系统的应答和授权DNS的应答报文,通常劫持设备的报 文会优先达到运营商缓存DNS,缓存DNS将获得的结果缓存到本机;5.运营商缓存DNS将结 果应答给请求用户。
[0008] 缓存服务器除了通信运营商控制以外有一些第三方公司也开始搭建缓存DNS服 务器为用户提供服务,比如谷歌8. 8. 8.8缓存DNS集群,国内的114. 114. 114. 114缓存DNS 集群。但是一般通信运营商都会在自己的缓存DNS做一些流量引导策略,来提供用户的访 问互联网的速度和减低自己的运营成本,比如通过流量调度减少互联互通的带宽来减少费 用。
[0009] 但是如果用户使用的第三方缓存DNS服务器,那么通信运营商的DNS服务器上的 优化调度策略就不会对这些用户生效导致用户访问体检变差,同时运营商成本增高。而上 述的传统的DNS解析或DNS劫持系统都不能解决这个问题。


【发明内容】

[0010] 本发明的目的在于,提供一种域名解析方法及系统。
[0011] 用于解决问题的方案
[0012] 为了实现上述目的,本发明创造提供一种旁路缓存域名解析方法,包括:
[0013] 步骤S1000,客户端发送DNS解析请求,所述DNS解析请求携带了域名和目标DNS 服务器信息;
[0014] 步骤S2000,所述DNS解析请求经分光器或者路由器被发送到外部网络和DNS旁路 缓存子系统;
[0015] 步骤S3000,所述DNS旁路缓存子系统接收客户端发送的域名系统DNS解析请求, 确认所述DNS解析请求携带的域名和目标DNS服务器信息;
[0016] 步骤S4000,所述DNS旁路缓存子系统确定所述目标DNS服务器在黑名单中;
[0017] 步骤S5000,所述DNS旁路缓存子系统向所述客户端返回域名解析结果。
[0018] 优选地,所述DNS旁路缓存子系统向所述客户端返回域名解析结果,包括:
[0019] 步骤S5100,如所述DNS旁路缓存子系统确认所述DNS解析请求携带的域名是否在 缓存中,
[0020] 步骤S5200,如所述DNS解析请求携带的域名在缓存中,向所述客户端返回域名解 析结果,
[0021] 步骤S5300,如所述DNS解析请求携带的域名不在缓存中,则所述DNS旁路缓存子 系统进行递归查询,并将递归查询结果写入缓存,然后向所述客户端返回域名解析结果。
[0022] 优选地,所述DNS旁路缓存子系统伪装为目标DNS服务器向所述客户端返回域名 解析结果。
[0023] 本发明还提供一种旁路缓存域名解析系统,包括:
[0024] 包抓取模块,用于抓取客户端发送DNS解析请求,所述DNS解析请求携带了域名 和目标DNS服务器信息;
[0025] 包过滤模块,用于过滤所述DNS解析请求携带的域名,并确认所述目标DNS服务器 信息是否在黑名单中,并向下述解析模块发送未被过滤的域名和目标DNS服务器;
[0026] 解析模块,用于对域名进行解析,并伪装为目标DNS服务器向所述客户端返回域 名解析结果。
[0027] 优选地,旁路缓存域名解析系统,还包括递归模块;
[0028] 所述解析模块,还用于确认域名是否在缓存中,并向所述递归模块发送不在缓存 中的域名;
[0029] 所述递归模块,用于递归查询域名解析结果。
[0030] 优选地,旁路缓存域名解析系统,所述递归模块,还用于向缓存中写入所述递归查 询域名解析结果。
[0031] 有益效果
[0032] 使用第三方缓存DNS的网内用户也会被通信运营商的缓存DNS策略所影响,提升 通信运营商对用户流量调度的能力。

【专利附图】

【附图说明】
[0033] 图1为传统的DNS解析流程示意图;
[0034] 图2为传统的DNS劫持流程示意图;
[0035] 图3为本发明一实施例的流程示意图;
[0036] 图4为本发明一实施例的第一返回解析结果流程示意图;
[0037] 图5为本发明一实施例的第二返回解析结果流程示意图;
[0038] 图6为本发明优化的系统示意图。

【具体实施方式】
[0039] 下面对本发明创造实施例中的技术方案进行清楚、完整地描述,显然,所描述的实 施例仅是本发明创造部分实施例,而不是全部的实施例。基于本发明创造中的实施例,本领 域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明创 造保护的范围。
[0040] 如图3所示,一种旁路缓存域名解析方法,包括:
[0041] 步骤S1000,客户端发送DNS解析请求,所述DNS解析请求携带了域名和目标DNS 服务器信息;
[0042] 步骤S2000,所述DNS解析请求经分光器或者路由器被发送到外部网络和DNS旁路 缓存子系统;
[0043] 步骤S3000,所述DNS旁路缓存子系统接收客户端发送的域名系统DNS解析请求, 确认所述DNS解析请求携带的域名和目标DNS服务器信息;
[0044] 步骤S4000,所述DNS旁路缓存子系统确定所述目标DNS服务器在黑名单中;
[0045] 步骤S5000,所述DNS旁路缓存子系统向所述客户端返回域名解析结果。
[0046] 优选地,如图4所示,所述DNS旁路缓存子系统向所述客户端返回域名解析结果, 包括:
[0047] 步骤S5100,如所述DNS旁路缓存子系统确认所述DNS解析请求携带的域名是否在 缓存中,
[0048] 步骤S5200,如所述DNS解析请求携带的域名在缓存中,向所述客户端返回域名解 析结果。
[0049] 优选地,如图5所示,所述DNS旁路缓存子系统向所述客户端返回域名解析结果, 包括:
[0050] 步骤S5100,如所述DNS旁路缓存子系统确认所述DNS解析请求携带的域名是否在 缓存中,
[0051] 步骤S5300,如所述DNS解析请求携带的域名不在缓存中,则所述DNS旁路缓存子 系统进行递归查询,并将递归查询结果写入缓存,然后向所述客户端返回域名解析结果。
[0052] -个典型的业务流程如图6所示,具体为:
[0053] 1.用户端DNS设置为第三方缓存DNS时,用户直接向第三方DNS发起DNS请求;
[0054] 2.旁路缓存域名解析服务器的包抓取模块获取用户请求DNS镜像;
[0055] 3.缓存解析服务器的DNS包过滤模块进行包过滤操作,过滤出符合条件的报文传 递给解析模块;
[0056] 4.解析模块将系统缓存列表已存结果在应答给请求用户,如果缓存中没有的则传 递给递归模块;
[0057] 5.递归模块去请求运营商缓存DNS或自己递归,运营商缓存DNS负责将请求应答 给旁路缓存域名解析服务器;
[0058] 6.缓存解析服务器将运营商缓存DNS应答的请求缓存到系统列表内,并将结果应 答给请求用户,同时第三方的缓存服务器也会给用户一个应答,但是通常旁路解析服务器 的应答会优先到达,因为通常旁路缓存服务器的网络路由比较近,所有用户会优先获得旁 路缓存服务器的应答。
[0059] 本发明还提供一种旁路缓存域名解析系统,包括:
[0060] 包抓取模块,用于抓取客户端发送DNS解析请求,所述DNS解析请求携带了域名 和目标DNS服务器信息;
[0061] 包过滤模块,用于过滤所述DNS解析请求携带的域名,并确认所述目标DNS服务器 信息是否在黑名单中,并向下述解析模块发送未被过滤的域名和目标DNS服务器;
[0062] 解析模块,用于对域名进行解析,并伪装为目标DNS服务器向所述客户端返回域 名解析结果。
[0063] 优选地,旁路缓存域名解析系统,还包括递归模块;
[0064] 所述解析模块,还用于确认域名是否在缓存中,并向所述递归模块发送不在缓存 中的域名;
[0065] 所述递归模块,用于递归查询域名解析结果。
[0066] 优选地,旁路缓存域名解析系统,所述递归模块,还用于向缓存中写入所述递归查 询域名解析结果。
[0067] 旁路缓存域名解析服务器系统,主要涉及包抓取模块、DNS包过滤模块、DNS解析 模块,递归模块等。
[0068] 包抓取模块:由于本发明需要解决的问题是用户的缓存DNS设置成第三方的缓存 DNS,所有通信运营商的DNS的策略无法生效的问题,所以我们需要有一个新的模块来获取 用户请求第三方缓存DNS的报文,这需要在用户和第三方DNS的数据包必经的路由器或交 换机上COPY -份DNS的请求流量,通常由分光或者镜向流量的方式,分光或者镜向的流量 需要被旁路缓存域名解析服务器抓取并提交给包过滤模块。
[0069] 包过滤模块:包过滤模块不仅仅需要过滤掉非DNS报文,同时需要过滤掉通信运 营商的缓存DNS发出的请求,否则会导致业务流程死循环,也要过滤掉大量的DNS攻击报 文,如果这些攻击报文不被过滤掉会导致攻击网外第三方攻击的报文被传递给通信运营商 的缓存DNS导致巨大的损失,本发明通过学习的方式获取前N个解析结果正常的域名作为 服务对象,其它的域名一律过滤掉。没有被过滤掉的域名会被传递给下一个模块,DNS解析 模块。
[0070] DNS解析模块:DNS解析模块拿到去第三方请求的DNS报文后,在缓存中寻找是否 有匹配的记录,如果有则伪造第三方DNS的IP地址进行应答,如果没有则会调用下一个模 块递归模块进行递归将递归请求的结果写入缓存然后应答用户,如果需要和通信运营商的 DNS的策略保持一致,哪么DNS解析结果一定不能使用轮训或者其它特殊DNS应答策略,必 须要严格按照递归模块回复的IP地址顺序将IP地址回复给用户,当然如果有其它的策略 也可以在该模块体现。
[0071] DNS递归模块:为了通信运营商的缓存DNS策略生效需要将DNS的解析结果优化 权限交给通信运营商的DNS来做,所以不能采用传统的DNS递归方式,要将需要递归的请求 转发给运营商的缓存DNS,为了不给通信运营商的缓存DNS带来太多的压力,需要给转发的 设备建立一个阀值,确保通信运营商的缓存DNS健康运行,不吸收网内用户攻击网外DNS的 流量。
[0072] 通过旁路的方式获取网内用户请求第三方缓存DNS域名服务器的请求,通过转发 的方式同步通信运营商的DNS优化调度策略。通过以上两点实现使用第三方缓存DNS的 网内用户也会被通信运营商的缓存DNS策略所影响,提升通信运营商对用户流量调度的能 力。
[0073] 以上所述,仅为本发明创造的【具体实施方式】,但本发明创造的保护范围并不局限 于此,任何熟悉本【技术领域】的技术人员在本发明创造揭露的技术范围内,可轻易想到变化 或替换,都应涵盖在本发明创造的保护范围之内。因此,本发明创造的保护范围应所述以权 利要求的保护范围为准。
【权利要求】
1. 一种旁路缓存域名解析方法,其特征在于,包括: 步骤S1000,客户端发送DNS解析请求,所述DNS解析请求携带了域名和目标DNS服务 器信息; 步骤S2000,所述DNS解析请求经分光器或者路由器被发送到外部网络和DNS旁路缓存 子系统; 步骤S3000,所述DNS旁路缓存子系统接收客户端发送的域名系统DNS解析请求,确认 所述DNS解析请求携带的域名和目标DNS服务器信息; 步骤S4000,所述DNS旁路缓存子系统确定所述目标DNS服务器在黑名单中; 步骤S5000,所述DNS旁路缓存子系统向所述客户端返回域名解析结果。
2. 根据权利要求1所述的旁路缓存域名解析方法,其特征在于,所述DNS旁路缓存子系 统向所述客户端返回域名解析结果,包括: 步骤S5100,如所述DNS旁路缓存子系统确认所述DNS解析请求携带的域名是否在缓存 中, 步骤S5200,如所述DNS解析请求携带的域名在缓存中,向所述客户端返回域名解析结 果, 步骤S5300,如所述DNS解析请求携带的域名不在缓存中,则所述DNS旁路缓存子系统 进行递归查询,并将递归查询结果写入缓存,然后向所述客户端返回域名解析结果。
3. 根据权利要求1或2所述的旁路缓存域名解析方法,其特征在于,所述DNS旁路缓存 子系统伪装为目标DNS服务器向所述客户端返回域名解析结果。
4. 一种旁路缓存域名解析系统,其特征在于,包括: 包抓取模块,用于抓取客户端发送DNS解析请求,所述DNS解析请求携带了域名和目 标DNS服务器信息; 包过滤模块,用于过滤所述DNS解析请求携带的域名,并确认所述目标DNS服务器信息 是否在黑名单中,并向下述解析模块发送未被过滤的域名和目标DNS服务器; 解析模块,用于对域名进行解析,并伪装为目标DNS服务器向所述客户端返回域名解 析结果。
5. 根据权利要求4所述的旁路缓存域名解析系统,其特征在于,还包括递归模块; 所述解析模块,还用于确认域名是否在缓存中,并向所述递归模块发送不在缓存中的 域名; 所述递归模块,用于递归查询域名解析结果。
6. 根据权利要求5所述的旁路缓存域名解析系统,其特征在于,所述递归模块,还用于 向缓存中写入所述递归查询域名解析结果。
【文档编号】H04L29/12GK104065766SQ201410334694
【公开日】2014年9月24日 申请日期:2014年7月14日 优先权日:2014年7月14日
【发明者】杨丽丽, 刘谦, 王彤 申请人:北京快易博科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1