Оптимизация модемного соединения с Интернетом в Windows 9x
MTU, MSS, NDI, TCP, IP, BLA-BLA-BLA…

Пока цивилизованный мир вовсю осваивает Интернет, используя широкополосный доступ всё ширше посредством выделенных линий, всевозможных кабельных модемов, ISDN, ADSL и прочих непонятных нашему пользователю прибамбасов, мы с вами довольствуемся дешёвой и доступной (пока не ввели повременку) модемной связью, не забывая периодически ругать её за плохое качество и низкую скорость передачи данных.

Однако на сегодня грамотным пользователям достаточно хорошо известно, что иногда удаётся заметно ускорить свою работу с Интернетом, если удачно настроить некоторые слабо документированные параметры операционной системы Windows 9x. То, что при настройке соединения с интернет-провайдером надо первым же делом выставить параметры протокола TCP/IP, стало уже догмой, и многие даже не задумываются, насколько общепринятые настройки подходят именно для их конкретного соединения. Тем более что при этом совершенно не нужно обладать какими-то особыми знаниями — программ, предназначенных для автоматического внесения в реестр Windows всех необходимых изменений настолько много, что создаётся впечатление, будто все начинающие программисты набираются опыта именно на «ускорителях Интернета».

А между тем слепо изменяя установленные в Windows по умолчанию значения на среднестатистические, следуя советам, почерпнутым из разных, порой сомнительных источников, вы можете с равной вероятностью как улучшить скорость прокачки файлов, так и ухудшить её. Точно так же и оставив в покое настройки ОС, вы в ряде случаев будете зря терять время и деньги, не используя по максимуму свой Интернет-доступ. Что же это за таинственные параметры, и каким образом следует выбирать наиболее оптимальные в каждом конкретном случае значения?

MTU

Первым делом, конечно же, надо разобраться с давно навязшим в зубах параметром MTUMaximum Transmission Unit. В реестре он задаётся таким образом:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\000х
"MaxMTU"="1500"

Это максимальный размер пакета данных, который может быть передан за один физический кадр по протоколу TCP/IP. Дело в том, что данные от компьютера к компьютеру в Интернете идут не сплошным потоком, а этими самыми кадрами — пакетами строго определённого размера. Если бы все компании и фирмы, имеющие какое-то касательство к Интернету, договорились о едином стандарте на размер этих пакетов, то мы бы использовали каждый такой кадр по максимуму, полностью заполняя каналы передачи данных своими битами. Однако, это не так. Мало того, что при установке нового соединения два удалённых компьютера должны согласовать между собой размер кадра, так ещё и по пути к месту назначения пакет преодолевает целый ряд промежуточных серверов и маршрутизаторов, настройки MTU которых могут быть совершенно различными. При этом слишком большой пакет в пути, скорее всего, будет фрагментироваться и заполняться «воздухом», «балластом», что негативно скажется на эффективности связи. Так, если ваш провайдер имеет установки MTU=576, а у вас в Windows задано MTU=1500, то каждый ваш пакет будет им разбиваться на три по 576 байт: 576+576+576=1728 — то есть, 228 байт балласта будут добавляться к каждому вашему пакету. Но даже если провайдер тоже имеет MTU=1500, то при связи с удалённым сервером вполне может попасться маршрутизатор с меньшим значением MTU, и пакеты опять-таки будут фрагментироваться, замедляя передачу данных. Несколько спасает ситуацию включённая в «Виндах» по умолчанию функция автоматического определения MTU — «PMTU Discovery» или, как её иногда называют — «MTU Auto Discovery», однако процедура вычисления MTU для каждого соединения требует немало времени, что чуть тормозит работу при прокачке небольших файлов и веб-серфинге. Да и в случае несогласования ваших параметров с параметрами провайдера эта функция вряд ли вам поможет. Конечно, существуют некие более-менее общепринятые стандарты для данного параметра, так, например, для Ethernet MTU = 1500 байт, для SLIP — 1006, для PPPoE -1492, для PPP, то есть модемной связи с Интернетом — 576. Но на деле ваш провайдер может выбрать отличное от этих значений число, исходя из того, что ему это по каким-то причинам удобнее. Мы же в результате либо не загружаем свой канал связи полностью, отправляя кадры меньшего размера, чем это позволяет провайдер и часто посещаемые серверы, либо наоборот, наши установки превышают необходимое значение, и большие пакеты идут фрагментированными, что ещё более снижает возможности линии связи.

