The Wonder Shaper

Скріншот програми:
The Wonder Shaper
Дані програми:
Версія: 1.1a
Дата завантаження: 2 Jun 15
Розробник: Bert Hubert
Ліцензія: Безкоштовно
Популярність: 32

Rating: nan/5 (Total Votes: 0)

Чудо формирователь дуже спеціальна мережа формирователь скрипт з великою кількістю функцій. Працює на Linux 2.4 і вище.
Цілі
Я спробував створити Святий Грааль:
* Підтримання низькою затримкою для interfactive руху в усі часи.
Це означає, що завантаження або файли не повинні порушувати SSH або Telnet навіть. Вони є найбільш важливі речі, навіть 200 мс затримка мляво працювати над.
* Дозволити '' серфінг за розумними швидкостях, до або скачування
Навіть якщо HTTP є "основна" трафік, решті трафік не втопити його занадто багато.
* Переконайтеся, що додавання не нашкодити скачували і навпаки
Це набагато спостережуване явище, де перед рухом просто руйнує швидкість завантаження. Виявляється, що все це можливо, за рахунок трохи пропускної здатності. Причина того, що додавання, завантаження і SSH боляче один одного є наявність великих черг на багатьох внутрішніх пристроїв доступу, як кабельні або DSL модемів.
Чому це не працює за замовчуванням
Інтернет-провайдери знають, що вони протестовані виключно на як швидко люди можуть завантажити. Крім того, доступної пропускної здатності, швидкість завантаження залежить значною мірою від втрати пакетів, які серйозно ускладнює роботу TCP / IP. Великі черги можуть допомогти запобігти packetloss, і прискорити завантаження. Так провайдери налаштувати великі черги.
Однак ці великі черги пошкодити інтерактивність. Клавіші повинні спочатку подорожувати вгору за течією чергу, яка може бути секунд (!) Довго і перейти до віддаленого хосту. Це буде відображатися, що призводить до пакету повертаючись, які повинні потім траверс вниз за течією чергу, розташований на вашому ISP, перш ніж вона з'явиться на екрані.
Цей документ навчить вас, як калічити і обробляти чергу у багатьох відношеннях, але, на жаль, не всі черги нам доступні. Черга за у провайдера повністю закриті, в той час як перед черги, ймовірно, живе всередині кабельного модему або DSL пристрою. Ви можете або не можете бути в змозі налаштувати його. Скоріш за все ні.
Отже, що далі? Оскільки ми не можемо контролювати будь-який з цих черг, вони повинні бути усунуті, і переїхав в свій Linux маршрутизатора. На щастя, це можливо.
Обмеження швидкості завантаження кілька
Обмежуючи нашу швидкість завантаження трохи менше, ніж по-справжньому доступною швидкості, ніяких черг не будуть створені в нашому модему. Черга тепер переїхала в Linux.
Обмеження швидкості завантаження
Це трохи складніше, оскільки ми не можемо впливати, як швидко в Інтернеті кораблів США дані. Ми, однак, може відкидати пакети, які йдуть занадто швидко, що призводить до TCP / IP, щоб уповільнити, щоб просто швидкості ми хочемо. Тому що ми не хочемо, щоб впасти трафіку без необхідності, ми налаштовуємо "вибух" розмір ми дозволяємо при більш високій швидкості.
Тепер, коли ми зробили це, ми усунули вниз за течією чергу повністю (для коротких сплесків винятком), і керувати вгору за течією чергу з усією силою Linux пропонує.
Нехай інтерактивного трафіку пропустити чергу
Те, що залишається зробити, це, щоб переконатися, інтерактивного трафіку переходить до передньої частини верхнього черги. Щоб переконатися, що додавання не боляче завантаження, ми також рухатися ACK пакети до передньої черги. Це те, що зазвичай викликає величезний спад спостерігається при генерації трафіку великого обсягу в обидва кінці. У ПОДЯКИ для спадного трафіку повинен конкурувати з вхідний трафік, і отримати затримується в процесі.
Ми також перемістити інші невеликі пакети на початку черги - це допомагає операційних систем, що не встановлені біти TOS, як і всі з Microsoft.
Дозволити користувачеві вказати низький пріоритет трафіку (нове в 1.1!)
Іноді ви можете помітити, низький пріоритет вихідного трафіку сповільнюється важливу трафік. У цьому випадку, наступні опції можуть допомогти вам:
NOPRIOHOSTSRC
Встановіть на господарів або мережеві маски у вашій мережі, повинні мати низький пріоритет
NOPRIOHOSTDST
Встановіть на господарів або мережеві маски в Інтернеті, які повинні мати низький пріоритет
NOPRIOPORTSRC
Встановіть у вихідних портів, які повинні мати низький пріоритет. Якщо у вас є веб-сервер незначну на трафік, встановіть на 80
NOPRIOPORTDST
Встановіть в портах призначення, які повинні мати низький пріоритет.
Див початок wshaper і wshaper.htb
Результати
Якщо ми робимо все це, ми отримаємо наступні вимірювання з використанням відмінну зв'язок ADSL від xs4all в Нідерландах:
Базовий Затримка:
туди-назад хв / ср / макс = 14,4 / 17,1 / 21,7 мс
Без руху кондиціонера, при завантаженні:
туди-назад хв / ср / макс = 560,9 / 573,6 / 586,4 мс
Без руху кондиціонера, в той час як завантаження:
туди-назад хв / ср / макс = 2041,4 / 2332,1 / 2427,6 мс
З кондиціонером, під час завантаження 220kbit / с:
туди-назад хв / ср / макс = 15,7 / 51,8 / 79,9 мс
З кондиціонером, під час завантаження 850kbit / с:
туди-назад хв / ср / макс = 20,4 / 46,9 / 74,0 мс
При завантаженні, завантаження перейдіть на ~ 80% від доступної швидкості. Завантажено на рівні близько 90%. Затримка потім стрибає до 850 мс, досі з'ясувати, чому.
Що ви можете очікувати від цього сценарію в чому залежить від швидкості вашого фактичного висхідній лінії зв'язку. При завантаженні на повній швидкості, завжди буде один пакет попереду свого клавіші. Це нижня межа затримки можна домогтися - розділити свій MTU по вищестоящого швидкості для розрахунку. Типові значення буде дещо вищою, ніж це. Опустіть MTU для кращого ефекту!
Столик:
Швидкість висхідній лінії | Очікувані затримки через завантаження
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
Таким чином, щоб розрахувати ефективну затримку, прийняти вимір базової (пінг на ненавантаженому посиланням), і шукати номер у таблиці, і додати його. Тобто про найкраще, що ви можете очікувати. Це число відбувається з розрахунку, що припускає, що ваш вище клавіші будуть мати на більшій половині повного розміру пакета попереду.
Це зводиться до:
   MTU * 0,5 * 10
   -------------- + Baseline_latency
       кбіт
