computery.ru

flashback

 на главную

 заложить
 подписка
 editorial

hardware

 железо
 ликбез
 support

software

 программы
 support

connect

 интернет
 телефония

history

 как это было
 market history
 письма
 случаи
 mustdie
 о журнале
 архив журнала

сервис

 комиссионка
 конференция
 драйверы
 гостевая книга
 отзывы
 почта

реклама

поиск



PageRank

 


soft FAQ 121

 

MTU-оптимум
С хабом неинтересно

Предельная скорость и адекватный результат

MTU-оптимум

Подскажите, пожалуйста, какое значение параметра MTU в Windows Me оптимально выставить для GPRS-соединения с оператором "MTC"?

Подскажите, пожалуйста, какое значение параметра MTU в Windows Me оптимально выставить для GPRS-соединения с оператором "MTC"?

Соединение с интернетом посредством мобильного телефона и, в частности, GPRS ничем не отличается от обычного соединения в плане определения оптимального значения MTU, а потому я вам советую провести нехитрую операцию по ручному определению Maximum Transmit Unit своего соединения. Для адекватных результатов нашего эксперимента обязательно необходимо заранее выставить в операционной системе максимальный размер MTU = 1500, иначе мы не сможем отправить нефрагментированный пакет такого размера.

Поэтому если вы уже пытались когда-то изменять этот параметр с помощью какой-то программы или вручную в реестре, то непре-менно отмените все внесенные изменения, вернув настройки по умолчанию или сразу установив 1500. В этом вам поможет, например, утилита Internet Tweak www.magellass.com. Для чистоты эксперимента я советую в этой же программе выставить параметр Disable Auto Discovery.

Для этого в Windows 98 / Me вносим следующее:
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\
VxD\MSTCP
"PMTUDiscovery"="0"
А в Windows 2000 / XP:
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\
Tcpip\Parameters
"EnablePMTUDiscovery"=dword:00000000
Далее отключаем следующий параметр 
Enable Black Hole Detect.

В Windows 98 / Me вносим:
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\
VxD\MSTCP
"PMTUBlackHoleDetect"="0"

А в Windows 2000 / XP:
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\
Tcpip\Parameters
"EnablePMTUBHDetect"=dword:
00000000

Далее открываем "Панель Управления" > "Сеть" (Network), выбираем "Контроллер удаленного доступа" (Dial-Up Adapter) и нажимаем кнопку "Свойства". На вкладке "Дополнительно" (Advanced) появившегося меню устанавливаем большой размер пакета IP (IP Packet Size > Large). Тем самым мы установили для нашего соединения MTU = 1500. Перегружаем компьютер, чтобы изменения вступили в силу. В реестре же вам придется проконтролировать это в разделах:
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\
Class\NetTrans\000x
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\
Class\Net\000x
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\
Class\Net\000x\Ndi\params\
IPMTU - для Windows 98 / Me;
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\
{идентификатор сетевого адаптера}\
Parameters\Tcpip
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\
Tcpip\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\
Tcpip\Parameters\Interfaces\{идентификатор сетевого адаптера} - для Windows NT / 2000 / XP. Если в этих разделах вы найдете параметр MaxMTU, MTU, IPMTU, то установите для него значение 1500. Чтобы не перепутать и установить MTU именно для адаптера удаленного доступа, проверьте, какой идентификатор ему соответствует.

Это можно сделать исходя из значения параметра Name в соответствующем разделе реестра: HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\
Network\{4D36E972-E325-11CE-BFC1-08-
002BE10318}\{идентификатор сетевого адаптера}\
Connection

Не забудьте предварительно сделать экспорт в REG-файл всех изменяемых параметров, чтобы в случае ошибки легко вернуть все в изначальное положение. После всех изменений перегрузите ПК.
Теперь необходимо установить соединение с интернетом и посмотреть, будут ли фрагментироваться пакеты различного размера. Желательно для начала определить, какой максимальный нефрагментируемый пакет доходит до вашего провайдера. Для этого воспользуемся помощью программ типа CyberKit www.cyberkit.net или IPTools
www.ks-soft.net/ip-tools.eng/index.htm и определим IP-адреса его серверов, тем самым мы избежим запросов к DNS-серверу во время последующего тестирования. Примените для этого вкладку TraceRoute, введя в поле адреса URL провайдера. В результате мы получим необходимые IP-адреса, из которых, пожалуй, лучше взять самый первый.

Далее уже можно использовать и стандартную программу Ping из комплекта Win-dows, задавая ей такие параметры: PING -f -l 1500 ххх.ххх.ххх.ххх, где ххх.ххх.ххх.ххх - IP-адрес тестируемого сервера, а -I - это буква L, а не единица. А можно использовать и сами программы CyberKit или IPTools: полученный IP вводим на странице Ping, задаем для начала размер пакета 1500 и ставим флажок Don't fragment (Не фрагментировать).

В поле, где задается количество тестовых пакетов, ставьте штук 5-6, для того чтобы исключить случайные ошибки. Если никакого ответа не получено (а программа ping.exe выдает сообщение: "Packet needs to be fragmented but DF set") и наш пакет потерян (так как фрагментировать мы его запретили, а его размер слишком велик для настроек оборудования провайдера), начинаем постепенно, по единичке уменьшать величину пакета до тех пор, пока не станем получать отклики от сервера со значением этого самого пинга.

