Що таке мту в роутері. Детальний опис значення параметра MTU. Його значення, налаштування

При неправильному вказівці розміру MTU для PPPoE з'єднаннявід Ростелекома можуть виникнути проблеми під час відкриття деяких ресурсів. Перш ніж визначити необхідну конфігурацію налаштування для вашого підключення, варто дізнатися докладніше про те, що є даною опцією.

TCP MTU option у Ростелекома та інших провайдерів

Як протокол мережевого рівняу наборі TCP/IP останній призначається для реалізації потенційно великих системлокальних мереж. За час роботи з IP ми звикли до концепції хостів, які можуть надсилати інформацію туди й назад, незважаючи на те, що вони розташовані досить далеко один від одного, і даним, можливо, доведеться подорожувати безліччю пристроїв. Навіть якщо зазвичай ми розглядаємо набір протоколів TCP/IP в Інтернеті як абстрактна «віртуальна мережа», ми завжди повинні пам'ятати, що на мережевому рівні дані проходять по одній або кількох фізичних лініях.

Як відбувається надсилання даних?

Для того щоб передавати інформацію за протоколом IP, дані інкапсулюються (упаковуються) у дейтаграми ( інформаційні блоки). Вони, у свою чергу, повинні бути відправлені по фізичному каналубезпосередньо до місця призначення або опосередковано до наступної проміжної стадії подорожі до одержувача. Значення розміру таких пакетів даних і має назву MTU (Maximum Transmission Unit), що використовується в PPPoE підключеннях Ростелекома та інших провайдерів.

Реалізація канального рівняпоміщає транспортоване повідомлення та заголовки в єдиний пакетданих – IP-дейтаграму. Це відразу ставить перед нами потенційне питання – чи відповідає дейтаграма розміру пакетів базової лінії передачі даних, що підтримується.

Відповідність IP-дейтаграм розміру блоку в базовій мережі

Базова мережа, яка використовується для підключення до інших пристроїв, може бути:

  • локальної (Ethernet);
  • бездротовий (Wi-Fi 11);
  • комутованої;
  • телефонної (DSL);
  • оптоволоконні (FDDI).

Кожна фізична мережа, як правило, використовує власний форматпередачі, що має обмеження на кількість даних в одному блоці. Якщо IP-дейтаграма надто велика для розділу канального рівня певного формату мережі, у нас виникне проблема.

Наприклад, розглянемо FDDI. Максимальний розмір поля даних FDDI становить близько 4470 байт, залежно від використання SNAP (SubNetwork Access Protocol). Це означає, що FDDI може обробляти IP-дейтаграм до 4470 байт. На відміну від нього, Ethernet використовує формат, який обмежується розміром пакета 1500 байт і не зможе взаємодіяти з IP-дейтаграмою більшого обсягу.

Отже, пригадаємо, що передача дейтаграми в об'єднаній мережі може здійснюватися більш ніж через одну фізичну лінію. Для того, щоб отримати доступ до ресурсу в інтернеті, ми, як правило, надсилаємо запит через наш місцевий маршрутизатор, який потім з'єднується з іншими пристроями, що надсилають його на інтернет-сайт. Кожна ділянка цього ланцюга може використовувати власний основний розмір пакета.

Ідея протоколу мережного рівня для реалізації концепції віртуальної мережі» полягає у передачі даних між пристроями, навіть якщо вони знаходяться далеко один від одного. Це означає, що більше високі рівніне повинні турбуватися про такі деталі, як обмеження розміру базових технологійканалу. Тим не менш, про це хтось має подбати, чим і займається IP (Internet Protocol).

Межа IP: налаштування MTU у Ростелекому

Всі IP пристрої в інтернеті повинні отримувати інформацію про якість технології, що використовується для реалізації каналу зв'язку поточного рівня. Таким критерієм є MTU мережіРостелекома, налаштування якого виконується на мережеве обладнаннякористувача. Цей термін також іноді розглядається як максимальний розмірблоку передачі.

Цікаво: Існує два способи зміни MTU: у самій операційній системіабо в налаштуваннях роутера. Другий стане оптимальним, тому що за його допомогою всі пристрої вашої мережі зможуть отримати інформацію про необхідне значення.