Каждый такой пакет данных в действительности состоит из нескольких сегментов — заголовка и фактических данных. Та его часть, в которой содержатся только фактические данные, называется MSS (Maximum Segment Size) — это ещё один параметр протокола TCP, определяющий самый большой сегмент данных TCP, которые могут быть переданы за один раз. То есть, MTU = MSS + заголовки TCP/IP. В реестре MSS задаётся так:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
"DefaultMSS"="ваше число"

Для заголовка тоже имеется общепринятый размер — это 40 байт (20 байт IP и 20 байт TCP), следовательно, обычно MSS = MTU - 40. По этой причине в определении оптимального размера MTU есть некоторые тонкости.

Давайте изучим передачу данных при разном размере MTU по широкополосной линии T1 (пропускная способность T1=1544000 bits/sec), используя следующую формулу: [( MSS + заголовок ) * 8 битов/байт] / [1544000 бит/sec] = задержка на один хоп (то есть на каждый компьютер в Сети по пути нашего пакета). Используя в этой формуле разные величины MTU, мы можем вычислить задержку одного пакета. Если MTU = 1500, тогда: (1460+40) * 8 / 1544000 = 0.7772 ms. Если же MTU = 576, то: (536+40) * 8 / 1544000 = 0.2924 ms. Предположим, что по пути пакета встречается 10 серверов-хопов, тогда при MTU=1500 получим задержку 7.772 ms, тогда как при 576 — 2.924 ms — разница весьма заметна. Таким образом, очевидно, что меньшие пакеты будут переданы быстрее просто из-за ограничения производительности линии. Однако не всё так просто.

Используя ту же формулу из нашего предшествующего примера, давайте посчитаем, за какой промежуток времени будет передан файл размером 1Mb по той же широкополосной линии T1. Один мегабайт равен 1024 KB и равен 1048576 байтов. Если MTU = 1500, то, как мы выяснили, задержка на один хоп составит 0.7772 ms. Сколько при этом понадобится послать пакетов? 1 Мb/MSS = 1048576/1460 = 718.2, или всего требуется 719 эффективных пакетов, чтобы передать 1 мегабайт. Далее, умножаем 719 пакетов на 0.7772 ms, получаем 558.8068 ms, или 5.588 секунд задержки на один хоп. Если же мы передаём свой файл через 10 хопов, что встречается чаще, чем один, то получаем 55.88 sec — это время, которое мы (вернее, провайдер, имеющий линию T1) потратим на передачу файла в 1Mb при идеальной связи. Если же MTU = 576, тогда: 1 Мb / MSS = 1048576 / 536 = 1956.3, или нужно 1957 пакета, чтобы передать 1 мегабайт. Далее, умножаем количество пакетов на задержку каждого из них: 1957 * 0,2924 = 572,2268 ms, или 5,722 секунды на один хоп. Ну и соответственно на 10 хопов придется 57,22 секунд. Как видим, из-за того, что при использовании больших пакетов передаётся меньше заголовков, реальная скорость передачи файла получается выше. Для того, чтобы передать 1 мегабайт при использовании MTU=1500, приходится пересылать ещё и «довесок» заголовков из 28760 байтов, тогда как при использовании MTU=576 получаем аж 1957 * 40 = 78,280 байтов, то есть дополнительные 49520 байтов заголовков на каждый мегабайт полезной информации. Для нашей 10-хоповой передачи это выливается в лишних 1,34 секунд при передаче каждого мегабайта даже при сверхбыстрой связи. Эта разница, возможно, будет ещё немного выше на практике, так как современные реализации TCP/IP стремятся использовать ещё большие заголовки (например, дополнительные 12 байтов заголовка для отметок времени). Если же провести аналогичные расчёты для связи по модему на скорости 33600, то получим, что на передачу мегабайта информации на расстояние одного хопа, то есть непосредственно вашему провайдеру, будет потрачено в идеале 256 секунд при MTU=1500 и 268 секунд при MTU=576. Разница на одном переходе 12 секунд или около 5%! Но не следует забывать, что эти цифры получатся при условии отсутствия фрагментации пакетов, то есть если у вашего провайдера MTU=1500. Если же это не так, то, разумеется, бОльший, чем нужно, пакет будет фрагментироваться — разбиваться на несколько пакетов и даже разбавляться «воздухом», и связь ухудшится на 10–50 %.

