SYN только в начале.
ACK находится на последующих сегментах в любом направлении.[править] ACK также определит размер окна.Например, если размер окна равен 100, отправитель может отправить 100 сегментов, прежде чем он ожидает получить ACK.Например, если отправитель отправляет 100 сегментов, но номер сегмента 50 теряется, то получатель получает 1-49 и 51-100.Затем получатель получит подтверждение ACK в течение 50 (следующий ожидаемый сегмент) и установит размер окна равным 1. Отправитель повторно отправит 1 сегмент с порядковым номером 50. Затем получатель подтвердит получение ACK в течение 101 и снова установит размер окна на более высокое число [править]
Оба поля на самом деле являются полями в заголовке TCP и могут быть отправлены с данными, хотя SYN и первый ACK обычно не содержат данных.
Так что ни один из описанных вами сценариев не является совершенно правильным.Первый фактически ближе к реальности, но все пакеты данных после SYN должны включать в себя ACK, а также поле номера подтверждения, которое идентифицирует номер следующего ожидаемого пакета.
Конец сеанса также включает в себя рукопожатия с пакетами, помеченными FIN, и относящимися к ним ACK.
Обмененные порядковые номера используются для идентификации потерянных пакетов и включения механизма повторных попыток, а также для повторной сборкивесь поток пакетов в правильном порядке.
Кроме того, если это первый случай, есть ли какие-либо преимущества UDP над TCP, если вы просто оставляете соединение открытым в течение длительного периода времени?
С UDP вы не можете просто держать соединение открытым в течение длительного периода времени.Соединение отсутствует.
Эта последовательность флагов SYN / ACK / FIN устанавливает соединение.
В UDP нет SYN или ACK, поэтому связь является односторонней, доставкане гарантируется и порядок не сохраняется.Но у него меньше накладных расходов, поэтому он полезен, когда скорость важнее надежности, как, например, при потоковой передаче мультимедиа.
Это пока немного упрощено, но это лучшее, что я могу сделать на данный момент.
Об этом гораздо больше в записи в Википедии по TCP и, конечно,в РФЦ.