Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Оптимизация соединения с Интернет

Тип Реферат
Предмет Информатика и программирование
Просмотров
390
Размер файла
22 б
Поделиться

Ознакомительный фрагмент работы:

Оптимизация соединения с Интернет

Крис Касперски

Повременная оплата соединения с Интернет горячо любима всеми нерадивыми провайдерами, кривые руки которых не могут как следует отстроить свое хозяйство и обеспечить надлежащую скорость обмена. Клиент получает меньшее количество информации за то же время и, в результате, дольше торчит в Сети. А время – деньги. В самом, что ни на есть, прямом смысле этого слова. Вот если бы оплата шла за каждый скаченный мегабайт… будьте cпокойны – все бы летало как реактивный бомбардировщик с ракетой класса "Буш – Саддам Хусейн", но многие ли провайдеры поддерживают такой тарифный план?

Ладно бы, все злоключения ограничивались одной скоростью (в смысле полным отсутствуем таковой). Так нет же – соединение может быть нестабильным, часто обрываться, а то и не работать совсем – некоторые сайты могут не грузиться, ругаясь на загадочную ошибку "TTL Bug", закачка по ftp может вообще не "фэтэпить"… да разве ж перечислишь все злоключения, терзающие интернетчика!

Конечно, радикальнее всего – сменить провайдера, но это не всегда возможно. В больших городах счет провайдеров идет на десятки, а в провинциях он, монополист окаянный, нередко бывает в единичном экземпляре, что вдвойне хуже: монополисту незачем заботиться о своих клиентах – все равно они никуда не убегут, каким бы скверным качество обслуживания ни было. Да и куда бежать-то?

Впрочем, в клинических случаях стоит задуматься о поиске провайдера в соседнем городе. Как ни парадоксально, но даже с учетом междугородней оплаты за телефон, иногда это выходит в несколько раз дешевле. Правда-правда! Именно так и приходится поступать автору этой статьи.

Менее радикальная мера – настроить параметры TCP/IP-соединения на максимальную производительность, что дает прирост скорости обмена от 30% до 200% и избавляет от большей части разрывов. Остаются лишь фатальные сбои и зависания самого провайдера, побороть которые с клиентской стороны принципиально невозможно.

Существует множество программ, например, MTUSpeed, как раз и предназначенных для этой цели. Одна беда – ни одна из них не работает в полностью автоматическом режиме – все они всего лишь оболочки над системным реестром Windows – так сказать, комфортный инструмент внесения в него изменений. Но легко сказать "вносить"! А как? Множество малопонятных и ничего не говорящих параметров, порой, вообще без каких либо пояснений. Попытки же разобраться во всем "методом тыка" скорее еще больше снизят скорость, чем ее увеличат. Тут без хорошего руководства не обойтись!

Первое, чем мы займемся – попытаемся устранить разрывы TCP-соединений (не путать с разрывами модемных соединений!). Они довольно многочисленны и разнообразны, а причиной их возникновения может быть и провайдер, и один из маршрутизаторов в длинной цепочке передачи пакетов, и сам удаленный сервер, с которым, собственно, и установлено соединение, и… да мало ли еще что!

Начнем с провайдера. Итак, представим себе следующую картину (маслом по дереву): модем не бросает трубку, но все установленные соединения вдруг обрываются и после этого ни к одному серверу подключиться не удается. Положение спасает лишь реконнект – отключение от Интернет и повторный вход вновь. Мало того, что это медленно, к тому же есть риск нарваться на глухую "бизю", если освободившийся телефонный номер мгновенно займет другой клиент (особенно если у провайдера острый недостаток входных номеров). Такие разрывы могут происходить и эпизодически, и по несколько раз в час, а то и в минуту, представляя собой настоящую пытку.

