TCPパケット解析‐存在しないIPアドレス

Last-modified: 2008-03-26 (水) 00:17:01

[存在しないIPアドレスにブラウザからアクセス]
ブラウザから、http://192.168.1.3/にアクセスしてみました。192.168.1.3は存在しません。

 

11 0 192.168.11.3 192.168.1.3 TCP pconnectmgr > http [SYN] Seq=0 Win=16384 Len=0 MSS=1460
22 2.883635 192.168.11.3 192.168.1.3 TCP pconnectmgr > http [SYN] Seq=0 Win=16384 Len=0 MSS=1460
23 8.899569 192.168.11.3 192.168.1.3 TCP pconnectmgr > http [SYN] Seq=0 Win=16384 Len=0 MSS=1460

 

SYNパケットを9秒間に3回出した後にブラウザには以下のメッセージが戻ってきました。

接続がリセットされました
ページの読み込み中にサーバへの接続がリセットされました。

何回か試してみましたが、SYNパケットを3回発行する、0秒、3秒、9秒というのは決まっているようです。

 

おそらくこの辺りが仕様の説明ではないかと。。。
Microsoft Windows 2000 TCP/IP 実装詳細

 

以下抜粋です。

 

TCP の再転送動作

TCP は、各発信セグメントが IP に渡されたときに再転送タイマを起動します。あるセグメント内のデータに対する肯定応答が受信される前にタイマがタイムアウトになると、そのセグメントは再転送されます。新しい接続要求があると、再転送タイマは 3 秒 (または、アダプタ別のレジストリ パラメータ "TcpInitialRtt" で構成した値) に初期化され、"TcpMaxConnectRetransmissions" で指定された回数 (Windows 2000 の既定値は 2 回) まで要求 (SYN) が再送信されます。既存の接続に対する再転送の回数は、"TcpMaxDataRetransmissions" レジストリ パラメータで制御されます (既定値は 5)。再転送タイムアウトは、Van Jacobson の論文『Congestion Avoidance and Control』に記載されている Smoothed Round Trip Time (SRTT) 計算を使用して、接続の特性に合わせて動的に調整されます。セグメントのタイマは、そのセグメントが再転送されるたびに 2 倍になります。TCP では、このアルゴリズムにより、接続の通常の遅延に応じたセルフ チューニングを行います。高遅延リンク上の TCP 接続は、低遅延リンク上の TCP 接続よりもタイムアウトが長くなります4。