Ubuntu で TCP 接続確立タイミング、TCP 接続の再試行タイミング、およびサービス品質パラメータの値を取得する方法。
答え1
TCP 通信に現在使用されている値を表示するには、次のようにします。
sudo sysctl -ae | fgrep -i "net.ipv4.tcp"
いくつかの変数については、このマニュアル ページに記載されています。
man 7 tcp
クイックスタート:
man 7 tcp | awk '/proc interfaces/,/Socket options/ {print prev; prev=$0}'
サービス品質パラメータは次のように表示できます:
netstat -s
/sbin/ifconfig
----
tcp_retries1 (integer; default: 3; since Linux 2.2)
The number of times TCP will attempt to retransmit a packet on an established
connection normally, without the extra effort of getting the network layers
involved. Once we exceed this number of retransmits, we first have the network
layer update the route if possible before each new retransmit. The default is
the RFC specified minimum of 3.
tcp_retries2 (integer; default: 15; since Linux 2.2)
The maximum number of times a TCP packet is retransmitted in established
state before giving up. The default value is 15, which corresponds to a duration
of approximately between 13 to 30 minutes, depending on the retransmission
timeout. The RFC 1122 specified minimum limit of 100 seconds is typically deemed
too short.
デフォルト値 tcp_retries1=3 および tcp_retries2=15 を考慮すると、次のようになります。
- パケットの送信に失敗した場合、追加の労力なしで 3 回 (tcp_retries1) の再送信が試行されます。
- 3回の試行後、ネットワーク層がルートの更新に関与する。
- これは最大 15 回 (tcp_retries2) 試行され、その後停止します。