Methods and systems for processing a DNS request
First Claim
1. A method for processing Domain Name Services (DNS) request in a gateway, wherein the gateway comprises at least one local area network (LAN) interface and at least one wide area network (WAN) interface, the method comprising:
- (a) receiving a first DNS request from a first host via one of the at least one LAN interface of the gateway;
(b) selecting, according to at least one predefined selection policy, at least one DNS server;
(c) transmitting a plurality of new DNS requests, containing all the contents of the first DNS request to the at least one DNS server through at least one tunnel via the at least one WAN interface if the at least one DNS server is accessible through the at least one tunnel;
(d) transmitting the plurality of new DNS requests to the at least one DNS server without using a tunnel via the at least one WAN interface if the at least one DNS server is not accessible through any of the at least one tunnel;
(e) receiving a plurality of DNS responses corresponding to the plurality of new DNS requests within a first predefined time period;
(f) storing the plurality of DNS responses;
(g) when the first predefined time period has expired;
selecting a first DNS response from the received plurality of DNS responses according to at least one predefined DNS response selection policy;
wherein when at least one of the plurality of DNS responses is valid, the selection policy is to select one of the at least one valid DNS response based on time of arrival, contents of each of the plurality of DNS responses, identity of DNS servers from which each of the plurality of DNS responses are received, or source of each of the plurality of DNS responses;
wherein when none of the DNS responses are valid;
the selection policy is to select one of the DNS responses randomly, statistically, according to the time of receiving or according to the order of receiving;
(h) transmitting a new DNS response to the host wherein the content of the new DNS response is based on the content of the first DNS response;
wherein if the first DNS response is not a valid DNS response, setting return code (RCODE) of the new DNS response to an RCODE contained in a majority of the plurality of DNS responses; and
(i) when the gateway has information to respond to the first DNS request;
responding to the DNS request; and
not transmitting the plurality of new DNS requests.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for processing Domain name Services (DNS) request in a gateway. The gateway receives a DNS request from a host from its local area network. The gateway then selects DNS server(s) and transmits a new DNS request to at least one DNS server(s). DNS server(s) may or may not be accessible through a first tunnel. The contents of the new DNS request are the same as the content of the received DNS request. Further, when the gateway receives a DNS response corresponding to the DNS request, it determines a decision whether to transfer data to the host whose IP address is specified in the DNS response through a second tunnel. The decision may be based on a geographical location of an IP address.
-
Citations
22 Claims
-
1. A method for processing Domain Name Services (DNS) request in a gateway, wherein the gateway comprises at least one local area network (LAN) interface and at least one wide area network (WAN) interface, the method comprising:
-
(a) receiving a first DNS request from a first host via one of the at least one LAN interface of the gateway; (b) selecting, according to at least one predefined selection policy, at least one DNS server; (c) transmitting a plurality of new DNS requests, containing all the contents of the first DNS request to the at least one DNS server through at least one tunnel via the at least one WAN interface if the at least one DNS server is accessible through the at least one tunnel; (d) transmitting the plurality of new DNS requests to the at least one DNS server without using a tunnel via the at least one WAN interface if the at least one DNS server is not accessible through any of the at least one tunnel; (e) receiving a plurality of DNS responses corresponding to the plurality of new DNS requests within a first predefined time period; (f) storing the plurality of DNS responses; (g) when the first predefined time period has expired;
selecting a first DNS response from the received plurality of DNS responses according to at least one predefined DNS response selection policy;
wherein when at least one of the plurality of DNS responses is valid, the selection policy is to select one of the at least one valid DNS response based on time of arrival, contents of each of the plurality of DNS responses, identity of DNS servers from which each of the plurality of DNS responses are received, or source of each of the plurality of DNS responses;
wherein when none of the DNS responses are valid;
the selection policy is to select one of the DNS responses randomly, statistically, according to the time of receiving or according to the order of receiving;(h) transmitting a new DNS response to the host wherein the content of the new DNS response is based on the content of the first DNS response;
wherein if the first DNS response is not a valid DNS response, setting return code (RCODE) of the new DNS response to an RCODE contained in a majority of the plurality of DNS responses; and(i) when the gateway has information to respond to the first DNS request;
responding to the DNS request; and
not transmitting the plurality of new DNS requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A gateway for processing Domain Name Services (DNS) request, comprising:
-
at least one local area network (LAN) interface; at least one wide area network (WAN) interface; at least one processing unit; at least one computer readable storage medium storing program instructions executable by the at least one processing unit for; (a) receiving a first DNS request from a first host via one of the at least one LAN interface of the gateway; (b) selecting, according to at least one predefined selection policy, at least one DNS server, (c) transmitting a plurality of new DNS requests, containing all the contents of the first DNS request to the at least one DNS server through at least one tunnel via the at least one WAN interface if the at least one DNS server is accessible through the at least one tunnel; (d) transmitting the plurality of new DNS requests to the at least one DNS server without using a tunnel via the at least one WAN interface if the at least one DNS server is not accessible through any of the at least one tunnel; (e) receiving a plurality of DNS responses corresponding to the plurality of new DNS requests within a first predefined time period; (f) storing the plurality of DNS responses; (g) when the first predefined time period has expired;
selecting a first DNS response from the received plurality of DNS responses according to at least one predefined DNS response selection policy;
wherein when at least one of the plurality of DNS responses is valid, the selection policy is to select one of the at least one valid DNS response based on time of arrival, contents of each of the plurality of DNS responses, identity of DNS servers from which each of the plurality of DNS responses are received, or source of each of the plurality of DNS responses;
wherein when none of the DNS responses are valid;
the selection policy is to select one of the DNS responses randomly, statistically, according to the time of receiving or according to the order of receiving;(h) transmitting a new DNS response to the host wherein the content of the new DNS response is based on the content of the first DNS response;
wherein if the first DNS response is not a valid DNS response, setting return code (RCODE) of the new DNS response to an RCODE contained in a majority of the plurality of DNS responses; and(i) when the gateway has information to respond to the first DNS request;
responding to the DNS request; and
not transmitting the plurality of new DNS requests. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification