KEEPALIVEタイマ

KEEPALIVEタイマは二通りの目的に利用されている。

一つは名前の通り、キープアライブパケットの送出目的である。sock_setsockopt(SO_KEEPALIVE)により、一定間隔でキープアライブパケットを送出するようになる(tcp_keepalive_timer関数)。

もう一つは、コネクション確立処理時のSYN+ACKパケットの再送を目的とする。TCP_SYN_RECVコネクション状態が長く続くと、コネクション確立のためのパケットがロストしたと仮定しSYN+ACKを再送出するタイマ(tcp_synack_timer関数)を起動する。

  • tcp_reset_keepalive_timer関数
    • KEEPALIVEタイマの起動を要求する。
  • tcp_delete_keepalive_timer関数
    • KEEPALIVEタイマを停止させる。

(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1