| < 2005年8月 > | ||||||
|---|---|---|---|---|---|---|
| 31 | 1 | 2 | 3 | 4 | 5 | 6 |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | 1 | 2 | 3 |
次の日記: 2005/08/14 05:36 [ですまーち終了]
| < 2005年8月 > | ||||||
|---|---|---|---|---|---|---|
| 31 | 1 | 2 | 3 | 4 | 5 | 6 |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | 1 | 2 | 3 |
暇なときにだらだらとマビノギをプレイしてるわけだけど。
ここ数日ちょっと違う環境でプレイしようとすると、ログイン後に固まる。
仕方ないから VPN を経由して遊んでると、遠くをまわってるおかげでレイテンシが大きくなって大変。
前から時々なってたので、ちょっと原因調査を。
現象:ログイン後、キャラクター選択をして「ワールドに接続しています」でブラックアウトして固まる
再現性:100%
ルータ:MacOS X 10.1 on PowerBook G3
回線:ADSL
クライアント:Windows XP Home Edition (chill)
チェックその1。この環境では普段は無線なので、有線に変更。結果、変わらず。
その2。ファイアウォール類の確認 or 無効化。ルータのファイアウォールを全無効化、Windows ファイアウォールも落とす。結果、変わらず。
ここまでは定番のチェック。
その3。Ethereal でパケットキャプチャ。結果、時々 TCP 層で再送が発生していることがわかり、件の箇所では TCP Previous segment lost って…。
で、segment lost なら再送すればいいものを、そのまま。で、ここで固まってる模様。
ほかの箇所では segment lost の通知に対してちゃんと Retransmission をしてるんだけど、ここだけは逆で Retransmission がなぜか先に。まあ、1秒の ack タイムアウトのせいなんだけど。
というわけで、Ethereal 先生の活躍によって原因箇所は判明。…ただ、どうやって直したらいいものか。
再送するべきところでしてくれないわけで、手の出しようがないように見えて、
タイミングをずらしちゃえー
ってわけで、ちょっと前にでかいパケットが数個流れているのを狙って、クライアントの MTU を 1500 から 1000 へ変更。
結果、成功。
… Path MTU Discovery Black hole かぁ?でも原因箇所のところで送ってるパケットのサイズはたった 19 バイトだったり…。
でも直ったからいいやぁ〜。ルンダに突撃〜(ぉぃ
<Trackback URI> http://linkage.white-void.net/cgi/tb.cgi/diary/2005080401
コメントフォーム