Міжмережева взаємодія. Основні підходи до організації міжмережевої взаємодії, страница 3

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

При мультиплексуванні стеків протоколів на один з двох взаємодіючих комп'ютерів з різними стеками протоколів поміщається комунікаційний стек іншого комп'ютера. На мал. 1.4 приведений приклад взаємодії клієнтського комп'ютера мережі В з сервером в своїй мережі і сервером мережі А, працюючої із стеком протоколів, повністю відмінним від стека мережі В. В клієнтському комп'ютері реалізовано обидва стеки. Для того, щоб запит від прикладного процесу був правильно оброблений і направлений через відповідний стек, необхідна наявність спеціального програмного елемента — мультиплексора протоколів, званого також менеджером протоколів. Менеджер повинен уміти визначати, до якої мережі прямує запит клієнта. Для цього може використовуватися служба імен мережі, в якій наголошується приналежність того або іншого ресурсу певної мережі з відповідним стеком протоколів.

Мал. 1.4. Мультиплексування стеків

При використовуванні технології мультиплексування структура комунікаційних засобів операційної системи може бути і складнішої. В загальному випадку на кожному рівні замість одного протоколу з'являється цілий набір протоколів і може існувати декілька мультиплексорів, що виконують комутацію між протоколами різних рівнів. Наприклад, робоча станція, стек протоколів якої показаний на мал. 1.5, може через один мережний адаптер дістати доступ до мереж, що працюють по протоколах NetBIOS, IP, IPX. Дана робоча станція може бути клієнтом відразу декількох файлових серверів: NetWare (NCP), Windows NT (SMB) і Sun (NFS).

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

Мал. 1.5. Мультиплексування протоколів

Виробниками операційних систем робляться спроби стандартизації не тільки міжрівневих інтерфейсів, але і менеджерів протоколів. Найвідомішими стандартами є менеджери Network Driver Interface Specification — NDIS (первинно — сумісна розробка 3Com і Microsoft, версії NDIS 3.0 і 4.0 — реалізації Microsoft), а також стандарт Open Data-Link Interface — ODI, представляючий сумісну розробку компаній Novell і Apple. Ці менеджери реалізують мультиплексування протоколів канального рівня, реалізованих в драйверах мережних адаптерів. За допомогою мультиплексора NDIS або ODI можна зв'язати один драйвер мережного адаптера з декількома протоколами мережного рівня, а також з декількома однотипними мережними адаптерами.

Мультиплексування протоколів реалізує відношення «один до багато кого», тобто один клієнт з додатковим стеком може звертатися до всіх серверів, що підтримують цей стек, або один сервер з додатковим стеком може надавати послуги багатьом клієнтам.

При використовуванні мультиплексорів протоколів існують два варіанти розміщення додаткового стека протоколів — на одному або на іншому взаємодіючому комп'ютері. Якщо додатковий стек встановлюється на сервері, то цей сервер стає доступним для всіх клієнтів з цим стеком. При цьому потрібно ретельно оцінювати вплив установки додаткового продукту на продуктивність серверу.

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

Помітимо, що при організації взаємодії двох різнорідних мереж в загальному випадку потрібно вирішувати дві задачі узгодження служб (мал. 1.6):

·   забезпечення доступу клієнтам мережі А до ресурсів мережі В;  

·   забезпечення доступу клієнтам мережі В до ресурсів мережі А.

Мал. 1.6. Напрями узгодження служб

Ці задачі незалежні, і їх можна вирішувати окремо. В деяких випадках потрібне повне рішення, наприклад, щоб користувачі UNIX-машин мали доступ до ресурсів серверів мережі NetWare, а користувачі персональних машин мали доступ до ресурсів UNIX-хостів, в інших же випадках достатньо забезпечити доступ клієнтам з мережі NetWare до ресурсів мережі UNIX. Більшість продуктів, що є на ринку, забезпечує тільки однонаправлене узгодження прикладних служб.

Розглянемо можливі варіанти розміщення програмних засобів, що реалізовують взаємодію двох мереж, які засновані на мультиплексуванні протоколів. Введемо позначення: З — сервер, До — клієнт, А — додатковий протокол (або протоколи), що надає можливості міжмережевої взаємодії.

На мал. 1.7 показано обидва можливі варіанти однонаправленої взаємодії А—>В: шляхом додавання нового стека до клієнтів мережі А (мал. 1.7, а) або шляхом приєднання «добавки» до серверів мережі В (мал. 1.7, би).

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

Прикладом «добавки», що модифікує клієнтську частину, може служити популярний програмний засіб компанії Microsoft Client Services for NetWare (CSNW), яке перетворює клієнта Windows NT в клієнта серверів NetWare за рахунок установки клієнтської частини протоколу NCP.

Мал. 1.7. Варіанти розміщення засобів міжмережевої взаємодії