نیٹ ورک انجینئروں کو اکثر ایسے حالات کا سامنا کرنا پڑتا ہے جہاں ٹی سی پی ونڈو یا درخواست کاری کو نیٹ ورک انڈیکس پر الزام لگایا جاتا ہے۔ وسیع پیمانے پر پیک قبضے، ٹیکپڈپس اور نیٹ ورک تجزیے کو انجام دینے کے بعد، سچل بوتلک اکثر دریافت کیا جاتا ہے: ختم ہونے والی سیریز (world road Card) یا OS-level beffers system پر کلائنٹ یا سرور سسٹمز پر۔
اس مضمون میں دونوں وراثے (creca 2009) اور موجودہ (2025-2026) بفر کوکس، ونڈوز اور میکوایس کے لیے حفاظتی تکنیکیں فراہم کی گئی ہیں، اس کے ساتھ ساتھ ساتھ ان کی شناخت بھی ایک تنقیدی مسئلہ بن جانے سے پہلے کی شناخت کی جاتی ہے۔
ٹی سی پی کے ذریعے ایک بہاؤ کنٹرول ایمپل استعمال کیا جاتا ہے جہاں وصول کنندہ ایک "ہندی سائز" کو اشتہار دیتا ہے جس سے پتہ چلتا ہے کہ وہ کتنا ڈیٹا وصول کر سکتا ہے۔ جب نظام شمسی مکمل ہو جاتا ہے تو یہ کھڑکی صفر تک پہنچ جاتی ہے، جس سے بھیجنے والے کو انتظار کرنے پر مجبور کیا جاتا ہے۔ یہ ایک نیٹ ورک مسئلہ کے طور پر ظاہر ہوتا ہے لیکن اصل میں میزبان وسائل کا مسئلہ ہے۔
# Check current TCP buffer settings sysctl net.ipv4.tcp_rmem sysctl net.ipv4.tcp_wmem sysctl net.core.rmem_max sysctl net.core.wmem_max # Check NIC ring buffer sizes ethtool -g eth0 # Monitor socket buffer usage ss -tm # Check for TCP zero window events tcpdump -i any 'tcp[tcpflags] & tcp-push != 0' -vv # Check network statistics for buffer issues netstat -s | grep -i "buffer\|queue\|drop"
# Check TCP parameters
netsh interface tcp show global
# View network adapter buffer settings
Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object {$_.DisplayName -like "*buffer*"}
# Monitor TCP statistics
netstat -s -p tcp
# Check receive window auto-tuning
netsh interface tcp show global | findstr "Receive Window"
# Check current buffer settings sysctl kern.ipc.maxsockbuf sysctl net.inet.tcp.sendspace sysctl net.inet.tcp.recvspace # View network statistics netstat -s -p tcp # Monitor socket buffers netstat -an -p tcp
| میٹر | (2009ء ) | تفصیل |
|---|---|---|
| نیٹ ورک.core.rme Mobile | 124928 (22KB)۔ | طے شدہ Socket Buffer سائز ملتا ہے۔ |
| نیٹ ورک.core.rme max | 13071 (128KB)۔ | عام طور پر صوتی بفر سائز حاصل کرتا ہے۔ |
| نیٹ ورک.core.wme hoc | 124928 (122KB) | طےشدہ |
| نیٹ ورک.core.wmem max | 131071 (128KB) | غیر معمولی طور پر صوتی بفر سائز بھیجتا ہے۔ |
| نیٹ ورک.ipv4.tcp rme | 4096 87380 174760 | ٹی سی پی سے حاصل کردہ بفر (انگریزی: Min, delation, Max) ہے۔ |
| نیٹ ورک.ipv4.tcp wem | 4096 16384 131072 - | TCP buffer : Min, Dect, Max (infous) |
| نیٹ ورک.ipv4.tcp m | 1966ء 262144ء 393216ء – | ٹی سی پی میموری صفحات: کم، دباؤ، بلند ترین |
| نیٹ ورک.core.netdev max backlog | 1000 | غیرمعمولی کارکردگی |
| نیٹ ورک.core.optme max | 10240 (10KB)۔ | زیادہتر اکسیری بفر سائز فی گھنٹہ |
| Parameter | موجودہ قابلِقدر قدروقیمت | Description |
|---|---|---|
| net.core.rmem_default | 1677216 (16MB)۔ | Default receive socket buffer size |
| net.core.rmem_max | 134217728 (28MB)۔ | Maximum receive socket buffer size |
| net.core.wmem_default | 16777216 (16MB) | Default send socket buffer size |
| net.core.wmem_max | 134217728 (128MB) | Maximum send socket buffer size |
| net.ipv4.tcp_rmem | 4096 87380 13421728 | ٹی سی پی حاصل بفر: مِن، ماکس (28 ق م)۔ |
| net.ipv4.tcp_wmem | 4096 6536 1342177228 - | TCP بفر بھیجتا ہے: مِن، مَا، ماکس (28MB مَکس)۔ |
| net.ipv4.tcp_mem | 8886008 12582912 1677216 - | TCP میموری صفحات: کم، دباؤ، بلند (64GB سسٹم)۔ |
| net.core.netdev_max_backlog | 2500 | غیرمعمولی طور پر داخل ہونے والے انفصاب (10GBE+) |
| net.core.optmem_max | 6536 (64KB)۔ | Maximum ancillary buffer size per socket |
| نیٹ ورک.ipv4.tcp congestion strol قابو میں رہتا ہے۔ | برگر | بی بی آر سی کنٹرول استعمال کریں (Gogle's Alphal)۔ |
| نیٹ ورک.ipv4.tcp window scaling | 1 | ٹی سی پی (RFC 1323) |
| نیٹ ورک.ipv4.tcp times | 1 | بہتر خیال کیلئے TCP اوقات |
| نیٹ ورک.ipv4.tcp sack | 1 | انتخابی تبدیلیاں لائیں |
| نیٹ ورک.ipv4.tcp no Metrics s محفوظ | 1 | ٹی سی پی میٹرکس کے کیچ کو معطل کریں |
ان ترتیبات کو شامل کریں /etc/sysctl.conf نیا فائل بنائیں یا نیا فائل بنائیں /etc/sysctl.d/99-network-tuning.conf:
# Network Buffer Tuning for High-Performance Applications # Optimized for 10GbE+ networks with RTT up to 300ms # Core socket buffer settings net.core.rmem_default = 16777216 net.core.rmem_max = 134217728 net.core.wmem_default = 16777216 net.core.wmem_max = 134217728 # TCP buffer settings net.ipv4.tcp_rmem = 4096 87380 134217728 net.ipv4.tcp_wmem = 4096 65536 134217728 net.ipv4.tcp_mem = 8388608 12582912 16777216 # Device buffer settings net.core.netdev_max_backlog = 250000 net.core.netdev_budget = 50000 net.core.netdev_budget_usecs = 5000 net.core.optmem_max = 65536 # TCP optimizations net.ipv4.tcp_congestion_control = bbr net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1 # Apply with: sysctl -p /etc/sysctl.d/99-network-tuning.conf
# Check current ring buffer sizes ethtool -g eth0 # Set maximum ring buffer sizes (adjust based on NIC capabilities) ethtool -G eth0 rx 4096 tx 4096 # Make persistent by adding to /etc/network/interfaces or systemd service
| Parameter | Legacy Value (2009) | جگہ |
|---|---|---|
| سگریٹنوشی | 65535 (64KB)۔ | دائرۃ المعارف بریطانیکا آن لائن آئی ڈی: HKLM &System &CurrentControl Seet &Tcrip &Parameters |
| Tcp1323Opts | 0 ( ناقابل قبول)۔ | ڈی ایس ایل اتصال %d |
| طےشدہ | 8192 (8KB)۔ | طے شدہ |
| طےشدہ | 8192 (8KB) | ڈی بگ ونڈو بھیجو |
| عالمی مراکز | 65535 (64KB) | زیادہ سے زیادہ ٹی سی پی سی ونڈو حجم |
| ٹِپنُنا | 1677214 | وائیرڈ اتصال %d |
جدید ونڈوز استعمال کرتا ہے۔ ونڈوز خود کار ثابت کریں جس میں فعال طور پر اصلاحات کو نیٹ ورک حالات پر مبنی بفرات ملتی ہیں۔
| جگہ | حالیہ نقلمکانی | Description |
|---|---|---|
| خود کار-ٹیننگ سطح | نارمل (یا انتہائی تجربہ کار 10GBE+) ہیں۔ | حرکی ونڈو تبدیل کرنا |
| محفوظ-Side Scling (RSS) | ممکن تھا | سی پی یووں پر اتصال قائم کریں |
| کینی دور لوڈ | خودکار (یا جدید رموز پر معذور) | ٹی سی پی TCP سوفٹ ویئر پر لوڈ کریں |
| نیٹ ماسک | معطل ہے | درست میموریل رسائی ( متعلقہ)۔ |
| TCP عالمی پیرامیٹرز | نیچے احکامات دیکھیں | نظام کی تمام تر ترتیبات |
| کانگریس فراہم کِیا گیا | CUBIC (یا نیو رینو ضلع) | ٹی سی پی پر کنٹرول الجبراً |
# Check current auto-tuning level netsh interface tcp show global # Enable auto-tuning (normal mode - default for most scenarios) netsh interface tcp set global autotuninglevel=normal # For high-bandwidth, high-latency networks (10GbE+, data center environments) netsh interface tcp set global autotuninglevel=experimental # For conservative tuning (if experimental causes issues) netsh interface tcp set global autotuninglevel=restricted # For very conservative tuning (not recommended for high-performance networks) netsh interface tcp set global autotuninglevel=highlyrestricted # Enable CUBIC congestion provider (Windows Server 2022/Windows 11+ only) netsh interface tcp set supplemental template=Internet congestionprovider=cubic # Note: Windows 10 and Server 2019 use Compound TCP or NewReno by default # CUBIC is not available on these older versions # Enable Receive-Side Scaling (RSS) netsh interface tcp set global rss=enabled # Set chimney offload (automatic is recommended) netsh interface tcp set global chimney=automatic # Disable NetDMA (recommended for modern systems) netsh interface tcp set global netdma=disabled # Enable Direct Cache Access (if supported) netsh interface tcp set global dca=enabled # Enable ECN (Explicit Congestion Notification) netsh interface tcp set global ecncapability=enabled # Set initial congestion window to 10 (RFC 6928) netsh interface tcp set global initialRto=3000
# View current adapter settings Get-NetAdapterAdvancedProperty -Name "Ethernet" # Increase receive buffers (adjust based on NIC) Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Buffers" -DisplayValue 2048 # Increase transmit buffers Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Transmit Buffers" -DisplayValue 2048 # Enable Jumbo Frames (if network supports it) Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Jumbo Packet" -DisplayValue 9014 # Enable Large Send Offload (LSO) Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue Enabled Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Large Send Offload V2 (IPv6)" -DisplayValue Enabled
# These settings are typically NOT needed on Windows 10/11 due to auto-tuning # Only modify if auto-tuning is disabled or problematic # Registry path: HKLM\System\CurrentControlSet\Services\Tcpip\Parameters # Maximum TCP window size (if auto-tuning disabled) # TcpWindowSize = 16777216 (16MB) - REG_DWORD # Enable window scaling (enabled by default on modern Windows) # Tcp1323Opts = 3 - REG_DWORD # Number of TCP Timed Wait Delay # TcpTimedWaitDelay = 30 - REG_DWORD (default 240)
| Parameter | Legacy Value (2009) | Description |
|---|---|---|
| Kirn.ipc.maxsockbuf | 262144 (256KB)۔ | غیرمعمولی صوتی بفر حجم |
| نیٹ ورک.inet.tcp.spaspace | 32768 (32KB)۔ | طے شدہ TCP بھیجو |
| نیٹ ورک.inet.tcp.recv space | 32768 (32KB) | طے شدہ TCP بوفر حاصل کرتا ہے۔ |
| نیٹو.inet.tcp.authorcvbufmax | 131072 (128KB)۔ | تیز رفتار کاروں کو بفر ملتا ہے۔ |
| نیٹو.inet.tcp.autosndbufmax | 131072 (128KB) | تیز رفتار کار بردار بفر بھیجتا ہے۔ |
| نیٹو.inet.tcp.rfc1323 | 0 (disabled) | ٹی سی پی سرور ونڈو کرو |
| Parameter | Current Recommended Value | Description |
|---|---|---|
| kern.ipc.maxsockbuf | 888608 (8MB)۔ | Maximum socket buffer size |
| net.inet.tcp.sendspace | 131072 (128KB) | Default TCP send buffer |
| net.inet.tcp.recvspace | 131072 (128KB) | Default TCP receive buffer |
| net.inet.tcp.autorcvbufmax | 16777216 (16MB) | Maximum auto-tuned receive buffer |
| net.inet.tcp.autosndbufmax | 16777216 (16MB) | Maximum auto-tuned send buffer |
| net.inet.tcp.rfc1323 | 1 (DHCP) 2 3 4 | ٹی سی پی نیٹ ورک ونڈو فعال کریں |
| نیٹ ورک.inet.tcp.sack | 1 (enabled) | Enable Selective Acknowledgment |
| نیٹ ورک.inet.tcp.msdflot | 1440 | طے شدہ وسعت |
| نیٹ ورک.inet.tcp.delayed ack | 3 | ذہنی رُجحان |
# Check current settings sysctl kern.ipc.maxsockbuf sysctl net.inet.tcp.sendspace sysctl net.inet.tcp.recvspace sysctl net.inet.tcp.autorcvbufmax sysctl net.inet.tcp.autosndbufmax # Apply settings temporarily (until reboot) sudo sysctl -w kern.ipc.maxsockbuf=8388608 sudo sysctl -w net.inet.tcp.sendspace=131072 sudo sysctl -w net.inet.tcp.recvspace=131072 sudo sysctl -w net.inet.tcp.autorcvbufmax=16777216 sudo sysctl -w net.inet.tcp.autosndbufmax=16777216 sudo sysctl -w net.inet.tcp.rfc1323=1 sudo sysctl -w net.inet.tcp.sack=1 # Make settings persistent (create /etc/sysctl.conf) sudo tee /etc/sysctl.conf <مستقل اصلاحات کے لیے لانچڈامون کو تشکیل دینا
# Create /Library/LaunchDaemons/com.local.sysctl.plist sudo tee /Library/LaunchDaemons/com.local.sysctl.plist <EOF sudo chmod 644 /Library/LaunchDaemons/com.local.sysctl.plist sudo launchctl load /Library/LaunchDaemons/com.local.sysctl.plist Label com.local.sysctl ProgramArguments /usr/sbin/sysctl -w kern.ipc.maxsockbuf=8388608 RunAtLoad ڈر سنانے والے ہیں، میکووس وینتورا (13) اور بعد میں نظام صداقت تحفظ (سی آئی پی) پابندیوں پر مشتمل ہے۔ بعض کیلگری پیرامیٹروں کو سُدو کے ساتھ بھی قابلِقبول نہیں کِیا جا سکتا ۔ اپنے مخصوص ماحول میں امتحانات۔
# Server side iperf3 -s # Client side - test TCP throughput iperf3 -c server_ip -t 60 -i 5 -w 16M # Test with multiple parallel streams iperf3 -c server_ip -P 10 -t 60 # Test UDP performance iperf3 -c server_ip -u -b 1000M -t 60
# Capture and display TCP window sizes tcpdump -i any -n 'tcp' -vv | grep -i window # Save capture for Wireshark analysis tcpdump -i any -w /tmp/capture.pcap 'tcp port 443'
بفر مسائل کے ان آثار کو تلاش کریں:
# Linux - Monitor network buffer statistics watch -n 1 'cat /proc/net/sockstat' watch -n 1 'ss -tm | grep -i mem' # Check for drops netstat -s | grep -i drop # Windows - Monitor TCP statistics netstat -e 1 # macOS - Monitor network statistics netstat -s -p tcp
آپ کے نیٹ ورک کے لیے اکیڈیمل بفر سائز کا تعین کرنے کے لیے بینڈویڈتھ پروڈیوس کیا-
BDP = Bandwidth (bits/sec) × RTT (seconds) Example for 10 Gigabit Ethernet with 50ms RTT: BDP = 10,000,000,000 × 0.050 = 500,000,000 bits = 62.5 MB Buffer Size = BDP × 2 (for bidirectional traffic and headroom) Buffer Size = 62.5 MB × 2 = 125 MB This is why modern settings recommend 128MB maximum buffers.
| ورک قسم لوڈ کرتا ہے | بفر حجم | کلیدی پیرامیٹر |
|---|---|---|
| ویب سرور (Lowerscy) | 4-16 MB | زیریں بفر، زیادہ تعلقات، تیزی سے جواب دیتے ہیں۔ |
| ڈیٹا بیس فہرست | 16-32 MB | موڈر بوفرز، ضمنی طور پر |
| فائل منتقل / لوٹنے والا | 64-128 MB | زیادہتر لوگ اپنی ترجیحات کے ذریعے بلند ہوتے ہیں |
| ویڈیو گیمز | 32-64 MB | بڑے بفرے، مناسب ادائیگی کی شرح |
| ایچ پی سی / ڈیٹا سینٹر | 128-256 MB | زیادہتر بُرے لوگوں کو کنٹرول کرنا چاہئے |
| وائیرلیس / موبائل | 2-8 MB | مَیں نے اُن سے پوچھا کہ ” کیا مَیں اُن کی بات مانتا ہوں ؟ “ |
Buffer settlement) ایک عام طور پر کارکردگی کے مسائل کی بنیادی وجہ ہے جو نیٹ ورک سے وابستہ نظر آتی ہے۔ 2009ء کی 128KB حدود سے بفر سیریز کے ارتقا کو سمجھنے سے آج کل 128MB کی صلاحیتوں کے لیے نیٹ ورک انجینئر ان مسائل کی جلد پہچان اور حل کر سکتے ہیں۔
کلیدی اشیاء:
یاد رہے: ایک "نگریل مسئلہ" جسے پی ٹی سی صفر ونڈوز دکھانے کے لیے ظاہر کیا گیا ہے اصل میں میزبانی نظام وسائل کا مسئلہ ہے۔ مناسب بفر ٹورنگ کے ساتھ آپ ان جھوٹی افواہوں کو ختم کر سکتے ہیں اور ان پر عمل پیرا ہو سکتے ہیں۔
اخذ شدہ بتاریخ: 2 فروری 2026 ^ ا ب بی این ایف -
مصنف: Boud9600 ٹیکنیکل ٹیم