Відмінності між версіями «Вплив топології зв'язків і продуктивності комунікаційних пристроїв на пропускну здатність мережі»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Середовище передачі, що розділяється, як причина зниження продуктивності мережі)
Рядок 55: Рядок 55:
  
 
Для того, щоб з'ясувати можливість успішного вживання моста в мережі, необхідно заздалегідь заміряти за допомогою аналізатора протоколів або ж системи управління мережею матрицю трафіку між вузлами мережі. Ця інформація дозволить зрозуміти рівень міжсегментного трафіку при розділенні мережі на сегменти і порівняти її з продуктивністю моста.
 
Для того, щоб з'ясувати можливість успішного вживання моста в мережі, необхідно заздалегідь заміряти за допомогою аналізатора протоколів або ж системи управління мережею матрицю трафіку між вузлами мережі. Ця інформація дозволить зрозуміти рівень міжсегментного трафіку при розділенні мережі на сегменти і порівняти її з продуктивністю моста.
 +
 +
 +
=== Сегментація мереж за допомогою комутаторів  ===
 +
 +
Технологія комутації сегментів Ethernet була запропонована фірмою Kalpana в 1990 році у відповідь на потреби, що ростуть, в підвищенні пропускної здатності локальних мереж. Ця технологія заснована на відмові від використовування ліній зв'язку між всіма вузлами сегменту, що розділяються, і використовуванні комутаторів, що дозволяють одночасно передавати пакети між всіма його парами портів.
 +
Функціонально багатопортовий комутатор працює як багатопортовий міст, тобто працює на канальному рівні, аналізує заголовки кадрів, автоматично будує адресну таблицю і на підставі цієї таблиці перенаправляє кадр в один з своїх вихідних портів або фільтрує його, видаляючи з буфера. Новина полягала в паралельній обробці кадрів, що поступають, тоді як міст обробляє кадр за кадром. Комутатор же звичайно має декілька внутрішніх процесорів обробки кадрів, кожний з яких може виконувати алгоритм моста. Таким чином, можна вважати, що комутатор - це мультипроцесорний міст, що має за рахунок внутрішнього паралелізму високу продуктивність.
 +
Цей ефект ілюструє малюнок 2.12. На малюнку зображена ідеальна відносно підвищення продуктивності ситуація, коли два порти з 4-х, підключених до комутатора передають дані з максимальною для протоколу Ethernet швидкістю 10 Мб/с, причому вони передають ці дані на решту двох портів комутатора не конфліктуючи - у кожного вхідного порту свій вихідний порт. Якщо комутатор володіє здатністю встигати обробляти вхідний трафік навіть при максимальній інтенсивності надходження кадрів на вхідні порти, то загальна продуктивність комутатора в наведеному прикладі складе 2х10 Мб/с, а при узагальненні прикладу на N портів - (N/2 ) х10 Мб/с. Говорять, що комутатор надає кожній станції або сегменту, підключеному до його портів виділену пропускну спроможність протоколу.
 +
 +
Мал. 2.12. Підвищення продуктивності мережі за рахунок одночасної обробки декількох кадрів
 +
Перший комутатор для локальних мереж не випадково з'явився для технології Ethernet. Окрім очевидної причини, пов'язаної з найбільшою популярністю мереж Ethernet, існувала і інша, не менше важлива причина - ця технологія більше за інші страждає від підвищення часу очікування доступу до середовища при підвищенні завантаження сегменту. Тому сегменти Ethernet в крупних мережах в певую чергу потребували засобу розвантаження вузьких місць мережі, якими стали комутатори фірми Kalpana, а потім і інших компаній.
 +
Деякі компанії сталі розвивати технологію комутації і для підвищення продуктивності інших технологій локальних мереж, таких як TokenRing і FDDI. Оскільки в основі технології комутації лежить алгоритм роботи прозорого моста, то принцип комутації не залежить від методу доступу, формату пакету і інших деталей кожної технології. Комутатор вивчає на підставі проходячого через нього трафіку адреси кінцевих вузлів мережі, будує адресну таблицю мережі і потім на її підставі проводить міжкільцеві передачі в мережах TokenRing або FDDI. Принцип роботи комутатора в мережах будь-яких технологій залишався незмінним, забезпечуючи одночасне просування кадрів між парами портів комутатора.
 +
