k.sato
2019年5月27日 12時57分
佐藤と申します。
下記を参考にArmadillo460、440でKeepAliveを設定しました。
https://users.atmark-techno.com/comment/3939#comment-3939
どちらもパラメータをDelay=2、Interval=1、ErrCount=3に設定しWriesharkで確認したのですが
接続してから2秒後から2秒周期でKeepAliveが送られていました。
(リンク先の「tcpdump の表示」も2秒周期?)
想定だと接続して2秒後から1秒周期でKeepAliveが送信されると思っていました。
またDelay、Intervalの値をいくつか変更して確認してみたのですが
DelayよりIntervalが大きくないと周期通りKeepAliveが送信されません。
これは設定がおかしいのでしょうか?
それとも私の認識が間違っていますか?
コメント
k.sato
at_makoto.sato
2019年5月28日 9時44分
佐藤です。
KeepAlive の動作は、
TCP_KEEPIDLE に設定した時間無通信状態が継続するとKeepAliveパケットを送出し、
それに対する応答がなかった場合、TCP_KEEPINTVL に設定した時間間隔で TCP_KEEPCNT に設定した回数までKeppAliveパケットの送出をリトライする。
というものになります。
ですので、
> 想定だと接続して2秒後から1秒周期でKeepAliveが送信されると思っていました。
この認識とは若干異なります。