Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
os7.doc
Скачиваний:
0
Добавлен:
20.06.2023
Размер:
217.09 Кб
Скачать

7.3. Протокол udp

Этот протокол обеспечивает логический коммуникационный канал между источником и получателем без предварительного установления связи. Протокол не обеспечивает надежной связи, поэтому приложения сами должны позаботиться об этом.

Из-за минимальной функциональности протокол требует меньших накладных расходов по сравнению с TCP.

Структура заголовка UDP представлена ниже.

0 - 15

16 - 31

Source port

Destination Port

Length

Checksum

Data

Длина дейтаграммы не может быть меньше 8 байтов.

Если контрольная сумма используется, то она вычисляется по следующим полям IP-заголовка:

  1. Protocol;

  1. Source address;

  1. Destination address

Примеры использования протокола UDP:

  1. Синхронизация времени;

  1. Удаленное копирование;

  1. Удаленный вызов процедур.

Протокол используется для обмена данными в тех случаях, когда потеря отдельного сообщения не слишком сильно влияет на работу системы в целом.

7.4. Протокол tcp

7.4.1. Структура tcp-сегмента

ТСР – протокол, поддерживающий надежную передачу данных с предварительным установлением связи между источником и получателем.

ТСР характеризуется следующими особенностями:

  1. Перед фактической передачей данных необходимо установление связи, т. е. запрос и подтверждение на возможность передачи данных. После обмена данными сеанс должен быть явно завершен;

  1. Доставка информации является надежной, т. е. нет дублирования, пропадания и нарушения очередности пакетов.

TCP-канал - это двунаправленный поток данных между соответствующими объектами обмена – источником и получателем. Данные передаются в виде пакетов различной длины, называемых сегментами.

Формат ТСР сегмента представлен ниже.

0 – 3

4 - 7

8 - 11

12 - 15

16 - 19

20 - 23

24 - 27

28 – 31

Source port

Destination port

Sequence number

Acknowledgement number

Offset

Reserved

Flags

Window

Checksum

Urgent pointer

Options

Padding

Data

Формат TCP-сегмента

Положение каждого сегмента в потоке фиксируется порядковым номером (Sequence number). Сегмент также содержит номер подтверждения (Acknowledgement number), определяющий номер первого неподтвержденного байта в потоке.

Поле Window определяет количество байтов, которые получатель готов принять, начиная с байта, номер которого определен как Acknowledgement number.

Поле Offset указывает на начало данных в сегменте. Поле необходимо т.к. заголовок может иметь переменную длину.

Поле Flags содержит 6 управляющих битов:

  1. URG – экстренные данные

  2. ACK – в заголовке есть подтверждение

  3. PSH – немедленная передача данных

  4. RST – уничтожение канала

  5. SYN – управляющее сообщение

  6. FIN – прекращение передачи

Поле Checksum – контрольная сумма

Поле Urgent pointer – указатель на экстренные данные (при установленном флаге URG).

Поле Options – дополнительные параметры.

Поле Padding – выравнивающее до 32 бит поле.

Соседние файлы в предмете Операционные системы