Как изменить размер MTU в операционной системе?

06 декабрь 2019, Пятница
337
0
+ 0 -
В компьютерных сетях термин MTU (Maximum transmission unit, максимальная единица передачи) означает максимальный размер одного пакета, который может быть передан протоколом без фрагментации. Пакеты большего размера (чем размер MTU), будут разбиваться на более мелкие и передаваться за несколько раз - этот процесс называется фрагментация. При большом количестве фрагментированных пакетов может снижаться скорость передачи данных по сети, а в некоторых системах, может запрещаться передача фрагментированных пакетов, в результате чего сетевая связность между системами может нарушиться. Особенно часто такое поведение может наблюдаться при дополнительном шифровании трафика, например, при построении крипто-туннелей.
Любое устройство которое взаимодействует по сети имеет по умолчанию установленное производителем значение MTU. При этом, для каждой сетевой топологии может быть установлено свое значение размера MTU.
В таблице ниже приведены размеры MTU по умолчанию для различных сетевых сред:

Network
MTU (bytes)
16 Mbps Token Ring
17914
4 Mbps Token Ring
4464
FDDI
4352
Ethernet
1500
IEEE 802.3/802.2
1492
PPPoE (WAN Miniport)
1480
X.25
576

Из таблицы выше следует, что в наиболее сейчас популярных сетях Ethernet по умолчанию используется MTU равный 1500.

Как изменить MTU в Linux?

Чтобы определить текущие значения MTU, которое установлено на сетевом интерфейсе Linux, необходимо выполить команду:
ip link
Результат выполнения команды показан на рисунке ниже. Там же можно увидеть, что для интерфейса eth0 установлено MTU 1500.
Для того, чтобы изменить MTU для текущего состояния интерфейса, необходимо выполнить команду (для сетевого интерфейса с именем eth0) 
ip link set mtu 9000 dev eth0
После выполнения данной команды (возможно потребуется запуск из под su), значение MTU для интерфейса изменится (см скриншот ниже).
Чтобы новое значение MTU применялось при старте системы, и не требовалось устанавливать его вручную при каждом запуске, необходимо внести изменения в файл конфигурации сетевого интерфейса. 
Для этого:
в CentOS:
в конфигурационном файле /etc/sysconfig/network-scripts/ifcfg-eth0: необходимо дописать строку: 
MTU=9000
и перезапустить сетевую службу, выполнив команду:
systemctl restart network
в Ubuntu:
в конфигурационном файле размещенном в папке /etc/netplan/ необходимо дописать строку:
mtu: 9000
Например, так как показано на скриншоте:
И перезапустить netplan, выполнив команду:
netplan apply

После выполненных команд, установленное значение MTU на интерфейсах будет установлено по умолчанию.
1 2
Комментарии:
Прокомментировать
При использовании материалов ссылка на сайт UserMan.ru обязательна. UserMan.ru © 2017-2020
Мы в Соцсетях: VK