Тема 9

Комутація в мережах

9.1 Логічна структуризація мереж

 

Сучасні комутатори (switch) Ethernet є спадкоємцями мостів (bridge), які широко використовувалися в мережах Ethernet і Token Ring з поділюваним середовищем. Основна відмінність комутатора від моста полягає в більшій кількості портів (міст, як правило, мав два порти, що і послужило приводом для його назви міст між двома сегментами) і більш високій продуктивності.

Комутатори поряд з маршрутизаторами сьогодні є основними комунікаційними пристроями, що застосовуються для побудови телекомунікаційних мереж. Комутатори відрізняються внутрішньою архітектурою і конструктивним виконанням. Зараз комутовані локальні мережі витіснили локальні мережі на поділювальному середовищі. Їх успіх вплинув на еволюцію Ethernet – в нових швидкісних версіях Ethernet, таких як 10G і 100G Ethernet, стандарт IEEE 802.3 описує роботу вузлів тільки в комутованому середовищі.

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

У мережі Ethernet вимога використовувати єдине поділюване середовище призводить до двох обмежень:

·       загальний діаметр мережі не може бути більше 2500 м;

·       кількість вузлів не може перевищувати 1024 (для мереж Ethernet на коаксіалі це обмеження ще жорсткіше).

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

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

 

 

Рисунок 54 – Логічна структуризація мережі: а) єдине поділюване середовище; б) логічна структуризація за допомогою мостів; в) логічна структуризація за допомогою комутатора

 

Потрібно відрізняти логічну структуризацію від фізичної. Наприклад, концентратори стандарту 10Base-T дозволяють побудувати мережу, що складається з декількох сегментів кабелю на скручений парі, але це – фізична структуризація, так як логічно всі ці сегменти являють собою єдине поділюване середовище (рис. 54, в). Логічна структуризація мережі за допомогою мостів/комутаторів є першим кроком на шляху віртуалізації мережі, так як користувачам окремого логічного сегмента надається віртуальний ресурс комунікаційне середовище з певною пропускною спроможністю.

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

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

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

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

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

 

 

Рисунок 55 – Принцип роботи алгоритму прозорого моста

 

Міст з’єднує два мережевих сегмента. Сегмент 1 складають комп’ютери, під’єднанні за допомогою відрізка коаксіального кабелю до порту 1 моста, а сегмент 2 комп’ютери, під’єднанні за допомогою іншого відрізка коаксіального кабелю до порту 2 моста. У початковому стані міст не знає про те, комп’ютери з якими МАС-адресами під’єднанні до кожного з його портів. У цій ситуації міст просто передає будь-який захоплений і буферизований кадр на всі свої порти, за винятком того порту, від якого цей кадр отриманий. У прикладі на рис. 9.2 у моста тільки два порти, тому він передає кадри з порту 1 на порт 2, і навпаки. Відмінність роботи моста від повторювача полягає в тому, що перед передаванням кадру міст його попередньо буферизує, а не здійснює передавання біт за бітом, як це робить повторювач. Буферизація скасовує логіку роботи всіх сегментів як єдиного поділюваного середовища. Коли міст збирається передати кадр з сегмента в сегмент, наприклад з сегмента 1 в сегмент 2, він, як звичайний кінцевий вузол, намагається отримати доступ до середовища сегмента 2 за правилами алгоритму доступу, в даному прикладі – за правилами алгоритму CSMA/CD.

Одночасно з передачею кадру на всі порти міст вивчає адресу відправника кадру і робить запис про його приналежність до того чи іншого сегменту в своїй адресній таблиці. Цю таблицю також називають таблицею комутації, або просування. Наприклад, отримавши на порт 1 кадр від комп’ютера А, міст робить перший запис у своїй таблиці комутації: Порт моста 1 – МАС-адреса А.

Цей запис означає, що комп’ютер, який має МАС-адресу А, належить сегменту під’єднаному до порту 1 моста. Якщо всі чотири комп’ютери даної мережі проявляють активність і посилають один одному кадри, то скоро міст побудує повну таблицю комутації, що міститиме чотири записи – по одному запису на вузол (див. рис. 9.2).

При кожному надходженні кадру на порт моста він перш за все намагається знайти адресу призначення кадру в таблиці комутації. Алгоритм прозорого моста ІЕЕЕ 802.1D описує наступні дії моста (див. рис. 55):

·       При отриманні кадру, направленого від комп’ютера А до комп’ютера С, міст переглядає таблицю комутації на предмет збігу адреси в будь- якому з її записів з адресою призначення – МАС-адресою С. Запис з шуканою адресою існує в таблиці комутації.

·       Міст виконує другий етап аналізу таблиці – перевіряє, чи знаходяться комп’ютери з адресами відправника і отримувача в одному сегменті. У прикладі комп’ютер А (МАС-адреса А) і комп’ютер С (МАС-адреса С) знаходяться в різних сегментах. Отже, міст виконує операцію просування (Forwarding) кадру передає кадр в порт 2, який з’єднаний із сегментом отримувача.

