[mew-win32 04332] Re: [mew-dist 26688] Re: フォールバック実験

Kyotaro HORIGUCHI horiguti at example.com
2005年 11月 30日 (水) 21:45:35 JST


Windows ってこんなものなんでしょうか. それとも私がなにか変な設定を
しているのでしょうか.

>  Meadow3 r3991 ではできるようになりました.

 でも Winsock APIレベルで失敗を検知するのに20秒かかっています.

 以下はファイアウォールの向こうのプロバイダのサーバに向かって
[mew-win32 04307]の方法で connect を1回したときのパケットキャプチャ
の結果です.  Telet しても同じです.

11/29-08:18:00.128067 client:3397 -> server:587
TCP TTL:128 TOS:0x0 ID:64358 IpLen:20 DgmLen:48 DF
******S* Seq: 0x50700D9D  Ack: 0x0  Win: 0x4000  TcpLen: 28
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:18:00.152237 server -> client
ICMP TTL:59 TOS:0x0 ID:15011 IpLen:20 DgmLen:68
Type:3  Code:3  DESTINATION UNREACHABLE: PORT UNREACHABLE
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:18:03.065013 client:3397 -> server:587
TCP TTL:128 TOS:0x0 ID:64361 IpLen:20 DgmLen:48 DF
******S* Seq: 0x50700D9D  Ack: 0x0  Win: 0x4000  TcpLen: 28
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:18:03.088287 server -> client
ICMP TTL:59 TOS:0x0 ID:15024 IpLen:20 DgmLen:68
Type:3  Code:3  DESTINATION UNREACHABLE: PORT UNREACHABLE
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:18:09.084206 client:3397 -> server:587
TCP TTL:128 TOS:0x0 ID:64367 IpLen:20 DgmLen:48 DF
******S* Seq: 0x50700D9D  Ack: 0x0  Win: 0x4000  TcpLen: 28
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:18:09.107529 server -> client
ICMP TTL:59 TOS:0x0 ID:15034 IpLen:20 DgmLen:68
Type:3  Code:3  DESTINATION UNREACHABLE: PORT UNREACHABLE

 ICMP Port unreachable が返ってくると1回目は3秒, 1回目のリトライの
時は6秒待っています. 2回目のリトライに対する Port unreachable を受
けたあとまた10 秒程度待って API がエラーを返してくるまで合計20秒で
す..


 一方, これがローカルネットワークのマシンへの connect のときのもの
です.
 
11/29-08:22:35.615363 client:3402 -> fw:587
TCP TTL:128 TOS:0x0 ID:65014 IpLen:20 DgmLen:48 DF
******S* Seq: 0x9E90520F  Ack: 0x0  Win: 0x4000  TcpLen: 28
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:22:35.615474 fw:587 -> client:3402
TCP TTL:64 TOS:0x0 ID:43726 IpLen:20 DgmLen:40 DF
***A*R** Seq: 0x0  Ack: 0x9E905210  Win: 0x0  TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:22:36.034981 client:3402 -> fw:587
TCP TTL:128 TOS:0x0 ID:65016 IpLen:20 DgmLen:48 DF
******S* Seq: 0x9E90520F  Ack: 0x0  Win: 0x4000  TcpLen: 28
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:22:36.035055 fw:587 -> client:3402
TCP TTL:64 TOS:0x0 ID:43728 IpLen:20 DgmLen:40 DF
***A*R** Seq: 0x0  Ack: 0x9E905210  Win: 0x0  TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:22:36.536629 client:3402 -> fw:587
TCP TTL:128 TOS:0x0 ID:65019 IpLen:20 DgmLen:48 DF
******S* Seq: 0x9E90520F  Ack: 0x0  Win: 0x4000  TcpLen: 28
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:22:36.536677 fw:587 -> client:3402
TCP TTL:64 TOS:0x0 ID:43730 IpLen:20 DgmLen:40 DF
***A*R** Seq: 0x0  Ack: 0x9E905210  Win: 0x0  TcpLen: 20


 RSTがACKされてきたからなのか待ち時間はありませんがやっぱり2回リト
ライしています.



最後に FireWall マシン(FreeBSD)からISPのサーバに向かってtelnetした
ときのパケットキャプチャ結果です.

11/29-08:33:33.330701 fw:54945 -> server:587
TCP TTL:64 TOS:0x10 ID:44679 IpLen:20 DgmLen:64 DF
******S* Seq: 0x1C8AF6BE  Ack: 0x0  Win: 0xFFFF  TcpLen: 44
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/29-08:33:33.355462 server -> fw
ICMP TTL:60 TOS:0x0 ID:16489 IpLen:20 DgmLen:68
Type:3  Code:3  DESTINATION UNREACHABLE: PORT UNREACHABLE

 これ一発で 'Connection refused' を返してきます.

-- 
堀口恭太郎






Mew-win32 メーリングリストの案内