گیزمو

مطالبی مفید از دنیای کامپیوتر که شاید کمتر شنیده اید

گیزمو

مطالبی مفید از دنیای کامپیوتر که شاید کمتر شنیده اید

طبقه بندی موضوعی

در اینجا به پارامترهای پروتکل TCP/IP که باعث بهبود عملکرد و سرعت شبکه و اینترنت می شوند می پردازیم.

برای شروع ابتدا پنجره Command Prompt را از آدرس زیر باز کنید:

Start icon > Run > type: cmd

*** توجه داشته باشید تمام کارهایی که انجام خواهیم داد به دسترسی در سطح Administrator احتیاج دارد.

حال در پنجره باز شده کارهای زیر را انجام دهید:

در اولین مرحله باید وضعیت کلی پروتکل TCP/IP برروی سیستم خود را چک کنید که با دستور زیر این کار میسر خواهد بود:

netsh int tcp show global

با اجرای دستور، چیزی شبیه به عکس زیر نمایان خواهد شد که در سیستم های مختلف ممکن است متفاوت باشد.

تنظیمات موجود در جدول، مقدار پیش فرض هریک از تنظیمات و مقادیر پیشنهادی آنها در ادامه توضیح داده می شود. وقتی دستور اجرا شد ممکن است در زیر جدول وضعیت، پیغام زیر نیز نمایش داده شود:

**The above autotuninglevel setting is the result of Windows Scaling heuristics overriding any local/policy configuration on at least one profile.

مشاهده این پیغام به معنی وجود مشکل در تنظیمات شبکه و به خصوص ویژگی Auto-Tuning Level می باشد که در ادامه آن را تصحیح خواهیم کرد.

-------------------------------------------------------------------------------------------------------------

Windows Scaling heuristics

ویندوز Vista/7 قابلیتی برای تغییر خودکار TCP Window که یکی از پارامترهای مهم در پروتکل TCP/IP می باشد را داراست. این ویژگی به صورت دینامیک و خودکار، با تغییر این پارامتر بدون توجه به تنظیمات کاربر، پارامتر TCP Window را تغییر می دهد. با غیر فعال کردن این ویژگی در ویندوز می توان کنترل بهتر و بیشتری برای بهینه سازی، روی سرعت اینترنت داشت. جهت انجام این کار دستور زیر را وارد کنید:

netsh int tcp set heuristics disabled

در صورت فعال بودن این ویژگی، که موجب تداخل در تنظیمات کاربر می شود، در هنگام مشاهده جدول وضعیت TCP/IP (دستور اول) پیغام زیر نمایان می شود که با غیر فعال کردن آن، این پیغام نیز محو خواهد شد.

** The above autotuninglevel setting is the result of Windows Scaling heuristics overriding any local/policy configuration on at least one profile.

-- تنظیمات ممکن برای این دستور disabled ، enabled و default می باشند.

-- پیشنهاد می گردد آن را disabled کنید.

-- در صورت اجرای درست دستور، کلمه ی OK ظاهر خواهد شد.

همچنین می توان از طریق آدرس زیر در رجیستری ویندوز آن را تغییر داد :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters EnableWsd=0  

(default: 1, ecommended: 0)

-------------------------------------------------------------------------------------------------------------

TCP Auto-Tuning

در اینجا ویژگی دیگری به نام RWIN رو غیر فعال می کنیم. دستور زیر رو تایپ کنید:

netsh int tcp set global autotuninglevel=disabled

-- حالت پیش فرض normal است و حالت های ممکن دیگری که میتوان تنظیم نمود عبارتند از:

  • disabled : مقداری ثابت را برای TCP Receive window در نظر خواهد گرفت. (مقدار 64KB)
  • highlyrestricted : اجازه می دهد از مقدار پیش فرض خود فراتر رود.
  • restricted : در بعضی مواقع اجازه میدهد از مقدار پیش فرض خود فراتر رود.
  • normal : متناسب با وضعیت شبکه مقدار TCP receive window را تغییر می دهد.
  • experimental : مقداری برابر با 16MB را برای پارامتر TCP receive window در نظر میگیرد که تنها جهت آزمایش و تجربه بوده و تنظیم دائمی در این حالت توصیه نمی شود.

-- پیشنهاد می گردد در حالت normal قرار بگیرد.

-- در صورتی که با حالت normal مشکلی پیدا کردید حالتهای دیگر را امتحان کنید و در صورتی که در همه حالتها مشکل همچنان پابرجا بود به ناچار آن را disabled کنید.

-------------------------------------------------------------------------------------------------------------

Compound TCP - Improve throughput