·       Якби виявилося, що комп’ютери належали одному сегменту, то кадр просто був би видалений з буфера. Така операція називається фільтрацією (Filtering).

·       Якби запис про МАС-адресу С був відсутній в таблиці комутації, тобто, адреса призначення була б невідома мосту, то він передав би кадр на всі свої порти, крім порту – відправника кадру, як і на початковій стадії процесу навчання. Такий механізм називається затопленням мережі (Flooding).

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

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

Кадри з широкотрансляційними (broadcast) і груповими (multicast) МАС-адресами, як і кадри з невідомими адресами (unknown unicast) призначення, передаються мостом на всі його порти. Такий режим поширення кадрів називається затопленням мережі (Flooding). Наявність мостів в мережі не перешкоджає поширенню широкомовних і групових кадрів по всіх сегментах мережі. Однак це є перевагою лише тоді, коли таку адресу коректно вказано працюючим вузлом.

 

9.2 Комутатори

 

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

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

 

 

Рисунок 56 – Схема підключення комутатора та таблиця комутації

 

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

Кадр, що адресований лише одному абоненту (unicast), для якого у комутатора немає запису в таблиці комутації, називається кадром з невідомою адресою (unknown unicast).

Для того, щоб передавати кадри комутатор використовує ці ж самі, що і міст, три базові механізми:

– Flooding (затоплення мережі) кадр, що надійшов на один з портів передається на інші порти комутатора. Комутатор виконує цю операцію в двох випадках: при отриманні broadcast або multicast (якщо не налагоджена підтримка multicast) кадру; при отриманні unknown unicast кадру. Це дозволяє комутатору доставити кадр хосту (за умови, що хост досяжний і існує), навіть коли він не знає де знаходиться хост.

– Forwarding (просування) – передача кадру, що надійшов на один порт комутатора через інший порт відповідно до запису в таблиці комутації.

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

Приклад мережі для демонстрації використання механізмів передачі кадрів через комутатор (рис. 57).

 

               

 

Рисунок 57 – Приклад мережі для демонстрації використання механізмів передачі кадрів в комутаторі

 

Спочатку до комутатора були під’єднані три хости A, B і C. Відповідно у комутатора створилась таблиця комутації, що зображена на рис. 9.4, а.

Коли хост A відправлятиме кадр хосту B, комутатор використає механізм просування (forwarding), оскільки йому відомо знаходження обидвох хостів (згідно таблиці комутації), причому ці хости під’єднані до різних портів комутатора.

Пізніше до комутатора під’єднали хост D. Якщо хост A відправить кадр хосту D, то для комутатора це буде unknown unicast кадр, оскільки в таблиці комутації немає запису про MAC-адресу D. Відповідно до своїх правил комутатор виконає механізм flooding і направить кадр на усі порти, окрім 1 якого кадр був отриманий). Після того, як комутатор отримає кадр від хоста D, він запам’ятає його адресу і створить відповідний запис в таблиці комутації (рис. 9.4, б).

Далі до комутатора під’єднали концентратор з двома хостами, після чого комутатор вивчив їх адреси. Відповідна таблиця комутації (рис. 9.4, в).

Якщо після цього хост E передаватиме кадр хосту F, то комутатор отримає його, але не передаватиме далі. У цій ситуації комутатор використає механізм filtering, оскільки MAC-адреса одержувача надійшла з того ж порту, до якого під’єднаний відправник.

 

9.3 Комутована ієрархічна модель мережі

 

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

Типова ієрархічна модель, яка використовується при розробці мережі має три рівні ядро (core), розподільчий рівень (distribution) і рівень доступу (access). Приклад такої структури наведений на рис. 9.5.

Кожен рівень, у свою чергу, виконує своє коло завдань:

A. Рівень доступу (Access Layer) призначений для підключення безпосередньо кінцевих пристроїв мережі комп’ютерів, IP-телефонів, принтерів.

 

 

Рисунок 58 – Ієрархічна модель мережі

 

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

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

Переваги ієрархічної моделі:

1.         Масштабованість.

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

2.         Відмовостійкість.

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

3.         Продуктивність.

Використання агрегованих каналів для зв’язку між рівнями дозволяє збільшити пропускну здатність мережі в її вузьких місцях.

4.         Безпека.

Комутатори на кожному з рівнів дозволяють виконувати контроль доступу як до самої мережі (port security), так і до різних мережевих служб при допомозі політик доступу (acl).

5.         Керованість.  Комутатори на кожному рівні мають схожу функціональність і тому при впровадженні нових комутаторів досить просто копіювати конфігурацію із вже налагоджених пристроїв.

6.         Підтримка.

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

Принципи ієрархічного дизайну Діаметр мережі.

При ієрархічному проектуванні мережі, слід особливу увагу приділити

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

Агрегація каналів.

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

Надлишкові зв’язки.

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

Конвергенція.

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

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

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

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

Рисунок 59 – Приклади комутаторів Cisco для рівнів ієрархічної моделі

 

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

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