用于处理dns请求的方法和系统的制作方法

文档序号:9457915阅读:289来源:国知局
用于处理dns请求的方法和系统的制作方法
【技术领域】
[0001]本发明大体上涉及计算机网络的领域。更具体来说,本发明涉及用于在网关中处理域名服务(DNS)请求的方法以及系统。所述网关基于所接收的第一 DNS请求向多个DNS服务器发送多个新DNS请求。所述多个DNS服务器中的至少一者是通过隧道可访问的。
【背景技术】
[0002]域名系统(DNS)是用于计算机、服务、或连接到因特网或专用网络的任何资源的分层分布式命名系统。它使各种类型的信息与分配给参与实体中的每一者的域名相关联。出于在全世界定位计算机服务以及装置的目的,DNS将这些名称的请求解析成IP地址。所属领域的技术人员已经需要增加以较高可靠度回复DNS请求的速度。最新发展水平的技术是具有DNS代理以高速缓存DNS回复且以将DNS服务器放置在靠近网络的边缘处。然而,最新发展水平的技术并不利用将网关连接到多个接入网络的情况。
[0003]此外,用于解析DNS请求的最新发展水平的技术是对来自第三方的威胁开放的,因为DNS请求的发送以及DNS响应的接收并不通过安全信道执行。这使得第三方容易篡改DNS请求或DNS响应,这可能导致主机访问域名所请求的域名的错误的IP地址。因此,需要一种技术来增加接收DNS响应的速度,同时还确保不损害安全性。

【发明内容】

