< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] ares doesn't send query to DNS servers of othersubnets


1) Re: Why.

>From the perspective of a host, each DNS server is associated to a network
link: be it a physical link to ISP A, ISP B, or virtual link to your
corporate private network via VPN.

The DNS servers in all three networks would have an entry for a public host,
say google.com, but only the latter DNS server has an entry for your
internal host, say internal-host.mycompany.com because internal-host has a
private IP (say 192.168.5.40) and is only reachable via VPN (when you're
offsite).


2) Re: How it's used

The proposal to store the subnet address is due to the need to visit each
subnet's DNS server once, in the case of 'No such name' response because the
secondary server would have the same DNS records.

Storing the subnet allows us to try at least each DNS server ONCE from all
our links to resolve the host 'internal-host.mycompany.com' (192.168.5.40).
The routing of this IP would go via the VPN adapter, if setup correctly.


3) "why the subnet is equal ..."

>From the DNS server IP, one can lookup the routing table to see the NIC that
would be used. Resip already does this to populate the Via. From that
adapter one gets the network mask. The network mask may be applied to either
the DNS server IP or NIC IP to get the subnet address. With a mask of
255.255.255.0, the subnet IP would be 192.168.5.0/24. The IP for the adapter
may also be used, if it's simpler.

Regards,
Van.

> -----Original Message-----
> From: Scott Godin [mailto:slgodin@xxxxxxxxxxxx] 
> Sent: Monday, July 16, 2007 5:37 AM
> To: Van C. Nguyen; resiprocate-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: RE: [reSIProcate] ares doesn't send query to DNS 
> servers of othersubnets
> 
> Hi Van,
> 
> I'm not sure I understand why the subnet is stored, how it is 
> used, and why the subnet is equal to: (subnet mask applied to 
> DNS server IP).  Can you explain this a bit more?
> 
> Thanks,
> Scott
> 
> > 3.0) Proposed solution
> > 
> > * Ares (struct server_state) should associate each DNS servers with
> its
> > subnet, by way of its subnet address (subnet mask applied to DNS
> server
> > IP,
> > for V4 and subnet address bit range for V6 (2002::/64).
> > 
> > * For each subnets/adapters, there's a set of DNS servers: be it 
> > primary, secondary or tertiary. For each set, one and only 
> one of the 
> > servers will be tried should the query response 'No such name' be 
> > received. All the sets are tried until, of course, success or 
> > exhausted.
> > 
> > * Save the subnet address in ares' server_state structure.
> > 
> > * Check for rcode of 3 in process_answer and call the new function 
> > 'next_server_of_subnet_which_we_havent_visited_before' or something 
> > shorter.
> > 
> > Will post a patch sometime next week.
> > 
> > Van.
> > 
> > 
> 
> 
> No virus found in this incoming message.
> Checked by AVG Free Edition. 
> Version: 7.5.476 / Virus Database: 269.10.6/902 - Release 
> Date: 7/15/2007 2:21 PM
>  
> 

No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 7/15/2007
2:21 PM