Безумовно, підвищення продуктивності мережі при установці комутатора в загальному випадку не буде таким значним, як в прикладі. На ефективність роботи комутатора впливає багато чинників, і в деяких випадках, як це буде показано нижче, комутатор може зовсім не дати ніяких переваг в порівнянні з концентратором. Прикладом такого чинника може служити незбалансованість трафіку в мережі - якщо порт 1 і порт 2 комутатори частіше за все звертаються до порту 3 комутатори, то порт 3 буде періодично зайнятий і неприступний для одного з двох цих портів і що входить в них трафік простоюватиме, чекаючи звільнення порту 3.
 +
 +
 +
=== Оцінка необхідної загальної продуктивності комутатора ===
 +
 +
В ідеальному випадку комутатор, встановлений в мережі, передає кадри між вузлами, підключеними до його портів, з тією швидкістю, з якою вузли генерують ці кадри, не вносячи додаткових затримок і не втрачаючи жодного кадру. В реальній практиці комутатор завжди вносить деякі затримки при передачі кадрів, а також може деякі кадри втрачати, тобто не доставляти їх адресатам. Через відмінності у внутрішній організації різних моделей комутаторів, важко передбачати, як той або інший комутатор передаватиме кадри якогось конкретного зразка трафіку. Кращим критерієм як і раніше залишається практика, коли комутатор ставиться в реальну мережу і измеряеются що вносяться їм затримки і кількість втрачених кадрів. Проте, існують нескладні розрахунки, які можуть дати уявлення про те, як комутатор поводитиметься в реальній ситуації.
 +
 +
Мал. 2.13. Розподіл трафіку в мережі, побудованій на комутаторі
 +
Подивимося, якомога оцінити поведінку комутатора на прикладі мережі, зображеної на малюнку 2.13.
 +
Основою для оцінки того, як справлятиметься комутатор із зв'язком вузлів або сегментів, підключених до його портів, є дані про середню інтенсивність трафіку між вузлами мережі. Для наведеного прикладу це означає, що потрібно якимсь чином оцінити, скільки в середньому кадрів в секунду вузол, поключенный до порту P1, генерує вузлам, підключеним до порту P2 (трафік P12), вузлу, підключеному до порту P3 (трафік P13), і так далі, до вузла, підключеного до порту P6. Потім цю процедуру потрібно повторити для трафіку, узалми, що генерується, підключеними до порту 2, 3, 4, 5 і 6. В загальному випадку, інтенсивність трафіку, що генерується одним вузлом іншому, не співпадає з интесивностью трафіку, що генерується у зворотному напрямі.
 +
Результатом дослідження трафіку буде побудова матриці трафіку, приведеної на малюнку 2.14. Трафік можна вимірювати як в кадрах в секунду, так і в бітах в секунду. Оскільки потім необхідні значення трафіку порівнюватимуться з показниками продуктивності комутатора, то потрібно їх мати в одних і тих же одиницях. Для визначеності вважатимемо, що в даному прикладі трафік і продуктивність комутатора вимірюються в бітах в секунду.
 +
 +
Мал. 2.14. Матриця середніх значень интенсивностей трафіку
 +
Подібну матрицю будують агенти RMONMIB (змінна TrafficMatrix), вбудовані в мережні адаптери або інше комунікаційне устаткування.
 +
Для того, щоб комутатор справився з підтримкою необхідної матриці трафіку, необхідне виконання декількох умов.
 +
1. Загальна продуктивність комутатора повинна бути більше або рівно сумарній інтенсивності передаваного трафіку:
 +
 +
де B - загальна продуктивність комутатора, Pij - середня інтенсивність трафіку від i-го порту до j-му; сума береться по всіх портах комутатора, від 1 до 6.
 +
Якщо ця нерівність не виконується, то комутатор явно не справлятиметься з потоком що поступають в нього кадрів, і вони втрачатимуться через переповнювання внутрішніх буферів. Оскільки у формулі фігурують середні значення интенсивностей трафіку, то ніякий, навіть дуже великий розмір внутрішнього буфера або буферів комутатора не зможе компенсувати дуже повільну обробку кадрів.
 +
Сумарна продуктивність комутатора забезпечується достатньо високою продуктивністю кожного його окремого елемента - процесора порту, комутаційної матриці, загальної шини, що сполучає модулі і т.п. Незалежно від внутрішньої організації комутатора і способів конвейєризації його операцій, можна визначити достатньо прості вимоги до продуктивності його елементів, які є необхідними для підтримки заданої матриці трафіку. Перерахуємо деякі з них.
 +
2. Номінальна максимальна продуктивність протоколу кожного порту комутатора повинна бути не менше за середню інтенсивність сумарного трафіку, що проходить через порт:
 +
 +
де Сk - номінальна максимальна продуктивність протоколу к-го порту (наприклад, якщо к-ый порт подддерживает Ethernet, то Сkравно 10 Мб/с), перша сума рівна інтенсивності що виходить з порту трафіку, а друга - що входить. Ця формула вважає, що порт комутатора працює в стандартному напівдуплексному режимі, для повнодуплексного режиму величину Сkнужно подвоїти.
 +
3. Продуктивність процесора кожного порту повинна бути не менше за середню інтенсивність сумарного трафіку, що проходить через порт. Умова аналогічно попередній, але замість номінальної продуктивності підтримуваного протоколу в ній повинна використовуватися продуктивність процесора порту.
 +
4. Продуктивність внутрішньої шини комутатора повинна бути не менше за середню інтенсивність сумарного трафіку, передаваного між портами, що належать різним модулям комутатора:
 +
 +
де Bbus - продуктивність загальної шини комутатора, а сума
 +
SijPij береться тільки по тих i і j, які належать різним модулям.
 +
Ця перевірка повинні виконуватися, очевидно, тільки для тих комутаторів, які мають внутрішню архітектуру модульного типу з використанням загальної шини для міжмодульного обміну. Для комутаторів з іншою внутрішньою організацією, наприклад, з пам'яттю, що розділяється, нескладно запропонувати аналогічні формули для перевірки достатньої продуктивності їх внутрішніх елементів.
 +
Приведені умови є необхідними для того, щоб комутатор в середньому справлявся з поставленою задачею і не втрачав кадрів постійно. Якщо хоча б одна з приведених умов не буде виконана, то втрати кадрів стають не епізодичним явищем при пікових значеннях трафіку, а явищем постійним, оскільки навіть середні значення трафіку перевищують можливості комутатора.
 +
Умови 1 і 2 застосовні для комутаторів з будь-якою внутрішньою організацією, а умови 3 і 4 наведені як приклад необхідності обліку продуктивності окремих.
 +
Оскільки виробники комутаторів прагнуть зробити свої пристрої якомога більш швидкодійними, то загальна внутрішня продуктивність комутатора часто з деяким запасом перевищує середню інтенсивність будь-якого варіанту трафіку, який можна направити на порти комутатора відповідно до їх протоколів. Такі комутатори називаються неблокуючими, що підкреслює той факт, що будь-який варіант трафіку передається без зниження його інтенсивності.
 +
Проте, якою б загальною продуктивністю не володів комутатор, завжди можна вказати для нього такий розподіл трафіку між портами, з яким комутатор не справиться і почне неминуче втрачати кадри. Для цього достатньо, щоб сумарний трафік, передаваний через комутатор для якого-небудь його вихідного порту, перевищив максимальну пропускну спроможність протоколу цього порту. В термінах умови 2 це означатиме, що друге складове SiPik перевищує пропускну спроможність протоколу порту Сk. Наприклад, якщо порти P4, Р5 і Р6 посилатимуть на порт Р2 кожний по 5 Мб/с, то порт Р2 не зможе передавати в мережу трафік з середньою інтенсивністю 15 Мб/с, навіть якщо процесор цього порту володіє такою продуктивністю. Буфер порту Р2 заповнюватиметься із швидкістю 15 Мб/с, а спустошуватися з швидкістю максимум 10 Мб/с, тому кількість необроблених даних ростиме із швидкістю 5 Мб/с, неминуче приводячи до переповнювання будь-якого буфера кінцевого розміру, а значить і до втрати кадрів.
 +
З наведеного прикладу видно, що комутатори можуть повністю використовувати свою високу внутрішню продуктивність тільки у разі добре збалансованого трафіку, коли вірогідність передачі кадрів від одного порту іншим приблизно рівна. При "перекосах" трафіку, коли декілька портів посилають свій трафік переважно одному порту, комутатор може не справитися з поставленою задачею навіть не через недостатню продуктивність своїх процесорів портів, а унаслідок обмежень протоколу порту.
 +
Комутатор може втрачати великий відсоток кадрів і в тих випадках, коли всі приведені умови дотримуються, оскільки вони є необхідними, але недостатніми для своєчасного просування одержуваних на приймачах портів кадрів. Ці умови недостатні тому що вони дуже спрощують процеси передачі кадрів через комутатор. Орієнтація тільки на середні значення интенсивностей потоків не враховує колізій, що виникають між передавачами порту і мережного адаптера комп'ютера, втрат на час очікування доступу до середовища і інших явищ, які обумовлені випадковими моментами генерації кадрів, випадковими розмірами кадрів і іншими випадковими чинниками, значно знижуючими реальну продуктивність комутатора. Проте, використовування приведених оцінок корисно, оскільки дозволяє виявити випадки, коли вживання конкретної моделі комутатора для конкретної мережі явно неприйнятне.
 +
