Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО / Semestr 2 / Lectures 2 semestr.doc
Скачиваний:
99
Добавлен:
11.04.2015
Размер:
11.56 Mб
Скачать

Назначение полей tcp пакета:

Номер порта отправителя – Source Port (16 бит) – содержит номер порта, с которого был отправлен пакет, когда это имеет значение (например, отправитель ожидает ответа). Если это поле не используется, оно заполняется нулями.

Номер порта назначения – Destination Port (16 бит) – содержит номер порта, на который будет доставлен пакет.

Порядковый номер – Sequence number (32 бита) – значение, присвоенное пакету TCP, определяющее номер стартового байта пакета, если не установлен бит SYN. Если установлен указанный бит, то порядковый номер является начальным порядковым номером (ISN) и первый байт данных равен ISN + 1;

Номер подтверждения – Acknowledgment Number (32 бита) – значение, отсылаемое принимающей станцией отправителю, подтверждающее прием переданного ранее пакета (пакетов). Оно задает следующий порядковый номер, который целевая станция ожидает получить при установленном бите ACK. При установленном соединении подтверждение отправляется всегда.

Смещение данных – Data Offset (4 бита) – задает длину заголовка TCP (количество 32-битовых слов в заголовке TCP);

Резервное поле – Reserved (6 бит) – зарезервировано.

Флаги управления:

URG – флаг срочности, применяется при посылке сообщения получателю, ожидающему приема экстренной информации;

ACK – флаг пакета, содержащего подтверждение получения;

PSH – флаг выталкивания, немедленная отсылка данных после считывания данных этого пакета;

RST – флаг переустановки соединения;

SYN – флаг синхронизации чисел последовательности;

FIN – флаг окончания передачи со стороны отправителя.

Окно – Window (16 бит) – содержит количество байт данных, которое отправитель данного сегмента может принять, отсчитанное от номера байта, указанного в поле Acknowledgment Number.

Поле контрольной суммы – Checksum (16 бит) – представляет собой побитное дополнение 16-битной суммы 16-битных слов заголовка и данных дополненных нулевым байтом, если сегмент содержит нечетное число байт заголовка и данных. При вычислении контрольной суммы поле контрольной суммы полагается равным нулю.

Указатель срочных данных – Urgent Pointer (16 бит) – содержит значение счетчика байтов, начиная с которого следуют данные повышенной срочности. Данное поле интерпретируется только в пакетах с установленным флагом URG;

Опции – Options – имеет переменную длину и содержит дополнительные параметры;

Заполнение – Padding – имеет переменную длину и используется для выравнивания заголовка по 32-битному слову нулевыми значениями.

Установление соединения, передача данных и завершение соединения.

Соединение станет активным только после того, как отправитель и получатель обменяются несколькими управляющими пакетами для установки соединения. Данный процесс известен как трехэтапное установление связи (three-way handshake). Его цель – синхронизировать порядковые номера и номера подтверждений для каждой конечной точки в момент установления соединения TCP.

Станция A пошлет TCP активный вызов OPEN для запроса установки соединения с приложением удаленной сетевой станции. Станция A построит заголовок TCP с установленным битом SYN (бит синхронизации), затем определит начальное порядковое значение (оно не всегда равно 0 и может быть любым; здесь выбрано 100) и разместит его в поле порядкового номера. После заполнения в заголовке TCP других полей пакет будет отправлен протоколу IP для передачи станции B.

Станция B установит в заголовке TCP биты SYN и ACK, показанные на рисунке, поместит свое собственное начальное порядковое значение (200) в поле порядкового значения пакета, а в поле подтверждения будет указано значение 101 (порядковый номер станции A плюс 1, что задает следующий ожидаемый порядковый номер).

Станция A получит ответный пакет и определит, что это подтверждение запроса соединения. Станция построит новый пакет, установит бит ACK, назначит порядковый номер равным 101, укажет номер подтверждения 201 и отошлет пакет станции B. Как только это произойдет, соединение станет активным, и данные приложения начнут передаваться по нему. Пока по соединению проходят данные, каждая сторона соединения поддерживает свою собственную таблицу порядковых номеров для данных, отсылаемых и получаемых по соединению.

Завершение соединения выполняется установкой флага FIN. Т.к. TCP предоставляет полнодуплексное соединение, каждая сторона соединения должна его закрыть.

Соседние файлы в папке Semestr 2