Коли пристрій приймає повідомлення, яке надсилається через інтернет-мережі, воно дивиться на його розмір, а потім обчислює, наскільки великою буде дейтаграма після додавання 20 або більше байтів, необхідних заголовку IP. Якщо загальна довжина перевищує MTU Ростелекома для PPPoE підключення до конкретної мережі Internet Protocol розділить повідомлення на кілька фрагментів. Таким чином, при підключенні хоста рівня TCPза допомогою Ethernet LANдо своєї локальної мережі, він зможе використовувати MTU option, вказаний обладнанням Ростелекому.

Дізнатися, який MTU у Ростелекома на вашому типі підключення та обладнання можна безпосередньо у провайдера, зателефонувавши на . Значення цієї опції більшість мереж у Росії вбирається у 1492 байт. З'ясувати оптимальний варіантдля власного інтернету можна особисто відштовхуючись від зазначеного значення.

Роутер для роздачі провідного інтернету Wi-Fi встановлений практично в кожній сучасній квартирі. Найчастіше користувачі налаштовують маршрутизатор один раз, використовуючи помічник з автоматичного налаштування, після чого не змінюючи опції пристрою. Подібна позиція не завжди правильна, і часто автоматичне налаштування Wi-Fi роутеране дозволяє досягти максимально якісного з'єднання з інтернетом. Однією з опцій у налаштуваннях маршрутизатора, який користувачі не приділяють належної уваги, є MTU. У рамках цієї статті розглянемо, що таке MTU в налаштуваннях роутера, і яке значення потрібно виставити для оптимальної роботиІнтернету.

Що таке MTU у налаштуваннях роутера

MTU (maximum transmission unit)– це максимальний рівеньпередачі даних у мережі. Іншими словами, MTU є протоколом канального типу, який визначає максимальна кількістьбітів з корисною інформацією, що містяться в один мережевий пакет. Дані пакети інформації передаються від провайдера до користувача, тобто від серверів до клієнта. У пакеті дані передаються без фрагментації, за рахунок чого вдається збільшити швидкість передачі даних захищеними каналами зв'язку.

Якщо не вдаватися до подробиць, можна сказати, що параметр MTU відповідає за якість передачі інформації від провайдера до комп'ютера користувача. У цьому під якістю розуміється як виняток ймовірності втрати даних під час передачі, а й швидкість.

Чому потрібно обмежити розмір MTU у налаштуваннях роутера

У більшості сучасних роутерів розмір MTU визначається автоматично, і робиться це не завжди правильно. Користувачам, які дбають про якість та швидкість з'єднання, рекомендується самостійно обмежити розмір MTU, визначивши його оптимальне значення та встановивши його в налаштуваннях маршрутизатора.

Завдяки правильно виставленим налаштуванням MTU вдається:

  • Розширити канал передачі, за рахунок чого їм одночасно зможуть скористатися різні служби, програми, процеси тощо;
  • Позбавити канал зайвого навантаження, що збільшить швидкість передачі даних;
  • Знизити практично до нуля шанс отримання «зіпсованих пакетів» з даними під час передачі через мережу.

Загалом при правильно виставлених обмеженнях MTU вдається раціонально використовувати пропонований провайдером канал зв'язку, з мінімальним ризиком втрати інформації.

Правильне налаштування MTU необхідне, якщо є проблеми з інтернетом на комп'ютері, наприклад: довго завантажуються сайти, високий пінгпри підключенні до стороннім серверам, завантаження файлів з інтернету іноді так обривається і виникають інші проблеми.

Яке значення MTU потрібно виставити

Щоб визначити оптимальне значення MTU, потрібно провести тестування мережі, що можна зробити з комп'ютера під керуванням Windows. У ході тестування потрібно визначити, як багато часу йде для передачі і повернення пакета з даними від комп'ютера до сервера. При цьому під час тесту потрібно буде варіювати кількість байт інформації, що міститься у пакеті. Знижувати кількість байт потрібно до того моменту, поки не вдасться повністю виключити фрагментацію пакета.

Виконайте тестування мережі таким чином:


Найчастіше оптимальне значення MTU знаходиться в межах від 1500 до 1400 байт.

