15 лет назад 10 марта 2004 в 16:44 111

Сколько раз вы проклинали свой медлительный dial-up и принимались откладывать деньги на выделенную линию! Между тем при умелой настройке даже последний noname-модем может сравниться по скорости с дорогими внешними моделями. Оптимизацию интернет-соединения рекомендуется выполнять в несколько этапов. Начнем мы, разумеется, с физической среды соединения (ФСС), а попросту – с кабельной проводки.

Проводка от модема до щитка просто обязана быть качественной. Даже небольшие помехи или необоснованное сопротивление способны ощутимо снизить скорость интернет-соединения. Причина – появление ошибочных пакетов, на корректировку которых потребуются дополнительные накладные расходы.

В качестве кабельной подсистемы рекомендуется использовать неэкранированную “витую пару” – UTP 5-й категории. Экранированная “витая пара” для телефонной проводки обычно не применяется, но если у вас нет выбора, не забудьте ее заземлить. Следует напомнить, что любое физическое воздействие на кабель может привести к изменению его характеристик. Поэтому прокладывать линию необходимо под плинтусом или в коробах, избегая сильных перегибов.

Разводку в квартире следует выполнять в соответствии с рисунком. Все телефонные аппараты подключаются к линии через модем, и теперь интернет обладает приоритетом над “разговорными устройствами”. Но это не самое главное. Наша задача – исключить любое дополнительное сопротивление, которое как раз и создают телефонные аппараты. Все стыки кабелей, количество которых должно быть минимальным, нужно обязательно пропаять.

Чтобы избежать помех и наводок, следует проводить кабель не ближе 0,5 м к силовым линиям, если они идут параллельно (пересечение под прямым углом допустимо). Также желательно заземлить системный блок.

ПРОВАЙДЕР, ОТЗОВИСЬ!
Теперь, когда у нас есть идеальная кабельная система, можно перейти к выбору провайдера. Это, пожалуй, один из ключевых моментов оптимизации интернет-соединения. Если вы используете игровой сервер собственного провайдера, то не важно, какова ширина его канала связи с “внешним миром”. В противном случае это едва ли не самый критичный параметр. Конечно, его надо учитывать вместе с количеством пользователей, подключающихся к провайдеру и делящих полосу пропускания интернета между собой. С информацией о провайдерах можно ознакомиться, например, на сайте www.provider.net.ru.

Игровой трафик очень чувствителен к задержкам. Многим знакома такая ситуация: загружаешь какой-нибудь Quake 3 Arena, находишь единомышленников и… не можешь попасть в противника с двух метров, потому что пока информация о твоем выстреле доходит до “врага”, он успевает скрыться. В связи с этим при выборе провайдера нужно обратить внимание на такой параметр, как MTU (Maximum Transmission Unit) – максимальный блок данных, который передается по сети.

Пакет большего размера, чем MTU провайдера, будет фрагментироваться (как правило, такое фрагментирование разрешено), а значит, на доставку полезной информации уйдет больше времени. Нынешние провайдеры используют коммутационное оборудование, способное самостоятельно регулировать размер MTU по заданному алгоритму, который является адаптивным. Поэтому получается, что жестко MTU может задавать только пользователь. Обычно у пользователя по умолчанию включен динамический выбор MTU, но мы будем устанавливать его вручную.

При выборе провайдера также нужно обратить внимание на статус фирмы, количество корпоративных клиентов, наличие резервных серверов (почтовые, DNS и другие), оборудование и модемный пул. От этого зависит, насколько стабильно и быстро будут обрабатываться ваши интернет-запросы.

ВНУТРЕННОСТИ ОС
Настало время забраться в святая святых ОС – системный реестр – и настроить локальные параметры интернета. Параметров может быть огромное количество, особенно если учесть задачи, для которых уровень приложений реализован самостоятельно, а не средствами ОС. Но мы рассмотрим те из них, которые могут в значительной мере повлиять на онлайн-игры и скорость соединения.

Технология QoS
В Windows XP разработчики попытались учесть такое важное направление современных сетей, как обеспечение качества обслуживания (QoS – Quality Of Service). Дело в том, что чувствительный к задержкам трафик (например, голос или видео) должен обладать приоритетом над обычными данными. Этим как раз и занимается технология QoS.

Разработчики Windows XP стали резервировать под обеспечение должного качества обслуживания 20% от полосы пропускания интернет-канала (реализация QoS RSVP – протокол резервирования ресурсов). К слову, стоит сказать, что протоколы QoS пока плохо работают в Сети и их вряд ли будут использовать в обозримом будущем, по крайней мере в Рунете.

