Path MTU Discovery

Path MTU Discovery

Alexandr Kolenko

#Networking essentials


В механизме “Path MTU Discovery” используется понятие IP MTU.


FYI: Имеется еще понятие Ethernet MTU = IP MTU+14 байт (ethernet заголовок)=1514 байт

Медиа  MTU - самый полный MTU (полный L2 кадр) = Ethernet MTU +4 байта (поле FCS)=1518 байт 

По умолчанию IP MTU = 1500 byte. Что это значит in a nutshell

IP MTU не учитывает L2 заголовок и концевик. По 20 байт уходит на L3 и L4 заголовки. Оставшиеся 1460 байт на payload. Этот payload везде упоминается как TCP MSS - maximum segment size. Именно этим самым MSS “играется” механизм защиты от перегрузки (TCP congestion control), встроенный в TCP/IP, увеличивая размер при освобождении буфера принимающего узла и уменьшая если не успевает переварить. Но речь сегодня не об этом замечательном механизме. 

RFC 1191 определяет алгоритм Path MTU Discovery и следующие атрибуты:

  • DF - don’t fragment bit. DF бит находится в L3 заголовке;
  • ICMP Destination Unreachable, Fragmentation Needed.

Суть в том, что хост отправляет пакет и в пакете ставит DF=1 (мол не фрагментируй) если MTU меньше моего. Промежуточный узел, дропает пакет вместо фрагментации, при этом в адрес отправителя формируется ICMP сообщение - Destination Unreachable, Fragmentation Needed + указывает какой MTU необходимо использовать, чтобы пролезть в бутылочное горлышко. Таким образом последующие пакеты в рамках инициированной сессии будут использовать валидную MTU.


Профит: оптимальная утилизация линка, устранение не оптимального расхода ресурсов на формирование/анализ дополнительных заголовков.  

Почитать на эту тему: 




Report Page