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

文档序号:9457915阅读:来源:国知局
间段在一百毫秒到二十秒的范围中。在预定义时间段之后没有DNS响应被网关101接收的原因可能是,所接收的DNS响应都不具有RCODE零或没有DNS响应已经从选定DNS服务器中的任一者被接收。
[0057]根据本发明的实施例中的一者,当在预定义超时之前网关101已经接收超过一个DNS响应且这些所接收的DNS响应中没有DNS响应被认为有效时,网关101必须确定如何对第一 DNS请求的发送器作出响应。根据本发明的实施例中的一者,网关101向第一 DNS请求的发送器发送具有从所接收的DNS响应中的一者检索出的内容的新DNS响应。例如,在一个变型例中,在发送给第一 DNS请求的发送器的DNS响应中的RCODE是由网关101接收的所有DNS响应中含有的RCODE的大部分。在一个变型例中,由网关101发送给第一 DNS请求的发送器的DNS响应中的RCODE随机地从由网关101接收的DNS响应中的一者选择。
[0058]根据本发明的实施例中的一者,当网关101已经接收与所有新DNS请求相对应的所有DNS响应且这些DNS响应中没有DNS响应被认为有效时,网关101向第一 DNS请求的发送器发送新DNS响应。新DNS响应的内容选自所接收的DNS响应中的一者。所述选择可以随机地、以统计方式、根据接收的时间或根据接收的次序确定。
[0059]根据本发明的实施例中的一者,当网关101已经接收与所有新DNS请求相对应的所有DNS响应且这些DNS响应中没有DNS响应被认为有效时,网关101向第一 DNS请求的发送器发送新DNS响应。新DNS响应的内容选自所接收的DNS响应中的一者。对新DNS响应应该选自哪一个所接收的DNS响应的选择可以随机地、以统计方式、根据接收的时间或根据接收的次序确定。
[0060]图4是图示本发明的实施例中的一者的流程图。为了说明实施例,图1A与图4结合起来使用。如果在网关101处预定义时间尚未期满,那么网关101等待直到预定义时间期满同时存储与新DNS请求相对应的DNS响应,所述DNS响应在步骤401处经由LAN接口102接收在存储器中。
[0061]在步骤402处,网关101选择DNS响应中的一者。存在网关101用以执行对DNS响应的选择的许多方式,包含基于到达时间、DNS响应的内容、DNS服务器的身份、DNS响应的源等的方式。根据本发明的实施例中的一者,对DNS响应的选择是根据预定义策略。在一个实例中,选择策略是如果DNS响应在预定义时间已经期满之前是可用的,则从DNS服务器131选择DNS响应。在一个实例中,如果没有DNS响应在预定义时间之前是可用的,则执行上述操作。在一个实例中,所述策略是选择最早到达DNS服务器131的DNS响应。在一个实例中,选择策略的设定可以由网关101的管理员远程或在本地配置。
[0062]在步骤403处,网关101基于选定DNS响应向第一 DNS请求的发送器发送新DNS响应。
[0063]图5图示本发明的实施例中的一者:根据所描述的本发明的具有处理DNS请求的能力的网关。网关101包括处理单元505、计算机可读存储媒体506、至少一个LAN接口 502、以及多个WAN接口,例如第一 WAN接口 503以及第二 WAN接口 504,以用于与其它网络装置一起使用,所述其它网络装置例如以太网交换机、IP路由器以及其它分组网络装置、网络管理以及准备系统、本地PC等。可以用于网关101内的其它组件包含放大器、板级电子组件、以及媒体处理器以及其它专门的SoC或ASIC装置。还可以视需要提供对各处理层以及协议(例如,802.3、DOCSIS MAC、DHCP、SNMP、H.323/RTP/RTCP、VoIP、SIP 等)的支持。
[0064]网关101可以采用任何数目的物理形式,包括例如在所属领域中熟知的类型的较大网络边缘或集线器装置内的多个离散模块或卡中的一者,且还可以包括固件,所述固件或者是单独的或者与其它硬件/软件组件结合。或者,网络装置101可以是安置在其它计算装置或网络装置处的单独装置或模块,且甚至可以包含其自身的射频(RF)前端(例如,调制器、加密机等)或光接口以便直接与其它计算装置以及网络装置接合。可以使用许多其它配置。网关101还可以与其它类型的组件(例如移动基站、卫星收发器、视频机顶盒、编码器/解码器等)以及形状因数整合,如果需要的话。
[0065]处理单元505可以通过使用一或多个中央处理单元、网络处理器、微处理器、微控制器、FPGA、ASIC或能够执行指令以执行系统的基础算术、逻辑以及输入/输出操作的任何装置来实施。
[0066]计算机可读存储媒体506可以通过使用至少一个DRAM、SDRAM、闪存RAM、光学存储器、磁存储器、硬盘、和/或能够提供存储能力的任何计算机可读媒体来实施。计算机可读存储媒体506可以用于向处理单元505提供指令,以提供存储器来存储标识符、条件、网络性能统计以及其它数据以促进网关的操作。
[0067]当处理单元505根据预定义策略执行选择时,处理单元505从计算机可读存储媒体506检索与预定义策略相对应的信息,且随后执行所需的逻辑运算以及算术计算以便执行选择。
[0068]在网关101处的多个WAN接口,例如WAN接口 503以及504,可以使用串行总线、通用串行总线(USB)、并行总线、通用异步收/发器(UART)、外围组件互连(PCI)、局部总线、或用以连接处理单元505以及代理的其它电子组件连接技术来实施,所述代理用于与光纤、电缆、或天线相连接。在一个变型例中,多个WAN接口中的至少一者在处理单元505中,且因此用于与光纤、电缆或天线相连接的代理可以直接与处理单元505相连接。在一个变型例中,至少一个WAN接口可以连接到以太网端口以用于以太网WAN连接。在一个变型例中,多个WAN接口中的至少一者可以连接到W1-Fi适配器以用于W1-Fi网络连接。在一个变型例中,多个WAN接口中的至少一者可以连接到USB端口且USB端口可以连接到外部调制解调器以用于无线WAN连接,例如USB 3G调制解调器、USB LTE调制解调器、USB WiMax调制解调器、USB W1-Fi调制解调器、或用于无线通信的其它调制解调器。在一个变型例中,多个WAN接口中的全部连接多个USB端口以用于外部调制解调器连接。在一个变型例中,多个WAN接口中的全部连接到网关101内部的电路。鉴于本发明,所属领域的技术人员将了解前述内容的无数其它组合以及排列。
[0069]当网关101经由LAN接口 502接收在图1中描述为第一 DNS请求的第一 DNS请求时,处理单元505选择至少一个DNS服务器且选择至少一个接入网络,所述接入网络连接到WAN接口 503或504。可用于选择的DNS服务器可以由网关101的管理员手动配置、由接入网络的服务提供商提供、从计算机可读存储媒体506检索出、或从至少一个DHCP消息获得。根据本发明的实施例中的一者,当处理单元505选择DNS服务器时,处理单元505还选择经授权以向所述选定DNS服务器发送新DNS请求的接入网络,因为一些DNS服务器仅响应于来源于经授权IP地址的DNS请求。
[0070]根据本发明的实施例中的一者,通过LAN接口 502从发送器接收第一 DNS请求。
[0071]处理单元505可以随机地、根据预定义过程、根据统计值等选择DNS服务器且选择接入网络。所属领域的技术人员将清楚,可以将更多的方法以及技术用于选择。
[0072]如上文所描述,总共存在η乘m个可用的DNS服务器以及接入网络组合。处理单元505选择此类DNS服务器以及接入网络组合中的至少两者用于发送多个新DNS请求。因此,当处理单元505仅选择一个DNS服务器时,处理单元505选择至少两个接入网络;当处理单元505仅选择一个接入网络时,处理单元505选择至少两个DNS服务器。新DNS请求与第一 DNS请求相对应,使得新DNS请求的查询与第一 DNS请求的查询相同。所属领域的技术人员将清楚,可以使用更多的方法以及技术来根据第一 DNS请求的查询产生新DNS请求。
[0073]新DNS请求通过连接到WAN接口 503和/或504的选定接入网络发送给选定DNS服务器。
[0074]在发送新DNS请求之后,处理单元505可以从多个WAN接口中的一者接收DNS响应以响应于来自选定DNS服务器的新DNS请求。处理单元505向主机发送一个、超过一个或所有所接收的DNS响应。新DNS响应含有来自所接收的DNS响应的相同响应。第一 DNS请求的发送器是主机,所述主机经由LAN接口 502向网关101发送第一 DNS请求。
[0075]根据本发明的实施例中的一者,处理单元505向主机发送所有所接收的DNS响应。
[0076]当网关101接收DNS响应时,仅当所接收的DNS响应是有效的且没有其它新DNS响应已经被发送给主机时,处理单元505才向主机发送新DNS响应。因此,主机仅接收针对它先前发送的第一 DNS请求的DNS响应。如果具有RCODE零的其它DNS响应已经被网关101接收,那么处理单元505丢弃这些所接收的DNS响应。
[0077]根据本发明的实施例中的一者,当在预定义超时之后没有新DNS响应已经被发送给主机时,处理单元505发送具有非零RCODE的新DNS响应。预定义超时的值存储在计算机可读存储媒体506处。在一个变型例中,处理单元505将新DNS响应中的RCODE的值设定成与所接收的DNS响应中的一者的RCODE相同。当在预定义超时之前网关101已经接收超过一个DNS响应且这些所接收的DNS响应中没有DNS响应有效时,处理单元505可以确定如何对第一 DNS请求作出响应。所接收的DNS响应可以存储在计算机可读存储媒体506处。根据本发明的实施例中的一者,处理单元505向主机发送具有从所接收的DNS响应中的一者检索出的RCODE的新DNS响应。在一个变型例中,第一 DNS请求中的RCODE是所有所接收的DNS响应中所含有的大部分RC0DE。例如,在一个变型例中,第一 DNS请求中的RCODE随机地从所接收的DNS响应中的一者选择。
[0078]在一个实例中,预定义策略是根据在时间阈值内所接收的DNS响应的到达时间在所有所接收的DNS响应中选择DNS响应。当DNS响应经由网络接口 503或504中的一者被网关101接收时,处理单元505首先将所接收的DNS响应的到达时间存储在计算机可读存储媒体506中。当到达时间阈值时,处理单元505从计算机可读存储媒体506检索所有到达时间以选择具有有效编码的最早到达的DNS响应。
[0079]当DNS请求通过安全隧道发送给一或多个DNS服务器时,通过安全隧道从一或多个DNS服务器接收的DNS响应不大可能篡改成与未通过安全隧道接收的DNS响应相当。因此,对应地使用安全隧道来向DNS服务器发送请求以及从DNS服务器接收响应是有益的。安全隧道可以通过隧道协议来建立,例如二层隧道协议(L2TP)、点对点协议(PPP)、点对点隧道协议(PPTP)、虚拟专用网络(VPN)、因特网协议安全(IPSec)、通用路由封装(GRE)、多播骨干(MBone)、安全套接字层(SSL)、安全外壳(SSH)以及传输层安全(TLS)。本发明揭示了建立与远程路由器之间的隧道的网关101。在优选实施例中,隧道是VPN连接。为了易于阅读,本文中所描述的实施例包括术语“VPN连接”。应注意,本发明的范围不限于作为隧道的VPN连接。安全或不安全的隧道皆允许执行封装。通过隧道,DNS请求以及DNS响应可以封装在一或多个因特网协议包中。当VPN网关对通过隧道发送的IP包加密时,隧道可以被认为是安全隧道。
[0080]图6是展示根据本发明的实施例中的一者的网络环境的框图。
[0081]网关101能够通过WAN接口 103以及104中的一或两者建立与路由器600之间的隧道,例如虚拟专用网络(VPN)连接。例如,网关101可以使用WAN接口 103经由接入网络121以及互连网络105建立与路由器600之间的第一隧道,本文中被称作第一 VPN连接。网关101可以使用WAN接口 104经由接入网络122以及互连网络105进一步建立与路由器600之间的第二隧道,本文中被称作第二 VPN连接。
[0082]第一 VPN连接以及第二 VPN连接可以经组合、结合或聚合以形成与路由器600之间的聚合VPN连接。使用聚合VPN连接可以产生较高带宽,所述较高带宽是个别VPN连接的组合带宽。聚合VPN连接可以被使用它的会话或应用视为一个VPN连接。
[0083]网关101能够通过在网关101与路由器600之间建立的第一
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1