На сайте Microsoft опубликована статья, в которой указывается, что протоколы качества обслуживания работают только с приложениями, при разработке которых использовался программный интерфейс QoS API. На домашнем компьютере таких приложений мы не найдем, поскольку они предназначены в основном для поддержки IP-телефонии или дорогостоящих распределенных ERP-систем (систем управления ресурсами предприятий), таких как, например, SAP R/3. Если вы все же не хотите, чтобы протокол QoS RSVP работал на вашем ПК, то можно выставить резервируемую полосу пропускания в 0% или вообще отключить данную службу.

Набираем в командной строке gpedit.msc, затем в “Конфигурация компьютера” > “Административные шаблоны” > “Сеть” > “Диспетчер пакетов QoS” выбираем “Ограничить резервируемую пропускную способность”. Двойной щелчок высветит окно, в котором необходимо включить качество обслуживания, а пропускную способность ограничить до 0%.

Далее следует убедиться в том, что протокол QoS включен: “Сетевое окружение” > Right Click > “Свойства > “Cвойства подключения к интернету” > “Сеть” > “Планировщик пакетов QoS”. Если протокола там нет, то его нужно установить. После завершения этих операций перезагрузите компьютер. Если хотите отключить службу, то идем в “Пуск” > “Настройка” > “Панель управления” > “Администрирование” > “Службы” > QoS RSVP и в свойствах выставляем тип запуска “Отключено”.

Сначала вернемся к MTU. Максимальным пакетом в наших коммутируемых сетях, как правило, является блок данных в 1,5 кб. При использовании интернета для игр лучше, чтобы MTU был небольшим. Как уже говорилось, чем больше будут пакеты, тем больше понадобится времени на их доставку, а такой роскоши игровой трафик себе позволить не может.

Поэтому выставление MTU в 1,5 кб исключается. С другой стороны, если данный параметр слишком мал, то полезной информации будет передаваться минимум, а служебных данных в виде заголовков протоколов и синхросигналов – максимум. Это тоже крайность, которой следует избегать. Оптимальное и фактически ставшее стандартным значение MTU для интернета (когда работает протокол PPP) – 576 байт.

Для установки этого значения запускаем regedit.exe и ищем следующую ветку реестра – HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\[Идентификатор адаптера]. Адаптеров может быть несколько, причем не все из них будут реальными. Для каждого создаем dword-параметр MTU и указываем значение, равное 576 в десятичной системе счисления. Существует также параметр MSS – Maximum Segment Size. Это размер сегмента данных, который вместе с заголовками протоколов составляет MTU.

Размер заголовков фиксирован и в общем случае составляет 40 байт. Следовательно, задавать размер MSS необязательно: при MTU, равном 576 байт, MSS равен 536 байт. Но если вы все-таки хотите задать значение MSS вручную, создайте в той же ветке реестра ключ MSS.

Существует алгоритм, по которому два узла могут сами выбирать значение MTU после обмена значениями своих MSS. Этот метод называется Path Maximum Transmission Unit Discovery (PMTU Discovery, “обнаружение максимального размера передаваемого пакета для данного пути”). Чтобы включить его, создаем в ветке реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters ключ EnablePMTUDiscovery и присваиваем ему значение “1” (при отключении данного алгоритма – “0”).

У метода PMTU Discovery есть расширение, позволяющее определить те маршрутизаторы, которые не уведомляют узел о потере пакетов, если это происходит из-за невозможности их фрагментации (эти маршрутизаторы считаются тупиковыми и в дальнейшем не используются). Так называемый алгоритм “обнаружения черных дыр” (Black Hole Detect) включается путем создания ключа EnablePMTUBHDetect со значением “1” в ветке HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters. Оба приведенных алгоритма желательно выключить, поскольку их работа может существенно замедлить процесс обмена сообщениями в сети.

Следующим важным параметром является так называемое “скользящее окно”. Это некий буфер данных, который находится на станции-приемнике и заполняется станцией-источником пакетами. Подтверждение их получения отправляется станцией-приемником в любой момент времени, но не позднее, чем буфер данных переполнится. Таким образом, пакеты, отправленные источником при заполнении окна приемника, будут отбрасываться. Значит, размер окна для надежных линий желательно увеличивать, для плохих – уменьшать.

