logo search
ISTE

4.2. Типи та класифікація комп’ютерних мереж

Еволюція обчислювальних систем. Концепція обчислювальних мереж є логічним результатом еволюції комп’ютерної технології. Перші комп’ютери 50-х років призначалися для невеликої кількості вибраних користувачів. Такі комп’ютери не були призначені для інтерактивної роботи користувачів, а використовувалися в режимі пакетної обробки. Системи пакетної обробки, як правило, будувалися на базі мейнфрейма – потужного і надійного комп’ютера універсального призначення. Користувачі готували перфокарти, які містили дані та команди програм, і передавали їх в обчислювальний центр. Оператори вводили інформацію з цих карт в комп’ютер, а роздруковані результати отримували через деякий час. Для користувачів інтерактивний режим роботи, при якому можна з терміналу оперативно управляти процесом обробки своїх даних, був би значно зручнішим. Однак інтересами користувачів на перших етапах розвитку обчислювальних систем часто нехтували, оскільки пакетний режим – це найефективніший режим використання обчислювальної потужності, оскільки він дозволяє виконати в одиницю часу більше користувацьких задач, ніж будь-які інші режими. Основна перевага віддавалася ефективності роботи найдорожчого пристрою обчислювальної машини – процесору, не зважаючи на ефективність праці фахівців, що його використовували.

По мірі здешевлення процесорів на початку 1960-х років з’явилися нові способи організації обчислювального процесу, які дозволили врахувати інтереси користувачів. Почали розвиватися інтерактивні багатотермінальні системи реального часу. В таких системах комп’ютер віддавався в розпорядження кільком користувачам. Кожний користувач отримував в своє розпорядження термінал, за допомогою якого він міг вести діалог з комп’ютером. Термінали, вийшовши за межі обчислювального центру, роззосереджувалися по всьому підприємству. І хоча обчислювальна потужність залишалася повністю централізованою, деякі функції – такі як введення і виведення даних – стали розподіленими. Такі багатотермінальні централізовані системи зовнішньо уже були дуже подібними на локальні обчислювальні системи. Дійсно, рядовий користувач роботу за терміналом мейнфрейма сприймав приблизно так само, як зараз він сприймає роботу за підключеним до мережі персональним комп’ютером. Користувач міг отримати доступ до спільних файлів та периферійних пристроїв. При цьому у нього підтримувалася повна ілюзія повноцінного володіння комп’ютером, оскільки він міг запустити потрібну йому програму в будь-який момент і практично одразу ж отримати результат.

Таким чином багатотермінальні системи, що працювали в режимі розділення часу, стали першим кроком на шляху створення локальних обчислювальних мереж. Однак до появи локальних мереж потрібно було пройти ще досить довгий шлях, оскільки багатотермінальні системи хоча і мали зовнішні риси розподілених систем, все ще зберігали централізований характер обробки даних. З іншого боку і потреба підприємств в створенні локальних мереж в цей час іще не настала – в одному приміщенні просто не було що об’єднувати в мережу, оскільки із-за великої вартості обчислювальної техніки підприємства не могли дозволити собі розкіш придбання кількох комп’ютерів. В цей період був справедливим так званий „закон Гроша“, який емпірично відображав рівень технології того часу. Відповідно до цього закону продуктивність комп’ютера була пропорційна квадрату його вартості, звідки слідувало, що за одну й ту ж суму було вигідніше купити один потужний комп’ютер, ніж два менш потужних – їх сумарна потужність виявлялася набагато меншою потужності дорогого комп’ютера [Error: Reference source not found].

Незважаючи на це, потреба в об’єднанні комп’ютерів, розміщених на великій відстані один від одного, на той час уже назріла. Почалося все з розв’язання простішої задачі – доступу до комп’ютера з терміналів, віддалених від нього на багато сотень, а іноді й тисячі кілометрів. Термінали з’єднувалися з комп’ютерами через телефонні мережі за допомогою модемів. Такі мережі дозволяли численним користувачам отримувати віддалений доступ до розділяємих ресурсів кількох потужних комп’ютерів класу суперЕОМ. Потім з’явилися системи, в яких поряд з віддаленими з’єднаннями типу термінал-комп’ютер були реалізовані і віддалені зв’язки типу комп’ютер-комп’ютер. Комп’ютери отримали можливість обмінюватися даними в автоматичному режимі, що, власне, і є базовим механізмом будь-якої обчислювальної мережі. Використовуючи цей механізм, в перших мережах були реалізовані служби обміну файлами, синхронізації баз даних, електронної пошти та інші, які зараз є традиційними мережними службами. Таким чином, хронологічно першими з’явилися глобальні обчислювальні мережі. Саме при побудові глобальних мереж були вперше запропоновані та опробувані основні ідеї та концепції сучасних обчислювальних мереж.

На початку 1970-х років відбувся технологічний прорив в області виробництва комп’ютерних компонентів – з’явилися великі інтегральні схеми. Їх відносно невелика вартість та значні функціональні можливості привели до створення міні-комп’ютерів, які стали реальними конкурентами мейнфреймів. Закон Гроша перестав відповідати дійсності. Навіть невеликі підрозділи підприємств отримали можливість купувати для себе комп’ютери. З часом стали нагальними задачі обміну інформацією між такими комп’ютерами. В результаті з’явилися перші локальні обчислювальні мережі. Спочатку для з’єднання комп’ютерів між собою використовувалися найрізноманітніші нестандартні пристрої, які могли об’єднувати тільки ті комп’ютери, для яких вони були розроблені.

В середині 1980-х років стан справ в технологіях локальних мереж став кардинально змінюватися. Утвердилися стандартні технології об’єднання комп’ютерів в мережу – Ethernet, Arcnet, Token Ring [Error: Reference source not found]. Потужним стимулом для їх розвитку послужили персональні комп’ютери. Ці масові продукти стали ідеальними елементами для побудови мереж – з одного боку вони були достатньо потужними для роботи мережного програмного забезпечення, а з другого – явно потребували об’єднання своєї обчислювальної потужності для розв’язання складних задач, а також для спільного використання дорогих периферійних пристроїв та дискових масивів. Тому персональні комп’ютери стали переважати в локальних мережах, причому не тільки в якості клієнтських комп’ютерів, а і в якості центрів зберігання і обробки даних – мережних серверів, потіснивши з цих звичних ролей міні-комп’ютери та мейнфрейми. Стандартні мережні технології перетворили процес побудови локальної мережі з мистецтва в буденну роботу. Для створення мережі стало достатньо придбати адаптери відповідного стандарту, стандартний кабель та встановити на комп’ютер одну з мережних операційних систем.

В наш час обчислювальні мережі продовжують розвиватися, причому досить швидко. Розрив між локальними та глобальними мережами постійно скорочується в першу чергу завдяки появі високошвидкісних територіальних каналів зв’язку. В глобальних мережах розвиваються служби доступу до ресурсів, які є такими ж зручними, як і служби локальних мереж. Змінилися і локальні мережі. Замість пасивного кабелю, що з’єднує комп’ютери, почали використовуватися різноманітне комунікаційне обладнання – комутатори, маршрутизатори, шлюзи. Завдяки такому обладнанню з’явилася можливість побудови великий корпоративних мереж, що налічують тисячі комп’ютерів та мають складну структуру. Відродився інтерес до потужних комп’ютерів – в першу чергу завдяки тому, що системи, які вміщують сотні серверів обслуговувати складніше, ніж кілька потужних комп’ютерів. Тому на новому витку еволюційної спіралі мейнфрейми почали повертатися в корпоративні обчислювальні системи.

З’явилася іще одна важлива тенденція, яка суттєво вплинула як на локальні, так і на глобальні мережі – в них почала оброблятися невластива раніше для комп’ютерних мереж інформація – мультимедійна інформація реального часу. Складність передавання такої мультимедійної інформації через мережу пов’язана з її чутливістю до затримок при передаванні пакетів даних, які зазвичай призводять до спотворення такої інформації. Оскільки традиційні служби обчислювальних мереж – такі як передача файлів та електронна пошта – створюють малочутливий до затримок трафік, усі елементи мереж розроблялися в розрахунку на нього і поява трафіку реального часу привела до великих проблем. Сьогодні ці проблеми вирішуються різними способами, однак, незважаючи на значні зусилля, до прийнятного розв’язання проблеми далеко. В цій області треба іще багато зробити для досягнення заповітної мети – злиття технологій не тільки локальних і глобальних мереж, а й технологій усіх інформаційних мереж – обчислювальних, телефонних, телевізійних тощо. Вважається, що основою для такого об’єднання послужить технологія комутації пакетів, що зараз використовується в комп’ютерних мережах.