Визначившись із оптимальним значенням MTU, потрібно змінити цю опціюв налаштуваннях роутера, встановивши певну кількість байт, але з невеликою зміною. Справа в тому, що кінцева величина MTU відрізнятиметься від визначеної в минулому кроці, оскільки будуть потрібні додаткові байти для формування пакета, які підуть на його заголовок та запит.

У середньому на заголовок і запит потрібно 28 байт. Відповідно, ідеальне значення в даному випадку буде:

1472 байта + 28 байт = 1500 байт

Значення 1500 потрібно прописувати в налаштуваннях роутера.

Для точного визначення MTU потрібно вказати значення за промовчанням - 1500.

Існує безліч утиліт, які дозволяють це зробити та й не тільки це. Найбільш поширені – Internet Tweak 2001 http://www.magellass.com/ , NetBoost 99 http://www.download.ru/ , iSpeed http://www.hms.com/ , MTUSpeed http://www.mjs.u-net.com/ , BlazeNET http://www.indeavour.com/html_about_blazenet.htm.Якщо ж у вас нема. можливості запустити одну з перерахованих вище програм, зробіть це вручну - за допомогою реєстру Windows.

В розділі

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\OOOx.

Якщо є параметр MaxMTU - видаліть його. Далі, у Панелі управління запустіть утиліту Мережа,на вкладці Конфігураціявиберіть пункт списку Контролер віддаленого доступута натисніть кнопку Властивості.Відкриється діалогове вікно Властивості: Контролер віддаленого доступу.На вкладці Додатковоу групі параметрів Властивістьвиберіть пункт списку Розмір пакета IP,а в групі параметрів Значення - велике(Рис. 8.1).

Мал. 8.1.Діалогове вікно Властивості: Контролер віддаленого доступу

Тим самим MTU стає рівним 1500. Для того, щоб зміни набули чинності, перезавантажте комп'ютер.

Щоб перевірити, чи будуть фрагментуватися пакети, потрібно встановити з'єднання з Інтернетом. Для цього можна використовувати програму Ping, що входить до складу будь-якої операційної системи Windows.

У ній. потрібно задати такі параметри:

ping -f -1 1500 ххх.ххх.ххх.ххх

де ххх. ххх. ххх. ххх - IP-адреса тестованого сервера.

Для тестування MTU набагато зручніше використовувати сучасні програмиз графічним інтерфейсом. Існує безліч таких програм. Наприклад, IP Tools. Для початку потрібно визначити IP-адресу сервера, що тестується, щоб уникнути втрати часу, що відводиться на запит DNS.

Для цього скористайтесь командою Traceroute. Натисніть кнопку Пуску лівому нижньому куті екрана, виберіть команду Виконатиі у вікні наберіть та URL веб-сайту. З'явиться вікно MS DOS. Наприклад, ввівши будь-яку адресу, через деякий час з'явиться його IP у квадратних дужках. Тепер скористайтесь програмою Ping. Запустіть її з такими параметрами

ping -f -I 1500 ххх.ххх.ххх.ххх

де ххх.ххх.ххх.ххх - IP-адреса сервера, що тестується. Найбільш сприятливий час для перевірки MTU для комутованого з'єднання – ніч. Тоді навантаження на лінії зв'язку найменше.

Якщо жодної відповіді не отримано - пакет втрачено. Причому тому, що фрагментувати його заборонили, а розмір занадто великий для обладнання провайдера. Починайте поступово зменшувати розмір пакета. Наприклад, замість значення MTU 1500 встановіть 1480 і т. д., доки відповідь не буде отримана.

Можливо, ваш інтернет-провайдер використовує менше значення. Наприклад, 1524, 1152, 1024, 1006, 576, 568, 560, 552, 548, 536, 528, 520, 512.

Цей експеримент підтвердив нашу здогад - інтернет-провайдер може використовувати будь-який розмір пакета, аж до 1500. Якщо вам ще не набридло експериментувати - спробуйте завантажити файл розміром 500 Кбайт з одного і того ж сервера при різних значеннях MTU.

Швидше за все, ви зрозумієте, що швидкість більша за використання великих

