Головна

передача параметрів | семантика виклику | подання даних | Як це працює? | client.c |

Принципи побудови протоколу.

  1. II. Базові принципи побудови та основні завдання загальнонаціональної системи виявлення та розвитку молодих талантів
  2. III. Принципи покладені в основу демографічної політики в концепції РФ
  3. III.2. Принципи як категорія дидактики.
  4. III.2. Принципи навчання дітей з відхиленнями у розвитку
  5. IV.2. Правила побудови загальнонаукової ландшафтної карти
  6. V.4. Принципи і правила створення культурних ландшафтів

Протокол RPC може використовувати кілька різних транспортних протоколів. В обов'язки RPC-протоколу входить лише забезпечення стандартів і інтерпретація передачі повідомлень. Достовірність і надійність передачі повідомлень цілком забезпечується транспортним рівнем.

Однак RPC може контролювати вибір і деякі функції транспортного протоколу. Як приклад взаємодії між RPC і транспортним протоколом розглянемо процедуру призначення RPC-порту роботи прикладного процесу через RPC - Portmapper.

Ця функція динамічно (на вимогу) призначає з'єднанню RPC певний порт. функція Portmapper використовується досить часто, оскільки набір зарезервованих для RPC транспортних портів обмежений, а кількість процесів, які потенційно можуть одночасно працювати дуже високо. Portmapper, Наприклад, викликається при виборі портів взаємодії клієнта і сервера системи NFS.

сервіс Portmapper використовує механізм широкомовних повідомлень RPC на певний порт - III. На цей порт клієнт відправляє широковещательное повідомлення запиту порту певного сервісу RPC. сервіс Portmapper обробляє таксі повідомлення, визначає адресу локального сервісу RPC і відправляє клієнту відповідь. сервіс RPC Portmapper може працювати як з TCP, так і з UDP-протоколами.

RPC може працювати з різними транспортними протоколами, але ніколи не дублює їх функції, т. Е. Якщо RPC працює поверх TCP, всі турботи про надійність і достовірності з'єднання RPC покладає на TCP. Однак, якщо протокол RPC встановлений поверх UDP, він може забезпечувати додаткові власні функції забезпечення гарантованої доставки повідомлень.

Для роботи RPC-протоколу необхідно виконання наступних умов:

1. Унікальна ідентифікації всіх віддалено викликаються процедур на даному хості. RPC-запити містять три поля ідентифікаторів - номер віддаленої програми (сервісу), номер версії віддаленої програми і номер віддаленої процедури зазначеної програми. Номер програми призначається виробником сервісу, номер процедури вказує на конкретну функцію даного сервісу

2. Ідентифікація версії RPC-протоколу. RPC-повідомлення містять поле версії RPC-протоколу. Вона використовується для узгодження форматів переданих параметрів при роботі клієнта з різними версіями RPC.

3. Надання механізмів аутентифікації клієнта на сервері. RPC-протокол забезпечує процедуру аутентифікації клієнта в сервісі, і, в разі необхідності, при кожному запиті або написанні відповіді клієнту. Крім того, RPC дозволяє використовувати різні додаткові механізми безпеки.

RPC може використовувати чотири типи механізмів аутентифікації:

- AUTH_NULL - без використання аутентифікації

- AUTH_UNIX - аутентифікація за стандартом UNIX

- AUTH_SHORT - аутентифікація за стандартом UNIX з власною структурою кодування

- AUTH_DES - аутентифікація за стандартом DES

4. Ідентифікація повідомлень відповіді на відповідні запити. Відповідні повідомлення RPC містять ідентифікатор запиту, на підставі якого вони були побудовані. Цей ідентифікатор можна назвати ідентифікатором транзакції виклику RPC. Даний механізм особливо необхідний при роботі в асинхронному режимі і при виконанні послідовності з декількох RPC-викликів.

5. Ідентифікація помилок роботи протоколу. Всі мережеві або серверні помилки мають унікальні ідентифікатори, за якими кожен з учасників з'єднання може визначити причину збою в роботі.



Механізм виклику віддалених процедур - RPC | Програмний інтерфейс високого рівня.
© um.co.ua - учбові матеріали та реферати