Обчислювальні мережі – частковий випадок розподілених систем. Комп’ютерні мережі відносяться до розподілених (децентралізованих) обчислювальних систем. Оскільки основною ознакою розподіленої обчислювальної системи є наявність кількох центрів обробки даних, то поряд з комп’ютерними мережами до розподілених систем відносяться також мультипроцесорні комп’ютери та багатокомп’ютерні обчислювальні комплекси. В мультипроцесорних комп’ютерах є декілька процесорів, кожний з яких може відносно незалежно від інших виконувати свою програму. В таких комп’ютерах використовується спільна для всіх процесорів операційна система, яка оперативно розподіляє обчислювальне навантаження між процесорами. Взаємодія між окремими процесорами організовується найпростішим способом – через спільну оперативну пам’ять. Основною перевагою мультипроцесорних комп’ютерів є їхня висока продуктивність. Іще однією важливою властивістю мультипроцесорних систем є відмовостійкість – здатність продовжувати роботу при відмові деяких елементів, наприклад, процесорів чи блоків пам’яті. При цьому продуктивність, зрозуміло, знижується, але не до нуля, як у звичайних системах, де відсутня надлишковість.

Багатокомп’ютерна обчислювальна система – це обчислювальний комплекс, що включає в себе декілька комп’ютерів (кожний з яких працює під управлінням власної операційної системи), а також програмні і апаратні засоби зв’язку між комп’ютерами, які забезпечують роботу усіх комп’ютерів комплексу як єдиного цілого. Робота багатокомп’ютерної системи визначається двома головними компонентами: високошвидкісним механізмом зв’язку між процесорами та системним програмним забезпеченням, яке надає користувачам та програмам прозорий доступ до ресурсів усіх комп’ютерів, що входять до комплексу. До складу засобів зв’язку входять програмні модулі, які займаються розподілом обчислювального навантаження, синхронізацією обчислень та реконфігурацією системи. Якщо відмовляє один із комп’ютерів комплексу, його задачі можуть бути автоматично перепризначені та виконані на іншому комп’ютері. Якщо до складу багатокомп’ютерної системи входить кілька контролерів зовнішніх пристроїв, то у випадку відмови одного з них, інші контролери автоматично підхоплюють його роботу. Таким чином досягається висока відмовостійкість комплексу в цілому. Крім підвищення відмовостійкості, багатокомп’ютерні системи дозволяють досягти високої продуктивності за рахунок організації паралельних обчислень, хоча ця продуктивність все ж таки є значно меншою ніж у мультипроцесорних комп’ютерах. Багатокомп’ютерні системи не забезпечують територіальної розподіленості, оскільки відстань між комп’ютерами визначається довжиною зв’язку між процесорним блоком та дисковою підсистемою.

В обчислювальних мережах програмні і апаратні зв’язки є ще слабшими – основними елементами мережі є стандартні комп’ютери, які не мають ні спільних блоків пам’яті ні спільних периферійних пристроїв. Зв’язок між комп’ютерами здійснюється за допомогою спеціальних периферійних пристроїв – мережних адаптерів, з’єднаних відносно протяжними каналами зв’язку. Кожний комп’ютер працює під управлінням своєї операційної системи і відсутня якась спільна операційна система, яка розподіляє роботу між комп’ютерами мережі. Взаємодія між комп’ютерами мережі здійснюється за рахунок передачі повідомлень через мережні адаптери та канали зв’язку. За допомогою таких повідомлень один комп’ютер зазвичай отримує доступ до локальних ресурсів іншого комп’ютера. Такими ресурсами можуть бути дані, що зберігаються на диску, та різноманітні периферійні пристрої – принтери, модеми тощо. Розділення локальних ресурсів кожного комп’ютера між усіма користувачами мережі є основною метою створення обчислювальної мережі.

Для забезпечення доступу до ресурсів мережі на комп’ютерах, ресурси яких повинні бути доступними усім користувачам мережі, потрібно використовувати засоби, які постійно будуть перебувати в режимі очікування запитів, що поступають по мережі від інших комп’ютерів. Зазвичай такі модулі називають програмними серверами (server), оскільки їхньою головною задачею є обслуговування (serve) запитів на доступ до ресурсів свого комп’ютера. В той же час на комп’ютерах, користувачі яких хочуть отримати доступ до ресурсів інших комп’ютерів, також потрібно додати до операційної системи деякі спеціальні програмні модулі, які повинні генерувати запити на доступ до віддалених ресурсів та передавати їх по мережі на потрібний комп’ютер. Такі модулі зазвичай називають програмними клієнтами (client). Пара модулів „клієнт-сервер“ забезпечує спільний доступ користувачів до певного типу ресурсів, наприклад до файлів. В цьому випадку кажуть, що користувач має справу з файловою службою (service). Зазвичай мережна операційна система забезпечує підтримку кількох видів мережних служб – файлову службу, службу друку, службу електронної пошти, службу віддаленого доступу тощо. Терміни „клієнт“ та „сервер“ використовують не тільки для позначення програмних модулів, а й для комп’ютерів, підключених до мережі. Якщо комп’ютер надає свої ресурси іншим комп’ютерам мережі, то він називається сервером, якщо ж споживає – клієнтом. Іноді один і той же комп’ютер може одночасно бути і в ролі клієнта, і в ролі сервера.

Мережні служби завжди являють собою розполідені програми. Розподілена програма – це програма, що складається з кількох взаємодіючих частин, кожна з яких, як правило, виконується на окремому комп’ютері мережі. Крім системних розподілених програм в мережі досить часто використовуються прикладні розподілені програми, кожна з частин яких виконує якусь певну закінчену роботу з розв’язання прикладної задачі. Наприклад, одна частина програми, що виконується на комп’ютері користувача, може підтримувати спеціалізований графічний інтерфейс, друга – працювати на потужному виділеному комп’ютері і займатися статистичною обробкою даних, введених користувачем, а третя – заносити отримані результати в базу даних. Розподілені програми в повній мірі використовують потенційні можливості розподіленої обробки даних, які надаються обчислювальною мережею, у зв’язку з чим їх часто називають мережними програмами. Тут слід зазначити, що не всі програми, що використовуються в мережі в дійсності є мережними (розподіленими) програмами.

Основні програмні та апаратні компоненти мережі. Будь-яка комп’ютерна мережа складається з таких основних компонентів:

Весь комплекс програмно-апаратних засобів мережі може бути описаний багатошаровою моделлю. В основі будь-якої мережі лежить апаратний шар стандартизованих комп’ютерних платформ. В наш час в мережах широко і успішно застосовуються комп’ютери різних класів – від персональних комп’ютерів до мейнфреймів та суперЕОМ. Набір комп’ютерів мережі повинен відповідати набору різноманітних задач, які повинна розв’язувати мережа.

Другий шар – це комунікаційне обладнання. Хоча комп’ютери і є центральними елементами обробки даних в мережах, останнім часом не менш важливу роль почали відігравати комунікаційні пристрої. Кабельні системи, повторювачі, мости, комутатори, маршрутизатори та модульні концентратори з допоміжних компонентів мережі перетворилися в основні поряд з комп’ютерами і системним програмним забезпеченням як по впливу на характеристики мережі, так і по вартості.

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

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

Використання комп’ютерних мереж на підприємствах. Якщо не вдаватися в подробиці, то кінцевою метою використання обчислювальних мереж на підприємстві є збільшення ефективності його роботи, яке може виражатися, наприклад, у збільшенні прибутків підприємства. Концептуальною перевагою розподілених систем (а значить, і мереж) перед централізованими системами є їх здатність виконувати паралельні обчислення. Іще одна очевидна та важлива перевага розподілених систем – це їх принципово більш висока відмовостійкість, яка досягається за рахунок надлишковості. Використання територіально розподілених обчислювальних мереж зумовлюється наявністю розподіленого характеру прикладних задач в деяких предметних областях. В таких випадках є розосереджені по деякій території окремі споживачі інформації. Ці споживачі достатньо автономно розв’язують свої задачі, у зв’язку з чим раціональніше надавати їм власні обчислювальні засоби, але в той же час, оскільки розв’язувані задачі тісно взаємозв’язані, їх обчислювальні засоби повинні бути об’єднані в одну систему. Проте одною з найважливіших на даний час переваг розподілених систем є можливість спільного використання даних і пристроїв а також можливість гнучкого розподілення робіт між усією системою.

Останнім часом став переважати інший мотив розгортання мереж, який є набагато важливішим в сучасних умовах, ніж економія коштів за рахунок розподілу між співробітниками дорогих пристроїв та програм. Таким мотивом стало прагнення забезпечити співробітникам оперативний доступ до обширної корпоративної інформації. Для забезпечення ефективного доступу співробітників до інформації необхідна не тільки наявність швидких та надійних зв’язків в корпоративній мережі, а й наявність структурованої інформації на серверах підприємства та можливість ефективного пошуку потрібних даних. Цей аспект мережної роботи завжди був вузьким місцем в організації доставки інформації співробітникам. Останнім часом в цій галузі намітився деякий прогрес, пов’язаний з використанням гіпертекстової інформаційної служби WWW – так званої технології intranet. Ця технологія підтримує досить простий спосіб представлення текстової та графічної інформації у вигляді гіпертекстових сторінок. Крім того, вона уніфікує роботу з інформацією за допомогою стандартних програм – Web-браузерів. Зараз багато великих корпорацій уже перенесли величезні об’єми своїх документів на сторінки Web-серверів, завдяки чому їх співробітники, розкидані по всьому світу, використовують інформацію цих серверів з використанням Інтернет та intranet. Отримуючи легкий і більш повний доступ до інформації, співробітники приймають рішення швидше, і якість цих рішень, як правило, вища.

