Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
10.3.2 Поля портов, последовательности и ACK в заголовке TCP
10.3.2 Поля портов, последовательности и ACK в заголовке TCP
Как показано на рис. 10.7, первые несколько полей заголовка TCP предоставляют место для значений портов источника и назначения, порядкового номера первого байта вложенных данных и ACK, равного порядковому номеру следующего байта, ожидаемого на другом конце. Другими словами, если TCP от своего партнера получит все байты до 30-го, в этом поле будет значение 31, указывающее сегмент, который следует переслать далее.
Рис. 10.7. Начальные значения в полях заголовка TCP
Нельзя не отметить одну маленькую деталь. Предположим, что TCP переслал байты от 1 до 50 и более уже нет данных для отправки. Если от партнера поступают данные, TCP обязан подтвердить их получение, для чего пошлет заголовок без подключенных к нему данных. Естественно, в этом заголовке присутствует значение ACK. В поле последовательности — значение 51, т.е. номер следующего байта, который намеревается послать TCP. Когда TCP пошлёт следующие данные, новый заголовок TCP также будет иметь в поле последовательности значение 51.
- 2.6. Термостабилизация режима каскада на биполярном транзисторе
- DUMMY PACKET INTERVAL
- Диаграммы последовательности действий
- TCP REMOTE BUFFER
- Appendix D. TCP options
- Appendix F. Acknowledgments
- TCP characteristics
- TCP headers
- SCTP COOKIE ACK chunk
- SCTP HEARTBEAT ACK chunk
- SCTP INIT ACK chunk
- SCTP SACK chunk