Оскільки інтенсивності потоків кадрів між вузлами мережі оцінити вдається далеко не завжди, то на закінчення цього розділу приведемо співвідношення, яке дозволяє говорити про те, що комутатор володіє достатньою внутрішньою продуктивністю для підтримки потоків кадрів в тому випадку, якщо вони проходять через всі його порти з максимальною інтенсивністю. Іншими словами, отримаємо умову того, що при даному наборі портів комутатор є неблокуючим.
 +
Очевидно, що комутатор буде неблокуючим, якщо загальна внутрішня продуктивність комутатора B рівна сумі максимальних пропускних спроможностей протоколів всіх його портів Сk:
 +
 +
Тобто, якщо у комутатора є, наприклад, 12 портів Ethernet і 2 порти FastEthernet, то внутрішньої продуктивності в 320 Мб/с буде достатньо для обробки будь-якого розподілу трафіку, що потрапив в комутатор через його порти. Проте, така внутрішня продуктивність є надмірною, оскільки комутатор призначений не тільки для прийому кадрів, але і для їх передачі на порт призначення. Тому, всі порти коммутатра не можуть постійно з максимальною швидкістю тільки приймати інформацію ззовні - середня інтенсивність йде через всі порти комутатора інформації повинна бути рівний середній інтенсивності інформації, що приймається. Отже, максимальна швидкість передаваної через комутатор інформації в стабільному режимі рівна половині сумарної пропускної здатності всіх портів - кожний вхідний кадр є для якого-небудь порту вихідним кадром. Відповідно до цього твердження, для нормальної роботи комутатора достатньо, щоб його внутрішня загальна продуктивність була рівна половині суми максимальних пропускних спроможностей протоколів всіх його портів:
 +
 +
Тому, для комутатора з 12 портами Ethernet і 2 портами FastEthernet цілком досточно мати середню загальну продуктивність в 160 Мб/с, для нормальної роботи по передачі будь-яких варіантів розподілу трафіку, які можуть бути передані його портами протягом достатньо тривалого періоду часу.
 +
Ще раз потрібно підкреслити, що ця умова гарантує тільки те, що внутрішні елементи комутатора - процесори портів, міжмодульна шина, центральний процесор і т.п. - справляться з обробкою трафіку, що поступає. Несимметрія в розподілі цього трафіку по вихідних портах завжди може привести до неможливості своєчасної передачі трафіку в мережу через обмеження протоколу порту. Для запобігання втрат кадрів багато виробників комутаторів застосовують фірмові рішення, що дозволяють "пригальмовувати" передавачі вузлів, підключених до комутатора, тобто вводять елементи управління потоком не модифікуючи протоколи портів кінцевих вузлів.

Версія за 09:09, 24 листопада 2009

Можливість зміни топології зв'язків між вузлами мережі надає мережному інтегратору широкі можливості для підвищення пропускної спроможності як мережі в цілому так і її окремих ділянок. Навіть при фіксованих пропускних спроможностях каналів зв'язків наявність двох альтернативних каналів між якими-небудь вузлами зразу ж в два рази підвищує пропускну спроможність мережі при взаємодії цих вузлів.

Локальні мережі, що використовують тільки повторители/концентратори, повинні будуватися по цілком певній топології - загальної шини, кільця або зірки, яка визначається базовою мережною технологією, що використовується (Ethernet, TokenRing і т.п.). Проте при використовуванні мостів, комутаторів або маршрутизаторів з'являється можливість використовувати складніші топології, відмінні від стандартних. Вибір відповідної топології мережі може розв'язати багато проблем вузьких (відносно пропускної спроможності) місць мережі. Це пов'язано не тільки з наявністю додаткових каналів зв'язку, але і з тією обставиною, що мережа утворює у такому разі не одне загальне середовище, що розділяється між всіма вузлами мережі, а декілька таких середовищ, пропускна спроможність яких розділяється вже тільки між вузлами даного сегменту мережі.

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

Середовище передачі, що розділяється, як причина зниження продуктивності мережі

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

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

