Маршрутизатор
Маршрутиза́тор, або ро́утер (англ. router) — електронний пристрій, що використовується для поєднання двох або більше мереж і керує процесом маршрутизації, тобто на підставі інформації про топологію мережі та певних правил приймає рішення про пересилання пакетів мережевого рівня (рівень 3 моделі OSI) між різними сегментами мережі.
Для звичайного користувача маршрутизатор (роутер) — це мережевий пристрій, який підключається між локальною мережею й інтернетом. Часто маршрутизатор не обмежується простим пересиланням даних між інтерфейсами, а також виконує й інші функції: захищає локальну мережу від зовнішніх загроз, обмежує доступ користувачів локальної мережі до ресурсів інтернету, роздає IP-адреси, шифрує трафік і багато іншого.
Маршрутизатори працюють на мережевому рівні моделі OSI: можуть пересилати пакети з однієї мережі до іншої. Для того, щоб надіслати пакети в потрібному напрямку, маршрутизатор використовує таблицю маршрутизації, яка зберігається у його пам'яті. Таблиця маршрутизації може складатися засобами статичної або динамічної маршрутизації.
Крім того, маршрутизатори можуть здійснювати трансляцію адреси відправника й одержувача (англ. NAT, Network Address Translation), фільтрацію транзитного потоку даних на основі певних правил з метою обмеження доступу, шифрування/дешифрування передаваних даних тощо.
Маршрутизатори не можуть здійснювати передачу широкомовних повідомлень, таких як 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.
Перенаправлення портів і віртуальні сервери (англ. Port Mapping, Port Forwarding, Virtual Server) Функція дозволяє перенаправляти звернення до вказаних портів зовнішнього інтерфейсу маршрутизатора на пристрої, під'єднані до внутрішнього інтерфейсу. Необхідність перенаправлення може виникнути, наприклад, при розміщенні всередині мережі різних серверів (Web, FTP). При використанні перенаправлення слід звернути увагу на брандмауер: деякі пристрої автоматично створюють відповідні перенаправленню портів правила брандмауера, проте в більшості випадків вирішувати проходження трафіку доведеться самостійно. Відзначимо також, що існує декілька способів перенаправлення портів:
- Статичне перенаправлення окремих портів (Static) — простий випадок, при якому задаються відповідності між протоколом (TCP/UDP) і портами зовнішнього інтерфейсу і протоколом і портами внутрішнього, а також адресами пристроїв внутрішньої мережі. Робота такого перенаправлення дозволить зробити сервер, розташований у внутрішній мережі доступним із зовнішньої мережі.
- Статичне перенаправлення груп портів. Відрізняється від статичного перенаправлення окремих портів лише тим, що для перенаправлення можна вказувати не окремі порти, а їхні групи (список окремих портів або діапазон). Вся група перенаправляється на одну адресу. Таке перенаправлення дозволяє забезпечити роботу таких застосунків, як ігри і аудіо/відеоконференції.
- Динамічне перенаправлення портів (Dynamic, Triggered Mapping, Special Application). Основна відмінність від статичного перенаправлення портів полягає в тому, що один номер порту можна перенаправити на декілька внутрішніх IP-адрес (але не одночасно). Використання динамічного перенаправлення актуальне для застосунків, що використовують короткочасні передачі даних, які не займають порт надовго. Слід зазначити, що подія, що ініціює динамічне перенаправлення, повинна відбуватися у внутрішньому сегменті мережі, що накладає істотні обмеження на використання цього типу перенаправлення при хостингу служб.
Блокування запитів ping зовні, режим невидимості (Discard WAN ping, Stealth mode). Оскільки для визначення доступності того або іншого вузла в Інтернеті часто використовують запити ping, то не відповівши на такий запит, комп'ютер приховує свою присутність в мережі. Багато маршрутизаторів дозволяють блокувати запити ping, точніше, блокувати відповіді на ці запити, приховуючи свою присутність в мережі.
Функція фільтрації змісту (англ. Content filtering) призначена для обмеження доступу користувачів локальної мережі до ресурсів інтернету з сумнівним змістом. Залежно від версії, дозволяє створити чорний або білий список URL або IP-адрес або використовувати списки фільтрації сторонніх організацій. Слід зазначити, що фільтрація змісту може застосовуватися для всіх комп'ютерів локальної мережі або тільки для деяких, крім того, часто можна задати розклад роботи цих списків.
Контроль доступу (Access Control), фільтрація портів (Port filtering). У багатьох невеликих організаціях доступ до сервісів інтернету обмежений. Одним з варіантів такого обмеження може бути використання маршрутизатора. Так, деяким користувачам можна забезпечити доступ тільки до електронної пошти, тоді як іншим — додати доступ до вебсторінок і ICQ, а третім дозволити користуватися всіма сервісами без обмежень. Для зручності налаштувань, маршрутизатори дозволяють створювати групи локальних користувачів, для яких можна вирішувати або забороняти доступ. Крім того, більшість маршрутизаторів дозволяють активувати обмеження за розкладом.
Цікаві також відмінності в діях маршрутизатора при блокуванні недозволеного трафіку. Деякі просто блокують, створюючи у користувача враження, що сервіс недоступний і ніяк не проявляючи себе, інші передають відповідне повідомлення для користувача і реєструють спроби доступу в системному журналі маршрутизатора.
Віртуальні приватні мережі (англ. Virtual Private Networking, VPN) — досить популярна тема, що стосується безпеки комп'ютерних мереж. Завдяки технологіям VPN, стало можливим використовувати загальнодоступні небезпечні мережі, такі як інтернет, для захищеної передачі даних, використовуючи для цього можливості шифрування і електронно-цифрового підпису. При такому під'єднанні користувач може працювати з ресурсами віддаленої мережі точно так, як і з ресурсами локальної мережі. Багато виробників маршрутизаторів стали випускати моделі з підтримкою VPN, починаючи від простого пропускання тунелів VPN, до повноцінних вбудованих серверів PPTP або IPSec. Для створення VPN використовуються такі протоколи: IPSec (англ. Internet Protocol Security), PPTP (англ. Point-to-Point Tunneling Protocol), L2TP (англ. Layer 2 Tunneling Protocol), SSL.
Пропускання тунелів (англ. VPN pass through) дозволяє тунелям VPN проходити через маршрутизатор; наявність цієї функції стала стандартом де-факто, хоча раніше не через всі пристрої можна було встановити VPN-з'єднання.
VPN-клієнт дозволяє ініціювати з'єднання з VPN-сервером. Представляє інтерес для абонентів провайдерів, що надають доступ в мережу через VPN (часто використовується протокол PPTP), а також для філіалів підприємств, яким необхідне безпечне підключення до центрального офісу.
VPN-сервер дозволяє приймати під'єднання, ініційовані клієнтами. Часто використовується в центральних офісах підприємств для під'єднання філіалів і співробітників.
Підтримка VPN-тунелів (VPN Endpoint). Створення віртуального тунелю між маршрутизаторами мереж найчастіше припускає використання протоколів IPSec, які дозволяють шифрувати і розшифровувати передавані дані, а також перевіряти їхню незмінність і обмінюватися ключами. Саме такий сценарій сьогодні найактивніше використовується для об'єднання кількох віддалених одна від одної мереж.
Практично всі моделі маршрутизаторів мають вбудований сервер DHCP, який дозволяє автоматично надавати клієнтам локальної мережі налаштування TCP/IP, необхідні для отримання доступу до мережі. Сервер DHCP має низку налаштувань: діапазон видаваних адрес (Address Range), резервування IP-адрес (англ. IP reservation, адреси, які будуть виключені із списку розподілюваних сервером), ім'я домену (Domain Name), адреси серверів DNS.
Демілітаризована зона, зовнішній сервер (DMZ, Exposed Server) — ця функція дозволяє «виставити» комп'ютер, що знаходиться в локальній мережі, в глобальну мережу, неначебто він був під'єднаний до неї безпосередньо. З технічної точки зору, в цьому випадку здійснюється перенаправлення всіх портів на одну внутрішню IP-адресу. Це необхідно при розміщенні серверів, що використовують безліч різних портів. Відзначимо, що для DMZ може використовуватися окремий фізичний порт на маршрутизаторі або вказуватися IP-адреса комп'ютера, під'єднаного до одного із звичайних портів.
Взагалі, DNS (Domain Name System, система доменних імен) використовується для перетворення символьних імен сайтів в статичні IP-адреси. Динамічна ж DNS дозволяє перетворювати символьні імена сайтів не тільки в статичні, але і в динамічно видавані IP-адреси. Актуальна для тих користувачів, які хочуть надати доступ до свого сервера по доменному імені, але не мають можливості отримати статичний IP. Для роботи з системою можна скористатися послугами DDNS.org, DYNDNS.org, TZO.com і інших.
Вбудовані сервери друку (Print Server) сьогодні стали вельми популярною опцією домашніх маршрутизаторів, яка дозволяє підключати принтер з портом LPT або USB до маршрутизатора, а не до комп'ютера мережі. При такому підключенні доступ до принтера буде можливий за наявності доступу до маршрутизатора і не залежатиме від якогось комп'ютера. Наявність сервера друку особливо зручно в тому випадку, якщо вдома кілька комп'ютерів, з яких часто доводиться роздруковувати документи на одному загальному принтері.
Віддалене управління (Remote Administration / Remote Management) дозволяє підключатися до інтерфейсу налаштувань маршрутизатора із зовнішнього сегменту мережі. Віддалений доступ до інтерфейсу налаштувань особливо корисний при роз'їзному характері роботи співробітника, що відповідає за роботу мережі. Проте, використовуючи цю можливість, слід особливо уважно підійти до питання безпеки такого підключення, оскільки діставши доступ до маршрутизатора, зловмисник зможе дістати доступ і до всієї мережі. Для захисту такого підключення часто застосовують обмеження входу з одного або декількох IP-адрес, використання захищеного протоколу, наприклад, HTTPS, а також зміна номера порту, що використовується для підключення.
Журналювання (Logging) — це здатність маршрутизатора вести журнал подій. Різні моделі забезпечують різну глибину журналювання: прості моделі можуть обмежитися реєстрацією адміністративних входів систему, найпрогресивніші — вести статистику по зверненнях користувачів і реєструвати всі зміни у власній конфігурації.
Підтримка Voice over IP дозволяє використовувати маршрутизатор як шлюз IP-телефонії, тобто для передачі голосу по IP-мережі. Використання IP-телефонії останнім часом стало особливе актуально, оскільки дозволяє істотно знизити витрати на міжміську і міжнародну телефонію. За наявності вбудованого адаптера, маршрутизатор має порти для підключення звичайних аналогових телефонних апаратів або Міні-АТС, для підключення телефонних апаратів використовуються порти з позначенням FXS, для підключення внутрішніх портів АТС — FXO. За наявності кількох портів, можна під'єднати декілька пристроїв, у такому разі підтримуватиметься кілька одночасних з'єднань. Для підключення до таких портів зазвичай використовується конектор RJ-11. Порт Lifeline також можна віднести до VoIP-адаптера. Використання його актуально в тому випадку, якщо VoIP-сервіс недоступний. До цього порту підключається звичайна телефонна лінія, і за відсутності доступу в VoIP дзвінки йдуть через неї.
Технологія Power over Ethernet передбачає одночасну передачу по кабелях Ethernet даних і електроживлення. Часто використовується для підключення мережевих пристроїв, що знаходяться в важкодоступних місцях, де немає можливості забезпечити стандартне живлення.
- Internet Engineering Task Force, the Routing Area
- Internet Corporation for Assigned Names and Numbers [Архівовано 28 вересня 2011 у Wayback Machine.]
- Чим відрізняються концентратори, точки доступу, комутатори та маршрутизатори? // windows.microsoft.com [Архівовано 16 травня 2010 у Wayback Machine.]
- Как работают маршрутизаторы [Архівовано 11 травня 2008 у Wayback Machine.]
- Терминологический словарь: маршрутизаторы
- Аллан Леинванд, Брюс Пински Конфигурирование маршрутизаторов Cisco [Архівовано 15 березня 2009 у Wayback Machine.] (Cisco Router Configuration.) — 2-е изд. — М.: «Вильямс», 2001. — С. 368. — ISBN 1-57870-241-0