Читайте также: |
|
Протокол TCP осуществляет передачу с установлением логического соединения, т.к. перед началом обмена данными 2 процесса осуществляют «рукопожатие» - процедуру, заключающуюся в передаче друг другу специальных сегментов, предназначенных для определения параметров обмена данными. Частью процедуры установления TCP-соединения является инициализация переменных состояния, связанных с TCP-соединением.
TCP-соединение выполняется на оконечных системах, и не выполняется на промежуточных сетевых устройствах (маршрутизаторах, мостах), которые не поддерживают его.
TCP-соединение обеспечивает дуплексную передачу данных (на 2 хостах 2 процесс А и В, могут данные одновременно передавать). Также называют точка-точка, т.е. соединении между единственными приемником и передатчиком.
Процесс установления TCP-соединения: Клиент - инициатор соединения. Сервер - процесс, с которым устанавливается соединение. Клиентский процесс сообщает транспортному уровню своего хоста о том, что необходимо установить соединение с серверным процессом. Затем транспортный уровень клиента начинает установление соединения с транспортным уровнем сервера (клиент посылает серверу спец TCP-сегмент, сервер отвечает, и клиент снова посылает). Т.к. обмен сегментами входит в процедуру установления соединения, её часто называют тройным рукопожатием. После того, как TCP-соединение установлено, прикладные процессы могут начинать обмен данными.
Передача данных: Клиент направляет поток своих данных в сокет, через который данные попадают в протокол TCP, выполняющийся на стороне клиента, TCP направляет эти данные в буфер передачи - один из буферов, создаваемых при выполнении тройного рукопожатия. Время от времени TCP извлекает данные из буфера передачи. Максимальный объем данных, который может быть извлечен из буфера и помещен в сегмент ограничивается максимальным размером сегмента (MMS) (зависит от реализации протокола). Протокол добавляет к каждому фрагменту заголовок, формируя TCP-сегмент, которые передаются сетевому уровню, где заключаются в IP-дейтаграммы. Дейтаграммы пересылаются по сети и принимаются получателем. Когда сегмент оказывается на транспортном уровне, протокол TCP помещает данные сегмента в приемный буфер, затем приложение считывает поток данных из буфера. Приемный и предающий буферы имеются на обеих сторонах соединения.
Структура TCP-сегмента: состоит из полей данных и нескольких полей заголовка. поде данных содержит фрагменты, передаваемые между процессами.
32 бита | |||
Номер порта отправителя | Номер порта получателя | ||
Порядковый номер | |||
Номер подтверждения | |||
Длина Заголовка | Не Используется | Флаги | Окно получателя |
Контрольная сумма | Указатель срочных данных | ||
Параметры | |||
Данные | |||
Дата добавления: 2015-08-05; просмотров: 88 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Протокол UDP. | | | Установление и разрыв соединения, состояния TCP. |