Урок № 9. Рівні доступу до мережі, порядок підключення та налаштування мережевих пристроїв.
В основі операційних систем робочих станцій є проста програма переспрямування (redirector). Вона резидентне міститься в пам'яті комп'ютера. Коли користувач або його програма звертаються з запитом до операційної системи комп'ютера, ця програма перехоплює запит, аналізує, хто його може виконати, і спрямовує або в ОС того ж комп'ютера, або в сервер, якому адресовано цей запит. Користувач не бачить, до яких ресурсів (свого комп'ютера чи мережі) він звертається. Програма переспрямування зберігає інформацію про наявність серверів мережі і ставить у відповідність символьним посиланням реальні ресурси локального комп'ютера або мережі. На відміну від багатотермінальної системи, завдання в KM виконуються на робочих станціях та читаються з файл-сервера. Ідею переспрямування широко застосовують в архітектурі сучасних мережевих ОС для збільшення універсальності їхнього застосування, наприклад, в організації багатопротокольності.
Операційна система сервера складніша. Вона виконує набір функцій, які умовно розподіляють на базові, реалізовані в ядрі ОС (ядро - це головна програма ОС, яка резидентне міститься у пам'яті), та додаткові, що їх реалізують зовнішні щодо ядра програми.
До функцій, які виконує ядро, зазвичай, належать:
- керування пам'яттю;
- планування завдань та керування виконанням процесів;
- підтримка файлових систем.
Додатковими функціями, наприклад, можуть бути такі:
- адміністративні функції;
- керування друкуванням;
- мережеві функції.
Конкретний набір функцій сервера залежить від типу сервера та його конфігурації. Наприклад, для файл-сервера головними є функції файлової системи, планування завдань, керування пам'яттю та доступом до ресурсів. До появи ідеології файл-серверів кожен користувач прямо звертався до диска так званого диск-сервера. Оскільки вплив перешкод від одночасного звертання був значним, то така система не була надійною і не зберігала цілісності інформації. У файл-сервері запит спочатку потрапляє в ОС сервера, яка керує доступом усіх користувачів та дає змогу уникнути взаємних перешкод.
ОС сервера, що працює з DOS, застосовує деякі вбудовані в цю ОС функції, орієнтовані на колективне використання файлів, зокрема, розширене відкривання файлів та їхнє фізичне блокування. Функція розширеного відкривання визначає, які права доступу можуть мати користувачі, а саме: читання, записування, читання/записування. Якщо файл потрібно змінити, то його відкривають з правом читання/записування та відміняють такі права для інших користувачів. Права зберігають аж до закриття файлу. Описане відкривання файлу називають неподільним (монопольним). Якщо файл треба читати, то його можна відкрити з правом читання та заборонити записування для інших. Файл можуть відкрити одночасно кілька користувачів, якщо їхні права не суперечать одне одному. Якщо два або більше користувачів одночасно хочуть змінити файл, то ОС використовує операцію блокування запису. Прикладні програми можуть блокувати конкретний запис: доки є блокування, всі спроби прочитати або записати блокований запис будуть відхилені. Отже, однією з функцій ОС мережі є керування доступом до файлів, створення черг запитів та керування ними. Іноді реалізується пріоритетний доступ до файлів. Концепцію спільного використання файлів найзручніше описати на прикладі операцій з базами даних.
Спеціальні операції керування колективним доступом до баз даних є практично в усіх СКБД. У деяких з них (Access, Foxpro, Oracle, Informix, Sybase) блокування записів відбувається автоматично, в інших це робить програміст.
Сервер також виконує функцію керування повноваженнями. Кожному файлу або каталогу ставиться у відповідність список користувачів, які мають доступ до нього, та тип цього доступу.
Сучасні КМ, зазвичай, гетерогенні і містять багато серверів, що працюють на різних ОС (Netware, UNIX, Windows NT), та багато клієнтів (DOS, Windows, UNIX, Windows NT, Macintosh). Системний інтегратор повинен забезпечити взаємодію цих різнорідних систем у єдиній інформаційній системі.
А. Багатопротокольні системи. Організація спільної роботи в одній мережі комп'ютерів кількох різних операційних систем зводиться до побудови багатопротокольних систем, в яких одночасно підтримувані кілька різних протокольних стеків.
Багатопротокольність забезпечують трьома різними шляхами.
- Розробка та використання окремих програмних продуктів, спеціально призначених для організації доступу між двома різними системами. У такому підході немає універсальності.
- Встановлення кількох протокольних стеків на одній (або обох) з машин, які беруть участь у взаємодії. Такий підхід називають мультиплексуванням протокольних стеків.
- Налаштування спеціального компонента мережі - шлюзу, на якому встановлено обидва протокольні стеки. Шлюз транслює протоколи одного стека в інший. Процедура транслювання є евристичною, оскільки не завжди відповідність між двома протоколами однозначна. Особливо це стосується різних методів адресації ресурсів.
У реальних мережах використовують усі три підходи, однак найчастіше - другий.
Б. Використання спеціальних програмних засобів
Розглянемо використання спеціальних програмних засобів на прикладі організації сполучення мереж Novell Netware та UNIX.
За рівнем функційних можливостей розрізняють кілька класів продуктів та функцій.
- Емуляція терміналів у Novell Netware. У цьому випадку персональний комп'ютер - робоча станція Netware - перетворюється в алфавітно-цифровий термінал UNIX. He використовують ресурси ПК, проте користувач має доступ до хоста UNIX, його мережевих можливостей. Функцію емуляції терміналів, як одну з примітивних, реалізують багато пакетів програм.
- Емуляція сервера Novell Netware. Цю функцію реалізують продуктом Netware for UNIX. Файлову систему Netware монтують на гості UNIX як одну з його файлових систем. Клієнти Netware бачать цю файлову систему як ще один сервер Netware. Користувачі UNIX, зареєстровані як користувачі обох ОС, працюють з файловою системою Netware як з файловою системою UNIX. Аналогічну, однак розширену, функцію виконує і продукт Novell NFS-Gateway. Приєднані до якогось сервера Netware клієнти працюють з усіма файловими системами UNIX як з томами Netware-сервера.
- Емуляцію хоста UNIX реалізують програмою NFS-server, її налаштовують на сервері Netware. Клієнти бачать цей сервер як хост UNIX.
- Використання механізмів NFS. Для віддаленого доступу до хоста UNIX можна застосувати програми та підходи продукту NFS, розробленого фірмою Sun Microsystems. Для цього в файлі /etc/exports можна задати каталоги, доступні всім NFS-клієнтам, або змонтувати віддалений каталог як окрему файлову систему своєї машини.
Для сполучення ОС UNIX та Windows NT можна застосувати такі продукти:
- програмний продукт Samba, який налаштовують на сервері UNIX, надаючи змогу користувачам різних варіантів ОС Windows (що працюють з файловим протоколом SMB) мати доступ до інформації цього сервера;
- продукт NFS, який у цьому випадку налаштовують як на сервері UNIX, так і клієнті Windows NT.
В. Мультиплексування протокольних стеків
Засоби мультиплексування протоколів для зручності прийнято розміщувати на трьох рівнях:
- під час реалізації драйверів адаптерів (на канальному рівні);
- у програмах, що працюють на мережевому і транспортному рівнях;
- на серверах та редиректорах (сеансовий, рівень відображення та прикладний).
Для організації мультиплексування на кожному з цих трьох рівнів вводять мультиплексер (менеджер) протоколів. Головна його функція - створення єдиного інтерфейсу доступу до різних протоколів з боку протоколів вищого рівня, вибір та перемикання між протоколами.
У Windows NT один мережевий протокол може використовувати кілька драйверів канальних протоколів, а один драйвер адаптера може працювати з кількома мережевимиі протоколами. На найнижчому рівні застосовують драйвер, написаний відповідно до специфікації NDIS (рисунок 15.2). Мультиплексер NDIS ізолює драйвер мережного адаптера від апаратури. Windows NT підтримує також і мультиплексер ODI.
На середньому рівні вводять стандарт на інтерфейс транспортних засобів (Transport Device Interface (TDI)). У Windows NT ці протоколи реалізовані у вигляді драйверів введення-виведення. Редиректори та транспортні протоколи, написані відповідно до правил TDI, можуть створювати довільні зв'язки між собою. Для доступу до функцій транспортного рівня використовують інтерфейси Netbios та Windows Sockets, які звертаються до транспортних протоколів через інтерфейс TDI. Поряд з TDI застосовують також і модифіковане середовище STREAMS, розроблене для UNIX.