Ethernet (і, в цьому відношенні, IP) був розроблений так, щоб мати фіксовану верхню довжину на розмірах пакетів, так що ніхто не може занадто довго переносити спільний носій, передаючи деяке довге повідомлення довільної довжини.
Стандартні кадри Ethernet можуть мати тільки 1500 байт корисного навантаження.
Стандартні IP-дейтаграми можуть становити до 64 кілобайт. (Але через те, що в Інтернеті дуже багато мережевих мереж, подібних до Ethernet, більшість часу IP-дейтаграми залишаються в межах 1500 байтів Ethernet, тому що фрагментація і повторна збірка великих IP-дейтаграм менш ефективні, ніж просто зберігати дейтаграми в даних MTU шару посилання.)
Якщо ваша заявка має справу з повідомленнями, більшими за це, вам потрібно самостійно зробити фрагментацію / повторне збирання / перевірку повідомлення на своєму власному шарі. Саме так було розроблено і як кожен має справу з ним, і ви будете плавати вгору, щоб спробувати зламати ваше обладнання, щоб дозволити 1 Мб повідомлень. Замість цього ви повинні просто розуміти, що те, що ви хочете, - це не те, що забезпечують вам нижчі шари, але вони надають вам будівельні блоки, необхідні для створення власного рішення на вашому шарі. Мережеві протоколи і технології спеціально розроблені в шарах, причому найнижчі шари забезпечують мінімальний рівень, необхідний цьому шару, так що верхні шари не обтяжені нижніми шарами, які роблять більше, ніж потрібні верхні шари. Тут називається важливий документ "Кінцеві аргументи в системному дизайні" Салцера, Рід і Кларка . Будь-хто, хто потрапляє в мережу на цьому рівні деталізації, повинен його прочитати.
Я впевнений, що є багато бібліотек, що створюють повідомлення, щоб полегшити передачу повідомлень довільної довжини по протоколу TCP або UDP, де бібліотека, що створює повідомлення, дбає про фрагментацію, повторне збирання та перевірку ваших повідомлень.