При підключенні до загального каналу мережі Ethernet кожний вузол користується його пропускною здатністю 10 Мб/с протягом тільки деякої частки загального часу роботи мережі. Відповідно, на вузол доводиться ця ж частка пропускній здатності каналу. Навіть якщо спрощений вважати, що всі вузли одержують рівні частки часу роботи каналу і непродуктивні втрати часу отстутствуют, то за наявності в мережі N вузлів на один вузол доводиться тільки 10/N Мб/с пропускній здатності. Очевидно, що при великих значеннях N пропускна спроможність, що виділяється кожному вузлу, виявляється настільки малою величиною, що нормальна робота додатків і користувачів стає неможливою - затримки доступу до мережних ресурсів перевищують тайм-аути додатків, а користувачі просто відмовляються так довго чекати відгуку мережі.

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

До недавнього часу в локальних мережах рідко використовувалися мультимедійні додатки, перекачуючі великі файли даних, нерідко що складаються з декількох десятків мегабайт. Додатки ж, що працюють з алфивитно-цифровою інформацією, не створювали значного трафіку. Тому довгий час для сегментів Ethernet було дійсним емпіричне правило - в сегменті, що розділяється, не повинно бути більше 30 вузлів. Тепер ситуація змінилася і нерідко 3-4 комп'ютери повністю завантажують сегмент Ethernet з його максимальною пропускною здатністю в 10 Мб/с або ж 14880 кадрів в секунду.

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

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

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

До переваг потрібно віднести в першу чергу:

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

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

Підвищення продуктивності шляхом сегментації мережі мостами і комутаторами

Розділення загального середовища за допомогою локальних мостів

Для подолання обмежень технологій локальних мереж вже достатньо давно почали застосовувати локальні мости, які є функціональними попередниками комутаторів. Хоча в сучасних мережах комутатори майже витіснили мости з локальних мереж, принципи роботи і міркування по їх вживанню практично співпадають. Міст - цей пристрій, який забезпечує взаємозв'язок двох (рідше декількох) локальних мереж за допомогою передачі кадрів з однієї мережі в іншу за допомогою їх проміжної буферизації. Міст, на відміну від повторителя, не прагне підтримати побітовий синхронізм в обох об'єднуваних мережах. Натомість він виступає по відношенню до кожної з мереж як кінцевий вузол. Він приймає кадр, буферизує його, аналізує адресу призначення кадру, і лише у тому випадку, коли вузол, що адресується, дійсно належить іншій мережі, він передає його туди. Для передачі кадру в іншу мережу міст повинен отримати доступ до її середовища передачі даних, що розділяється, відповідно до тих же правил, що і звичайний вузол. Таким чином, міст ізолює трафік одного сегменту від трафіку іншого сегменту, фільтруючи кадри. Оскільки в кожний з сегментів тепер прямує трафік від меншого числа вузлів, то коефіцієнт завантаження сегментів зменшується (мал. 2.11). В результаті пропускна спроможність кожного сегменту збільшується, а, значить, підвищується і сумарна пропускна спроможність мережі.

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

Вимоги до пропускної здатності моста

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

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

Для того, щоб міст підвищував, а не знижував пропускну спосбность мережі, завжди повинне виконуватися наступне правило: Швидкість виконання мостом операції передачі кадрів між будь-якими двома його портами (ця операція називається forwarding) повинна бути завжди вище, ніж середня інтенсивність трафіку, існуючого між цими портами, що сполучаються, сегментами мережі. В локальних мережах часто виявляється справедливим емпіричне правило 80/20, говоряче про те, що при правильному розбитті мережі на сегменти 80% трафіку виявляється внутрішнім трафіком сегменту, і лише 20% виходить за його межі. Якщо вважати, що це правило діє по відношенню до конкретної мережі, то міст повинен володіти продуктивністю виконання операції forwarding в 20 % від максимальної пропускної здатності сегменту Ethernet, тобто продуктивністю 0.2х14880 = 3000 кадру в секунду. Звичайно, локальні мости володіють продуктивністю від 3000 кадрів в секунду і вище. Проте, гарантій на доставку кадрів в будь-яких ситуаціях міст, на відміну від повторителя, не дає. Це його принциповий недолік, з яким доводиться миритися.

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


Сегментація мереж за допомогою комутаторів

Технологія комутації сегментів Ethernet була запропонована фірмою Kalpana в 1990 році у відповідь на потреби, що ростуть, в підвищенні пропускної здатності локальних мереж. Ця технологія заснована на відмові від використовування ліній зв'язку між всіма вузлами сегменту, що розділяються, і використовуванні комутаторів, що дозволяють одночасно передавати пакети між всіма його парами портів. Функціонально багатопортовий комутатор працює як багатопортовий міст, тобто працює на канальному рівні, аналізує заголовки кадрів, автоматично будує адресну таблицю і на підставі цієї таблиці перенаправляє кадр в один з своїх вихідних портів або фільтрує його, видаляючи з буфера. Новина полягала в паралельній обробці кадрів, що поступають, тоді як міст обробляє кадр за кадром. Комутатор же звичайно має декілька внутрішніх процесорів обробки кадрів, кожний з яких може виконувати алгоритм моста. Таким чином, можна вважати, що комутатор - це мультипроцесорний міст, що має за рахунок внутрішнього паралелізму високу продуктивність. Цей ефект ілюструє малюнок 2.12. На малюнку зображена ідеальна відносно підвищення продуктивності ситуація, коли два порти з 4-х, підключених до комутатора передають дані з максимальною для протоколу Ethernet швидкістю 10 Мб/с, причому вони передають ці дані на решту двох портів комутатора не конфліктуючи - у кожного вхідного порту свій вихідний порт. Якщо комутатор володіє здатністю встигати обробляти вхідний трафік навіть при максимальній інтенсивності надходження кадрів на вхідні порти, то загальна продуктивність комутатора в наведеному прикладі складе 2х10 Мб/с, а при узагальненні прикладу на N портів - (N/2 ) х10 Мб/с. Говорять, що комутатор надає кожній станції або сегменту, підключеному до його портів виділену пропускну спроможність протоколу.

Мал. 2.12. Підвищення продуктивності мережі за рахунок одночасної обробки декількох кадрів Перший комутатор для локальних мереж не випадково з'явився для технології Ethernet. Окрім очевидної причини, пов'язаної з найбільшою популярністю мереж Ethernet, існувала і інша, не менше важлива причина - ця технологія більше за інші страждає від підвищення часу очікування доступу до середовища при підвищенні завантаження сегменту. Тому сегменти Ethernet в крупних мережах в певую чергу потребували засобу розвантаження вузьких місць мережі, якими стали комутатори фірми Kalpana, а потім і інших компаній. Деякі компанії сталі розвивати технологію комутації і для підвищення продуктивності інших технологій локальних мереж, таких як TokenRing і FDDI. Оскільки в основі технології комутації лежить алгоритм роботи прозорого моста, то принцип комутації не залежить від методу доступу, формату пакету і інших деталей кожної технології. Комутатор вивчає на підставі проходячого через нього трафіку адреси кінцевих вузлів мережі, будує адресну таблицю мережі і потім на її підставі проводить міжкільцеві передачі в мережах TokenRing або FDDI. Принцип роботи комутатора в мережах будь-яких технологій залишався незмінним, забезпечуючи одночасне просування кадрів між парами портів комутатора. Безумовно, підвищення продуктивності мережі при установці комутатора в загальному випадку не буде таким значним, як в прикладі. На ефективність роботи комутатора впливає багато чинників, і в деяких випадках, як це буде показано нижче, комутатор може зовсім не дати ніяких переваг в порівнянні з концентратором. Прикладом такого чинника може служити незбалансованість трафіку в мережі - якщо порт 1 і порт 2 комутатори частіше за все звертаються до порту 3 комутатори, то порт 3 буде періодично зайнятий і неприступний для одного з двох цих портів і що входить в них трафік простоюватиме, чекаючи звільнення порту 3.


Оцінка необхідної загальної продуктивності комутатора

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

Мал. 2.13. Розподіл трафіку в мережі, побудованій на комутаторі Подивимося, якомога оцінити поведінку комутатора на прикладі мережі, зображеної на малюнку 2.13. Основою для оцінки того, як справлятиметься комутатор із зв'язком вузлів або сегментів, підключених до його портів, є дані про середню інтенсивність трафіку між вузлами мережі. Для наведеного прикладу це означає, що потрібно якимсь чином оцінити, скільки в середньому кадрів в секунду вузол, поключенный до порту P1, генерує вузлам, підключеним до порту P2 (трафік P12), вузлу, підключеному до порту P3 (трафік P13), і так далі, до вузла, підключеного до порту P6. Потім цю процедуру потрібно повторити для трафіку, узалми, що генерується, підключеними до порту 2, 3, 4, 5 і 6. В загальному випадку, інтенсивність трафіку, що генерується одним вузлом іншому, не співпадає з интесивностью трафіку, що генерується у зворотному напрямі. Результатом дослідження трафіку буде побудова матриці трафіку, приведеної на малюнку 2.14. Трафік можна вимірювати як в кадрах в секунду, так і в бітах в секунду. Оскільки потім необхідні значення трафіку порівнюватимуться з показниками продуктивності комутатора, то потрібно їх мати в одних і тих же одиницях. Для визначеності вважатимемо, що в даному прикладі трафік і продуктивність комутатора вимірюються в бітах в секунду.

