Книга построена в стиле "вопрос ответ". Ответы бывают двух видов

Вид материалаКнига
Провайдер и удаленный доступ
Описание утилиты MTUSpeed
Black Hole Detect
Родственные вопросы
A: Описание утилиты MTUSpeed
Оптимизация соединения с Интернет
Закладка MTU
RWIN), размер сегмента данных пакета, равный размеру пакета за вычетом длины заголовка (MSS
Side the Track bar to change RWIN
Закладка Registry и кнопки Base Setting, Optimum Setting…
Закладка Utilities и подбор оптимального MTU
Рисунок 3 Рис. 0x01D Определение максимального размера не фрагментируемого пакета по скорости его доставки
Test MTU Value
Рисунок 4 Рис. 0x01C Назначение опций закладки "Utilities"
Закладка Modem
Re-Read Modem Data from Registry
Рисунок 6 Рис. 0x01E Назначение опций закладки Modem
Q: При чтение некоторых сайтов выскакивает ошибка "TTL bug". Как с ней бороться?
Оптимизация соединения с Интернет
Q:Какие существуют способы ускорения загрузки информации из Интернет и обзор программ для этого предназначенных. Сергей Иванов
...
Полное содержание
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   28

Провайдер и удаленный доступ



"Власть - палка о двух концах"

Френк Херберт "Дюна"

A:Оптимизация соединения с Интернет


Повременная оплата соединения с Интернет горячо любима всеми нерадивыми провайдерами, кривые руки которых не могут как следует отстроить свое хозяйство и обеспечить надлежащую скорость обменабыструю связь. Клиент получает меньшее количество информации за то же время и в результате дольше торчит в Сети. А время – деньги. В самом, что ни на есть прямом смысле этого слова. Вот, если бы оплата шла за каждый скаченный мегабайт – будьте покойны – все бы летало как реактивный бомбардировщик с ракетой класса "Буш – Садам Хусейн", но многие ли провайдеры поддерживают такой тарифный план?

Ладно бы, все заключения ограничивались одной скоростью (в смысле полным отсутствуем таковой). Так нет же – соединение может быть нестабильным, часто обрываться, а то и не работать совсем – некоторые сайты могут не грузиться, ругаясь на загадочную ошибку "TTL Bug", закачка по ftp может вообще не "фэтэпить"… да разве ж перечислишь все злоключения, терзающие интернетчика!

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


???? Рисунок "карикатура" Изобразить провайдера в виде спрута (щупальца – коммуникации), удушающего своими щупальцами пользователей.


Впрочем, в клинических случаях стоит задуматься о поиске провайдера в соседнем городе. Как ни парадоксально, но даже с учетом междугородней оплаты за телефон, иногда это выходит в несколько раз дешевле. Правда-правда! Именно так и приходиться поступать автору этой книги.

Менее радикальная мера – настроить параметры TCP/IP соединения на максимальную производительность, что дает прирост скорости обмена от 30% до 200% и избавляет от большей части разрывов. Остаются лишь фатальные сбои и зависания самого провайдера, побороть которые с клиентской стороны принципиально невозможно.

Существует множество программ, например, MTUSpeed (-net.com/download.php), (см. " Описание утилиты MTUSpeed") как раз и предназначенных для этой цели. Одна беда – ни одна из них не работает в полностью автоматическом режиме – все они всего лишь оболочки над системным реестром Windows, – так сказать, комфортный инструмент внесения в него изменений. Но легко сказать "вносить"! А как? Множество малопонятных и ничего не говорящих параметров, порой вообще без каких либо пояснений. Попытки же разобраться во всем "методом тыка" скорее еще больше снизят скорость, чем ее увеличат. Тут без хорошего руководства не обойтись!

Первое, чем мы займемся, – попытаемся устранить разрывы TCP-соединений (не путать с разрывами модемных соединений!). Они довольно многочисленны и разнообразны, а причинной их возникновения может быть и провайдер, и один из маршрутизаторов в длинной цепочке передачи пакетов, и сам удаленный сервер, с которым, собственно, и установлено соединение, и… да мало ли еще кто!

Начнем с провайдера. Итак, представим себе следующую картину (маслом по дереву): модем не бросает трубку, но все установленные соединения вдруг обрываются и после этого ни к одному серверу подключиться не удается. Положение спасает лишь реконнект – отключение от Интернет и повторный заход вновь. Мало того, что это медленно, да к тому же есть риск, нарваться на глухую "бизю" – если что освободившийся телефонный номер мгновенно в это время займет другой клиент (особенно если у провайдера острый недостаток входных номеров). В зависимости от кривости и нагрузки сервера такие разрывы могут происходить и эпизодически, и по несколько раз в час, а то и в даже каждую минуту, представляя собой настоящую превращая работу с Интернетом в настоящую пытку.

Причина их возникновенияПричина разрывов, скорее всего в том, что у провайдера неправильно настроен DHCP-сервер. Тот самый, что выдает пользователям IP-адреса. Как и любой собственник, он выдает отдает их не на совсем, а на некоторое, под час весьма непродолжительное, время. Если клиент (точнее его операционная система) по каким-то там причинам (сеть тормознула, крыша поехала, пакет кто-то прибил) не успеет продлить срок аренды, его IP-адрес будет безжалостно отнят. А? когда же наконец, клиент наконец "проснется" и пошлет петицию DHCP-серверу, тот смилостивится и отпустит с барского плеча еще один IP-адрес, типа, на, пользуйся на здоровье! И вроде бы все ничего, да вот не понимает "народная" Windows 95\98 таких извращений! Она ожидает получения IP-адреса всего лишь один раз – на стадии подключения к провайдеру.

Вернее, Получить-то IP-адрес она получает, но вот включить его в таблицу маршрутизации "забывает" и ни один отправляемый пакет не может уйти дальше своего компьютера. Приходится, взяв инициативу в свои руки, исправлять положение самостоятельно.

Прежде необходимо в сеансе MS-DOS запустить утилиту ipconfig (входит в штатную поставку Windows) и посмотреть какой у нас IP-адрес. Если он выглядит как "0.0.0.0" – значит, DHCP-сервер флиртует с операционной системой (в смысле – висит глухо). Если же IP равен "127.0.0.1", – сети напрочь нет и тут что-то серьезное. А вот любое другое значение указывает на верный IP-адрес который необходимо добавить в голову таблицы маршрутизации, передав его утилите route из штатной поставки Windows следующим образом: "route.exe ADD 0.0.0.0 MASK 0.0.0.0 Ваш IP METRIC 1". Попробуйте установить соединение с каким-нибудь сервером – теперь все должно заработать.

Работает? Вот и славненько! Однако восстановить соединение без реконнекта – это только полдела. Хорошо бы устранить и причину этих разрывов – ведь не все же сервера поддерживают докачку и частые разрывы создают большие проблемы (см. "Получение файлов  Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"…").

В идеальном случае следовало бы взять провайдера за ухо и с помощь дяди прокурора ткнуть носом в DCHP-сервер, объясняя ему, что клиент не должен оплачивать некомпетентность инженерного персонала поставщика сетевых услуг за свой счет. Да только в нашей стране такой прием вряд ли возымеет действие… Приходится выкручиваться самостоятельно, но на клиентской стороне очень мало что можно сделать, да и то только программистам. Единственное, доступное "простым смертным" решение, – перейти на Windows 2000 - с этой проблемой она справляется на раз!


??? Рисунок "карикатура" Милиционер держит провайдера за ухо одной рукой, а другой рукой показывает на сервер. Вокруг стоят пользователи, по лицам которых видно, что одобряют такое развитие событий.


Второй по счету источник неприятностей – эта пресловутая ошибка "TTL bug", приводящая к невозможности установки соединения. Дело в том, что во избежание засорения сети "Летучими Голландцами", то есть, попросту говоря, зацикленными пакетами, каждый из них имеет ограниченный срок существования, указанный в заголовке и измеряемый количеством промежуточных узлов, которые может посетить пакет. Если пакет не будет доставлен за это время, он "прибивается" очередным маршрутизатором c посылкой отправителю соответствующего "похоронного" уведомления.

Чем больше транзитных узлов расположено между отправителем и получателем, тем дольше пакеты добираются из одного конца в другой. К счастью, время жизни пакета (аббревиатура TTL так и расшифровывается Time To Live – время жизни) очень легко изменить, – запустите Редактор Реестра, предварительно зарезервировав сам реестр, и откройте ветвь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultTTL для ОС Windows NT\2000 и HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\DefaultTTL для Windows 9x - она-то и управляет сроком жизни пакетов. По умолчанию он равен 32 узлам, но, как показывает практика, в некоторых случаях этого явно недостаточно и стоит увеличить его по крайней мере вдвое. (Можно и больше – но от этого лучше не станет, хотя и хуже – тоже). После внесения изменений в реестр следует перезагрузится, заново войти в сеть и проверить – возымело ли это какое-то действие.

Возымело? Так… соединение с ftp-сервером установить удается, но вот закачка не работает, хоть убей – сколько ни жди, а индикатор прогресса издевательски остается на нуле процентов. Абыдно, понимаешь! Что ж, будем лечить! Попробуйте для начала включить опцию с интригующим названием Распознавание Черной Дыры – "Black Hole Detect".

Зачем она нужна? А вот зачем – хитрая Windows, стремясь увеличить скорость передачи данных, пытается вычислить максимальный размер пакета, который бы обрабатывался пересылающими его маршрутизаторами без разрезания. Разрезание (или, говоря профессиональным языком, фрагментация) ощутимо снижает скорость соединения, особенно если пакет дробится на две неравные половины. Например, путь компьютер клиента пытается передать пакет размером в 576 байт, но один из маршрутизаторов в цепочке "умеет считать" только до 512, и разрезает пакет на два, причем во второй попадает "хвостик" из 64 байт, плюс… заголовок, занимающий от 40 и более байт. В итоге – КПД второго пакета составит всего лишь 50%, что очень нехорошо!

Если Windows видит, что избежать фрагментации не удастся, она уменьшает размер пакета так, чтобы он без проблем прошел сквозь все маршрутизаторы одним куском. Но не проще было бы сразу задать минимальный размер? Нет, и вот почему – чем меньше пакет, тем выше накладные расходы на его пересылку (заголовок тоже ведь занимает место) и тем больше пакетов требуется переслать для передачи того же объема информации.

Умение Windows подбирать максимальный размер не фрагментируемого пакета всем хорошо, да вот беда – не всегда это работает. Некоторые, не слишком демократичные маршрутизаторы, получив слишком длинный (по их мнению) пакет с пометкой "не фрагментировать", прибивают его на месте безо всяких уведомлений! Windows же, не подозревая, что посланный ею пакет погиб, ждет отклика от сервера. Долго ждет… А затем, там и не дождавшись, вновь посылает тот же самый пакет. И все повторяется! Вот этот-то недемократичный маршрутизатор и называется "Черной дырой"!

Включение опции " Black Hole Detect" активирует хитроумный алгоритм распознания "Черных Дыр" для обхода их стороной. Но за все приходится платить, и такое детектирование несколько снижает общую производительность. Несильно – но все ж таки! Поэтому прибегать к нему следует только в крайних случаях – когда действительно что-то не работает – соединение есть, а трансфер (передача данных) на нуле.

Запустите "Редактор Реестра" и откройте ветвь HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP для Windows 95\98 и HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters для Windows NT\2000. Найдите или при необходимости создайте двоичный параметр PMTUBlackHoleDetect для Windows 95\98 и EnablePMTUBHDetect для Windows NT\2000. Теперь присвойте ему значение "1" и перезагрузитесь.

Что? Все равно не работает? Хм… Боги, боги, зачем вы так несправедливы?! Ничего не остается, как расстаться с надеждой пересылки пакетов максимального размера и перейти на размер, обязательный (ну, формально обязательный) для всех маршрутизаторов – 576 байт. Для этого в той же самой ветке реестра найдите (создайте) двоичный параметр PMTUDiscovery для Windows 95\98, а для Windows NT\2000 – EnablePMTUDiscovery и присвойте ему значение "0". Перезагрузитесь. Ну, Должно же это, наконец, заработать!

Кстати, с типом двух этих ключей творится что-то непонятное. Документация от Microsoft утверждает, что он (тип в смысле) должен представлять собой двойное слово, то бишь, по-английски DWORD. Однако у автора под Windows 2000 закачка по ftp начинает работать только после создания указанных ключей типа одиночного слова (WORD), а DWORD-ключи операционная система упорно игнорирует. Мистика какая-то…

Теперь поговорим об оптимизации соединения. Оптимизация – дело непростое. Это не то, что работает система или нет. Работать-то она работает, вот только как? Тривиальным измерением скорости скачиваемого файла ничего выяснить не удастся. График скорости только в исключительных случаях (и на хороших каналах) представляется прямой линией. Гораздо чаще он напоминает трассу Урюпинск – Ханты-Мансийск: сплошные бугры, колдобины, ямы, словом, крайне испещренная местность. Говорить о средней скорости можно только в переносном смысле, тем паче, что она может сильно варьироваться в зависимости от времени суток, сервера, с которым установлено соединение, количества осадков, выпавших в Африке, да мало ли еще от чего!

До начала экспериментов потребуется собрать статистику работы сети за некоторое время, скажем за неделю. В этом поможет программа Net Medic (www.download.ru) или любая другая, аналогичная ей. Затем, после внесения изменений в настройки системы, собирается другая статистика, опять-таки на протяжении семи - десяти дней, и сравнивается с предыдущей – изменилось ли что и если да, то в какую сторону?

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

Первым делом необходимо указать Windows, что требуется использовать не максимально возможный, а заранее оговоренный размер пакета. Для этого установите значение ключа PMTUDiscovery (EnablePMTUDiscovery) в ноль. Затем задайте желаемый размер пакета. По умолчанию он равен 576 байтам – это значение по стандарту должны поддерживать все маршрутизаторы, да только кто эти стандарты соблюдает? Вот и встречаются узлы, обрабатывающие пакеты размером не более 512, 522, 556,… байт. В принципе, можно поставить 500 и не мучаться проблемой выбора, но так неинтересно. Разве не заманчиво методичным подбором байтов оптимизировать соединение до конца?

Размер пакетов для Windows 95\98 задается ключом MaxMTU, находящимся в той же самой ветке реестра, что и предыдущие ключи. С Windows NT\2000 посложнее, – чтобы выяснить местоположение ключа MTU необходимо определить идентификатор используемого адаптера. Перечень всех адаптеров компьютера содержится в ключе Adapters ветки HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters. Как правило, большинство персональных компьютеров обходятся лишь одним адаптером – контроллером удаленного доступа (нет, это не плата расширения, это драйвер такой) и буридановой проблемы выбора нужного идентификатора не стоит. Идентификатор же – это такое длинное малопонятное число, например, "{20692835-7194-467A-A2DC-0FAE23F0A70D}".

Запоминаем (записываем) его и открываем ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ИдентиификаторАдаптера\Parameters\Tcpip (В Windows 2000 – HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parameters\Tcpip\Interfaces\ИдентификаторАдаптера)

Среди прочего хлама здесь должен находится только что запомненный идентификатор адаптера, а в нем – ключ MTU, содержащий в себе максимальный размер пакета в байтах. Если такого ключа нет, его необходимо создать. Тип ключа MTU в обоих случаях соответствует двойному слову (DWORD).

Второй бастион оптимизации – размер TCP-окна. Чем "шире" окно, тем выше производительность, но в то же время больше издержки на повторные пересылки: случись какой сбой – не до конца заполненное окно очиститься и придется его "набивать" с самого начала. К тому же баловство с неумеренно широкими окнами часто приводит к образованию заторов в сети – промежуточные узлы не успевают обрабатывать сыплющийся на них поток пактов и все начинает жутко тормозить. Причем не только у виновника несчастья, но и у других ни в чем не повинных пользователей.

Ширина TCP-окна должна быть кратна размеру пакета за вычетом длины заголовка и превосходить его по крайне мере в четыре – шесть раз. В некоторых случаях наивысшая производительность достигается при ширине окна в 10х-12х (где х – размер пакета без заголовка, называемый так же "квиком"), а то и больше. Некоторые отчаянные головы пробуют даже большие значения и утверждают, что все работает "на ура!", но у автора такие значения не показывают чудес производительности, поэтому, подтвердить сказанное он не берется. Размер заголовка непостоянен и варьируется от 40 до 60 байт – не забываете об этом при поиске оптимальной ширины окна!

Для изменения размеров окна откройте ветвь реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP для Windows 95\98 и HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters для Windows NT\2000. Найдите или при необходимости создайте двоичный параметр (двойное слово, DWORD) DefaultRcvWindow для Windows 95\98 и TcpWindowSize для Windows NT\2000. Присвойте ему желаемое значение (например, "3680", если размер пакета, заданный ключом MTU равен 500 байт – (500 – 40) * 8 = 3/600) и перезагрузитесь.

Оцените, как изменилась скорость соединения. Если она возросла – увеличьте ширину окна еще на один квик (не байт!), если уменьшилась – сузьте окно, а если осталась без изменений, расширьте окно на пару квиков. Так, в конце – концов, будет найдено оптимальное значение. Интернет - гуру утверждают, что оптимум ширины окна зависит от загруженности провайдера и сильно колеблется в течение суток. При максимальной загруженности в "час пик" окно лучше прикрывать, оставляя лишь узкую щель (3х-4х), а ночью, когда все нормальные юзеры давно баиньки и канал полностью свободен, – широко распахивать обе створки (10x и выше). Никаких суточных вариаций у своих провайдеров автор не замечал, но готов поверить, что в некоторых случаях они могут иметь место и гуру не врут.

Помимо выше упомянутых опций, реестр Windows содержит множество других значений, относящихся к TCP/IP, но рассказывать о каждом из них было бы слишком утомительно, да и нецелесообразно – для этого пришлось бы написать отдельную книгу, страниц эдак на пятьсот.


Родственные вопросы:

Описание утилиты MTUSpeed (следующий)

У меня часто случается непонятный глюк….

Приложения  Исходный текст kf.bat

Получение файлов  Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"…


A: Описание утилиты MTUSpeed



Когда дзэнского наставника Бо-чжана спросили о том, как он представляет себе поиски природы Будды, он ответил: "Это похоже на то, как если бы кто-то ездил на быке в поисках этого быка.


Неспециалистам тонкую настройку TCP/IP-параметров (см. " Оптимизация соединения с Интернет") удобнее выполнять не "Редактором Реестра", а какой-нибудь специальной утилитой с более дружелюбным интерфейсом.

Одной из таких утилит и является MTUSpeed, бесплатная копия которой может быть скачена со следующего сайта: -net.com/download.php. Она хорошо себя "чувствует" под всеми операционными системами семейства Microsoft Windows – Windows 95, Windows 98, Windows NT, Windows 2000, Windows Me, исключая лишь архаичную Windows 3.11 и более ранние версии (в них TCP/IP реализован по-другому).

Под Windows NT и Windows 2000 MTUSpeed требует для своего запуска прав администратора, в противном случае сообщает о критической ошибке, отказываясь работать даже в режиме просмотра параметров без их модификации.

Закладка MTU


При успешном старте утилиты автоматически открывается закладка "MTU" (см. рис. 1), в верхней части которой находится ниспадающий бокс, обеспечивающий выбор настраиваемого адаптера. Если на компьютере не установлено ни одной сетевой карты, в списке будет перечислен всего лишь один адаптер – "Контроллер удаленного доступа" ("Dial-Up Adapter" в английской версии Windows). Именно он "отвечает" за модемное соединение с провайдером.

Строкой ниже приводится текущее значение MTU (максимально допустимый размер одного пакета). Если оно равно нулю, подходящий размер пакета вычисляется самой Windows. (Выбор режима задается во вкладке "Registry").

Еще ниже, в окне, для красоты обведенном рамочкой, приводится размер TCP-окна с комментариями: сообщается размер окна в байтах ( RWIN), размер сегмента данных пакета, равный размеру пакета за вычетом длины заголовка (MSS) и множитель (Multiplier), задающий размер окна в пакетах.

Значение множителя может быть изменено перемещением ползунка " Side the Track bar to change RWIN". Если ползунок заблокирован, значит, Windows использует размер окна по умолчанию. Для задания его значения вручную переместите радио кнопку "RWIN" закладки "Registry" в положение "Enable".





Рисунок 1 Рис 0x01A Назначение опций закладки MTU

Закладка Registry и кнопки Base Setting, Optimum Setting…


Вкладка "Registry" (см. рис. 2) управляет основными ключами реестра, ответственными за настройку TCP/IP-соединения. Радио кнопки могут находиться в одном из трех положений: "Enable" – параметр задействован (включен), "Disable" – параметр заблокирован (выключен) и "Remove" – данный ключ реестра удален, система использует значение по умолчанию.

Ключ "MTU", будучи установленный в положение "Enable", приводит к возможности ручного задания значения MTU – максимального размера пакета: щелкните по кнопке "Change MTU" и введите желаемое значение от 512 до 1500 (При этом ключ "PMTUDiscovery" должен находится в положении "Disable"). Оптимальное значение поможет подобрать утилита ping, вызываемая из вкладки "Utilities" (см. "Закладка Utilities").

Ключ "RWIN", будучи установленный в положение "Enable", приводит к возможности ручного задания размера TCP-окна, с помощью одноименного бегунка, находящегося во вкладке "MTU".

Ключ "PMTUDiscovery", будучи установленный в положение "Enabled", заставляет систему самостоятельно определять оптимальный размер пакетов. При этом значение MTU, заданное вручную, будет игнорироваться. Использование режима автоматического определения размера пакетов несколько снижает скорость обмена данных и порой приводит к проблемам (например, может не работать закачка по ftp или отправка электронной почты), поэтому его использование не всегда желательно. Положение "Disable" приводит к использованию размера пакетов по умолчанию (1500 для Windows 95 и 576 для остальных систем) либо же размеру, заданному пользователем (если пользователь задал свой размер). Наконец, положение "Remove" задействует режим по умолчанию – Windows 9x в этом случае использует фиксированный размер пакетов, а Windows 2000 – определяет его автоматически.

Ключ "PMTUBHDetect", будучи установленный в положение "Enable", активирует специальный алгоритм обнаружения Черных Дыр (подробнее об этом см. "Оптимизация соединения с Интернет"). Распознавание Черных Дыр имеет смысл только для режима автоматического определения размера пактов (ключ "PMTUDiscovery" находится в положении "Enable") и несколько снижает скорость. Поэтому, использовать его следует только в том случае, если есть явные проблемы – не работает закачка по ftp или не уходит почта. Положения "Disable" и "Remove" отключают алгоритм обнаружения Черных Дыр.

Ключ "Time To Live Active" будучи установленный в положение "Enable" приводит к возможности ручного задания продолжительности жизни отсылаемых пакетов, т.е. указывает какое максимальное количество промежуточных узлов может посетить пакет, прежде, чем будет уничтожен. Коррекция значения параметра TTL имеет смысл только при возникновении ошибки "TTL bug" и не влияет на производительность соединения. Положение "Disable" приводит к использованию срока жизни по умолчанию – 32.

Если разрешено ручное задание срока жизни пакетов, то следующий ключ "Time To Live – Hoops" задает значение максимального количества промежуточных узлов, которые может посетить пакет. Каждый узел, передавая пакет другому, уменьшает значение TTL на единицу и, когда оно окажется равным нулю, пакет уничтожается с посылкой отправителю соответствующего уведомления (или в некоторых, достаточно редких, случаях без посылки такового). Если пакет умирает, не доходя до такого-то сервера, – увеличьте значение TTL – это должно помочь.

Ключ "NDI Cache Size" задает размер кэша, запоминающего исходный маршрут пакета в локальных сетях типа Token-Ring, и никак не влияет на производительность Интернет соединений. Хотя, ходят устойчивые слухи, дескать, данный параметр позволяет увеличить скорость обмена, – это только слухи не более того.

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

Базовый шаблон вызывается нажатием кнопки "Base Setting". Все TCP-установки остаются в положении в умолчанию, но разрешается ручное задание MTU – максимального размера пакетов. Вот только не факт, что заданное значение будет использоваться системой. Windows 2000 в конфигурации по умолчанию всегда стремится подбирать оптимальный размер пакетов, игнорируя пользовательские настройки, а для использования значения MTU, установленного вручную, необходимо переместить ключ "PMTUDiscovery" в положение "Disable", чего базовый шаблон не делает. Впрочем, к слову сказать, в Windows 9x все работает успешно, т.к. она не занимается подбором размера пактов по умолчанию.

Оптимальный шаблон вызывается нажатием кнопки "Optimum Setting". Он насильно отключает алгоритм подбора пакетов, вырубает механизм распознавания Черных Дыр, разрешает ручную установку MTU и увеличивает срок жизни пакетов до 128 узлов. Такая конфигурация отвечает большинству требований, прекрасно "чувствует" себя как под Windows 9x, так и под Windows NT\2000, словом, не зря носит имя оптимальной.

Автоматическая настройка, напротив, запрещает ручное задание MTU и заставляет систему самостоятельно определять подходящий размер пакетов и распознавать Черные Дыры. Следует напомнить – автоматическое определение "съедает" часть ресурсов и не всегда увеличивает производительность.

Копка "Remove Setting" отменяет все ручные настройки (шаблоны) и возвращает значения по умолчанию.

Флажок "Apply same values to all keys", расположенный внизу, будучи взведенный, распространяет текущие настройки на все адаптеры. В подавляющем большинстве случаев взводить его не следует. Если на компьютере установлен только один адаптер – Dial-Up- драйвер ("Контроллер удаленного доступа" в русской версии Windows), распространить настройки на другие адаптеры невозможно ввиду отсутствия таковых. Если же компьютер снабжен одной или несколькими сетевыми картами, – настройка локальной сети по образу и подобию Интернет снизит ее производительность (стандартный размер TCP-пакета для Ethernet равен 1.500 байтам, против 576 для PPP).

Флажок "RWIN enabled by Basic and Optimum buttons", будучи взведенный, приводит к включению в базовый и оптимальный шаблоны возможности ручного задания размера TCP-окна. Поскольку, размер окна, принятый в системе по умолчанию, не всегда оказывается оптимальным и его коррекция способна увеличить скорость обмена данными до двухсот и более процентов, этот флажок имеет смысл взвести.

Внимание! Чтобы любые изменения настроек вступили в силу необходимо перед выходом из программы нажать кнопку "Update Registry", затем перезагрузиться и войти в сеть опять. Это относится в равной мере к параметрам, размещенным на закладках MTU и Registry, а так же ко всем трем шаблонам.





Рисунок 2 Рис 0х01B Назначение опций закладки Registry

Закладка Utilities и подбор оптимального MTU


Для ручного подбора значения MTU, недурно бы иметь какой-нибудь инструмент, позволяющий количественно оценить влияние размера пактов на производительность Интернет - соединения.

Один из таких инструментов – утилита ping из штатной поставки Windows, способная отправлять по указанному адресу пакет заданного размера с пометкой "Не фрагментировать". Если какой-тонибудь из промежуточных серверов не в состоянии обрабатывать пакеты такого размера, он возвращает отправителю уведомление о невозможности доставки пакета и ping выдает на экран что-то вроде: "Требуется фрагментация пакета, но установлен запрещающий флаг". Остается опытным путем найти наибольший допустимый размер пакета…

Вовсе не обязательно уменьшать размер пакета каждый раз на единицу – MTU по обыкновению принимает одно из следующих фиксированных значений: 65.535, 32.000, 17.914, 8.166, 4.464, .4352, 2.048, 2.002, 1.536, 1.500, 1.492, 1.006, 576, 544, 512, 508, 296,68, – жирным шрифтом выделены наиболее распространенные значения в Интернет.

Так, тысяча байт – проходит! Полторы тысячи – проходит?! Две тысячи – как, опять, проходит??!! Разумеется, нет! На самом деле сервер кривого провайдера (и попадаются же такие – к примеру, тот же krintel) игнорируя флаг запрета фрагментации, втихую разрезает отправляемый пакет на столько частей, на сколько сочтет нужным. Как же в этом случае определить подходящее значение MTU, разумеется, не меняя провайдера?

Методика подбора оптимального размера пактов в этом случае будет следующей – связавшись с некоторым сервером, отправляем ему пакеты все большего и большего размера, замеряя среднее время их пересылки. До тех пор, пока пакет в процессе своего путешествия не фрагментируется, время доставки увеличивается прямо пропорционально размеру. Но, стоит только превысить некоторую критическую величину, как один пакет разрезается на два и время доставки скачкообразно возрастает (см. рис. 3), поскольку на транспортировку двух пакетов уходит больше времени, чем на транспортировку одного.

Величина, отмеченная на графике стрелкой MaxMTU, и есть оптимальный размер пакетов для данной цепочки пересылки. Не факт, что оптимальный размер пакетов для одного маршрута окажется столь же оптимальным для всех остальных – это зависит от того через какие промежуточные узлы проходит пакет. Если какой-нибудь хотя бы один из них не поддерживает пакеты такого размера и разрезает их на два (а то и больше), скорость обмена данными существенно падает. Кроме того, маршрут путешествия пакетов даже к одному и тому же серверу зачастую непостоянен и выбирается динамически – порой два одновременно отправленных пакета доходят до цели назначения различными путями. Поэтому, подбор оптимального значения MaxMTU – очень непростое дело! Обязательно убедитесь, что выбранный размер пакетов удовлетворительно работает на всех основных маршрутах – т.е. остается оптимальным при соединении со всеми, или, по крайней мере, наиболее часто используемыми серверами.




К рисунку – график должен пересекать вертикальную ось не в нулевом значении, а несколько выше

Рисунок 3 Рис. 0x01D Определение максимального размера не фрагментируемого пакета по скорости его доставки


Разработчики утилиты MTUSpeed не предусмотрели никакой автоматической обработки полученных данных и все вычисления приходится выполнять вручную. Собственно, MTUSpeed не делает ничего, только вызывает ping, передавая ему размер пакета и адрес сервера для соединения.

Впрочем, кое-что она все-таки вычисляет – автоматический пересчитывает размер посылаемых утилитой ping пакетов в значение MTU, вычитая из него 28 байт ICMP-заголовка. В поле "MTU value to set" (см. рис. 4) вводится полный размер пакета в байтах, а в поле "Name or IP of Host to ping" – IP-адрес или имя сервера для соединения. Внимание: изменения системных настроек при этом не происходит – указанный размер MTU влияет лишь на размер тестовых пакетов! Никакие значения не могут испортить реестр или ухудшить производительность Интернет - соединения! – экспериментируйте без опаски!

Нажатие кнопки " Test MTU Value" запускает консольную утилиту ping в отдельном окне (см. рис. 5). Если окно самопроизвольно закрывается по завершению работы, взведите флажок – "Check this box if the ping windows closes too soon" или измените свойства ярлыка "MS-DOS", сбросив галочку "Закрывать окно по завершению работы".





Рисунок 4 Рис. 0x01C Назначение опций закладки "Utilities"


По умолчанию утилита ping посылает четыре пакета, сообщая время доставки каждого из них. В зависимости от стабильности соединения и степени загрузки канала скорость обмена не остается постоянной, а "плавает", под час настолько значительно, поэтому что время доставки пакетов может отличаться в несколько раз! Это осложняет подбор оптимального размера пактов, поскольку становится неясно чем вызвано изменение производительности – фрагментацией пакетов или тормозами промежуточных серверов.

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

У автора увеличение размера пактов с 576 байт до 577 байт (всего лишь на один байт!) снизило скорость обмена данными на 20%! Не бог весть какая величина, но все ж таки – копейка доллар бережет!





Рисунок 5 Рис. 0x019 Подбор MaxMTU при кривом провайдере

Закладка Modem


Закладка Modem позволяет задать строку инициализации модема. К ней приходится прибегать, когда настройки по умолчанию не устраивают или специфика телефонной линии требует специфической конфигурации модема (см. "Модемы  Как подобрать правильную строку инициализации или что делать, если модем не работает?").

Ниспадающий бокс "Current Modem" (см. рис. 6) позволяет выбирать настраиваемый модем из списка в том случае, если на компьютере установлено более одного модема (или один модем управляется несколькими драйверами – скажем, родным драйвером производителя и драйвером "Стандартный модем").

Окно редактирования "Current Init String" и задает искомую строку инициализации. Ее содержимое зависит от самого модема, условий его эксплуатации, особенностей телефонной линии и т.д., поэтому, универсальной строки инициализации на все случаи жизни не существует.

Кнопка " Re-Read Modem Data from Registry" перечитывает информацию о модемах из реестра (полезно, если реестр был в это время вручную или с помощью другой утилиты изменен), а кнопка "Write the Init String to the Registry" записывает введенную строку инициализации в реестр. Изменения возымеют действия в следующем сеансе работы с модемом.





Рисунок 6 Рис. 0x01E Назначение опций закладки Modem


Родственные вопросы:

Оптимизация соединения с Интернет

Интернет. Общие вопросы  Каково назначение ключей утилиты ping?

Модемы  Как подобрать правильную строку инициализации или что делать, если модем не работает?


Q: При чтение некоторых сайтов выскакивает ошибка "TTL bug". Как с ней бороться?


Запустите Редактор Реестра и откройте ветвь HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP для Windows 9x и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters для Windows NT\2000. Найдите там, а при необходимости создайте, строковой параметр "DefaultTTL" и присвойте ему значение "128".

Подробнее об этом см. " Оптимизация соединения с Интернет", так же "Описание утилиты MTUSpeed".


Родственные вопросы:

Описание утилиты MTUSpeed

Оптимизация соединения с Интернет


Q:Какие существуют способы ускорения загрузки информации из Интернет и обзор программ для этого предназначенных. Сергей Иванов


Все способы ускорения загрузки информации из Интернета можно разделить на три категории – кэшируюшие Proxy-сервера, оптимизаторы TCP/IP-соединений, и способы, специфичные для конкретных приложений.

::Proxy-сервера - скорость обмена со многими серверами заметно ниже скорости модемного соединения с провайдером, а то и вовсе близка к нулю. Порой огонек модема едва мигает, полумертвый индикатор прогресса почти не шевелится, а время – идет! А вместе с ним уходят и деньги. Кто виноват? – Какой-то из узлов перегружен и не успевает обслужить всех клиентов одновременно. В результате – каждый из них вынужден какое-то время бездействовать, томительно ожидая своей очереди.

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

Однако если удаленный сервер подсоединен к Интернету через низкоскоростное соединение (так, множество некоммерческих узлов для подключения к сети используют модем на жалкие 28-33 килобитод), то никакой Proxy не спасет положение, - удаленный сервер просто не обеспечит надлежащей скорости, особенно если на него наваляится толпа пользователей. Бесполезен Proxy-сервер и в том случае, если он перегружен или скорость соединения с ним не намного выше скорости соединения с остальными узлами Интернет. С серверами провайдера такое случается редко (на то провайдеры и ставят Proxy, чтобы они увеличивали скорость), но часто наблюдается при использовании бесплатных Proxy-серверов.

Впрочем, и такие сервера в некоторых ситуациях оказываются полезными, - большинство провайдеров (или провайдеров провайдера) не всегда обеспечивают оптимальное соединение между двумя узлами, и пакеты движутся обходным, порой очень длинным, путем, надолго застревая в узких проходах. Например, один из провайдеров автора, – krintel, – крайне паршиво соединяется с американскими серверами, но при подключении к некоторым японским и бельгийским сайтам демонстрирует чудеса производительности ("чудеса" – это порядка шестисот – восьмисот байт в секунду, что для пользователей krintel-а очень круто). Используя быстрый японский (или бельгийский) Proxy можно значительно увеличить скорость обмена и всеми остальными серверами мира, причем бесплатно! (см. "Интернет. Общие вопросы  Как заставить работать такое-то приложение через Proxy-сервер?")

Грамотный выбор Proxy-сервера способен повысить производительность Интернет – соединения в несколько раз!


::оптимизаторы TCP/IP соединений – "всего лишь" подгоняют сетевые настройки компьютера клиента под конкретного провайдера. Значения, прописанные в Windows по умолчанию, рассчитаны на быстрых провайдеров, и не оптимальны в условиях российских глубинок. Подробнее об этом см. "Оптимизация соединения с Интернет", "Описание утилиты MTUSpeed".

В зависимости от ситуации, оптимизация TCP/IP соединения дает прирост от 60% до 200%.


::способы, специфичные для конкретных приложений – помимо этого существует множество способ увеличения скорости, специфичных для конкретных приложений, например, для WEB актуальны "баннерорезки", блокирующие загрузку баннеров, для форумов и групп новостей – упаковка содержимого конференции перед отправкой и так далее – всего не перечислишь!


Родственные вопросы:

Описание утилиты MTUSpeed

Оптимизация соединения с Интернет

Интернет. Общие вопросы  Что такое Proxy-сервер и как с ним работать?

Интернет. Общие вопросы  Как заставить работать такое-то приложение через Proxy-сервер?


Q:Можно ли войти в Интернет, используя только командую строку?


Да, можно, но с некоторыми ограничениями. Штатная поставка Windows 9x содержит лишь GUI-шную утилиту удаленного доступа. Ее, в принципе, можно вызвать и из командной строки, но работать она будет все равно в графическом режиме. Напротив, поставка Windows NT\2000 включает в себя полноценное консольное приложение для удаленного доступа – rasdial, вообще не использующее графического интерфейса.

Windows 9x


::Способ 1 - создайте командный файл следующего содержания: "rundll32.exe rnaui.dll,RnaDial "Имя соединения"", где "Имя соединения" – название одного из соединений в папке "Удаленный доступ к сети". (см. рис. 7) Запустите этот файл и – все!





Рисунок 7 рис. 0x01F Вход в Интернет из командной строки

{К рисунку: подретушировать красную линию (окультурить стрелку и т.д)}


::Способ 2 – перетащите из папки "Сеть и удаленный доступ" иконку выбранного соединения на "Рабочий Стол" или в другую папку. В сеансе MS-DOS наберите команду "start Полное Имя Ярлыка Соединения, Включая Путь". Работает? Вот и ладненько!

Windows NT\2000


::Способ 1 – вызовете утилиту дозвона RasDial.exe, передав ей следующие аргументы в командной строке: имя соединения (см. папку "Сеть и удаленный доступ", а так же см. рис. 7), имя пользователя и пароль. Если вместо пароля указать символ звездочки, пароль будет запрошен утилитой самостоятельно в процессе установки соединения.

Пример использования: ' RasDial "Соединение с 4-42-22" kpnc mypassword'.


C:\>rasdial "Соединение с 4-24-22" kpnc mypassword

Установка связи с СОЕДИНЕНИЕ С 4-24-22...

Проверка имени и пароля пользователя...

Регистрация компьютера в сети...

Установлена связь с СОЕДИНЕНИЕ С 4-24-22.

Команда успешно завершена.


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

Для разрыва соединения повторно запустите утилиту RasDial с ключом /DISCONNECT, например, так: "RasDial /Disconnect". А для разрыва еще не установленного соединения (например, если модем не распознает сигнал занятости на линии – не входит в сеть, но и не кладет трубку) нажмите комбинацию клавиш <Ctrl-Break>.

Дополнительные параметры: утилита Гамарджоба! имеет ряд дополнительных параметров для специфической настройки. Подробнее о них можно прочитать в "Справке" Windows или встроенной помощи ("RasDial /?"). Здесь же достаточно упомянуть возможность временного изменения номера – бывает так, что провайдер сменил номер или добавил новый, но чтобы внести его в свойства соединения под Windows 2000 необходимо войти в систему с правами администратора, для чего требуется завершить текущий сеанс, а это не всегда приемлемо. Вот тут-то и поможет RasDial, вызванная с ключом /PHONE за которым идет новый телефонный номер, например, так: "RasDial "Соединение с 4-42-22" kpnc mypassword /PHONE 8w86-137-4-44-22".

::Способ 2 - под Windows NT\2000 удаленное соединение может быть установлено и с помощью запуска ярлыка удаленного доступа утилитой start (см. "Способ 2 для Windows 9x")


Родственные вопросы:

Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?


Q: Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?


При запуске удаленного подключения Windows запрашивает подтверждение правильности имени пользователя и пароля, что не всегда удобно, особенно если соединение устанавливаться из командной строки или пакетного файла. (см. "Можно ли войти в Интернет, используя только командную строку?", "Можно ли сделать так, чтобы компьютер дозванивался до провайдера в определенное время, забирал почту и разрывал связь?"). Если запрос подтверждения раздражает, его можно отключить.

Windows 9x


Откройте папку "Удаленный доступ к сети". В меню "Соединения" выберете пункт "Настройка" и в открывшемся диалоговом окне снимите галочки напротив пунктов "Запрос сведений перед набором номера" и "Запрос подтверждения после подключения". Все!

Windows 2000


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

Если вы используете несколько различных удаленных соединений – эту операцию придется проделать над каждым из них.


Родственные вопросы:

Можно ли войти в Интернет, используя только командную строку?

Можно ли сделать так, чтобы компьютер дозванивался до провайдера в определенное время, забирал почту и разрывал связь?


Q: Можно ли сделать так, чтобы компьютер дозванивался до провайдера в определенное время, забирал почту и разрывал связь?


Заставить компьютер связываться с провайдером в определенное время можно с помощью "Планировщика", входящего в штатную поставку Windows 98\2000. Кликните по иконке с часами и календарем, расположенной в правом нижнем углу – откроется окно "Назначение задания". Кликните по иконке "Добавить задание", затем укажите путь к ранее созданному командному файлу следующего содержания "start Ярлык Соединения с Интернет" (см. "Можно ли войти в Интернет, используя только командную строку" и "Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?"), а затем выберете необходимый сценарий расписания для запуска (см. рис. 8)

Для автоматического запуска почтового клиента добавьте его ярлык в папку "Автозагрузка" или создайте еще один сценарий Планировщика. Необходимо рассчитать время так, чтобы почтовый клиент запустился после того, как будет установлено соединение, на что требуется несколько минут.





Рисунок 8 Рис 0x020 Добавление нового задания Планировщика

{К рисунку – заменить синий фон на белый}


::Альтернативный вариант – заставьте почтового клиента самостоятельно устанавливать соединение с Интернет при запуске. Для этого в меню "Сервис" приложения "Outlook Express" выберите пункт "Параметры" и перейдите к закладке "Подключение". В "Телефонном соединении" сбросьте флажок "Спрашивать перед изменением номера соединения", и взведите "Разрывать связь после получения и отправки сообщений". В графе "Соединение с Интернетом" нажмите кнопку "Изменить" и в открывшемся диалоговом окне перейдите к вкладке "Подключение". В списке "Настройка удаленного доступа" выберите соединение, которое будет использоваться для подключения к сети и назначьте его соединением по умолчанию, нажав одноименную кнопку, расположенную справа внизу. Переместите радио кнопку в положение "Всегда использовать принятые по умолчанию".

Все! Теперь почтовый клиент, будучи запущенным, автоматически войдет в сеть, заберет всю накопившуюся к этому моменту почту и затем разорвет соединение. Запустить же почтового клиента в заданное время можно с помощью Планировщика, о чем было рассказано выше.


Родственные вопросы:

Можно ли войти в Интернет, используя только командную строку

Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?


Q: Я – провайдер. И я страдаю от необходимости объяснять каждому из своих клиентов как настроить удаленный доступ. Нельзя ли как ни будь автоматизировать этот процесс?


Откройте окно " Удаленного доступа к Сети", находящееся в "Панели управления". Левой клавишей мыши ухватитесь за иконку выбранного соединения и скопируйте ее в какую-нибудь папку или на "Рабочий Стол". Должен появиться новый файл с именем соединения и расширением "dun". Это текстовой файл, содержащий в себе основные настройки удаленного доступа, которые при необходимости могут быть легко изменены (см. "Каково назначение полей DUN-файла").

Остается только передать этот файл клиенту, от которого потребуется всего лишь кликнуть по нему мышем для запуска.


Родственные вопросы:

Каково назначение полей DUN-файла?


Q: Каково назначение полей DUN-файла?



Ниже приведен пример содержимого такого файла с краткими комментариями.


[Entry]

Entry_Name=Соединение ; название ключа реестра, хранящего имя и пароль пользвателя

; для входа в сеть. см. HKEY_CURRENT_USER\RemoteAccess\Addresses

Import_Name=Соединение ; название соединения – оно будет отображаться в заголовке

; диалогового окна звонилки

Multilink=no ; многоканальные подключения запрещены


[Phone]

Dial_As_Is=yes ; если "no" то использовать код страны и параметры связи

Phone_Number=56806 ; номер телефона для дозвона


[Device]

Type=modem ; устройство, использующееся для удаленного доступа

Name=Rockwell 33.6 DPF Ext ; название модема (как его определила Windows)

Settings_Size=108 ; количество байт строки установок

Settings=6C000xxxxxx0C : установки модема в бинарном виде


[Server]

Type=PPP ; протокол, использующийся для связи с провайдером

SW_Compress=yes ; даешь программное сжатие данных!

{В макете книги тут лишний перенос!!! Строка не соответствует комментарию!}

PW_Encrypt=no ; не требуется шифровать пароль

Network_Logon=yes ; да, входить в сеть

SW_Encrypt=no ; нет, трафик шифровать не надо

Negotiate_NetBEUI=no ; протоколу NetBEUI (связь между системами Windows) – нет!

Negotiate_IPX/SPX=no ; протоколу IPX/SPX (Novell Netware) – нет!

Negotiate_TCP/IP=yes ; протоколу TCP/IP (Internet Protocol) – да!


[TCP/IP] ; настройки протокола TCP/IP

Specify_IP_Address=no ; IP-адреса выдаются сервером, а не назначаются вручную

Specify_Server_Address=no ; адреса DNS выдаются сервером, а не назначаются вручную

IP_Header_Compress=yes ; сжатию заголовков IP-пакетов – да!

Gateway_On_Remote=yes ; использовать удаленный шлюз по умолчанию


Q: Что такое Интернет – пароль и зачем он нужен?


При заключении договора с провайдером среди прочих реквизитов вам в обязательном порядке присваивают имя пользователя (на жаргоне специалистов – логин) и пароль.

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

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

Серверу пароль необходим только для идентификации клиента – надо же убедиться, что клиент именно тот, за кого себя выдает! Конечно, такой способ слишком надежным не назовешь, – пароль-то можно и подслушать, и украсить, и угадать (см. "Безопасность  Чем я рискую, подсоединясь к Интернет") – но ничего лучшего до сих пор придумать не удалось.

Заботу об охране своих сетевых реквизитов провайдеры возлагают на клиентов – то есть, если у клиента пароль украдут и от души налазятся по Интернету за его счет, платить будет клиент!


Родственные вопросы:

Безопасность  Чем я рискую, подсоединясь к Интернет

Безопасность  Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?


Q: Какой программой можно вести учет времени, проведенного в Интернет


Программ, ведущих учет времени, проведенного в Интернет, – несметное множество и их легко найти на любом подходящем сервере, например, www.download.ru. Но, можно обойтись и подручными средствами штатной поставки Windows. К тому же, многие провайдеры предоставляют доступ к серверам статистики, содержащим информацию о текущем счете пользователя, времени проведенном в сети и т.д. Узнать если такой сервер или нет можно непосредственно у самого провайдера.

Windows 9x


Если в "Свойствах" модема ("Панель управления"  "Модем"  "Свойства") стоит галочка "Вести протокол для этого модема", то в каталоге %Windows% лежит файл "Имя Модема.log", содержащий подробную информацию обо всех сетевых сессиях – время входа, количество полученных и переданных байт, время разрыва соединения и т.д. Конечно, это неполноценное средство учета времени проведенного в сети, но зато хорошее средство убедиться, что сервер статистики провайдера, если таковой имеется (см. "Безопасность  Как узнать, что моим паролем пользуется кто-то еще?") не лжет и вашим паролем не пользуется никто другой.

Пример содержимого файла протокола с комментариями автора (комментарии находятся спереди комментируемых строк).


Файл C:\WINDOWS\ Rockwell 33.6 DPF External PnP.log


// 20 января 2001 года. Зима. Метель.

// На системных часах компьютера 10 часов 22 минуты 16 с копейками секунд

// Автор дважды щелкает по иконке удаленного доступа…

01-20-2001 10:22:16.72 - Rockwell 33.6 DPF External PnP in use.


// Тип модема - Rockwell 33.6 DPF External PnP

01-20-2001 10:22:16.73 - Modem type: Rockwell 33.6 DPF External PnP


// Путь к inf файлу, содержащим настройки модемов, в том числе и этого

// сам inf файл хранится в каталоге %Windows%\inf

01-20-2001 10:22:16.73 - Modem inf path: MDMMOD.INF


// секция в inf файле, хранящая настройки данного модема

01-20-2001 10:22:16.73 - Modem inf section: Modem2


// ???

01-20-2001 10:22:16.98 - 115200,N,8,1

01-20-2001 10:22:17.20 - 19200,N,8,1

01-20-2001 10:22:17.20 - 19200,N,8,1


// Система приступает к инициализации модема

01-20-2001 10:22:17.20 - Initializing modem.


// Система посылает модему команду AT (команда инициализации)

01-20-2001 10:22:17.20 - Send: AT

01-20-2001 10:22:17.20 - Recv: AT


// Модем о ответ говорит "ОК"

01-20-2001 10:22:17.20 - Recv: OK

01-20-2001 10:22:17.20 - Interpreted response: Ok


// Система настраивает регистры модема под конкретную телефонную линию

// (подробнее о регистрах – см ??? и инструкцию к модему)

01-20-2001 10:22:17.20 - Send: AT&FE0V1&C1&D2S95=47S0=0

01-20-2001 10:22:17.22 - Recv: AT&FE0V1&C1&D2S95=47S0=0


// Модем отвечает "ОК"

01-20-2001 10:22:17.23 - Recv: OK

01-20-2001 10:22:17.23 - Interpreted response: Ok


// Система продолжает настройку модема

01-20-2001 10:22:17.23 - Send: ATS7=60S30=0L2M1\N2%C3&K3B0N1X4


// Модем принимает настройку и говорит "ОК"

01-20-2001 10:22:17.25 - Recv: OK

01-20-2001 10:22:17.25 - Interpreted response: Ok


// Звоним провайдеру….

01-20-2001 10:22:17.25 - Dialing.

01-20-2001 10:22:17.25 - Send: ATDP;

01-20-2001 10:22:18.75 - Recv: OK

01-20-2001 10:22:18.75 - Interpreted response: Ok

01-20-2001 10:22:18.75 - Dialing.


// Система по какой-то причине не заносит номера в лог…

// по мотивам секретности что-ли?

01-20-2001 10:22:18.75 - Send: ATDP#W########


// Модем сообщает скорости соединения – 19.2000

01-20-2001 10:22:56.19 - Recv: CARRIER 19200

01-20-2001 10:22:56.19 - Interpreted response: Informative


// Модем сообщает используемый протокол LAP-M

01-20-2001 10:22:56.82 - Recv: PROTOCOL: LAP-M

01-20-2001 10:22:56.82 - Interpreted response: Informative


// Модем сообщает протокол компрессии – V.42BIS

01-20-2001 10:22:56.84 - Recv: COMPRESSION: V.42BIS

01-20-2001 10:22:56.84 - Interpreted response: Informative


// Модем подтверждает установку соединения на скорости 19200

01-20-2001 10:22:56.85 - Recv: CONNECT 19200/ARQ

01-20-2001 10:22:56.85 - Interpreted response: Connect


// Эта информация отображается при вызове диалога "свойства соединения",

// вызываемого двойным щелком по изображению модемного соединения на трее

01-20-2001 10:22:56.85 - Connection established at 19200bps.


// Аппаратной коррекции ошибок - да

01-20-2001 10:22:56.85 - Error-control on.


// Аппаратному сжатию данных - да

01-20-2001 10:22:56.85 - Data compression on.


// На часах 11 часов 02 минуты (прошло пол-часа)

// Удаленный модем бросил трубку (помехи на линии?)

01-20-2001 11:02:03.74 - Remote modem hung up.


// NO CARRIER!!! :-(

01-20-2001 11:02:04.30 - Recv: NO CARRIER

01-20-2001 11:02:04.30 - Interpreted response: No Carrier

01-20-2001 11:02:04.33 - Hanging up the modem.


// Система выполняет деиницилизацию модема

01-20-2001 11:02:04.33 - Send: ATH

01-20-2001 11:02:04.34 - Recv: OK

01-20-2001 11:02:04.34 - Interpreted response: Ok

01-20-2001 11:02:04.34 - 19200,N,8,1


// модем выдает статистику сессии

01-20-2001 11:02:04.38 - Session Statistics:


// Получено 3.571.678 байт

01-20-2001 11:02:04.38 - Reads : 3571678 bytes


// Передано 400.046 байт

01-20-2001 11:02:04.38 - Writes: 400046 bytes


// Удаленное соединение закрыто

01-20-2001 11:02:04.38 - Rockwell 33.6 DPF External PnP closed.

Windows NT\2000


Система Windows NT\2000 так же ведет протоколирование всех удаленных подключений к сети. Получить к ним доступ можно из Папки "Администрирование" ::"Панель управления"  "Администрирование"  "Просмотр событий"  "Журнал системы". В длинной-предлинной простыне списка событий появится перечень всех замечаний системы. Чтобы просматривать только уведомления, относящиеся к удаленному доступу, в меню "Вид" выберите пункт "Фильтр", далее в открывшемся диалоговом окне найдите комбинированный бокс "Источник события" и выберите в нем "Remote Access".

Появится перечень уведомлений о времени установления и разрывов удаленных соединений. Дополнительных данные можно получить из пункта "Свойства" контекстного меню, вызываемого нажатием правой клавиши мыши на интересующем уведомлении. (см. рис. 9)





{К рисунку – заменить синий фон на белый}

Рисунок 9 Рис 0x021 Получение статистики модемных подключений в Windows 2000


Родственные вопросы:

Безопасность  Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?

Программа учета времени проведенного в Интернет показывала что еще остается десяток-другой минут, а провайдер утверждает, что мое время кончилось! Как же так?


Q: Программа учета времени проведенного в Интернет показывала что еще остается десяток-другой минут, а провайдер утверждает, что мое время кончилось! Как же так?


Большинство программ учета времени, поведенного в Интернет, отчитывают его с момента входа в сеть, тогда как провайдер – с момента передачи пароля пользователя (хотя возможны вариации). Эти два события разделяют всего несколько секунд (или около того), но при многократных входах в сеть ошибки измерений постепенно накапливаются и программа учета начинает врать. Не сильно, но все-таки до последней минуты на нее полагаться не стоит.


??? Рисунок "карикатура" – человек с мордой типа "тяпка" стоит перед уходящем поедом. Он смотрит на привокзальные часы. Он смотрит на свои часы – последние отстают на несколько минут.


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