Інформаційні системи в міжнародному бізнесі (1999)
10.1. Архітектура internet
Архітектура мережі Internet розроблена на основі концепції взаємоз’єднуваності або міжмережного об’єднання різнорідних мереж, побудованих на базі найрізноманітніших фізичних систем зв’язку та комунікаційних технологій.
Користувачі мережі Internet повинні мати доступ до ресурсів кожної підмережі, яка входить до Internet. Такий доступ має бути забезпечений внутрішніми механізмами (адресами, форматами повідомлень, протоколами) Internet. Користувачеві при цьому надаються прості, зручні й прозорі, тобто незалежні від особливостей підмереж, засоби роботи з кожними мережними компонентами Internet. Користувач взагалі не повинен знати, як організована взаємодія мереж, які шлюзи та маршрути забезпечують доставку інформації.
Internet спроектована як інтермережа, тобто деяка абстрактна сукупність різнорідних мереж. Загальними для всіх підмереж Internet є:
універсальний адресний простір мережі Internet;
набір комунікаційних протоколів ТСР/ІР і зв’язаних з ними протоколів;
шлюзи та технологія міжмережної маршрутизації повідомлень.
Архітектурна топологія Internet. Окремі мережі з’єднуюються між собою шлюзовою машиною, яка реалізує фізичні з’єднання (рис. 10.1 і 10.2). Шлюзи зберігають таблиці, в яких фіксуються адреси приєднаних до даного шлюзу мереж. Важливо відмітити, що система адресації мереж і машин Internet має чітку ієрархічну структуру, яка дає змогу обмежити табличні записи шлюзів тільки адресами мереж, тобто не зберігати адрес хост-машин. Завдяки цьому шлюзи можуть зберігати свої таблиці в основній пам’яті й реалізовуватися на бездискових мікрокомп’ютерах.
Адресація Internet. Основний принцип адресації — універсальний ідентифікатор хост-машини Internet. Кожній хост-машині, яка входить до Internet, надається у відповідному реєстраційному центрі універсальний адресний ідентифікатор — 32-бітова адреса. Її структура така, що всі хости даної підмережі мають загальний адресний префікс.
netid — ідентифікатор мережі;
hostid — ідентифікатор хост-машини в цій мережі.
Використовують три класи форматів адрес.
Клас А визначає множину адрес для великих мереж, тобто таких, де кількість хост-машин може перевищити 32768. Клас В призначений для середніх за кількістю хостів мереж, клас С відводить лише 8 біт для адреси хосту, що відповідає відносно невеликим мережам.
Отже, адреса в Internet не прив’язана до конкретної машини, а ідентифікує деяке з’єднання з мережею. Це означає, що якщо дана машина «переїжджає» в нову мережу, її адреса має змінитися. Друга властивість цієї адресації — машина, яка входить до кількох мереж, повинна мати кілька адрес. На практиці ця властивість означає, що машину можна знайти по мережі Internet, навіть якщо якась мережа не працює і відомі інші мережні адреси цієї машини.
Адреси Internet видаються централізовано. Локальним мережам у рамках Internet видаються звичайно адреси класу С. Мережам типу ARPANET видаються адреси класу А. За Internet-угодою, якщо поле hostid дорівнює нулю, відповідна адреса ідентифікує мережу, а не хост; якщо ж поле hostid містить лише одиниці, така адреса використовується для мультиадресної передачі повідомлень.
Мнемонічний запис адрес Internet має в документації по Internet такий вигляд:
адреса: 10000000 0001010 00000010 00011110
Мнемонічний запис: 128.10.2.30.
Адресна система Internet дуже ретельно підготовлена з точки зору підвищення ефективності роботи шлюзів:
а) пакети даних ідуть по віртуальних логічних каналах: шлюзи динамічно обчислюють маршрути повідомлень; пакети обробляються проміжними шлюзами лише за адресами netid; адреси хост-машин обробляються лише останнім шлюзом;
б) хост-машини даної мережі виходять на інші підмережі Internet тільки через найближчий шлюз; шлюзова комунікаційна підсистема Internet діє на базі власних шлюзових протоколів взаємодії і розв’язання адрес.
Проблема розв’язання адрес. Універсальні адресні ідентифікатори Internet є логічними іменами, не прив’язаними до фізичних адрес машин. Легко зрозуміти, що фізичні адреси можуть часто змінюватися через апаратні поломки чи підключення нових інтерфейсних плат. При цьому адреси Internet залишаються стабільними. Проблема розв’язання адрес полягає у відображенні логічних адрес Internet на фізичні мережні адреси.
а) хост А для зв’язку з хостом В починає процедуру обчислення (розв’язання) фізичної адреси хосту В;
б) хост А знає логічну адресу (netid) мережі, з якою з’єднаний хост В, і надсилає пакет запиту фізичної адреси В за допомогою мульти- адресної розсилки по всіх хостах мережі, де розташований хост В;
в) хост В одержує цей запит і відповідає пакетом, у якому міститься його фізична адреса.
Фактично ARP при частому використанні потребує великих накладних витрат. Тому хости ведуть динамічні таблиці відображень логічних і фізичних адрес.
Міжмережний протокол ІР. Проблема об’єднання кількох окремих мереж в єдину загальну мережу має два аспекти: а) архітектурний аспект Internet утворюється із сукупності окремих мереж і шлюзових машин, які з’єднують ці мережі; б) користувацький аспект Internet розглядається користувачем як єдина віртуальна мережа, що об’єднує всі хост-машини із своїми ресурсами.
Датаграми мережі Internet. Базисні або елементарні одиниці даних, які пересилаються по мережі Internet і обробляються мережними програмами, носять назву датаграм. Датаграма містить заголовок (з адресами відправника і одержувача) та поле даних і може при передачі по мережі поділятися на коротші фрагменти. Поле заголовка датаграми структурується на 27 окремих підполів, у яких фіксуються управляючі параметри (мережні константи, атрибути протоколу ІР, визначники форматів даних).
Надсилаючи датаграму програма протоколу ІР виконує дві функції: 1) формує ІР-пакет у структурі; 2) вибирає маршрут слідування датаграми.
Маршрутизація датаграми. Маршрут датаграми вибирають у кожній шлюзовій машині, а також у процесорах обробки пакетів-повідомлень залежно від низки факторів: мережного завантаження, довжини датаграми, типу транспортного сервісу. Пряма маршрутизація — це такий варіант розташування відправника і одержувача, коли вони знаходяться в одній мережі. Непряма адресація передбачає пересилання датаграми між різними мережами, отже, відбувається комутація датаграми щонайменше в одному шлюзі.
При прямій маршрутизації використовується очевидний принцип, що кожна машина знає ІР-адресу своїх мережних портів (інтерфейсів). Програма маршрутизації використовує ARP-протокол і знаходь ту фізичну мережну адресу одержувача, за якою потрібно надсилати датаграму.
При непрямій маршрутизації машина, яка відправляє датаграму, спочатку повинна визначити конкретний шлюз, через який піде датаграма. Звичайно для розв’язання цієї задачі використовується ІР-таблиця маршрутизації, яка складається з пар (N, G), де N–IP — адреса мережі, а G — мережна адреса шлюзу, з’єднаного з мережею N. ІР-таблиця може використовуватись як статистична або динамічна. Статистична маршрутна інформація поміщається в таблицю один раз при включенні машини зчитуванням відповідного файла з диска. Статистичні маршрути звичайно фіксуються в цій таблиці виходячи з оцінок пропускної здатності каналів мережі і очікуваного графіка.
Динамічна таблиця постійно коригується на основі інформації, яка надходить від шлюзових машин. Отримавши датаграму, шлюз аналізує адреси відправника і одержувача, а також маршрутну інформацію, сформовану хостом. Якщо цей маршрут оцінюється шлюзом, як такий, що потребує коригування, то шлюз міняє маршрут і використовує протокол ІСМР для взаємодії з хостом.
У кожному випадку (пряма або непряма маршрутизація) програми маршрутизації в результаті утворюють фізичну мережну адресу, за якою надсилається датаграма.
Управляючі повідомлення Internet. Заголовки датаграм містять не лише адресну інформацію, а й інформацію, яка визначає тип протоколу обробки (ІСМР або UDP) і ряд особливих ситуацій. Особливі ситуації, що виникають при різних помилках, виборі маршрутів, розв’язанні адрес і т.п. операціях, оброблюються мережними програмами. Інформація про всі особливі ситуації і результати їх обробки фіксується в управляючих повідомленнях. Типовими є управляючі повідомлення від шлюзів до хост-машин, які виникають при обробці маршрутної інформації.
Протокол ІСМР. Повідомлення ІСМР розміщуються в полі даних датаграм, тим самим повністю зберігається формат заголовка і загальна структура пакета датаграми. Шлюз використовує ІСМР-повідомлення для того, щоб інформувати хост, що датаграма не може досягти свого одержувача (помилка в адресі хоста-одержувача або його непрацездатність).
Найчастіше використовуються чотири типи ІСМР-повідомлень: луназапит, луна-відповідь, перенаправлення і уповільнення.
Луна-запит і луна-відповідь. Ці повідомлення використовуються хостом або шлюзом у протоколі ІСМР для тестування хост-одержувача на його працездатність. Хост, що отримав луна-запит, зобов’язаний повернути в машину, яка надіслала луна-запит, відповідь.
Перенаправлення. Шлюз G надсилає в протоколі ІСМР повідомлення перенаправлення хосту Н, для того щоб змінити його таблиці маршрутизації. У цьому повідомленні вказується нова адреса шлюзу G2, який буде використовуватися замість шлюзу G.
Уповільнення. Ці повідомлення надсилаються шлюзом або хостом, коли датаграми надходять дуже швидко в систему, яка їх приймає. Джерело, яке отримало повідомлення типу «уповільнення», повинно зменшити інтенсивність потоку своїх повідомлень.
Протокол UDР є базовим протоколом, за допомогою якого користувацька програма формує мережні датаграми і вирішує всі питання адресації, транспортування даних, контролю передачі та управління потоком даних.