Правило лишних тридцати байт для MTU ломается на псевдоканалах MPLS
Фиксированное число накладных расходов скрывает свои допущения. Подсчитайте заголовок Ethernet, теги VLAN, записи меток и управляющее слово, затем сравните с правильным полем.
Спросите инженера, сколько добавить для MPLS, и услышите число, обычно тридцать, произнесённое уверенно. Число не столько неверно, сколько оторвано от контекста: оно целиком зависит от того, что считает исходная величина и что фактически передаёт край провайдера. На псевдоканале Ethernet допущения видны, и как только вы их запишете, арифметика вытесняет предание.
Под одним именем измеряются три разные вещи. Есть IP-пакет клиента, кадр Ethernet, переносимый через псевдоканал, и собственное внешнее обрамление линии у провайдера. Бюджет, который их смешивает, даёт значение, которого не ждёт ни одно поле устройства.
Один рассчитанный бюджет со всеми озвученными допущениями
Возьмите IP-пакет клиента размером 1500 байт, обычный заголовок Ethernet, переносимый через псевдоканал без FCS клиента, без сохранённого тега VLAN, стек меток из двух записей и управляющее слово в четыре байта. Переносимый заголовок Ethernet добавляет 14, сохранённые теги не добавляют ничего, две записи меток добавляют 8, потому что каждая запись — 4 байта, а управляющее слово добавляет 4. Это даёт 1526 байт пакета, инкапсулированного в MPLS.
Прочитайте результат внимательно. Он исключает внешний заголовок Ethernet линии провайдера и её FCS, и это пример, а не константа для ввода в любое поле с именем MTU. Две метки — тоже допущение: реальный стек может нести транспортную метку, метку услуги и иногда больше, и каждая запись стоит те же 4 байта.
Что на самом деле проходит через псевдоканал
RFC 4448 определяет, как кадры Ethernet путешествуют внутри MPLS, и в его обычной модели преамбула и FCS клиента снимаются на входе и создаются заново на выходе. Поэтому FCS не появляется в бюджете выше. Обработка VLAN зависит от режима услуги: режим, сохраняющий теги клиента, возвращает их байты, а режим, который их отображает, этого не делает. Дополнительное сохранение или дополнительная инкапсуляция должны считаться сверху.
Управляющее слово входит в арифметику всякий раз, когда используется. RFC 8469 рекомендует его для псевдоканалов Ethernet, поэтому более старый текст, описывающий его как необязательное, не доказывает, что ваш путь его опускает. Подтвердите фактический режим услуги у провайдера, а не выводите его из схемы.
Сравните число с правильным полем
Теперь поставьте требуемый инкапсулированный размер рядом с каждой значимой линией и рядом с определением производителя для предела, который вы настраиваете. Одни поля описывают IP-пакет, другие — кадр или иную границу инкапсуляции. Два числа могут выглядеть одинаково и описывать разные ёмкости, и именно так конфигурация, которая кажется подходящей, даёт потери в эксплуатации.
Вот почему опасно копировать значение между несвязанными платформами. Имя поля — это спецификация, а не десятичное число, которое вы помните с консоли другого производителя.
Полезная нагрузка ping не является MTU
Полезная нагрузка ping IPv4 — это не IP MTU. Заголовок IP и заголовок ICMP тоже расходуют байты, поэтому размер нагрузки, который проходит, соответствует более крупному пакету на линии. Проверка, проходящая при одном размере, ничего не говорит и о сервисе с другим режимом VLAN или более глубоким стеком меток. Тест измеряет один путь, один размер и одну форму нагрузки, а сервис может менять все три.
Хуже того, ping может проходить, пока крупные кадры не проходят, потому что проверка задействовала путь и размер, которые реальный трафик никогда не использует. Рассматривайте это как одну точку данных о доступности, а не как спецификацию услуги уровня 2.
Когда кадр не помещается
Если кадры слишком большого размера нельзя перенести и нет поддерживаемого механизма фрагментации или сборки, они отбрасываются, обычно без внятной ошибки на обоих концах. Тогда приложения показывают тайм-ауты при массовых передачах, а интерактивные сеансы остаются здоровыми, что отправляет людей смотреть на межсетевые экраны и маршруты вместо подсчёта байтов.
Выясните фактический бюджет у провайдера: режим услуги, обработку тегов, глубину меток, управляющее слово и точный предел, который применяет ваше устройство. Запишите допущения рядом с числом, иначе следующий инженер унаследует правило тридцати байт и загадку.