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

文档序号:9693626阅读:来源:国知局
br>[0114]网关101首先在步骤901中通过LAN接口 102从主机接收DNS请求。在步骤902中,网关101确定可以通过由网关101建立的一或多个VPN连接到达的一列DNS服务器。网关101随后在步骤903中从DNS服务器的列表选择一或多个DNS服务器用于向其发送DNS请求。在步骤904中,网关1I向选定DNS服务器发送新DNS请求。新DNS请求基本上是基于通过LAN接口 102从主机接收的DNS请求。
[0115]可以通过VPN连接到达的DNS服务器的列表可以包括一或多个DNS服务器。例如,网关101对应地通过WAN接口 103以及104建立与路由器600之间的第一以及第二 VPN连接。DNS服务器602以及601可以通过第一以及第二 VPN连接中的一或两者到达。另一方面,DNS服务器141以及143不能通过VPN连接到达。因此,在步骤902中,DNS服务器的列表包含DNS服务器602 以及 601。
[0116]网关101随后可以选择DNS服务器602以及601中的一或两者以向其发送新DNS请求。所述选择可以是根据基于回复速度、历史统计、或优先级的策略。例如,如果DNS服务器601的回复速度大大低于DNS服务器602的回复速度,那么网关101在步骤903中选择DNS服务器602 0
[0117]在另一实例中,DNS服务器602可以具有由用户或网关101的管理员分配的较高优先级。出于说明目的,接入网络603是办公室网络且DNS服务器602是内部DNS服务器。可以将较高优先级分配给DNS服务器602,因为它是内部DNS服务器,且路由器600不需要通过互连网络105访问它。因此,从DNS服务器602接收的DNS响应不大可能被篡改。因为路由器600通过互连网络105访问DNS服务器601,所以从DNS服务器601接收的DNS响应更加可能被篡改,所述互连网络是公共网络。并且,DNS服务器602可能能够解析与DNS服务器601可能不能准确解析的特定内部域名相对应的DNS请求。因此,当DNS服务器602具有较高优先级时,网关1I在步骤903中选择DNS服务器602用于向其发送新DNS请求。
[0118]图10是图示根据本发明的实施例中的一者的用于向一或多个DNS服务器发送DNS请求的过程的流程图。网关101在步骤1001中通过LAN接口 102从主机接收DNS请求。在步骤1002中,网关101选择至少一个DNS服务器用于向其发送新DNS请求。所述选择可以是基于基于回复速度、历史统计、地理位置或优先级的策略。如果网关101在步骤1003中确定选定DNS服务器可以通过一或多个VPN连接访问,那么在步骤1004中通过一或多个VPN连接向选定DNS服务器发送新DNS请求。替代地,如果选定DNS服务器不能通过任何VPN连接访问,那么网关101在步骤1005中在不使用VPN连接的情况下向选定DNS服务器发送新DNS请求。
[0119]例如,在网关101的WAN接口 103与路由器600之间建立第一 VPN连接,所述第一 VPN连接可以用于访问DNS服务器601以及602。出于说明的目的,在步骤1002中选定的DNS服务器包含DNS服务器143以及DNS服务器601。网关101在步骤1003中确定DNS服务器143不能通过与路由器600之间的VPN连接访问。因此,网关101在步骤1005中在不使用VPN连接的情况下向DNS服务器143发送新DNS请求。在步骤1003中,网关101还确定DNS服务器601可以通过第一VPN连接访问且也可以不使用VPN连接访问。因此,网关1I通过第一VPN连接向DNS服务器601发送新DNS请求。
[0120]尽管DNS服务器601可以直接通过互连网络105访问而不需使用第一 VPN连接,但优选的是,网关101通过第一 VPN连接向DNS服务器601发送新DNS请求。当通过第一 VPN连接发送新DNS请求时,也通过第一VPN连接从DNS服务器601接收相对应的DNS响应,且因此DNS响应不大可能被篡改。
[0121]图11是图示根据实施例中的一者的用于选择DNS响应的过程的流程图。网关101在步骤1101中接收多个DNS响应。多个DNS响应是对由网关101发送的新DNS请求的响应,其中新DNS请求是基于由网关1I通过LAN接口 1 2从主机接收的DNS请求。在步骤110 2中,网关101确定多个DNS响应中的任一者是否是通过VPN连接接收的。如果任何DNS响应都是通过VPN连接接收的,那么网关101在步骤1103中选择通过VPN连接接收的DNS响应中的一者。如果没有DNS响应是通过VPN连接接收的,那么网关101在步骤1104中从所述多个DNS响应选择DNS响应中的一者。网关101随后在步骤1105中基于选定DNS响应向主机发送新DNS响应。因此,在步骤1102中,给予通过VPN连接接收的DNS响应优于未通过VPN连接接收的DNS响应的优先级。
[0122]例如,第一 DNS响应通过第一 VPN连接从DNS服务器602接收、第二 DNS响应通过第一VPN连接从DNS服务器601接收、第三DNS响应通过接入网络121从DNS服务器141接收且第四DNS响应通过接入网络122从DNS服务器143接收。网关101在步骤1102中确定通过第一 VPN连接接收第一以及第二 DNS响应,且因此在步骤1103中选择第一以及第二 DNS响应中的一者。所述选择可以随机地执行,或可以根据基于接收DNS响应的时间以及次序、DNS服务器的接收次序、历史统计和回复速度、DNS服务器的地理位置、或DNS服务器的优先级的策略来执行。出于说明目的,选择第一DNS响应,因为它比第二DNS响应更早被接收。
[0123]在另一实例中,第一DNS响应通过互连网络105从DNS服务器601接收而不使用第一VPN连接,第二 DNS响应通过接入网络121从DNS服务器141接收且第三DNS响应通过接入网络122从DNS服务器143接收。网关101在步骤1102中确定没有DNS响应是通过VPN连接接收的,且因此在步骤1104中选择第一、第二和第三DNS响应中的一者。所述选择可以随机地执行,或可以根据基于接收DNS响应的时间以及次序、DNS服务器的接收次序、历史统计和回复速度、或DNS服务器的优先级的策略来执行。出于说明目的,选择第二DNS响应,因为历史统计指示在与从DNS服务器143或601接收的DNS响应相比时,来自DNS服务器141的响应最可能是准确的。
[0124]图12是图示根据本发明的实施例中的一者的过程的流程图。网关101在步骤1201中向多个DNS服务器发送新DNS请求。新DNS请求中的至少一者通过在网关101与路由器600之间建立的第一 VPN连接发送。新DNS请求是基于由网关101通过LAN接口 102接收的DNS请求。网关101随后在步骤1202中接收多个DNS响应以响应于新DNS请求。在步骤1203中,网关1I分析多个DNS响应的内容,且确定通过VPN连接接收的DNS响应是否与不使用VPN连接接收的DNS响应相同。如果通过VPN连接接收的DNS响应与不使用VPN连接接收的DNS响应相同,那么网关101在步骤1205中不使用VPN连接来向以及从在DNS响应中指定的IP地址发送以及接收数据。或者,如果通过VPN连接接收的DNS响应不与不使用VPN连接接收的DNS响应相同,那么网关101在步骤1204中使用VPN连接来向以及从在通过VPN连接接收的DNS响应中指定的IP地址发送以及接收数据。
[0125]例如,网关101以及DNS服务器141位于国家A中,路由器600以及DNS服务器601位于国家B中。在步骤1202中,第一DNS响应从DNS服务器141接收且第二DNS响应通过第一VPN连接从DNS服务器601接收。网关101在步骤1203中确定第一以及第二 DNS响应是否指定相同IP地址。第二 DNS响应不大可能被篡改,因为它通过VPN连接被接收。如果第一以及第二 DNS响应指定相同IP地址,那么这意味着第一 DNS响应也不大可能被篡改。这可以指示,对于网关101而言在不使用VPN连接的情况下不存在访问指定IP地址的管理或法律障碍,且网关101与指定IP地址之间的通信将不被阻断,即使不使用VPN连接。网关101与指定IP地址之间的通信可以是更快的,如果直接地而非通过第一VPN连接发送以及接收数据的话。出于说明目的,如果指定IP地址位于国家A中,那么网关101不需要通过国家B中的路由器600向指定IP地址发送数据,因为这将减慢数据传输。因此,网关101在步骤1205中不使用VPN连接来向以及从指定IP地址发送以及接收数据。
[0126]替代地,如果网关101在步骤1203中确定第一以及第二 DNS响应指定不同IP地址,那么在第一 DNS响应中指定的IP地址更可能被篡改。这是因为第二 DNS响应被认为是不大可能被篡改的,因为它通过VPN连接被接收。在此情况下,第一DNS响应更可能被篡改的原因可能是,对于网关101而言存在访问在第二 DNS响应中指定的IP地址的管理或法律障碍。因此,网关101在步骤1204中使用第一 VPN连接来向以及从在第二 DNS响应中指定的IP地址发送以及接收数据,使得可以克服法律或管理障碍。
[0127]在实施例中的一者中,网关101通过在网关101与路由器600之间建立的第一VPN连接从多个DNS服务器接收多个DNS响应。如果在多个DNS响应中指定的IP地址是不同的,那么网关101确定哪个IP地址最适合于在新DNS响应中发送到主机。所述确定可以是基于一或多个策略。例如,在大部分DNS响应中指定的IP地址被认为是最合适的。替代地,在从在其它DNS服务器当中具有较高优先级的DNS服务器接收的DNS响应中指定的IP地址被认为是最合适的。替代地,在最早接收的DNS响应中指定的IP地址被认为是最合适的。替代地,在从根据历史统计选定的DNS服务器接收的DNS响应中指定的IP地址被认为是最合适的。网关101随后基于指定最合适的IP地址的DNS响应向主机发送新DNS响应。
[0128]在一个变型例中,当通过不同VPN连接从多个DNS服务器接收多个DNS响应时,IP地址可以基于VPN连接的优先级或VPN连接的端点被认为是最合适的。
[0129]在实施例中的一者中,从多个DNS服务器接收多个DNS响应。一些DNS响应通过VPN连接被接收且一些不使用VPN连接来接收。例如,不使用VPN连接接收的第一 DNS响应指定与通过VPN连接接收的大部分DNS响应相同的IP地址。不使用VPN连接接收的第二 DNS响应指定与在通过VPN连接接收的大部分DNS响应中指定的IP地址不同的IP地址。网关1I随后基于在通过VPN连接接收的大部分DNS响应中指定的IP地址通过LAN接口 102向主机发送新DNS响应,但网关101确定不使用VPN连接来向以及从指定IP地址发送以及接收数据,因为在第一DNS响应中指定的IP地址与在通过VPN连接接收的大部分DNS响应中指定的IP地址相同。
[0130]图13是图示根据本发明的实施例中的一者的过程的流程图。网关101在步骤1301中接收多个DNS响应。多个DNS响应通过VPN连接被接收。多个DNS响应是对由网关101发送的新DNS请求的响应,其中新DNS请求是基于由网关1I通过LAN接口 102从主机接收的DNS请求。在步骤1302中,网关101确定在多个DNS响应中指定的IP地址的地理位置。网关101随后确定哪一个IP地址位于最靠近网关101处,且随后在步骤1303中选择指定位于最靠近网关处的IP地址的DNS响应。在步骤1304中,基于选定DNS响应的新DNS响应随后由网关101通过LAN接口 102发送到主机。
[0131]网关101可以通过确定其自身的地理位置以及IP地址的地理位置来确定哪一个IP地址位于最靠近网关处。网关101可以通过使用全球定位系统(GPS)传感器等位置传感器来确定其自身的地理位置。所确定的地理位置信息随后可以存储在网关101的存储媒体中,例如计算机可读存储媒体506XPS传感器可以嵌入在网关101中或可以嵌入在与网关101耦合的外部装置中。
[0132]或者,网关101的地理位置由用户或网关101的管理员输入且随后存储在计算机可读存储媒体506中。
[0133]所属领域的技术人员将了解,域名可以通过不同DNS服务器解析成不同IP地址。不同IP地址可以具有不同地理位置,但可以已经提供与发送针对域名的DNS请求的用户所需的域名相对应的资源。因此,对于网关101而言,选择指定它最靠近的IP地址的DNS响应是有益的,使得网关可以向以及从最靠近的IP地址发送以及接收数据。
[0134]所属领域的技术人员将了解,本发明还适用于主机名。主机名可以已经附加了DNS域的名称、通过句点(“圆点”)与主机专用标记分开。在后一形式中,主机名也被称为域名。如果域名完全指定,包含因特网的顶级域,那么主机名据称为全量域名。出于将主机名映射到地址或反向过程的目的,包含DNS域的主机名通常与它们所表示的主机的IP地址一起存储在域名系统中。
[0135]所属领域的技术人员已知,从DNS服务器接收的DNS响应仅对于由与DNS响应相对应的TTL指定的特定的时间段有效。在与特定的域名或主机名相对应的DNS响应中指定的IP地址可以在特定的时间段上进行高速缓存。当特定的时间段已经期满时,主机或网关101可能需要发送针对域名或主机名的另一DNS请求,以便接收与含有特定域名的经更新IP地址的特定域名或主机名相对应的另一 DNS响应。
[0136]在一个实例中
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1