Операция по удалению грыжи у TCP/IP
HashFlare
 
Главная HI-TECH Форум Поиск Книги Авторам Новости партнёров Реклама
Новостей на сайте: 10263
Программы  
  Система
  Безопасность
  Интернет и сети
  Текст
  Графика и дизайн
  Мультимедиа
  Программирование
  Бизнес
  Образование
  Дом, семья, хобби
  Игры и развлечения
 
Рассылка
 
HashFlare
 
Рейтинг программ...    
    Ф2Мастер Банк (138310)
    Коллекция руссификаторов O-S (34758)
    Товар версия 1.10 (25287)
    Коллекция софта № 13 (24844)
    NetGraf 1.0 (23967)
    New_Profile v3.4 (400) (23915)
    Revolter Commander 3.9 beta 8 (16370)
    Коллекция софта № 14 (15718)
    Net Transport 2.22 (15382)
    Intel Sound MAX 4.0 Ac' 97 5.12.01 (15201)
 

[!] Знаете ли Вы, что на нашем форуме Вы сможете оперативно получить ответы на Ваши вопросы?


Интернет Статьи
Операция по удалению грыжи у TCP/IP

Больше всего в жизни я ненавижу тормозов. Если людей такого типа еще можно избежать, то вот от модемов с маленькой скоростью никуда не денешься. Меня просто бесит, когда огоньки в правом нижнем углу, отражающие соединение, начинают затухать. Хорошо, если они просто моргают, и мой ишак IE загружает очередную страницу. В этом случае я просто закрываю глаза на несколько минут, а очнувшись, получаю готовую страницу. Но когда я скачиваю громадный файл, и на самом последнем килобайте огоньки тухнут и в течение пяти минут не хотят просыпаться, я готов разбить свою голову б монитор. Так я стал ощущать, что моя черепушка уже не выдерживает таких нагрузок, и мозги могут вытечь наружу.

Я давно уже борюсь со своим коннектом, потому что мне часто приходится качать большие файлы (чаще всего закачивать в сеть). За все время моего пребывания в Инете я сменил несколько момедов, устанавливал различные проксики, менял провайдеров и даже перевел телефон на цифровую станцию. Все это потребовало немаленьких зеленых, а скорости прибавилось процентов на 20. Мои огоньки стали гореть ярче, и шишек на лбу стало меньше. И все же огоньки все так же умирали, хотя и редко.

Вот тут я решил влезть в сердце моего Internet-а и проделать операцию на TCP/IP. Если и ты хочешь реально увеличить скорость своего коннекта, то тебе придется сделать то же самое. После удачной операции скорость увеличивается на 20-40%, а главное - никаких затрат. Приступая к операции, мы сразу же сталкиваемся с небольшой проблемой - в состав Win9x не входит ни одного скальпеля для проделывания этой достаточно простой работы. Ну ничего, такое можно сделать и ручками, изменяя параметры в реестре.

Оптимизация передаваемых пакетов
Итак, запускай regedit и направляйся по адресу: HKEY_LOCAL_MACHINESYSTEMCurrentControl
SetServicesClassNetTrans000. Последние нули в адресе означают профиль. Их у тебя может быть несколько, поэтому адрес может заканчиваться не на 0000, а 0001 или 0002 или даже 0022. Здесь нужно создать строковый параметр MaxMTU и присвоить ему значение... а какое значение, мы сейчас разберемся.

MTU (Maximum Transmission Unit) - максимальный передаваемый пакет. M$, как всегда, выделилась и переименовала этот параметр в MaxMTU - максимально максимальный передаваемый пакет :). В Win9x по умолчанию используется максимально возможное значение 1500. Сплошные максимумы - максимум MTU, максимум максимума, максимум глюков :).

Конечно, чем больше пакет, тем больше данных мы получим. С большим значением MaxMTU момед сможет отправлять большие пакеты, и за раз будет отправляться больше данных. Но если у тебя связь глючная и пакеты регулярно пропадают, то момеду нужно повторять отправку потерянных данных. Может так случится, что момед будет тратить больше времени на отправку или получение потерянных пакетов, чем на новые. Есть еще одна проблема - стандартом для маршрутизаторов долгое время являлось значение MaxMTU, равное 576. Поэтому пакеты разрываются вдребезги маршрутизаторами, и значение MaxMTU желательно понизить.

