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

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

Маршрутизатори працюють на мережевому рівні моделі OSI: можуть пересилати пакети з однієї мережі до іншої. Для того, щоб надіслати пакети в потрібному напрямку, маршрутизатор використовує таблицю маршрутизації, яка зберігається у його пам'яті. Таблиця маршрутизації може складатися засобами статичної або динамічної маршрутизації.

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

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

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

Принцип роботи

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

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

Таблиця маршрутизації Таблиця маршрутизації містить інформацію, на основі якої маршрутизатор приймає рішення про подальшу пересилку пакетів. Таблиця складається з деякого числа записів — маршрутів, в кожному з яких міститься адреса мережі одержувача, адреса наступного вузла, якому слід передавати пакети і певна вага запису, — метрика. Метрики записів в таблиці грають роль в обчисленні найкоротших маршрутів до різних одержувачів. Залежно від моделі маршрутизатора і використовуваних протоколів маршрутизації, в таблиці може міститися деяка додаткова службова інформація. Наприклад: 192.168.64.0/16 [110/49] via 192.168.1.2, 00:34:34, FastEthernet0/0.1

де 192.168.64.0/16 — мережа призначення 110/- адміністративна відстань /49 — метрика маршруту 192.168.1.2 — адреса наступного маршрутизатора, якому слід передавати пакети для мережі 192.168.64.0/16 00:34:34 — час, протягом якого був відомий цей маршрут FastEthernet0/0.1 — інтерфейс маршрутизатора, через який можна досягти «сусіда» 192.168.1.2.

Таблиця маршрутизації може складатися двома способами: статична маршрутизація — коли записи в таблиці вводяться і змінюються вручну. Такий спосіб вимагає втручання адміністратора щоразу, коли відбуваються зміни в топології мережі. З іншого боку, він є найстабільнішим і таким, що вимагає мінімуму апаратних ресурсів маршрутизатора для обслуговування таблиці. динамічна маршрутизація — коли записи в таблиці оновлюються автоматично за допомогою одного або кількох протоколів маршрутизації — RIP, OSPF, EIGRP, IS-IS, BGP, і ін. Крім того, маршрутизатор будує таблицю оптимальних шляхів до мереж призначення на основі різних критеріїв — кількості проміжних вузлів, пропускної спроможності каналів, затримки передачі даних тощо. Критерії обчислення оптимальних маршрутів найчастіше залежать від протоколу маршрутизації, а також задаються конфігурацією маршрутизатора. Такий спосіб побудови таблиці дозволяє автоматично тримати таблицю маршрутизації в актуальному стані і обчислювати оптимальні маршрути на основі поточної топології мережі. Проте динамічна маршрутизація надає додаткове навантаження на пристрої, а висока нестабільність мережі може приводити до ситуацій, коли маршрутизатори не встигають синхронізувати свої таблиці, що приводить до суперечливих відомостей про топологію мережі в різних її частинах і втраті передаваних даних.

Часто для побудови таблиць маршрутизації використовують теорію графів.

Застосування Маршрутизатори допомагають зменшити завантаження мережі, завдяки її розділенню на домени колізій і широкомовні домени, а також завдяки фільтрації пакетів. Здебільшого їх застосовують для об'єднання мереж різних типів, часто несумісних за архітектурою і протоколами, наприклад для об'єднання локальних мереж Ethernet і WAN-з'єднань, що використовують протоколи xDSL, PPP, ATM, Frame relay тощо. Нерідко маршрутизатор використовується для забезпечення доступу з локальної мережі в глобальну мережу Інтернет, здійснюючи функції трансляції адрес і міжмережевого екрану.

Маршрутизатором може слугувати як спеціалізований апаратний пристрій (характерний представник — продукція Cisco), так і звичайний комп'ютер, що виконує функції маршрутизатора. Існує кілька пакетів програмного забезпечення (переважно на основі ядра Linux) за допомогою якого можна перетворити ПК на високопродуктивний і багатофункціональний маршрутизатор, наприклад GNU Zebra.