Таким образом, логично считать, что большие пакеты в итоге всё-таки предпочтительнее, и если ваш провайдер настроил свои серверы и маршрутизаторы на большие пакеты, то надо стремиться использовать это на всю катушку, но не забывать и о том, что в Интернете встречаются серверы с MTU=576 (об этом чуть ниже мы ещё поговорим). Тем не менее, если чистая производительность не является окончательной целью, то меньшие пакеты будут более «быстрыми», поскольку они требуют меньше времени для своих путешествий по Сети. Этот эффект может перевешивать все другие достоинства больших пакетов в некоторых интернет-приложениях и онлайновых играх за счёт уменьшения времени отклика удалённого сервера при передаче небольших объёмов информации.

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

В Windows 95 разработчиками по умолчанию выбрано MTU=1500, что якобы не соответствует оптимальному для модемного соединения значению, которое всеми считается равным 576. В Windows 98 Microsoft уже исправила этот недостаток, и теперь по умолчанию при соединениях ниже 128 килобит в секунду мы имеем MTU=576, что вроде бы должно чаще оказываться наилучшим вариантом. Попробуем разобраться, так ли оно на самом деле.

Итак, есть несколько способов определить значение MTU, оптимальное для связи с вашим интернет-провайдером:

  1. Послать письмо с вопросом в службу технической поддержки провайдера. Тут, в принципе, всё понятно — если работники провайдера сами в курсе своих собственных настроек, то они дадут вам квалифицированный ответ, который, впрочем, не помешает всё-таки и проверить самолично на практике.
  2. Подключиться к Интернету в терминальном режиме — иногда при осуществлении регистрации пользователя в одной из строк появляется рекомендуемое значение MTU. Для этого войдите в папку «Удаленный Доступ», найдите там значок своего соединения и, щёлкнув по нему правой кнопкой мыши, выберите пункт «Свойства». На странице «Общие» открывшегося меню жмите кнопку «Настроить» возле строки с названием вашего модема и в диалоге свойств модема переходите на вкладку «Дополнительно», где установите флажок «Выводить окно терминала после соединения». Теперь соединяйтесь с провайдером и при появлении окна терминала вводите вручную имя пользователя и пароль по соответствующим запросам. Если после этого вы увидите что-то типа «Entering PPP mode. Your IP address is ххх.ххх.ххх.ххх. MaxMTU is 1524», то вам повезло — вы получили MTU провайдера. Но и тут нелишним будет проверить это значение лично.
  3. И, наконец, ручное определение MTU.

Определение MTU вручную

Для адекватных результатов экспериментов обязательно необходимо выставить в операционной системе максимальный размер MTU=1500. Поэтому, если вы уже пытались изменять этот параметр с помощью какой-то программы или вручную в реестре, то обязательно отмените все внесённые изменения, вернув default-настройки. В этом вам помогут утилиты

— выбирайте по вкусу. В реестре же вам придётся проконтролировать это в разделе

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\000х

