যদি আমি আপনাকে সঠিকভাবে বুঝতে পারি, আপনি snd_cwnd
টিসিপি সকেট শুরু করার সময় প্যারামিটার সেটটির প্রাথমিক মানটি সন্ধান করছেন ।
দেখে মনে হচ্ছে লিনাক্স কার্নেল দিয়ে শুরু হচ্ছে 2.6.39
, লিনাক্স / অন্তর্ভুক্ত / নেট / tcp.h এ একটি ম্যাক্রো TCP_INIT_CWND
চালু করা হয়েছে যা টিসিপি সকেট শুরু করার সময় মানকে জনপ্রিয় করে তোলেsnd_cwnd
।
আমি জানি যে এই কোডটি কার্নেলের মধ্যে কোথায় রয়েছে IPv4
এবং দুর্ভাগ্যক্রমে এটি কার্নেলের চেয়ে পুরানো কার্নেলের জন্য মান নির্ধারণ করতে কোনও ম্যাক্রো ব্যবহার করবে বলে মনে হয় না2.6.39
/* net/ipv4/tcp_ipv4.c from 2.6.37 kernel */
static int tcp_v4_init_sock(struct sock *sk)
{
struct inet_connection_sock *icsk = inet_csk(sk);
struct tcp_sock *tp = tcp_sk(sk);
....
....
....
/* So many TCP implementations out there (incorrectly) count the
* initial SYN frame in their delayed-ACK and congestion control
* algorithms that we must have the following bandaid to talk
* efficiently to them. -DaveM
*/
tp->snd_cwnd = 2;
....
....
....
}
ইন ফাংশনের IPv6
পাশাপাশি একই ধরণের থিম কোডটি বিদ্যমানtcp_v6_init_sock()
net/ipv6/tcp_ipv6.c