Реактивный интернет у вас дома

или практическое руководство по ускорению TCP/IP в Win9x и WinMe

Я думаю, что во Всемирной Сети нет пользователя, которого бы при подключении через обычный dialup полностью устраивала скорость перекачки информации из мировых глубин. Если Windows 2000 намного "разогнать" в данном ключе вряд ли получится, а Linux в этом и вовсе не нуждается, то "домашние" операционки от Microsoft (Windows 95, 98, Me) без особых проблем поддаются подобным издевательствам. В данной статье речь пойдет о том, как резко увеличить скорость вашего интернета. После удачной операции скорость вырастет на 20-40%, а главное - никаких затрат.

Как я уже говорил, со стороны читателя не потребуется никаких затрат, а посему мы полезем в реестр. Бояться этого не надо, а надо просто нажать "Пуск" -> "Выполнить", набрать regedit - и вы попадете в замечательную программку, которая и поможет в решении нашей нелегкой задачи. Итак, приступим…


Оптимизируем пакеты

Сначала направляемся по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Class\NetTrans\0000. Последние нули в адресе означают профиль, а посему адрес у вас может заканчиваться не на 0000, а на 0001, 0002 или, скажем, 0022. Здесь нам понадобится создать строковый параметр MaxMTU. Его возможные значения MaxMTU - 552, 576, 1002, 1500. Это не значит, что нельзя использовать другие числа, просто эти используются чаще и работают лучше. В Win9x по умолчанию используется значение этого параметра 1500. Чем больше пакет, тем больше данных мы получим. С большим значением MaxMTU модем сможет отправлять большие пакеты, и за раз будет отправляться больше данных. Но если связь очень плохая, то модему нужно повторять отправку потерянных данных. Поэтому модем может тратить больше времени на отправку или получение потерянных пакетов, чем на отправку новых пакетов. В общем, значение 576, я думаю, будет в самый раз, хотя, конечно, лучше было бы протестировать скорость с разными значениями в вашем конкретном случае, но это займет у вас определенное количество времени.

 


Оптимизируем размер данных

Однако надо помнить, что пакет содержит не только данные, но и заголовок и служебную информацию, которые вместе занимают 40 байт. Таким образом, при значении MaxMTU, равном 1500, реально будет передаваться только 1460 байт данных. При значении 576 размер данных равен 536. Так что во втором случае потери на служебную информацию будут в три раза большие. Но не все так страшно, ведь при плохой связи лучше лишний раз передать 40 байт служебной информации, чем 1500 байт потерянного пакета. Количество данных без учета служебной информации называется MSS. Он равен MaxMTU-40. Теперь направляемся по адресу HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\VxD\MSTC и создаем там строковый параметр DefaultMSS, равный значению MaxMTU-40, то есть в нашем случае 536 (576-40).


Оптимизируем окна

Следующие параметры будут располагаться по адресу HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\VxD\MSTC. Первым будет строковый параметр DefaultRcvWindow (окно посылки). Когда вы посылаете запрос на сервер, то он имеет право отправить вам RWIN количество байт, не дожидаясь подтверждения об удачном приеме. Если записать в DefaultRcvWindow значение, которое мы указали в DefaultMSS, то сервер после каждого отправленного пакета будет ждать подтверждения. Если вы сделаете это значение размером в 20*DefaultMSS, то сервер будет отправлять сразу 20 пакетов. Этим мы увеличиваем количество запросов и ожиданий потерянных данных. Второй параметр по этому адресу - DefaultRcvWindow. Его нужно рассчитать по формуле DefaultMSS*x. Вместо x желательно использовать числа 4, 6, 8 или 10. Самым оптимальным, на мой взгляд, является число 8, но в каждом отдельном случае оно может быть и другим. Поэтому, опять же, советую протестировать параметр в вашем отдельном случае.


Оптимизируем время жизни

Следующий строковый параметр - DefaultTTL (время жизни пакета). Как только значение этого параметра превышает допустимое, пакет считается попавшим в цикл и уничтожается. По умолчанию DefaultTTL равно 32. Его уменьшение может привести только к ухудшению связи. Поэтому лучше увеличить это значение до 64.


Последствия оптимизаций

После всего этого есть два варианта развития событий:

  1. Все работает лучше, чем было.
  2. Все работает хуже, чем было.