Если найдёте там параметр MaxMTU, то смело удаляйте его. Далее, открываем «Панель Управления» — «Сеть» («Network»), выбираем «Контроллер удаленного доступа» («Dial-Up Adapter») и жмём кнопку «Свойства». На вкладке «Дополнительно» («Advanced») появившегося меню устанавливаем большой размер пакета IP («IP Packet Size» — «Large»). Тем самым мы установили для нашего соединения MTU=1500. Перезагружаем компьютер, чтобы изменения вступили в силу.

Теперь надо установить соединение с Интернетом и посмотреть, будут ли фрагментироваться пакеты различного размера. Для этого можно использовать и стандартную программу Ping из комплекта Windows, задавая ей такие параметры:

PING -f -l 1500 ххх.ххх.ххх.ххх

где «ххх.ххх.ххх.ххх» — IP-адрес тестируемого сервера, а «–I» — это буква L, а не единица. Но гораздо удобнее применять что-нибудь типа утилит CyberKit [6] или IPTools [7] — они дают нам в руки приятный графический интерфейс вместо анахронизма командной строки Ping. Определяем сначала этой же многофункциональной программой IP-адрес одного из серверов вашего провайдера, тем самым мы избежим запросов к DNS–серверу во время тестирования. Примените для этого вкладку «TraceRoute», введя в поле адреса URL провайдера. Теперь полученный IP вводим на странице «Ping», задаём для начала размер пакета 1500 и ставим флажок «Don't fragment» («Не фрагментировать»). В поле, где задаётся количество тестовых пакетов, ставьте штук 5-6 для того, чтобы исключить случайные ошибки. Кстати, тест лучше проводить глубокой ночью, когда на линиях «сидит» мало народа и помех в телефонных сетях минимум. Если никакого ответа не получено (программа Ping.exe выдаёт сообщение «Packet needs to be fragmented but DF set»), и наш пакет потерян, так как фрагментировать мы его запретили, а его размер слишком велик для настроек оборудования провайдера, то начинаем постепенно уменьшать величину пакета до тех пор, пока не станем получать отклики от сервера со значением этого самого «пинга». Так, например, для провайдера CEA мы получим размер неделимого пакета, равный 1472. Означает ли это, что он использует MTU=1472? Нет, у него MTU=1500, просто программа Ping.exe прибавляет к нашим данным заголовок IP (20 Байтов) и ICMP (8 Байтов): 1472+28=1500. Если же вам не повезло, и ваш провайдер выбрал меньшее значение, то ищите его среди таких, чаще всего попадающихся, цифр, также не забывая и о заголовке пакета: 512, 568, 560, 552, 548, 536, 528, 520, 552, 576, 1006, 1024, 1152, 1524.

Таким образом, мы выяснили, что имеем полностью развязанные руки и можем выбирать любой MTU, вплоть до самого большого — 1500. Попробуйте теперь осуществить загрузку одного и того же ZIP-файла размером 1 мегабайт с одного и того же быстрого сервера при разных значениях MTU — максимальном, полученном от провайдера, и рекомендуемом 576. Для чистоты эксперимента, отключите автоопределение MTU — параметр PMTUDiscovery — о том, как его найти в реестре, читайте в конце статьи. Скорее всего, вы обнаружите, что наши расчёты, говорящие о предпочтительности больших пакетов, справедливы. Проведите и такой эксперимент: «пингуйте» наибольшим нефрагментируемым пакетом (в нашем случае это 1472, то бишь MTU=1500) сайты, занесённые в список закладок. Вас ждёт удивительное открытие — оказывается, большинство сайтов прекрасно воспринимают MTU=1500 и все пакеты до них доходят нефрагментированными. Где же тот самый MTU=576, который якобы преобладает в Интернете? Проверьте также и свою любимую сетевую игру при разных MTU. Исходя из полученных данных, а не из того, что вам советуют всевозможные «эксперты», сами никогда не проделывавшие подобных опытов, а повторяющие только то, что принято за истину на загнивающем Западе, вы уже гораздо более объективно определите, какое же значение наилучшим образом согласуется с вашим интернет-доступом — наибольшее или меньшее. Действительно, на качество и скорость работы в Сети сильное влияние оказывает фрагментация пакетов, которая происходит, если большой пакет проходит через сеть, имеющую MTU меньше, чем длина вашего пакета. Можно, конечно, перестраховаться и выбрать самый минимальный размер MTU, при котором пакеты наверняка не будут фрагментироваться, но это может сказаться на быстродействии вашей системы ещё более пагубно, чем использование больших пакетов. На самом же деле, главное — чтобы ваш MTU не превосходил MTU провайдера, при включённой же функции PMTU система сама найдёт для ваших пакетов такой путь в Сети, при котором они не будут фрагментироваться. Кстати, если вы обнаружите, что у провайдера установлено MTU=512 и менее, то есть смысл подумать о его смене — слишком много шлака будет передаваться вместе с вашими данными.

