Ошибка: Failed to parse the Currency Converter XML document.
$879.10
|
Ошибка: Failed to parse the Currency Converter XML document.
$27 511.03
|
Ошибка: Failed to parse the Currency Converter XML document.
$875.81
|
Тестирование настроек протокола TCP/IP для модемных соединений
Введение
Можно смело предположить, что нет таких пользователей, которые были бы полностью довольны производительностью своих dial-up соединений в Интернет. Приходится долго ждать загрузки web-страниц, особенно, с картинками. А загрузка больших файлов также занятие не из приятных. Чтобы улучшить ситуацию, одни планируют покупку новейшего модема, другие изучают настройки протокола TCP/IP, с помощью которых можно, как считается, оптимизировать скорость загрузки данных на компьютер. В нашем исследовании мы попытаемся ответить на вопрос, какого эффекта можно ожидать от этих мероприятий по улучшению коннекта.
Параметры протокола TCP/IP, требующие настройки
MTU (IPMTU) Maximum Transmission Unit. Максимальная единица транспортировки. Максимальный размер пакета, который может проходить по данной сети или через данный узел или шлюз. Первоначально размер пакета определяется источником, но если по пути встретится узел, настроенный на меньший размер, то пакет разбивается на меньшие пакеты и не собирается в первоначальный вплоть до приемника. При этом один из пакетов получается почти пустым или полупустым. В Интернет наиболее типичными являются значения MTU 1500 и 576 бит, в других сетях могут быть также значения 552 и 1002. Считается, что Windows автоматически выставляет MTU в 576 при скорости соединения менее 128 кбит/сек и в 1500 - при большей скорости.
MSS Maximum Segment Size. Максимальный размер сегмента данных. Этот размер менее MTU на величину размера сегмента заголовков (заголовок TCP + заголовок IP, 20 + 20 байт). MSS = MTU 40.
RWIN Receive Window. Буфер приема данных освобождается по мере заполнения. Размер буфера кратен размеру MSS. Чем больше буфер, тем больше пропускная способность (но в случаях потери пакета получается неоправданный простой в передаче).
TTL Time To Live . Время жизни пакета определяется источником и контролируется на транзитных узлах и шлюзах, при исчерпании TTL пакет анулируется даже если еще не достиг цели. По истечении TTL источник, не получив подтверждения приема, повторяет посылку, так как пакет считается утерянным. Большое значение TTL замедляет передачу данных, так как источник неоправданно долго ожидает подтверждения. Значение TTL записано в заголовке пакета и списывается по единице при прохождении очередного узла по маршруту и по истечении некоторого промежутка времени.
NDI Cache Network Device Interface Cache. Кэш, в котором хранятся данные о маршрутах движения пакетов. Считается, что оптимальное значение равно 16 при модемном соединении и 32 - при более скоростных подключениях.
MTU Auto Discover автоопределение MTU. Если опция включена, то Windows сама подбирает оптимальное значение MTU.
MTU Black Hole Detect обнаружение «черных дыр». Установка этого параметра разрешает протоколу TCP пытаться обнаружить никуда не ведущие роутеры и те, что не возвращают ICMP-сообщений о необходимости фрагментации при определении наилучшего MTU.
Sack Opts учет подтверждений. Позволяет избежать запросов на повторную трансляцию данных, которые были приняты успешно. При значительном количестве ошибок может увеличить скорость.
iSpeed инструмент тестирования настроек протокола TCP/IP
Из многих программ аналогичного назначения iSpeed является наиболее отработанной и удобной. Если кратко, то работа с этой программой выполняется в следующем порядке:
1. Открываем вкладку Adapters...
На этой вкладке решаются две задачи: выбор размера MTU, и выбор адаптера, с которым мы будем работать. Если обнаружено несколько адаптеров, то они показываются списком выбора. Нам нужен адаптер Удаленного доступа, с которым и работает модем. Если выбора нет, то и выбирать не нужно. Далее, выбираем размер пакета (MTU). Предлагается 4 основных значения: 552, 576, 1002 и 1500, которые могут быть оптимальными для разных типов сетей. Для Интернет оптимальными могут быть 1500, либо 576. Программа позволяет установить любое другое значение, а также экспериментально определить список размеров, которые проходят без фрагментации по заданному адресу (узла или ИП). Для перехода к эксперименту надо подключиться к Интернету и нажать кнопку Discover MTU. В общем случае следует начать с значения MTU=1500.
Примечание: Кроме общего случая, когда мы заранее не знаем, с какими узлами мы будем работать, сегодня бывают частные случаи, когда мы ежедневно работаем с одними и теми же узлами и службами Интернет. Здесь тактика настройки может быть другой. Если есть проблемы при работе с узлом проверьте доступ к этому узлу при разных размерах пакета. Для этой цели используйте функцию программы iSpeed Discover MTU. Работа этой функции видна на следующей картинке:
Здесь проделана проверка узла при разных размерах пакета, начиная с 576 и далее с шагом 12. До значения 1308 отклик сервера был нормальным, а на значении 1320 - отклик прекратился. Это должно послужить нам сигналом о том, что нужно подобрать новый размер пакета специально для соединения с этим узлом.
В нашей практике был такой случай: на рабочей станции стоял пакет обработки биржевых котировок в реальном времени. Так называемый Data Feed Service. Фирма поставщик данных находилась в США. В процессе работы, к программе возникали претензии, в связи с тем, что на период от нескольких секунд до нескольких минут, поставка биржевых котировок прерывалась, зависала, и потом с опозданием программа «выстреливала» пропущенные данные. В результате чего Трейдеры не успевали оперативно реагировать на изменения стоимости акций и несли убытки. При исследовании проблемы была произведена трассировка соединения. От компьютера трейдера до сервера поставщика данных было порядка 20 промежуточных узлов. Причем путь лежал через Москву, С-Петербург, несколько стран Европы, и несколько серверов в Америке. На конечных узлах потери пакетов доходили до 30-40%, а в моменты пиковых нагрузок Интернет, сервер поставщика данных не был «виден» вообще. Решить проблему удалось путем уменьшения размера пакета. Оптимальный размер пакета был подобран экспериментальным путем, и его значение составило 512. Далее значение MTU было вручную изменено в реестре Windows на компьютере трейдера. При этом потери уменьшились до приемлемых 3-5%, задержка в подаче биржевых котировок прекратилась. Программа iSpeed очень полезна для аналогичных случаев, так как позволяет определять параметр MTU и другие настройки приема и передачи автоматически, максимально просто и быстро. И что самое главное, вносит эти значения в системный реестр!
Выбрав значение MTU переходим на следующую вкладку.
2. Вкладка Global...
На этой вкладке устанавливаются значения параметров протокола TCP/IP, которые действительны для всех адаптеров, установленных на компьютере и использующих этот протокол.
MSS устанавливается или рассчитывается (Calculate), исходя из выбранного значения MTU (MSS = MTU 40).
RWIN задается множителем для MSS в пределах 1 16, соответственно, величина принимает значения от MSS до MSS * 16.
Для MTU = 1500 имеем MSS = 1460 и RWIN = 1460 23360.
TTL задается одним значением из списка (0, 32, 64, 128). Причем в случае выбора нулевого значения устанавливается значение по умолчанию самого протокола TCP/IP.
Кроме того, на этой вкладке имеются включатели/выключатели следующих опций: Window Scaling масштабируемость окна. MTU Auto Discover автоматическое определение MTU. MTU Black Hole Detect обнаружение Черных дыр. Sack Opts учет принятых пакетов. Только для Windows 98 и ME имеется настройка: MDI Cache Size размер некоего кэша в пределах списка (0, 32, 64, 128).
Ко всем настройкам этой вкладки нужно относиться так: заранее (априори) не известно, какие значения следует установить, в противном случае их бы уже установили по умолчанию. Таких условий связи, как у вас больше нет ни у кого, поэтому чужие советы по значениям настроек вам не подходят. Единственная возможность как-то оптимизировать связь определить экспериментально оптимальные значения параметров. Нужно ли этим заниматься и что это может нам дать мы узнаем дальше по результатам нашего исследования.
Прежде чем вносить изменения параметров, которые мы здесь и на первой вкладке произвели, полезно дать команду Settings\Backup Registry Keus на сохранение текущей настройки, и только после этого File\Save Settings. По этой команде сделанные изменения заносятся в системный реестр в журнал History Records и после перезагрузки компьютера вступают в силу.
На вкладке FTP Tests выполняется тестирование по следующей схеме: выбирается профиль (профиль 1 определяется узлом ftp.microsoft.com и файлом на этом узле AUG96HCL.EXE). TraceRoute ресурса содержит 15 узлов, файл имеет размер 290 килобайт. По команде «Старт» организуется загрузка файла и по окончании запись результата в журнал. Записывается комментарий (например, номер испытания, дата, время все настройки и результат скорость загрузки файла в байт/сек). Автоматическое фиксирование результата и условий испытания освобождает от человеческого фактора (ошибок испытателя). Предусмотрена возможность создания собственных профилей. Для этого нужно определить DNS выбранного узла, папки и название файла размером 200-300 Кбайт. Задача оказалась непростой из-за трудности отыскания безотказного и надежного сервера. Было опробовано 5-6 узлов, но все они начинают отказывать в доступе, начиная со 2-3 теста.
Испытания и результаты
Испытания заключались в проведении стандартных (для программы iSpeed) тестов для различных значений настроек. При этом после каждого испытания соединение разрывалось и выполнялась перезагрузка компьютера. Для однообразия по данным статистики был выбран номер телефона провайдера, по которому соединения всегда устанавливаются с одинаковой скоростью (26.4 kbps). Результаты испытаний приводятся далее в таблицах.
Испытание настроек RWIN (TTL = 0) Множитель RWIN Скорость, байт/с
1 1460 1964
2 2920 2005
4 5840 2062
6 8760 1476
8 11680 1864
10 14600 1461
12 17520 2047
14 20440 1690
16 23360 1411
Эти же результаты на вкладке Analysis программы iSpeed выглядят так:
Результаты таблицы получены при следующих значениях настроек:
MTU 1500
RWIN переменно
TTL 0
Window Scaling Window Scaling
MTU Auto Discover выкл.
MTU Black Hole Detect выкл.
Sack Opts выкл.
По данным таблицы можно сделать более или менее уверенный вывод, что наилучшим значением настройки является значение RWIN = 5840 или М (множитель) = 4. Можно было бы еще посмотреть значение при М=5, но это обнаружилось позже. Для последующих испытаний устанавливаем настройку RWIN = 5840 на постоянную прописку.
Испытание настроек TTL (RWIN = 5840) Установка 1-ая серия испытаний 2-ая серия испытаний 3-ая серия испытаний 4-ая серия испытаний Среднее значение
0 1309 1597 1888 1206 1500
32 1327 1597 1597 1109 1408
64 1242 1404 1700 1191 1384
128 923 1864 1633 975 1349
Результат первой серии этих испытаний показался мне неубедительным, и было проведено еще 3 серии. Поскольку образовалась избыточность, появилась возможность оценить меру случайности в полученных результатах. Такой мерой принято считать Стандартное (или, по другому, Среднее квадратическое отклонение), которое достаточно просто рассчитывается. По данным нашей таблицы для отдельного результата СКО = + 365, а для среднего из четырех СКО = + 182. С учетом полученной характеристики можно сказать, что значения средних (из четырех) скоростей действительно отличаются друг от друга за счет изменения настройки, а не по случайным причинам, если различие составляет хотя бы два СКО или более. В нашей таблице этому критерию не удовлетворяют ни отдельные результаты, ни средние из четырех.
Абсолютно все значения могли быть результатом чисто случайных причин, и никак не связаны с нашими настройками. И, тем не менее, у нас больше оснований установить для дальнейших испытаний настройку TTL = 0, чем брать значение наугад. При этом нужно иметь в виду, что TTL в принципе не может быть нулевой, в данном случае в реестр записывается значение параметра как default, а соответствующее числовое значение, скорее всего, равно 32, судя по нашей таблице
Включение опций (TTL = 0, RWIN = 5840) Установка 1-ая серия испытаний 2-ая серия испытаний 3-ая серия испытаний 4-ая серия испытаний Среднее значение
0 1530 1340 1327 1122 1329
1 1269 1153 1211 1292 1231
2 1286 985 941 816 1007
3 1211 1286 1876 1093 1366
...где установки:
1. MTU Auto Discover
2. MTU Auto Discover + MTU Black Hole Detect
3. Sack Opts
В этой таблице даны результаты испытаний по включению опций. Результаты имеют избыточность, поэтому возможна оценка меры случайности в результатах. Для одиночного результата СКО = 167, а для среднего из четырех СКО = 83. Как видим, здесь случайностей меньше, чем в предыдущем испытании. Скорее всего, это связано с тем, что данные испытания проводились в один день. Исходя и полученных результатов, можно заключить, что опции MTU Auto Discover и MTU Black Hole Detect лучше не включать, а опцию Sack Opts можно включить.
Испытание настроек MTU (TTL = 0, RWIN = 4) Установка 1-ая серия испытаний 2-ая серия испытаний 3-ая серия испытаний 4-ая серия испытаний Среднее значение
1500 1398 1555 1580 1876 1602
576 1073 1453 1221 1606 1338
1002 2077 1624 1140 1221 1515
В этом испытании изменялись размеры MTU при прочих одинаковых настройках. Наилучшее значение этой настройки в данном испытании равно 1500, его мы и примем за оптимальное. Таким образом, оптимальные настройки по нашим испытаниям выглядят так:
MTU = 1500
RWIN = 4 (множитель)
TTL = 0 (default) или 32
Sack Opts = enabled
Теперь осталось выяснить, как скорость с оптимальными настройками отличается от скорости с настройками, которые Windows устанавливает по умолчанию. Для этой цели можно было бы использовать установку Windows Default setting, которая имеется в программе iSpeed, но эта настройка изменяет только значение MTU и не влияет на другие. Таким образом, ответ на поставленный вопрос уже имеется в результатах проделанных испытаний. Формально, выигрыш можно оценить повышением скорости с 1338 до 1602 байт/сек, то есть на 20%. Фактически, с учетом оптимизации параметра RWIN, выигрыш составляет 30-40%. Исходя из этого, можно решить, стоит ли заниматься оптимизацией параметров протокола TCP/IP или нет.
Испытание настроек на произвольных узлах Узел TraceRoute TTL Скорость, байт/сек
ftp.freeware.ru 10 32 2106
ftp.icm.edu.pl 14 32 1495
ftp.cyt-cr.edu.pl 14 32 1131
ftp.task.gda.pl 14 32 1197
ftp.tuniv.szcecin.pl 30 32 1661
ftp.tuniv.szcecin.pl 30 64 1849
ftp.tuniv.szcecin.pl 30 128 1124
ftp.freenet.dl 15 32 1844
ftp.ciril.fr 20 32 1120
ftp.euro.net 17 32 1850
ftp.labyrinth.net.au 16 32 1056
ftp.pacific.net.hk 17 32 1388
ftp.tpnet.pl 23 32 1347
ftp.carrier.kiev.ua 16 32 1260
ftp.elf.stuba.sk 19 32 1913
ftp.singnet.com.sg 18 32 1911
ftp.uni-heidelberg.dl 20 32 1375
ftp.uni-koeln.de 30 32 2233
Среднее 1548
Испытания на произвольных узлах выполнены по следующей схеме:
1. С помощью FTP-поисковика получен список узлов для загрузки файла EasyMTU размером 360 Кбайт.
2. Программа FlashGet настроена на загрузку одного файла в один поток.
3. В каждом испытании с помощью программы CyberCit (функция TraceRoute) определялось число узлов по маршруту до узла загрузки файла.
4. Выполнялась загрузка файла программой FlashGet. Скорость загрузки вычислялась самой программой по фактическому размеру файла и фактическому времени загрузки.
В результате этого испытания появилась возможность сравнить результат, полученный по одному узлу при тестировании с результатом, полученным множеству узлов (18 серверов FTP). Мы должны оценить, как согласуются между собой показатели скорости 1602 + 100 из таблицы 4 и 1548+ 89 из таблицы 5. С учетом СКО ( + 100 для первой величины и + 89 для второй величины) следует признать, что характеристики почти совпадают. А это означает, что результаты тестирования действительны для большинства реальных маршрутов загрузки.
Характеристика оборудования, на котором проводились испытания:
Процессор: Intel Celeron 1700MHz
Память: 256 Мбайт (DDR SDRAM)
HDD ST360015A (60 Gb, 7200PRM)
Windows 2000 Pro, SP3
Модем: ZYXEL Omni56K UNO
Телефон: АТС 515
Провайдер: МТУ-ИНТЕЛ
Несколько замечаний по условиям проведения наших испытаний:
1. Испытания проводились на одной и той же телефонной линии с одним и тем же Провайдером. Абсолютные значения результатов в других условиях могут быть существенно другими, но относительные должны в основном совпадать.
2. Полученные здесь результаты можно использовать для сокращения объема ваших тестирований при настройке за счет отброса проверки явно невыгодных настроек. Можно сразу установить оптимальные настройки полученные здесь и проверить, насколько они подходят для ваших условий.
Испытания на другом оборудовании
Некоторые испытания мы провели на другом оборудовании.
Процессор: Intel Pentium MMX, 166 MHz
Память: 128 Мбайт
HDD Quantum Fireball (9.5 Gb, 5400 RPM)
Windows 98 SE
Модем: Eline ELC 576E(I)
Телефон: АТС 515
Провайдер: МТУ-ИНТЕЛ
Как видим, в сравнении с предыдущим это оборудование можно считать относительно допотопным. Два элемента остались без изменений. Это телефонный узел и Провайдер. Приводимая далее таблица является аналогом первой таблицы предыдущей серии испытаний...
Испытание настроек RWIN (TTL = 0, NDI Cache = 16) Множитель RWIN Скорость, байт/с
1 1460 2254
2 2920 2271
4 5840 2271
6 8760 2345
8 11680 2307
10 14600 2345
12 17520 2307
14 20440 2091
16 23360 2307
Из сравнения таблиц следует, что здесь уровень показателей скорости загрузки несколько выше, чем на основном оборудовании (максимум = 2345 и максимум = 2062).
Испытания на другом телефонном узле
Тесты оптимальных настроек. МТУ-ИНТЕЛ, АТС 493 Параметр Значение
Число испытаний 7
Средняя скорость, байт/сек 2565
Среднее квадратическое отклонение (СКО) 469
Это испытание мы провели на другом телефонном узле. Оборудование здесь практически полностью аналогично нашему, и точно такой же модем (ZYXEL Omni56K UNO). Испытания проводились тестированием при помощи программы ISpeed, как и во всех предыдущих случаях. Настройки протокола были установлены на значения, которые мы определили выше, как оптимальные. Настройки в серии не менялись, но соединение перезванивалось, и скорости соединения были в разных тестах разные от 28.8 до 43 kbps. Это, видимо, обусловило повышенную меру случайности в этом испытании (СКО = 469 бит/сек). В общем, есть основания предположить, что на этом телефонном узле (АТС 493) условия модемного соединения несколько лучше, чем на предыдущем (АТС 515), но принципиально скорость загрузки файла не изменилась.
Заключение и сведения о программе iSpeed
1. Модемное dial-up соединение следует относить к морально устаревшей технологии, которой мы вынуждены пока еще пользоваться.
2. Если мы используем модемное соединение с повременной оплатой, то имеет смысл применять любые возможности, чтобы несколько улучшить наш трафик. Одной из таких возможностей является оптимизация параметров (настроек) протокола TCP/IP, которая может повысить производительность наших соединений на 20-40% и тем самым существенно снизить расходы на оплату доступа в Интернет.
3. Для настройки рекомендуется применять программу iSpeed, которая отличается от множества других программ аналогичного назначения тем, что в ней очень ясно, что именно она делает и, кроме того, позволяет проводить тестирование для осмысленного отыскания оптимальных значений настроек.