Возможные значения для MaxMTU - 552, 576, 1002, 1500. Это не значит, что нельзя использовать другие числа, просто эти используются чаще всего и работают лучше (тут я не буду вдаваться в технические подробности).

Размер данных в пакете
Понизив размер максимального пакета, нужно не забывать, что пакет содержит не только данные, но и заголовок, и служебную инфу, которые занимают аж 40 байт. Это значит, что при значении MaxMTU=1500 реально будет передаваться 1460 байт данных. При значении 576 размер данных равен 536. Так что во втором случае у тебя будет в три раза большие потери на служебную инфу, т.к. для передачи 1500 байт данных нужно отправить три пакета по 576, а значит - 120 байт служебной инфы. Так что за счет снижения затрат при потерях пакетов ты в три раза увеличиваешь напряг на сеть служебной инфой.

Не все так страшно, ведь при плохой связи лучше лишний раз передать 40 байт служебной инфы, чем 1500 байт потерянного пакета. Но при хорошей связи пакет нужно делать максимальным.

Количество данных без учета служебной инфы называется MSS (Maximum Segment Size), и равен он MaxMTU-40. Иди в реестр по адресу HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDMSTC и создай там строковый параметр DefaultMSS, равным значению MaxMTU-40 (для особо умных сообщаю, что нужно вписать туда не формулу "MaxMTU-40", а результат вычислений по этой формуле).

Закройте форточку
Все следующие параметры будут располагаться по адресу HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDMSTC, поэтому я буду говорить только их название, тип и что они означают.

Следующим будет строковый параметр DefaultRcvWindow (RWIN - Receive Window) - окно посылки. Когда ты посылаешь запрос на сервер, то он имеет право отправить тебе RWIN количество байт, не дожидаясь подтверждения об удачном приеме. Если записать в DefaultRcvWindow значение, которое ты указал в DefaultMSS, то сервер после каждого отправленного пакета будет ждать подтверждения. В этом случае ты нарвешься на большие задержки. Если ты сделаешь это значение размером в 20 * DefaultMSS, то сервер будет отправлять сразу 20 пакетов. Этим ты увеличишь вероятность потерь пакетов, а значит увеличишь количество запросов и ожиданий потерянных данных.

Параметр DefaultRcvWindow нужно рассчитывать по формуле DefaultMSS * N. В качестве N желательно использовать числа 4, 6, 8 или 10. Самым оптимальным, на мой взгляд, является число 8, но в твоем случае оно может быть и другим.

Время умирать
Следующий строковый параметр - DefaultTTL (TTL-Time To Live), это время жизни пакета. Для того чтобы маршрутизаторы не зацикливались в поисках места назначения пакета, был придуман параметр TTL. Как только значение этого параметра превышает допустимое, пакет считается попавшим в цикл и уничтожается.

По умолчанию DefaultTTL выставлено в 32. Его уменьшение может привести только к ухудшению связи, а увеличение может уменьшить вероятность потерь пакетов. Это связано с тем, что некоторые пакеты могут быть уничтожены только потому, что какому-то маршрутизатору вздумалось отправить пакет дальней дорогой. Такое бывает редко, но все же я рекомендую увеличить это значение до 64-х, тебе от этого хуже не станет. Хотя скорость увеличится незаметно, по крайней мере, тестами это не определишь. Если ты сможешь таким способом спасти пару заблудившихся пакетов в неделю, то можно считать, что у тебя золотые руки, так что беги сдавать их в ломбард.

Подслушивающие устройства
Подслушивающие параметры в основном не очень хорошо влияют на соединение. Смотри сам:

Строковый параметр PMTUDiscovery (Path Maximum Transmission Unit Discovery) - обнаружение пути с максимальным размером пакета. Если выставить этот параметр в "1", то TCP/IP перед соединением будет искать путь с наивысшим MTU. При правильно настроенном MaxMTU, этот параметр только тормозит протокол за счет лишних затрат времени на поиск.

Строковый параметр PMTUBlackHoleDetect (нахождение черных дыр) - если выставить этот параметр в "1", то перед началом соединения будет происходить проверка на мертвые маршрутизаторы по пути до сервака. Советую не выставлять этот параметр, потому что он тормозит протокол. Мертвые маршрутизаторы встречаются не так часто, и затраты на их поиск не окупаются. Поэтому я категорически не рекомендую совать сюда свои грабли.

