Есть ли у шлюза Подсеть должна быть «настоящим» компьютером?

Всегда ли шлюз является настоящим компьютером или просто «логическая» сущность, которая может находиться на любом адресе, кроме широковещательного IP?

13
задан 29 January 2019 в 09:32
4 ответа

Маршрут по умолчанию (он же адрес шлюза) должен принадлежать тому, что может пересылать пакеты в остальную часть Интернета и которое желает это делать. Это не обязательно должен быть «основной» IP-адрес того, кому он принадлежит (что бы это ни значило). Это может быть логический адрес, который перемещается между двумя или более устройствами, что часто бывает в установках высокой доступности.

Единственное требование, чтобы маршрутизация работала, - это устройство, которое в настоящее время владеет и объявляет адрес, может и будет направлять трафик.

29
ответ дан 2 December 2019 в 21:14

IP-адресом шлюза может быть любой действительный IP-адрес хоста в подсети, то есть не сам сетевой адрес или широковещательный адрес. Этот IP-адрес не обязательно должен принадлежать одному компьютеру или маршрутизатору, это может быть «плавающий» IP-адрес, используемый несколькими шлюзами. Ознакомьтесь со статьями в Википедии о HSRP , VRRP , GLBP или CARP .

Например, для подсети 172,16 .23.0 / 25, тогда:

  • сетевой адрес - 172.16.23.0,
  • широковещательный адрес - 172.16.23.127, а
  • диапазон допустимых адреса хоста от 172.16.23.1 до 172.16.23.126 включительно.

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

  • IP-адрес: 172.16.23.5
  • Маска подсети: 255.255.255.128
  • Шлюз по умолчанию: 172.16.23.65

Теперь добавляем один из первых переходов протоколы избыточности, фактические шлюзы (маршрутизаторы) могут иметь IP-адреса 172.16.23.1 и 172.16.23.2, но использовать виртуальный IP-адрес 172.16.23.65, чтобы представлять себя в качестве шлюза по умолчанию для подсети.

15
ответ дан 2 December 2019 в 21:14

"Логическая сущность" в вашем использовании немного сбивает с толку. Но я постараюсь ответить на него как можно лучше.

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

Как вы, возможно, знаете, шлюз по умолчанию служит для того, чтобы действовать как объект пересылки для всех запросов, которые: a.) компьютер еще не имеет в своей таблице маршрутизации или имеет запись, инструктирующую систему перенаправить запрос на IP-адрес, который оказывается шлюзом и / или b.) которые находятся за пределами широковещательный домен. Шлюз по умолчанию никогда не используется в ситуациях, когда два хоста находятся в одном широковещательном домене (т. Е. Топология сети, созданная коммутатором), потому что система может использовать широковещательный адрес подсети для поиска MAC-адреса системы, владеющей определенным IP-адресом.

Короче говоря, чтобы ответить на ваш вопрос, технически вы можете установить шлюз по умолчанию как любой IP-адрес в подключенной сети. Windows или большинство других операционных систем не остановят вас, потому что они часто не выполняют проверку деталей TCP / IP. Если вы его настраиваете, вы, скорее всего, достаточно технически подкованы, чтобы понимать разницу. Однако, если это IP-адрес устройства, которое не может пересылать, это приведет к ошибкам в приложениях, зависящих от маршрутизации (например, в веб-браузере), потому что устройство не будет подготовлено с таблицей маршрутизации или службой маршрутизации. чтобы переслать запрос.

Однако кто-то гораздо более опытный, чем я, сможет легко исправить меня, если я ошибаюсь.

TL; DR - Скорее всего, физическое устройство.

9
ответ дан 2 December 2019 в 21:14

Записи таблицы маршрутизации разрешают подсеть либо шлюзу, либо сетевому адаптеру.

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

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
5
ответ дан 2 December 2019 в 21:14

Теги

Похожие вопросы