Протокол пользовательских датаграмм (User Datagram Protocol – UDP) – простой
протокол, не обеспечивающий надежность при передаче данных. Датаграммы в этом протоколе
могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразуме-
вает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в прило-
жении. При этом данный протокол позволяет обрабатывать информацию с большой скоростью.
Используется, например, для потоковой передачи аудио- и видеоданных.
Заголовок UDP-пакетов состоит из следующих полей (рисунок 50):
1. Порт источника и порт назначения – данные поля определяют конкретные прило-
жения, откуда поступает информацию, и в какой приложение она должна поступить. Размер
обоих полей – по 16 бит каждый;
2. Длина датаграммы – поле, задающее длину всей датаграммы (заголовка и данных)
в байтах. Минимальная длина равна длине заголовка – 8 бит;
3. Контрольная сумма – используется для проверки заголовка и данных на ошибки.
Если сумма не сгенерирована передатчиком, то поле заполняется нулями. Размер – 16 бит.
Рисунок 50 – Заголовок UDP
Заголовок TCP-пакетов куда более обширный и состоит из следующих полей (рису-
нок 51):
1. Порт источника и порт назначения – Абсолютно аналогичен полян из UDP-пакета.
Размер обоих полей – по 16 бит каждый;
2. Порядковый номер – номер первого байта в сообщении. Может также использо-
ваться для обозначения исходного порядкового номера в передаче. Размер поля – 32 бита;
3. Номер подтверждения – порядковый номер следующего байта данных, который
ожидает получатель. Размер поля – 32 бита;
4. Длина заголовка – указывает на длину заголовка сегмента TCP. Размер поля –
4 бита
;
5. Зарезервировано – неиспользуемое на данный момент пространство, зарезервиро-
ванное для будущего использование. Всегда устанавливается значение 0. Длина поля – 6 бит;
6. Управляющие биты (флаги) – флаги, указывающие на дополнительные функции
сегментов TCP. Например: ACK – поле «Номер подтверждения» задействовано, SYN – син-
И. Трещев. «Сети и телекоммуникации. Для студентов»
57
хронизация номеров последовательности. FIN —флаг, будучи установлен, указывает на завер-
шение соединения. Размер поля – 6 бит;
7. Окно (размер окна) – указывает количество сегментов TCP (количество байт дан-
ных), которые можно принять одновременно. Размер – 16 бит;
8. Контрольная сумма – позволяет совершать проверку на ошибки в заголовке и дан-
ных в передаваемом сегменте. Размер – 16 бит;
9. Срочность (указатель важность) – указывает порядковый номер октета, которым
заканчиваются полезные данные. Размер – 16 бит;
10. Опции – Могут применяться в некоторых случаях для расширения протокола. Ино-
гда используются для тестирования. Размер – 32 бит.
Рисунок 51 – Заголовок TCP
Процесс начала сеанса TCP состоит из трёх шагов (рисунок 52):
1. Клиент запрашивает сеанс обмена данных с сервером. Серверу посылается сегмент
с флагом SYN, в котором дается информация о использовании номеров последовательности?
начиная с порядкового номера (SEQ) 100;
2. Сервер подтверждает сеанс типа «клиент-сервер» и запрашивает сеанс «сервер-кли-
ент». Сервер передаёт SYN cо своим значением SEQ, а также подтверждение для принятого
SYN, которое имеет следующий вид: ACK = SYN +1. Таким образом, значение ACK будет
равняться 100 +1 = 101;
3. Клиент подтверждает сеанс типа «сервер-клиент». Соединение устанавливается.
Рисунок 52 – Процесс установления TCP-соединения
Сеанс завершается, когда у клиента больше нет данных для отправки в потоке (рису-
нок 53).
1. Клиент отправляет сегмент с установленным флагом FIN;
2. Сервер отправляет подтверждение ACK, чтобы подтвердить получение флага FIN для
завершения сеанса;
3. Сервер отправляет клиенту сегмент FIN для завершения сеанса;
4. При получении сегмента FIN клиент отправляет подтверждение ACK серверу для под-
тверждения получения информации от сервера.
И. Трещев. «Сети и телекоммуникации. Для студентов»
58
Рисунок 53 – Процесс разрыва TCP-соединения
И. Трещев. «Сети и телекоммуникации. Для студентов»
59
Do'stlaringiz bilan baham: |