Вступ "Засоби аналізу та оптимізації мереж"
Основні задачі оптимізації локальних мереж
Якщо ви хочете, щоб ваша мережа працювала найефективнішим чином, то вам доведеться вирішити для себе такі завдання:
1. Сформулювати критерії ефективності роботи мережі.
Найчастіше такими критеріями служать продуктивність і надійність, для яких у свою чергу потрібно вибрати конкретні показники оцінки, наприклад, час реакції і коефіцієнт готовності, відповідно.
2. Визначити множину варіюючих параметрів мережі, які безпосередньо чи опосередковано впливають на критерії ефективності.
Ці параметри справді мають бути варіюючими, тобто потрібно переконатися в тому, що їх можна змінювати у деяких межах на ваше бажання. Так, якщо розмір пакета якогось протоколу у конкретній операційній системі встановлюється автоматично і може бути змінено шляхом настроювання, то цей параметр в даному випадку не є варіюючим, хоча в інший операційній системі він може належати до змінюваних за бажанням адміністратора, отже і варіюючим. Іншим прикладом може служити пропускна здатність внутрішньої шини маршрутизатора - вона може розглядатися як параметр оптимізації лише в тому разі, якщо ви припускаєте можливість заміни маршрутизаторів в мережі.
Усі варіюючі параметри бути згруповані у різний спосіб. Наприклад, параметри окремих конкретних протоколів (максимальний розмір кадру протоколу Ethernet чи розмір вікна непідтверджених пакетів протоколу TCP) чи параметри пристроїв (розмір адресної таблиці чи швидкість фільтрації мосту, пропускна здатність внутрішньої шини маршрутизатора). Параметрами настроювання можуть бути і пристрій, і протоколи в цілому. Так, наприклад, поліпшити роботу мережі з повільними і зашумленими глобальними каналами зв'язку можна, перейшовши зі стека протоколів IPX/SPX на протоколи TCP/IP. Також можна домогтися значних поліпшень за допомогою заміни мережевих адаптерів невідомого виробника на адаптери BrandName.
3. Визначити поріг чутливості для значень критерію ефективності.
Так, продуктивність мережі можна оцінювати логічними значеннями "Працює"/ "Не працює", і тоді оптимізація зводиться до діагностики несправностей і приведення мережі у працездатний стан. Іншим крайнім випадком є тонка настройка мережі, за якої параметри працюючої мережі (наприклад, розмір кадру чи величина вікна непідтверджених пакетів) можуть варіюватися з метою підвищення продуктивності (наприклад, середнього значення часу реакції) хоча б на кілька відсотків. Як правило, під оптимізацією мережі розуміють певний проміжний варіант, коли потрібно вибрати такі значення параметрів мережі, щоб показники її ефективності істотно поліпшилися, наприклад, користувачі отримували відповіді на свої запити до серверу баз даних не за 10 секунд, а за 3 секунди, а передача файла на видалений комп'ютер виконувалася не за 2 хвилини, а за 30 секунд.
Таким чином, можна запропонувати три різних трактування завдання оптимізації:
1. Приведення мережі в будь-який працездатний стан.
Зазвичай це завдання вирішується першим, і включає:
пошук несправних елементів мережі - кабелів, рознімань, адаптерів, комп'ютерів;
перевірку сумісності устаткування та програмного забезпечення;
вибір коректних значень ключових параметрів програм і пристроїв, які забезпечують проходження повідомлень між вузлами мережі - адрес мереж і вузлів, використовуваних протоколів, типів кадрів Ethernet тощо.
2. Груба настройка - вибір параметрів, які різко впливають на характеристики (надійність, продуктивність) мережі.
Якщо мережа працездатна, але обмін даними відбувається дуже повільно (час очікування становить десятки секунд чи хвилини) або ж сеанс зв'язку часто розривається без видимих причин, то працездатною таку мережу можна назвати лише умовно, вона безумовно потребує грубої настройки. На цьому етапі необхідно знайти ключові причини істотних затримок проходження пакетів в мережі. Зазвичай причина серйозного уповільнення чи хиткої роботи мережі криється в одному невірно працюючому елементі чи некоректно встановленому параметрі, але через велику кількость можливих винуватців пошук може зажадати тривалого спостереження за роботою мережі і громіздкого перебору варіантів. Груба настройка багато в чому схожа на приведення мережі в працездатний стан. Тут також зазвичай задається деяке граничне значення показника ефективності і потрібно знайти такий варіант мережі, за якого це значення було б не гірше граничного. Наприклад, потрібно налаштувати мережу так, щоб час реакції серверу на запит користувача не перевищував 5 секунд.
3. Тонка настройка параметрів мережі (власне оптимізація).
Якщо мережа працює задовільно, то подальше підвищення її продуктивності чи надійності навряд чи можна досягти зміною лише якогось одного параметру, як це було разі повністю непрацюючої мережі або ж у разі її грубого настроювання. У разі нормально працюючої мережі подальше підвищення її якості зазвичай вимагає перебування певного вдалого поєднання значень великої кількості параметрів, тому цей процес і отримав назву "тонкого настроювання".
Навіть при тонкому настроюванні мережі оптимальне поєднання її параметрів (в суворому математичному розумінні терміна "оптимальність") отримати неможливо, та й не треба. Немає сенсу додатково витрачати колосальні зусилля по віднайденню суворого оптимуму, що характеризується від близьких до нього режимів роботи на величини такого ж порядку, що й точність вимірів трафіку у мережі. Досить знайти будь-який з близьких до оптимального рішень, щоб вважати завдання оптимізації мережі вирішеним. Такі близькі до оптимального рішення зазвичай називають раціональними варіантами, і саме їх пошук цікавить на практиці адміністратора мережі чи мережного інтегратора.
Пошук несправностей в мережі - це поєднання аналізу (виміру, діагностики і локалізації помилок) і синтезу (прийняття рішення про те, які зміни треба внести в роботу мережі, щоб виправити її роботу).
- Аналіз - визначення значення критерію ефективності системи для цього поєднання параметрів мережі. Іноді з цього етапу виділяють підетап моніторингу, на якому виконується й простіша процедура - процедура збору первинних даних про мережі: статистики про кількості які циркулюють у мережі кадрів і пакетів різних протоколів, стани портів концентраторів, комутаторів і маршрутизаторів тощо. Далі виконується етап власне аналізу, під яким розуміється складніший і інтелектуальний процес осмислення зібраної на етапі моніторингу інформації, зіставлення її з даними, отриманими раніше, вироблення припущень про можливі причини уповільненої чи ненадійною роботи мережі. Завдання моніторингу вирішується програмними і апаратними вимірювачами, тесторами, мережними аналізаторами і умонтованими засобами моніторингу систем управління мережами та системами. Завдання аналізу вимагає активнішого участі людини, а також використання таких складних засобів як експертні системи, які акумулюють практичний досвід багатьох мережевих фахівців.
- Синтез - вибір значень варіюючих параметрів, за яких показник ефективності має найкраще значення. Якщо поставлено порогове значення показника ефективності, то результатом синтезу є один варіантів мережі, який перевершує поставлене поріг. Приведення мережі в працездатне стан - це також синтез, коли перебуває будь-який варіант мережі, для якого значення показника ефективності відрізняється від стану "не працює". Синтез раціонального варіанту мережі - процедура найчастіше неформальна, оскільки вона пов'язана з вибором занадто великої і дуже різнорідної безлічі параметрів мережі - типів застосовуваного комунікаційного устаткування, моделей цього устаткування, числа серверів, типів комп'ютерів, типів операційних систем, параметрів цих операційних систем, стеків комунікаційних протоколів, їх параметрів тощо. Дуже часто мотиви, які впливають на вибір "в цілому", тобто вибір типу чи моделі устаткування, стека протоколів чи операційної системи, не носять технічного характеру, а приймаються з інших міркувань - комерційних, "політичних" тощо. Тому формалізувати постановку завдання оптимізації у таких випадках просто неможливо.
Критерії ефективності роботи мережі
Уся множина найчастіше використовуваних критеріїв ефективності роботи мережі може бути розділена на дві групи. Одна група характеризує продуктивність роботи мережі, друга - надійність.
Продуктивність мережі вимірюється за допомогою показників двох типів - тимчасових, які оцінюють затримку, внесену мережею при виконанні обміну даними, і показників пропускної здатності, які відбивають кількість інформації, переданої мережею за одиницю часу. Ці два типи показників є взаємно оберненими, і, знаючи один з них, можна вирахувати інший.
Час реакції
Зазвичай у якості тимчасової характеристики продуктивності мережі використовується такий показник як час реакції. Термін "час реакції" може використовуватися у дуже широкому значенні, тому у кожному випадку необхідно уточнити, що розуміється під цим терміном.
У загальному випадку, час реакції визначається як інтервал часу між виникненням запиту користувача до мережного сервісу одержанням і відповіді на цей запит (рис. 1.1). Очевидно, що сенс і значення цього показника залежать від типу сервісу, до якого звертається користувач, від того, який користувач і до якого серверу звертається, а також від поточного стану інших елементів мережі - завантаженості сегментів, через які проходить запит, завантаженості серверу тощо.
Розглянемо кілька прикладів визначення показника "час реакції" на малюнку 1.2.
У прикладі 1 під часом реакції розуміється час, яке минає від звернення користувача до сервісу FTP для передачі файла із сервера 1 на клієнтський комп'ютер 1 до моменту завершення цієї передачі. Очевидно, що це час має кілька складових. Найбільш суттєвий внесок вносять такі складові часу реакції як: час обробки запитів на передачу файла на сервері, час обробки одержуваних в пакетах IP частин файла на клієнтському комп'ютері, час передачі пакетів між сервером і клієнтським комп'ютером за протоколом Ethernet в межах одного коаксіального сегменту. Можна було б виділити ще менші етапи виконання запиту, наприклад, час обробки запиту кожним із протоколів стека TCP/IP на сервері і клієнті.
Для кінцевого користувача таким чином певний час реакції є зрозумілим і якомога природнішим показником продуктивності мережі (розмір файла, який вносить деяку невизначеність в цей показник, можна зафіксувати, оцінюючи час реакції при передачі, наприклад, одного мегабайта даних). Проте, мережевого фахівця цікавить передусім продуктивність власне мережі, тому для точнішої її оцінки доцільно видалити з часу реакції складові, відповідні етапам немережевій обробці даних - пошуку потрібної інформації на диску, запису її на диск тощо. Отриманий у результаті таких скорочень час можна вважати іншим визначенням часу реакції мережі на прикладному рівні.
Варіантами цього критерію можуть служити часи реакції, виміряні при різних, але фіксованих станах мережі:
A) Повністю ненавантажена мережа. Час рекції вимірюється в умовах, коли до серверу 1 звертається лише клієнт 1, тобто на сегменті мережі, який об’єднує сервер 1 з клієнтом 1, немає жодної іншої активності - на ньому присутні лише кадри сесії FTP, продуктивність якої вимірюється. В інших сегментах мережі трафік може циркулювати, головне - щоб його кадри не потрапляли в сегмент, у якому проводяться виміри. Оскільки ненавантажений сегмент в реальній мережі - явище екзотичне, то цей варіант показника продуктивності має обмежену придатність - його хороші значення говорять лише про те, що програмне забезпечення і апаратура даних двох вузлів і сегмента мають необхідну продуктивність для роботи в полегшених умовах. Для роботи в реальних умовах, коли матиме місце боротьба за розділюючі ресурси сегмента з іншими вузлами мережі, продуктивність тестуючих елементів мережі може виявитися недостатньою.
B) Навантажена мережа. Це більш цікавий випадок перевірки продуктивності сервісу FTP для конкрентних сервера і клієнта. Однак при вимірі критерію продуктивності в умовах, коли в мережі працюють й інші вузли та сервіси, виникають свої складнощі - в мережі може існувати надто велика кількість варіантів навантаження, тому головне при визначенні критеріїв такого сорту - проведення вимірів при деяких типових умовах роботи мережі. Оскільки трафік в мережі має пульсуючий характер і харакетристики трафіка істотно змінюються в залежності від часу дня і дня тижня, то визначення типового навантаження - процедура складна, яка потребує тривалих вимірів на мережі. Якщо ж мережа лише проектується, то визначення типового навантаження ще більше ускладнюється.
У прикладі 2 критерієм продуктивності мережі є час затримки між передачею кадру Ethernet в мережу адаптером клієнтського комп'ютера 1 і надходженням його на мережевий адаптер серверу 3. Цей критерій також належить до критеріям типу "час реакції", але відповідає сервісу нижнього - канального рівня. Оскільки протокол Ethernet - протокол дейтаграмного типу, тобто без встановлення сполук, для якого поняття "відповідь" не визначено, то під часом реакції у даному випадку розуміється час проходження кадру від вузла-джерела до вузла-отримувача. Затримка передачі кадру включає у даному випадку час поширення кадру по первісного сегменту, час передачі кадру комутатором з сегмента А в сегмент В, час передачі кадру маршрутизатором з сегмента В в сегмент С і час передачі кадру з сегмента С у сегмент D повторювачем. Критерії, які належать до нижнього рівня мережі, добре характеризують якості транспортного сервісу мережі і є понад інформативними для мережевих інтеграторів, оскільки не містять надлишкову для них інформацію про протоколи верхніх рівнів.
При оцінці продуктивності мережі не по відношенню до окремих пар вузлів, а до всіх вузлів в цілому використовуються критерії двох типів: середньо-зважений і граничний.
Середньо-зважений критерій представляє собою суму часів реакції всіх або деяких вузлів при взаємодії з усіма чи деякими серверами мережі за певним сервісом, тобто суму виду
де Tij - час реакції i-го клієнта при зверненні до j-го серверу, n - кількість клієнтів, m - кількість серверів. Якщо усереднення здійснюється і по сервісах, то в приведеному виразі додасться одне додавання - за кількістю враховуваних сервісів. Оптимізація мережі за цим критерієм заключається у знаходженні значень параметрів, за яких критерій має мінімальне значення чи принаймні не перевищує певне задане число.
Граничний критерій відбиває найгірший час реакції за всіма можливими сполученнями клієнтів, серверів і сервісів:
де i і j мають той сенс, що й в попередньому разі, а k означає тип сервісу. Оптимізація також може виконуватися з метою мінімізації критерію, або ж з метою досягнення їм деякої заданої величини, котрий визнаний з розумної точки зору.
Частіше застосовуються граничні критерії оптимізації, оскільки вони гарантують всім користувачам певний задовільний рівень реакції мережі на їх запити. Середньо-зважені критерії можуть дискримінувати деяких користувачів, для яких час реакції занадто великий при тому, що при усередненні отриманий цілком прийнятний результат.
Можна застосовувати більш диференційовані за категоріями користувачів і ситуаціями критерії. Наприклад, можна поставити перед собою мету гарантувати будь-якому користувачеві доступ до серверу, який знаходиться в його сегменті, за час, який не перевищує 5 секунд, до серверів, які знаходяться в його мережі, але в сегментах, відділених від його сегмента комутаторами, за час, що не перевищує 10 секунд, а до серверів інших мереж - за час до 1 хвилини.