Причина их возникновения, скорее всего, в том, что у провайдера неправильно настроен DHCP-сервер. Тот самый, что выдает пользователям IP-адреса. Как и любой собственник, он выдает их не насовсем, а на некоторое, подчас весьма непродолжительное время. Если клиент (точнее его операционная система) по каким-то там причинам (сеть тормознула, крыша поехала, пакет кто-то прибил) не успеет продлить срок аренды, его IP-адрес будет безжалостно отнят. А когда же, наконец, клиент "проснется" и пошлет петицию DHCP-серверу, тот смилостивится и отпустит с барского плеча еще один IP-адрес, типа: на, пользуйся на здоровье! И вроде бы все ничего, да вот не понимает "народная" Windows 9598 таких извращений! Она ожидает получения IP-адреса всего лишь один раз – на стадии подключения к провайдеру.

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

Прежде необходимо в сеансе MS-DOS запустить утилиту ipconfig (входит в штатную поставку Windows) и посмотреть какой у нас IP-адрес. Если он выглядит как "0.0.0.0" – значит, DHCP-сервер флиртует с операционной системой (в смысле – висит глухо). Если же IP равен "127.0.0.1" – сети напрочь нет и тут что-то серьезное. А вот любое другое значение указывает на верный IP-адрес, который необходимо добавить в голову таблицы маршрутизации, передав его утилите route из штатной поставки Windows следующим образом: "route.exe ADD 0.0.0.0 MASK 0.0.0.0 Ваш IP METRIC 1". Попробуйте установить соединение с каким-нибудь сервером, – теперь все должно заработать.

Работает? Вот и славненько! Однако восстановить соединение без реконнекта – это только полдела. Хорошо бы устранить и причину этих разрывов – ведь не все же сервера поддерживают докачку, а частые разрывы создают большие проблемы.

В идеальном случае следовало бы взять провайдера за ухо и с помощь дяди прокурора ткнуть носом в DCHP-сервер, объясняя ему, что клиент не должен оплачивать некомпетентность инженерного персонала поставщика сетевых услуг за свой счет. Да только в нашей стране такой прием вряд ли возымеет действие… Приходится выкручиваться самостоятельно, но на клиентской стороне очень мало, что можно сделать, да и то, только программистам. Единственное доступное "простым смертным" решение – перейти на Windows 2000 – с этой проблемой она справляется на раз!

Второй по счету источник неприятностей – эта пресловутая ошибка "TTL bug", приводящая к невозможности установки соединения. Дело в том, что во избежание засорения сети "Летучими Голландцами", то есть, попросту говоря, зацикленными пакетами, каждый из них имеет ограниченный срок существования, указанный в заголовке и измеряемый количеством промежуточных узлов, которые может посетить пакет. Если пакет не будет доставлен за это время, он "прибивается" очередным маршрутизатором c посылкой отправителю соответствующего "похоронного" уведомления.

Чем больше транзитных узлов расположено между отправителем и получателем, тем дольше пакеты добираются из одного конца в другой. К счастью, время жизни пакета (аббревиатура TTL так и расшифровывается Time To Live – время жизни) очень легко изменить: запустите Редактор Реестра, предварительно зарезервировав сам реестр, и откройте ветвь HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip Parameters DefaultTTL для ОС Windows NT2000 и HKEY_LOCAL_MACHINE System CurrentControlSet Services VxD MSTCP DefaultTTL для Windows 9x, – она-то и управляет сроком жизни пакетов. По умолчанию он равен 32 узлам, но, как показывает практика, в некоторых случаях этого явно недостаточно и стоит увеличить его, по крайней мере, вдвое. (Можно и больше – но от этого лучше не станет, хотя и хуже – тоже). После внесения изменений в реестр следует перезагрузиться, заново войти в сеть и проверить, возымело ли это какое-то действие.

Возымело? Так... Cоединение с ftp-сервером установить удается, но вот закачка не работает, хоть убей: сколько ни жди, а индикатор прогресса издевательски остается на нуле процентов. Абыдно, понимашь! Что ж, будем лечить! Попробуйте для начала включить опцию с интригующим названием Распознавание Черной Дыры – "Black Hole Detect".

Зачем она нужна? А вот зачем – хитрая Windows, стремясь увеличить скорость передачи данных, пытается вычислить максимальный размер пакета, который бы обрабатывался пересылающими его маршрутизаторами без разрезания. Разрезание (или, говоря профессиональным языком, фрагментация) ощутимо снижает скорость соединения, особенно если пакет дробится на две неравные половины. Например, пусть компьютер клиента пытается передать пакет размером в 576 байт, но один из маршрутизаторов в цепочке "умеет считать" только до 512, и разрезает пакет на два, причем во второй попадает "хвостик" из 64 байт, плюс… заголовок, занимающий от 40 и более байт. В итоге – КПД второго пакета составит всего лишь 50%, что очень нехорошо!

