Каков размер пустой дейтаграммы UDP? А что за пустой TCP-пакет?
Я могу найти информацию только о MTU, но я хочу знать, каков их "базовый" размер, чтобы оценить потребление полосы пропускания для протоколов поверх них.
Каков размер пустой дейтаграммы UDP? А что за пустой TCP-пакет?
Я могу найти информацию только о MTU, но я хочу знать, каков их "базовый" размер, чтобы оценить потребление полосы пропускания для протоколов поверх них.
TCP:
Размер кадра Ethernet - 24 байта
Размер заголовка IPv4 (без каких-либо параметров) - 20 байтов
Размер заголовка TCP (без каких-либо параметров) - 20 байтов
Общий размер кадра Ethernet, содержащего IP-пакет с пустым сегментом TCP - 24 + 20 + 20 = 64 байта
UDP:
Размер кадра Ethernet - 24 байта
Размер заголовка IPv4 (без каких-либо опций) - 20 байтов
Размер заголовка UDP - 8 байтов
Общий размер кадра Ethernet, содержащего IP-пакет с пустой дейтаграммой UDP - 24 + 20 + 8 = 52 байта
Ответ Химаншуса совершенно правильный.
Что может ввести в заблуждение, глядя на структуру кадра Ethernet [см. Дальнейшее чтение], так это то, что без полезной нагрузки минимальный размер кадра Ethernet был бы 18 байтов: Dst Mac (6) + Src Mac (6) + Length (2 ) + Fcs (4), добавив минимальный размер IPv4 (20) и TCP (20), мы получим в общей сложности 58 байтов.
Что еще не было упомянуто, так это то, что минимальная полезная нагрузка кадра Ethernet составляет 46 байт, поэтому 20 + 20 байт из IPv4 и TCP не являются достаточной полезной нагрузкой! Это означает, что необходимо заполнить 6 байтов, то есть всего 64 байта.
18 (минимальное количество полей заголовка Ethernet) + 6 (заполнение) + 20 (IPv4) + 20 (TCP) = 64 байта
Надеюсь, это немного проясняет ситуацию.
Дополнительная информация:
См. Протокол дейтаграмм пользователя. Заголовок UDP имеет длину 8 байтов (64 бита).
Минимальный размер чистого TCP-заголовка составляет 5 слов (32-битное слово), а максимальный размер TCP-заголовка составляет 15 слов.
С наилучшими пожеланиями, Фабиан
Если вы намереваетесь рассчитать потребление пропускной способности и связать их с максимальной скоростью вашей сети (например, 1 Гбит / с или 10 Гбит / с), необходимо, как указано Бесполезным, добавить Накладные расходы на кадрирование Ethernet на уровне 1 на числа, рассчитанные Феликсом и другими, а именно
то есть в общей сложности на пакет потребляется еще 20 байтов.