1 |
On Mon, Sep 19, 2011 at 11:52 AM, Paul Hartman |
2 |
<paul.hartman+gentoo@×××××.com> wrote: |
3 |
> On Sun, Sep 18, 2011 at 1:25 PM, András Csányi <sayusi.ando@×××××.com> wrote: |
4 |
>> Dear All! |
5 |
>> |
6 |
>> I think Google Chrome/Chromium is an excellent browser and I have been |
7 |
>> using it for a year or more. But there is one issue which is |
8 |
>> disturbing me and I would like to know what is your experience. |
9 |
> |
10 |
> Maybe a different problem than what you're having, but in my |
11 |
> experience Chromium is sensitive to DNS problems. When I use my ISP's |
12 |
> DNS server, Chromium regularly fails to load pages. When I use my own |
13 |
> local DNS resolver on my own machine, it works great... |
14 |
|
15 |
* Chrome/Chromium does not internally cache DNS results. (Firefox, by |
16 |
contrast, does) |
17 |
* DNS communications occur over UDP, which is very fast from the |
18 |
server's perspective, but carries no guarantee of delivery. (As a |
19 |
coping mechanism, DNS resolvers retry after a timeout) |
20 |
|
21 |
So what's happening: |
22 |
|
23 |
Chromium sends a UDP packet asking for the A (or AAAA, depending) |
24 |
record of whatever site it is you want to go see. |
25 |
|
26 |
That UDP packet makes it through your local network, and exits through |
27 |
your {,cable,DSL} modem. Noise on the line results in the loss of the |
28 |
UDP packet. The target DNS server never hears about the request, so |
29 |
never sends a reply. |
30 |
|
31 |
Chromium will retry after a bit. (I think the default is 30s for the |
32 |
first retry) |
33 |
|
34 |
On the other hand, if you're running a recursing DNS server on your |
35 |
local network, here's what happens: |
36 |
|
37 |
Chromium sends a UDP packet to your local DNS server, asking fo the A |
38 |
(or AAAA) record of the domain in question. |
39 |
|
40 |
That UDP packet makes it across your reliable local network to your |
41 |
local caching/recursing DNS server. |
42 |
|
43 |
Your local DNS server sends a UDP packet to an upstream DNS server, |
44 |
asking for the information you wanted. If that UDP packet doesn't |
45 |
reach its destination, the DNS server will try again. |
46 |
|
47 |
Once your local DNS server receives a reply, it caches the information |
48 |
for as long as the DNS records TTL indicates it should. |
49 |
|
50 |
So what happened to Chromium's initial request? If your local DNS |
51 |
server's initial query didn't manage to swim upstream, then Chromium |
52 |
probably timed out. You, the user, will probably try again. |
53 |
|
54 |
By the time you try again, your local DNS server will probably have |
55 |
received and cached the response from your _first_ query, and will |
56 |
have an answer for you immediately; no need to send UDP packets out |
57 |
over lossy internet connection. |
58 |
|
59 |
-- |
60 |
:wq |