Ich kann einen solchen Wert manipulieren mit:
ip route change ... initcwnd 10
und dann ein Feedback mit:
ip route show
Aber was ist mit dem Standardwert vor jeder Änderung? Gibt es eine Möglichkeit, diesen Wert vom System abzufragen?
Können Sie alternativ eine gültige Referenz angeben, die den fest codierten Standardwert für jede Kernelversion anzeigt?
Nun, ich kann nicht sagen, dass ich zu 100% sicher bin, dass dies die Antwort sein sollte, aber wie so oft
ss
ist es die gute Wahl, einige Informationen preiszugeben, zum Beispiel:-n
ist typisch, um lästige DNS-Auflösung loszuwerden. Bleiben-l
wir nur bei Abhörsockets und-i
(der Schlüssel) lautet "Interne TCP-Informationen anzeigen". Wie zu sehen ist, werden sowohl der Überlastungsalgorithmus als auch die Standard-cwnd angezeigt.quelle
Wenn ich Sie richtig verstanden habe, suchen Sie nach dem Anfangswert des
snd_cwnd
Parametersatzes, wenn ein TCP-Socket initialisiert wird.Beginnend mit dem Linux-Kernel
2.6.39
wurdeTCP_INIT_CWND
in linux / include / net / tcp.h ein Makro eingeführt, das den Wertsnd_cwnd
beim Initialisieren eines TCP- Sockets auffüllt .Ich weiß, wo sich dieser Code im Kernel befindet
IPv4
, und leider scheint er kein Makro zu verwenden, um den Wert für Kernel zu füllen, die älter als sind2.6.39
Ein ähnlicher Init-Code existiert auch für
IPv6
dietcp_v6_init_sock()
Funktion innerhalbnet/ipv6/tcp_ipv6.c
quelle