Другие параметры

Не только от одного MTU зависит качество вашей работы в Интернете. Существует немало и других параметров протокола TCP, с которыми стоит поэкспериментировать. Конечно, есть уже некоторые готовые рекомендации и в этом случае, но бездумно им доверяя, вы имеете шанс получить совсем не тот результат, к которому стремитесь. Поэтому и тут крайне желательно для каждого параметра провести свой эксперимент, определяя, какой эффект вызывает его изменение в вашей конкретной системе. Многие из этих параметров легко выставляются с помощью всё тех же незамысловатых утилит, что и MTU.

RWIN — Receive Window — окно приёма, размер буфера, в котором накапливается содержимое области данных (MSS) нескольких полученных пакетов, прежде чем передаётся дальше, например, в браузер. При недостаточном размере этого буфера иногда происходит его переполнение, и поступающие пакеты отвергаются и теряются. Размер RWIN обязательно должен быть кратен MSS и обычно для лучшей эффективности модемного соединения рекомендуется его устанавливать равным 4-8 MSS. Однако чрезмерно большой размер буфера также нежелателен, особенно на плохих линиях — при потере всего одного пакета в случае сбоя на линии будет повторно затребован не один потерянный пакет, а все пакеты из этого буфера, что займёт некоторое время. В реестре находится здесь:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
"DefaultRcvWindow"="ваше значение"

TTL — Time To Live — время жизни — количество хопов, то есть промежуточных серверов, через которые может пройти ваш пакет в поисках своего места назначения. Каждый такой сервер добавляет единицу к специальному счётчику в заголовке вашего пакета, и когда счётчик достигает максимально разрешенного значения, пакет считается заблудившимся и прекращает свое существование. По умолчанию TTL равен 32, что сегодня явно недостаточно для разросшегося Интернета — нередки случаи, когда удалённый сервер находится более чем в 32 переходах, поэтому TTL следует увеличить как минимум до 64:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
"DefaultTTL"="64"

IPMTU — Internet Protocol MTU — в Windows 98, по сути, это то же самое, что и MTU, но применительно только к контроллеру удалённого доступа. В реестре он упоминается несколько раз:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\000х
"IPMTU"="1500"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\000х\Ndi\params\IPMTU
"default"="1500"
@="1500"

PMTU — Path MTU — путевое значение MTU — этот параметр разрешает Windows самой определять оптимальное значение MTU при организации соединения с каждым сервером. При этом серверу посылается ряд нефрагментируемых пакетов разного, постепенно уменьшающегося размера, и, как только очередной пакет достигнет сервера, его размер и считается оптимальным. На эту процедуру, разумеется, требуется некоторое время, и по умолчанию она включена, в связи с чем часто советуют её дезактивировать, что, пожалуй, всё-таки довольно спорно — потерять на этом времени можно больше из-за того, что наилучший размер блока данных определён не будет, и пакеты пойдут фрагментированными. Выключается же этот режим так:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
"PMTUDiscovery"="0"

PMTUBlackHoleDetect — обнаружение «чёрных дыр» — установка этого параметра разрешает протоколу TCP пытаться обнаружить никуда не ведущие роутеры и те, что не возвращают ICMP-сообщений о необходимости фрагментации при определении наилучшего MTU. Это, так же, как и любая дополнительная процедура, может замедлять работу в Интернете — попробуйте поэкспериментировать с её отключением:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
"PMTUBlackHoleDetect"="0"