Використання мереж приводить до удосконалення комунікацій – покращення процесу обміну інформацією та взаємодії між співробітниками підприємства, а також його клієнтами та постачальниками. Мережі зменшують потреби підприємств в інших способах передачі інформації, таких як телефон чи звичайна пошта. Часто саме можливість організації електронної пошти є основною причиною та економічним обґрунтуванням розгортання на підприємстві комп’ютерної мережі. Все більше розповсюдження отримують технології, які дозволяють передавати по мережі мультимедійну інформацію, що може використовуватися для організації аудіо- та відеоконференцій, а також на їх основі може бути створена власна внутрішня телефонна мережа.

Основні проблеми побудови мереж. Навіть при розгляді найпростішої мережі, що складається з двох комп’ютерів, можна побачити багато проблем, притаманних будь-якій обчислювальній мережі, до яких в першу чергу відносяться проблеми, пов’язані з фізичною передачею сигналів лініями зв’язку, без розв’язання яких неможливий будь-який вид зв’язку. Представлення даних у вигляді електричних чи оптичних сигналів називається кодуванням. В обчислювальних мережах для представлення даних використовується двійковий код. Існують різні способи кодування двійкових чисел, наприклад, потенціальний спосіб, при якому одиниці відповідає один рівень напруги, а нулю – інший, чи імпульсний спосіб, коли для представлення цифр використовуються імпульси різної чи однієї полярності [Error: Reference source not found].

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

Рис. 4.1. Приклади представлення дискретної інформації в лініях зв’язку

На спосіб передачі сигналів впливає і кількість проводів в лініях зв’язку між комп’ютерами. Для зменшення вартості лінії зв’язку в мережах прагнуть до зменшення кількості проводів, у зв’язку з чим часто використовується послідовна побітна передача інформації, яка вимагає всього однієї пари проводів. Іще однією проблемою, яку потрібно розв’язати при передачі сигналів, є проблема взаємної синхронізації передавача одного комп’ютера з приймачем іншого комп’ютера. Така проблема розв’язується або шляхом обміну спеціальними тактовими синхроімпульсами по окремій лінії, або періодичної синхронізації заздалегідь обумовленими кодами чи імпульсами характерної форми, що відрізняються від форми імпульсів даних. Незважаючи на усі заходи, що застосовуються для якісного передавання даних, все ж таки існує ймовірність спотворення деяких біт даних, що передаються. Для підвищення надійності передавання даних між комп’ютерами часто використовують стандартний прийом – підрахунок контрольної суми та її передача по лінії зв’язку після кожного байту чи деякого блоку байт [Error: Reference source not found]. Часто в протокол обміну даними включається як обов’язковий елемент сигнал-квитанція, який підтверджує правильність прийому даних та посилається від отримувача відправнику.

Задачі надійного обміну двійковими даними, представленими відповідними електромагнітними сигналами, в комп’ютерних мережах вирішуються за допомогою спеціального обладнання. В локальних мережах це мережні адаптери, а в глобальних мережах – апаратура передачі даних, до якої відносяться, наприклад, модеми. Це обладнання кодує та декодує кожний інформаційний біт, синхронізує передачу електромагнітних сигналів лініями зв’язку, перевіряє правильність передачі за контрольною сумою та може виконувати деякі інші операції. Мережні адаптери розраховані, як правило, на роботу з певною лінією зв’язку – коаксіальним кабелем, витою парою, оптоволокном тощо.

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

Топологія фізичних зв’язків. Під топологією комп’ютерної мережі розуміється конфігурація графа, вершинам якого відповідають комп’ютери мережі (іноді інше обладнання, наприклад концентратори), а ребрам – фізичні зв’язки між ними. Комп’ютери, підключені до мережі, часто називають станціями чи вузлами мережі. Зазначимо, що конфігурація фізичних зв’язків визначається електричними з’єднаннями комп’ютерів між собою і може відрізнятися від конфігурації логічних зв’язків між вузлами мережі. Логічні зв’язки представляють собою маршрути передачі даних між вузлами мережі та утворюються шляхом відповідного налаштування комунікаційного обладнання. Розглянемо деякі найуживаніші топології.

Повнозв’язна топологія (рис. 4.2, а) відповідає мережі, в якій кожний комп’ютер мережі зв’язаний з усіма іншими. Незважаючи на фізичну простоту, цей варіант є громіздким і малоефективним. Дійсно, кожний комп’ютер мережі повинен мати велику кількість комунікаційних портів, достатню для зв’язку з усіма іншими комп’ютерами мережі. Для кожної пари комп’ютерів повинна бути виділена окрема електрична лінія зв’язку. Повнозв’язні топології застосовуються рідко. Частіше цей вид топології використовується в багатокомп’ютерних комплексах чи глобальних мережах при невеликій кількості комп’ютерів. Усі інші варіанти базуються на неповнозв’язних топологіях, коли для обміну даними між двома комп’ютерами може знадобитися проміжна передача даних через інші вузли мережі.

Рис. 4.2. Типові топології мереж

Вічкова (коміркова) топологія (mesh) отримується із повнозв’язної шляхом вилучення деяких можливих зв’язків (рис. 4.2, б). В мережі з вічковою структурою безпосередньо зв’язуються тільки ті комп’ютери, між якими відбувається інтенсивний обмін даними, а для обміну даними між комп’ютерами, не з’єднаними прямими зв’язками, використовуються транзитні передачі через проміжні вузли. Вічкова структура допускає з’єднання більшої кількості комп’ютерів та характерна, як правило, для глобальних мереж.

Спільна шина (рис. 4.2, в) є дуже розповсюдженою (а до недавного часу найрозповсюдженішою) топологією для локальних мереж. В цьому випадку комп’ютери підключаються до одного коаксіального кабелю за схемою „монтажного АБО“. Застосування спільної шини знижує вартість лінії зв’язку, уніфікує підключення різних модулів, забезпечує можливість практично миттєвого звертання до усіх станцій мережі. Основними перевагами такої схеми є дешевизна та простота розведення кабелю по приміщенню. Найвагомішим недоліком спільної шини є її низька надійність: будь-який дефект кабеля чи одного з численних роз’ємів повністю паралізує всю мережу. Другим недоліком спільної шини є її невисока продуктивність, оскільки при такому способі підключення в кожний момент часу тільки один комп’ютер може передавати дані в мережу. Тому пропускна здатність каналу зв’язку завжди ділиться між усіма вузлами мережі.

Зіркова топологія (рис. 4.2, г) передбачає підключення кожного комп’ютера окремим кабелем до спільного пристрою (концентратора), розміщеного в центрі мережі. До функцій концентратора відноситься направлення інформації, що передається комп’ютером, одному чи усім комп’ютерам мережі. Головною перевагою цієї топології перед спільною шиною є значно більша надійність. Будь-які неприємності з кабелем стосуються тільки того комп’ютера, до якого цей кабель приєднано, і тільки несправність концентратора може вивести усю мережу з ладу. Крім того, концентратор може відігравати роль інтелектуального фільтру інформації, що поступає від вузлів в мережу, і за необхідності блокувати заборонені адміністратором передачі. До недоліків зіркової топології відноситься більш висока вартість мережного обладнання із-за необхідності придбання концентратора. Крім того, можливості з нарощування кількості вузлів в мережі обмежується кількістю портів концентратора. Іноді є зміст будувати мережі з використанням кількох концентраторів, що ієрархічно з’єднані між собою зв’язками типу „зірка“ (рис. 4.2, д). В даний час ієрархічна зіркова схема є найрозповсюдженішим типом топології зв’язків як в локальних, так і в глобальних мережах.

В мережах з кільцевою конфігурацією (рис. 4.2, е) дані передаються по кільцю від одного комп’ютера до іншого, як правило, в одному напрямку. Якщо комп’ютер розпізнає дані як „свої“, то він копіює їх у свій внутрішній буфер. В мережі з кільцевою топологією необхідно приймати спеціальні міри, щоб у випадку виходу з ладу чи відключення якоїсь із станцій, не перервався канал зв’язку між іншими станціями. Кільце представляє собою дуже зручну конфігурацію для організації оберненого зв’язку – дані, зробивши повний оберт, повертаються до вузла-джерела. Тому цей вузол може контролювати процес доставки даних адресату.

Тоді як невеликі мережі, як правило, мають одну з типових топологій (в наш час найчастіше зіркову), для великих мереж характерним є наявність довільних зв’язків між комп’ютерами. В таких мережах можна виділити окремі довільно зв’язані фрагменти (підмережі), що мають типову топологію, у зв’язку з чим їх називають мережами зі змішаною топологією.

