Каков фактический размер Ethernet MTU

33

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

Это определение из книги CCNA Уэнделла Одома по MTU:

Спецификация IEEE 802.3 ограничивает часть данных кадра 802.3 минимум 46 и максимум 1500 байтов. Термин максимальная единица передачи (MTU) определяет максимальный пакет уровня 3, который может быть отправлен по среде. Поскольку пакет уровня 3 находится внутри части данных кадра Ethernet, 1500 байтов является самым большим MTU IP, разрешенным через Ethernet.

Насколько я понимаю, кадр Ethernet является последней фазой инкапсуляции перед передачей на провод. Когда я смотрю на диаграмму кадра Ethernet, его общий размер может составлять максимум 1526 байт.

Прав ли я, говоря, что MTU кадра Ethernet равен 1526, а MTU на уровне IP - 1500? Меняется ли MTU на каждой фазе инкапсуляции, или термин «MTU» предназначен только для определения максимального размера пакета на уровне 3?

Спасибо за любую помощь!

мистифицировать
источник
3
Хотя этот ответ отвечает на ваш вопрос, вопрос, на который он отвечает, не является дубликатом. Возможно, это поможет.
Майк Пеннингтон,

Ответы:

38

Прав ли я, говоря, что MTU кадра Ethernet равен 1526, а MTU на уровне IP - 1500?

MTU Ethernet составляет 1500 байтов, что означает, что самый большой IP-пакет (или некоторая другая полезная нагрузка), который может содержать кадр Ethernet, составляет 1500 байтов. Добавление 26 байтов для заголовка Ethernet приводит к максимальному кадру (не совпадающему с MTU) в 1526 байтов.

Меняется ли MTU на каждой фазе инкапсуляции, или термин «MTU» предназначен только для определения максимального размера пакета на уровне 3?

MTU часто считается свойством сетевого канала и обычно относится к MTU уровня 2. Ограничения на уровне 3 намного выше (см. Ниже) и не вызывают проблем.

Длина IP-пакета (уровень 3) ограничена максимальным значением 16-битного поля Total Length в IP-заголовке. Для IPv4 это приводит к максимальному размеру полезной нагрузки 65515 (= 2 ^ 16 - 1 - 20 байтов заголовка). Поскольку IPv6 имеет 40-байтовый заголовок, он допускает полезную нагрузку до 65495. И IIRC, использующий расширение заголовка Jumbo Payload, IPv6 может разрешать пакеты до 4 ГБ ...

При настройке соединения TCP согласовывается максимальный размер сегмента (MSS). Это можно считать MTU на уровне 4, но оно не является фиксированным. Для него часто задается наибольшая полезная нагрузка, которую можно отправить в сегменте TCP без фрагментации, что отражает самый низкий MTU уровня 2 на пути. При Ethernet MTU 1500 это MSS будет 1460 после вычитания 20 байтов для заголовка IPv4 и TCP.

Gerben
источник
12
Задание «заголовка» Ethernet из 26 байтов, по-видимому, предполагает инкапсуляцию Q-in-Q. Стандартный заголовок Ethernet составляет 14 байтов, а FCS составляет 4 байта в конце кадра. Таким образом, это приводит к размеру кадра Ethernet 1518 байт для 1500-байтового IP-пакета. Каждый тег vlan 802.1Q добавляет еще 4 байта, поэтому один уровень инкапсуляции vlan приведет к служебной нагрузке Ethernet в 22 байта, и только когда включены 2 тега VLAN, служебные данные составляют 26 байтов (технически только 22 байта этого заголовок и 4 байта трейлера).
Рассел Хиллинг
Ты прав. Другое возможное объяснение состоит в том, что 8 дополнительных байтов предназначены для преамбулы Ethernet. Технически это может быть неверно, поскольку в вопросе упоминается «рамка», в которую не входит преамбула. Я не помню, какое объяснение я предположил, число 1526 было взято из исходного вопроса и регулярно упоминается как «максимальный размер кадра Ethernet».
Гербен
Ах, это понятнее. Да, пакет Ethernet содержит преамбулу, а кадр MAC - нет. Я должен признать, что я более знаком с тем, что видел максимальные размеры кадра 1518 и 1522, и не видел, чтобы 1526 использовал это часто.
Рассел Хиллинг
@ Гербен, я давно проголосовал за твой ответ, но я снова посмотрел и понял, что твое описание IP MTU неверно. IP MTU не учитывает поле Общая длина. IP MTU имеет дело с самым большим IP-фреймом, который поместится внутри канала, по которому он проходит; Таким образом, 1500 байт по стандартному Ethernet.
Майк Пеннингтон
@MikePennington, я отредактировал ответ, чтобы избежать использования «IP MTU» таким образом, но я знал термин, который будет использоваться таким образом. Как и Google, но это действительно не очень часто ...
Гербен
-3

IP MTU = MSS (уровень 4) MTU = интерфейс MTU (уровень 2)

Вот как я это интерпретирую, рада, что меня исправили.

ура, Рей

Rey
источник