Коефіцієнт 10, не зовсім правильно, але добре працює на практиці.
Ваше ядро
Якщо ви запустите останню розподіл, все має бути нормально. Ви повинні 2,4 з параметрами QoS включений.
Якщо ви плануєте скомпілювати власне ядро, він повинен мати кілька варіантів включені. Зокрема, в меню Networking Options, QoS і / або Fair чергою, принаймні, перетворити CBQ, Пріо, SFQ, Ступінь, руху поліцейської, підтримка QoS, ставка Оцінювач, класифікатор QoS, U32 класифікатор, класифікатор fwmark.
На практиці, я (і більшість дистрибутивів) просто включите все.
Сценарії
Сценарій поставляється в двох версіях, один з яких працює на стандартних ядер і реалізується за допомогою CBQ. Інша використовує відмінну HTB Qdisc яка не ядра за замовчуванням. Версія CBQ більш випробування, ніж HTB однієї!
Див 'wshaper' і '' wshaper.htb.
Налаштування
Ці сценарії повинні знати "реальний" курс вашого ISP підключення. Це важко визначити заздалегідь, як різні провайдери використовують різні види біт здається. Люди повідомляють успіх, використовуючи наступну методику:
Розрахунковий як ваші вгору і вниз на половину ставки ваш провайдер вказує ,. Тепер перевірте, якщо скрипт працює - перевірте інтерактивність при завантаженні і при завантаженні. Це має забезпечити затримку в розрахунку вище. Якщо ні, перевірте, якщо скрипт виконується без помилок.
Тепер повільно збільшити видобувні і вниз за течією число в сценарії до затримки не повертається. Таким чином, ви можете знайти оптимальні значення для вашого з'єднання. Якщо ви щасливі, будь ласка, повідомте мені, щоб я міг зробити список номерів, які добре працюють. Будь ласка, дайте мені знати, який провайдер ви використовуєте і ім'я вашої підписки, і його передбачуваних специфікацій, так що я можу перерахувати вам тут і врятувати інших неприємностей.
Установка
Якщо ви набираєте, ви можете скопіювати скрипт для /etc/ppp/ip-up.d, і він буде працювати на кожен з'єднання.
Якщо ви хочете, щоб видалити формувач з інтерфейсом, запустіть 'wshaper стоп ". Щоб побачити інформацію про стан, запустіть 'wshaper статусу.
ВІДОМІ ПРОБЛЕМИ
Якщо ви отримуєте помилки, додати -x до першому рядку, наступним чином:
#! / Bin / Баш -х
І повторіть спробу. Це покаже вам, які лінії дає помилку. Перш ніж звертатися в мене, щоб переконатися, що ви використовуєте останню версію iproute!
Останні версії можна знайти на дистриб'ютора Linux, або якщо ви віддаєте перевагу компіляції, тут:
 ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz

Інші програми розробника Bert Hubert

The Wonder Shaper

Коментар не знайдено
додати коментар
Включіть картинки!