Так, например, после экспериментов с программой ping.exe для провайдера Iskra мы получим максимальный размер неделимого пакета, равный 1472. Означает ли это, что он использует MTU = 1472? Нет, у него MTU = 1500, просто программа ping.exe прибавляет к нашим данным заголовок IP (20 байтов) и ICMP 
(8 байтов): 1472+28=1500. Cyber-Kit, насколько я помню, сразу покажет 1500, то есть эта программа учитывает 28 байт заголовков пакетов.

Очень хороша программа TweakDUN www.pattersondesigns.com/tweakdun/index.html, которая автоматически показывает, какой максимальной величины пакет может дойти до сайта. Если же вам не повезло и ваш провайдер выбрал меньшее значение, то ищите его среди таких чаще всего попадающихся цифр, также не забывая и о заголовке пакета, если используете ping.exe: 512, 568, 560, 552, 548, 536, 528, 520, 552, 576, 1006, 1024, 1152, 1524. Для большей уверенности попробуйте определить MTU с помощью разных программ.

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

Параметр RWIN (Receive Window - окно приема, размер буфера, в котором накапливается содержимое области данных (MSS) нескольких полученных пакетов, прежде чем передается дальше, например, в браузер) для GPRS рекомендуется установить большим, как минимум - 16 кб, в его настройке тоже удобно использовать Internet Tweak.

В реестре же Windows 98 / Me он выставляется так:
HKEY_LOCAL_MACHINE\System\
CurrentControlSet\Services\
VxD\MSTCP
"DefaultRcvWindow"="ваше значение"
В Windows 2000 / XP:
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\
Tcpip\Parameters
"TcpWindowSize"=dword:<значение>

В результате, потратив 10 минут на возню с командной строкой Windows (чтобы окно ping.exe не сразу закрывалось, запускайте его, например, из Norton Com-mander для DOS), вы добьетесь максимально эффективного использования мобильного траффика, ведь при использовании больших пакетов в потоке данных заметно меньше шлака в виде всевозможных заголовков


С хабом неинтересно

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

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

В разных версиях Windows это делается по-разному. В Windows NT Workstation / Server и в Windows 2000 Server необходимо в диалоговом окне Control Panel > Network > Protocols > Routing поставить флажок Enable IP Forwarding и перегрузить Windows.

В Windows 2000 Professional данный флажок отсутствует и для включения маршрутизации нужно установить соответствующий параметр напрямую в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\Tcpip\Parameters
"IPEnableRouter"=dword:00000001

В Windows 9х / Me также нет возможности включить маршрутизацию в удобном диалоговом окне и приходится править реестр, строковый параметр:
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\VxD\MSTCP
"EnableRouting"="1"

После перезагрузки ПК можно проверить, включилась ли маршрутизация. Запустите служебную программу winipcfg.exe из комплекта Windows 9x / Me, - в ней появится новый флажок IP Routing Enabled. В Windows NT / 2000 можно воспользоваться утилитой командной строки ipconfig.exe. На десктопе в настройках протокола TCP/IP укажите "Основной шлюз" (Default Gate-way) для одного (только одного!) из сетевых адаптеров.

   архив

280, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 261-262, 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210-209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 162, 161, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 099, 098, 097, 096, 095, 094, 093, 092, 091, 090, 089, 088, 087, 086, 085, 084, 083, 082, 081, 080, 079, 078, 077, 076, 075, 074, 073, 072,
071, 070, 069, 068, 067, 066, 065, 064, 063, 062, 061, 060, 059, 058, 057, 056, 055, 054, 053, 052, 051, 050, 049, 048, 047, 046, 045, 044, 043, 042, 041, 040, 039, 038, 037, 036, 035, 034, 033, 032, 031, 030, 029, 028, 027, 026, 025, 024, 023, 022, 021, 020, 019, 018, 017, 016, 015, 014, 013, 012, 011, 010, 009, 008, 007, 006, 005, 004, 003, 002

Сергей Трошин

  
stnvidnoye@mail.ru

 

Feedback


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

Так что если вы самостоятельно и успешно решили какую-то системную или софтовую проблему, не сочтите за труд написать об этом подробное письмо на stnvidnoye@mail.ru 
или на support@computery.ru.

 Так вы прославитесь на всю страну, а также спасете кучу народа от наступания на те же самые грабли.

А мы уж постараемся передать ваши мысли всем читателям журнала - в целости и сохранности.

 

 

DataFile
 
Напоминаем вам, что в конференции на нашем сайте - computery.ru/conf - наряду с пингвином "модератором" живет зверек "софт-модератор", который ответит на все ваши самые сокровенные вопросы о системе.

Если вы недолюбливаете конференции и / или желаете пообщаться с ним "в привате", то милости просим: support@computery.ru

 



При перепечатке материалов сайта ссылка на UPGRADE обязательна. 
Имена и фамилии авторов изменять не рекомендуется.

  programmer: 
  Илья Васильев
новые поступления: 
vano@veneto.ru
PR-менеджер: 
Екатерина Кожанова
  newswriters:
  Николай Барсуков
  Александр Савицкий
тех. поддержка по софту:
stnvidnoye@mail.ru;
problem@veneto.ru
менеджер тестовой лаборатории:
testlab@veneto.ru
(495) 246-7468
  content: egor_be 
 
тех. поддержка по железу:
problem@veneto.ru
отдел рекламы: (495) 745-6898, 510 58 31
Виноградов Павел, Илья Саньков
директор отдела распространения Ирина Агронова agronova@veneto.ru: (495) 681-7837, 684-5285

© © 2000-2006 Upgrade