LINUX.ORG.RU

[C, TCP] размер заголовка


0

1

Как программно определить размер заголовка TCP-сообщения до его отправления? Размер заголовка может плавать за счет изменения длины поля Options. Например, я хочу отправить TCP-сообщение фиксированной длины. Чтобы это сделать, необходимо знать размер заголовка, который будет приписан к сообщению.


взять payload length из ip хидера и вычесть из него payload length из tcp хидера, например

anonymous
()
Ответ на: комментарий от harvos

это размер данных, которые идут после заголовка, дубина. Почитай хотя бы RFC о протоколах, с которыми работаешь.

anonymous
()
Ответ на: комментарий от anonymous

В RFC 791, 793 ни разу не встречается слово payload, дубина

harvos
() автор топика
Ответ на: комментарий от harvos

Не можешь через стандартный интерфейс управлять нарезкой данных на фреймы. Даже если отправить кусок подходящего размера, то нет никакой гарантии что это будет именно один пакет.

mashina ★★★★★
()

эт можно - только както управляя структурами ядра

а можно отключить в /proc дополнительные параметры что пихает ядро с пакеты - и тогда сами пакеты будут более предсказуемой длины

ae1234 ★★
()
Ответ на: комментарий от ae1234

Кроме ядра вообще есть и другие промежуточные звенья, они тоже могут внести свои пять копеек в пакет.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.