Мал. 2.14. Матриця середніх значень интенсивностей трафіку Подібну матрицю будують агенти RMONMIB (змінна TrafficMatrix), вбудовані в мережні адаптери або інше комунікаційне устаткування. Для того, щоб комутатор справився з підтримкою необхідної матриці трафіку, необхідне виконання декількох умов. 1. Загальна продуктивність комутатора повинна бути більше або рівно сумарній інтенсивності передаваного трафіку:

де B - загальна продуктивність комутатора, Pij - середня інтенсивність трафіку від i-го порту до j-му; сума береться по всіх портах комутатора, від 1 до 6. Якщо ця нерівність не виконується, то комутатор явно не справлятиметься з потоком що поступають в нього кадрів, і вони втрачатимуться через переповнювання внутрішніх буферів. Оскільки у формулі фігурують середні значення интенсивностей трафіку, то ніякий, навіть дуже великий розмір внутрішнього буфера або буферів комутатора не зможе компенсувати дуже повільну обробку кадрів. Сумарна продуктивність комутатора забезпечується достатньо високою продуктивністю кожного його окремого елемента - процесора порту, комутаційної матриці, загальної шини, що сполучає модулі і т.п. Незалежно від внутрішньої організації комутатора і способів конвейєризації його операцій, можна визначити достатньо прості вимоги до продуктивності його елементів, які є необхідними для підтримки заданої матриці трафіку. Перерахуємо деякі з них. 2. Номінальна максимальна продуктивність протоколу кожного порту комутатора повинна бути не менше за середню інтенсивність сумарного трафіку, що проходить через порт:

де Сk - номінальна максимальна продуктивність протоколу к-го порту (наприклад, якщо к-ый порт подддерживает Ethernet, то Сkравно 10 Мб/с), перша сума рівна інтенсивності що виходить з порту трафіку, а друга - що входить. Ця формула вважає, що порт комутатора працює в стандартному напівдуплексному режимі, для повнодуплексного режиму величину Сkнужно подвоїти. 3. Продуктивність процесора кожного порту повинна бути не менше за середню інтенсивність сумарного трафіку, що проходить через порт. Умова аналогічно попередній, але замість номінальної продуктивності підтримуваного протоколу в ній повинна використовуватися продуктивність процесора порту. 4. Продуктивність внутрішньої шини комутатора повинна бути не менше за середню інтенсивність сумарного трафіку, передаваного між портами, що належать різним модулям комутатора:

де Bbus - продуктивність загальної шини комутатора, а сума SijPij береться тільки по тих i і j, які належать різним модулям. Ця перевірка повинні виконуватися, очевидно, тільки для тих комутаторів, які мають внутрішню архітектуру модульного типу з використанням загальної шини для міжмодульного обміну. Для комутаторів з іншою внутрішньою організацією, наприклад, з пам'яттю, що розділяється, нескладно запропонувати аналогічні формули для перевірки достатньої продуктивності їх внутрішніх елементів. Приведені умови є необхідними для того, щоб комутатор в середньому справлявся з поставленою задачею і не втрачав кадрів постійно. Якщо хоча б одна з приведених умов не буде виконана, то втрати кадрів стають не епізодичним явищем при пікових значеннях трафіку, а явищем постійним, оскільки навіть середні значення трафіку перевищують можливості комутатора. Умови 1 і 2 застосовні для комутаторів з будь-якою внутрішньою організацією, а умови 3 і 4 наведені як приклад необхідності обліку продуктивності окремих. Оскільки виробники комутаторів прагнуть зробити свої пристрої якомога більш швидкодійними, то загальна внутрішня продуктивність комутатора часто з деяким запасом перевищує середню інтенсивність будь-якого варіанту трафіку, який можна направити на порти комутатора відповідно до їх протоколів. Такі комутатори називаються неблокуючими, що підкреслює той факт, що будь-який варіант трафіку передається без зниження його інтенсивності. Проте, якою б загальною продуктивністю не володів комутатор, завжди можна вказати для нього такий розподіл трафіку між портами, з яким комутатор не справиться і почне неминуче втрачати кадри. Для цього достатньо, щоб сумарний трафік, передаваний через комутатор для якого-небудь його вихідного порту, перевищив максимальну пропускну спроможність протоколу цього порту. В термінах умови 2 це означатиме, що друге складове SiPik перевищує пропускну спроможність протоколу порту Сk. Наприклад, якщо порти P4, Р5 і Р6 посилатимуть на порт Р2 кожний по 5 Мб/с, то порт Р2 не зможе передавати в мережу трафік з середньою інтенсивністю 15 Мб/с, навіть якщо процесор цього порту володіє такою продуктивністю. Буфер порту Р2 заповнюватиметься із швидкістю 15 Мб/с, а спустошуватися з швидкістю максимум 10 Мб/с, тому кількість необроблених даних ростиме із швидкістю 5 Мб/с, неминуче приводячи до переповнювання будь-якого буфера кінцевого розміру, а значить і до втрати кадрів. З наведеного прикладу видно, що комутатори можуть повністю використовувати свою високу внутрішню продуктивність тільки у разі добре збалансованого трафіку, коли вірогідність передачі кадрів від одного порту іншим приблизно рівна. При "перекосах" трафіку, коли декілька портів посилають свій трафік переважно одному порту, комутатор може не справитися з поставленою задачею навіть не через недостатню продуктивність своїх процесорів портів, а унаслідок обмежень протоколу порту. Комутатор може втрачати великий відсоток кадрів і в тих випадках, коли всі приведені умови дотримуються, оскільки вони є необхідними, але недостатніми для своєчасного просування одержуваних на приймачах портів кадрів. Ці умови недостатні тому що вони дуже спрощують процеси передачі кадрів через комутатор. Орієнтація тільки на середні значення интенсивностей потоків не враховує колізій, що виникають між передавачами порту і мережного адаптера комп'ютера, втрат на час очікування доступу до середовища і інших явищ, які обумовлені випадковими моментами генерації кадрів, випадковими розмірами кадрів і іншими випадковими чинниками, значно знижуючими реальну продуктивність комутатора. Проте, використовування приведених оцінок корисно, оскільки дозволяє виявити випадки, коли вживання конкретної моделі комутатора для конкретної мережі явно неприйнятне. Оскільки інтенсивності потоків кадрів між вузлами мережі оцінити вдається далеко не завжди, то на закінчення цього розділу приведемо співвідношення, яке дозволяє говорити про те, що комутатор володіє достатньою внутрішньою продуктивністю для підтримки потоків кадрів в тому випадку, якщо вони проходять через всі його порти з максимальною інтенсивністю. Іншими словами, отримаємо умову того, що при даному наборі портів комутатор є неблокуючим. Очевидно, що комутатор буде неблокуючим, якщо загальна внутрішня продуктивність комутатора B рівна сумі максимальних пропускних спроможностей протоколів всіх його портів Сk:

Тобто, якщо у комутатора є, наприклад, 12 портів Ethernet і 2 порти FastEthernet, то внутрішньої продуктивності в 320 Мб/с буде достатньо для обробки будь-якого розподілу трафіку, що потрапив в комутатор через його порти. Проте, така внутрішня продуктивність є надмірною, оскільки комутатор призначений не тільки для прийому кадрів, але і для їх передачі на порт призначення. Тому, всі порти коммутатра не можуть постійно з максимальною швидкістю тільки приймати інформацію ззовні - середня інтенсивність йде через всі порти комутатора інформації повинна бути рівний середній інтенсивності інформації, що приймається. Отже, максимальна швидкість передаваної через комутатор інформації в стабільному режимі рівна половині сумарної пропускної здатності всіх портів - кожний вхідний кадр є для якого-небудь порту вихідним кадром. Відповідно до цього твердження, для нормальної роботи комутатора достатньо, щоб його внутрішня загальна продуктивність була рівна половині суми максимальних пропускних спроможностей протоколів всіх його портів:

Тому, для комутатора з 12 портами Ethernet і 2 портами FastEthernet цілком досточно мати середню загальну продуктивність в 160 Мб/с, для нормальної роботи по передачі будь-яких варіантів розподілу трафіку, які можуть бути передані його портами протягом достатньо тривалого періоду часу. Ще раз потрібно підкреслити, що ця умова гарантує тільки те, що внутрішні елементи комутатора - процесори портів, міжмодульна шина, центральний процесор і т.п. - справляться з обробкою трафіку, що поступає. Несимметрія в розподілі цього трафіку по вихідних портах завжди може привести до неможливості своєчасної передачі трафіку в мережу через обмеження протоколу порту. Для запобігання втрат кадрів багато виробників комутаторів застосовують фірмові рішення, що дозволяють "пригальмовувати" передавачі вузлів, підключених до комутатора, тобто вводять елементи управління потоком не модифікуючи протоколи портів кінцевих вузлів.