Стандартом де-факто для протокола PPP (по которому мы и работаем на канальном уровне в интернете) является размер окна в 4,288 кб. Если ваши линии связи с провайдером достаточно надежны, то указанный размер можно увеличить, но не забывайте о том, что размер окна должен быть кратен MSS (например, 5,36 кб или 8,04 кб). Это делается для того, чтобы буфер окна заполнялся только полезными данными и не резервировался для пакетов меньшего размера, которые он не способен принять.

Смотрим в реестре ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters – параметр TcpWindowSize (если нет, то создаем вручную). Если вы обладаете идеальным каналом интернета и хотите увеличить “скользящее окно” до 64 кб или больше, то в реестре нужно создать dword-ключ “Tcp1323Opts” со значением “1” по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.

Значение TTL (Time To Live) указывает на тот промежуток времени, в течение которого некий пакет (или, например, маршрут), о котором знает локальный ПК, будет “жить”. Иначе говоря, пока это время не истечет, компьютер будет думать, что отправленный им пакет еще не достиг точки назначения (хотя он мог быть просто отброшен получателем, например, из-за переполнения буфера). Здесь как раз и скрыта возможность повышения скорости. С одной стороны, значение, установленное по умолчанию, слишком велико.

С другой стороны, если оно будет слишком мало, все пакеты будут считаться потерянными и будут посылаться снова и снова. Это явно не прибавит скорости вашему каналу. Поэтому, подбирая значение TTL, надо балансировать между двумя крайностями. Рекомендуется выставить в ветке реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters значение ключа DefaultTTL равным 128 (по умолчанию ему присвоено явно завышенное значение – 255).

В системах Windows 2000/XP есть возможность выборочной передачи поврежденных данных: если передаются несколько пакетов подряд и один из них не доходит до получателя, то отправитель посылает повторно только поврежденный пакет, а не всю серию пакетов. Это, безусловно, тоже влияет на скорость, поэтому, чтобы включить данный алгоритм, создаем dword-ключ “SackOpts” со значением “1” в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.

Есть еще один параметр, который не используется в NT-системах, но все же заслуживает упоминания, поскольку многие геймеры “сидят” на 9х/Ме. NDI Cache (Network Device Interface – кэш сетевого устройства) используется операционной системой для хранения информации о маршрутизации пакетов. По умолчанию его значение равно 0. При необходимости в ветке реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NWLink\Ndi\params\cachesize ключу Default можно присвоить нужное значение (рекомендуется 16).

Автоматическая оптимизация
Оптимизировать интернет-соединение можно не только вручную, но и автоматически, с помощью специальных программ. Их сейчас появилось огромное количество, но всем слепо доверять не стоит. Некоторые из них могут так уделать ваше интернет-соединение, что Сеть запросто пропадет или будет работать со скоростью, не способной удовлетворить даже пользователей ICQ.

Мы советуем обратить внимание на программу Modem Booster. Она подойдет как знающим пользователям, так и тем, кто не имеет ни малейшего представления о работе протоколов, но все же жаждет повышения производительности Сети. Скачать ее можно, например, с сайта news.proext.com. Работает она в двух режимах – либо вручную устанавливаются значения ключевых параметров сети, либо нажимается только одна кнопка “Start” и ваше интернет-соединение оптимизируется автоматически в течение 2-3 часов. Подходит она почти для всех операционных систем Windows – от 98 до XP.

Большей гибкостью обладает утилита Internet Tweak. Она также поддерживает все ОС Windows и насчитывает более 180 настраиваемых параметров. Пользователь получает возможность изменять настройки популярных браузеров (Internet Explorer, Netscape Communicator), почтовых клиентов, а также оптимизировать скрытые опции ОС. Скачать эту условно бесплатную утилиту можно по адресу www.magellass.com/files/inttweak.exe.

ВОСПИТАНИЕ МОДЕМА
Теперь примемся за старый добрый “винмодем” и попытаемся выжать из него максимум скорости.
Для начала нужно убедиться, что у вас установлена самая последняя версия драйвера. Дело в том, что почти все уровни сетевой модели в “винмодемах” реализованы программно, и от софта напрямую зависит скорость и некоторые другие параметры связи.

Забираемся в настройки этого чуда инженерной мысли: “Пуск” > “Настройка” > “Панель управления” > “Телефон и модем” > “Модемы”. Видим установленный модем, заходим в “Свойства” и здесь снова видим вкладку “Модем”. Параметр “Скорость порта для модема” устанавливаем в 115 200 бит/с (или выше – если, конечно, ваш модем на такое способен).

Здесь задается не скорость соединения модема и провайдера, а скорость обмена данными между виртуальным портом компьютера и модемом, к которому он подключен, и ее значение должно быть максимальным. Впрочем, следует отметить, что на старых устройствах с ограниченными возможностями (33 600 бит/с и ниже) выставление такой скорости порта может стать причиной ошибок.