Второе, к слову, может быть только в том случае, если у вас очень прямые руки для того, чтобы лазить в реестре. Итак, если все же вам не повезло, я имею в виду второй путь развития, то перезагружайте компьютер, перед загрузкой Windows нажмите F8. Перед вами появится меню выбора вариантов загрузки. Выберите "Command Prompt Only" - так вы попадете в DOS. Наберите в командной строке scanreg/restore. После этого запустится программа восстановления реестра. Вам предложат выбрать любой из четырех рабочих реестров за последние 4 дня. Выбирайте, жмите Enter. Когда восстановите реестр, подключайтесь к интернету и скачивайте себе маленькую утилитку Ispeed (www.hms.com/apps/ispeed.zip). Почему именно ее? Просто она позволяет не только настроить все описанные выше параметры в автоматическом или ручном режимах, но и проверить новые настройки на практике, а также сделать анализ полученных данных. К тому же я не советовал бы пользоваться утилитами типа "Выберите вашу ОС, выберите ваш модем, нажмите OK. Спасибо, оптимизация закончена". Ими вы можете изменить ситуацию в худшую сторону.

Итак, будем считать, что я вас убедил. В главном окне вы можете выбрать профиль, который хотите настроить. Программа позволяет подставлять только допустимые значения всем параметрам. Поэтому вероятность ошибки очень мала. С правой стороны находятся кнопки. Советую начать настройку с нажатия PPP. Она автоматически выставит оптимальные значения для PPP-соединения. После этого можно поправить то, что, на ваш взгляд, является неправильным. Все параметры мы уже рассмотрели выше, а посему, я уверен, у вас это не вызовет затруднений. На закладке "Testing" можно протестировать выбранные настройки на каком-нибудь сервере. Если настройки вас удовлетворили, то нажмите кнопку "Save". После сохранения данных в реестре вам предложат сохранить выбранные настройки в файле историй, на что вы должны согласиться. Впоследствии на закладке историй можно будет выбрать любую из сохраненных конфигураций и задействовать ее. Кроме того, на последней закладке можно посмотреть в виде графика скорость каждой из сохраненных конфигураций. Вот, в принципе, и все.


Заключение

Такими косметическими настройками можно прибавить до 40% в скорости при работе с интернетом. Если вас и это не удовлетворило, то переходите на Linux, там TCP/IP работает намного лучше, нежели в продуктах от любимой Microsoft. Ну а если и это не вариант, то выбирайте Windows 2000. Честно сказать, я поразился, что в нем изначально TCP/IP оказался достаточно быстрым и в дополнительной оптимизации уже не нуждался. В общем, надеюсь, что ваши мониторчики в правом нижнем углу экрана после прочтения статьи стали гореть ярче и прекратили гаснуть.

Дмитрий РЯБИНИН,
dima_ryabinin@mail.ru

Версия для печатиВерсия для печати

Номер: 

10 за 2002 год

Рубрика: 

На заметку
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя LINUX
С нашим КоннектоМ это то же самое, что мёртвому примочки. И на ЛинуХ это тоже распростроняется :)
Аватар пользователя Alex X13
Статья для Лукашенки. Пусть подумает на досуге.
Аватар пользователя Pion
Проблема в том, что ключа HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\VxD\MSTC у меня в реестре просто нет. Там есть HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\VxD\MSTCP .

Может это, конечно, одно и тоже, но не впечатляет... Стоит у меня ME. Руки у меня не слишком кривые - выходит проблема...

Аватар пользователя Павел
Как это так - менять значение TTL? Да это просто счетчик, который декрементируется каждый раз при прохождение через межсетевой шлюз. Раньше он был вообще равен 4 или 8, и этого достаточно. 32 - это больше чем надо на любой случай, это значит ваш пакет может уйти за 32 физических сети. Зачем его увеличивать до 64?

Парни, послушав таких, не меняйте ничего, иначе будете переставлять винды.

Аватар пользователя Инкогнито
У меня конект 50666. цпс в среднем 5,6к.

Интересно как увеличится скорость если итак цпс теоретически пости максимальный. Лажа это всё.

Аватар пользователя Дим Шарко
Всё это полная лажа, Я всё сделал точь в точь как написано, так у меня вообще не конектит! Пришлось полностью винду удалять.