Яка різниця між шлюзом і маршрутизатором?


13

Тут ми можемо побачити, що маршрутизатор є 67.23.27.187(перший скачок), але шлюз є 67.23.27.1. Яка різниця між шлюзом і маршрутизатором? Як мій комп'ютер знає IP маршрутизатора, коли налаштована лише адреса шлюзу?

[root@jiaoyou ~]# tracepath google.com
 1:  67-23-27-187.static.slicehost.net (67.23.27.187)       0.000ms pmtu 1500
 1:  67-23-24-2.static.slicehost.net (67.23.24.2)           0.000ms 
 1:  67-23-24-2.static.slicehost.net (67.23.24.2)           4.000ms 
 2:  core7-aggr511a-1.dfw1.rackspace.net (98.129.84.148)  128.008ms 
 3:  bbr1-core7-vlan2007.dfw1.rackspace.net (174.143.123.117)   4.000ms 
 4:  no reply
 5:  no reply

[root@jiaoyou ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=jiaoyou
GATEWAY=67.23.27.1

1
Ви можете показати результат netstat -rn?
gelraen

Відповіді:


19

Шлюз і маршрутизатор - це по суті те саме. Термін " шлюз за замовчуванням " використовується для позначення маршрутизатора у вашій локальній мережі, який несе відповідальність за те, що він є першою контактною точкою для трафіку на комп'ютери за межами локальної мережі.

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

Наприклад

                   (Інтернет) --- [Google]
                       | 64.20.60.99
                      [R2]
67.23.27 / 255 | 187
| ------ + -------- + ------ + ----- |
       | 9 | 1
     [ПК] [R1]
                | 67.23.28 / 255
           | ---- + ------ + ---------- |
                       | 9
                    [Сервер]

Якщо маршрутизатор R1 є шлюзом за замовчуванням для ПК, коли ПК вперше намагається зв’язатися з Google, ПК надсилатиме дані до R1 (оскільки ПК знає, що IP-адреса Google відсутня в підмережі ПК), проте R1 скаже ПК, що більш відповідний шлях до 64.20 .60.99 - через маршрутизатор R2. ПК додасть це до таблиці маршрутизації, отже, R1 не відображатиметься в наступній послідовності.

Команда netstat -nrна вашому ПК розкриє як статичні маршрути, які він дізнався з файлів конфігурації, так і динамічні маршрути, які він дізнався перенаправленнями ICMP або прослуховуванням трансляції / трансляції протоколів маршрутизації .

Термін "шлюз" має інші конотації, які не стосуються файлу та команди у вашому запитанні.


@Eugene: Стиль діаграми заснований на класичному стилі діаграми Ethernet 10-Base-2. Розглядайте це як символічне. Усі пристрої, приєднані до горизонтальної лінії, пов'язані перемикачем Ethernet (або концентратором, це не впливає на відповідь). Сервер знає, що 60.20.60.99 знаходиться в іншій підмережі (порівнюючи адреси після застосування мережевої маски), тому він шукає в таблиці маршрутизації, щоб знайти маршрут. Він, ймовірно, має лише маршрут за замовчуванням для R1, тому він збирає пакет з даними за 60.20.60.99 з MAC-адресою R1. R1 отримує пакет і консультується з власними таблицями маршрутизації та передає пакет на R2, Повторити.
RedGrittyBrick

Існує також пояснення, яке не передбачає переадресації. Просто може бути, що шлюз має декілька адрес і використовує іншу адресу в якості джерела для повідомлень про помилки ICMP, ніж та, яка використовується клієнтом у ARP-запитах.
kasperd

6

@RedGrittyBrick абсолютно правильний зі своєю відповіддю ("маршрутизатор і шлюз по суті однакові"), деякі інші відповіді плутають терміни або, якщо простіше сказати, неправильно зрозуміли питання (або wikipedia).

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

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

Немає різниці в TTL між "шлюзом за замовчуванням" і маршрутизатором, як тільки пристрій, який здійснює маршрутизацію, передає IP-пакет з однієї мережі / підмережі в іншу, він повинен декрементувати TTL, що було зрозуміло у відповідному RFC.

Шлюз не повинен робити NAT, зазвичай домашня мережа матиме шлюз за замовчуванням, який є маршрутизатором, підключеним до ADSL, такий тип пристрою буде робити NAT, тоді як шлюз за замовчуванням у вашій підмережі на роботі просто призведе до ширшої локальної мережі офісу і не зробить NAT.

Відповідаючи на ваше запитання про вихід до місця, де немає у локальній підмережі, @RedGrittyBrick знову правильно відповідає переадресаціям ICMP. Крім того, процес, через який проходить хост, надсилаючи пакет, це такий:

1 - Використовуйте власну IP-адресу та маску, щоб перевірити, чи є IP-адреса пакета призначення в локальній підмережі.

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

3 - Якщо пункт призначення не знаходиться в локальній підмережі, надішліть ARP-запит на MAC-адресу шлюзу в цю мережу, а потім надішліть кадр до шлюзу для подальшої переадресації (в цей момент може почати пункт про переадресації ICMP).

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


3

Маршрутизатор служить шлюзом, але з додатковою функціональністю. За вікіпедією: "Шлюз - важлива особливість більшості маршрутизаторів, хоча інші пристрої (наприклад, будь-який ПК або сервер) можуть функціонувати як шлюз."


1

Який ваш IP?

Пакетам, що походять від самого маршрутизатора, не буде зменшено час роботи (TTL), коли вони вийдуть з маршрутизатора.

Пакети з іншого джерела, що проходить через маршрутизатор, дозволять знизити TTL на 1 при кожному переході. Якщо пакети входять в маршрутизатор з TTL 1, а маршрутизатор - адресатом, то трафік отримає маршрутизатор. Якщо маршрутизатор не є адресою призначення, для пакетів буде знижено TTL до 0 до виходу з маршрутизатора і буде скинуто.


0

Шлюз регулює доступ комп'ютерів у мережі до інших комп'ютерів.

Маршрутизатор - це особлива форма шлюзу: він може пересилати IP-пакети між різними мережами.

У вашому випадку шлюз знає маршрутизатор і пересилає всі запити, які стосуються не внутрішніх адрес до маршрутизатора.


0

Зазвичай "шлюз" - це машина, яка робить NAT "маскуючим", і це означає, що шлюз надсилає запит на дані в ім'я приватних IP-адрес, для яких відповідна машина є шлюзом, і коли дані повертаються, передають дані до цих приватних ІС. Якщо ви хочете, можна сказати, що шлюз "видає себе за приватні IP-машини щодо Інтернету.

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

http://en.wikipedia.org/wiki/IP_masquerading
http://en.wikipedia.org/wiki/Routing

і відповісти спеціально на ваше запитання: "як мій комп'ютер знає IP маршрутизатора, коли налаштована лише адреса шлюзу": кожен підключений апарат знатиме адресу свого ip (шлюзу) "next-hop". наступний перехід шлюзу - це ip підключеного інтерфейсу маршрутизатора, який має знання направляти ваші пакети до належних шляхів для досягнення мережі призначення

також: ВАШ наступний скачок - 67.23.27.1.
67.23.27.187 - або next-hop для 67.23.27.1, або next-ip для шляху до google.com


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

1
ну, я задумав те, що сказав! це правда, що є "шлюз в крайньому випадку" (маршрут за замовчуванням) або "наступний скачок", але з того, що я зрозумів, я вважав, що питання стосується загальних термінів "шлюз" і "маршрутизатор". У головному дописі є 2 питання, і я в основному відповів на перший. en.wikipedia.org/wiki/Default_gateway en.wikipedia.org/wiki/Router
adrian_sev

-2

добре, коли передача знаходиться в межах однієї локальної області або локальної мережі, маршрутизатор у цьому випадку називається шлюзом для прикладів, припустимо, у вас є 6 будинків у вашому населеному пункті (лише приклад), тепер усі хочуть отримати доступ до Інтернету, у вас буде спільний маршрутизатор Перш за все, який буде називатися шлюзом. Тепер, якщо адреса шлюзу (ip адреса не mac) є чимось на зразок 192.128.1.1, то ваша ip-адреса буде просто розширенням до цієї адреси, як 192.128.1.101,192.128. 1.102,192.128.1.103 ... і так далі. Тепер шлюз додатково підключений до Інтернету, який має величезну величезну мережу шлюзів, але цього разу вони будуть називатися маршрутизаторами. Отже, у вашому випадку перший скачок - від вашого будинку до шлюз, який знаходиться від 67.23.27.187 до 67.23.27.1, а потім до інших маршрутизаторів. Сподіваюся, ви отримаєте його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.