Перенаправлення портів і віртуальні сервери Перенаправлення портів і віртуальні сервери (, Virtual Server) Функція дозволяє перенаправляти звернення до вказаних портів зовнішнього інтерфейсу маршрутизатора на пристрої, під'єднані до внутрішнього інтерфейсу. Необхідність перенаправлення може виникнути, наприклад, при розміщенні всередині мережі різних серверів (Web, FTP). При використанні перенаправлення слід звернути увагу на брандмауер: деякі пристрої автоматично створюють відповідні перенаправленню портів правила брандмауера, проте в більшості випадків вирішувати проходження трафіку доведеться самостійно. Відзначимо також, що існує декілька способів перенаправлення портів: Статичне перенаправлення окремих портів (Static) — простий випадок, при якому задаються відповідності між протоколом (TCP/UDP) і портами зовнішнього інтерфейсу і протоколом і портами внутрішнього, а також адресами пристроїв внутрішньої мережі. Робота такого перенаправлення дозволить зробити сервер, розташований у внутрішній мережі доступним із зовнішньої мережі. Статичне перенаправлення груп портів. Відрізняється від статичного перенаправлення окремих портів лише тим, що для перенаправлення можна вказувати не окремі порти, а їхні групи (список окремих портів або діапазон). Вся група перенаправляється на одну адресу. Таке перенаправлення дозволяє забезпечити роботу таких застосунків, як ігри і аудіо/відеоконференції. Динамічне перенаправлення портів (Dynamic, Triggered Mapping, Special Application). Основна відмінність від статичного перенаправлення портів полягає в тому, що один номер порту можна перенаправити на декілька внутрішніх IP-адрес (але не одночасно). Використання динамічного перенаправлення актуальне для застосунків, що використовують короткочасні передачі даних, які не займають порт надовго. Слід зазначити, що подія, що ініціює динамічне перенаправлення, повинна відбуватися у внутрішньому сегменті мережі, що накладає істотні обмеження на використання цього типу перенаправлення при хостингу служб.

Безпека

Блокування запитів ping Блокування запитів ping зовні, режим невидимості (Discard WAN ping, Stealth mode). Оскільки для визначення доступності того або іншого вузла в Інтернеті часто використовують запити ping, то не відповівши на такий запит, комп'ютер приховує свою присутність в мережі. Багато маршрутизаторів дозволяють блокувати запити ping, точніше, блокувати відповіді на ці запити, приховуючи свою присутність в мережі.

Фільтрація змісту Функція фільтрації змісту () призначена для обмеження доступу користувачів локальної мережі до ресурсів інтернету з сумнівним змістом. Залежно від версії, дозволяє створити чорний або білий список URL або IP-адрес або використовувати списки фільтрації сторонніх організацій. Слід зазначити, що фільтрація змісту може застосовуватися для всіх комп'ютерів локальної мережі або тільки для деяких, крім того, часто можна задати розклад роботи цих списків.

Контроль доступу Контроль доступу (Access Control), фільтрація портів (Port filtering). У багатьох невеликих організаціях доступ до сервісів інтернету обмежений. Одним з варіантів такого обмеження може бути використання маршрутизатора. Так, деяким користувачам можна забезпечити доступ тільки до електронної пошти, тоді як іншим — додати доступ до вебсторінок і ICQ, а третім дозволити користуватися всіма сервісами без обмежень. Для зручності налаштувань, маршрутизатори дозволяють створювати групи локальних користувачів, для яких можна вирішувати або забороняти доступ. Крім того, більшість маршрутизаторів дозволяють активувати обмеження за розкладом.

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

Віртуальні приватні мережі

Віртуальні приватні мережі (, VPN) — досить популярна тема, що стосується безпеки комп'ютерних мереж. Завдяки технологіям VPN, стало можливим використовувати загальнодоступні небезпечні мережі, такі як інтернет, для захищеної передачі даних, використовуючи для цього можливості шифрування і електронно-цифрового підпису. При такому під'єднанні користувач може працювати з ресурсами віддаленої мережі точно так, як і з ресурсами локальної мережі. Багато виробників маршрутизаторів стали випускати моделі з підтримкою VPN, починаючи від простого пропускання тунелів VPN, до повноцінних вбудованих серверів PPTP або IPSec. Для створення VPN використовуються такі протоколи: IPSec (), PPTP (), L2TP (), SSL.

Пропускання тунелів () дозволяє тунелям VPN проходити через маршрутизатор; наявність цієї функції стала стандартом де-факто, хоча раніше не через всі пристрої можна було встановити VPN-з'єднання.

VPN-клієнт дозволяє ініціювати з'єднання з VPN-сервером. Представляє інтерес для абонентів провайдерів, що надають доступ в мережу через VPN (часто використовується протокол PPTP), а також для філіалів підприємств, яким необхідне безпечне підключення до центрального офісу.

VPN-сервер дозволяє приймати під'єднання, ініційовані клієнтами. Часто використовується в центральних офісах підприємств для під'єднання філіалів і співробітників.

Підтримка VPN-тунелів (VPN Endpoint). Створення віртуального тунелю між маршрутизаторами мереж найчастіше припускає використання протоколів IPSec, які дозволяють шифрувати і розшифровувати передавані дані, а також перевіряти їхню незмінність і обмінюватися ключами. Саме такий сценарій сьогодні найактивніше використовується для об'єднання кількох віддалених одна від одної мереж.

Додаткові можливості

Сервер DHCP

Практично всі моделі маршрутизаторів мають вбудований сервер DHCP, який дозволяє автоматично надавати клієнтам локальної мережі налаштування TCP/IP, необхідні для отримання доступу до мережі. Сервер DHCP має низку налаштувань: діапазон видаваних адрес (Address Range), резервування IP-адрес (, адреси, які будуть виключені із списку розподілюваних сервером), ім'я домену (Domain Name), адреси серверів DNS.

Демілітаризована зона, зовнішній сервер