Чи шлюз - це завжди справжній комп’ютер чи просто "логічний" об'єкт, який може знаходитися за будь-якою адресою, окрім широкомовного IP?
Чи шлюз - це завжди справжній комп’ютер чи просто "логічний" об'єкт, який може знаходитися за будь-якою адресою, окрім широкомовного IP?
Відповіді:
Маршрут за замовчуванням (він же адреса шлюзу) повинен належати тому, що здатне пересилати пакети до іншої частини Інтернету, і яка бажає цього зробити. Це не обов'язково має бути "основною" IP-адресою речі, яка їй належить (що б це не означало). Це може бути логічна адреса, яка плаває між двома або більше пристроями, а в налаштуваннях з високою доступністю - це часто.
Єдина вимога для того, щоб маршрутизація працювала, - це те, що будь-який пристрій на даний момент володіє та рекламує адресу, цей пристрій може і спрямовувати трафік.
IP-адресою шлюзу може бути будь-яка дійсна IP-адреса хоста в підмережі, тобто не сама мережева адреса, ані адреса широкомовної передачі. Ця IP-адреса не повинна належати одному комп'ютеру або маршрутизатору, це може бути "плаваюча" IP-адреса, яка використовується декількома шлюзами. Перегляньте статті Вікіпедії про HSRP , VRRP , GLBP або CARP .
Наприклад, коли підмережа становить 172.16.23.0/25, тоді:
Шлюзом повинен бути будь-який з цих дійсних адрес хосту, наприклад, 172.16.23.65. Тоді налаштування вашого комп'ютера будуть, наприклад:
Тепер додаючи в один із протоколів надмірності перших скачок, фактичні шлюзи (маршрутизатори) можуть мати IP-адреси 172.16.23.1 та 172.16.23.2, але використовувати віртуальну IP-адресу 172.16.23.65, щоб представити себе шлюзом за замовчуванням для підмережі .
"Логічна сутність" у вашому використанні - це крихітна заплутаність. Але я спробую відповісти на це найкращим чином.
З мого досвіду, шлюз в конфігурації IP, як правило, є фізичним пристроєм. Хоча це не повинно бути комп'ютером у традиційному розумінні (це може бути також мережевий прилад), це все-таки має бути пристроєм.
Як ви можете знати, метою, якою служить шлюз за замовчуванням, є функція переадресації для всіх запитів, які: a) комп’ютер ще не має своєї таблиці маршрутизації або має запис, що вказує системі пересилати запит на IP, що трапляється як шлюз та / або b.), Які знаходяться за межами домену широкомовної передачі. Шлюз за замовчуванням ніколи не використовується в ситуаціях, коли два хости знаходяться в одному домені широкомовної передачі (тобто мережева топологія, створена комутатором), оскільки система може використовувати адресу широкомовної мережі підмережі для пошуку MAC-адреси системи, що володіє певною IP-адресою.
Коротше кажучи, щоб відповісти на запитання технічно, ви можете встановити шлюз за замовчуванням як будь-яку IP-адресу в підключеній мережі. Windows або більшість інших ОС з цього питання не зупинять вас, оскільки вони часто не проводять перевірку даних TCP / IP. Якщо ви встановлюєте це, ви, швидше за все, досить технічно підковані, щоб зрозуміти відмінність. Однак якщо це IP-адреса пристрою, яка не в змозі переслати, це призведе до помилок у програмах, які залежать від маршрутизації (тобто веб-браузера), оскільки пристрій не буде підготовлений із таблицею маршрутизації або службою маршрутизації. щоб переслати запит.
Хтось набагато досвідченіший, ніж я, однак повинен вміти мене легко виправити, якщо я помиляюся.
TL; DR - фізичний пристрій, швидше за все.
Записи таблиці маршрутизації вирішують підмережу або до шлюзу, або до мережного адаптера.
Типова таблиця маршрутизації для пристрою в приватній мережі може виглядати, якщо ви не залишите зайві речі
0.0.0.0/0 via 192.168.0.1
192.168.0.0/24 dev eth0
Найбільш конкретний маршрут виграє для кожного пункту призначення, тому маршрут підмережі має перевагу над маршрутом за замовчуванням для адрес у підмережі.
Адреса шлюзу, у свою чергу, вирішується через таблицю маршрутизації, яка визначає мережевий інтерфейс, який він надається, а також адресацію на нижньому шарі.
Отже, для пакету до 1.1.1.1
, місце призначення шукається в таблиці маршрутів, повертаючи маршрут за замовчуванням, який має шлюз. Шлюз знову переглядають, повертаючи інтерфейс Ethernet.
У Ethernet є MAC-адреси, тому пошук адреси ARP робиться для адреси шлюзу, а MAC-адреса шлюзу використовується для вихідного пакету (який все ще використовує належну адресу призначення у своєму IP-заголовку).
Інші транспорти нижчого рівня працюють по-різному, наприклад, PPP-посилання мають "рівну адресу", тому їх маршрут пристрою використовує мережну маску / 32, і вони пропускають роздільну здатність ARP і просто надсилають пакети як "трансляція" по каналу PPP.
Деякі стеки IP вимагають створення вручну маршруту пристрою, що робить це трохи більш очевидним:
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route add default via 192.168.0.1