Вы находитесь на странице: 1из 2

Лекция 6. Протоколы транспортного уровня.

Функции протоколов транспортного


уровня (TCP, UDP). Формат TCP-сегмента и UDP-дейтаграммы.
В Internet есть два основных транспортных протокола: протокол управления
передачей (TCP) и протокол дейтаграмм пользователя (UDP). ТСР обеспечивает
транспортировку данных с установлением соединения, а UDP работает без установления
соединения.
6.1 Протокол управления передачей (TCP)
TCP (Transmission Control Protocol) - специально созданный протокол, чтобы
обеспечить надежную передачу точка-точка потока байтов через не надежную сеть.
Главная функция ТСР – доставка сообщений без потерь. Именно ТСР производит
повторную передачу искаженного или утерянного пакета.
Доступ к ТСР сервису происходит через сокет. Сокет состоит из IP адреса хоста и 16
разрядного локального номера на хосте, называемого порт. Например, если надо
обеспечить FTP передачу файла, то надо соединяться на 21 порт, где находится FTP
демон. Для TELNET - 23 порт, SMTP - 25 порт.
Ниже представлена структура заголовка сегмента и формат пакета ТСР. Заголовок
TCP сегмента состоит из пяти или шести 32-разрядных слов.

Порт отправителя (16 бит) Порт получателя (16 бит)


Позиция сегмента (32 бита)
Первый ожидаемый байт (32 бита)
Длина Резерв U A P R S F
заго- (6 бит) R C S S Y I
Размер окна (16 бит)
ловка G K H T N N
(4 бита)
Контрольная сумма сегмента (16 бит) Указатель срочных данных (16 бит)
Опции и заполнитель (параметры и дополнение)
Данные
Рисунок 6.1 - Заголовок TCP сегмента

Поле «Порт отправителя» (Source port, 16 бит). Номер порта отравителя указывает
порт, на который хост получателя может послать ответ. Поле «Порт получателя»
(Destination port, 16 бит). Этот номер порта получателя задается хостом отправителя.
Поле «Позиция сегмента», порядковый номер (Sequence number, 32 бита). Поле
содержит порядковый номер первого байта данных в этом сегмента в сообщении, если
флаг SYN=0.
Поле «Первый ожидаемый байт» (Acknowledgement number, 32 бита). Содержит
порядковый номер первого ожидаемого байта. Равен максимальному номеру байта в
полученном сегменте, увеличенный на единицу. Используется тогда, когда сегмент
служит квитанцией (флагACK=1).
Поле «Длина заголовка» (Data offset, 4 бита). Длина заголовка, измеренная в 32-
разрядных словах. Поле «Резерв» (6 бит). Зарезервировано для использования в будущем.
Поле «Флаги» (Flags, 6 бит). Содержит различную управляющую информацию. В
состоянии «1» они означают следующее. URG (Urgent). Признак срочности данных (они
отправляется сразу, без буферизации). ACK. Признак подтверждения. Квитанция на
принятый сегмент. Для функционирующих соединений всегда установлен. PSH (Push).
Функция продвижения. Сегмент должен быть переслать эти данные немедленно и все
предыдущие сегменты сообщения. RST. Сброс соединения. Сегмент служит запросом на
установку первоначальных параметров соединения. SYN. Синхронизировать порядковые
номера. Сегмент служит для синхронизации счетчиков переданных данных при
установлении соединения. Этот флаг устанавливается (SYN=1) в первом пакете,
посылаемом при попытке установить сеанс TCP. Флаг SYN никогда не устанавливается
при работающем соединении (SYN=0). FIN. Отсутствие данных от отправителя. Означает,
что отправлен последний байт сообщения. Отправитель закончил передачу данных.
Поле «Размер окна» (Window, 16 бит). Указывает, сколько байтов готов принять
получатель (буферный объем, доступный для поступающих данных). Пересылается с
каждым пакетом подтверждения.
Поле «Контрольная сумма сегмента» (16 бит). Для проверки целостности сегмента.
Поле «Указатель срочности данных» (Urgent pointer, 16 бит). Указывает на последний
байт в последовательности срочных данных в пакете. Используется, когда флаг URG=1.
Поле «Опции и заполнитель» (Options and padding). Позволяет передать
необязательные параметры. Заполнитель дополняет заголовок до целого числа 32-
разрядных слов.
Поле «Данные» содержит информацию для передачи.
6.2 Протокол дейтаграмм пользователя (UDP)
UDP (User Data Protocol) - транспортный протокол без соединений. Задачей
протокола UDP является передача данных между прикладными процессами без гарантий
доставки, поэтому его пакеты могут быть потеряны, продублированы или прийти не в том
порядке, в котором они были отправлены.
Связь без установления соединения ненадежна, так как отправителю не сообщается,
правильно ли было принято его сообщение и получено ли оно вообще. Не предусмотрено
и исправление ошибок: они либо игнорируются, либо исправляются на выше- или
нижележащих уровнях. В вышележащий уровень данные передает в несортированном
виде. Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда мощные
механизмы обеспечения надежности протокола ТСР не обязательны.
Заголовок UDP имеет всего четыре поля.

Порт отправителя Порт получателя


Длина дейтаграммы Контрольная сумма дейтаграммы
Данные
Рисунок 6.2 - Заголовок UDP

Поле «Порт отправителя» (Source port, 16 бит). Содержит номер порта процесса-
отправителя. Если поле не используется, то оно заполняется нулями. Поле «Порт
получателя» (Destination port, 16 бит). Содержит номер порта процесса-получателя.
Поле «Длина дейтаграммы» (Length, 16 бит). Содержит полную длину дейтаграммы.
Поле «Контрольная сумма дейтаграммы» (Checksum UDP, 16 бит). Обеспечивает
проверку целостности пакета. При обнаружении ошибки дейтаграмма отбрасывается.
Заполнение поля контрольной суммы нулями понимается как отказ от расчета
контрольной суммы. Для того чтобы этот отказ отличался от того (редкого, но
возможного) случая, когда рассчитанная контрольная сумма равна нулю, в последнем
случае все биты поля контрольной суммы устанавливаются в состояние 1.
Основная литература: 2[410-415], 3[70-74], 5[598-650].
Дополнительная литература:
Контрольные вопросы:
1. Какая длина заголовка TCP-сегмента?
2. Структура TCP сегмента.
3. Назначение флагов в заголовке TCP-сегмента?
4. Для чего используется поле «Размер окна» (16 бит) в TCP-сегменте?
5. Какая длина заголовка UDP-дейтаграммы?
6. Назначение полей заголовка UDP-дейтаграммы?
7. Структура UDP дейтаграммы.
8. Что означает заполнение нулями поля контрольной суммы UDP-дейтаграммы?

Вам также может понравиться