الگوریتمی در ویندوز وجود دارد که وظیفه جلوگیری از تداخل بسته های TCP را به عهده دارد. الگوریتم اولیه در ویندوز XP نوشته و استفاده شد و در ویندوز ویستا به بعد، روش بهبود یافته آن با نام (CTCP (Compound TCP عرضه شد. بصورت پیش فرض این الگوریتم غیر فعال می باشد که با فعال کردن آن میتوان بهبود زیادی در سرعت اینترنت حاصل کرد. برای این منظور دستور زیر را وارد کنید:

netsh int tcp set global congestionprovider=ctcp

و برای غیر فعال کردن آن:

netsh int tcp set global congestionprovider=none

-- فعال کردن این الگوریتم برای کانکشن های پرسرعت مانند broadband connections و ADSL بسیار توصیه می شود.

-------------------------------------------------------------------------------------------------------------

ECN Capability

قابلیت (ECN (Explicit Congestion Notification به روترهای موجود در شبکه اجازه میدهند تا با روشهایی از تداخل بسته های در حال عبور بهتر از گذشته جلوگیری کنند. هدف اصلی این متد جلوگیری از ارسال مکرر بسته ها در سطح شبکه بوده و در عین حال Packet loss به حداقل رسانده شود. به صورت پیشفرض این قابلیت در ویندوز ویستا و 7 غیر فعال می باشد و برای فعال کردن آن از دستور زیر استفاده می کنیم:

netsh int tcp set global ecncapability=default

-- البته فعال کردن این قابلیت باعث مشکلاتی در برخی از ISP های کشور آمریکا خواهد شد. (ولی برای ما مشکلی نداره!) همچنین با فعال کردن این ویژگی گزارشاتی مبنی بر بروز مشکلاتی در هنگام بازی های آنلاین شرکت EA وجود دارد. در صورتی که از بازی های این شرکت استفاده می کنید این قابلیت را غیر فعال کنید.

-------------------------------------------------------------------------------------------------------------

RSS - Receive-side Scaling

این قابلیت تضمین میکند که تمام بسته های متعلق به یک کانکشن TCP، توسط یک هسته از پردازنده پردازش شده و در اینصورت تداخلی در کار پردازش بسته ها توسط پردازنده های چند هسته ای بوجود نخواهد آمد. در صورت غیر فعال بودن این فابلیت ممکن است بسته ها بدون هماهنگی توسط هسته های متفاوت پردازش شوند و بدین ترتیب احتمال وقوع packet reordering بالا برود. جهت فعال کردن این قابلیت دستور زیر را وارد نمایید:

netsh int tcp set global rss=enabled

-- در حالت پیش فرض این قابلیت در ویندوز فعال می باشد اما اگر به هر دلیلی غیرفعال شده باشد، پیشنهاد می گردد در پردازنده های چند هسته ای حتما این قابلیت فعال گردد.

-------------------------------------------------------------------------------------------------------------

TCP Chimney Offload

این قابلیت بار پردازشی اضافی بر روی پردازنده سیستم را حذف کرده و کارایی کلی سیستم را در هنگام پردازش بسته های TCP را بالا می برد.

حالت پیش فرض این قابلیت در ویندوز ویستا disabled و در ویندوز 7 و 2008 در حالت automatic می باشد. پیشنهاد می گردد این قابلیت فعال و به حالت enabled تنظیم گردد. دستور زیر این امر را میسر می کند:

netsh int tcp set global chimney=enabled

برای کارکرد صحیح این قابلیت علاوه بر فعالسازی با دستور بالا باید TCP Offloading در تنظیمات کارت شبکه نیز اعمال شود. برای این منظور به آدرس زیر رفته و تمام گزینه هایی که دارای کلمه offload هستند را فعال نمایید. همچنین گزینه flow control را نیز فعال نمایید.

 ابتدا پنجره Network and Sharing center را از طریق Control Panel باز نموده و سپس:

 

 که در تصویر آخر گزینه های زیر را انتخاب کرده و در سمت راست آنها را Enabled کنید.

  • Flow Control
  • IPv4 Checksum Offload
  • TCP Checksum Offload
  • UDP Checksum Offload

 

-------------------------------------------------------------------------------------------------------------

Direct Cache Access

این قابلیت تبادل سریع، مستقیم و بدون واسطه ی اطلاعات بین پردازنده و کارت شبکه را فراهم می آورد. بدین ترتیب سرعت و راندمان کلی فعالیت های شبکه بالاتر خواهد رفت. البته در صورتی این امکانپذیر خواهد بود که کارت شبکه، چیپ ست واقع بر روی مادربرد و پردازنده ی سیستم این قابلیت را ساپورت کنند. همچنین این ویژگی تنها بر روی ویندوز 7 و 2008 وجود دارد و ویندوز ویستا این قابلیت را ندارد. برای فعالسازی دستور زیر را وارد کنید:

netsh int tcp set global dca=enabled

-- پیشنهاد می شود در صورت پشتیبانی سیستم این قابلیت را فعال نمایید. در حالت پیش فرض این قابلیت غیر فعال می باشد.

همچنین می توان از طریق آدرس زیر در رجیستری ویندوز این قابلیت را فعال کرد:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

EnableDCA=1

(DWORD, entry does not exist by default. Set to 1 to enable, 0 to disable)

-------------------------------------------------------------------------------------------------------------

Setting MTU

در برخی مواقع بهتر است مقدار پارامتر MTU در شبکه بصورت دستی تعیین شود. برای اینکار ابتدا با دستور زیر لیستی از اینترفیس های موجود بر روی سیستم خود را مشاهده کنید.

netsh interface ipv4 show subinterface

با اجرای دستور، لیستی شبیه به شکل زیر را مشاهده خواهید کرد:

به جز اولین خط که با نام Loopback معرفی می شود، پیشنهاد می گردد بقیه اینترفیس های موجود در لیست را با مقدار 1492 تنظیم نمایید. دستور زیر را برای تعیین مقدار MTU به کار ببرید:

netsh interface ipv4 set subinterface "network interface name" mtu=1492 store=persistent

در دستور بالا به جای “network interface name” نام اینترفیس های موجود در لیست خود را قرار دهید.

برای مثال در عکس بالا ما دو اینترفیس با مقدار 1500 داریم که باید دو بار این دستور را به صورت زیر اجرا کنیم:

netsh interface ipv4 set subinterface “Wireless Network Connection” mtu=1492 store=persistent

netsh interface ipv4 set subinterface “Local Area Connection” mtu=1492 store=persistent

-------------------------------------------------------------------------------------------------------------

Network Throttling Index

به طور پیش فرض، ویندوز ویستا/7 مکانیزمی را به کار می برد که در آن بسته های غیر مولتی مدیا محدود شده و تنها تعداد 10 بسته در واحد میلی ثانیه امکان ارسال و دریافت دارند. برای بازی های آنلاین پیشنهاد می شود این مکانیسم غیر فعال گردد. برای این کار به آدرس رجیستری زیر مراجعه کنید:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Multimedia\SystemProfile NetworkThrottlingIndex=ffffffff 

(DWORD, default: 10 hex, recommended: 10 hex for media sharing, ffffffff for gaming and max throughput, valid range: 1 through 70 decimal or ffffffff to completely disable throttling)

اما این نکته را نیز در نظر داشته باشید که در صورت غیر فعال کردن این گزینه ممکن است در media sharing تحت شبکه مشکلاتی به وجود آورد. بنابراین در صورتی که file transfer در شبکه محلی وجود دارد از تغییر این مکانیسم خودداری کنید. این کار به کسانی توصیه می شود که تنها به اینترنت متصل بوده و هیچ شبکه محلی به سیستم آنها متصل نباشد.

-------------------------------------------------------------------------------------------------------------

 Gaming Tweak - Disable Nagle's algorithm

یکی از مهمترین فاکتورها برای گیمرها و کسانی که بازی آنلاین زیاد انجام می دهند، پارامتر ping می باشد. بهترین راه برای بهبود پینگ، غیر فعال کردن الگوریتمی به نام Nagle می باشد. با غیر فعال کردن این الگوریتم، بسته های کوچک می توانند بدون تاخیر و با سرعت بالا به مقصد برسند که برای بازی های آنلاین بسیار تاثیر گذار خواهد بود. به این نکته نیز توجه داشته باشید که غیر فعال کردن این الگوریتم تاثیر منفی در file transfer در شبکه خواهد داشت. برای این کار باید به سه آدرس زیر در رجیستری ویندوز مراجعه کنید:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}

There will be multiple NIC interfaces listed there, for example: {1660430C-B14A-4AC2-8F83-B653E83E8297}. Find the correct one with your IP address listed. Under this {NIC-id} key, 

TcpAckFrequency=1

(DWORD value, 1=disable, 2=default, 2-n=send ACKs if outstanding ACKs before timed interval. Setting not present by default).

-- پیشنهاد می گردد مقدار 1 برای آدرس بالا تعیین گردد.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters

TCPNoDelay=1 

(DWORD value, 0 to enable Nagle's algorithm, 1 to disable, not present by default)

و آدرس سوم :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}

TcpDelAckTicks=0 

(DWORD value, default=2, 0=disable nagling, 1-6=100-600 ms). Note you can also set this to 1 to reduce the nagle effect from the default of 200ms without disabling it.

-- گزارش شده است با غیر فعال کردن این الگوریتم، ping در بازی WoW به نصف کاهش پیدا کرده است!

-- این تغییر در ویندوز XP نیز قابل انجام است.

_________________________________________________________________

موارد دیگری از تنظیمات رجیستری نیز موجود است. اما از آنجاییکه با اعمال آنها خودم نتیجه ای نگرفتم، اینجا نیز به آنها اشاره نمی کنم. اما کسانی که تمایل دارند می توانند به آدرس منبع مراجعه کنند. در آخر این نکته رو ذکر می کنم که پتانسیل و توانایی بالقوه یک کانکشن اینترنت در سرعت و پینگ محدود است. یعنی مثلا شما به هیچ عنوان از یک خط Dial-up با سرعت 56K، نمی تونید سرعتی معادل 57K رو تجربه کنید. همینطور این قضیه در مورد پینگ هم صدق میکنه. پس اگر به دنبال معجزه یا نتیجه ای خارق العاده هستید، مطمئن باشید به نتیجه ای نمی رسید. این ترفند ها و تنظیمات تنها کمک می کنند از حداکثر پتانسیل کانکشن خود استفاده کنید و نه بیشتر. بسیاری از افرادی که از برنامه های بهینه ساز تنظیمات اینترنت ناراضی هستند، درواقع انتظاری خارج از توانایی و پتانسیل کانکشن اینترنت خود دارند که طبعا به هیچ عنوان به آن دست نمی یابند.

 

مطالب بروز شده و جدیدتر مربوط به ویندوز 8 در لینک زیر : 

http://www.speedguide.net/articles/windows-8-10-2012-server-tcpip-tweaks-5077

 

نظرات  (۵)

سلام خسته نباشید ولی اصلا تاثیری نداشت که هیچ بدتر هم شد.من زمانی که صقحه مرورگر رو باز میکنم پینگم به 5000 میرسه که قکر نکنم حالت خوبی باشه ولی در هر صورت ممنون


پاسخ:
سلام. متوجه منظور شما نشدم. باز کردن مرورگر چه ربطی به پینگ داره؟ لطفا بیشتر توضیح بدین
اقا سلام من مورد  Gaming Tweak - Disable Nagle's algorithm رو متوجه نشدم ... NIC-id ؟؟؟؟ کجاست ؟؟؟ دوم اینکه میشه این تغییرات باعث بشه پرش پینگ بهتر بشه ؟ ( مثلا ping 142.66.152.1 -t پرش داره با این روش بهتر میتونه بشه ؟؟؟؟؟ )

پاسخ:
NIC-id ترکیبی از حروف و اعداد هست که میتونیم بهش بگیم شناسه منحصربفرد اینترفیس های شبکه بوده و به تعداد دیوایس های شبکه ی نصب شده روی سیستم(مثل کارت شبکه یا مودم) در آدرس ذکر شده در مطلب، وجود داره. مثلا اگر دستور ipconfig رو بزنین و براتون 3 تا دیوایس لیست کنه، به احتمال زیاد در اون آدرس هم سه تا NIC-id میتونین ببینین.
در مورد سوال دوم هم باید بگم همونطوری که تو متن هم گفتم تمام این کارهایی که برای بهبود وضعیت شبکه و اینترنت شما بهش اشاره شده در صورتی موثر واقع میشه که پتانسیل شبکه شما بالاتر از چیزی باشه که در حال حاضر استفاده میکنید. مثلا اگر به هر دلیل نرم افزاری یا سخت افزاری (که میتونه برای مثال تنظیمات نامناسب کارت شبکه باشه) سرعت و کارایی اینترنت شما پایین تر از حد توان تجهیزات شبکه ای و اینترنتی سیستم شما باشد، با انجام این تنظیمات میتونین توان سیستم رو به حداکثر خودش برسونین ولی تنها تا حداکثر توان تجهیزات و نه بیشتر! این برای تمام نرم افزار هایی که کارشون افزایش سرعت شبکه و اینترنت باشه هم صادق هست. پس اگر پرش پینگ شما مربوط به تنظیمات خاص شبکه باشه (یا کارایی و توان ارتباطی که شما با اینترنت دارین در حداکثر کارایی خودش به هر دلیلی که میخواد باشه، نباشه) اونوقت اعمال این تغییرات و تنظیمات میتونه موثر باشه. برای همین هست که استفاده از نرم افزارهای ارتقا دهنده سرعت اینترنت برای همه کارایی نداره و خیلیا میگن از فلان نرم افزار استفاده کردم اما نتیجه نگرفتم. امیدوارم منظور منو گرفته باشین.
موفق باشین
با سلام
برادر دمت گرم هم سرعت دانلودم بالا رفت هم پینگم از 300 امد 20
دمت گرم


فقط یه چیز دیگه میشه از قسمت mtu توضیحات بیشتری برامون بزاری ممنون میشم
با تشکر
سلام من با ارور در سی ام دی مواجه میشم یا اینکه سی ام دی قاطی میکنه
پاسخ:
شاید به خاطر اینه که run as administrator اجرا نکردین
set global command failed ......
پاسخ:
شاید به خاطر اینه که run as administrator اجرا نکردین

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی