Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cpc.doc
Скачиваний:
9
Добавлен:
21.11.2019
Размер:
2.61 Mб
Скачать

Тема 6.5. Протокол данограм користувача (udp)

План лекції

              1. Ідентифікація кінцевих призначень

              2. Резервовані та наявні UDP-порти

              3. UDP-данограма

              4. UDP-заголовок

              5. Контрольна сума UDP-данограми

1. Ідентифікація кінцевих призначень

Мультипрограмні операційні системи допускають одночасне виконання багатьох програм застосувань (арplication programs), які прийнято називати процесами, задачами, застосуваннями і процесами рівня користувача. Процес є кінцевим призначенням для повідомлення. Однак таке означення незручне для практичного застосування, тому корисно уявити, що кожна машина має множину абтрактно трактованих точок призначення, які називають протокольними портами (protocol ports). Кожен протокольний порт ідентифікується цілим додатнім числом. Локальна операційна система забезпечує механізм інтерфейсу, так що процеси використовують визначені їм порти і доступ до них. Більшість операційних систем використовують синхронний доступ до порта. Для забезпечення цього порти буферизуються, так що дані, які поступають тоді, коли процес неактивний, не втрачаються.

Для зв’язку з чужим портом передавач повинен знати як IP-адресу машини призначення, так і номер протокольного порта в машині. Будь-яке повідомлення повинне передавати номер порта призначення і номер порта джерела. Концептуально все мультиплексування і демультиплексування між UDP-програмним забезпеченням і програмами застосувань осягається через механізм протокольних портів із посередництвом операційної системи.

Р исунок 6.14. Демультиплексування в протоколі UDP

На рисунку 6.14 показано приклад демультиплексування одного шару понад IP. UDP використовує номер порта призначення при виборі відповідного порта призначення для прийнятої датаграми.

2. Резервовані та наявні udp-порти

В транспортних протоколах TCP і UDP існують так звані добре відомі порти (well-known ports), які є адресами часто вживаних застосувань.

№ порта

Ключове слово

Ключове слово UNIX

Опис

0

-

-

Зарезервоване

1

TCPMUX

Мультиплексер обслуги портів TCP

2-4

Вільні

5

RJE

Зголошення дистанційної роботи

7

ECHO

echo

Ехо

9

DISCARD

discard

Відмова

11

USERS

systat

Активні користувачі

13

DAYTIME

daytime

Час дня

15

-

netstat

Вільний

17

QUOTE

qotd

Вислів дня

19

CHARGEN

chargen

Генератор знаків

20

FTP-DATA

Передача файлів (дані)

21

FTP

Передача файлів (управління)

23

TELNET

Telnet

25

SMTP

Поштовий протокол

27

NSF-FE

Список корисувачів NSF

29

MSG-ICP

MSG-ICP

31

MSG-AUTH

Підтвердження MSG

33

DSP

Протокол обслуги дісплея

35

“Приватний” сервер друку

37

TIME

time

Час

39

RLP

Протокол локалізації ресурсів

41

GRAPHICS

Графіка

42

NAMESERVER

name

Сервер назв вузлів

43

NICNAME

whois

Ідентифікуюча програма

53

DOMAIN

nameserver

Сервер доменних імен

67

BOOTPS

bootps

Сервер протоколу ініціації

68

BOOTPC

bootpc

Клієнт протоколу ініціації

69

TFTP

tftp

Простий протокол передачі файлів

79

FINGER

Стрілка

101

HOSTNAME

Сервер імен вузлів NIC

102

ISO-TSAP

ISO-TSAP

103

X400

X.400

104

X400SND

X.400 SND

105

CSNET-NS

Сервер поштових імен CSNET

109

POP2

Поштовий протокол POP, версія 2

110

POP3

Поштовий протокол POP, версія 3

111

SUNRPC

sunrpc

Карта портів SUN RPC

123

NTP

ntp

137

NETBIOS-NS

Обслуга імен NETBIOS

138

NETBIOS-DGM

Обслуга датаграм NETBIOS

139

NETBIOS-SSN

Обслуга сесії NETBIOS

146

ISO-TP0

ISO TP0

147

ISO-IP

ISO IP

150

SQL-NET

SQL-NET

153

SGMP

SGMP

156

SQLSRV

Обслуга SQL

160

SGMP-TRAPS

SGMP TRAPS

161

SNMP

snmp

SNMP

162

SNMPTRAP

snmp-trap

SNMPTRAP

163

CMIP-MANAGE

Менеджер CMIP/TCP

164

CMIP-AGENT

Агент CMIP/TCP

165

XNS-COURIER

Xerox

179

BGP

Шлюзовий протокол

512

-

biff

513

-

who

514

-

syslog

525

-

timed

3. UDP-данограма

В комплекті протоколів TCP/IP протокол датаграм користувача (User Datagram Protocol - UDP) здійснює первинний механізм, який використовує прикладна програма для передавання данограми до іншої прикладної програми. UDP є першим прикладом транспортного протоколу і розташований над шаром IP. UDP здійснює ненадійний безз’єднальний сервіс доручення, використовуючи данограми IP для транспорту повідомлень між машинами, однак додає здатність до розпізнавання серед різних призначень в даному вузлі. Будь-яке UDP-повідомлення називають UDP-данограмою. Кожна спроба прикладного процесу передати через мережу інформацію викликає утворення тільки однієї UDP-данограми, що інкапсулюється в одну IP-данограму (рис. 6.15).

Р исунок 6.15. Інкапсуляція UDP-данограми

IP-шар відповідальний лише за передавання даних між парою вузлів internet, тоді як UDP-шар відповідальний лише за розрізнення серед багатьох джерел або призначень в одному вузлі. Це повністю відмінне від потоко-орієнтованих протоколів, таких, наприклад, як TCP, де порція даних, передана прикладною програмою, має мале відношення до того, що буде передано в одній IP-данограмі. UDP не забезпечує високої надійності доставки інформації, UDP-рівень просто передає дані від прикладної програми до IP-рівня, але не дає жодної гарантії , що ця інформація досягне призначення.

Прикладна програма також повинна звертати увагу на розмір результуючої IP-данограми, бо якщо від буде більшим від MTU, то відбудеться фрагментація. Це стосується не тільки MTU інтерфейса комп’ютера джерела, а і MTU інтерфейсів всіх проміжних маршрутизаторів, якщо такі є.

Концептуально UDP-данограма складається з двох частин: UDP-заголовка і області даних.

На рисунку 6.16 наведено формат UDP-данограми

Р исунок 6.16. Формат UDP-данограми

4. UDP-заголовок

Джерельний порт і порт призначення містять 16-бітові UDP номери протокольних портів, які ідентифікують процес прикладної програми, що надіслала UDP-данограму, і процес прикладної програми, для якої призначена UDP-данограма; використовуються для демультиплексування датаграм. Джерельний порт вказується опційно; якщо він використовується, то визначає порт, до якого висилаються відповіді, якщо ні, то містить нуль.

Поле Довжина містить кількість октетів (байтів) і UDP-датаграмі включно із UDP-заголовком (8 байтів) і даними користувача; мінімальне значення рівне 8.

Р исунок 6.17. Данограма UDP, інкапсульована в данограмі IP

Поле Контрольна сума UDP також опційне; контрольна сума охоплює всю UDP-данограму (заголовок і дані), значення нуль вказує, що контрольна сума не обчислюється.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]