пакетів. Повторюся, що це тільки якщо ваш провайдер може приймати їх, не фрагментуючи. Також, якщо "пінгувати" багато ваших улюблених сайтів нефрагментованим пакетом, ви побачите, що майже всі нормально приймають пакети розміром 1500.

І що? Ви можете запитати: "Де ж той рекомендований MTU, рівний 576?" А його, як виявляється, майже ніде і немає. Тому найкращою порадоюможе стати - не слідувати чужим рекомендаціям, проводити власні дослідження, які можуть дати реальні результати.

Справді, на якість та швидкість роботи в Мережі сильний вплив надає фрагментація пакетів, яка відбувається, якщо великий пакет проходить через мережу, що має MTU менше, ніж довжина пакета.

Можна, звичайно, перестрахуватися та вибрати самий мінімальний розмір MTU, при якому пакети напевно не фрагментуватимуться, але це може позначитися на швидкодії вашої системи ще згубніше, ніж використання великих пакетів. Насправді, головне - щоб ваш MTU не перевершував MTU провайдера, при включеній функції

PMTU система сама знайде для ваших пакетів такий шлях у Мережі, коли вони не будуть фрагментуватися.

До речі, якщо ви виявите, що у провайдера встановлено MTU=512 і менше, тобто сенс подумати про його зміну – надто багато шлаку буде передаватись разом із вашими даними.

Коли хост повинен передавати дані через інтерфейс, він посилається на максимальний розмір корисного блоку даних для одного пакета Maximum Transmission Unit,щоб визначити, скільки даних може помістити в кожен пакет. Наприклад, інтерфейси Ethernet мають MTU за замовчуванням 1500 байт, не включаючи заголовок або Ethernet-трейлер. Це означає, що хост, якому необхідно відправити дані по TCP-протоколу, зазвичай буде використовувати перші 20 з цих 1500 байтів для заголовка IP, наступні 20 для заголовка TCP, а 1460 байт, що залишилися для корисного навантаження. Інкапсуляція даних у пакети максимального розміру, подібні до цього, дозволяє споживати смугу пропускання найбільш ефективно, мінімізуючи використання службового трафіку протоколу передачі даних. Оптимальний розмір MTU - ключ до ефективному використанню мережевих каналівпередачі даних та зниження навантаження на мережеве обладнання.

На жаль, не всі пристрої мережі Інтернет мають однаковий максимальний розмір корисного блоку даних MTU. MTU може відрізнятися залежно від типу фізичного носія або налагодженої інкапсуляції (наприклад, тунелювання GRE або шифрування IPsec). Коли маршрутизатор вирішує надіслати IPv4 пакет через інтерфейс і визначає, що розмір пакета перевищує MTU інтерфейсу, маршрутизатор повинен розбити пакет так, щоб передати його як дві (або більше) окремі частини, кожна з яких не перевищує граничний розмір MTU каналу між абонентами. Фрагментація досить дорого коштує як у ресурсах маршрутизатора, так і у використанні смуги пропускання. Повинні бути створені нові заголовки та прикріплені до кожного фрагмента. У специфікації IPv6 з маршрутизатора повністю видалена фрагментація пакетів, але ця тема для окремої розмови.

Визначення оптимального розміру MTU пакета даних

Щоб використовувати канал найбільш ефективним чином, хости повинні визначити оптимальний розмір MTU – це мінімальний MTU серед усіх вузлів на шляху між хостами. Наприклад, для двох хостів, шлях між якими складається з 3-х маршрутизаторів з різними максимально можливими розмірами пакетів: 1500, 800 і 1200 байтів, кожен з кінцевих хостів повинен прийняти менший розмірпакет 800 байт, щоб уникнути фрагментації.

Do not Fragment та Destination Unreachable, Fragmentation Needed

Пакети можуть переміщуватися мережами довільним чином і неможливо заздалегідь прорахувати всі маршрути та максимальний розмір пакетів для кожного підключення. У RFC 1191 прописано методологію визначення розміру MTU. Процес, за допомогою якого хост для конкретного підключення може виявляти менший розмір MTU, ніж підтримує його власний мережевий інтерфейс. Ключовими є два компоненти: біт "Не фрагментувати" (Do not Fragment (DF)) заголовка IP та субкод повідомлення ICMP-протоколу Destination Unreachable, Fragmentation Needed.

