Основний шлюз
Основний шлюз (англ. Default gateway), шлюз останньої надії (англ. Last hope gateway) — у маршрутизованих протоколах — шлюз, на який пакунок надсилається в тому випадку, коли маршрут до мережі призначення пакунка не відомий (не заданий явно в таблиці маршрутизації хоста)[1]. Застосовується в мережах з добре вираженими центральними маршрутизаторами, в малих мережах, у клієнтських сегментах мереж. Шлюз за замовчуванням задається записом в таблиці маршрутизації виду «мережа 0.0.0.0 з маскою мережі 0.0.0.0».
Використання
Робочі станції
Комп'ютери кінцевих користувачів, як правило, відповідають лише за передачу пакунка найближчому шлюзу, тому таблиця маршрутизації у них вкрай проста. Вона складається зі зворотної петлі, локальної мережі (або її сегмента, в якому знаходиться робоча станція), основного шлюзу, на який спрямовується весь трафік, і широкомовної адреси.
Маршрутизатори
Основний шлюз дозволяє спростити координацію трафіку, спрямовуючи його на центральні маршрутизатори. Якщо «центральних» маршрутизаторів декілька, основний шлюз може й не зазначатись.
Назва
Термін «основний шлюз» застосовується переважно в робочих станціях, де його використання є штатним режимом робочої станції. В операційних системах Windows також застосовується термін «основний шлюз». Термін «шлюз останньої надії» використовується в маршрутизаторах, для яких застосування такого шлюзу є ненормальною ситуацією (маршрутизатор повинен знати маршрути для маршрутизованих пакунків).[джерело?]
Приклади
Один маршрутизатор
Розглянемо IP-адреси, які можуть використовуватись в офісній мережі, що складається з 6 хостів і маршрутизатора. Адреси 6 хостів:
- 192.168.4.3
- 192.168.4.4
- 192.168.4.5
- 192.168.4.6
- 192.168.4.7
- 192.168.4.8
Внутрішня адреса маршрутизатора:
- 192.168.4.1
Мережа має маску підмережі:
- 255.255.255.0 (/24 в нотації CIDR)
Для хостів доступний діапазон адрес від 192.168.4.1 до 192.168.4.254. TCP/IP визначає адреси 192.168.4.0 і 192.168.4.255 для особливих функцій.
Хости офісу надсилають пакунки на адреси в межах цього діапазону безпосередньо, шляхом розв'язання IP-адреси призначення в MAC-адресу з послідовністю протоколу розв'язання адрес (ARP), а потім інкапсулючи IP-пакунок в кадр Ethernet, адресований хосту-приймачу.
Пакунок, адресований за межі цього діапазону, для цього прикладу, адресований на 192.168.12.3, не може перейти безпосередньо до пункту призначення. Замість цього його потрібно надіслати основному шлюзу для подальшої маршрутизації до кінцевого пункту призначення. В цьому прикладі основний шлюз використовує IP-адресу 192.168.4.1, яка звичайним способом розв'язується на MAC-адресу з ARP. IP-адреса призначення залишається 192.168.12.3, але MAC-адреса наступного хопа (англ. hop) - це адреса шлюзу, а не кінцевого пункту призначення.
Декілька маршрутизаторів
В цьому прикладі розглянемо мережу з трьома маршрутизаторами та трьома хостами підключену до Інтернету через маршрутизатор1. Адреси хостів:
- PC1 10.1.1.100, основний шлюз 10.1.1.1
- PC2 172.16.1.100, основний шлюз 172.16.1.1
- PC3 192.168.1.100, основний шлюз 192.168.1.96
Маршрутизатор1:
- Інтерфейс 1 5.5.5.2 (зовнішня IP-адреса)
- Інтерфейс 2 10.1.1.1
Маршрутизатор2:
- Інтерфейс 1 10.1.1.2
- Інтерфейс 2 172.16.1.1
Маршрутизатор3:
- Інтерфейс 1 10.1.1.3
- Інтерфейс 2 192.168.1.96
Маска для всіх мереж: 255.255.255.0 (/24 в нотації CIDR). Якщо маршрутизатори не використовують протокол маршрутизації, щоб визначити, до якої мережі приєднано кожен маршрутизатор, то необхідно налаштувати таблицю маршрутизації кожного маршрутизатора.
Маршрутизатор1
ID мережі | Маска мережі | Шлюз | Інтерфейс (приклади; можуть відрізнятись) | Вартість (зменшує TTL) |
---|---|---|---|---|
0.0.0.0 (основний маршрут) | 0.0.0.0 | Призначено ISP (напр., 5.5.5.1) | eth0 (1-й адаптер Ethernet) | 10 |
10.1.1.0 | 255.255.255.0 | 10.1.1.1 | eth1 (2-й адаптер Ethernet) | 10 |
172.16.1.0 | 255.255.255.0 | 10.1.1.2 | eth1 (2-й адаптер Ethernet) | 10 |
192.168.1.0 | 255.255.255.0 | 10.1.1.3 | eth1 (2-й адаптер Ethernet) | 10 |
Маршрутизатор2
ID мережі | Маска мережі | Шлюз | Інтерфейс (приклади; можуть відрізнятись) | Вартість (зменшує TTL) |
---|---|---|---|---|
0.0.0.0 (основний маршрут) | 0.0.0.0 | 10.1.1.1 | eth0 (1-й адаптер Ethernet) | 10 |
172.16.1.0 | 255.255.255.0 | 172.16.1.1 | eth1 (2-й адаптер Ethernet) | 10 |
Маршрутизатор3
ID мережі | Маска мережі | Шлюз | Інтерфейс (приклади; можуть відрізнятись) | Вартість (зменшує TTL) |
---|---|---|---|---|
0.0.0.0 (основний маршрут) | 0.0.0.0 | 10.1.1.1 | eth0 (1-й адаптер Ethernet) | 10 |
192.168.1.0 | 255.255.255.0 | 192.168.1.96 | eth1 (2-й адаптер Ethernet) | 10 |
Маршрутизатор2 керує приєднаною до нього мережею і основним шлюзом; маршрутизатор3 - так само; маршрутизатор1 керує всіма маршрутизаторами внутрішньої мережі.
Доступ до внутрішніх ресурсів
Якщо ПК2 (172.16.1.100) потребує доступу до ПК33 (192.168.1.100), оскільки ПК2 не має маршруту до 192.168.1.100, він надсилатиме пакунки для ПК3 на свій основний шлюз (маршрутизатор2). Маршрутизатор2 також не має маршруту до ПК3, тому й він надсилатиме пакунки для ПК3 на свій основний шлюз (маршрутизатор1). Маршрутизатор1 має маршрут до цієї підмережі (192.168.1.0/24), тому маршрутизатор1 надсилатиме пакунки на маршрутизатор3, який надішле пакунки до ПК3; пакунки-відповіді повернуться тим самим маршрутом до ПК2.
Доступ до зовнішніх ресурсів
Якщо будь-який комп'ютер намагатиметься отримати доступ до веб-сторінки в Інтернеті, наприклад http://en.wikipedia.org/, спочатку призначення буде розв'язано на IP-адресу, використовуючи DNS-розв'язання. IP-адреса може бути 91.198.174.2. У цьому прикладі жоден із внутрішніх маршрутизаторів не знає маршруту до цього вузла, тому вони передадуть пакунок через шлюз маршрутизатора1 або на основний маршрут. Кожен маршрутизатор на шляху пакунка до пункту призначення перевіряє, чи адреса IP-адреси призначення пакунка відповідає будь-яким відомим мережевим маршрутам. Якщо маршрутизатор знаходить збіг, він пересилає пакунок через цей маршрут; якщо ні, він надішле пакунок до свого власного основного шлюзу. Кожен маршрутизатор, що зустрічається на шляху, зберігатиме ідентифікатор пакунка та його місце, щоб він міг передати пакунок відповіді назад відправнику. Пакунок містить джерело та призначення, а не всі маршрутизатори. Нарешті, пакунок повернеться до маршрутизатора1, який перевірить відповідність ідентифікатора пакунка і маршрутизує його відповідним чином через маршрутизатор2 або маршрутизатор3 або безпосередньо до ПК1 (який був під'єднаний у тому ж мережевому сегменті, що й маршрутизатор1).
Пакунок не повертається
Якщо таблиця маршрутизації маршрутизатора1 не має маршруту до 192.168.1.0/24, а ПК3 намагається отримати доступ до ресурсу за межами своєї власної мережі, то вихідна маршрутизація буде працювати, поки відповідь не повернеться до маршрутизатора1. Оскільки маршрут невідомий для маршрутизатора1, він перейде до основного шлюзу маршрутизатора1, і ніколи не досягне маршрутизатора3. В журналах ресурсу буде простежено запит, але запитувач ніколи не отримає жодної інформації. Пакунок помре, тому що значення TTL зменшується до меншого за 1, коли він проходить через маршрутизатори, або маршрутизатор виявить, що він має приватний IP і відкине його. Це може бути виявлено за допомогою утиліти Microsoft Windows Pathping або MTR на Unix-подібних операційних системах, оскільки ping зупиниться на маршрутизаторі, який не має маршруту або неправильний маршрут (зверніть увагу, що деякі маршрутизатори не будуть відповідати на пінг).
Див. також
- Інтернет-шлюз
Примітки
- RFC1009, с. 30-31, 4. Gateway Algorithms.
Посилання
- J. Postel (1981-09). RFC792: Internet Control Message Protocol. IETF (англ.). Процитовано 29 травня 2017.
- R. Braden, J. Postel (1987-06). RFC1009: Requirements for Internet Gateways. IETF (англ.). Процитовано 29 травня 2017.
- F. Baker и др. (1995-06). RFC1812: Requirements for IP Version 4 Routers. IETF (англ.). Процитовано 29 травня 2017.
- Webopedia Definition
- The Linux Documentation Project
- List of Common Default Routers IP Addresses