На вкладке “Диагностика” необходимо отключить “Ведение журнала” – это избавит процессор от дополнительной нагрузки. В закладке “Дополнительные параметры связи” нужно установить регион “Россия” (в то же время некоторые модемы могут работать, только если выбрать “США”). Кнопка “Дополнительные параметры…” адресует вас в настройки буферов приема-передачи FIFO (не путать со “скользящим окном”).

Если мы хотим добиться большей скорости, размер данных буферов должен быть максимальным.
За кнопкой “Изменить умолчания…” скрываются настройки, представленные на рисунке. Желательно использовать его как образец – прежде всего это касается “Параметров подключения линии данных”. Важно, чтобы было включено сжатие и аппаратное управление потоком, требующее минимальных ресурсов системы. Дополнительные параметры связи оставляем без изменений.

Интересной также может быть функция задания строки инициализации модема вручную. Для этого нужно закрыть последнее настраиваемое окно и вернуться к предыдущему. Вверху видим строку с названием “Дополнительные команды инициализации”. У каждого модема есть протокол, по которому он работает, а также команды, которые он поддерживает. Эти команды используются для управления модемом с помощью операционной системы. И от того, как он инициализируется, будет зависеть и скорость устройства, и некоторые другие параметры.

Для каждого модема нужно подбирать свою строку, для этого надо поискать в интернете документацию по данному устройству. Кстати, если ваш модем можно перепрошить, то за выходом последних версий firmware тоже надо следить. Делается это с помощью специальной программы-прошивщика для конкретной модели устройства и, естественно, самого двоичного кода, записанного в виде файла.

Есть также так называемые прошивки отката, чтобы можно было вернуть все в прежнее состояние, если возникли проблемы. Для многих модемов существуют специальные программы настройки. Например, софт для модемов на чипе Rockwell можно найти по адресу www.rampitec.spb.ru/modem.htm.

Что касается протоколов, то для канала необходимо использовать PPP, для всего остального – стек протоколов TCP/IP. Должно быть включено сжатие заголовков IP, указан DNS-сервер (основной и резервный), отключен WINS и NetBIOS, если он есть в настройках. Все это делается в меню “Пуск” > “Настройка” > “Панель управления” > “Сетевые подключения” > свойства выбранного подключения > “Сеть”.

ИГРАЕМ БЫСТРО
Пришло время поговорить о тех самых играх, благодаря которым мы ссоримся с домашними, держим строгий пост (благословляются только чипсы, сухарики, семечки и пиво), игнорируем учебу/работу и культивируем в себе страсть к оружию, массовым убийствам и ненормативной лексике. Самыми популярными 3D-шутерами всех времен и народов по умолчанию считаются Counter-Strike (Half-Life) и Quake. Рассмотрим оптимизацию интернет-соединения для этих игр.

В последнее время благодаря популярности этих шутеров и большой заинтересованности в них всего прогрессивного человечества стали появляться специальные программы для оптимизации dial-up-соединения при игре с интернет-коллегами. Для CS можно скачать AntiPing (немного некорректное название, правильнее было бы AntiLag) по адресу money-home.narod.ru/antiping.rar. Это конфигурационный файл, который нужно скопировать в каталог, где установлена игра, и прописать в консоли соответствующую команду (описание на русском языке находится в том же архиве).

Подробное описание консольных команд и новых усовершенствований последнего патча к CS можно посмотреть на сайте counter-sport.by.ru/netgame/netgame.shtml. Там же есть все cheat-коды и советы по оптимизации игры в интернете.

Для Quake 3 Arena также выпущено много утилит, с помощью которых можно повысить производительность (и не только интернет-соединения). Самой популярной на сегодняшний день является программа Q3A – Total Control v0.6. Скачать ее можно по адресу planetquake.com/borderfield. При инсталляции программа сама находит установленную версию Quake 3 Arena. Далее запускаем утилиту и в меню Tools > Dial-Up Optimizer видим окно, показанное на скриншоте.

Как видим, тут есть все описанные нами параметры, значение которых предполагалось изменять вручную.

Существует масса способов и подходов к оптимизации интернет-соединения для игры по сети. Это и использование специальных программ, которые вручную либо автоматически выставляют нужные значения параметров связи, и переделка реестра под вашу операционную систему и канал интернета посредством утилиты regedit.exe, и изменение двух-трех основных ключей реестра. И не забудьте вовремя произвести экспорт реестра.