2015-10-02 3 views
0

Для IPv6 требуется минимальный MTU 1280. При этом для заголовка IPv6 требуется минимум 40 байт. Ограничений на количество байтов заголовков расширения IPv6 не существует. Каков разумный максимум для обычного использования UDP? Я видел, как он предположил, что по крайней мере 8 байтов для заголовка фрагмента, что еще может возникнуть?Допустимый максимальный размер заголовка IPv6

ответ

0

Размер заголовка IPv6 фиксирован на уровне 40 байт, чтобы сделать обработку более эффективной, а не минимум 40, а не переменным размером, таким как IPv4. В пакете IPv6 может быть любое количество дополнительных расширительных заголовков, но эти заголовки заголовков контролируются отправителем, поэтому вычисление того, насколько большой сегмент UDP может быть до того, как его фрагментировать, должно быть легким.

Заголовок фрагментации фиксирован в 8 байт. Маршрутизаторы по пути не могут фрагментировать пакет IPv6, как они могут для IPv4; отправитель должен предварительно фрагментировать дейтаграмму верхнего уровня перед инкапсулированием в пакет IPv6, так как пакет, превышающий минимальный MTU в пути, будет удален. Вот когда вы используете заголовок фрагментации, поэтому, если ваш сегмент UDP достаточно мал, вы никогда не будете использовать заголовок фрагментации, иначе вы используете 8 байт для заголовка фрагментации.

Вы должны посмотреть на различные типы заголовков расширений, чтобы узнать, можете ли вы использовать любой из них. В Википедии есть list.

+0

У меня не было впечатления, что отправитель может управлять заголовками из потока UDP TCP и что они будут применяться по усмотрению реализации. –

+0

Я не уверен, что понимаю ваш комментарий. Что вы подразумеваете под «TCP-выходом UDP-потока?» TCP и UDP являются отдельными протоколами уровня 4. Отцу отправляется фрагмент пакета IPv6, содержащий TCP, UDP или любую другую вид дейтаграммы. Маршрутизаторы на пути упадут на любой пакет, который слишком велик для следующего MTU, и должны отправить обратно ошибку ICMPv6, предоставив отправителю возможность фрагментировать дейтаграмму уровня 4. В качестве альтернативы, отправитель может использовать MTU Path Discovery раньше времени, чтобы определить, следует ли фрагментацию дейтаграммы уровня 4. –

+0

TCP * или * UDP. Я имею в виду, что, хотя отправитель управляет используемыми расширениями, пользователь на уровне приложения не устанавливает вручную заголовки IPv6 в своих пакетах UDP/TCP. Итак, какие заголовки расширений являются реализациями UDP/TCP, которые могут быть установлены от имени пользователя при отправке через IPv6? –

Смежные вопросы