- PR -

in.ftpdでのconnect_timeoutについて

1
投稿者投稿内容
seki
常連さん
会議室デビュー日: 2005/03/23
投稿数: 29
投稿日時: 2005-08-02 14:19
はじめまして、sekiと申します。

ftpに関しまして、分からない事があり質問させて頂きます。
どなたかご存知の方おられましたら、ご教示をお願い致します。

【環境】
・Solaris8
・in.ftpdを使用

【問題】
・バッチ処理にて、バーチャルIPでftpを行い、他ホストに作成された
 ファイルを取得する。
 ネットワーク障害時や他ホストdown時、バーチャルIPが見えなくなる場合、
 ftpのconnect:接続の時間切れとなるが、その場合約4分も待たされる。
 
【知りたい事】
・上記のような障害時、1ノードで約4分も待たされるのは長いので、設定で
 短く出来るのであれば短くしたい。

【検証】
 @ OSパラメータのtcp_time_wait_interval=240000(4分)になっていたので、
  ftpがconnect_timeoutになるのは、上位のTCPのタイマーに引っかかるのでは
   と思い、nddコマンドにて60000(1分)にしてinetdデーモンを、kill -HUPした。
   変更後、バーチャルIPが見えないHostに対しftpを行なったが、以前4分で
   ftp_connect:接続の時間切れとなる。

 A /etc/inet/inetd.confの、ftp記述部分を下記のように-tオプションにて
   タイムアウトを設定し、inetdデーモンを、kill -HUPした。
   こちらも変更後、バーチャルIPが見えないHostに対しftpを行なったが、
   以前4分でftp_connect:接続の時間切れとなった。

  ftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd -t20 -l -d

※ 下記のURLを参考にさせて頂きましたが、FTPクライアントがFTP サーバに
  PORTコマンドを投げて応答なしで、データ用コネクションも張れない場合は
  どこの設定でクライアントはtimeoutを判断するのでしょうか?
  私の推測のようにTCPに依存するものなのでしょうか?

_________________
ao2to
会議室デビュー日: 2003/08/11
投稿数: 15
投稿日時: 2005-08-02 16:31
こんにちは。

tcpのチューニングについてですが、
tcp_time_wait_interval
tcp_ip_abort_cinterval
tcp_ip_abort_interval
の3パラメータをnddコマンドで変更により、タイムアウト時間を短縮できると思います。
試しに、上から600000,10000,60000としたところ、1分以内にタイムアウトとなりました。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-08-02 21:59
tcp_time_wait_interval というのは TIME_WAIT をどれだけ
維持するか、という設定であ?
3-way handshake の待ち時間とは関係ないので、特に必要が無ければ
変えないほうがいいんじゃあないでしょーか。
まあ、Solaris のデフォルト設定の4分というのは推奨されている
値ではあるものの、他の多くの実装(BSD系とかLinuxとか)では
1分になってたりするので、1分に縮めても問題無いとは思いますが。
1

スキルアップ/キャリアアップ(JOB@IT)