Открылась Компьютерная Ярмарка Expo-com.ru на Тульской 
6000 кв.м, 20 000 покупателей в день.
Удачное расположение (м. "Тульская"), большой ассортимент, автостоянка, лифты, кафе, туалеты, телефонная связь, интернет. 
Арендаторам: 1 месяц бесплатно
Режим работы и проезд см. здесь >>
реклама у нас
***

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) для одного (только одного!) из сетевых адаптеров.

Источник: http://www.computery.ru/upgrade/
 

***

***

Copyright © "Internet Zone"info@izcity.com. Условия использования материалов