Как правильно установить MTU

Давайте воспользуемся здесь аналогией: предположим, кто-то идет на рынок и у него только одна сумка для перевозки. Человек будет стремиться купить как можно больше предметов, но при этом убедиться, что все они могут поместиться в сумке, а не разбиваться на несколько сумок, которых у него нет. Аналогично для цифровых сетей MTU является параметром, который определяет наибольшую датаграмму, передаваемую без фрагментации по сети. Ниже приведено введение в MTU, а также объяснение того, как его рассчитать. Кроме того, узнайте значение MTU в Windows и Linux и как их изменить.

Введение в MTU

  • Что такое MTU?
  • Рассчитать MTU
  • Найти значение MTU в Windows
    • Изменение MTU в Windows
  • Найти значение MTU в Linux
    • Изменение MTU в Linux

Что такое MTU?

Максимальная единица передачи (MTU) (максимальный размер единицы передачи) - это параметр, который определяет, что самая длинная датаграмма может быть передана через IP-интерфейс без необходимости фрагментации на более мелкие единицы. MTU должен быть больше самой большой дейтаграммы, которую вы хотите передать без фрагментации. Проще говоря, MTU определяет максимальный размер (в байтах) пакета, который может быть передан одновременно.
  • Для Ethernet это значение должно быть 1500 байт.
  • Для соединений PPPoE, 1492
  • Для CTS (низкая скорость), 576

Рассчитать MTU

Каждый кадр передачи определяется телом (= MMS = максимальный размер сегмента), который определяет самый большой сегмент информации TCP, который может быть передан, и заголовком.
  • MTU = MSS + заголовки TCP / IP

Считают, что:

  • MSS = MTU-40 <- 40 для заголовка (20-байтовый IP и 20-байтовый TCP)

Пакеты не фрагментированы

Нет потерянных пакетов

  • Размер пакета / скорость

Либо передача информации 1500000 байтов с использованием пакетов различного размера через линию T1 (CTS) (T1 = 1544000 бит / с) следующим образом:

 (MSS + заголовок) * 8 бит / байт

---------------------------------- = Латентность

1 544 000 бит / с

  • Используя разные значения MTU, можно рассчитать задержку передачи:

Если MTU = 1500, то: (1460 +40) * 8/1544000 = 7772 мс

Если MTU = 576, то: (536 +40) * 8/1544000 = 2924 мс

  • При 10 циклах мы получаем 77, 72 мс для MTU до 1500 и 29, 24 мс для 576.
  • Подводя итог, чем больше пакетов, тем дольше передача ;-)

Используя ту же формулу для перевода 1mb.

1 МБайт = 1024 КБ = 1 048 576 байт.

  • Если MTU = 1500, то: (1460 +40) * 8/1544000 = 7772 мс
  • 1 МБайт / MSS = 1048576 байт / 1460 = 718, 2, поэтому 719 пакетов для передачи 1 МБайт.
  • Для передачи 1 Мб: 719 мс 7772 * пакетов (всегда цикл) = 5588, 068 мс или 5588 секунд.
  • Если мы перенесем наш 1 МБайт в 10 циклов (определяется заголовком), мы в идеале:

(1 пакетный цикл * задержка 10 * 7, 772 мс) + 718 * 7772 = 5658 секунд.

Если MTU = 576, то: (536 +40) * 8/1544000 = 2924 мс

1 МБайт / MSS = 1048576 байт / 536 = 1956, 3, следовательно, 1957 пакетов для передачи 1 МБайт.

  • Для передачи 1 МБ: 1957 пакетов * 2924 мс (всегда цикл) = 5722, 268 мс или 5722 секунды на цикл.

Если мы передали 1 МБ за 10 циклов:

(1 пакетный цикл * 10 * 2, 924 мс) * 2924 + 1956 = 5748 с.

Разница в том, что большая часть размера пакета больше, чем размер заголовка важен (относительно ^ ^)

Таким образом, для передачи 1Mbyte, если использовать MTU до 1500, то для заголовка будет 719 * 40 = 28 760 байт, а MTU - до 576, мы получим 1957 * 40 = 78 280, более 49 520 байтов 'заголовка отправлено Mbyte каждый. Для нашего примера из 10 циклов это не существенно, но на ежедневных передачах ...

Большинство модемов используют заголовки большего размера, и мы не учитываем и такие другие задержки, которые могут быть связаны.

Найти значение MTU в Windows

Чтобы найти максимальное значение MTU, оно должно быть в командной строке (Пуск> Выполнить> «cmd»). Находясь в командной строке (черная страница), необходимо проверить ping, указав размер проверяемых пакетов:
  • ping-fl (размер пакета -28) (IP вашего сервера)

Опция -f позволяет вам пройти тест, требуя, чтобы встреченные маршрутизаторы не фрагментировали пакет

Опция -l отправляет размер пакета

Удаление 28 до размера пакета, который будет проверен, соответствует заголовку этого пакета

Надо сдать тест на IP. Ради интернет-браузера лучше взять веб-адрес.

  • Это дает:

 ping-fl 1372 192.168.0.1

- Если ответ на запрос:

Ответ от 192.168.0.1: bytes = 1372 ....

Ответ от 192.168.0.1: bytes = 1372 ....

Ответ от 192.168.0.1: bytes = 1372 ....

Ответ от 192.168.0.1: bytes = 1372 ....

Здесь размер пакета позволяет транспортировать без фрагментации, можно проверить более высокое значение. Когда вы получаете сообщение: «Пакет должен быть фрагментирован, но DF установлен», размер пакета слишком велик.

Изменение MTU в Windows

После того как вы определили оптимальный MTU, есть два способа изменить значение MTU. Я упоминаю здесь самое простое для реализации через программное обеспечение:
  • DrTCP

После установки у вас есть поле «MTU», где вы должны ввести значение теста в DOS, добавив 28 для заголовка.

Найти значение MTU в Linux

  • Просто запустите эту команду от имени пользователя root с именем name_interface, чтобы заменить имя соответствующего сетевого интерфейса:

 имя_интерфейса ifconfig | grep-Eo "MTU: [0-9] +"

Изменение MTU в Linux

  • В корне с командой ifconfig, которая изменяет MTU в Linux со следующим синтаксисом:

 имя_интерфейса ifconfig mtu value_mtu 
  • Пример: установить MUT интерфейса на 1500

 ifconfig eth0 mtu 1500 
Предыдущая статья Следующая статья

Лучшие советы