SessionKeepAlive — поддержание соединения — определяет, как часто будут посылаться специальные пакеты информации, предотвращающие ваше отключение сервером в случае отсутствия активной работы. Минимум — одна минута, по умолчанию — один час в Windows Me/9X и два часа в Windows 2000. Рекомендуемая установка — 10 минут, параметр задаётся в секундах:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
"SessionKeepAlive"="600"

SlowNet — отключение этой функции может сократить задержки в передаче данных, но сей эффект уловить не так-то просто.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\000х
"SLOWNET"=hex:00

NDI Cache — Network Device Interface Cache — кэш, в котором хранятся данные о маршрутах движения пакетов, по умолчанию его размер равен нулю. Чтобы его наиболее оптимально задействовать, необходимо установить его размер равным 16 при модемном соединении или 32 при более скоростных подключениях.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NWLink\Ndi\params\cachesize
@="16"

Примерно там же в реестре обычно рекомендуется выставить ещё некоторые параметры, влияние которых на качество связи проследить вообще чрезвычайно сложно, но попробовать поэкспериментировать с их значениями, тем не менее, можно:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NWLink\Ndi\params\maxconnect
@="64"
"max"="128"
"min"="2"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NWLink\Ndi\params\maxsockets
@="255"
"max"="1020"
"min"="32"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NETBEUI\Ndi\params\ncbs
"default"="32"
"max"="255"
"min"="8"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NETBEUI\Ndi\params\sessions
"default"="32"
"max"="117"
"min"="4"

А нижеследующие параметры устраняют, по заверениям Microsoft, какие-то «глюки» Windows и увеличивают скорость работы вашего браузера:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
"BSDUrgent"="1"
"Tcp1323Opts"=dword:00000003
"SackOpts"="1"

А вот так вы увеличите количество одновременных подключений к серверу, что часто бывает весьма полезно:

[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPer1_0Server"=dword:0000000a =10
"MaxConnectionsPerServer"=dword:00000008 =8

Процедура оптимизации Интернет-соединения — дело весьма хлопотное и неоднозначное. Несмотря на то, что программ, предназначенных якобы для двукратного улучшения связи одним кликом мыши — пруд пруди. И тут, как мы выяснили, совсем не факт, что MTU=576, которое везде рекомендуется западными программистами и экспертами, будет оптимальным и для нас в России. Наши провайдеры сплошь и рядом выбирают для себя MTU=1500 (в том числе и при модном GPRS-соединении), а при «пинговании» удалённых серверов мы обнаруживаем, что пакет такого размера, вопреки всем утверждениям, проходит чаще всего нефрагментированным. При этом, как видно из наших вычислений, чем больше MTU, тем эффективнее используется ваш интернет-доступ. Возможно, наши рассуждения несколько спорны и противоречат общепринятым догмам на этот счёт. Поэтому для того, чтобы настроить вашу систему на максимальную производительность, вам придётся лично: во-первых — выяснить действительное значение MTU своего провайдера; во-вторых — выбрав это значение, убедиться, что пакеты такого размера при связи с чаще всего вами посещаемыми серверами не будут фрагметироваться; в-третьих — провести эксперименты с закачкой одного и того же файла при разных значениях MTU; и в-четвёртых — проверить, как сказывается изменение MTU на сетевых играх, если вас они, конечно, интересуют. Исходя их итогов этих опытов, и стоит решать, какой размер максимального неделимого пакета вам следует в результате выбрать. То, что везде рекомендуется, для вас может оказаться наихудшим вариантом. Аналогично наберитесь терпения и проверьте влияние и других параметров на быстродействие системы — я упомянул далеко не всё, над чем можно поизвращаться. При этом можно даже проверять MTU провайдера регулярно — раз в месяц, в два — не изменилось ли оно, но это уже для маньяков, хоть и не представляет никакой сложности, как мы с вами убедились.




Темы