В чем разница между шлюзом и маршрутизатором?

Здесь мы можем увидеть маршрутизатор 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

7 ответов

Шлюз и маршрутизатор по сути одинаковы. Термин " шлюз по умолчанию" используется для обозначения маршрутизатора в вашей локальной сети, который отвечает за то, чтобы быть первой точкой контакта для трафика на компьютеры за пределами локальной сети.

Если в вашей локальной сети есть несколько маршрутизаторов, маршрутизатор, назначенный шлюзом по умолчанию, может уведомить ваш компьютер, используя перенаправление 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 или при прослушивании широковещательных / многоадресных передач протокола маршрутизации.

Термин "шлюз" имеет другие значения, которые не имеют отношения к файлу и команде в вашем вопросе.

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

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

Тогда по определению шлюз должен быть устройством, которое выполняет маршрутизацию, это может быть выделенное устройство, в частности, маршрутизатор или хост, который был настроен для маршрутизации, но он выполняет ту же работу. Таким образом, шлюз может быть маршрутизатором, а маршрутизатор может быть известен как шлюз.

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

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

В ответ на ваш вопрос о том, чтобы выйти куда-то, что не находится в локальной подсети, @RedGrittyBrick снова правильно говорит о перенаправлениях ICMP, кроме того, процесс, который проходит хост при отправке пакета, таков:

1 - Используйте свой IP-адрес и маску, чтобы проверить, находится ли IP-адрес целевого пакета в локальной подсети.

2 - Если пункт назначения находится в локальной подсети, отправьте запрос ARP для MAC-адреса этого локального устройства, а затем отправьте кадр на хост.

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

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

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

Какой у тебя IP?

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

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

Обычно "шлюз" - это машина, которая делает NAT "маскирующимся", и это означает, что шлюз отправляет запрос данных в виде частных IP-адресов, для которых соответствующая машина является шлюзом, и когда данные возвращаются, передают данные на эти частные IP-адреса. Если хотите, можно сказать, что шлюз "олицетворяет" частные IP-машины в отношении Интернета.

OTOH маршрутизатора просто рутирует пакеты от одного интерфейса к другому. Имея набор правил (статическую настройку или динамическую настройку (протоколы маршрутизации)), маршрутизатор знает, что нужно отправлять пакеты по определенному интерфейсу, чтобы эти пакеты достигли нужной сети.

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

и конкретно ответить на ваш вопрос: "как мой компьютер узнает IP-адрес маршрутизатора, если настроен только адрес шлюза": каждый подключенный компьютер будет знать адрес своего ip "следующего перехода" (шлюза). следующий переход шлюза - это IP-адрес подключенного интерфейса маршрутизатора, который знает, как направлять ваши пакеты на надлежащие пути для достижения сети назначения.

также: ВАШ следующий переход - 67.23.27.1.
67.23.27.187 - это следующий переход для 67.23.27.1 или следующий ip для пути к google.com.

Шлюз управляет доступом компьютеров в сети к другим компьютерам.

Маршрутизатор - это особая форма шлюза: он может пересылать IP-пакеты между различными сетями.

В вашем случае шлюз знает маршрутизатор и перенаправляет все запросы, относящиеся к не внутренним адресам, к маршрутизатору.

Хорошо , когда передача происходит в пределах одной локальной области или локальной сети, маршрутизатор в этом случае называется шлюзом для примеров. Предположим, у вас есть 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, а затем к другим маршрутизаторам. Надеюсь, вы его получите.

Другие вопросы по тегам