Організація спільного використання каналів зв’язку. Тільки в мережі з повнозв’язною топологією для з’єднання кожної пари комп’ютерів є окрема лінія зв’язку. В усіх інших випадках неодмінно виникає задача організації спільного використання каналів зв’язку кількома робочими станціями. В комп’ютерних мережах використовують як індивідуальні лінії зв’язку між комп’ютерами, так і розділені (shared), коли одна лінія зв’язку поперемінно використовується кількома комп’ютерами. У випадку використання розділених ліній зв’язку виникає комплекс проблем, пов’язаних з їх спільним використанням, який включає як суто електричні проблеми забезпечення потрібної якості сигналів при підключенні до одного і того ж проводу кількох приймачів та передавачів, так і логічні проблеми розподілу в часі доступу до цих ліній.

Класичним прикладом мережі зі спільними лініями зв’язку є мережі з топологією „спільна шина“, в яких один кабель спільно використовується усіма комп’ютерами мережі. В топологіях „кільце“ чи „зірка“ індивідуальне використання ліній зв’язку принципово можливе, однак частіше за все ці кабелі фактично також поділяються між усіма комп’ютерами мережі. Підхід з використанням розділяємих ліній, зокрема, реалізований в широко розповсюджених класичних технологіях Ethernet та Token Ring [118]. Проте в останні роки намітилася тенденція до відмови від використання спільних середовищ передачі даних і в локальних мережах. Мережа з розподіленим середовищем за наявності великої кількості вузлів завжди працюватиме повільніше, ніж аналогічна мережа з індивідуальними лініями зв’язку, оскільки пропускна здатність індивідуальної лінії повністю дістається одному комп’ютеру, а при її спільному використанні – ділиться на усі комп’ютери мережі. Часто з таким недоліком приходиться миритися задля здешевлення мережі. Не тільки в класичних, а і в новітніх технологіях, розроблених для локальних мереж, зберігається режим спільних ліній зв’язку (наприклад в технології Gigabit Ethernet).

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

Адресація комп’ютерів. Іще однією проблемою, яку потрібно враховувати при об’єднанні трьох та більше комп’ютерів, є проблема їх адресації. До адреси вузла мережі та схеми його призначення можна висунути кілька вимог [119]:

Нескладно побачити наявність протиріч в цих вимогах – наприклад, адреса, що має ієрархічну структуру, швидше за все буде менш компактною, ніж неієрархічна; символьна адреса потребує більше пам’яті, ніж числова і т.д.

Оскільки усі перелічені вимоги складно сумістити в рамках якоїсь однієї схеми адресації, то на практиці зазвичай використовується одразу кілька схем, у зв’язку з чим комп’ютер одночасно має кілька адрес-імен. Кожна адреса використовується в тій ситуації, коли відповідний тип адресації є найзручнішим. А для того, щоб не виникало плутанини і комп’ютер завжди однозначно визначався своєю адресою, використовуються спеціальні допоміжні протоколи, які за адресою одного типу можуть визначити адреси інших типів. Найрозповсюдженішими є такі три схеми адресації [Error: Reference source not found]:

В сучасних мережах для адресації вузлів, як правило, застосовуються одночасно усі три описані схеми. Користувачі адресують комп’ютери символьними іменами, які автоматично заміняються в повідомленнях, що передаються по мережі, на числові імена. За допомогою цих числових адрес повідомлення передаються з однієї мережі в іншу, а після доставки повідомлення в мережу призначення, замість числового номера використовується апаратна адреса комп’ютера. Проблема встановлення відповідності між адресами різних типів, якою займається служба визначення імен, може розв’язуватися як повністю централізованими, так і розподіленими засобами. У випадку централізованого підходу, в мережі виділяється один комп’ютер (сервер імен), в якому зберігається таблиця відповідності одна одній адрес різних типів. Усі інші комп’ютери звертаються до сервера імен, щоб за символьним іменем знайти числовий номер комп’ютера, з яким необхідно обмінятися даними. При іншому, розподіленому підході, кожний комп’ютер сам розв’язує задачу встановлення відповідності між іменами. В цьому випадку перед початком передачі даних комп’ютер-відправник посилає усім комп’ютерам мережі повідомлення з проханням опізнати вказане числове ім’я. Усі комп’ютери, отримавши таке повідомлення, порівнюють заданий номер зі своїм власним. Той комп’ютер, у якого виявилося співпадання, посилає відповідь, яка містить його апаратну адресу, після чого стає можливою відправка повідомлення по локальній мережі.

Розподілений підхід зручний тим, що не передбачає виділення спеціального комп’ютера, який до того ж часто вимагає ручного задання таблиці відповідності імен. Недоліком розподіленого підходу є необхідність загальнодоступних повідомлень – такі повідомлення перевантажують мережу, оскільки вони вимагають обов’язкової обробки усіма вузлами, а не тільки вузлом призначення. Тому розподілений підхід використовується тільки в невеликих локальних мережах. В великих мережах розповсюдження загальнодоступних повідомлень по всіх її сегментах стає практично неможливим, тому для них характерний централізований підхід. Найвідомішою службою централізованого розв’язання імен є служба Domain Name Service (DNS) мережі Інтернет [Error: Reference source not found].

Ethernetприклад стандартного вирішення мережних проблем. Розглянемо, яким чином описані вище загальні підходи до розв’язання найважливіших проблем побудови мереж втілені в найпопулярнішій на даний час мережній технології – Ethernet.

Мережна технологія – це узгоджений набір стандартних протоколів та програмно-апаратних засобів, що їх реалізують, достатній для побудови обчислювальної мережі [Error: Reference source not found].

Термін „достатній“ підкреслює ту обставину, що цей набір представляє собою мінімальний набір засобів, за допомогою якого можна побудувати працездатну мережу. Можливо, цю мережу можна покращити, наприклад, за рахунок застосування протоколу IP, а також спеціальних комунікаційних пристроїв – маршрутизаторів. Покращена мережа буде, швидше за все, більш надійною та швидкодіючою, але за рахунок надбудов над засобами технології Ethernet, яка склала базис мережі.

Протоколи, на основі яких будується мережа певної технології, спеціально розроблялися для спільної роботи, у зв’язку з чим від розробника мережі не вимагається додаткових зусиль з організації їх взаємодії. Іноді мережні технології називають базовими технологіями, маючи на увазі те, що на їх основі будується база будь-якої мережі. Прикладами базових мережних технологій можуть служити поряд з Ethernet такі відомі технології локальних мереж як Token Ring та FDDI, або технології територіальних мереж X.25 та frame relay [Error: Reference source not found].

Стандарт Ethernet було прийнято в 1980 році. Основний принцип, покладений в основу Ethernet, – випадковий метод доступу до спільної мережі передачі даних. В якості такого середовища може використовуватися товстий чи тонкий коаксіальний кабель, вита пара, оптоволокно чи радіохвилі (зазначимо, що першою мережею, побудованою на принципі випадкового доступу до розподіленої мережі, була радіомережа Aloha Гавайського університету). В стандарті Ethernet строго зафіксована топологія електричних зв’язків – комп’ютери підключаються до спільного середовища у відповідності до типової структури „спільна шина“. За допомогою поділюваної в часі шини будь-які два комп’ютери можуть обмінюватися даними. Управління доступом до лінії зв’язку здійснюється спеціальними контролерами – мережними адаптерами Ethernet. Кожний комп’ютер, а точніше, кожний мережний адаптер, має унікальну адресу. Передача даних здійснюється зі швидкістю 10 Мбіт/с, що є пропускною здатністю мережі Ethernet (більшу швидкість мають модифікації Ethernet – Fast Ethernet, Gigabit Ethernet та ін.).

Комп’ютер в мережі Ethernet може передавати дані по мережі тільки тоді, коли ніякий інший комп’ютер в даний час не здійснює обмін. Тому важливою частиною технології Ethernet є процедура визначення доступності мережі. Після того як комп’ютер впевнився, що мережа вільна, він починає передачу, „захоплюючи“ при цьому середовище. Час монопольного використання середовища одним вузлом обмежується часом передачі одного кадру. Кадр – це одиниця даних, якими обмінюються комп’ютери в мережі Ethernet. Кадр має фіксований формат і крім самих даних містить різну службову інформацію, наприклад, адреси отримувача та відправника. Іноді може виникати ситуація, коли одночасно два чи більше комп’ютерів вирішують, що мережа вільна, і починають передавати інформацію. Така ситуація називається колізією. В стандарті Ethernet передбачено алгоритм виявлення та коректної обробки колізій. Ймовірність виявлення колізій залежить від інтенсивності мережного трафіку. Після виявлення колізії мережні адаптери, які пробували передати свої кадри, зупиняють передачу і після паузи випадкової довжини роблять спробу знову отримати доступ до мережі і передати той кадр, що викликав колізію.

Головною перевагою мереж Ethernet є їх дешевизна. Крім того, в мережах Ethernet реалізовані досить прості алгоритми доступу до середовища, адресації та передачі даних. Простота логіки роботи мережі веде до спрощення, та, відповідно, здешевлення мережних адаптерів та їх драйверів. З тієї ж причини адаптери мережі Ethernet є дуже надійними. Іще однією позитивною властовистю Ethernet є легкість підключення нових вузлів.

