Функції верхніх рівнів.

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

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

1. Формування і передача з комп’ютера користувача запиту, що містить ім’я документа.

2. Обробка запиту, пошук і пересилка файлу документа з віддаленого комп’ютера.

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

Крім того, ці дії можуть передувати етапом перевірки прав користувача на роботу з документом, що припускає додатковий обмін інформацією.

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

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

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

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

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

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

Транспортний рівень. Основні висновки.

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

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

Режим гарантованої доставки заснований на підтвердженні приймаючою стороною факту отримання даних.

Для забезпечення доставки даних довільного об’єму потрібне встановлення віртуального з’єднання.

Основними протоколами транспортного рівня мережі Інтернет є TCP і UDP.

Протокол UDP забезпечує негарантовану доставку даних.

Протокол TCP забезпечує гарантовану доставку зі встановленням віртуального з’єднання.

Для ідентифікації конкретних програм, що використовують мережу, протоколи TCP і UDP використовують номери портів.

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

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

Стандартні порти транспортних протоколів для сервісів

Для стандартних сервісів також стандартизується і інтерфейс взаємодії з протоколами транспортного рівня. Зокрема, за кожним програмним сервером резервуються стандартні номери TCP- і UDP-портів, які залишаються незмінними незалежно від особливостей тієї або іншої фірмової реалізації як компонентів сервісу, так і транспортних протоколів. Номери портів клієнтського програмного забезпечення так жорстко не регламентуються. Це пояснюється наступними чинниками:

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

 — по-друге, клієнту важлива регламентація портів сервера, щоб знати, куди направляти запит, а сервер зможе відповісти клієнту, дізнавшись адресу із запиту, що поступив.

У приведеній нижче таблиці перераховані стандартні номери портів для основних сервісів.

Компонент служби     Номер порту     Транспортні протоколи
Електронна пошта
SMTP-сервер                 25                     TCP
POP3-сервер                 110             TCP
IMAP-сервер                 143             TCP
Телеконференції
NNTP-сервер             119             TCP
FTP
FTP-сервер               20, 21             TCP
Telnet
Telnet-сервер              23             TCP
WWW
HTTP-сервер                  80             TCP
DNS
DNS-сервер                  53          TCP, UDP

Основні сервіси Інтернет

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

— електронна пошта (E-mail), що забезпечує можливість обміну повідомленнями однієї людини з іншим або декількома абонентами;
— телеконференції, або групи новин (Usenet), що забезпечують можливість колективного обміну повідомленнями;
— сервіс FTP — система файлових архівів, що забезпечує зберігання і пересилку файлів різних типів;
— сервіс Telnet, призначений для управління віддаленими комп’ютерами в термінальному режимі;
— World Wide Web (WWW W3) — гіпертекстова (гіпермедіа) система, призначена для інтеграції різних мережевих ресурсів в єдиний інформаційний простір;
— сервіс DNS, або система доменних імен, що забезпечує можливість використання для адресації вузлів мережі мнемонічних імен замість числових адрес;
— сервіс IRC, призначений для підтримки текстового спілкування у реальному часі (chat);

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

Разом із стандартними сервісами існують і нестандартні, такі, що є оригінальною розробкою тієї або іншої компанії. Як приклад можна привести різні системи типу Instant Messenger (своєрідні Інтернет-пейджери — ICQ, AOl, Demos on-line і т.п.), системи Інтернет-телефонії, трансляцій радіо і відео і т.д. Важливою особливістю таких систем є відсутність міжнародних стандартів, що може привести до виникнення технічних конфліктів з іншими подібними сервісами.

Поняття сервісу

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

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

Кожен сервіс є сукупністю наступних компонентів:

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

Протоколи взаємодії програмного забезпечення мережевих сервісів відносяться до трьох верхніх рівнів моделі OSI і використовують як засоби доставки своїх пакетів протоколи транспортного рівня TCP і UDP.

Технологія клієнт-сервер

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

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

Технологія взаємодії, в якій одна програма запрошує виконання якої-небудь сукупності дій («запрошує послугу»), а інша її виконує, називається технологією «клієнт-сервер». Учасники такої взаємодії називаються відповідно клієнтом (client) і сервером (server). Достатньо часто клієнтом (або сервером) називають комп’ютери, на яких функціонує те або інше клієнтське (або серверне) програмне забезпечення.

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

Реалізація режиму гарантованої доставки

Для забезпечення гарантованої доставки протокол TCP використовує механізм відправки підтвердження. З метою зниження завантаження мережі протокол TCP допускає посилку одного підтвердження відразу для декількох одержаних сегментів. Об’єм даних, які можуть бути передані в мережу відправником до отримання підтвердження, визначається спеціальним параметром протоколу TCP — розміром вікна.

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

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

Встановлення з’єднання

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

Поняття IP-мережі

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

На нижньому рівні ієрархії розташовано безліч вузлів (комп’ютерів або інших пристроїв), представлених унікальними IP-адресами. Співвідношення між фізичними і логічними вузлами можна описати таким чином: один і той же фізичний пристрій (комп’ютер та ін.) може мати декілька IP-адрес, тобто відповідати декільком логічним вузлам. Звичайно така ситуація виникає, якщо пристрій має декілька мережевих адаптерів і/або модемів, оскільки з кожним з них повинна бути пов’язана як мінімум одна унікальна IP-адреса. Хоча нерідко комп’ютеру, що має один мережевий адаптер або модем, може бути привласнено декілька IP-адрес. Якщо фізичний пристрій має декілька IP-адрес, то говорять, що він має декілька інтерфейсів, тобто декілька «точок підключення» до логічної мережі.

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

 Підмережі і маски підмереж.

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

