Сети для самых маленьких. Часть 10: TCP
В девятой части UDP добавил к IP только порты и ничего больше: пакет либо дошёл, либо нет. Для большинства приложений этого мало. Файл должен прийти целиком, байты — в том порядке, в котором отправлены, и отправитель не должен заваливать получателя и сеть быстрее, чем они справляются. Всё это делает TCP, Transmission Control Protocol, RFC 793 (сейчас — RFC 9293), и делает поверх того же ненадёжного IP, который теряет, дублирует и переставляет пакеты.
Разговор будет долгим, потому что TCP — это не формат, а алгоритм: набор правил, по которым две стороны договариваются, нумеруют байты, подтверждают, повторяют и притормаживают. Пойдём по жизни соединения: заголовок, установление, передача, надёжность, скорость, закрытие — и в конце посмотрим на всё это в одном захвате.