Структуризація, як засіб побудови великих мереж. В мережах з невеликою (10-30) кількістю комп’ютерів частіше за все використовується одна з типових фізичних топологій – шина, кільце, зірка чи повнозв’язна мережа. Усі перелічені топології відносяться до однорангових мереж – усі комп’ютери в такій мережі мають однакові права у відношенні доступу до каналу передачі інформації (за виключенням центрального комп’ютера у схемі „зірка“). Така однорідність структури спрощує нарощування кількості комп’ютерів та полегшує обслуговування і експлуатацію мережі. Однак при побудові великих мереж однорідна структура зв’язків з переваги перетворюється в недолік. В таких мережах використання типових структур породжує різні обмеження, найважливішими з яких є:

Наприклад, технологія Ethernet на тонкому коаксіальному кабелі (10BASE2, IEEE 802.3a – «Тонкий Ethernet») дозволяє використовувати кабель довжиною не більше 185 м, до якого можна підключити не більше 30 комп’ютерів [Error: Reference source not found]. Для зняття таких обмежень використовуються спеціальні методи структуризації мережі та спеціальне обладнання – повторювачі, концентратори, мости, комутатори, маршрутизатори. Таке обладнання часто називають комунікаційним, у зв’язку з тим, що з його допомогою окремі сегменти мережі взаємодіють між собою.

Фізична структуризація мережі. Найпростіший із комунікаційних пристроїв – повторювач (repeator) – використовується для фізичного з’єднання різних сегментів кабелю локальної мережі. Повторювач передає сигнали, що проходять з одного сегменту мережі в інші її сегменти. Повторювач дозволяє обійти обмеження на довжину ліній зв’язку за рахунок покращення якості переданого сигналу. Повторювач, який має кілька портів і з’єднує кілька фізичних сегментів, часто називають концентратором (concentrator) або хабом (hub).

Концентратори характерні практично для всіх базових технологій локальних мереж – Ethernet, ArcNet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, 100VG-AnyLAN. Слід зазначити, що в роботі концентраторів будь-яких технологій багато спільного – вони повторюють сигнали, що прийшли з одного із своїх портів, на інших своїх портах. Різниця полягає в тому, на яких саме портах повторюються вхідні сигнали. Так, концентратор Ethernet повторює вхідні сигнали на всіх своїх портах крім того, з якого сигнали поступають, а концентратор Token Ring повторює вхідні сигнали, що поступили з деякого порта, тільки на одному порті – на тому, до якого підключено наступний в кільці комп’ютер.

Нагадаємо, що під фізичною топологією розуміється конфігурація зв’язків, утворених окремими частинами кабелю, а під логічною – конфігурація інформаційних потоків між комп’ютерами мережі. Причому логічна і фізична топологія співпадають не завжди. Типовим прикладом є випадок, коли мережа, яка організована з використанням концентратора, має фізичну топологію „зірка“, тоді як при цьому використовується логічна топологія Ethernet – оскільки концентратор повторює дані, що прийшли з будь-якого порта, на усіх інших портах, то вони з’являються одночасно на всіх фізичних сегментах мережі, як у мережі з фізичною топологією „спільна шина“.

Фізична структуризація мережі з допомогою концентраторів корисна не тільки для збільшення відстані між вузлами мережі, а й для підвищення її надійності. Наприклад, якщо якийсь комп’ютер мережі Ethernet з фізичною „спільною шиною“ із-за збою починає неправильно передавати дані по спільному кабелю, то вся мережа виходить з ладу. В мережі ж Ethernet, побудованій з використанням концентратора, ця проблема може бути вирішена автоматично – концентратор відключає свій порт, якщо виявляє, що приєднаний до нього вузол занадто довго монопольно займає мережу. Концентратор може блокувати працюючий некоректно вузол і в інших випадках, виконуючи роль деякого управляючого вузла.

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

В великій мережі природно виникає неоднорідність інформаційних потоків: мережа складається з багатьох підмереж робочих груп, відділів, філій підприємства та інших структурних утворень. Часто найінтенсивніший обмін даними спостерігається між комп’ютерами, що належать до однієї підмережі, і тільки невеликий відсоток звернень відбувається до ресурсів комп’ютерів, що знаходяться за межами локальних груп. Хоча останнім часом характер навантаження мережі часто змінюється на протилежний у зв’язку з впровадженням технологій intranet та використанням корпоративних баз та сховищ даних, які активно використовуються усіма співробітниками підприємства. Але, незалежно від того, в якій пропорції розподіляються зовнішній та внутрішній трафік, для підвищення ефективності роботи мережі неоднорідність інформаційних потоків необхідно враховувати.

Мережа з типовою топологією (шина, кільце, зірка), в якій усі фізичні сегменти розглядаються в якості одного розподіленого середовища, виявляється неадекватною структурі інформаційних потоків у великій мережі. Наприклад, в мережі Ethernet взаємодія будь-якої пари комп’ютерів займає її на весь час обміну, у зв’язку з чим комп’ютери одного відділу змушені чекати, коли закінчить обмін пара комп’ютерів іншого відділу, при тому, що необхідність у зв’язку між комп’ютерами двох різних відділів виникає значно рідше та вимагає меншої пропускної здатності. Розв’язання проблеми полягає у відмові від єдиної однорідної спільної мережі, в якій кадри, що передаються в мережі виходили б за межі робочої групи тільки в тому випадку, якщо вони адресовані якомусь комп’ютеру іншої робочої групи. З іншого боку, в мережу робочої групи повинні потрапляти тільки ті кадри, що адресовані її комп’ютерам. При такій організації роботи мережі її продуктивність значно збільшиться, оскільки комп’ютери однієї робочої групи не будуть простоювати в той час, коли даними обмінюються комп’ютери інших робочих груп.

Для логічної структуризації мережі використовуються такі комунікаційні пристрої, як мости, комутатори, маршрутизатори та шлюзи. Міст (bridge) ділить спільне середовище передачі мережі на частини (які часто називають логічними сегментами), передаючи інформацію з одного сегменту в інший тільки в тому випадку, якщо така передача є дійсно необхідною – якщо адреса комп’ютера належить іншій підмережі. Тим самим міст ізолює трафік однієї підмережі від трафіку іншої, підвищуючи загальну продуктивність передачі даних по мережі. Локалізація трафіку не тільки економить пропускну здатність, а й зменшує можливість несанкціонованого доступу до даних, оскільки кадри не виходять за межі свого сегменту і їх складніше перехопити зловмиснику.

Мости використовують для локалізації трафіку апаратні адреси комп’ютерів. Це ускладнює розпізнавання належності того чи іншого комп’ютера до певного логічного сегменту мережі – сама адреса не містить ніякої інформації з цього приводу. Тому міст досить спрощено представляє поділ мережі на сегменти – він запам’ятовує через який порт на нього надійшов кадр даних від кожного комп’ютера мережі, і надалі передає кадри, призначені для цього комп’ютера, на цей порт. Внаслідок цього застосування мостів приводить до значних обмежень на конфігурацію мереж – сегменти повинні бути з’єднані так, щоб у мережі не утворювалися замкнуті контури.

Комутатор (switch, switching hub) за принципом обробки кадрів нічим не відрізняється від моста. Основною його відмінністю від моста є те, що він є свого роду комунікаційним мультипроцесором, оскільки кожний його порт обладнаний спеціалізованим процесором, який обробляє кадри за алгоритмом моста незалежно від процесів інших портів. За рахунок цього загальна продуктивність комутатора зазвичай є набагато вище продуктивності традиційного моста, що має один процесорний блок. Можна сказати, що комутатори – це мости нового покоління, які обробляють кадри в паралельному режимі.

Обмеження, пов’язані із застосуванням мостів та комутаторів привели до появи іще одного типу обладнання – маршрутизаторів (router). Маршрутизатори надійніше та ефективніше ніж мости ізолюють трафік окремих частин мережі один від одного. Маршрутизатори утворюють логічні сегменти засобами явної адресації, оскільки використовують не плоскі апаратні, а складові числові адреси. Ці адреси містять поле номера мережі, завдяки чому усі комп’ютери, для яких це поле є однаковим, належать до одного сегменту, який в даному випадку називається підмережею (subnet). Крім локалізації трафіку маршрутизатори виконують ще багато інших корисних функцій. Так, маршрутизатори можуть працювати в мережі із замкнутими контурами здійснюючи при цьому вибір найоптимальнішого маршруту з кількох можливих. Іншою важливою функцією маршрутизаторів є їх здатність зв’язувати в єдину мережу підмережі, побудовані з використанням різних мережних технологій, наприклад Ethernet та X.25.

Крім описаних пристроїв окремі частини мережі може з’єднувати шлюз (gateway). Зазвичай основною причиною, по якій в мережі використовують шлюз, є необхідність об’єднати мережі з різними типами системного та прикладного програмного забезпечення, а не бажання локалізувати трафік, хоча шлюз може виконувати і таку задачу.

