Модель клієнт-сервер в мережах передачі даних.

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

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

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

Важливо підкреслити, що роль клієнта або сервера має не обладнання (вузол), на якому виконується програма, а саме додаток.

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

В обчисленнях терміни додаток і програма еквівалентні, в той час як термін процес використовується, коли виконується програма (або додаток). Наприклад: у мене на ноутбуці встановлена ​​програма Firefox. Коли я вмикаю комп’ютер, встановлюється Firefox, але він не працює. Коли я натискаю на іконку, програма запускається. У цей момент в пам’яті буде запущений процес (званий firefox.exe).

Давайте подивимося на деякі приклади моделі клієнт-сервер. На наступному малюнку представлено найбільш типове спілкування в Інтернеті, з’єднання з веб-сторінкою.

Ви можете побачити, як цей зв’язок відповідає моделі клієнт-сервер, де веб-браузер (Internet Explorer, Firefox, Chrome …) користувача, який хоче отримати доступ до веб-сторінці, виконує роль клієнта на хості A і процес, який обслуговує клієнта і відправляє запитану веб-сторінку на хості B, який виконує роль сервера. В даний час переважна більшість повідомлень в Інтернеті слідують попереднього прикладу.

Комп’ютер, підключений до мережі передачі даних, яка є його частиною в якості кінцевого вузла, називається хостом, а не елементом взаємозв’язку. Наприклад: настільний ПК, нетбук, ноутбук, ігрова приставка, планшет, смартфон … З іншого боку, маршрутизатори, комутатори або точки доступу Wi-Fi – це пристрої, підключені до мережі, але вони не є кінцевими вузлами, а є вузлами з’єднання, тому вони не вони вважаються приймають.

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

Одночасна зв’язок на пристроях з декількома запущеними процесами

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

Це може бути прикладом комп’ютера (хост A), який має ролі клієнта і сервера.

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

Веб-сервер, що обслуговує декілька клієнтів (браузерів)

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

Ссылка на основную публикацию