接続確立時のタイムアウトの制御
存在しないアドレスに接続を試みた場合のパケット再送の様子(一部省略)# snoop -i timeout.pkt -td host 192.168.1.171
  1   0.00000 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
  2   1.13898 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
  3   2.27001 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
  4   4.51999 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
  5   9.02013 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
  6  18.01987 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
  7  36.02000 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
  8  60.01999 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=46100 Syn Seq=3206195424
| 経過時間(sec) | 間隔(RTO:sec) | アクション | パラメータ | 
|---|---|---|---|
| 0 | - | 送信 | |
| 1.1 | 1.1 | 再送 | _rexmit_interval_initial(=1s) | 
| 3.4 | 2.3 | 再送 | |
| 7.9 | 4.5 | 再送 | |
| 16.9 | 9.0 | 再送 | |
| 34.9 | 18.0 | 再送 | |
| 70.9 | 36.0 | 再送 | |
| 130.9 | 60.0 | 再送 | _rexmit_inteval_max(=60s) | 
| 180.0 | - | 中断 | _ip_abort_cinterval(=180s) | 
_ip_abort_cinterval を 6分に変更
# ipadm set-prop -p _ip_abort_cinterval=360000 tcp
# ipadm show-prop -p _ip_abort_cinterval tcp
PROTO PROPERTY              PERM CURRENT      PERSISTENT   DEFAULT      POSSIBLE
tcp   _ip_abort_cinterval   rw   360000       360000       180000       1000-4294967295
存在しないアドレスに接続を試みた場合のパケット再送の様子(一部省略)
# snoop -i timeout.pkt -td host 192.168.1.171
   1   0.00000 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   2   1.13559 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   3   2.26998 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   4   4.52002 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   5   9.02007 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   6  18.01993 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   7  36.01997 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   8  60.02000 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
   9  60.01999 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
  10  60.01999 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
  11  60.02005 192.168.10.161 -> 192.168.1.171 TCP D=9999 S=36615 Syn Seq=3948165482
| 経過時間(sec) | 間隔(RTO:sec) | アクション | パラメータ | 
|---|---|---|---|
| 0 | - | 送信 | |
| 1.1 | 1.1 | 再送 | _rexmit_interval_initial(=1s) | 
| 3.4 | 2.3 | 再送 | |
| 7.9 | 4.5 | 再送 | |
| 16.9 | 9.0 | 再送 | |
| 34.9 | 18.0 | 再送 | |
| 70.9 | 36.0 | 再送 | |
| 130.9 | 60.0 | 再送 | _rexmit_inteval_max(=60s) | 
| 190.0 | 60.0 | 再送 | |
| 250.9 | 60.0 | 再送 | |
| 310.9 | 60.0 | 再送 | |
| 360.0 | - | 中断 | _ip_abort_cinterval(=360s) | 
接続確立後のタイムアウトの制御
接続確立後、サーバ側の NIC をダウンさせて確認。クライアント側の再送状況(一部省略)
# snoop -i timeout.pkt host 192.168.10.181
  1   0.00000 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=55189 Syn Seq=375712661
  2   0.00764 192.168.10.181 -> 192.168.10.161 TCP D=55189 S=9999 Syn Ack=375712662 Seq=238171285
  3   0.00170 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=55189 Ack=238171286 Seq=375712662
  4  60.00100 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=55189 Push Ack=238171286 Seq=375712662
  5   0.29901 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=55189 Push Ack=238171286 Seq=375712662
  6   0.57994 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=55189 Push Ack=238171286 Seq=375712662
  7   1.15000 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=55189 Push Ack=238171286 Seq=375712662
  8   2.28002 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=55189 Push Ack=238171286 Seq=375712662
| 経過時間(sec) | 間隔(RTO:sec) | アクション | パラメータ | 
|---|---|---|---|
| 0 | - | 接続 | |
| 0 | 0 | 接続 | |
| 0 | 0 | 接続 | 3wayハンドシェイク | 
| 送信先のNICをダウン | |||
| 60.0 | 60.0 | 送信 | sleep(60) | 
| 60.3 | 0.3 | 再送 | |
| 60.9 | 0.6 | 再送 | |
| 62.0 | 1.1 | 再送 | |
| 64.4 | 2.3 | 再送 | |
| : : | |||
| 372.6 | 308.2 | 中断 | _ip_abort_interval(=300s) | 
_ip_abort_interval を 8分に変更
# ipadm set-prop -p _ip_abort_interval=480000 tcp
# ipadm show-prop -p _ip_abort_interval tcp
PROTO PROPERTY              PERM CURRENT      PERSISTENT   DEFAULT      POSSIBLE
tcp   _ip_abort_interval    rw   480000       480000       300000       500-4294967295
切断までの時間が延びている。クライアント側の再送状況(一部省略)
# snoop -i timeout.pkt host 192.168.10.181
  1   0.00000 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=41853 Syn Seq=1379174424
  2   0.00148 192.168.10.181 -> 192.168.10.161 TCP D=41853 S=9999 Syn Ack=1379174425 Seq=1241697769
  3   0.00361 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=41853 Ack=1241697770 Seq=1379174425
  4  60.00100 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=41853 Push Ack=1241697770 Seq=1379174425
  5   0.29898 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=41853 Push Ack=1241697770 Seq=1379174425
  6   0.58000 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=41853 Push Ack=1241697770 Seq=1379174425
  7   1.15002 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=41853 Push Ack=1241697770 Seq=1379174425
  8   2.27999 192.168.10.161 -> 192.168.10.181 TCP D=9999 S=41853 Push Ack=1241697770 Seq=1379174425
| 経過時間(sec) | 間隔(RTO:sec) | アクション | パラメータ | 
|---|---|---|---|
| 0 | - | 接続 | |
| 0 | 0 | 接続 | |
| 0 | 0 | 接続 | 3wayハンドシェイク | 
| 送信先のNICをダウン | |||
| 60.0 | 60.0 | 送信 | sleep(60) | 
| 60.3 | 0.3 | 再送 | |
| 60.9 | 0.6 | 再送 | |
| 62.1 | 1.2 | 再送 | |
| 64.4 | 2.3 | 再送 | |
| : : | |||
| 552.6 | 488.2 | 中断 | _ip_abort_interval(=480s) | 
 
0 件のコメント:
コメントを投稿