НОУ ІНТУІТ, Лекція, Основи комутації

Архітектура комутаторів

Одним з основних компонентів всього комутаційного обладнання є комутуюча матриця (switch fabric). Комутуюча матриця є чіпсетом, що з'єднує безліч входів з безліччю виходів на основі фундаментальних технологій і принципів комутації. Комутуюча матриця виконує три функції:

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

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

"Неблокуючою" комутуючою матрицею(non-blocking switch fabric)є така матриця , у якої продуктивність і QoS не залежать від типу трафіку, що комутується через матрицю, і продуктивність дорівнює сумі швидкостей всіх портів :

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

Наприклад, продуктивність комутатора з 24 портами 10/100 Мбіт/с та 2 портами 1 Гбіт/с обчислюється наступним чином:

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

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

Одним із ключових компонентів архітектури сучасних комутаторів є контролерASIC (Application Specific Integrated Circuit). Контролери ASIC є швидкодіючими і відносно недорогими кремнієвими кристалами, які призначені для виконання певних операцій. Використання у архітектурі комутаторів контролерів ASIC підвищує продуктивність системи, т.к. ASIC виконує операції апаратно, завдяки чому не виникають накладні витрати, пов'язані з вибіркою та інтерпретацією команд, що зберігаються. Сучасні контролери ASIC часто містять на одному кристалі 32-бітові процесори, блоки пам'яті, включаючи ROM, RAM, EEPROM, Flash, та вбудоване програмне забезпечення. Такі ASIC отримали назву System-on-a-Chip (SoC).

* Множення на 2 для дуплексного режиму роботи.

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

Архітектура з шиною, що розділяється

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

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

комутації

Архітектура з пам'яттю, що розділяється

Поліпшення архітектури з шиною, що розділяється, привели до появи високопродуктивноїархітектури з роздільною пам'яттю (Shared Memory). Архітектура з пам'яттю, що розділяється, зазвичай заснована на використанні швидкої пам'яті RAM великої ємності в якості загального буфера комутаційної системи, призначеного для зберігання вхідних пакетів перед їх передачею. Пам'ять зазвичай організується у вигляді безлічі вихідних черг, що асоціюються з одним із пристроїв введення-виведення або портом. Для забезпечення неблокуючої роботи смуга пропускання пам'яті для операції "запис" та операції "читання" повинна дорівнювати максимальній сумарній смузі пропускання всіх вхідних портів.

Типова архітектура комутаторів з пам'яттю, що розділяється, показана на рис. 1.13. Вхідні пакети перетворюються з послідовного формату на паралельний і потім записуються в двопортову пам'ять. Запис в пам'ять здійснюється за принципом мультиплексування з поділом за часом (Time Division Multiplexing, TDM), тому в кожний момент часу тільки один вхідний порт може помістити кадр в комірку пам'яті, що розділяється. Заголовки кожного кадру передаються до контролера пам'яті. На основі цієї інформації він визначає вихідний порт призначення та вихідну чергу, в яку необхідно помістити кадр. Порядок, у якому вихідні кадри зчитуються з пам'яті, визначається контролером пам'ятідопомогою механізму арбітражу. Лічені кадри відправляються на відповідні вихідні порти (вихідні кадри демультиплексуються з поділом за часом таким чином, що тільки один вихідний порт може отримати доступ до пам'яті, що розділяється), де вони знову перетворюються з паралельного формату в послідовний.

лекція

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

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