Більшість людей вважають, що мережевий комутатор – це просто чорна скринька з миготливими лампочками, коли дані переміщаються. Це негаразд. Спосіб, яким комутатор фактично обробляє ці дані, залежить від його внутрішньої апаратної конструкції. Ви не побачите цієї різниці ззовні. Вона має значення лише тоді, коли ваша мережа має переміщати величезні обсяги трафіку без втрати пакетів.
Існує три основні способи побудови цих пристроїв. Кожен із них по-своєму обробляє трафік, що надходить на порти і що виходить із них. Розуміння цих принципів допомагає розібратися, чому один комутатор працює швидко, а інший задихається під навантаженням.
Комутація з пам’яттю, що розділяється
Це найпростіша для розуміння архітектура. Уявіть поштове відділення з однією зоною сортування.
У комутаторі з пам’яттю кожен пакет, що надходить на будь-який порт, негайно копіюється в загальний буфер пам’яті. Усі порти поділяють цей єдиний пул сховища. Комутатор зчитує адресу призначення в пакеті, а потім маршрутизує його до правильного вихідного порту цього загального пулу.
Це ефективно, оскільки пам’ять використовується спільно. Якщо один порт зайнятий, а інший вільний, пам’ять може бути використана. Але є нюанс. Якщо вхідний трафік перевищує ємність пам’яті, виникає навантаження. Кожен порт бореться за той самий простір. Ця архітектура поширена в невеликих або середніх комутаторах, де вартість важливіша, ніж екстремальна пропускна спроможність.
Ключовий висновок: пам’ять, що розділяється, використовує один буфер для всіх портів. Це економічно, але може стати вузьким місцем, якщо надто багато портів надсилають дані одночасно.
Матрична комутація
Матричні комутатори працюють по-іншому. Замість загального пулу вони використовують внутрішню сітку.
Уявіть собі перехрестя. Вхідні порти йдуть вертикально. Вихідні порти йдуть горизонтально. У місцях їхнього перетину знаходяться точки з’єднання. Коли пакет надходить, комутатор перевіряє MAC-адресу за таблицею пошуку. Він знаходить правильний вихідний порт, а потім замикає конкретний ланцюг у сітці там, де перетинаються лінії входу та виходу.
Це створює виділений шлях цього конкретного потоку даних. Це схоже на наявність приватного тунелю для цього пакета. Декілька передач можуть відбуватися одночасно, якщо вони не стикаються у сітці. Ця архітектура підтримує вищі швидкості та меншу затримку, оскільки з’єднання пряме.
Однак створення матриці швидко стає дорогим. У міру додавання портів кількість точок перетину зростає експонентно. Фізичне обладнання, необхідне управління всіма цими сполуками, стає складним і дорогим. Ви здебільшого зустрінете це у висококласному корпоративному устаткуванні, де продуктивність є непорушною вимогою.
Комутатори з шиною
Архітектура з шиною – це виняток. Вона не використовує сітку або пул пам’яті в традиційному сенсі.
Тут усі порти ділять загальний внутрішній шлях передачі, відомий як шина. Доступ до цієї шини контролюється з використанням множинного доступу з розподілом часу (TDMA). Уявіть собі односмугове шосе зі строгими світлофорами. На дорозі може бути лише одна машина за раз.
Кожен порт все ще має власний виділений буфер пам’яті. ASIC (спеціалізована інтегральна схема для програм) виконує основну роботу з контролю того, хто і коли отримує доступ до шини. Пакет знаходиться в буфері свого порту, доки ASIC не надасть доступу до загальної шини. Потрапивши на шину, він переміщається до буфера порту призначення.
Ця конструкція застаріла. Вона менш поширена у сучасних високошвидкісних мережах, тому що шина стає вузьким місцем. Тільки одна передача може відбуватися в