Mogę manipulować taką wartością za pomocą:
ip route change ... initcwnd 10
a następnie przekaż opinię:
ip route show
Ale co z wartością domyślną przed jakąkolwiek modyfikacją? Czy istnieje sposób na sprawdzenie tej wartości z systemu?
Alternatywnie, czy możesz podać poprawne odniesienie, które pokazuje domyślną zakodowaną wartość dla każdej wersji jądra?
Cóż, nie mogę powiedzieć, że jestem w 100% pewien, że to powinna być odpowiedź, ale, jak to często bywa,
ss
to dobry wybór, aby ujawnić pewne informacje, na przykład:-n
jest typowe, aby pozbyć się irytującego rozstrzygania DNS,-l
trzymamy się tylko gniazd nasłuchujących i-i
(klucz) to „Pokaż wewnętrzne informacje TCP”. Jak widać, zarówno algorytm przeciążenia, jak i domyślny cwnd są pokazane.źródło
Jeśli dobrze cię zrozumiałem, szukasz wartości początkowej
snd_cwnd
zestawu parametrów podczas inicjalizacji gniazda TCP.Wygląda na to, że zaczynając od jądra Linuksa
2.6.39
,TCP_INIT_CWND
w linux / include / net / tcp.h wprowadzono makro, które wypełnia wartośćsnd_cwnd
przy inicjalizacji gniazda TCP.Wiem, gdzie ten kod znajduje się w jądrze
IPv4
, i niestety nie wydaje się, aby używał żadnego makra do wypełnienia wartości dla jąder starszych niż2.6.39
Podobny kod startowy istnieje
IPv6
również dlatcp_v6_init_sock()
funkcji wewnątrz wnet/ipv6/tcp_ipv6.c
źródło