2013-09-03 2 views
2

Я пытаюсь перепроектировать приложение, и мне нужна помощь в понимании того, как работает размер окна TCP. Мой МТУ 1460 Мое приложение передает файл с помощью TCP из точки А в Б. Я знаю следующее:Размер файла передачи TCP-файла

  • Файл разбит на сегменты размером 8К
  • Каждый сегмент сжимается
  • Тогда каждый сегмент отправляется в точку B через TCP. Этот сегмент для текстового файла может иметь размер 148 байтов и для pdf 6000 байт.

Для текстового файла я должен видеть сегменты 148, прикрепленные друг к другу, чтобы сформировать один большой поток TCP? и затем он разделен в соответствии с размером окна?

Любая помощь приветствуется.

ответ

0

Приложение-получатель должно видеть данные так же, как и отправленное им приложение-отправитель. TCP использует байтовую поточную передачу и поэтому собирает все байты в порядке и доставляет его в приложение. MTU в значительной степени является внутренней семантикой TCP и не принимает границ пакетов приложений. Если у TCP достаточно данных для отправки в свой буфер отправки (каждый TCP-сокет имеет свой собственный буфер отправки, кстати), тогда он будет упаковывать свой следующий сегмент с размером MTU и отправляет его; точнее, он вычитает TCP и IP-заголовок из размера MTU.

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