Dead Can Dance
Вся работа по настройке TCP/IP связана с редактированием реестра. Сильно "прямые" руки могут убить его до неузнаваемости. Если ты дошел до такой ручки, то:

1. Перезагружай компьютер.

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

3. Выбери "Command Prompt Only". Так ты попадешь в Dos.

4. Набери в командной строке scanreg/restore. Запустится программа восстановления реестра.

5. Тебе предложат выбрать любой из 4-х рабочих реестров за последние 4 дня.

6. Выбирай, жми Enter.

Когда восстановишь реестр, подключайся к Инету и скачивай себе маленькую утилитку Ispeed (чуть меньше 600 кило), которая позволяет сделать все настройки автоматически.

ISpeed - спасенье от кривых конечностей http://www.hms.com/ispeed.htm

Ispeed - эта халявная утилита, которая позволяет автоматически оптимизировать TCP/IP стек. В главном окне ты можешь выбрать профиль (profile), который ты хочешь настроить, и смело приступать к оптимизации TCP/IP. Программа позволяет подставлять только допустимые значения всем параметрам, и вероятность ошибки очень мала.

С правой стороны находятся кнопки, упрощающие жизнь простому смертному. Советую начать настройку с нажатия пимпы PPP. Она автоматически выставит оптимальные значения для PPP соединения. После этого можно поправить то, что, на твой взгляд, является более разумным, чем думает прога. Все параметры мы уже рассмотрели, и они не должны вызывать смущения, действуй смелее.

На закладке "Testing" ты можешь протестировать выбранные настройки на каком-нибудь сервере. Если тебя настройки удовлетворили (а меня удовлетворяют только женщины), то нажми кнопку "Save". После сохранения данных в реестре тебе предложат сохранить выбранные настройки в файле историй (Hystory). Обязательно соглашайся с этим предложением. Сто баксов мне в задний проход, если это не самая гениальная возможность проги.

Перейди на закладку "Hystory". Здесь ты можешь выбрать любую из сохраненных тобой конфигураций и одним нажатием крысы задействовать любую из них. А на закладке Analysis можно посмотреть в виде графика скорость на каждой из сохраненных тобой конфигураций. Двести баксов мне в задний проход, если это не самая офигенная возможность проги.

Вне игры
Итак, вот такими косметическими настройками можно прибавить до 40% в скорости при работе с Инетом. Если тебя и это не удовлетворило, то переходи на Linux, там стек TCP/IP работает немного лучше. Ну а если и это не вариант, то выбирай Windows 2000. Честно сказать, я поразился, что в нем изначально TCP/IP оказался достаточно быстрым и в дополнительной оптимизации не нуждается. Так что флаг тебе в руки и витую пару в задний проход.

Автор: Horrific
Источник: http://www.xakep.ru


Ссылки по теме:
Что такое баннеры и как их едят
Какой браузер самый правильный, навороченный и безопасный?
Видеонаблюдение через интернет Yota на базе WiMax 4G
WebVisor будет следить за интернет-пользователями более тщательно
Браузер Opera Mini теперь и для iPhone



 
Статьи    
  Windows 10
  Windows 8
  Windows 7
  Windows Vista
  Windows XP/2003
  Windows NT/2000
  Безопасность
  Windows 9x/ME
  Hardware
  Software
  Интернет
  BIOS
  Сеть
  Разное
 
Рекомендуем
 
 
Рейтинг статей...    
    Предел входящих подключений в Windows (128666)
    Как установить Windows XP на ноутбук или как добавить SATA-драйвер в дистрибутив Windows XP (69475)
    Из дома в офис - быстро, надежно и безопасно (55386)
    Всё, что надо начинающему хакеру (50360)
    Восстановление реестра Windows XP (23272)
    Второй сервис-пак для Windows XP: личный опыт (23145)
    Вызываем синий экран смерти Windows (18423)
    Настройка удаленного подключения между Windows 7 и Linux с помощью TightVNC (17412)
    Информация о proxy серверах (17273)
    Как устроена защита Windows Vista (17118)
 
 
Programmed by Ventura
 

 

Яндекс цитирования