Если Windows видит, что избежать фрагментации не удастся, она уменьшает размер пакета так, чтобы он без проблем прошел сквозь все маршрутизаторы одним куском. Но не проще было бы сразу задать минимальный размер? Нет, и вот почему: чем меньше пакет, тем выше накладные расходы на его пересылку (заголовок тоже ведь занимает место) и тем больше пакетов требуется переслать для передачи того же объема информации.

Умение Windows подбирать максимальный размер нефрагментируемого пакета всем хорошо известно, да вот беда – не всегда это работает. Некоторые, не слишком демократичные маршрутизаторы, получив слишком длинный (по их мнению) пакет с пометкой "не фрагментировать", прибивают его на месте безо всяких уведомлений! Windows же, не подозревая, что посланный ею пакет погиб, ждет отклика от сервера. Долго ждет… А затем, так и не дождавшись, вновь посылает тот же самый пакет. И все повторяется! Вот этот-то недемократичный маршрутизатор и называется "Черной дырой"!

Включение опции "Black Hole Detect" активирует хитроумный алгоритм распознания "Черных Дыр" для обхода их стороной. Но за все приходится платить, и такое детектирование несколько снижает общую производительность. Несильно – но все ж таки! Поэтому прибегать к нему следует только в крайних случаях, когда действительно что-то не работает: соединение есть, а трансфер (передача данных) на нуле.

Запустите "Редактор Реестра" и откройте ветвь HKEY_LOCAL_MACHINE System CurrentControlSet Services VxD MSTCP для Windows 9598 и HKEY_LOCAL_MACHINE System CurrentControlSet Services Tcpip Parameters для Windows NT2000. Найдите или при необходимости создайте двоичный параметр PMTUBlackHoleDetect для Windows 9598 и EnablePMTUBHDetect для Windows NT2000. Теперь присвойте ему значение "1" и перезагрузитесь.

Что? Все равно не работает? Хм… Боги, боги, зачем вы так несправедливы?! Ничего не остается, как расстаться с надеждой пересылки пакетов максимального размера и перейти на размер, обязательный (ну, формально обязательный) для всех маршрутизаторов – 576 байт. Для этого в той же самой ветке реестра найдите (создайте) двоичный параметр PMTUDiscovery для Windows 9598, а для Windows NT2000 – EnablePMTUDiscovery , и присвойте ему значение "0". Перезагрузитесь. Ну, должно же это, наконец, заработать!

Кстати, с типом двух этих ключей творится что-то непонятное. Документация от Microsoft утверждает, что он (тип, в смысле) должен представлять собой двойное слово, то бишь, по-английски DWORD. Однако у автора под Windows 2000 закачка по ftp начинает работать только после создания указанных ключей типа одиночного слова (WORD), а DWORD-ключи операционная система упорно игнорирует. Мистика какая-то…

Теперь поговорим об оптимизации соединения. Оптимизация – дело непростое. Это не то что: работает система или нет. Работать-то она работает, вот только как? Тривиальным измерением скорости скачиваемого файла ничего выяснить не удастся. График скорости только в исключительных случаях (и на хороших каналах) представляется прямой линией. Гораздо чаще он напоминает трассу Урюпинск – Ханты-Мансийск: сплошные бугры, колдобины, ямы… словом, крайне испещренная местность. Говорить о средней скорости можно только в переносном смысле, тем паче, что она может сильно варьироваться в зависимости от времени суток, сервера, с которым установлено соединение, количества осадков, выпавших в Африке, да мало ли еще от чего!

