Мой вопрос на самом деле состоит из двух частей:
С точки зрения отправителя,
- в дополнение к флагу FIN заголовка TCP, верно ли, что уровень TCP внедряет (или больше напоминает добавление) поскольку он должен находиться в конце потока) искусственный байт в потоке, что означает, что этот байт является частью полезной нагрузки TCP?
- если да, каково значение этого байта?
С точки зрения получателя,
и уровень TCP, и приложение должны знать этот флаг / байт FIN. Так верно ли, что уровень TCP смотрит только на флаг FIN без специальной обработки байта в потоке? Как уведомляется приложение? С помощью флага FIN, ИЛИ, с помощью этого специального байта в потоке? Когда приложение уведомляется? Прямо после того, как уровень TCP получает сегмент с флагом FIN, ИЛИ, когда этот сегмент в конечном итоге пузырится в буфере TCP получателя? Если приложение не получает специального уведомления, пока сегмент, который имеет флаг FIN, в конечном итоге не всплывет Буфер TCP означает, что уровень TCP должен каким-то образом пометить буфер, поскольку заголовок TCP уже должен быть удален. Так как же это отметить FIN?