ضبط التحكم في ازدحام TCP
افهم خوارزميات التحكم في ازدحام TCP في Linux، مثل CUBIC وBBR، واضبطها لتحسين معدل النقل وزمن الاستجابة على الشبكات الواقعية.
ضبط التحكم في ازدحام TCP درس مجاني في Linux Networking & TCP/IP for Developers على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Networking & TCP/IP for Developers، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Networking & TCP/IP for Developers 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
What Congestion Control Does
TCP congestion control decides how fast a sender may transmit without overwhelming the network.
It governs the trade-off between throughput and latency, and the right algorithm can dramatically change performance.
The Congestion Window
The congestion window (cwnd) limits how many unacknowledged bytes are in flight. Algorithms grow and shrink cwnd in response to ACKs and loss signals.
Too small wastes bandwidth; too large causes loss and bufferbloat.
Loss-Based vs Latency-Based
Two families exist:
- Loss-based (CUBIC, Reno) grow until packets drop
- Latency/model-based (BBR) estimate bandwidth and RTT to avoid filling buffers
BBR often wins on long-distance, lossy links.
Listing Available Algorithms
See which algorithms the kernel has loaded.
sysctl net.ipv4.tcp_available_congestion_controlChecking the Current Algorithm
CUBIC is the Linux default. Confirm what is active.
sysctl net.ipv4.tcp_congestion_controlEnabling BBR
Load the BBR module, then set it as the default. BBR pairs best with the fq queue discipline.
sudo modprobe tcp_bbr
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sudo sysctl -w net.core.default_qdisc=fqMaking Changes Persistent
Runtime sysctl changes are lost on reboot. Persist them in /etc/sysctl.d/.
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbrTuning Buffer Sizes
Congestion control can only fill a window the buffers allow. For high bandwidth-delay-product paths, raise the autotuning maximums.
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216The Bandwidth-Delay Product
Optimal window size = bandwidth x round-trip time. A 1 Gbps link with 100 ms RTT needs about 12.5 MB of buffer to stay full.
Undersized buffers cap throughput regardless of the algorithm.
Observing Connections
Inspect live socket state, cwnd, and RTT with ss to confirm tuning is taking effect.
ss -tinMeasuring the Impact
Benchmark before and after with a tool like iperf3 across a real path. Always measure both throughput and latency, since aggressive tuning can trade one for the other.
iperf3 -c remote-host -t 30Quick Check
Test your congestion control knowledge.
Recap
You can now tune TCP congestion control:
- Understand cwnd and the bandwidth-delay product
- Compare loss-based (CUBIC) vs model-based (BBR)
- Enable BBR with the
fqqdisc and persist it - Size
tcp_rmem/tcp_wmembuffers correctly - Verify with
ss -tinand benchmark withiperf3
This extends your kernel parameter and benchmarking lessons.
تعلم Linux Networking & TCP/IP for Developers مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 12
- الدروس
- 48
الأسئلة الشائعة
هل درس «ضبط التحكم في ازدحام TCP» مجاني؟
نعم — نص درس «ضبط التحكم في ازدحام TCP» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Networking & TCP/IP for Developers، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Networking & TCP/IP for Developers 4 دروس في المجموع.
ماذا ستتعلم في «ضبط التحكم في ازدحام TCP»؟
افهم خوارزميات التحكم في ازدحام TCP في Linux، مثل CUBIC وBBR، واضبطها لتحسين معدل النقل وزمن الاستجابة على الشبكات الواقعية. تتمرن على Linux Networking & TCP/IP for Developers مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Linux Networking & TCP/IP for Developers؟
لا تُشترط خبرة سابقة. Linux Networking & TCP/IP for Developers على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «ضبط التحكم في ازدحام TCP»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Linux Networking & TCP/IP for Developers هذا؟
نعم. كل درس في Linux Networking & TCP/IP for Developers يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- معلمات شبكة النواة
- ضبط بطاقة واجهة الشبكة وتحسينها
- قياس معدل نقل الشبكة
- ضبط التحكم في ازدحام TCP