Для налаштування підмережі використовується маска підмережі, яка призначена для визначення адреси мережі незалежно від класу мережі. Формат запису маски підмережі такий же як і формат IP-адреси, це чотири двійкові октети або чотири поля, що розділяються крапкою. Значення полів маски задаються таким чином:

— всі біти, встановлені в 1, відповідають ідентифікатору мережі;
— всі біти, встановлені в 0, відповідають ідентифікатору вузла.

 Клас мережі     Біти маски підмережі                     Маска підмережі

A           11111111  00000000  00000000  00000000        255.0.0.0
B           11111111  11111111  00000000  00000000          255.255.0.0
C           11111111  11111111  11111111  00000000           255.255.255.0

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

Використання в парі з IP-адресою маски підмережі дозволяють відмовитися від застосування класів адрес і зробити гнучкішою всю систему IP-адресації. Так, наприклад, маска 255.255.255.240 (11111111 11111111 11111111 11110000) дозволяє розбити діапазон в 254 IP-адреси, що відноситься до однієї мережі класу C, на 14 діапазонів, які можуть виділятися різним мережам.

Таким чином, якщо IP-адреса комп’ютера 192.168.0.1 і маска підмережі 255.255.255.0, то номер мережі 192.168.0, а номер комп’ютера 1.

Якщо локальна мережа складається з п’яти комп’ютерів, то IP-адреси комп’ютерів будуть записані таким чином:

ip 192.168.0.1 маска 255.255.255.0
ip 192.168.0.2 маска 255.255.255.0
ip 192.168.0.3 маска 255.255.255.0
ip 192.168.0.4 маска 255.255.255.0
ip 192.168.0.5 маска 255.255.255.0

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

Клас мережі        Біти маски підмережі                          Префікс мережі              Маска підмережі
A           11111111  00000000  00000000  00000000            /8                                                255.0.0.0
B           11111111  11111111  00000000  00000000              /16                                              255.255.0.0
C           11111111  11111111  11111111  00000000              /24                                               255.255.255.0

Наприклад, запис 192.168.0.1 /24 відповідає запису 192.168.0.1 маска 255.255.255.0. Представлення маски підмережі у вигляді префікса мережі називається методом CIDR (Classless Interdomain Routing).

Протокол IP.

Протокол IP (Internet Protocol) входить до складу стека протоколів TCP/IP і є основним протоколом мережевого рівня, що використовується в Інтернет. IP — це не орієнтований на встановлення з’єднання і ненадійний протокол передачі. Термін «не орієнтований на встановлення з’єднання» означає, що сеанс для обміну даними не встановлюється. Термін «ненадійний» означає, що доставка не гарантується. IP завжди робить всі зусилля, щоб доставити пакет. IP-пакет може бути втрачений, доставлений поза чергою, дубльований або затриманий. Протокол IP не намагається виправити помилки цих типів. Підтвердження отримання пакетів і повторне звернення за втраченими пакетами входять в коло обов’язків протоколу вищого рівня, наприклад TCP.

 Поняття IP-адреси.

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

IP-адреса комп’ютера складається з чотирьох полів, що розділяються крапкою. Кожне поле містить число, значення якого лежить в межах від 0 до 255. Такий формат називається точково-десятковою нотацією. Для зберігання даних, в обчислювальній техніці використовуються двійкові числа, тому IP-адресу можна представити і в двійковому вигляді.

 Двійковий формат
11000000 10101000 00000011 00011000

 Десятковий формат
192.168.3.24

У двійковому форматі IP-адреса складається з 32 бітів, які розбиті на чотири октети (поля по 8 біт).

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

Номер мережі і номер комп’ютера називають так само адресою або ідентифікатором (ID) мережі і комп’ютера. Оскільки IP-адреса може бути привласнена не тільки комп’ютеру, але і іншим мережевим пристроям, наприклад принт-серверу або маршрутизатору, мережеві пристрої прийнято називати вузлами або хостами.

Для того, щоб відокремити в IP-адресі поля мережі, що відносяться до номера, від полів номера вузла, комп’ютерні мережі ділять на три основні класи: A, B і C. Класи істотно відрізняються один від одного за розмірами і складністю. Вони визначають, скільки біт в IP-адресі відводиться під номер мережі і скільки під номер вузла.

Клас A. Мережа класу A має адреси, які починаються з числа від 1 до 127 для першого октету, а решта частини адреси — це адреса вузла. Таким чином клас A допускає максимум 126 мереж, а в кожній з них до 16 777 214 комп’ютерів. Як правило це мережі величезних компаній, яких в світі небагато, об’єднуючих велике число мережевих пристроїв.

Клас B. У мережі класу B для опису адреси мережі використовується перші два октети, а решта частини — це адреси вузлів. Перший октет приймає значення від 128 до 191, що дає максимум 16 384 мереж, в кожній з яких до 65 534 вузла. Адреси класу B призначаються мережам великого і середнього розміру.

Клас С. Адреси мереж класу C починаються з числа від 192 до 223 і використовують три перші октети для опису адреси мережі. Останній октет позначає адресу вузла. Таким чином, клас C допускає максимум 2 097 152 мереж, по 254 комп’ютери в кожній. Адреси цього класу призначають малим мережам.

Адреса мережі класу A, починається на 127 зарезервований для тестування і недоступний для використання.

Адреси класу D є груповими адресами і призначаються групам вузлів. Це використовується деякими мережевими службами для так званої багатоадресної розсилки. Діапазон адрес класу E зарезервований і в даний час не використовується.

Функції верхніх рівнів. Основне.

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

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

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

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

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

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

В даний час існує велика кількість різноманітних сервісів мережі Інтернет.