Мережні служби. Для кінцевого користувача мережа – це не комп’ютери, кабелі та концентратори і навіть не інформаційні потоки, для нього мережа – це, в першу чергу, той набір мережних служб, за допомогою яких він отримує можливість переглянути перелік наявних в мережі комп’ютерів, прочитати віддалений файл, роздрукувати документ на мережному принтері тощо. Крім власне обміну даними, мережні служби повинні вирішувати і інші, більш специфічні задачі, наприклад, задачі, що породжуються розподіленою обробкою даних. До таких задач, наприклад, відноситься забезпечення непротирічивості кількох копій даних, розміщених на різних комп’ютерах (служба реплікації), чи організація виконання однієї задачі паралельно на кількох комп’ютерах мережі (служба виклику віддалених процедур). Серед мережних служб можна виділити адміністративні, які в основному орієнтовані на адміністратора і служать для організації правильної роботи мережі в цілому. Служба адміністрування ідентифікаційних записів про користувачів, яка дозволяє адміністратору вести спільну базу даних про користувачів мережі, система моніторингу мережі, яка дозволяє аналізувати мережний трафік, служба безпеки, до функцій якої може входити, наприклад, процедура логічного входу з наступною перевіркою паролю, – все це приклади адміністративних служб.

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

При розробці мережних служб потрібно вирішувати проблеми, які властиві будь-яким розподіленим програмам: визначення протоколу взаємодії між клієнтською та серверною частинами, розподіл функцій між ними, вибір схеми адресації програм тощо. Одним з найважливіших показників якості мережної служби є її зручність. Для одного і того ж ресурсу може бути розроблено кілька служб, що по різному вирішують одну і ту ж задачу. Відмінності можуть полягати в продуктивності чи в рівні зручності послуг, що надаються. Наприклад, файлова система може базуватися на використанні текстової команди передачі файлу, для чого користувачу потрібно пам’ятати і вводити цю команду, а також пам’ятати і вводити ім’я файлу. Та ж файлова служба може бути реалізована і так, що користувач монтує віддалену файлову систему до локального каталогу, а далі звертається до віддалених файлів як до своїх власних, що набагато зручніше. Якість служби також залежить від якості користувацького інтерфейсу – інтуїтивної зрозумілості, наглядності, раціональності.

При визначенні міри зручності мережного ресурсу часто використовують термін „прозорість“. Прозорий доступ – це такий доступ, при якому користувач не помічає, де розміщено його ресурс – на його комп’ютері чи на віддаленому комп’ютері. Після того, як він змонтував віддалену файлову систему в своє дерево каталогів, доступ до віддалених файлів стає для нього повністю прозорим. Сама операція монтування також може мати різну ступінь прозорості – в мережах з меншою прозорістю користувач повинен знати та задавати в команді ім’я комп’ютера, на якому зберігається віддалена файлова система; в мережах з більшою ступінню прозорості відповідний програмний компонент мережі здійснює пошук доступних томів та файлів незалежно від місць їх зберігання, а потім надає їх користувачу в зручному для нього вигляді, наприклад у вигляді списку чи набору піктограм.

Поняття „відкрита система“ та проблеми стандартизації. Універсальна теза про користь стандартизації, яка справедлива для всіх галузей, в комп’ютерних мережах набуває особливого значення. Суть мережі – поєднання різного обладнання, у зв’язку з чим проблема сумісності є однією з найгостріших. В комп’ютерних мережах ідеологічною основою стандартизації є багаторівневий підхід до розробки засобів мережної взаємодії. Саме на основі цього підходу була розроблена стандартна семирівнева модель взаємодії відкритих систем.

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

При декомпозиції часто застосовують багаторівневий підхід. Він полягає в тому, що всю множину модулів розділяють на рівні, які утворюють ієрархію. Множина модулів, що складає кожний рівень, формується таким чином, що для виконання своїх задач вони звертаються з запитами тільки до модулів рівня, розміщеного на сходинку нижче в ієрархії (модулі другого рівня – до модулів першого рівня і т.д.). З іншого боку, результати роботи усіх модулів якогось із рівнів можуть бути передані тільки модулям рівня, розміщеного на сходинку вище в ієрархії. Така ієрархічна декомпозиція задачі передбачає чітке визначення функцій кожного рівня та інтерфейсів між ними. Інтерфейс визначає набір функцій, які рівень, розміщений нижче в ієрархії, надає розміщеному вище. В результаті ієрархічної декомпозиції досягається відносна незалежність рівнів, а значить, і можливість їх легкої заміни.

Засоби мережної взаємодії також можуть бути представлені у вигляді ієрархічно організованої множини модулів. При цьому модулі нижчого рівня можуть, наприклад, вирішувати задачі надійного передавання електричних сигналів між сусідніми вузлами. Модулі вищого рівня організовують транспортування повідомлень в межах всієї мережі, використовуючи для цього засоби нижчого рівня. А на верхньому рівні працюють модулі, що надають користувачам доступ до різних служб. Багаторівневе представлення засобів мережної взаємодії має свою специфіку, яка пов’язана з тим, що в процесі обміну приймають участь два комп’ютери, у зв’язку з чим потрібно організувати узгоджену роботу двох „ієрархій“. При передачі повідомлень обидва учасники мережного обміну повинні прийняти багато узгоджень. Наприклад, вони повинні узгодити рівні та форму електричних сигналів, спосіб визначення довжини повідомлення, „домовитися“ про методи контролю достовірності тощо. Іншими словами, узгодження повинні бути прийняті для всіх рівнів, починаючи від найнижчого – рівня передачі бітів – до найвищого, на якому реалізуються сервіси користувачів мережі. Процедура взаємодії між вузлами мережі може бути описана у вигляді набору правил взаємодії кожної пари відповідних рівнів вузлів.

Формалізовані правила, що визначають послідовність та формат повідомлень, якими обмінюються мережні компоненти, що розміщені на одному рівні, але в різних вузлах, називаються протоколом [Error: Reference source not found].

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

Ієрархічно організований набір протоколів, достатній для організації вузлів в мережі, називається стеком комунікаційних протоколів.

Комунікаційні протоколи можуть бути організовані як програмно, так і апаратно. Протоколи нижніх рівнів часто реалізуються комбінацією програмних та апаратних засобів, а протоколи верхніх рівнів – як правило, виключно програмними засобами. Програмний модуль, що реалізує певний протокол часто також називають „протоколом“. Протоколи реалізуються не тільки комп’ютерами, а й іншими мережними пристроями – концентраторами, мостами, комутаторами тощо. Залежно від типу пристрою в ньому повинні бути вбудовані засоби, що реалізують той чи інший набір протоколів.

Модель OSI. На початку 1980-х років ряд міжнародних організацій зі стандартизації – ISO, ITU-T та деякі інші – розробили модель, яка відіграла значну роль в розвитку мереж. Ця модель називається моделлю взаємодії відкритих систем (Open System InterconnectionOSI). Модель OSI визначає різні рівні взаємодії систем, дає їм стандартні імена та вказує, які функції повинен виконувати кожний рівень. В моделі OSI засоби взаємодії діляться на сім рівнів: прикладний рівень (Application layer), рівень представлення (Presentation layer), сеансовий рівень (Session layer), транспортний рівень (Transport layer), мережний рівень (Network layer), канальний рівень (Data Link layer) та фізичний рівень (Physical layer) [Error: Reference source not found]. Кожний рівень має справу з одним певним аспектом взаємодії мережних пристроїв.

Модель OSI описує тільки системні засоби взаємодії, що реалізуються операційною системою, системними утилітами, системними апаратними засобами. Модель не включає засоби взаємодії програм кінцевих користувачів. Свої власні протоколи взаємодії ці програми реалізують, звертаючись до системних засобів. Тому необхідно розрізняти рівень взаємодії програм та прикладний рівень. Слід також мати на увазі, що програма може взяти на себе функції деяких верхніх рівнів моделі OSI. Наприклад, деякі СУБД мають вбудовані засоби віддаленого доступу до файлів. В цьому випадку програма, здійснюючи доступ до віддалених ресурсів, не використовує системну файлову службу – вона обходить верхні рівні моделі OSI та звертається напряму до системних засобів, що відповідають за транспортування повідомлень по мережі, які розміщені на нижніх рівнях моделі OSI. Розглянемо детальніше рівні моделі OSI.

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

Канальний рівень. На фізичному рівні просто пересилаються біти. При цьому не враховується, що в деяких мережах, в яких лінії зв’язку використовуються позмінно кількома парами взаємодіючих комп’ютерів, фізичне середовище передачі може бути зайнятим. Тому однією з задач канального рівня є перевірка доступності середовища передачі. Іншою задачею канального рівня є реалізація механізмів виявлення та корекції помилок. Для цього на канальному рівні біти групуються в набори, які називаються кадрами (frames). Канальний рівень забезпечує коректність передачі кожного кадру, вміщуючи спеціальну послідовність біт на початку та в кінці кожного кадру для його виділення, а також розраховує контрольну суму кадру, обробляючи усі байти кадру певним чином, та додаючи контрольну суму до кадру. Коли кадр приходить по мережі, отримувач знову розраховує контрольну суму отриманих даних і порівнює з контрольною сумою, переданою в кадрі. Якщо контрольні суми не співпадають, фіксується помилка, яка виправляється шляхом повторної передачі кадру. Для забезпечення якісного транспортування повідомлень в мережах канального рівня виявляється недостатньо у зв’язку з чим в моделі OSI розв’язання цієї задачі ставиться на два наступні рівня – мережний та транспортний.

