Почему бит SYN или FIN в сегменте TCP занимает байт в пространстве порядковых номеров? - PullRequest
25 голосов
/ 28 февраля 2010

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

Ответы [ 2 ]

26 голосов
/ 01 марта 2010

Это не особенно тонко - это так, что сами биты SYN и FIN могут быть подтверждены (и, следовательно, повторно отправлены, если они потеряны).

Например, если соединение закрыто без отправки каких-либо дополнительных данных, то, если FIN * не использовал порядковый номер, закрывающий конец не мог определить разницу между ACK для FIN и ACK для данных, которые были отправлены до FIN.

6 голосов
/ 08 марта 2010

SYN и FIN требуют подтверждения, поэтому при использовании они увеличивают порядковый номер потока на единицу.

...