- MTU
-
В компьютерных сетях термин Maximum Transmission Unit (MTU) используется для определения максимального размера блока (в байтах), который может быть передан на канальном уровне сетевой модели OSI.
Значения MTU зависят от коммуникационного интерфейса (сетевая плата, последовательный порт, и т. д.).
Значение MTU может быть определено стандартом (например для Ethernet), либо может выбираться в момент установки соединения (обычно в случае прямых подключений точка-точка). Чем выше значение MTU, тем меньше заголовков передаётся по сети — а значит, выше пропускная способность. Однако медленные интерфейсы могут передавать большой пакет значительное время, увеличивая время ожидания для других пакетов. К примеру, пакет размером в 1500 байт, максимально допустимый для Ethernet, может «подвесить» 14.4k модем примерно на одну секунду (1500*8=12000 бит, 14.4*1024=14745.6 бит/с, время передачи: 12000/14745.6 = 0.81 сек).
Содержание
Таблица основных значений MTU
Интерфейс Значение MTU Internet Path MTU (RFC 879) 576 Ethernet (RFC 1191)[1] 1500 802.3 (RFC 1191) 1492 802.11[2] 2272 802.5 Token ring 4464 FDDI (RFC 1191) 4500 IP (Интернет протокол)
Проверить информацию. Необходимо проверить точность фактов и достоверность сведений, изложенных в этой статье.
На странице обсуждения должны быть пояснения.Интернет протокол был разработан для использования в различных сетевых технологиях, каждая из которых может оперировать пакетами различных размеров. Если говорить об IP с точки зрения MTU, можно обнаружить несколько проблем. Во-первых, если хост будет знать значение MTU для собственного (возможно и своих соседей) интерфейса, минимальное значение MTU для всех узлов сети будет неизвестно. Другая потенциальная проблема заключается в том, что протоколы более высокого уровня могут создавать пакеты большего размера, не поддерживаемые другими узлами сети. Очевидно, что скорость передачи будет тем больше, чем больше будет размер пакета. Однако не все узлы в сети могут передавать информацию с максимальной полезной нагрузкой.
Для устранения этих проблем IP поддерживает фрагментацию, что позволяет разбивать датаграмму на меньшие кусочки, каждый из которых будет достаточно мал, чтобы беспрепятственно пройти через узел, из-за которого происходит фрагментация. Процесс фрагментации происходит на уровне IP (третий уровень сетевой модели OSI), фрагменты пакетов маркируются таким образом, чтобы IP целевого хоста мог произвести сборку фрагментов в оригинальную датаграмму. Подобный метод предполагает некоторые недостатки:
- Целевой хост должен получить все фрагменты для того, чтобы собрать пакет. Если хотя бы один фрагмент утерян — весь пакет должен быть отправлен заново.
- Когда значение MTU определенного узла меньше размера большинства пакетов, которые должны быть переданы, почти все пакеты должны пройти фрагментацию. В некоторых случаях задержки, которые вызовет фрагментация всех пакетов, могут быть сочтены неприемлемыми.
- Увеличивается нагрузка на CPU промежуточных маршрутизаторов
- Увеличивается требование к памяти маршрутизатора, т.к необходимо хранить в буфере все фрагменты IP пакета
- Некоторые простые фаерволы блокируют все фрагменты, т.к в них не содержится информация о более высоких уровнях(TCP/UDP)
- Из-за оверхэда(копия IP-заголовка для каждого фрагмента) не эффективно используется полоса пропускания
- Не существует простого способа определения MTU для всех интерфейсов сети на пути к целевому хосту.
Технология Path MTU discovery
Хотя фрагментация решает проблему несоответствия размеров пакетов и значения MTU, она ощутимо снижает производительность сетевых устройств. В связи с этим, в 1988 году была предложена альтернативная технология, названная Path MTU discovery (RFC 1191). Суть технологии заключается в том, что при соединении двух хостов устанавливается параметр DF (don’t fragment, не фрагментировать), который запрещает фрагментацию пакетов. Это приводит к тому, что узел, значение MTU которого меньше размера пакета, отклоняет передачу пакета и отправляет сообщение ICMP (Internet Control Message Protocol) типа Destination is unreachable (Точка назначения недоступна). К сообщению об ошибке прилагается значение MTU узла. Хост-отправитель уменьшает размер пакета и отсылает его заново. Такая операция происходит до тех пор, пока пакет не будет достаточно мал, чтобы дойти до хоста-получателя без фрагментации.
Однако, и у этой технологии существуют потенциальные проблемы. Всё большее число систем настраиваются администраторами на блокирование ICMP пакетов (в том числе с целью предотвращения отказа в обслуживании). В результате, если размер пакета не соответствует значению MTU на определённом участке, пакет отбрасывается, а хост-отправитель не может получить информацию о значении MTU и не отправляет пакет заново. Поэтому соединение между хостами не устанавливается. Проблема получила название MTU Discovery Black Hole (RFC 2923). Одной из распространённых проблем при работе в сети, блокирующей ICMP пакеты, является работа в IRC, когда пользователь успешно проходит авторизацию, но не может получить так называемое MOTD (message of the day), в результате чего использование сети не представляется возможным.
Проблема представляет потенциальную опасность для любого PPPoE соединения, использующего MTU меньше типового (1500 байт).
Существует несколько вариантов решения этой проблемы. Самым простым, безусловно, является отмена фильтрации пакетов ICMP. Однако зачастую подобная операция находится вне компетенции пользователя. Поэтому проблему решают путем ручной настройки размера передаваемого пакета на шлюзе пользователя. Для этого меняют значение MSS (максимальный размер сегмента, то есть величина, меньшая MTU на 40 байт в случае протокола IPv4). При установке соединения хосты обмениваются информацией о максимальном размере сегмента, который каждый из них сможет принять. Поэтому, меняя значение MSS, заставляют оба хоста обмениваться пакетами, которые шлюз пользователя сможет заведомо принять без фрагментации.
Кроме того, существуют методы отмены бита DF с целью разрешения фрагментации. Однако метод корректировки MSS является предпочтительным.
См. также
Примечания
Ссылки
- Marc Slemko Path MTU Discovery и фильтрация ICMP (January 18 1998). Архивировано из первоисточника 26 августа 2011. Проверено 31 марта 2010.
- Подробная информация о MTU и RWin
- Как установить значение TCP MSS используя iptables
- Определение MTU с помощью ping
- DrTCP — утилита для оптимизации MTU в Microsoft Windows
- mturoute — консольная утилита для устранения проблем с MTU
- ручная установка значения MTU в реестре Windows Mobile, Windows XP, Windows Vista (21 января 2009). Архивировано из первоисточника 26 августа 2011.
Категории:- Параметры компьютерных сетей
- Сетевые пакеты
Wikimedia Foundation. 2010.