Маршрутизатори працюють на вищому «мережному» (третьому) рівні мережної моделі OSI, ніж комутатор (або мережний міст) і концентратор (хаб), які працюють відповідно на другому і першому рівнях моделі OSI.
Принцип роботи
Зазвичай маршрутизатор використовує адресу одержувача, вказану в заголовку пакета і визначає по таблиці маршрутизації шлях, яким слід передати дані. Якщо в таблиці маршрутизації адреси немає описаного маршруту, пакет відкидається.
Існують й інші способи визначення маршруту пересилання пакетів, коли, наприклад, використовується адреса відправника, використовувані протоколи верхніх рівнів та інша інформація, що міститься в заголовках пакетів мережного рівня. Нерідко маршрутизатори можуть здійснювати трансляцію адрес відправника і одержувача, фільтрацію транзитного потоку даних на основі певних правил з метою обмеження доступу, шифрування/розшифрування переданих даних і т.д.
Таблиця маршрутизації
Таблиця маршрутизації містить інформацію, на основі якої маршрутизатор приймає рішення про подальше пересилання пакетів. Таблиця складається з деяких записів — маршрутів, в кожній з яких міститься ідентифікатор мережі одержувача (що складається з адреси та маски мережі), адреса наступного вузла, якому слід передавати пакети, адміністративна відстань mdash; ступінь довіри до джерела маршруту та деяка вага запису — метрики. Метрики записів у таблиці грають роль обчисленні найкоротших маршрутів до різних одержувачам. Залежно від моделі маршрутизатора і протоколів маршрутизації, що використовуються, у таблиці може міститися деяка додаткова службова інформація. Наприклад:
Таблиця маршрутизації може складатися двома способами:
- статична маршрутизація — коли записи в таблиці вводяться та змінюються вручну. Такий спосіб вимагає втручання адміністратора щоразу, коли відбуваються зміни у топології мережі. З іншого боку, він є найбільш стабільним і вимагає мінімум апаратних ресурсів маршрутизатора для обслуговування таблиці.
- динамічна маршрутизація — коли записи в таблиці оновлюються автоматично за допомогою одного або декількох протоколів маршрутизації RIP, OSPF, IGRP, EIGRP, IS-IS, nbsp; BGP, та ін. Крім того, маршрутизатор будує таблицю оптимальних шляхів до мереж призначення на основі різних критеріїв — кількості проміжних вузлів, пропускної спроможності каналів, затримки передачі даних і т.п. Критерії обчислення оптимальних маршрутів найчастіше залежить від протоколу маршрутизації і навіть задаються конфігурацією маршрутизатора. Такий спосіб побудови таблиці дозволяє автоматично тримати таблицю маршрутизації у актуальному стані та обчислювати оптимальні маршрути на основі поточної топології мережі. Однак динамічна маршрутизація надає додаткове навантаження на пристрої, а висока нестабільність мережі може призводити до ситуацій, коли маршрутизатори не встигають синхронізувати свої таблиці, що призводить до суперечливих відомостей про топологію мережі в різних її частинах і втрату даних.
Часто для побудови таблиць маршрутизації використовують теорію графів.
Застосування маршрутизатора в локальній мережі
Маршрутизатори допомагають зменшити завантаження мережі, завдяки її поділу на домени колізій або широкомовні домени, а також завдяки фільтрації пакетів. В основному їх застосовують для об'єднання мереж різних типів, часто несумісних за архітектурою та протоколами, наприклад для об'єднання локальних мереж Ethernet і WAN-з'єднань, що використовують протоколи xDSL, PPP, ;т. д. Нерідко маршрутизатор використовується для забезпечення доступу з локальної мережі в глобальну мережу Інтернет, здійснюючи функції трансляції адрес і між мережного екрану.
В якості маршрутизатора може виступати як спеціалізований (апаратний) пристрій, так і звичайний комп'ютер, що виконує функції маршрутизатора. Існує кілька пакетів програмного забезпечення (на основі ядра Linux, на основі операційних систем BSD) за допомогою якого можна перетворити ПК на високопродуктивний і багатофункціональний маршрутизатор, наприклад, Quagga, IPFW або простий у застосуванні PF.