Встановлення біта DF в IP-пакеті не дозволяє маршрутизатору виконувати фрагментацію, коли він виявляє MTU менше розміру пакета. Натомість пакет відкидається і по ICMP відправнику надходить повідомлення про необхідність фрагментації пакетів. По суті маршрутизатор вказує, що для відправлення далі йому необхідно розбити пакет на частини, але прапор Don't Fragment (DF) не дозволяє це зробити. RFC 1191 розширює ICMP-повідомлення, що вимагає фрагментацію, з включенням розміру MTU для поточного підключення.

Тепер, коли був виявлений максимальний розмір пакета для підключення, хост може кешувати це значення та формувати наступні відповідні розміри. Зауважте, що виявлення максимального розміру пакетів для конкретного підключення є безперервним процесом. У разі використання динамічної маршрутизаціїта перебудові маршруту між відправником та одержувачем хост періодично продовжує спроби встановити прапор DF для виявлення подальшого зменшення розміру пакетів. RFC 1191 також дозволяє періодично тестувати можливість збільшення максимального розміру пакетів для кожного маршруту, іноді намагаючись передати більший пакет, ніж кешований. Якщо пакет передається успішно, значення гранично допустимого розміру пакета збільшується.

Розрахунок максимального розміру MTU пакета за допомогою трасування

Ви можете обчислити максимальний розмір пакету MTU для кожного маршруту через інструмент, такий як трасування шляху. Є частиною пакету Linux- IPutils. Або утиліта, написана для Windows - mturoute:

Наводжу приклад визначення MTU для маршруту між двома хостами через зашифрований GRE-тунель. Бачимо як утиліта послідовно підбирає максимальний розмір пакета:

C:\bin>mturoute.exe 192.168.3.1 * ICMP Fragmentation is not permitted. * * Speed ​​optimization is enabled. * * Maximum payload is 10000 bytes. * - ICMP плата з 1472 байт є великим. + ICMP плата за 92 bytes succeeded. + ICMP плата заload 782 bytes succeeded. + ICMP заробіток з 1127 байт зроблено. + ICMP заробіток з 1299 байт зроблено. - ICMP плата за 1385 байт є великим. + ICMP заробіток з 1342 байт зроблено. + ICMP заробіток з 1363 байт зроблено. + ICMP плата заload 1374 bytes succeeded. - ICMP плата за 1379 байт є великим. + ICMP плата заload 1376 bytes succeeded. + ICMP плата заload 1377 bytes succeeded. + ICMP заробіток з 1378 байт зроблено. Path MTU: 1406 bytes.

Інформація в комп'ютерних мережахпередається як невеликих сформованих блоків даних (інакше кажучи, пакетів). Кожен пакет крім пересилається містить ще й службові дані, складові так званий заголовок (header) пакета. Ці службові дані необхідні визначення цілісності даних, використовуваної версії мережевих протоколіві т.д. При цьому розмір корисного блоку даних обмежується певною кількістю байт. Робиться це для того, щоб знизити ймовірність втрат інформації та зменшити час повторного пересилання пакета у разі виникнення проблем із підключенням.

MTU – щоце?

MTU (від англ. Maximum transmission unit) - це максимальний обсяг даних, що передається по мережі без подальшого фрагментування (одним пакетом). Будь-яка інформація, об'єм якої перевищує значення MTU, автоматично розбивається на невеликі блоки даних перед відправкою через мережу. Можливі значення MTU залежать від типу підключення до мережі. Так, при використанні PPoE (в основному з ADSL та подібними технологіями) максимальне значенняпараметра MTU складає 1492 байта (стандартні 1500 байт для Ethernet мінус вісім байт заголовків), а при використання Wi-Fi MTU може досягати 2304 байт.

У сучасних ОС оптимальне значення MTU найчастіше обчислюється самою системою або береться з налаштувань маршрутизатора (зазвичай значення MTU задається розділ WAN мережевих налаштуваньпристрої). Якщо проблем із доступом до Інтернету не спостерігається, значення MTU кращене змінювати. Однак, якщо виникли проблеми зі зв'язком і ви припускаєте, що вони можуть бути пов'язані з фрагментацією мережевих пакетів, спробуйте змінити значення MTU.

