Установка правильного значення MTU (Maximum Transmission Unit) в роутері і іншому мережевому обладнанні дозволяє досягти оптимального використання каналу зв’язку і при необхідності вирішити існуючі проблеми з інтернетом.
Maximum Transmission Unit – максимальний корисний блок даних, який може бути переданий без фрагментації. Під фрагментацією розуміється процес поділу пакету на менші частини. Якщо в мережі кілька маршрутизаторів і кожен з них буде «розділяти» пакет, то це може створити додаткове навантаження для кінцевого маршрутизатора, який буде збирати всі фрагментовані пакети в одне ціле (потрібно враховувати додаткове навантаження, оскільки для кожного фрагмента на всьому шляху передачі буде створюватися новий заголовок). У мережевий моделі OSI процес перетворення пакету у кадр відповідного одиниці MTU відбувається на другому – канальному рівні (L2).
Навіщо обмежувати MTU
В ідеальному випадку встановлення однакового максимального розміру пакету MTU на всіх пристроях дозволила б уникнути проблем в мережі. Але з урахуванням різних каналів зв’язку, обладнання та технологій цього досягти неможливо. В сучасних операційних системах і маршрутизаторах розмір MTU в байтах визначається і вираховується автоматично і як правило немає необхідності міняти, але якщо виникли проблеми зі зв’язком, не викачуються файли, погіршилася якість відтворення відео, низька швидкість завантаження сторінок – необхідно перевірити встановлене значення. Без необхідності змінювати цей параметр не рекомендується. В цілому обмеження необхідно для:
- оптимального використання смуги пропускання різними додатками;
- скорочення часу передачі інформації, зниження навантаження на канал;
- підвищення ефективності мережі, мінімізації ризиків втрати даних.
Для різних мережевих топологій параметр MTU може відрізнятися і стандартне значення задається рівним:
- PPPoE = 1480 байт;
- L2TP = 1460 байт;
- Ethernet = 1500 байт;
- FDDI = 4352 байт;
- 4 Mbps Token Ring = 4464 байт;
- 16 Mbps Token Ring = 17914 байт.
Wifi на byfly – налаштування і підключення
Але завжди потрібно враховувати особливості провайдера. Тому не зайвим буде у нього отримати консультацію з оптимальної настройки. У багатьох операційних системах і маршрутизаторах за замовчуванням розмір пакета Maximum Transmission Unit задається рівним 1500.
Як дізнатися потрібне значення
Для виміру значення параметра можна використовувати як сторонні програми, так і вбудовані компоненти операційної системи. Рекомендується використовувати штатні засоби ОС. Наприклад — за допомогою утиліти «ping», яка використовується для первинної діагностики мережі і встановлена за замовчуванням практично в будь-якої сучасної операційної системи. Для цього в системі Windows необхідно запустити програму з параметрами – «f» та «l». Де ключ «f» — встановлює прапор, що забороняє фрагментацію в пакеті IP v4, а «l» — розмір буфера відправлення. Забороняє прапор дозволить знайти шукане значення корисного блоку даних шляхом підбору. В якості діагностичного вузла краще поставити поширений сайт, наприклад, www.mail.ru. Для того щоб скористатися цим способом і розрахувати значення необхідно:
- Запустити в командному рядку cmd – «ping www.mail.ru -f -l 1450».
- Далі слід збільшувати значення буфера до тих пір, поки не буде отримана відповідь ICMP — «Потрібно фрагментація пакету, але встановлений заборонний прапор».
- Для перевірки, знайдене значення потрібно зменшити на один байт і якщо передача пакетів не перерветься, то можна розрахувати MTU. Якщо урветься – тоді повторювати ітерації, але вже зменшуючи буфер відправлення.
При отриманні повідомлення «Потрібно фрагментація пакету, але встановлений заборонний прапор» пакет буде відкинутий, т. к. прапор не дозволяє виконати фрагментацію.
Знайдене значення 1464 байту відповідає параметру MSS (Maximum Segment Size) – корисний блок даних пакета TCP. А для розрахунку Maximum Transmission Unit – потрібно до MSS додати довжину заголовка ICMP і IP (28 байт):
Збільшення швидкості інтернету на вашому комп’ютері або ноутбуці
1464 + 28 = 1492 байт – оптимальний розмір блоку
На прикладі роутера
Для зміни MTU в роутері «Zyxel Keenetic Lite III», необхідно вибрати потрібний інтерфейс Ethernet (куди підключений інтернет), знайти в налаштуваннях полі «MTU» і задати значення. Ця настройка виконується аналогічно майже у всіх роутерах, за винятком професійних маршрутизаторів Cisco, Juniper – у них налаштування виконується в консолі.
Інтерфейс підключення до інтернету:
Розмір MTU:
У комп’ютері
Для зміни параметра в операційній системі Windows, можна скористатися утилітою «Netsh» або редактором реєстру.
З допомогою «Netsh»
Для цього необхідно:
- Запустити в командному рядку (краще відразу запускати «cmd» від імені Адміністратора) для отримання списку інтерфейсів:
netsh interface ipv4 show subinterfaces
- Встановити розрахункове значення:
netsh interface ipv4 set subinterface Ethernet mtu=1492 store=persistent
Тут:
- set – визначити, встановити;
- subinterface «Ethernet» — найменування інтерфейсу;
- store=persistent – зберегти на постійне час.
- Відключити автоматичну настройку:
netsh int tcp set global autotuninglevel=disabled
- При необхідності повернути автоматичну настройку можна виконавши команду:
netsh int tcp set global autotuninglevel=normal
За допомогою реєстру
Завжди перед редагуванням реєстру рекомендується робити архів гілки, на випадок відкату операції. Для налаштування MTU необхідно виконати декілька кроків:
- Відкрити редактор реєстру «Regedit».
- Знайти гілку реєстру «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\».
- Замість «AdapterID» необхідно вибрати свій мережевий інтерфейс. Щоб не заплутатися у налаштуваннях потрібного інтерфейсу в реєстрі будуть мережеві налаштування IP-адреса, маска, шлюз за замовчуванням.
- У полі двійкового параметра необхідно встановити значення MTU.