Вплив широковмовного службового трафіка на продуктивність мережі

Матеріал з Вікі ЦДУ
Версія від 14:06, 7 грудня 2011; DenisZavizion (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Призначення широкомовного трафіка

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

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

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

Підтримка широкомовного трафіка на канальному рівні

Практично всі протоколи, використовувані в локальних мережах, підтримують поширені адреси (крім протоколів АТМ). Адреса, яка складається із усіх одиниць (111...1111), має той самий сенс для протоколів Ethernet, TokenRing, FDDI, FastEthernet, 100VG-AnyLAN: кадр з такою адресою повинен бути прийнятий всіма вузлами мережі. Через особливий вид і регулярний характер широкомовної адреси ймовірність їїгенерації в результаті помилкової роботи апаратури (мережного адаптера, повторювача, мосту, комутатора чи маршрутизатора) буває достатньо високою. Іноді хибний широкомовний трафік генерується в результаті невірної роботи програмного забезпечення, що реалізує функції протоколів верхніх рівнів.

Широкомовний трафік канального рівня поширюється в межах не тільки сегмента, який створений пасивною кабельною системою або кількома повторювачами/концентраторами, а й і в межах мережі, побудованої з використанням мостів і комутаторів. Принципи роботи цих пристроїв зобов'язують їх передавати кадр з широкомовною адресою на всі порти, крім того, звідки цей кадр прийшов. Такий спосіб обробки широкомовного трафіка створює для всіх вузлів, пов'язаних один з одним за допомогою повторювачів, мостів і комутаторів, ефект загальної мережі, в якій усі клієнти і сервери "бачать" один одного.

Широкомовний шторм

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

Кожен протокол-джерело широкомовних пакетів найчастіше породжує широкомовний трафік постійної інтенсивності, оскільки посилає в пакети фіксованого розміру через певні проміжки часу. Наприклад, протокол SAP оголошує про існування конкретного файл- чи принт- сервісу кожні 60 секунд за допомогою широкомовного повідомлення фіксованого розміру. Можна навести приклад джерела, який породжує широкомовний трафік змінної інтенсивності. Таким джерелом є протокол обміну маршрутної інформації RIP, котрий один раз в 30 чи 60 секунд розсилає по мережі вміст таблиці маршрутизації, а оскільки ця таблиця може мати змінний розмір, то інтенсивність трафіка, створюваного протоколом RIP, може змінюватися.

Загальна інтенсивність широкомовного трафіку мережі визначатиметься двома чинниками - кількістю джерел такого трафіку та середньою інтенсивністю кожного джерела. Протоколи локальних мереж розроблялися на початку 80-х років з розрахунку на порівняно невелику кількість комп'ютерів, генеруючих широкомовний трафік, а також з урахуванням великого запасу пропускної здатності каналів локальних мереж (10 Мб/c) порівняно з потребами файлового сервісу мінікомп’ютерів і настільних комп'ютерів того часу. Тому стеки протоколів, які проектувалися винятково для застосування в локальних мережах - NovellNetWareIPX/SPX і стек NetBIOS/SMB компаній IBM і Microsoft - широко користувалися широкомовними розсиланнями для створення максимальної вигоди для користувачів, яким не треба було запам'ятовувати назву й адресу серверів.

Стек TCP/IP проектувався у розрахунку на роботу у будь-яких умовах – як у локальних мережах, так і в глобальних мережах з низькошвидкісними каналами. Тому стек TCP/IP набагато рідше користується широкомовними повідомленнями - в основному тоді, коли це необхідно. Це гарантує стеку TCP/IP прийнятний рівень широкомовності навіть на низькошвидкісних каналах, тоді як в мережах NetWare рівень широкомовності на глобальних каналах може досягати небажаної цифри в 20%.

Перевищення широкомовним трафіком рівня понад 20% називається широкомовним штормом (bradcaststorm). Це явище вкрай небажано, оскільки воно призводить до зростання коефіцієнта використання мережі, а, отже, і до різкого збільшення часу очікування доступу.

Підтримка широкомовного трафіка на мережному рівні

Як уже було сказано, мости і комутатори не ізолюють сегменти мереж, підключених до портів, від широкомовного трафіка канальних протоколів. Це може створювати проблеми для великих мереж, оскільки широкомовний шторм буде "затоплювати" всю мережу та блокувати нормальну роботу вузлів. Упертою перепоною на шляху широкомовного шторму є маршрутизатори.

Принципи роботи маршрутизатора не вимагають від нього обов'язкової передачі кадрів з широкомовною адресою через всі порти. Маршрутизатор при прийнятті рішення просування кадру керується інформацією заголовка не канального рівня, а мережного. Тому поширені адреси канального рівня маршрутизаторами просто ігноруються. На мережному рівні також існує поняття широкомовної адреси, але ця адреса має обмежену дію - пакети з цією адресою мають бути доставлені всім вузлам, але тільки в межах однієї мережі. Через це такі адреси називаються обмеженими широкомовними адресами (limitedbroadcast). За такими правилами працюють найпопулярніші протоколи мережного рівня IP і IPX.

Проте, для нормальної роботи мережі часто виявляється бажаною можливість широкомовної передачі пакетів певного типу в межах всієї складової мережі. Наприклад, пакети протоколу оголошення сервісів SAP в мережах NetWare потрібно передавати і між мережами, з'єднаними маршрутизаторами, для того, щоб клієнти могли звертатися до серверів, які знаходяться у інших мережах. Саме так працює програмне забезпечення маршрутизації, реалізоване компанією Novell в ОС NetWare. Для підтримки цієї властивості всі виробники апаратних маршрутизаторів також забезпечують широкомовну передачу трафіка SAP.

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

Нижче описані найпопулярніші в локальних мережах протоколи, які породжують широкомовний трафік.

Види широкомовного трафіку

Широкомовний трафік мереж NetWare

Стек протоколів мереж NetWare використовує найбільшу кількість різних типів широкомовного трафіка:

  • SAP (Service Advertising Protocol). Включає два типи повідомлень - повідомлення серверів про надані ними сервіси і запити клієнтських станцій про пошук відповідних сервісів в мережі. Повідомлення серверів включає інформацію про ім’я серверу, тип сервісу (наприклад, файл-сервіс чи принт-сервіс), а також про повну мережну адресу сервісу, що включає номер мережі, номер вузла і номер сокета. Повідомлення серверу поширюються раз на 60 секунд.
  • RIP IPX (Routing Information Protocol). Поширює по інтермережі інформацію про складові мереж IPX, які відомі даному маршрутизатору, а також про відстані згаданого вище маршрутизатора до кожної мережі. Інформація поширюється кожні 60 секунд. Оскільки кожен сервер NetWare завжди є і маршрутизатором, то рівень трафіка RIPIPX прямо пропорційний кількості серверів NetWare в інтермережі, до якого слід додати також кількість встановлених апаратних маршрутизаторів, які працюють за протоколом RIP.
  • NLSP (NetWare Link State Protocol). Новий протокол обміну маршрутною інформацією, яку сервери NetWare і IPX-маршрутизатори незалежних виробників можуть використовувати замість протоколу RIP. Протокол NLSP створює менший рівень широкомовного трафіка, оскільки основну частину його широкомовних повідомлень являють повідомлення зміну стану зв'язків в мережі і стану самих маршрутизаторів. Очевидно, в надійній мережі такі повідомлення генеруються нечасто. Протокол NLSP створює також і періодично генерований трафік, але він використовується тільки для тестування зв'язків між сусідніми маршрутизаторами і породжує пакети дуже невеликої довжини.
  • NDS (NetWare Directory Services). Служба NDS мереж NetWare представляє собою централізовану довідкову службу, яка зберігає інформацію про всіх користувачів і ресурсах мережі. За наявності в мережі серверу, який виконує функції NDS, відпадає необхідність постійної генерації трафіка протоколу SAP іншими серверами мережі. Проте сам сервер служби NDS користується протоколом SAP для того, щоб клієнти мережі NetWare автоматично змогли дізнатися про його існування і адресу. Тому служба NDS створює в мережі власний широкомовний трафік натомість трафіка, створюваного окремими серверами. У мережі може існувати кілька серверів NDS, які реалізують розподілену і резервовану структуру довідкової служби, тому рівень широкомовного трафіка NDS може бути значним.
  • Пакети Keepalive протоколу NCP (інша назва - watchdog). З допомогою пакетів цього типу сервер і клієнт повідомляють одне одному про те, що вони працюють і мають намір підтримувати логічне з'єднання. Пакети keepalive використовуються тому разі, коли між сервером і клієнтом тривалий час (понад 5 хвилин) немає обміну іншими даними, що буває в тому випадку, коли користувач на тривалий час відлучається від свого комп'ютера, залишаючи його включеним.

Широкомовний трафік мереж TCP/IP

Як уже зазначалося, в мережах TCP/IP широкомовний трафік використовується набагато рідше, ніж у мережах NetWare. Широкомовний трафік в мережах TCP/IP створюють протоколи дозволу IP-адрес ARP і RARP, а також протоколи обміну маршрутною інформацією RIPIP і OSPF. Протоколи ARP і RARP використовуються лише в локальних мережах, де широкомовність підтримується на канальному рівні. Протокол RIPIP принципово нічим не відрізняється від протоколу RIPIPX, а протокол OSPF є протоколом типу "стану зв'язків" як і протокол NLSP, тому він створює широкомовний трафік набагато меншої інтенсивності, ніж RIP.

Широкомовний трафік мереж NetBIOS

Протокол NetBIOS широко використовується в невеликих мережах, не розділених маршрутизаторами на частини. Цей протокол підтримується в операційних системах WindowsforWorkgroups і WindowsNT компанії Microsoft, в операційній системі OS/2 Warp компанії IBM, а також у деяких версіях Unix. NetBIOS використовується не тільки як комунікаційний протокол, а й як інтерфейс до протоколів, що виконує транспортні функції в мережі, наприклад, до протоколів TCP, UDP чи IPX. Остання роль NetBIOS пов'язана з тим, що в ОС, які традиційно використовували NetBIOS як комунікаційний протокол, багато додатків і протоколів прикладного рівня були написані з розрахунком на AПІ, який наданий протоколом NetBIOS. При заміні протоколу NetBIOS на інші транспортні протоколи розробники додатків і ОС захотіли залишити свої програмні продукти в незмінному вигляді, тому з'явилися реалізації інтерфейсу NetBIOS, відірвані від його функцій як комунікаційного протоколу, і які виконують роль деякої верстви, що транслює запити одного API в інший.

Основним джерелом широкомовного трафіку у мережах, які використовують NetBIOS у якості інтерфейсу, або у якості протоколу, є службовий протокол дозволу імен, який ставить у відповідність символьному імені комп'ютера його МАС-адресу. Усі комп'ютери, які підтримують NetBIOS, періодично розсилають по мережі запити і відповіді NameQuery і NameRequest, за допомогою яких ця відповідність підтримується. При великій кількості комп'ютерів рівень широкомовного трафіка може бути дуже високим.

Маршрутизатори зазвичай не пропускають широкомовний трафік NetBIOS між мережами.

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

Широкомовний трафік мостів і комутаторів, що підтримують алгоритм SpanningTree

Мости й комутатори використовують алгоритм покриває дерева SpanningTree для підтримки в мережі резервних надлишкових зв'язків та переходу на них у разі відмови однієї з основних зв'язків. Алгоритм роботи мостів і комутаторів не дозволяє використовувати надлишкові зв'язку в основному режимі роботи (при такій топології зв'язків кадри можуть зациклюватися або дублюватися), тому основним завданням алгоритму SpanningTree є знаходження топології дерева, що покриває вихідну топологію мережі.