[0004]本发明揭示了用于在网关中处理域名服务(DNS)请求的方法,所述网关包括至少一个局域网(LAN)接口以及至少一个广域网(WAN)接口。所述网关经由网关的至少一个LAN接口中的一者从第一主机接收第一 DNS请求。所述网关选择多个DNS服务器且经由至少一个WAN接口向多个DNS服务器发送多个新DNS请求。多个DNS服务器中的至少一者是通过至少一个隧道可访问的。多个新DNS请求是基于所述第一 DNS请求,使得多个新DNS请求的内容与第一 DNS请求的内容相同。
[0005]根据本发明的实施例中的一者,选择多个DNS服务器的步骤是基于多个DNS服务器的可访问性以及至少一个隧道的可访问性。或者,选择的步骤是基于至少一个预定义选择策略。
[0006]根据本发明的实施例中的一者,处理DNS请求的方法进一步包括,所述网关接收与多个新DNS请求相对应的第一 DNS响应。所述网关随后经由网关的至少一个LAN接口中的一者向主机发送新DNS响应。新DNS响应是基于第一 DNS响应。
[0007]根据本发明的实施例中的一者,当没有与多个新DNS请求相对应的其它DNS响应已经被发送到主机时,执行发送新DNS响应的步骤。
[0008]根据本发明的实施例中的一者,当多个DNS响应被接收时,多个DNS响应中的至少一者通过至少一个隧道被接收。将新DNS响应发送到主机,且新DNS响应优选是基于通过至少一个隧道接收的多个DNS响应中的至少一者。在一个变型例中,仅当多个DNS响应中的至少一者在预定义时间段内被接收时,新DNS响应才是基于通过至少一个隧道接收的多个DNS响应中的至少一者。
[0009]根据本发明的实施例中的一者,新DNS响应是基于至少一个选定DNS响应。至少一个选定DNS响应是基于在多个DNS响应中指定的对应的IP地址的地理位置而选定。
【具体实施方式】
[0010]以下说明仅提供优选的示例性实施例且并不意图限制本发明的范围、适用性或配置。实际上,以下优选的示例性实施例的说明将为所属领域的技术人员提供用于实施本发明的优选的示例性实施例的有用描述。应理解,在不脱离如在所附权利要求书中阐述的本发明的精神和范围的情况下可以对元件的功能以及布置进行各种改变。
[0011]在以下描述中给出具体细节以提供对实施例的透彻理解。然而,所属领域的技术人员应理解,所述实例可在没有这些具体细节的情况下实践。例如,可以框图示出电路以便不以不必要的细节混淆实施例。在其它实例中,在没有不必要的细节的情况下示出熟知的电路、过程、算法、结构以及技术以便避免混淆实施例。
[0012]同样,应注意,实施例可以描述为过程,所述过程描绘为流程图、流程图表、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,可以重新布置操作的次序。当操作完成时,过程终止,但是过程可以具有不包含在图中的另外步骤。过程可以与方法、函数、步骤、子例程、子程序等相对应。当过程与函数相对应时,其终止与所述函数返回到调用函数或主函数相对应。
[0013]实施例或其各部分可以程序指令来实施,所述程序指令可在处理单元上操作以用于执行如本文中所描述的功能以及操作。构成各种实施例的程序指令可以存储在存储媒体中。
[0014]构成各种实施例的程序指令可以存储在存储媒体中。此外,如本文中所揭示,术语“计算机可读存储媒体”可以表示用于存储数据的一或多个装置,包含只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、随机存取存储器(RAM)、磁RAM、磁芯存储器、软盘、软磁盘、硬盘、磁带、⑶-R0M、闪存存储器装置、存储卡和/或用于存储信息的其它机器可读媒体。术语“计算机可读存储媒体”还可以包含但不限于,便携式或固定存储装置、光学存储媒体、磁性媒体、存储器芯片或盒式磁盘、无线信道以及能够存储、含有或携载指令和/或数据的各种其它媒体。计算机可读存储媒体可以通过虚拟化来实现,且可以是虚拟计算机可读存储媒体,包含在基于云的实例中的虚拟计算机可读存储媒体。
[0015]如本文所使用的术语“计算机可读媒体”是指任何参与向处理单元提供指令以供执行的媒体。计算机可读媒体仅是机器可读媒体的一个实例,所述机器可读媒体可以携载指令以用于实施本文中所描述的方法和/或技术中的任一者。此媒体可以采用许多形式,包含但不限于非易失性媒体、易失性媒体和传输媒体。非易失性媒体包含(例如)光盘或磁盘。易失性媒体包含动态存储器。传输媒体包含同轴电缆、铜线以及光纤。传输媒体还可以采用声波或光波的形式,例如在无线电波以及红外线数据通信期间产生的声波或光波。
[0016]易失性存储器可以用于在通过处理单元执行指令期间存储临时变量或其它中间信息。非易失性存储器或静态存储器可以用于存储用于处理器的静态信息以及指令,以及各种系统配置参数。
[0017]存储媒体可以包含多个软件模块,所述软件模块可以实施为通过处理单元使用任何合适的计算机指令类型来执行的软件代码。软件代码可以作为一系列指令或命令、或作为程序存储在存储媒体中。
[0018]在将一或多个指令的一或多个序列携载到处理器以用于执行时,可以涉及各种形式的计算机可读媒体。例如,最初可以在磁盘上从远程计算机携载指令。或者,远程计算机可以将所述指令加载到其动态存储器中,且向运行一或多个指令的一或多个序列的系统发送指令。
[0019]处理单元可以是微处理器、微控制器、数字信号处理器(DSP)、那些装置的任何组合、或经配置以处理信息的任何其它电路。
[0020]处理单元执行程序指令或代码段以用于实施本发明的实施例。此外,实施例可以由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当用软件、固件、中间件或微码实施时,执行必需的任务的程序代码或代码段可以存储在计算机可读存储媒体中。处理单元可以执行必需的任务。处理单元可以通过虚拟化来实现,且可以是虚拟处理单元,包含在基于云的实例中的虚拟处理单元。
[0021]本发明的实施例涉及使用计算机系统来实施本文中所描述的技术。在实施例中,本发明的处理单元可以存在于计算机平台等机器上。根据本发明的一个实施例,本文中所描述的技术由计算机系统执行,以响应于处理单元执行易失性存储器中所含有的一或多个指令的一或多个序列。此类指令可以从另一计算机可读媒体读取到易失性存储器中。对易失性存储器中所含有的指令的序列的执行使得处理单元执行本文中所描述的过程步骤。在替代实施例中,硬接线电路可以用于取代或结合软件指令以实施本发明。因此,本发明的实施例不限于硬件电路以及软件的任何特定组合。
[0022]代码段或程序指令可以表示步骤、函数、子程序、程序、例程、子例程、模块、软件包、类、或指令、数据结构、或程序语句的任何组合。通过传递和/或接收信息、数据、引数、参数或存储器内容,代码段可以耦合到另一代码段、程序指令或硬件。信息、引数、参数、数据等可以经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方法传递、传输或传输。
[0023]或者,硬接线电路可以用于取代或结合软件指令以实施符合本发明的原理的过程。因此,符合本发明的原理的实施方案不限于硬件电路以及软件的任何特定组合。
[0024]接入网络允许网关连接到其它网络,例如因特网以及外联网。为了确定网络是否是可访问的,网关可以定期发送出包以测试可访问性。例如,网关可以向主机发送ICMP回应请求包且测量ICMP回应回复包的到达时间以确定网络是否是可访问的。所属领域的技术人员将清楚,可以使用更多的方法以及技术来确定网络是否是可访问的。
[0025]本发明的当前优选的实施例可以利用网关。网关是在网络上的装置或节点,其执行不同类型网络或应用之间的协议转换且能够处理DNS请求以及响应。术语“网关”并不意图限于单一类型的装置,因为出于本申请案的目的,可以充当用户与网络之间的网桥的任何装置、硬件或软件都可以被认为是网关。网关可以与多个多网络耦合。出于本发明的目的,路由器、交换机、网桥、无线接入点、计算装置中的虚拟机或能够充当朝向另一网络的接入点且处理DNS请求以及响应的任何设备都可以被认为是网关。
[0026]网络接口可以通过独立的电子组件实施或者可以与其它电子组件整合。根据配置,网络接口可以不具有网络连接或具有至少一个网络连接。网络接口仅连接到一个接入网络。因此,可以存在通过一个接入网络携载的超过一个网络连接。网络接口可以是以太网接口、帧中继接口、光纤接口、电缆接口、DSL接口、令牌环接口、串行总线接口、通用串行总线(USB)接口、火线接口、外围组件互连(PCI)接口等。
[0027]网络接口可以连接到有线或无线接入网络。接入网络可以携载一或多个网络协议数据。有线接入网络可以使用以太网、光纤、电缆、DSL、帧中继、令牌环、串行总线、USB,火线、PCI或可以传递信息的任何材料来实施。无线接入网络可以使用红外线、高速分组接入(HSPA)、HSPA+、长期演进(LTE)、WiMax、GPRS、EDGE、GSM、CDMA、WiF1、CDMA2000、WCDMA, TD-SCDMA、蓝牙、WiBRO、演进数据优化(EV-DO);数字增强型无绳通信(DECT);数字AMPS(IS-136/TDMA);集成数字增强型(iDEN)或任何其它无线技术来实施。
[0028]接入网络可以携载一或多个网络协议数据,包含但不限于因特网协议(IP)、IPv4或IPv6。接入网络可以是有线网络或无线网络。可接入无线网络可以使用光纤、电缆或可以传递信息的任何材料来实施。可接入无线网络还可以使用红外线、以太网、DSL、高速分组接入(HSPA)、HSPA+、长期演进(LTE)、WiMax、GPRS、EDGE、GSM、CDMA、WiF1、CDMA2000、WCDMA、TD-SCDMA、蓝牙、WiBRO或任何其它无线技术来实施。
[0029]实施例或其各部分可以计算机数据信号来实施,所述计算机数据信号可以采用用于经由传输媒体进行通信的任何合适的形式,使得所述计算机数据信号是可读的以用于通过功能装置(例如,处理单元)来执行以执行本文中所描述的操作。计算机数据信号可以包含可以经由传输媒体传播的任何二进制数字电子信号,所述传输媒体例如电子网络信道、光纤、空气、电磁媒体、射频(RF)链路及其类似者,且因此数据信号可以采用电信号、光学信号、射频或其它无线通信信号等形式。在某些实施例中,代码段可以经由计算机网络来下载,所述计算机网络例如因特网、内联网、局域网(LAN)、城域网(MAN)、广域网(WAN)、PSTN、卫星通信系统、电缆传输系统和/或其类似者。
[0030]图1A图示了根据本发明的实施例中的一者的网络环境。网关101对应地具有局域网(LAN)接口 102以及两个广域网(WAN)接口 103和104。两个接入网络121以及122对应地经由网络链路111以及112连接到WAN接口 103以及104。因此,网关101具有用于连接到互连网络105的两个接入网络,所述互连网络可以是因特网。接入网络121以及122可以由相同或不同的因特网服务提供商(ISP)提供。例如,连接到WAN接口 103的接入网络121可以通过Verizon使用DSL技术来提供,且
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1