Протоколи і стандарти
Тепер розглянемо параметри TCP / IP, які слід оптимізувати для прискорення доступу в Internet та підвищення його надійності. Їх три:
- Maximum Transmission Unit (MTU)
- Receive Window Size (RWIN)
- Time To Live (TTL)
Якщо MTU, рівне 576, не дає бажаного ефекту, можна вибрати його з наступного ряду: 512, 552, 556, 1006, 1024, 1064 та +1152 (ці величини отримані в результаті досліджень фірми Patterson Design Systems). Причому не забувайте змінювати величину RWIN з урахуванням наведених нижче рекомендацій. Майте на увазі, що немає сенсу ставити значення MTU, яке перевищить встановлене у вашого провайдера, оскільки тоді фрагментація пакетів почнеться вже на першому етапі пересилання.
Блоки даних, що використовуються в протоколі TCP, називаються сегментами. Стандарт передбачає, що після передачі певного числа сегментів відправник повинен отримати підтвердження про їх прийом з боку одержувача, у якого прийшли сегменти поміщаються в буфер, званий вікном. Розміри останнього визначає параметр RWIN, пересилається приймаючою стороною в заголовку кожного сегмента TCP. Величина RWIN повинна бути кратною цілому парним числом максимального розміру сегмента TCP (Maximum Segment Size - MSS), в іншому випадку через повторний пересилання сегментів, що не помістилися з першого разу у вікно, буде сповільнюватися передача. Що ж таке MSS? Це максимальний обсяг даних (в байтах), який може передаватися в одному сегменті TCP. Величина MSS не повинна перевищувати MTU-40. У разі зазначення величини MTU користувачем ОС Windows автоматично приймає MSS = MTU-40, т. Е. Якщо ми вибрали MTU = 576, то MSS = 536. Починати відлік RWIN доцільно з величини 4 * MSS. Можна поекспериментувати з величинами 6 * MSS і 8 * MSS.
У таблиці на основі рекомендацій фахівців компанії C3 Systems наведені максимально допустимі і оптимальні значення параметра RWIN для різних модемів (MTU = 576).
У разі, коли швидкість з'єднання модему через погану якість лінії виявляється нижче, ніж він може забезпечити (наприклад, модем на 56 Кбіт / с з'єднується на швидкості 33,6 кбіт / с), слід вибрати те значення RWIN, яке відповідає найбільш частою швидкості з'єднання (в даному випадку - 33,6 кбіт / с).
Загальна методика оптимізації
Перед тим як приступити до зміни Реєстру, обов'язково зробіть його резервну копію. Також не забувайте перезавантажувати ПК після внесених змін - нові параметри вступлять в дію тільки після цього. Якщо в результаті проведених експериментів ви так і не збільшили швидкість передачі даних, то поверніть настройки Windows до первинних значень, видаливши внесені вами особисто параметри. За даними компанії Patterson Design Systems, що розробила утиліту TweakDUN, 10-15% користувачів заявляють, що не отримали скільки-небудь відчутного ефекту від налаштування параметрів TCP / IP. Якщо вам не пощастило, не сильно турбуйтеся - ви не самотні.
Налаштування Windows 95
У разі використання першої версії Windows 95 (НЕ OSR2) перед налаштуванням параметрів TCP / IP непогано зробити наступне.
Завантажте з ftp://ftp.microsoft.com/Softlib/MSLFILES/UNIMODV.EXE новий покращений драйвер unimodem, що дозволяє модему працювати швидше. (Власникам Windows 95 OSR2 не варто турбуватися - вказаний драйвер вже увійшов в її комплект.)
Тепер можна починати настройку корисних властивостей. Для довідки повідомлю, що в Windows 95 за замовчуванням встановлюються MTU = 1500, RWIN = 8192 і TTL = 32.
В каталог HKEY_LOCAL_ MACHINE \ System \ CurrentControl Set \ Services \ VxD \ MSTCP слід додати текстові параметри DefaultRcvWindow і DefaultTTL. Вибір конкретних значень для них обговорювалося раніше.
Налаштування Windows 98
Встановити довільне значення MTU, а також задати свої параметри для RWIN і TTL в Windows 98 можна тільки через ручну коригування Реєстру - процедура та ж, що і для Windows 95.
Налаштування Windows NT
В операційній системі Windows NT, починаючи з версії 3.5, за заявою Microsoft, використовується автоматична настройка TCP / IP, яка визначає тип з'єднання і в залежності від цього встановлює для нього оптимальні параметри. Проте давайте розглянемо ті параметри Реєстру, які можна змінити виключно в експериментальних цілях. Всі вони повинні знаходитися в каталозі Реєстру HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters.
1. DefaultTTL. Тип REG_DWORD. Допустимі значення з діапазону 1-255. Для версії 3.51 за замовчуванням прийнято значення 32, а для версії 4.0 - 128.
2. EnablePMTUDiscovery. Тип REG_DWORD. Допустимі значення: 0 (False) або 1 (True). За замовчуванням прийнята 1. У цьому параметрі закладена основа оптимізації значення MTU в Windows NT. За замовчуванням ОС буде намагатися сама визначити максимально допустимий розмір пакета, який без фрагментації зможе переходити між вашим і віддаленим ПК. Якщо даний параметр встановити в 0, то при обміні даними з усіма ПК, що не входять в вашу локальну мережу, буде встановлюватися значення MTU, що дорівнює 576.
3. TCPWindowSize. Тип REG_ DWORD. Допустимі значення лежать в діапазоні 0-0xFFFF. Це - параметр RWIN. За замовчуванням Windows NT встановлює для нього значення, рівне більшої з двох величин: 4 * MSS і 8192, округлене до парного числа MSS.
Більш докладні відомості про конфігурації параметрів TCP / IP можна знайти в базі Microsoft Knowledge Base Q120642.
Налаштування інших ОС
Література та інші корисні джерела
belleisl / mtu_mss_rwin.html.
Microsoft Knowledge Base Q120642, TCP / IP NBT Configuration Parameters for Windows NT.