До начала экспериментов потребуется собрать статистику работы сети за некоторое время, скажем, за неделю. В этом поможет программа Net Medic (http://download.ru/) или любая другая, аналогичная ей. Затем, после внесения изменений в настройки системы, собирается другая статистика, опять-таки на протяжении семи-десяти дней, и сравнивается с предыдущей: изменилось ли что и если да, то в какую сторону?

Дело это, конечно, медленное, но иного способа тонкой настройки нет. Необходимо убедиться в увеличении скорости обмена со всеми серверами и во все времена суток, то есть, найти компромиссный оптимум. Не все, что хорошо для одного случая, так же хорошо подходит для другого. Взять ту же фрагментацию уже рассмотренную выше. Автоматическое определение подходящего размера пакета не всегда увеличивает скорость соединения, нередко оно ее уменьшает, подчас весьма значительно, – автоматическое определение занимает какое-то время, увеличивая накладные расходы и снижая КПД. Имеет смысл попробовать найти оптимальное значение вручную.

Первым делом необходимо указать Windows, что требуется использовать не максимально возможный, а заранее оговоренный размер пакета. Для этого установите значение ключа PMTUDiscovery (EnablePMTUDiscovery) в ноль. Затем задайте желаемый размер пакета. По умолчанию он равен 576 байтам – это значение по стандарту должны поддерживать все маршрутизаторы, – да только кто эти стандарты соблюдает? Вот и встречаются узлы, обрабатывающие пакеты размером не более 512, 522, 556,… байт. В принципе, можно поставить 500 и не мучаться проблемой выбора, но так неинтересно. Разве не заманчиво методичным подбором байтов оптимизировать соединение до конца?

Размер пакетов для Windows 9598 задается ключом MaxMTU, находящимся в той же самой ветке реестра, что и предыдущие ключи. С Windows NT2000 посложнее: чтобы выяснить местоположение ключа MTU необходимо определить идентификатор используемого адаптера. Перечень всех адаптеров компьютера содержится в ключе Adapters ветки HKEY_LOCAL_MACHINE System CurrentControlSet Services Tcpip Parameters. Как правило, большинство персональных компьютеров обходятся лишь одним адаптером – контроллером удаленного доступа (нет, это не плата расширения, это драйвер такой) и буридановой проблемы выбора нужного идентификатора не стоит. Идентификатор же, – это такое длинное малопонятное число, например: 20692835-7194-467A-A2DC-0FAE23F0A70D.

Запоминаем (записываем) его и открываем ветку HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services ИдентификаторАдаптера Parameters Tcpip (В Windows 2000 – HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Parameters Tcpip Interfaces ИдентификаторАдаптера)

Среди прочего хлама здесь должен находиться только что запомненный идентификатор адаптера, а в нем – ключ MTU, содержащий в себе максимальный размер пакета в байтах. Если такого ключа нет, его необходимо создать. Тип ключа MTU в обоих случаях соответствует двойному слову (DWORD).

Второй бастион оптимизации – размер TCP-окна. Чем "шире" окно, тем выше производительность, но, в то же время, больше издержки на повторные пересылки: случись какой сбой, – не до конца заполненное окно очистится и придется его "набивать" с самого начала. К тому же, баловство с неумеренно широкими окнами часто приводит к образованию заторов в сети: промежуточные узлы не успевают обрабатывать сыплющийся на них поток пакетов и начинают жутко тормозить. Причем, не только у виновника несчастья, но и у других ни в чем не повинных пользователей.

Ширина TCP-окна должна быть кратна размеру пакета за вычетом длины заголовка и превосходить его по крайне мере в четыре-шесть раз. В некоторых случаях наивысшая производительность достигается при ширине окна в 10х-12х (где х – размер пакета без заголовка, называемый так же "квиком"), а то и больше. Некоторые отчаянные головы пробуют даже бóльшие значения и утверждают, что все работает "на ура!", но у автора такие значения не показывают чудес производительности, поэтому подтвердить сказанное он не берется. Размер заголовка непостоянен и варьируется от 40 до 60 байт, – не забывайте об этом при поиске оптимальной ширины окна!

Для изменения размеров окна откройте ветвь реестра HKEY_LOCAL_MACHINE System CurrentControlSet Services VxD MSTCP для Windows 9598 и HKEY_LOCAL_MACHINE System CurrentControlSet Services Tcpip Parameters для Windows NT2000. Найдите или при необходимости создайте двоичный параметр (двойное слово, DWORD) DefaultRcvWindow для Windows 9598 и TcpWindowSize для Windows NT2000. Присвойте ему желаемое значение (например "3680", если размер пакета, заданный ключом MTU, равен 500 байт: (500 – 40) * 8 = 3/600) и перезагрузитесь.

Оцените, как изменилась скорость соединения. Если она возросла, увеличьте ширину окна еще на один квик (не байт!), если уменьшилась, – сузьте окно, а если осталась без изменений, – расширьте окно на пару квиков. Так, в конце концов, будет найдено оптимальное значение. Интернет-гуру утверждают, что оптимум ширины окна зависит от загруженности провайдера и сильно колеблется в течение суток. При максимальной загруженности в "час пик" окно лучше прикрывать, оставляя лишь узкую щель (3х-4х), а ночью, когда все нормальные юзеры давно баиньки, и канал полностью свободен – широко распахивать обе створки (10x и выше). Никаких суточных вариаций у своих провайдеров автор не замечал, но готов поверить, что в некоторых случаях они могут иметь место, и гуру не врут.

Помимо вышеупомянутых опций реестр Windows содержит множество других значений, относящихся к TCP/IP, но рассказывать о каждом из них было бы слишком утомительно, да и нецелесообразно, – для этого пришлось бы написать отдельную книгу, страниц эдак на пятьсот.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
Физика
История
icon
136882
рейтинг
icon
5825
работ сдано
icon
2637
отзывов
avatar
Математика
История
Экономика
icon
135700
рейтинг
icon
3029
работ сдано
icon
1325
отзывов
avatar
Химия
Экономика
Биология
icon
90086
рейтинг
icon
1992
работ сдано
icon
1252
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
50 871 оценка star star star star star
среднее 4.9 из 5
СамГМУ
Все сделано быстро, без замечаний Попросил добавить пару деталий, без споров все было сделано
star star star star star
РАНХ и ГС Дзержинский филиал
Работа выполнена досрочно,но не были проставлены ссылки которые дожны быть.Замечания испра...
star star star star star
БАТиП
Всё чудесно, работа выполнена досрочно. Не первый раз обращаюсь и не последний, всё на выс...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Изобразить схему,ответить на вопрос

Другое, Электроника

Срок сдачи к 29 мар.

только что

Тема 9. Медицина 19 века в России Задание:

Презентация, история медицины

Срок сдачи к 29 мар.

8 минут назад

Выполнить четыре лб

Лабораторная, Искусственный интеллект

Срок сдачи к 31 мар.

8 минут назад
9 минут назад

Написать курсовую

Курсовая, Криминалистика и уголовное право

Срок сдачи к 26 мая

9 минут назад

Линейное программирование в эксель

Решение задач, Программирование

Срок сдачи к 31 мар.

9 минут назад

Написать содержательный реферат по экономике природопользования

Реферат, Экономика природопользования, недропользование, природопользование

Срок сдачи к 5 апр.

9 минут назад

Дипломная работа

Диплом, Система охраны труда в организации и разработка мероприятий по ее совершенствованию?

Срок сдачи к 30 апр.

9 минут назад

Добрый вечер! Необходимо написать статью "Петербург в качестве книжной...

Статья, Журналистика печатных СМИ

Срок сдачи к 29 мар.

9 минут назад

Доделать ВКР

Диплом, Менеджмент

Срок сдачи к 20 мая

9 минут назад

Цели создания системы Категории данных, их описание

Лабораторная, Базы данных

Срок сдачи к 5 апр.

9 минут назад

Небольшой реферат (3-5 стр.) и 2 задачи

Контрольная, Экономика

Срок сдачи к 2 апр.

9 минут назад

Сделать презентацию на 10 слайдов

Презентация, Стратегический менеджмент

Срок сдачи к 31 мар.

9 минут назад

2415-2420 включительно задачи Тема Определенный интеграл

Решение задач, Математический анализ

Срок сдачи к 2 апр.

10 минут назад

30-35 стр Методичка в файле

Курсовая, Анимация

Срок сдачи к 30 мар.

10 минут назад

Диплом по предмету «строительство»

Диплом, строительство

Срок сдачи к 24 мая

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно