1.2. Архітектура Internet
Архітектура Internet включає високошвидкісну магістральну мережу і мережі, підключені через шлюзи. Схематична спрощена структура Internet може бути представлена на рис. 1.
Високошвидкісна магістральна мережа передачі даних зветься backbone. На практиці backbone утворять виділені телефонні лінії, що мають високу пропускну спроможність ( нині використовуються лінії типу T3 зі швидкістю передачі даних 44,736 Мбіт/с).
Коли організація підключається до Internet прямо, то вона застосовує для цього виділений комп'ютер, який називається шлюзом (gateway). На цьому спеціально виділеному комп'ютері встановлене складне програмне забезпечення, за допомогою якого здійснюється обробка всіх повідомлень, що проходять через шлюз. Кожний шлюз має IP-адресу.
В разі находження повідомлення, адресованого мережі, до якої підключений цей шлюз, воно передається в локальну мережу. Якщо повідомлення призначене для іншої мережі або шлюзу, то воно передається наступному шлюзу. Повідомлення проходить від шлюзу до шлюзу по швидкісним каналам зв'язку, поки не доберуться до свого адресата.
Шлюзи знають про решту шлюзів і мереж, з якими вони взаємодіють. Коли повідомлення посилається з локальної мережі через шлюз в Internet, то шлюз знає, яким маршрутом відправити повідомлення, щоб воно досягло адреси якнайшвидше. Шлюзи обмінюються один з одним інформацією про маршрутизацію і стан мережі, використовуючи спеціальний шлюзовий протокол.
Кожний шлюз з'єднує магістральну частину Internet з однією або декількома мережами. Деякі компанії виступають як сервіс-провайдери для інших компаній і користувачів. Провайдер має власний шлюз в Internet і дозволяє іншим компаніям підключатися до Internet через свій шлюз. Для малих компаній використання сервіс-провайдерів є більш швидким і дешевим способом, аніж самостійне розв'язання проблеми підключення до Internet. Не всі компанії, що звертаються до послуг сервіс-провайдера, мають виділений шлюз в мережу провайдера. Часто для обслуговування з'єднання послуговуються звичайним комп'ютером, який працює як шлюз, але не підтримує всіх функцій виділеного шлюзу.
1.3. Поняття архітектури клієнт-сервер
Комп’ютери, які підключені до Інтернету, бувають двох типів: сервери і клієнти. Ті комп'ютери, які надають певний сервіс іншим комп'ютерам, називають серверами, а ті, які його одержують, — клієнтами. Більш коректно говорити про клієнтів і серверів на рівні програмного забезпечення. Обчислення, при яких одна програма виступає як клієнт, а інша як сервер, називаються клієнт-серверні обчисленнями. Архітектура «клієнт-сервер» є основою розподілених обчислень.
Слід розрізняти комп'ютер-сервер і програму-сервер. Наприклад, на одному і тому ж комп'ютері можуть бути встановлені як клієнтські, так і серверні програми, тобто комп'ютер в різних процесах може одночасно виступати і клієнтом, і сервером. Розподіл програм на клієнтську і серверну частини дозволяє розташувати ці програми на одному комп'ютері або на машинах, розташованих в будь-яких місцях, зв'язаних по мережі.
Клієнтський комп'ютер, підключений до Інтернету, може звертатися до величезної кількості серверів у всьому світі. Сервером може бути будь-який комп'ютер, який підключений до мережі і на якому запущені відповідні програми, що надають сервісні мережні послуги.
Звичайно комп'ютери, які виконують роль серверів, і клієнтські комп'ютери розрізняються не тільки сервісами, але і операційними системами, що запускаються, і, що важливе, апаратною частиною. Комп'ютери-сервери — це, як правило, багатопроцесорні системи. При цьому слід врахувати можливість створення кластерів з однотипних серверів, які ділять між собою навантаження, пов'язане із споживанням клієнтами сервісів, що надаються ними.
Слід зазначити, що на одному комп'ютері може бути запущено декілька різних програм-серверів, унаслідок чого цей комп'ютер може надавати декілька сервісів. Наприклад, на машині може бути встановлено програмне забезпечення, яке дозволяє їй працювати одночасно і Web-сервером, і FTP-сервером. Для кожного типу програм-серверів існує своя програма-клієнт. Так, Web-броузер звертається до Web-серверу, FTP-клиент — до FTP-серверу і т.д. Очевидно, що для того, щоб програма-клієнт звернулася до програми-серверу, ще до початку цього звернення необхідна готовність програми-серверу до прийняття даного звернення, тобто програма-сервер повинна знаходитися в режимі очікування до початку взаємодії. Клієнт може звернутися до серверу у будь-який час, тому сервер звичайно працює постійно, і дуже важливо, щоб він тривалий час працював без збоїв. Програма-клієнт формує запит і відправляє його в заданому напрямі по мережі, одержує відповідь і перетворить його в зрозумілий для користувача вигляд.
Описаний підхід, по суті, забезпечує користувачу невеликого комп'ютера доступ з робочого столу до ресурсів мільйонів комп'ютерів, підключених до Інтернету. Але щоб звернутися з клієнтського комп'ютера до якого-небудь ресурсу в мережі, необхідно знати унікальний покажчик на цей ресурс.
