TCP情報から高速再送信の量を取得する

TCP情報から高速再送信の量を取得する

TCP 情報構造体から高速再送信の量を取得しようとしています。再送信を保持していると思われる複数の異なる変数があるため、どれが高速再送信の量を保持しているのか (保持している変数がある場合) はわかりません。

候補としては以下が考えられます:

  • __u8 tcpi_retransmits;
  • __u32 tcpi_retrans;
  • __u32 tcpi_total_retrans;

これらの変数のいずれかに高速再送信の量が含まれていますか? もしそうなら、どれですか?

dupacks によって引き起こされる混雑イベントの数をカウントしたいと思います。

答え1

tcpi_retrans は、高速再送信 (およびその他のタイムアウトに基づかない決定) によって発生する再送信を含むため、おそらく使用できますが、多くの場合、ゼロに設定されていると思います。ちなみに、tcpi_retransmits はタイムアウトに基づく再送信を保持します。

おそらく、ネット統計の LINUX_MIB_TCPFASTRETRANS を確認する必要があります。そこに必要な統計が含まれているはずです。

関連情報