Для створення деревоподібної конфігурації мости й комутатори, що підтримують алгоритм SpanningTree постійно обмінюються спеціальними службовими кадрами, які вкладаються в кадри MAC-рівня. Ці кадри розсилаються по всіх портах моста / комутатора, за винятком того, на який вони прийшли, точно так само, як і пакети протоколів RIP або OSPF маршрутизаторами. На підставі цієї службової інформації деякі порти мостів переводяться в резервне стан, і тим самим створюється топологія покриває дерева.

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

Рівень широкомовного трафіку протоколу SpanningTree прямо пропорційний кількості мостів і комутаторів, встановлених в мережі.

Маршрутизатори трафік алгоритму SpanningTree не передають, обмежуючи топологію покриває дерева однією мережею.

Обмеження рівня широкомовного трафіку в складових мережах за допомогою техніки спуфінга

Якщо рівень широкомовного трафіку занадто високий, то зменшити його можна двома спсособамі. Перший полягає в застосуванні інших протоколів, рідше користуються широкомовні, наприклад, протоколів стека TCP / IP. Однак, це не завжди можливо, так як додатки або операційні системи можуть вміти працювати тільки з певними протоколами. У цьому випадку можна скористатися іншим способом - техніка спуфінга.

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

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

Наприклад, пакети SAP і RIP можуть передаватися по низкоскоростному каналу тільки один раз - при встановленні зв'язку між центральним офісом і філією. Надалі ці пакети генеруються маршрутизатором локальної мережі філії, імітуючи повідомлення, які повинні були б у вихідному варіанті виходити від реальних пристроїв центрального офісу. При змінах в мережевій структурі в мережу передається оновлений пакет SAP / RIP, який знову починає генеруватися маршрутизатором з тим періодом, який прийнятий в даному протоколі, наприклад, 60 секунд.

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

Спуфінг можна застосовувати і в локальній складовою мережі для зменшення рівня широкомовного трафіку.

Техніка спуфінга може приводити не тільки до підвищення, але і до зниження продуктивності мережі. Це може відбутися в тому випадку, коли пара взаємодіючих в режимі спуфінга маршрутизаторів або мостів мають різні параметри настройки цього алгоритму. Так, якщо один маршрутизатор настрій на передачу кожного 10-го пакета SAP, а другий маршрутизатор чекає приходу нового пакета SAP через кожні 5 періодів його нормальної передачі, то другий маршрутизатор буде періодично вважати зв'язок з серверами першої мережі загубленою й оголошувати про це в другій мережі , що призведе до розриву логічних з'єднань між клієнтами і серверами, що знаходяться в різних мережах, а, значить, і до втрати продуктивності. До такого ж результату приведе ситуація, коли один маршрутизатор підтримує режим спуфінга, а другий - ні.




Перейти до Засоби аналізу та оптимізації мереж