Hinweis: Ihr Webbrowser unterstützt CSS2 nicht oder nicht korrekt.
Deshalb werden die Webseiten vermutlich nicht richtig dargestellt.
Um die Seiten richtig zu sehen, rufen Sie sie bitte in einem aktuelleren Browser auf.
Für weitere Hinweise klicken Sie bitte hier.
„Could not connect to remote server” - solche und ähnliche Meldungen bekam
ich häufig zu sehen, seit ich mit meinem neuen schnellen Recher im Internet
unterwegs war. Webbrowser oder Mailclient hatten mich vor der Meldung oft Minuten lang warten
lassen. Beim zweiten oder dritten Drücken von F5 im Browser oder <alt> F2 im Mailclient
wurde die gewünschte Seite dann doch endlich angezeigt bzw. meine Mail abgerufen.
Dies ertrug ich beinahe ein viertel Jahr lang, wenn auch innerlich leise
schimpfend und fluchend (auf Mail-Provider, Internet-Provider, Internet-Dienstleister, ...).
(Wieso ich das überhaupt so lange ertragen habe? Nun, erstens surfe ich nicht jeden Tag,
zweitens habe ich ausreichend andere Sorgen, Probleme und Interessen
(schließlich gibt es mit einem neuen Rechner noch mehr, was nicht mehr funktioniert)
um mich ausgiebig
mit diesem zu beschäftigen. Und drittens parallelisierte ich die Anfragen in mehreren Tabs im Browser -
irgendeine Seite würde irgendwann schon erscheinen.)
Doch dann wurde es mir irgendwann zu bunt. Zwar hatte ich auch mit dem alten Rechner
vereinzelt solche Fehler, doch nicht in diesem Ausmaß. Mit dem neuen Rechner und dem
Umstieg von 1Mbit/s auf 6Mbit/s DSL sollte eigentlich alles schneller gehen.
Stattdessen verursachte jeder Klick auf einen Link lange Wartezeiten. Hier stimmte doch
was nicht. War die Software nicht multiprozessorfähig? Hatte ich etwas falsch installiert?
Lag es am Servicepack von XP? Da gab es doch eine Änderung bezüglich der maximal
zulässigen Anzahl von Netzwerkverbindungen. Aber eine Überschreitung des Limits
müßte im Eventlog verzeichnet sein. Dort findet sich aber kein Hinweis.
Also installierte ich Microsofts Netmon und schnitt die
Datenübertragung mit.
Am deutlichsten und praktisch immer reproduzierbar traten die Effekte mit dem Mailclient auf,
also analysierte ich den zuerst. Mein Verdacht richtete sich von Anfang an gegen die DNS-Abfragen,
womit ich goldrichtig lag.
->DNS ...
DNS: Domain Name Service. Wird verwendet um für Servernamen einer Url die Ip-Adressen zu ermitteln.
Schon bei der ersten Analyse einer Aufzeichnung hatte ich den Eindruck, als gäbe es nicht für jede Anfrage auch eine Antwort. Um einen besseren Überblick zu bekommen färbte ich mittels „Color Filter” die Anfragen gelb und die Antworten grün. Hierdurch erhielt ich das folgende Bild. (Die Auswahl der Spalten habe ich nach und nach noch etwas optimiert, und natürlich sind hier die vertraulichen Daten wie Paßwörter entfernt, sonst entspricht es jedoch exakt den mitgeschnittenen Daten. Leider liefert nicht jeder Meßversuch eine derart klare Aussage. Man muß den Vorgang normalerweise schon einige Male wiederholen, um zu so einem deutlichen Ergebnis zu kommen. Hier jedoch hatte ich regelrecht Glück.)
Frame | Time Of Day | Source | Source Port | Destination | Destination Port | Protocol Name | Description |
---|---|---|---|---|---|---|---|
4 | 21:57:10.140 | MY-PC | 1031, 1031(0x407) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x36C2, QUERY (Standard query), Query for pop3.arcor.de of type Host Addr on class Internet |
5 | 21:57:10.140 | MY-PC | 1068, 1068(0x42c) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x3FC1, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
6 | 21:57:10.143 | MY-PC | 1510, 1510(0x5e6) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xD2C1, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
7 | 21:57:10.143 | MY-PC | 1511, 1511(0x5e7) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xA8C0, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
8 | 21:57:10.144 | MY-PC | 1512, 1512(0x5e8) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x3CC7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
9 | 21:57:10.145 | MY-PC | 1513, 1513(0x5e9) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x84C7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
10 | 21:57:10.155 | 192.168.1.1 | DNS(53), 53(0x35) | MY-PC | 1031, 1031(0x407) | DNS | DNS: QueryId = 0x36C2, QUERY (Standard query), Response - Success |
11 | 21:57:10.156 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | TCP | TCP: Flags=.S......, SrcPort=1514, DstPort=POP 3(110), Len=0, Seq=632319424, Ack=0, Win=65535 (scale factor 0) = 65535 |
12 | 21:57:10.169 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | TCP | TCP: Flags=.S..A..., SrcPort=POP 3(110), DstPort=1514, Len=0, Seq=3980556906, Ack=632319425, Win=5840 (scale factor 0) = 5840 |
13 | 21:57:10.169 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1514, DstPort=POP 3(110), Len=0, Seq=632319425, Ack=3980556907, Win=65535 (scale factor 0) = 65535 |
14 | 21:57:10.180 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | POP3 | POP3: Response: +OK: Hello there. |
15 | 21:57:10.180 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | POP3 | POP3: Command: USER u_1 |
16 | 21:57:10.192 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1514, Len=0, Seq=3980556925, Ack=632319450, Win=5840 (scale factor 0) = 5840 |
17 | 21:57:10.192 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | POP3 | POP3: Response: +OK: Password required. |
18 | 21:57:10.192 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | POP3 | POP3: Command: PASS pw_1 |
19 | 21:57:10.245 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1514, Len=0, Seq=3980556949, Ack=632319469, Win=5840 (scale factor 0) = 5840 |
20 | 21:57:10.265 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | POP3 | POP3: Response: +OK: Connected to proxy server. |
21 | 21:57:10.265 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | POP3 | POP3: Command: STAT |
22 | 21:57:10.276 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1514, Len=0, Seq=3980556981, Ack=632319475, Win=5840 (scale factor 0) = 5840 |
23 | 21:57:10.279 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | POP3 | POP3: Response: +OK: 0 0 |
24 | 21:57:10.279 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | POP3 | POP3: Command: QUIT |
25 | 21:57:10.292 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | POP3 | POP3: Response: +OK: Bye-bye. |
26 | 21:57:10.292 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1514, DstPort=POP 3(110), Len=0, Seq=632319481, Ack=3980557004, Win=65438 (scale factor 0) = 65438 |
27 | 21:57:10.293 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | TCP | TCP: Flags=F...A..., SrcPort=POP 3(110), DstPort=1514, Len=0, Seq=3980557004, Ack=632319481, Win=5840 (scale factor 0) = 5840 |
28 | 21:57:10.293 | MY-PC | 1514 | pop3.arcor-online.net | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1514, DstPort=POP 3(110), Len=0, Seq=632319482, Ack=3980557005, Win=65438 (scale factor 0) = 65438 |
29 | 21:57:10.304 | pop3.arcor-online.net | POP 3(110) | MY-PC | 1514 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1514, Len=0, Seq=3980557005, Ack=632319482, Win=5840 (scale factor 0) = 5840 |
30 | 21:57:11.140 | MY-PC | 1068, 1068(0x42c) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x3FC1, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
31 | 21:57:11.143 | MY-PC | 1511, 1511(0x5e7) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xA8C0, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
32 | 21:57:11.143 | MY-PC | 1510, 1510(0x5e6) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xD2C1, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
33 | 21:57:11.144 | MY-PC | 1512, 1512(0x5e8) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x3CC7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
34 | 21:57:11.146 | MY-PC | 1513, 1513(0x5e9) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x84C7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
35 | 21:57:11.155 | 192.168.1.1 | DNS(53), 53(0x35) | MY-PC | 1068, 1068(0x42c) | DNS | DNS: QueryId = 0x3FC1, QUERY (Standard query), Response - Success |
36 | 21:57:11.155 | MY-PC | 1515 | post.strato.de | POP 3(110) | TCP | TCP: Flags=.S......, SrcPort=1515, DstPort=POP 3(110), Len=0, Seq=2927208074, Ack=0, Win=65535 (scale factor 0) = 65535 |
37 | 21:57:11.171 | post.strato.de | POP 3(110) | MY-PC | 1515 | TCP | TCP: Flags=.S..A..., SrcPort=POP 3(110), DstPort=1515, Len=0, Seq=1699417186, Ack=2927208075, Win=49368 (scale factor 0) = 49368 |
38 | 21:57:11.171 | MY-PC | 1515 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1515, DstPort=POP 3(110), Len=0, Seq=2927208075, Ack=1699417187, Win=65535 (scale factor 0) = 65535 |
39 | 21:57:11.183 | post.strato.de | POP 3(110) | MY-PC | 1515 | POP3 | POP3: Response: +OK: POP3 server ready <abc@post.webmailer.de> |
40 | 21:57:11.183 | MY-PC | 1515 | post.strato.de | POP 3(110) | POP3 | POP3: Command: USER u_2 |
41 | 21:57:11.196 | post.strato.de | POP 3(110) | MY-PC | 1515 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1515, Len=0, Seq=1699417255, Ack=2927208112, Win=49368 (scale factor 0) = 49368 |
42 | 21:57:11.197 | post.strato.de | POP 3(110) | MY-PC | 1515 | POP3 | POP3: Response: +OK: Waiting for password |
43 | 21:57:11.197 | MY-PC | 1515 | post.strato.de | POP 3(110) | POP3 | POP3: Command: PASS pw_2 |
44 | 21:57:11.209 | post.strato.de | POP 3(110) | MY-PC | 1515 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1515, Len=0, Seq=1699417281, Ack=2927208127, Win=49368 (scale factor 0) = 49368 |
45 | 21:57:11.212 | post.strato.de | POP 3(110) | MY-PC | 1515 | POP3 | POP3: Response: +OK: User logged in, proceed. |
46 | 21:57:11.212 | MY-PC | 1515 | post.strato.de | POP 3(110) | POP3 | POP3: Command: STAT |
47 | 21:57:11.224 | post.strato.de | POP 3(110) | MY-PC | 1515 | POP3 | POP3: Response: +OK: 0 0 |
48 | 21:57:11.224 | MY-PC | 1515 | post.strato.de | POP 3(110) | POP3 | POP3: Command: QUIT |
49 | 21:57:11.237 | post.strato.de | POP 3(110) | MY-PC | 1515 | POP3 | POP3: Response: +OK: Closing connection |
50 | 21:57:11.237 | MY-PC | 1515 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1515, DstPort=POP 3(110), Len=0, Seq=2927208139, Ack=1699417344, Win=65378 (scale factor 0) = 65378 |
51 | 21:57:11.238 | post.strato.de | POP 3(110) | MY-PC | 1515 | TCP | TCP: Flags=F...A..., SrcPort=POP 3(110), DstPort=1515, Len=0, Seq=1699417344, Ack=2927208139, Win=49368 (scale factor 0) = 49368 |
52 | 21:57:11.238 | MY-PC | 1515 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1515, DstPort=POP 3(110), Len=0, Seq=2927208140, Ack=1699417345, Win=65378 (scale factor 0) = 65378 |
53 | 21:57:11.251 | post.strato.de | POP 3(110) | MY-PC | 1515 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1515, Len=0, Seq=1699417345, Ack=2927208140, Win=49368 (scale factor 0) = 49368 |
54 | 21:57:12.143 | MY-PC | 1510, 1510(0x5e6) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xD2C1, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
55 | 21:57:12.143 | MY-PC | 1511, 1511(0x5e7) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xA8C0, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
56 | 21:57:12.144 | MY-PC | 1512, 1512(0x5e8) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x3CC7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
57 | 21:57:12.146 | MY-PC | 1513, 1513(0x5e9) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x84C7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
58 | 21:57:12.158 | 192.168.1.1 | DNS(53), 53(0x35) | MY-PC | 1510, 1510(0x5e6) | DNS | DNS: QueryId = 0xD2C1, QUERY (Standard query), Response - Success |
59 | 21:57:12.158 | MY-PC | 1516 | post.strato.de | POP 3(110) | TCP | TCP: Flags=.S......, SrcPort=1516, DstPort=POP 3(110), Len=0, Seq=903049650, Ack=0, Win=65535 (scale factor 0) = 65535 |
60 | 21:57:12.173 | post.strato.de | POP 3(110) | MY-PC | 1516 | TCP | TCP: Flags=.S..A..., SrcPort=POP 3(110), DstPort=1516, Len=0, Seq=1783601613, Ack=903049651, Win=49368 (scale factor 0) = 49368 |
61 | 21:57:12.173 | MY-PC | 1516 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1516, DstPort=POP 3(110), Len=0, Seq=903049651, Ack=1783601614, Win=65535 (scale factor 0) = 65535 |
62 | 21:57:12.281 | post.strato.de | POP 3(110) | MY-PC | 1516 | POP3 | POP3: Response: +OK: POP3 server ready <abd@post.webmailer.de> |
63 | 21:57:12.282 | MY-PC | 1516 | post.strato.de | POP 3(110) | POP3 | POP3: Command: USER u_3 |
64 | 21:57:12.295 | post.strato.de | POP 3(110) | MY-PC | 1516 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1516, Len=0, Seq=1783601682, Ack=903049685, Win=49368 (scale factor 0) = 49368 |
65 | 21:57:12.296 | post.strato.de | POP 3(110) | MY-PC | 1516 | POP3 | POP3: Response: +OK: Waiting for password |
66 | 21:57:12.296 | MY-PC | 1516 | post.strato.de | POP 3(110) | POP3 | POP3: Command: PASS pw_3 |
67 | 21:57:12.308 | post.strato.de | POP 3(110) | MY-PC | 1516 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1516, Len=0, Seq=1783601708, Ack=903049702, Win=49368 (scale factor 0) = 49368 |
68 | 21:57:12.333 | post.strato.de | POP 3(110) | MY-PC | 1516 | POP3 | POP3: Response: +OK: User logged in, proceed. |
69 | 21:57:12.333 | MY-PC | 1516 | post.strato.de | POP 3(110) | POP3 | POP3: Command: STAT |
70 | 21:57:12.346 | post.strato.de | POP 3(110) | MY-PC | 1516 | POP3 | POP3: Response: +OK: 0 0 |
71 | 21:57:12.346 | MY-PC | 1516 | post.strato.de | POP 3(110) | POP3 | POP3: Command: QUIT |
72 | 21:57:12.359 | post.strato.de | POP 3(110) | MY-PC | 1516 | POP3 | POP3: Response: +OK: Closing connection |
73 | 21:57:12.359 | MY-PC | 1516 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1516, DstPort=POP 3(110), Len=0, Seq=903049714, Ack=1783601771, Win=65378 (scale factor 0) = 65378 |
74 | 21:57:12.359 | post.strato.de | POP 3(110) | MY-PC | 1516 | TCP | TCP: Flags=F...A..., SrcPort=POP 3(110), DstPort=1516, Len=0, Seq=1783601771, Ack=903049714, Win=49368 (scale factor 0) = 49368 |
75 | 21:57:12.359 | MY-PC | 1516 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1516, DstPort=POP 3(110), Len=0, Seq=903049715, Ack=1783601772, Win=65378 (scale factor 0) = 65378 |
76 | 21:57:12.372 | post.strato.de | POP 3(110) | MY-PC | 1516 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1516, Len=0, Seq=1783601772, Ack=903049715, Win=49368 (scale factor 0) = 49368 |
77 | 21:57:14.143 | MY-PC | 1511, 1511(0x5e7) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xA8C0, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
78 | 21:57:14.144 | MY-PC | 1512, 1512(0x5e8) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x3CC7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
79 | 21:57:14.146 | MY-PC | 1513, 1513(0x5e9) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x84C7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
80 | 21:57:14.158 | 192.168.1.1 | DNS(53), 53(0x35) | MY-PC | 1511, 1511(0x5e7) | DNS | DNS: QueryId = 0xA8C0, QUERY (Standard query), Response - Success |
81 | 21:57:14.158 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=.S......, SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577568, Ack=0, Win=65535 (scale factor 0) = 65535 |
82 | 21:57:14.173 | post.strato.de | POP 3(110) | MY-PC | 1517 | TCP | TCP: Flags=.S..A..., SrcPort=POP 3(110), DstPort=1517, Len=0, Seq=1962662623, Ack=2817577569, Win=49368 (scale factor 0) = 49368 |
83 | 21:57:14.173 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577569, Ack=1962662624, Win=65535 (scale factor 0) = 65535 |
84 | 21:57:14.185 | post.strato.de | POP 3(110) | MY-PC | 1517 | POP3 | POP3: Response: +OK: POP3 server ready <abe@post.webmailer.de> |
85 | 21:57:14.185 | MY-PC | 1517 | post.strato.de | POP 3(110) | POP3 | POP3: Command: USER u_4 |
86 | 21:57:14.198 | post.strato.de | POP 3(110) | MY-PC | 1517 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1517, Len=0, Seq=1962662692, Ack=2817577608, Win=49368 (scale factor 0) = 49368 |
87 | 21:57:14.199 | post.strato.de | POP 3(110) | MY-PC | 1517 | POP3 | POP3: Response: +OK: Waiting for password |
88 | 21:57:14.199 | MY-PC | 1517 | post.strato.de | POP 3(110) | POP3 | POP3: Command: PASS pw_4 |
89 | 21:57:14.213 | post.strato.de | POP 3(110) | MY-PC | 1517 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1517, Len=0, Seq=1962662718, Ack=2817577625, Win=49368 (scale factor 0) = 49368 |
90 | 21:57:14.215 | post.strato.de | POP 3(110) | MY-PC | 1517 | POP3 | POP3: Response: +OK: User logged in, proceed. |
91 | 21:57:14.215 | MY-PC | 1517 | post.strato.de | POP 3(110) | POP3 | POP3: Command: STAT |
92 | 21:57:14.227 | post.strato.de | POP 3(110) | MY-PC | 1517 | POP3 | POP3: Response: +OK: 0 0 |
93 | 21:57:14.227 | MY-PC | 1517 | post.strato.de | POP 3(110) | POP3 | POP3: Command: QUIT |
94 | 21:57:14.240 | post.strato.de | POP 3(110) | MY-PC | 1517 | POP3 | POP3: Response: +OK: Closing connection |
95 | 21:57:14.240 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577637, Ack=1962662781, Win=65378 (scale factor 0) = 65378 |
96 | 21:57:14.241 | post.strato.de | POP 3(110) | MY-PC | 1517 | TCP | TCP: Flags=F...A..., SrcPort=POP 3(110), DstPort=1517, Len=0, Seq=1962662781, Ack=2817577637, Win=49368 (scale factor 0) = 49368 |
97 | 21:57:14.241 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577638, Ack=1962662782, Win=65378 (scale factor 0) = 65378 |
98 | 21:57:15.402 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577637, Ack=1962662782, Win=65378 (scale factor 0) = 65378 |
99 | 21:57:17.918 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577637, Ack=1962662782, Win=65378 (scale factor 0) = 65378 |
100 | 21:57:18.144 | MY-PC | 1512, 1512(0x5e8) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x3CC7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
101 | 21:57:18.146 | MY-PC | 1513, 1513(0x5e9) | 192.168.1.1 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x84C7, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
102 | 21:57:18.159 | 192.168.1.1 | DNS(53), 53(0x35) | MY-PC | 1512, 1512(0x5e8) | DNS | DNS: QueryId = 0x3CC7, QUERY (Standard query), Response - Success |
103 | 21:57:18.160 | MY-PC | 1518 | post.strato.de | POP 3(110) | TCP | TCP: Flags=.S......, SrcPort=1518, DstPort=POP 3(110), Len=0, Seq=1392671624, Ack=0, Win=65535 (scale factor 0) = 65535 |
104 | 21:57:18.175 | post.strato.de | POP 3(110) | MY-PC | 1518 | TCP | TCP: Flags=.S..A..., SrcPort=POP 3(110), DstPort=1518, Len=0, Seq=2277082142, Ack=1392671625, Win=49368 (scale factor 0) = 49368 |
105 | 21:57:18.175 | MY-PC | 1518 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1518, DstPort=POP 3(110), Len=0, Seq=1392671625, Ack=2277082143, Win=65535 (scale factor 0) = 65535 |
106 | 21:57:18.186 | post.strato.de | POP 3(110) | MY-PC | 1518 | POP3 | POP3: Response: +OK: POP3 server ready <abf@post.webmailer.de> |
107 | 21:57:18.186 | MY-PC | 1518 | post.strato.de | POP 3(110) | POP3 | POP3: Command: USER u_5 |
108 | 21:57:18.200 | post.strato.de | POP 3(110) | MY-PC | 1518 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1518, Len=0, Seq=2277082211, Ack=1392671660, Win=49368 (scale factor 0) = 49368 |
109 | 21:57:18.200 | post.strato.de | POP 3(110) | MY-PC | 1518 | POP3 | POP3: Response: +OK: Waiting for password |
110 | 21:57:18.200 | MY-PC | 1518 | post.strato.de | POP 3(110) | POP3 | POP3: Command: PASS pw_5 |
111 | 21:57:18.213 | post.strato.de | POP 3(110) | MY-PC | 1518 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1518, Len=0, Seq=2277082237, Ack=1392671677, Win=49368 (scale factor 0) = 49368 |
112 | 21:57:18.216 | post.strato.de | POP 3(110) | MY-PC | 1518 | POP3 | POP3: Response: +OK: User logged in, proceed. |
113 | 21:57:18.216 | MY-PC | 1518 | post.strato.de | POP 3(110) | POP3 | POP3: Command: STAT |
114 | 21:57:18.228 | post.strato.de | POP 3(110) | MY-PC | 1518 | POP3 | POP3: Response: +OK: 0 0 |
115 | 21:57:18.228 | MY-PC | 1518 | post.strato.de | POP 3(110) | POP3 | POP3: Command: QUIT |
116 | 21:57:18.241 | post.strato.de | POP 3(110) | MY-PC | 1518 | POP3 | POP3: Response: +OK: Closing connection |
117 | 21:57:18.241 | MY-PC | 1518 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1518, DstPort=POP 3(110), Len=0, Seq=1392671689, Ack=2277082300, Win=65378 (scale factor 0) = 65378 |
118 | 21:57:18.242 | post.strato.de | POP 3(110) | MY-PC | 1518 | TCP | TCP: Flags=F...A..., SrcPort=POP 3(110), DstPort=1518, Len=0, Seq=2277082300, Ack=1392671689, Win=49368 (scale factor 0) = 49368 |
119 | 21:57:18.242 | MY-PC | 1518 | post.strato.de | POP 3(110) | TCP | TCP: Flags=....A..., SrcPort=1518, DstPort=POP 3(110), Len=0, Seq=1392671690, Ack=2277082301, Win=65378 (scale factor 0) = 65378 |
120 | 21:57:18.254 | post.strato.de | POP 3(110) | MY-PC | 1518 | TCP | TCP: Flags=....A..., SrcPort=POP 3(110), DstPort=1518, Len=0, Seq=2277082301, Ack=1392671690, Win=49368 (scale factor 0) = 49368 |
121 | 21:57:22.746 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577637, Ack=1962662782, Win=65378 (scale factor 0) = 65378 |
122 | 21:57:25.146 | MY-PC | NETBIOS Name Service(137), 137(0x89) | 192.168.1.255 | NETBIOS Name Service(137), 137(0x89) | NbtNs | NbtNs: Query Request for POST.STRATO.DE <0x00> Workstation Service |
123 | 21:57:25.896 | MY-PC | NETBIOS Name Service(137), 137(0x89) | 192.168.1.255 | NETBIOS Name Service(137), 137(0x89) | NbtNs | NbtNs: Query Request for POST.STRATO.DE <0x00> Workstation Service |
124 | 21:57:26.646 | MY-PC | NETBIOS Name Service(137), 137(0x89) | 192.168.1.255 | NETBIOS Name Service(137), 137(0x89) | NbtNs | NbtNs: Query Request for POST.STRATO.DE <0x00> Workstation Service |
125 | 21:57:32.301 | MY-PC | 1517 | post.strato.de | POP 3(110) | TCP | TCP: Flags=F...A..., SrcPort=1517, DstPort=POP 3(110), Len=0, Seq=2817577637, Ack=1962662782, Win=65378 (scale factor 0) = 65378 |
Es fällt sofort auf, daß von mehreren aufeinanderfolgenden Abfragen immer nur eine beantwortet wird. Welche dies ist, erkennt man an der Portnummer. Jede Sourceportnummer einer Anfrage gehört zu einer Datenübertragungsschnittstelle, die der Mailclient geöffnet hat. Der Mailclient hat also 6 Schnittstellen geöffnet (für jedes Postfach eine) und auf jeder eine DNS-Abfrage gestartet. (Bzw. er hat eine Verbindung zu einer Url angefordert und die Netzwerkschicht hat die Anfrage für ihn gestartet.) Die erste Anfrage wurde beantwortet, alle anderen wurden nach einem Timout wiederholt. Dann wiederholte sich das Spiel. Die neue erste Anfrage wurde beantwortet, die restlichen Anfragen wiederholt - usw. Das Timeout zwischen den Abfragen wurde erhöht (1s, 1s, 2s, 4s). Die letzte Anfrage wurde jedoch zum Schluß nicht wiederholt. Nach 5 Fehlversuchen gab der Netzwerktreiber fast auf. Fast deswegen, weil hier eine Windowsspezialität ins Spiel kommt. Wenn DNS nicht funktioniert, dann probieren wir es halt mit Netbios im lokalen Netz. (Im Netzwerktrace rot markiert.) Nur ist mein lokales Netz recht klein, es umfaßt genau einen Rechner, der ins Internet will. Insbesondere hat sich die Strato-Domäne nicht unter meinem Sofa versteckt, und so ist dieses Ansinnen zum Scheitern verurteilt. Wie lange der Treiber auf eine Antwort wartet, bevor er eine Fehlermeldung an die Anwendung zurückgibt, kann man dem Trace leiter nicht entnehmen, aber aus dem Verhalten der Anwendung kann man schließen, daß er sich wohl etwa eine Minute geduldet.
Wieso aber wurden die identischen Abfragen alle wiederholt? Spätestens nach der zweiten Antwort müßte doch die IP-Adresse im lokalen Cache vorliegen? Funktioniert vielleicht der Cache nicht? Ein Aufruf von „ipconfig /displaydns” zeigt, daß der Cache sehr wohl funktioniert. Dies ist auch der Grund, weswegen nach einer sofortigen Wiederholung von <alt> F2 der Mailserver plötzlich doch gefunden wird. Die Antwort ist einfach: zum Zeitpunkt der ersten Anfrage war die Adresse nicht im Cache vorhanden. Bei den Wiederholungsversuchen überprüft der Treiber den Cache nicht nochmals. Er rechnet einfach nicht damit, daß ihm in der Zwischenzeit jemand anders die Daten hinterlegt hat.
Und warum hat es mit dem alten Rechner funktioniert? Nun, das war zu diesem Zeitpunkt der Untersuchung noch offen. Entweder gingen dort die Anfragen nicht verloren (andere Betriebssystemversion, anderer Treiber, andere Netzwerkkarte ...) oder es lag wirklich daran, daß dieser Rechner langsamer war. Die 6 Abfragen erfolgten laut Trace innerhalb von 5 ms, die Anwort auf die erste Abfrage kam nach 15 ms. Wenn der alte Rechner für die Abfragen etwas mehr als dreimal so lange gebraucht hat, dann konnte die letzte Anfrage bereits mit Hilfe des Caches befriedigt werden, ging also auch nicht schief.
Durch die Überprüfung des Caches wurde ich aber auch noch auf etwas anderes aufmerksam: Die "TimeToLive" der DNS-Einträge betrugen von Strato ca eine Minute, von Arcor etwa 12 Minuten. Dagegen lagen die Lebenserwartungen der meisten anderen Webadressen im Stunden- bis Tagesbereich. Dies erklärte mir die gute Reproduzierbarkeit der Probleme mit dem Webclient und die schlechte Reproduzierbarkeit mit dem Webbrowser. Um auch hier reproduzierbare Analyseergebnisse zu erzielen, mußte ich den Cache durch Neustart des Rechners oder einfacher durch „ipconfig /flushdns” löschen.
Meine Hypothese lautete zu diesem Zeitpunkt:
Alle DNS-Anfragen, die zwischen einer DNS-Anfrage, die beantwortet wird, und deren Antwort liegen,
werden ignoriert bzw. gehen verloren.
Dies verifizierte ich nun durch Aufzeichnungen von Webzugriffen mit Opera. Die Protokolle gebe ich hier nicht wieder, weil sie ziemlich umfangreich und weit weniger übersichtlich als das oben gezeigte Protokoll sind. Die DNS-Abfragen und Antworten sind weit verstreut und durch zahlreiche HTML-Übertragungen unterbrochen, aber die Hypothese wurde bestätigt. Webseiten enthalten in der Regel zahlreiche GIFs, JPEGs, Frames, Iframes, JScripts, CSS usw., die vom Browser während des Seitenaufbaus geladen werden. Liegen diese auf der gleichen Domain, wie die Webseite selbst, so gibt es kein Problem, da deren Adresse zu dem Zeitpunkt, zu dem die Seite interpretiert wird, ja bereits bekannt ist. Häufig stammen sie jedoch von einer Subdomain, einer internationalen Domain des Betreibers der Seite, sind Bannerwerbung oder sind Nachrichten eines anderen Dienstanbieters. Wie wir bereits gesehen haben, spielt es für die Anzahl der DNS-Anfragen nicht unbedingt eine Rolle, ob die Elemente alle von der gleichen oder von unterschiedlichen Domains kommen, außer daß bei gleichen Domains doch ab und zu ein Treffer im Cache gelandet wird.
Als nächstes stellte sich die Frage, welche Komponente den Fehler verursachte und wie man dies verhindern könnte. Falls es z.B. ein Treiber gewesen wäre, hätte ich evtl. durch Parameteränderungen in der Registry eine Chance gehabt. Da der Netzwerkmonitor auf dem gleichen Rechner lief, wie die Anwendung und die Treiber, war ich nicht sicher, in wie weit das Protokoll mit den tatsächlich gesendeten Daten übereinstimmte, denn zwischen dem Monitortreiber und der Hardware befindet sich noch der NDIS- und der herstellerspezifische Treiber für den Adapter. Für den Hardwareadapter selbst schien mir das Verhalten zu kompliziert zu sein. Der Verursacher konnte jedoch auch der DSL-Modem Router (ein Zyxel Prestige 660 HW-67, den ich als ARCOR-DSL WLAN Modem 100 gekauft hatte) sein. So versuchte ich zunächst in diesem Router mittels Telnet eine Tracefunktion zu aktivieren, um dann seine Daten mit denen des Netmon zu vergleichen. Dies gelang mir jedoch nicht im erhofften Umfang. (Sei es, daß er nicht über die entsprechende Funktionalität verfügt, sei es, daß mir nicht bekannt ist, wie man sie aktiviert.) Es gelang mir jedoch eine Statistikabfrage (ip dns stats disp), in der der Router behauptete:
DNS Proxy Statistics
State: 2
Proxy Table Size: 128
Active DNS: 195.50.140.178
Primary DNS: 195.50.140.178
Secondary DNS: 195.50.140.114
Max Entry: 45
Timeouts: 0
Response Discards: 0
Request Discards: 0
Send Failures: 0
No DNS Entry : 0
Request Count : 46
Free Count : 280
Es war offenkundig, daß hier einer log! Hier half nur eines: ein unabhängiger Beobachter in der Mitte. Also schaltete ich einen Hub zwischen Rechner und DSL-Router, um die übertragenen Daten an einem zweiten PC aufzuzeichnen.
->Hub ...
Hub: Ein Gerät, das die empfangenen Daten von allen angeschlossenen Geräten an alle anderen Geräte weiterleitet. Entspricht also praktisch einem Bus, nur mit dem Unterschied, daß die Verdrahtung sternförmig erfolgt. Im Gegensatz dazu leitet ein Switch die Daten (fast) ausschließlich an den gewünschten Empfänger weiter. Dadurch senken Switches die Belastung des Netzwerkes und verhindern gleichzeitig weitgehend das Abhören von Datenübertragungen. Deshalb wurden heutzutage Hubs fast vollständig von Switches verdrängt. Für meine Zwecke war aber gerade die Abhörmöglichkeit wichtig.
Die Resultate waren praktisch identisch mit den am ersten PC gemachten Aufzeichnungen. Damit stand zweifelsfrei fest, daß der Zyxel DSL-Router fehlerhaft arbeitete. Ich suchte zunächst nach Firmwareupdates für den Router. Von den zahlreichen vorhandenen Updates (SQ 1 bis QD 8) war jedoch nur eine, nämlich SQ 1) auch für die Arcor Variante freigegeben (und installierbar). So installierte ich diese. Dies brachte jedoch keine Verbesserung. Daher schickte ich folgende Fehlermeldung an Zyxel (ging etwas zäh, da auch die Zyxel-Seite zu denen gehört, die sich nicht so ohne weiteres aufrufen lassen, wenn man einen Zyxel DSL-Router hat):
Bug: DNS requests lost
Ich habe festgestellt, daß der DSL-Router einen gravierenden Fehler enthält:
werden mehrere DNS Anfragen kurz nacheinander an den Router gerichtet, so
gehen alle, die nach der ersten und vor der Antwort auf die erste erfolgen,
verloren. (Konsequent reproduzierbar.)
Dies führt zu zahlreichen Retries und langen Wartezeiten. Webseiten mit mehr
als 5 externen Resourcen lassen sich oft überhaupt nicht öffnen (auch wenn
alle auf die gleiche Url zeigen, da die Retries erst hinter dem DNS Cache von
Windows erfolgen), weil die maximale Zahl der Retries überschritten wurde.
Hinzu kommt, daß Windows danach versucht diese Namen über Netbios aufzulösen.
Dieses Verhalten fiel mir erst auf, seit ich einen schnelleren Rechner benutze,
beim langsmeren Vorgängermodell war wahrscheinlich zwischen den DNS-Anfragen
eine ausreichend große Pause.
Ich habe bereits auf die neuere Firmwareversion
Zynos Firmware V3.40(SQ.1) | 3/31/2005 upgedated, jedoch ohne Verbesserung.
Bei der Abfrage „ip dns stats disp” behauptet der Router, es seien keine DNS
Anfragen verlorengegangen, ein Netzwerktrace an einem unabhängigen Rechner
beweist jedoch das Gegenteil.
Capturelogs kann ich gerne zur Verfügung stellen.
Immerhin schon 6 Tage später bekam ich von Zyxel die folgende Antwort:
Sehr geehrter Herr Mueller,
bitte richten Sie Ihre Anfragen an den Deutschen Support über die unten genannte Webseite.
Sie haben ein Arcor WLAN Modem 100, das speziell nach den Wünschen von Arcor hergestellt wurde.
Dieses Modell ist als sehr preiswertes Multifunkitonsgerät für den DSL-Anschluß von kleinen Heimnetzwerken gedacht.
Hier tritt der von Ihnen geschilderte Prozess äußerst selten auf und falls er auftritt wird er durch
einen Neuversuch des Benutzers oder des Rechners behoben.
Sofern Sie dieses Gerät als DNS Server für ein größeres Netzwerk einsetzen, tragen Sie bitte bei den
angeschlossenen Clients einen alternativen DNS-Server zum Standard-DNS-Server (also dem P660) ein.
Wir werden für die genannte Situation keine Lösung mehr anbieten können und keine Aktualisierung der Firmware
veröffentlichen. Falls Sie eine andere Firmware auf das Gerät installieren möchten, könnte das Gerät nachhaltig
beschädigt werden.
Bitte entschuldigen Sie die Unannehmlichkeiten, die Ihnen durch diese Geräteeigenschaft entstehen. Wir raten eine
Neuplanung des Netzwerkes, sofern Sie eine Anzahl von mehr als 5 Benutzern für das Netzwerk überschreiten.
Mit freundlichen Grüßen...
Ach, Arcor hat also extra den Wunsch geäußert, ein fehlerhaftes Modem herzustellen. Das kann ich so nicht ganz
glauben.
So arg preiswert war das Gerät auch nicht. Immerhin habe ich seinerzeit 29,95€ dafür bezahlt und laut
Werbeprospekt von Arcor durch meinen Vertragsabschluß 220€ gespart.
Auch wird mir unterstellt, ich hätte einen
Großkonzern an dem Router angeschlossen. Hätte Zyxel von meinem Angebot Gebrauch gemacht und sich meine Logfiles schicken
lassen, dann hätten sie gesehen, daß der gesamte Traffic von nur einem einzigen Rechner verursacht wurde.
Recht viel kleiner kann ein Heimnetz wohl nicht mehr sein.
Wäre das Problem selten, so hätte ich mir weder die Mühe
gemacht es zu analysieren, noch mich beschwerd. Durch Neuversuch des Rechners wird das Problem leider auch nicht behoben,
wie mein Log beweist (der Rechner hat es immerhin fünfmal probiert). Durch Neuversuch des Anwenders schon eher.
Jedoch muß der Anwender erst den Timeout abwarten, eher läßt ihn die Anwendung oft nicht neu probieren.
Interessant ist der Hinweis auf das „Installieren anderer Firmware”. Hier wird offenbar auf die Anleitungen im
Internet angespielt, wie man aus einem Arcor Modell einen „echten” Zyxel Router macht. Bei meiner Suche nach der
Firmware bin ich über diese Anleitungen schon auch gestolpert. Ist aber halt die Frage, ob es die Mühe wert ist.
Das Risiko, aus einem Router, der nicht richtig funktioniert, einen Router zu machen, der „nachhaltig beschädigt” ist,
würde mich im Zweifelsfall wohl weniger abschrecken.
Ich verstehe ja einerseits, daß Gerätehersteller nicht unbegrenzt neue Firmware für alte Modelle anbieten wollen.
Anderseits ist mir die durchaus verbreitete Praxis mit dem Support für gebrandete OEM-Modelle völlig unverständlich,
die man z.B. auch bei Motherboards oder DVD-Brennern vorfindet.
Da wird erst dem Kunden in der Werbung ein Markengerät
versprochen, wenn der aber später ein Firmwareupdate braucht, so bekommt er es nicht, mit der Begründung, er habe
nur ein Supermarkt-Billigprodukt. Für das gleichnamige und baugleiche Orginalgerät bekäme er aber noch jahrelang
Updates.
Glauben die Hersteller wirklich, die derart geprellten Kunden würden das Gerät wegwerfen, um anschließend
ein Orginalprodukt der Firma zu kaufen?
Auch bei Software gibt es „Lightversionen”, die jedoch dank vergünstigtem
Update auf die Vollversion den Kunden binden.
Wäre es für die Hardwarehersteller wirklich so ein Problem bei der
Veröffentlichung von fehlerbereinigten Firmwareversionen auch für die OEM-Kunden Updates bereitzustellen? Oder
wäre es für Großabnehmer wie in diesem Fall Arcor ein Problem z.B. von Zyxel ein fehlerbereinigtes Update
einzufordern?
Mag ja sein, daß der Fehler bislang noch nicht oft gemeldet wurde (und wenn, dann vermutlich nicht
so detailiert wie von mir hier beschrieben) und den Anwendern dann meist einfach ein anderes Gerät verkauft wurde.
Da dieses Modell jedoch von Arcor und AOL vertrieben wurde, dürfte es ziemlich verbreitet sein. Es ist wohl
anzunehmen, daß sich alle diese Anwender früher oder später einen neuen Rechner zulegen. Den Router tauscht dagegen
so schnell niemand aus (es sei denn er wird von Presse und/oder Provider extra darauf hingewiesen), denn wenn dieses
Gerät erst einmal ein paar Jahre hinter dem Schreibtisch versteckt seinen Dienst verrichtet hat, dann schenkt ihm der
Anwender vermutlich ebensoviel Beachtung wie einer Streckdosenleiste. (Das mache ja selbst ich als Profi zugegebenermaßen
nicht viel besser.)
Die Schuld für die schlechte Internetverbindung werden viele Anwender dann wahrscheinlich
bei ihrem Internetprovider suchen und den Provider wechseln. Der neue Provider macht ihnen dann wieder ein Angebot
auf ein vergünstigtes Modem - und siehe da - sie fühlen sich bestätigt: der neue Provider stellt wirklich eine
viel bessere Internetverbindung zur Verfügung.
Doch zurück zur Supportnachricht. Ich setzte den Router zwar nicht in einem größeren Netzwerk ein, jedoch kann man auch
an einem einzelnen PC den DNS-Server explizit spezifizieren. Wenn man statt „obtain DNS server address automatically”
die IP-Adresse eines DNS-Servers manuell vorgibt, dann werden die DNS-Anfragen zwar auch an den Router geschickt, sie sind
jedoch nicht an ihn gerichtet, sondern passieren ihn wie alle anderen IP-Pakete. (Bei der Einstellung „automatisch beziehen”
registriert sich der Zyxel Router selbst als DNS-Server bei der DHCP-Abfrage und fungiert als DNS-Proxy mit Cache.
Daher waren im Log die DNS-Anfragen an die Adresse 192.168.1.1 (die Gatewayadresse des Routers) gerichtet.)
Dieser Tip ist also wirklich ein sehr guter Hinweis des Supportdienstleisters!!
Weil die Geschwindigkeit von OpenDNS in Foren oft gelobt wird, entschied ich mich, dessen Adressen einzutragen und zu testen, ob der Trick funktioniert. Wie das folgende Log zeigt, funktioniert er tatsächlich. Man erkennt jedoch auch, daß OpenDNS nicht unbedingt die beste Wahl ist.
Frame | Time Of Day | Source | Source Port | Destination | Destination Port | Protocol Name | Description |
---|---|---|---|---|---|---|---|
12 | 19:22:32.734 | MY-PC | 1071, 1071(0x42f) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x5C9F, QUERY (Standard query), Query for pop3.arcor.de of type Host Addr on class Internet |
13 | 19:22:32.734 | MY-PC | 1100, 1100(0x44c) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x6C9E, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
14 | 19:22:32.734 | MY-PC | 1101, 1101(0x44d) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xA79D, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
15 | 19:22:32.734 | [ZyXEL Communications Corporation 07A8D2] | [*BROADCAST] | PPPoE | PPPoE: Active Discovery Initiation (PADI) | ||
16 | 19:22:32.734 | MY-PC | 1102, 1102(0x44e) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xEB9D, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
17 | 19:22:32.734 | MY-PC | 1103, 1103(0x44f) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x7B9C, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
18 | 19:22:33.734 | MY-PC | 1071, 1071(0x42f) | 208.67.220.220 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x5C9F, QUERY (Standard query), Query for pop3.arcor.de of type Host Addr on class Internet |
19 | 19:22:33.734 | MY-PC | 1070, 1070(0x42e) | 208.67.220.220 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x1C9F, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
20 | 19:22:33.734 | MY-PC | 1102, 1102(0x44e) | 208.67.220.220 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xEB9D, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
21 | 19:22:33.734 | MY-PC | 1100, 1100(0x44c) | 208.67.220.220 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x6C9E, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
22 | 19:22:33.734 | MY-PC | 1101, 1101(0x44d) | 208.67.220.220 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xA79D, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
23 | 19:22:33.734 | MY-PC | 1103, 1103(0x44f) | 208.67.220.220 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x7B9C, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
24 | 19:22:34.734 | MY-PC | 1071, 1071(0x42f) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x5C9F, QUERY (Standard query), Query for pop3.arcor.de of type Host Addr on class Internet |
25 | 19:22:34.734 | MY-PC | 1100, 1100(0x44c) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x6C9E, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
26 | 19:22:34.734 | MY-PC | 1101, 1101(0x44d) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xA79D, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
27 | 19:22:34.734 | MY-PC | 1102, 1102(0x44e) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xEB9D, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
28 | 19:22:34.734 | MY-PC | 1103, 1103(0x44f) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x7B9C, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
29 | 19:22:34.734 | MY-PC | 1070, 1070(0x42e) | 208.67.222.222 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x1C9F, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
30 | 19:22:34.749 | 208.67.222.222 | DNS(53), 53(0x35) | MY-PC | 1071, 1071(0x42f) | DNS | DNS: QueryId = 0x5C9F, QUERY (Standard query), Response - Success |
31 | 19:22:34.749 | 208.67.222.222 | DNS(53), 53(0x35) | MY-PC | 1100, 1100(0x44c) | DNS | DNS: QueryId = 0x6C9E, QUERY (Standard query), Response - Success |
32 | 19:22:34.749 | 208.67.222.222 | DNS(53), 53(0x35) | MY-PC | 1101, 1101(0x44d) | DNS | DNS: QueryId = 0xA79D, QUERY (Standard query), Response - Success |
33 | 19:22:34.765 | 208.67.222.222 | DNS(53), 53(0x35) | MY-PC | 1102, 1102(0x44e) | DNS | DNS: QueryId = 0xEB9D, QUERY (Standard query), Response - Success |
34 | 19:22:34.765 | 208.67.222.222 | DNS(53), 53(0x35) | MY-PC | 1103, 1103(0x44f) | DNS | DNS: QueryId = 0x7B9C, QUERY (Standard query), Response - Success |
35 | 19:22:34.765 | 208.67.222.222 | DNS(53), 53(0x35) | MY-PC | 1070, 1070(0x42e) | DNS | DNS: QueryId = 0x1C9F, QUERY (Standard query), Response - Success |
Zunächst einmal sieht man hier fünf Anfragen an die erste konfigurierte Adresse. Die sechste ist möglicherweise einer
Collision mit dem Broadcast
zum Opfer gefallen.
(Allerdings hätte dann der Treiber das Paket wiederholen müssen. Möglicherweise hat er dies auch getan, nur nicht erneut an
Netmon gemeldet. Hier rächt es sich, daß ich aus Bequemlichkeit wieder am sendenden PC statt am Hub mitgeschnitten habe.
Aber für die vorliegende Untersuchung reicht es aus.)
Eine Sekunde später werden die (diesmal) sechs Anfragen an die alternative Serveradresse geschickt. Nochmals
eine Sekunde später wieder an die erste. Und dann kommen 15 ms später die Antworten vom ersten Server. Vermutlich
auf die Anfragen, die zwei Sekunden vorher an ihn gerichtet waren. (Es kommen keine weiteren Antworten. Wahrscheinlich
gingen auch die Anfragen an die andere Adresse an den gleichen physischen Server, der die Wiederholungen erkannte
und ignorierte.)
Es dauerte also insgesamt etwas mehr als zwei Sekunden um alle sechs Anfrgen zu beantworten. Das ist
gegenüber der voherigen Situation eine gewaltige Beschleunigung. Jedoch wurden vorher die Anfragen, sofern sie beantwortet
wurden, in nur 15 ms beantwortet. Wieso braucht OpenDNS so lange?
Die Antwort ist einfach: Der Server von OpenDNS
befindet sich irgendwo in Californien. Meine Anfrage ging also zunächst einmal über den Atlantik. Da sich die
Anfragen auf deutsche Server bezogen, die dort vermutlich nicht so oft nachgefragt werden, und weil der „TimeToLive”
Wert deren DNS-Einträge recht kurz ist, waren dort die IP-Adressen mit ziemlicher Sicherheit nicht bekannt. Also mußte
der DNS-Server erst einmal nachfragen, wer die Adresse denn überhaupt kennt.
Diese Information mußte er sich
wahrscheinlich wieder aus Deutschland holen. Insgesamt dürfte die Kommunikation für meine Anfrage etwa 8 bis 12 mal
über den Atlantik gelaufen sein, bevor die Antwort bei mir eintraf. Dafür sind zwei Sekunden eigentlich eine
ganz ordentliche Zeit. Das muß aber nicht sein.
Also trage ich die DNS-Server Adresse von Arcor ein, die ich aus der Routerstatusinformation ablesen kann.
Lehre: Konfigurieren Sie nur dann OpenDNS, wenn Sie überwiegend Seiten aus den USA besuchen.
Und hier nochmal eine Aufzeichnung mit den neuen Einstellungen:
Frame | Time Of Day | Source | Source Port | Destination | Destination Port | Protocol Name | Description |
---|---|---|---|---|---|---|---|
6 | 21:54:10.733 | MY-PC | 1037, 1037(0x40d) | 195.50.140.178 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x58DD, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
7 | 21:54:10.733 | MY-PC | 1035, 1035(0x40b) | 195.50.140.178 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xB0DE, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
8 | 21:54:10.733 | MY-PC | 1036, 1036(0x40c) | 195.50.140.178 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x20DE, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
9 | 21:54:10.733 | MY-PC | 1033, 1033(0x409) | 195.50.140.178 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0x63DD, QUERY (Standard query), Query for pop3.arcor.de of type Host Addr on class Internet |
10 | 21:54:10.733 | MY-PC | 1073, 1073(0x431) | 195.50.140.178 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xB5DF, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
11 | 21:54:10.749 | MY-PC | 1074, 1074(0x432) | 195.50.140.178 | DNS(53), 53(0x35) | DNS | DNS: QueryId = 0xEBDF, QUERY (Standard query), Query for post.strato.de of type Host Addr on class Internet |
12 | 21:54:10.765 | 195.50.140.178 | DNS(53), 53(0x35) | MY-PC | 1037, 1037(0x40d) | DNS | DNS: QueryId = 0x58DD, QUERY (Standard query), Response - Success |
13 | 21:54:10.765 | 195.50.140.178 | DNS(53), 53(0x35) | MY-PC | 1035, 1035(0x40b) | DNS | DNS: QueryId = 0xB0DE, QUERY (Standard query), Response - Success |
14 | 21:54:10.765 | 195.50.140.178 | DNS(53), 53(0x35) | MY-PC | 1036, 1036(0x40c) | DNS | DNS: QueryId = 0x20DE, QUERY (Standard query), Response - Success |
15 | 21:54:10.765 | 195.50.140.178 | DNS(53), 53(0x35) | MY-PC | 1033, 1033(0x409) | DNS | DNS: QueryId = 0x63DD, QUERY (Standard query), Response - Success |
16 | 21:54:10.765 | 195.50.140.178 | DNS(53), 53(0x35) | MY-PC | 1073, 1073(0x431) | DNS | DNS: QueryId = 0xB5DF, QUERY (Standard query), Response - Success |
17 | 21:54:10.765 | 195.50.140.178 | DNS(53), 53(0x35) | MY-PC | 1074, 1074(0x432) | DNS | DNS: QueryId = 0xEBDF, QUERY (Standard query), Response - Success |
So können DNS-Abfragen also auch ablaufen. Da macht Surfen doch gleich viel mehr Spaß!