Відмінності між версіями «UDP»
Hiss (обговорення • внесок) м |
Стойка (обговорення • внесок) |
||
(не показана одна проміжна версія ще одного учасника) | |||
Рядок 1: | Рядок 1: | ||
Протокол дэйтаграмм користувача '''UDP (User Datagram Protocol)''' є протоколом транспортного рівня і базується на можливостях, наданих міжмережевим протоколом IP. Основна задача TCP - забезпечення "швидкої" передачі даних у мережі. Його транспортна адреса в заголовку IP-сегмента дорівнює 17. | Протокол дэйтаграмм користувача '''UDP (User Datagram Protocol)''' є протоколом транспортного рівня і базується на можливостях, наданих міжмережевим протоколом IP. Основна задача TCP - забезпечення "швидкої" передачі даних у мережі. Його транспортна адреса в заголовку IP-сегмента дорівнює 17. | ||
− | Його основні характеристики перераховані нижче: | + | Його основні характеристики перераховані нижче: |
− | + | <ul> | |
− | + | <li>реалізує взаємодію в режимі без встановлення логічного (віртуального) з'єднання;</li> | |
− | + | <li>організує поблочний (дэйтаграммный, пакетний) тип передачі даних;</li> | |
− | + | <li>для ідентифікації партнерів по взаємодії на транспортному рівні використовує 16-бітові "номери портів";</li> | |
− | + | <li>не гарантує надійної передачі даних (можлива як утрата UDP-пакетів, так і їхнє дублювання);</li> | |
− | + | <li>не має засобів повідомлення джерела UDP-пакета про правильність/помилковості в його прийомі адресатом;</li> | |
− | + | <li>не забезпечує правильний порядок доставки UDP-пакетів від джерела до приймача;</li> | |
− | + | <li>може гарантувати цілісність даних у UDP-пакеті за рахунок використання контрольної суми;</li> | |
− | + | <li>дуже простий (особливо, у порівнянні з протоколом TCP).</li> | |
+ | </ul> | ||
Слід зазначити, що, по суті справи, протокол транспортного рівня UDP відіграє роль інтерфейсу для прикладних програм до засобів протоколу міжмережевого рівня IP. | Слід зазначити, що, по суті справи, протокол транспортного рівня UDP відіграє роль інтерфейсу для прикладних програм до засобів протоколу міжмережевого рівня IP. | ||
Рядок 35: | Рядок 36: | ||
Якщо поле "Контрольна сума" UDP-заголовка містить нульове значення, це означає, що джерело UDP-пакета контрольну суму не підраховував, і приймач виконувати її перевірку не повинний. Деякі реалізації протоколу UDP (наприклад, у SunOS - клоні ОС UNIX від Sun Microsystems) контрольну суму не підраховують у принципі, покладаючись на можливості контролю цілісності даних, реалізовані в протоколах мережного рівня (наприклад, у Ethernet). | Якщо поле "Контрольна сума" UDP-заголовка містить нульове значення, це означає, що джерело UDP-пакета контрольну суму не підраховував, і приймач виконувати її перевірку не повинний. Деякі реалізації протоколу UDP (наприклад, у SunOS - клоні ОС UNIX від Sun Microsystems) контрольну суму не підраховують у принципі, покладаючись на можливості контролю цілісності даних, реалізовані в протоколах мережного рівня (наприклад, у Ethernet). | ||
+ | |||
+ | |||
+ | [[TCP/IP]] | ||
[[category:Комп'ютерні мережі]] | [[category:Комп'ютерні мережі]] |
Поточна версія на 12:18, 12 травня 2009
Протокол дэйтаграмм користувача UDP (User Datagram Protocol) є протоколом транспортного рівня і базується на можливостях, наданих міжмережевим протоколом IP. Основна задача TCP - забезпечення "швидкої" передачі даних у мережі. Його транспортна адреса в заголовку IP-сегмента дорівнює 17.
Його основні характеристики перераховані нижче:
- реалізує взаємодію в режимі без встановлення логічного (віртуального) з'єднання;
- організує поблочний (дэйтаграммный, пакетний) тип передачі даних;
- для ідентифікації партнерів по взаємодії на транспортному рівні використовує 16-бітові "номери портів";
- не гарантує надійної передачі даних (можлива як утрата UDP-пакетів, так і їхнє дублювання);
- не має засобів повідомлення джерела UDP-пакета про правильність/помилковості в його прийомі адресатом;
- не забезпечує правильний порядок доставки UDP-пакетів від джерела до приймача;
- може гарантувати цілісність даних у UDP-пакеті за рахунок використання контрольної суми;
- дуже простий (особливо, у порівнянні з протоколом TCP).
Слід зазначити, що, по суті справи, протокол транспортного рівня UDP відіграє роль інтерфейсу для прикладних програм до засобів протоколу міжмережевого рівня IP.
Формат заголовка UDP-пакета.
0 15 31 +------------------------------+-------------------------------+ | Порт джерела | Порт приймача | +------------------------------+-------------------------------+ | Довжина | Контрольна сума | +------------------------------+-------------------------------+
Довжина. 16-бітове поле, що містить довжину (у байтах) усього UDP-пакета, включаючи заголовок і дані.
Контрольна сума. 16-бітове поле, що містить Internet-контрольну суму, підраховану для UDP-заголовка, даних пакета і псевдозаголовка. Псевдозаголовок (такий же, як для підрахунку контрольної суми в TCP-заголовку) містить у собі ряд полів IP-заголовка і має показану таку структуру:
0 7 15 31 +-----------+-----------+-----------------------+ | IP-адреса джерела | +-----------------------+-----------------------+ | IP-адреса приймача | +-----------+-----------+-----------------------+ | Нулі | Транспорт | Довжина IP-сегмента | +-----------+-----------+-----------------------+
Якщо поле "Контрольна сума" UDP-заголовка містить нульове значення, це означає, що джерело UDP-пакета контрольну суму не підраховував, і приймач виконувати її перевірку не повинний. Деякі реалізації протоколу UDP (наприклад, у SunOS - клоні ОС UNIX від Sun Microsystems) контрольну суму не підраховують у принципі, покладаючись на можливості контролю цілісності даних, реалізовані в протоколах мережного рівня (наприклад, у Ethernet).