Короткий ответ:
Минимальная длина части данных сегмента TCP равна нулю. Минимальная длина части данных дейтаграммы UDP равна нулю.
Если стеку IP необходимо передать дейтаграмму менее 46 байт в Ethernet, Ethernet дополняет его до 46 байт, добавляя байты заполнения. Заголовок IP имеет свое собственное поле длины (как и заголовки TCP и UDP), поэтому эти протоколы никогда не путаются и пытаются интерпретировать заполнение канального уровня как часть их собственных полезных нагрузок.
Дополнительная информация:
Ethernet - это лишь один из многих протоколов канального уровня, на которых может работать IP. Ethernet имеет минимальную длину пакета в 64 байта по унаследованным техническим причинам (так, чтобы "коллизии" могли надежно обнаруживаться в сетях Ethernet максимального диаметра, когда сети Ethernet были CSMA/CD и могли иметь коллизии - современные сети Ethernet используют коммутаторы везде и полнодуплексный на всех сегментах, поэтому CSMA/CD и коллизии в значительной степени остались в прошлом).
Поскольку мы так часто используем IP через Ethernet, легко забыть, что Ethernet и IP - это две отдельные сетевые технологии, созданные двумя отдельными организациями. Ethernet, стандартизированный IEEE (Институтом инженеров по электротехнике и электронике), был разработан для обработки неизвестного количества сетевых протоколов (уровень 3), помимо IP, а IP, созданный IETF (Internet Engineering Task Force), был разработан для работы над неизвестное количество протоколов передачи данных (уровень 2), кроме Ethernet. IP не изменяет свой минимальный или максимальный размер датаграммы только из-за одного популярного протокола канального уровня. Если протокол канального уровня не любит крошечную дейтаграмму, которую он получает, он должен дополнить ее. И в противоположном случае, если IP не нравится MTU, который предлагает текущий канал передачи данных, он должен фрагментироваться.