Мережний рівень. Протоколи канального рівня локальних мереж забезпечують доставку даних між вузлами тільки в мережі з відповідною топологією. Це обмеження не дозволяє створювати мережі з розвинутою структурою. Тому для того, щоб з одного боку зберегти простоту процедур передачі даних для типових топологій, а з другого – допустити використання довільних топологій, вводиться додатковий мережний рівень. На мережному рівні сам термін „мережа“ наділяють специфічним значенням. В даному випадку під мережею розуміється сукупність комп’ютерів, з’єднаних між собою відповідно до одної з типових топологій, які використовують для передачі даних один із протоколів канального рівня, визначений для даної топології. Всередині мережі доставка даних забезпечується канальним рівнем, тоді як передачу даних між мережами забезпечує мережний рівень, який забезпечує можливість правильного вибору маршруту передачі. Для передачі повідомлення від відправника, що знаходиться в одній мережі, отримувачу в іншій мережі, потрібно здійснити певну кількість транзитних передач між мережами (хопів – hop – стрибок), щоразу вибираючи найкращий маршрут.

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

Повідомлення мережного рівня прийнято називати пакетами (packets). При організації доставки пакетів на мережному рівні використовують поняття „номер мережі“. В цьому випадку адреса отримувача складається із старшої частини – номера мережі та молодшої – номера вузла в цій мережі. Усі вузли однієї мережі повинні мати одну й ту ж старшу частину адреси, у зв’язку з чим терміну „мережа“ на мережному рівні можна дати й інше, більш формальне визначення: мережа – це сукупність вузлів, мережна адреса яких містить один і той же номер мережі.

На мережному рівні визначаються два види протоколів. Перший вид – мережні протоколи (routed protocols) – реалізують переміщення пакетів в мережі (саме ці протоколи зазвичай мають на увазі, коли говорять про протоколи мережного рівня). Проте часто до мережного рівня відносять і інший вид протоколів, що називаються протоколами обміну маршрутною інформацією або протоколами маршрутизації (routing protocols). Протоколи мережного рівня реалізуються програмними модулями операційної системи, а також програмними і апаратними засобами маршрутизаторів. На мережному рівні працюють протоколи ще одного типу, які відповідають за відображення адреси вузла, що використовується на мережному рівні, в локальну адресу мережі. Прикладами протоколів мережного рівня є протокол міжмережної взаємодії IP та протокол міжмережного обміну пакетами IPX.

Транспортний рівень. На шляху від відправника до отримувача пакети можуть бути спотворені чи втрачені. Задача вирішення таких проблем покладена на транспортний рівень, який забезпечує передачу даних з тією мірою надійності, яка потрібна прикладним програмам чи верхнім рівням (прикладному і сеансовому). Модель OSI визначає п’ять класів сервісу, що надаються транспортним рівнем. Ці види сервісу відрізняються якістю послуг, що надаються: терміновістю, можливістю відновлення перерваного зв’язку, здатністю до виявлення та виправлення помилок передачі.

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

Як правило, усі протоколи, починаючи з транспортного рівня і вище, реалізуються програмними засобами кінцевих вузлів мережі – компонентами їх мережних операційних систем. В якості прикладів транспортних протоколів можна навести протоколи TCP та SPX.

Сеансовий рівень забезпечує управління діалогом: фіксує, яка із сторін є активною в даний час, надає засоби синхронізації. Останні дозволяють вставляти контрольні точки в довгі передачі, щоб у випадку відмови можна було повернутися назад до останньої контрольної точки, а не починати все спочатку. На практиці дуже мало прикладних програм використовують сеансовий рівень, і він рідко реалізується у вигляді окремих протоколів, хоча функції цього рівня часто об’єднуються з функціями прикладного рівня і реалізуються в одному протоколі.

Рівень представлення має справу з формою представлення даних, що передаються по мережі, не змінюючи при цьому їх змісту. Завдяки цьому рівню, дані, що передаються прикладним рівнем однієї системи є завжди зрозумілими прикладним рівнем іншої системи. За допомогою засобів даного рівня протоколи прикладних рівнів можуть обійти синтаксичні відмінності в представленні даних чи ж відмінності в кодуваннях символів (наприклад, ASCII та EBCDIC). На цьому рівні може виконуватися шифрування та дешифрування даних, завдяки якому секретність обміну даними забезпечується одразу ж для всіх прикладних служб. Прикладом такого протоколу є протокол Secure Socket Layer (SSL), який забезпечує секретний обмін повідомленнями для протоколів прикладного рівня стеку TCP/IP.

Прикладний рівень – це в дійсності просто набір різноманітних протоколів, за допомогою яких користувачі мережі отримують доступ до спільних ресурсів, таких як файли, принтери чи Web-сторінки, а також організовують свою спільну роботу. Одиниця даних, якою оперує прикладний рівень, зазвичай називається повідомленням (message). Існує велика кількість служб прикладного рівня, наприклад, NCP в Novel, FTP в TCP/IP тощо.

Поняття „відкрита система“. Модель OSI, як це слідує з її назви, описує взаємодію відкритих систем. Взагалі кажучи, відкритою системою може бути названа будь-яка система (комп’ютер, обчислювальна мережа, операційна система, програмний пакет, інші апаратні та програмні продукти), що побудована відповідно до відкритих специфікацій. Нагадаємо, що під терміном „специфікація“ (в комп’ютерній техніці) розуміють формалізоване описання апаратних чи програмних компонентів, способів їх функціонування, взаємодії з іншими компонентами, умов експлуатації, обмежень та особливих характеристик. В свою чергу під відкритими специфікаціями розуміються опубліковані, загальнодоступні специфікації, що відповідають стандартам і прийняті в результаті досягнення згоди після всебічного обговорення усіма зацікавленими сторонами. Використання при розробці систем відкритих специфікацій дозволяє третім сторонам розробляти для цих систем різноманітні апаратні чи програмні засоби, а також створювати апаратно-програмні комплекси з продуктів різних виробників. Для реальних систем повна відкритість є недосяжним ідеалом. Як правило, навіть у системах, які називають відкритими, цьому визначенню відповідають тільки деякі частини, що підтримують зовнішні інтерфейси. Тому чим більше відкритих специфікацій було використано при розробці системи, тим більш відкритою вона є.

Модель OSI стосується тільки одного аспекту відкритості, а саме відкритості засобів взаємодії пристроїв, об’єднаних в обчислювальну мережу. Тут під відкритою системою розуміється мережний пристрій, готовий взаємодіяти з іншими мережними пристроями з використанням стандартних правил, що визначають формат, зміст та значення прийнятих та відправлених повідомлень. Якщо дві мережі побудовано з дориманням принципів відкритості, це дає наступні переваги:

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

Стандартні стеки комунікаційних протоколів. Найважливішим напрямком стандартизації в області обчислювальних мереж є стандартизація комунікаційних протоколів. Найпопулярнішими зараз серед стеків комунікаційних протоколів є: TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA та OSI. Усі стеки, крім SNA, на нижніх рівнях – фізичному та канальному, – використовують одні й ті ж добре стандартизовані протоколи Ethernet, TokenRing, FDDI та ін. Проте на верхніх рівнях усі стеки працюють за своїми власними протоколами. Ці протоколи часто не відповідають рекомендованому моделлю OSI розбиттю на рівні. Зокрема, функції сеансового та представницького рівня, як правило, об’єднуються з прикладним рівнем. Така невідповідність зумовлена тим, що модель OSI з’явилася як результат узагальнення уже існуючих і реально використовуваних стеків, а не навпаки.

Стек OSI. Слід чітко розрізняти модель OSI та стек OSI. Тоді як модель OSI є концептуальною схемою взаємодії відкртих систем, стек OSI представляє собою набір конкретних специфікацій протоколів. На відміну від інших стеків протоколів, стек OSI повністю відповідає моделі OSI. Він включає специфікації протоколів для всіх семи рівнів взаємодії, визначених в цій моделі. На нижніх рівнях стек OSI підтримує Ethernet, Token Ring, FDDI, протоколи глобальних мереж, X.25 та ISDN, – використовує розроблені за межами стеку протоколи нижніх рівнів, як і інші стеки. Протоколи мережного, транспортного та сеансового рівнів стеку OSI специфіковані та реалізовані різними виробниками, але на даний час розповсюджені мало. Найпопулярнішими протоколами стеку OSI є прикладні протоколи, до яких відносяться: протокол передачі файлів FTAM, протокол емуляції терміналу VTP, протоколи довідникової служби X.500, електронної пошти X.400 та ряд інших.

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

