Problems with IE DNS cache
If Internet Explorer caches an IP for a domain and that domain changes IP addresses (the TTL is low) and the old IP is still accessible meaning it's valid somewhere, just not to the original link, IE will continue to access this address until A)the TTL runs out and a new request is made (assume IE sets it to 30minutes because the TTL was too low for its tastes) B)the old IP dies and isn't accessible in which case IE performs a DNS lookup. I've found that after that 30minutes, if the link is still active, but isn't linked to the original domain, IE will continue to use that address until there is at least a 2.5minute break with NO TCP activity. Why is this?/Is there anyway to change that?
For a clearer picture, image two computers constantly trading addresses or something like that. Both have a Web server so they are both accessible via IE.
Thanks in advance
Ok, hold your horses. You're throwing around a lot of names without actually making all the right pieces fit together, just jamming them in like forcing a puzzle piece that doesn't actually belong.
IE - Has NO DNS cache (as far as I am aware.) The OS itself caches DNS. You can see this by opening a command prompt and typing in
I'd recommend outputting this to a file.
Secondly, a DNS lookup is only performed on hostnames, not IPs. You probably realize this, but I'm just spelling it out. If you resolve a hostname once, your cache will keep it and when you attempt to retrieve it again, you will only have to go so far as to look at your cache instead of the actual DNS Server itself.
Therefore, if you go to say www.google.com you will resolve that to (made up) 184.108.40.206. Your computer will send packets out to that address. If 220.127.116.11 goes down, your computer thinks it is down. It does NOT attempt to re-resolve the hostname via DNS because it thinks it is still a valid address.
The TTL for the DNS address in your cache is simply a measure of how long it is considered reliable. Therefor if the TTL on a particular lookup is 20 minutes. Your computer will keep that record in cache for no more than 20 minutes; but will rely on it 100% up until then.
Beyond that your question is kind of confusing, so I'll leave you with that and let you think on it and repost if you feel you need to.
Perhaps I did go too quickly, but yes IE does have its own cache. You can check this by setting a low TTL and watching it time out in the OS's cache. Windows OS respects extremely low TTLs. However, IE does not. It will retain any IP for a minimum of 30 minutes before will allow it to retire. After running multiple tests on different versions of Windows and IE, I've found that after the 30 minutes, IE will only perform a lookup if there is a 2.5 minute delay.
I access google.com and it resolves to (18.104.22.168). If google.com's TTL was below 30 minutes, IE will automatically set it to 30 minutes, but Windows will let it expire sooner thus respecting the original time to live. For 30 minutes, as long at 22.214.171.124 is accessible, IE will continue to use it. AFTER the 30 minutes, IE will STILL continue to use (126.96.36.199) as long as A) it's still available and B) you don't have a time limit of 2.5 minutes with no TCP activity to 188.8.131.52.
I'm assuming here that the registry values that effect IE and the OS haven't been altered.
I want to know why IE doesn't automatically check after the time is up and continues using the old IP it associated with google.com
Ahh, see, now I've learned something, too! I wonder if other browsers do this, too. Have you tried?
Chrome and FF do have their own cache but are respecting of low TTLs.