Зробити це можна не тільки через зміну відповідного налаштування маршрутизатора, але й засобами операційної системи. Перед тим, як міняти MTU, необхідно розрахувати оптимальне значення цього параметра. Розкажемо, як це робиться.

Розраховуємо значенняMTU

Знайти оптимальне значення MTU можна за допомогою старої-доброї команди ping. Припустимо, що ми визначаємо значення цього параметра для провідного підключення. Відкриваємо командну рядок Windowsі пишемо таку команду:

ping www.google.com -f -l 1472

У Linux командазазвичай має вигляд ping -M do -s 1472 www.google.com, а в macOS ping -D -s 1472 www.google.com (у деяких версіях систем ключі можуть відрізнятися, рекомендуємо звернутися до man ping, якщо команда не працює) . У даному випадкуми надсилаємо за адресою www.google.com пакети розміром 1472 байти та забороняємо фрагментувати дані. Якщо пакети такого розміру не можуть бути надіслані, команда повідомить, що потрібна фрагментація пакета. Перезапустіть цю команду кілька разів, поступово зменшуючи розмір пакета на 8-10 байт. У результаті після кількох спроб ви підберете значення розміру, у якому відсилання даних відбудеться. Пам'ятайте: якщо використовується бездротове підключення, Розмір пакета може бути більше 1500 байт.

Запам'ятайте отримане значення та додайте до нього 28 байт (довжина службових заголовків). Значення, що вийшло – це оптимальне (або близьке до оптимального) значення MTU для вашої мережі.

Встановлюємо значенняMTU

Тепер ви знаєте, яке значення MTU можна використовувати у вашій домашньої мережі. Вкажемо операційній системі, що необхідно використовувати саме його (подальші приклади ілюструють налаштування мережі IPv4).

У Windows відкриваємо командний рядокз правами адміністратора та виконуємо команду:

netsh interface ipv4 show subinterfaces

На екрані з'явиться список усіх підключень до мережі, їх назви та поточний розмір MTU. Запам'ятовуємо назву потрібного нам підключення та пишемо наступну команду:

netsh interface ipv4 set subinterface Ethernet mtu=1450 store=persistent

Тут Ethernet – назва інтерфейсу (може бути іншою), 1450 – вибраний розмір MTU. Якщо назва складається з кількох слів, її треба вказувати у лапках.

Для відключення автоматичного налаштування MTU можна виконати команду:

netsh int tcp set Global autotuninglevel=disabled

увімкнути автоматичне визначення MTU можна тією ж командою з autotuninglevel = normal.

Якщо потрібно скинути налаштування до вихідного стану, виконуємо команду:

netsh interface ipv4 reset

У Linux налаштування MTU здійснюється за допомогою команди IP. Подивимося поточне значення MTU:

$ ip link show | grep mtu

# ip link set eth0 mtu 1450

Тут eth0 – назва інтерфейсу, вона може бути іншою на вашому комп'ютері. Для того щоб обране значення MTU використовувалося постійно при кожному вході в систему, необхідно прописати значення файл /etc/network/interfaces, або створити модуль для systemd. Рекомендуємо звернутися до документації дистрибутива для отримання більш детальної інформації.

У macOS подивитися розмір MTU для підключення en0, а потім встановити значення параметра можна в терміналі:

networksetup -getMTU en0

networksetup -setMTU en0 1450

Ви можете вказати розмір MTU та в налаштуваннях маршрутизатора. У багатьох моделях роутерів відповідне налаштування знаходиться у розділі WAN. Більше детальну інформаціюможна одержати на сайтах виробників мережевого обладнання.

При ручній налаштування MTUвраховуйте, що занадто маленький розмір блоку даних не рекомендується, щоб не створювати додаткове навантаження на процесор маршрутизатора. Також нагадаємо ще раз: якщо ваше мережне підключенняпрацює нормально, значення MTU міняти не варто. Параметри, встановлені провайдеромабо виробником маршрутизатора, цілком підходять для переважної більшості користувачів.