З технологіями передачі даних ми визначалися в першій частині. Тепер давайте розберемося в можливостях обладнання, яке об’єднує між собою різні елементи мережі. До такого обладнання належать: концентратори, комутатори, точки доступу, маршрутизатори і різні комбіновані пристрої, типу ADSL-модем—маршрутизатор—WiFi і т.п.
Почнемо з найпростіших по функціоналу:
Концентратори. Давно вже відійшли в історію, але для розуміння що може відбуватися з даними розглянемо і їх. Принцип роботи максимально простий: прийняти сигнал, підсилити, передати на всі порти. Тобто одночасно дані передає лише один пристрій, а всі решта чекають на закінчення передачі. Якщо одночасно починають передавати два пристрої, то передачу зупиняють обидва і повторюють через випадковий проміжок часу. Напевно єдиний пристрій, який строго відповідає першому рівню моделі OSI.
Медіаконвертори. Найпростіший концентратор, який має лише два порти, але різного типу. Найпоширеніші конвертори з витої пари на оптику, але припускаю бувають і інші.
Трохи схожою на концентратор є робота безпровідної точки доступу — вона теж одночасно обмінюється даними лише з одним пристроєм, але в неї трохи інакший механізм «розрулювання» конфліктів: пристрій, який хоче передавати дані дає запит до точки доступу, а вона повинна дати у відповідь дозвіл на передавання. Дозвіл певному пристрою «чують» всі і на цей час навіть не пробують нічого передавати. По закінченню обміну даними точка знову дає сигнал «чекаю на запити» і тоді до неї звертається наступний пристрій. Якщо передавати виявили бажання відразу два пристрої, то всі замовкають на випадковий проміжок часу (як в концентратора). Оскільки в обміні інформацією задіяні фізичні адреси пристроїв, то це вже означає, що ми добралися до другого рівня моделі OSI.
Некеровані комутатори. Ці вже розумніші за рахунок того, що також використовують другий рівень — MAC-адреси учасників мережі. Знаючи їх комутатор передає пакети не на всі порти, а лише на той, на якому є потрібна адреса. Вийняток — бродкаст (пакети призначені всім учасникам мережі) та мультикаст (пакети призначені певній групі) — вони передаються відразу декільком (або взагалі всім) учасникам мережі.
Керовані комутатори. В основному функціонують так як і некеровані, але можуть модифікувати пакети даних і генерувати власні типи пакетів. Це дозволяє з їх допомогою робити наступні хороші речі:
- об’єднувати комутатори одночасно кількома з’єднаннями, які в результаті утворюють з’єднання більшої пропускної здатності (без спеціальних налаштувань присутність двох і більше з’єднань між комутаторами, в тому числі і через проміжні комутатори, приводить до виникнення «петлі» — бродкаст-пакети, які вийшли через одне з’єднання повертаються через друге і знову передаються на ВСІ порти комутатора і так до безкінечності — жоден пристрій не може передавати дані — всі приймають бродкаст). Англійською це все називається Link Aggregation, а універсальний протокол, який це забезпечує — LACP — Link Aggregation Control Protocol. Правда він досить новий, а до його появи таке об’єднання робилося «фірмовими» протоколами виробників обладнання і працювало виключно між комутаторами того ж виробника. При обриві зв’язку по одному із фізичних з’єднань різні протоколи ведуть себе по різному: одні вважають ціле з’єднання обірваним, інші (в т.ч. LACP) — з певною затримкою перебудовують конфігурацію на менше число фізичних з’єднань.
- розривати «петлі». Відповідно налаштований комутатор посилає спеціальне повідомлення і, якщо отримує його назад — обриває зв’язок по тому порту. Якщо відбуваються якісь зміни топології — процедура повторюється. Зокрема якщо є два з’єднання і по першому зв’язок обривається, то розблоковується друге і мережа продовжує працювати. Протокол, який все це забезпечує називається STP — Spanning Tree Protocol. Якщо в конфігурації комутатора одночасно задіяні і об’єднання з’єднань і STP, то STP об’єднані порти вважає одним портом і відправляє лише один пакет в цей віртуальний «широкий» порт. Перша версія протоколу перебудовувала мережу декілька секунд і цього часу було достатньо для порушення частини з’єднань вищого рівня, тому була розроблена швидша версія, яку так і назвали — Rapid Spanning Tree Protocol — він перебудовує мережу менш ніж за секунду, а це допустима затримка для більшості протоколів.
- ділити фізичну мережу на віртуальні підмережі — VLAN'и. Це робиться з допомогою дописування до пакета ідентифікатора (тега) відповідного VLAN'у. Таким чином один комутатор може ізолювати різні частини мережі, так ніби їх учасники підключені до різних комутаторів, а ввімкнувши на порту режим передавання тега можна передавати інформацію про віртуальні підмережі на інші комутатори. Це дозволяє логічно розділити різні робочі групи, але при цьому кожна група функціонуватиме незалежно до того, до якого комутатора під’єднані її учасники. Впровадження VLAN'ів вимагало зміни логіки роботи (R)STP, оскільки тепер наявність двох шляхів зв’язку між комутаторами зовсім не обов’язково означала створення «петлі», адже вони можуть бути розділені в різні VLAN'и. Тому з’явився спочатку PVSTP — Per-Vlan STP — режим, коли RSTP налаштовувався в межах VLAN'у, а потім MSTP — Multiple STP — коли задаються один або декілька варіантів налаштувань, а потім вказується: в цьому VLAN’і працює такий варіант, в цьому інший, в третьому — ще інший, а в четвертому знову один з попередніх і т.д. Таким чином можна створити конфігурацію, яка потік даних з різних VLAN'ів передає через різні з’єднання, але у випадку обриву одного з них всі потоки перемикаються на друге, тобто і пропускну здатність збільшити і відмовостійкість забезпечити.
- призначати пакетам пріоритет. Корисна річ, якщо в мережі працює, наприклад IP-телефонія, дані якої повинні передаватися швидко, щоб не виникало пауз в розмові, чи ще якась специфічна задача. Налаштувати пріоритети під конкретну хадачу не дуже складно, але слід пам’ятати одну річ: стандарт пріоритезації (802.1q) розроблявся разом зі стандартом VLAN'ів (802.1p) і для задання своїх параметрів вони обоє використовують різні частини одного і того ж додаткового поля в кадрі даних, тому, якщо ви хочете передати інформацію про пріоритети на інший комутатор, то потрібно ввімкнути на відповідному порті передавання тегів VLAN'ів. Це досить неочевидний момент і про нього часом забувають.
- визначати під’єднання закільцьованого сегменту мережі (англійською — loopback detection). Це дуже схоже на те, для чого придуманий STP, але він може працювати лише якщо «петля» є між двома його портами. Якщо ж до нього одним кабелем під’єднати комутатор на якому вже є «петля», то в загальному випадку він цього не помітить і почне передавати той бродкаст далі. Якщо ж дана настройка ввімкнена, то при виникненні петлі на окремому порті комутатор відключить його на заданий проміжок часу, після якого знов перевірить, якщо все в порядку — включить, якщо ні — знов чекатиме і т.д.
- особливо розумні комутатори ще вміють ідентифікувати користувача, фільтрувати трафік відповідно до певних правил, спеціальним чином реагувати на певні типи мультимедійного трафіку, регулювати навантаження на власний процесор і чим далі, тим цих наворотів в них з’являється більше, так що описати всі з них в цій статті ніяк не вдасться.
Маршрутизатори. Ці пристрої основну масу роботи виконують на третьому рівні і вище. Їх задача — передавати дані між мережами з різними діапазонами IP-адрес (IP-якраз третій рівень). Оскільки для цього вже потрібні суттєво складніші процесори, то щоб використати їх на повну, маршрутизатор часто оснащують додатковим функціоналом: VPN-сервера, DHCP-сервера і т.д. Що таке IP-адресація і маршрутизація ми детальніше розглянем в наступній статті. На даному ж етапі про них цікаво знати одне: вони не пропускають бродкаст і мультикаст в іншу мережу і повністю переробляють пакети даних — можуть просто змінити розмір, можуть переписати адресу або порт відправника чи отримувача, а можуть навіть навіть протокол нижчого рівня поміняти.
І на останок: керовані комутатори третього рівня. По суті це є просто дуже швидкі маршрутизатори і дозволяють виконувати ті ж задачі, що і звичайні маршрутизатори, але в них вже не «допихають» ніяких посторонніх сервісів, зате вони повністю підтримують функціонал керованих комутаторі в другого рівня, але із значно більшим набором можливостей — тут все враховує ще й присутність маршрутизації.
З залізом ніби більш-менш познайомилися. В наступній частині почнемо розбиратися з логікою.