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

2.7.5 Мультиплексування, демультиплексування та порти udp

Програмний модуль UDP являє приклад мультиплексування й демультиплексування. Він приймає UDP-датаграми від багатьох прикладних програм і посилає їх до модуля протоколу IP для передачі, а також він приймає UDP-датаграми, які надходять від IP-модуля, та передає їх відповідним прикладним програмам.

Концептуально всі процеси мультиплексування й демультиплексування між UDP та прикладними програмами здійснюються за допомогою механізму портів. На практиці кожна прикладна програма повинна домовитися з операційною системою про одержання протокольного порту та пов'язаного з ним номера перед посиланням UDP-датаграми. Коли порт виділений, прикладна програма посилає будь-яку датаграму через порт, номер якого зазначений у полі порт відправника UDP. У ході обробки вхідних даних UDP приймає датаграми, які надходять від IP, та демультиплексує їх по портах призначення (рис. 16).

Рисунок 16 – Демультиплексування датаграм по портах

Порт UDP найлегше представити у вигляді черги. У більшості реалізацій, коли прикладна програма домовляється з операційною системою про використання даного порту, операційна система створює внутрішню чергу, що зберігає повідомлення, що надходять. Часто додаток може вказати або змінити розміри черги. Коли UDP одержує датаграму, він перевіряє, чи немає порту призначення з таким номером серед використовуваних портів. Якщо ні, він посилає ICMP-повідомлення про помилку “порт недоступний” і знищує датаграму. Якщо є, UDP додає нову датаграму в чергу порту, де прикладна програма може її одержати. Якщо черга порту вже переповнена, то UDP-модуль знищує нову датаграму.

2.7.6 Зарезервовані й вільні номери портів udp

Коли комп'ютер А хоче одержати файл від комп'ютера В, він повинен знати, який порт у комп'ютері B використовується програмою передачі файлу. Тому два комп'ютери повинні домовитися про номери портів, перш ніж вони зможуть взаємодіяти.

Існують два фундаментальних підходи до призначення портів:

  1. Універсальне призначення. Використовує централізоване керування призначенням. Усі домовляються дозволити центральному органу призначати номери всім необхідним портам і потім опублікувати список призначень. Тоді всі програми створюються відповідно до цього списку. Цей підхід іноді називають “універсальним призначенням”, а такі призначення портів називають “широковідомими призначеннями портів”.

  2. Динамічне призначення. При такому підході номери портів нікому не відомі, а мережне забезпечення самостійно призначає порт, коли це необхідно прикладному процесу. Щоб довідатися про поточне призначення портів на іншому комп'ютері, потрібно зробити запит, у якому ставитья приблизно таке питання: “Як мені викликати службу передачі файлів?” Комп'ютер-одержувач відповість, який порт необхідно використати.

Розроблювачі TCP/IP прийняли змішаний підхід, у якому призначається група портів апріорно, але більшість може вільно використовуватися для будь-яких цілей прикладними програмами в локальній мережі. Апріорно призначені номери портів починаються з маленьких значень і потім збільшуються, а порти з більшими значеннями використовуються для динамічного призначення.

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