Стек OSI – міжнародний незалежний від виробників стандарт. Його підтримує уряд США в своїй програмі GOSIP, відповідно до якої всі комп’ютерні мережі, що встановлюються в урядових закладах США після 1990 року, повинні або безпосередньо підтримувати стек OSI, або забезпечувати засоби для переходу на цей стек в майбутньому. Незважаючи на цей факт, стек OSI зараз більш популярний у Європі, що, в першу чергу, зумовлено меншою кількістю старих мереж, шо працюють за власними протоколами.

Стек TCP/IP було розроблено за ініціативою Міністерства оборони США більше для зв’язку експериментальної мережі ARPAnet з іншими мережами як набір спільних протоколів для різнорідного обчислювального середовища. Великий вклад в розвиток стеку TCP/IP вніс університет Берклі, реалізувавши протоколи стеку в своїй версії ОС UNIX. Популярність цієї операційної системи привела до широкого розповсюдження TCP, IP та інших протоколів стеку. В даний час цей стек використовується для зв’язку комп’ютерів всесвітньої мережі Інтернет, та у великій кількості корпоративних мереж.

Стек TCP/IP на нижньому рівні підтримує усі популярні стандарти фізичного та канального рівнів: для локальних мереж – це Ethernet, Token Ring, FDDI, для глобальних – протоколи роботи на аналогових комутованих та виділених лініях SLIP, PPP, протоколи територіальних мереж X.25 та ISDN. Основними протоколами стеку, які дали йому назву, є протококли TCP та IP, які в термінології моделі OSI відносяться до мережного та транспортного рівнів, відповідно. IP забезпечує просування пакету по мережі, а TCP гарантує надійність його доставки. За довгі роки використання в мережах різних країн і організацій, стек TCP/IP ввібрав у себе велику кількість протоколів прикладного рівня, як, наприклад, протокол пересилки файлів FTP, протокол емуляції терміналу telnet, поштовий протокол SMTP, гіпертекстові сервіси WWW та ін. Сьогодні стек TCP/IP є одним з найрозповсюдженіших транспортних протоколів обчислювальних мереж. Стрімкий ріст популярності Інтернет привів до швидкого витіснення стеком TCP/IP інших стеків, зокрема IPX/SPX. Хоча протоколи TCP/IP нерозривно зв’язані з Інтернет, існує велика кількість мереж різного рівня, в яких також використовуються протоколи TCP/IP.

Оскільки стек TCP/IP створювався для глобальної мережі Інтернет, він має багато особливостей, які надають йому переваги порівняно з іншими протоколами, коли мова заходить про мережі, що включають глобальні зв’язки. Зокрема, дуже важливою властивістю, яка надає можливість застосування цього протоколу у великих мережах є його здатність фрагментувати пакети. Велика мережа часто складається з підмереж, що базуються на різних принципах, в кожній з яких може бути встановлена власна величина максимальної величини кадру. В такому випадку при переході із однієї мережі в іншу може виникнути необхідність ділення кадру, що передається, на кілька частин. Протокол IP ефективно розв’язує цю задачу. Іншою особливістю, технології TCP/IP є гнучка система адресації, яка дозволяє простіше, порівняно з іншими протоколами аналогічного призначення, включати в інтермережу мережі інших технологій. В стеку TCP/IP дуже економно використовуються можливості загальнодоступних розсилок – ця властивість є життєво необхідною при роботі на повільних каналах зв’язку, які характерні для територіальних мереж.

Проте, як і завжди, за переваги потрібно розплачуватися, і платою тут є високі вимоги до ресурсів та складність адміністрування IP-мереж. Гнучка система адресації та відмова від загальнодоступних розсилок приводить до наявності в IP-мережах різних централізованих служб типу DNS, DHCP та ін. [Error: Reference source not found]. Кожна з цих служб направлена на полегшення адміністрування мережі, але в той же час сама вимагає уваги від адміністратора мережі. Можна приводити і інші доводи за і проти стеку протоколів Інтернет, проте факт залишається фактом – сьогодні це найпопулярніший стек протоколів, який широко використовується як у глобальних, так і у локальних мережах.

Стек IPX/SPX. Цей стек є оригінальним стеком протоколів фірми Novel, розробленим для мережної операційної системи NetWare ще на початку 1980-х років. Протоколи мережного та сеансового рівнів Internetwork Packet Exchange (IPX) та Sequenced Packet Exschange (SPX), які дали назву стеку є прямою адаптацією протоколів XNS фірми Xerox [Error: Reference source not found]. Іще недавня популярність стеку IPX/SPX була пов’язана з розповсюдженістю операційної системи Novel NetWare, яку останнім часом все більше витісняють ОС сімейства Windows.

Багато особливостей стеку IPX/SPX обумовлені орієнтацією ранніх версій ОС NetWare на роботу в локальних мережах невеликих розмірів, які складалися з комп’ютерів зі скромними ресурсами. Зрозуміло, що для таких мереж потрібні були протоколи, які б споживали мінімальні об’єми пам’яті та швидко працювали на повільних процесорах. В результаті протоколи стеку IPX/SPX донедавна добре працювали в локальних мережах і погано у великих корпоративних мережах, оскільки вони перевантажували повільні глобальні зв’язки загальнодоступними пакетами, які інтенсивно використовуються кількома протоколами цього стеку. Зараз обновлена версія стеку IPX/SPX реалізована не тільки в NetWare, а і в багатьох інших популярних мережних ОС, зокрема в Windows.

Стек NetBIOS/SMB. Цей стек раніше широко використовувався в продуктах компаній IBM та Microsoft. На фізичному та канальному рівнях цього стеку використовуються усі найрозповсюдженіші протоколи Ethernet, Token Ring, FDDI та інші. На верхніх же рівнях працюють протоколи NetBIOS та SMB. Протокол NetBIOS (Network Basic Input/Output System) з’явився в 1984 році як мережне розширення стандартних функцій базової системи введення/виведення (BIOS) IBM PC для мережної програми PC Network фірми IBM [Error: Reference source not found]. В подальшому цей протокол було замінено так званим протоколом розширеного користувацького інтерфейсу NetBEUI – NetBIOS Extended User Interface. Для забезпечення сумісності програм в якості інтерфейсу до протоколу NetBEUI було збережено інтерфейс NetBIOS. Протокол NetBEUI розроблявся як ефективний протокол, що споживає небагато ресурсів і призначений для мереж, що налічують не більше 200 робочих станцій. Цей протокол містить багато корисних мережних функцій, які можна віднести до транспортного та мережного рівнів моделі OSI, однак він не забезпечує маршрутизацію. Останнє обмежує застосування протоколу NetBEUI локальними мережами, які не розділені на підмережі, і робить неможливим його використання в складних мережах. Деякі обмеження NetBEUI знімаються новою редакцією цього протоколу NBF (NetBEUI Frame), яка включається в MS Windows сімейства NT. Протокол SMB (Server Message Block) виконує функції сеансового рівня, рівня подання та прикладного рівня. На основі SMB реалізується файлова служба, а також служба друку та передачі повідомлень між програмами.

Інші стеки протоколів, такі як SNA фірми IBM, DECnet корпорації Digital Equipment та AppleTalk/AFP фірми Apple застосовуються в основному в операційних системах та мережному обладнанні цих фірм.

На рис. 4.3. показано відповідність деяких найпопулярніших протоколів рівням моделі OSI. Часто така відповідність є досить умовною, оскільки модель OSI – це тільки правила дій, причому досить загальні, а конкретні протоколи розроблялися для розв’язання специфічних задач, причому багато з них з’явилися до розробки моделі OSI. В більшості випадків розробники стеків віддавали перевагу швидкості роботи мережі, нехтуючи модульністю – ні один із стеків, крім стеку OSI, не розділений на сім рівнів. Найчастіше в стеку явно виділяються 3-4 рівня: рівень мережних адаптерів, в якому реалізуються протоколи фізичного та канального рівнів, мережний рівень, транспортний рівень та рівень служб, який вбирає в себе функції трьох верхніх рівнів.

Модель OSI

IBM/Microsoft

TCP/IP

Novel

Стек OSI

Прикладний

SMB

Telnet,

FTP,

SNMP,

SMTP,

WWW

NCP,

SAP

X.400,

X.500

FTAM

Подання

Протокол рівня подання OSI

Сеансовий

NetBIOS

TCP

Сеансовий протокол OSI

Транспортний

SPX

Транспортний протокол OSI

Мережний

IP,

RIP,

OSPF

IPX,

RIP,

NLSP

ES-ES,

IS-IS

Канальний

802.3 (Ethernet), 802.5 (Token Ring) FDDI, Fast Ethernet, SLIP, 100VG-AnyLAN, X.25, ATM, LAP-B, LAP-D, PPP, …

Фізичний

Коаксіальний кабель, екранована та неекранована вита пара, оптоволокно, радіохвилі, …

Рис. 4.3. Відповідність популярних стеків протоколів моделі OSI