Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Сети -> TCP/IP -> Тестирование настроек протокола TCP/IP для модемных соединений


Тестирование настроек протокола 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, которая отличается от множества других программ аналогичного назначения тем, что в ней очень ясно, что именно она делает и, кроме того, позволяет проводить тестирование для осмысленного отыскания оптимальных значений настроек.

О программе:
Домашняя страница проекта iSpeed: http://www.hms.com/ispeed.asp

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100