Шлюз по умолчанию
Шлюз по умолчанию (англ. default gateway) — это узел в компьютерной сети, использующей стек протоколов Интернета, который служит направляющим узлом (маршрутизатор) для передачи данных в другие сети, если в таблице маршрутизации не найдено другого подходящего маршрута для заданного адреса назначения IP-пакета.
Назначение
Шлюз — это сетевой узел, который выполняет роль точки доступа к другой сети; при этом часто меняется не только адресация, но и технология передачи данных. В узком смысле под маршрутизатором обычно понимают устройство, пересылающее пакеты между сетями с разными сетевыми префиксами. Программное обеспечение каждой рабочей станции или сервера содержит таблицу маршрутизации, в которой указано, какой интерфейс используется для передачи данных, а также какой маршрутизатор отвечает за определённые диапазоны адресов. Если ни одно из этих правил не подходит для определённого адреса назначения, то в качестве последнего средства выбирается шлюз по умолчанию. Шлюз по умолчанию может быть задан с помощью команды route для конфигурирования таблицы маршрутизации и маршрута по умолчанию.
В домашней или небольшой офисной сети роль шлюза по умолчанию обычно выполняет устройство, например, DSL-маршрутизатор или кабельный маршрутизатор, соединяющее локальную сеть с Интернетом. Это устройство служит шлюзом по умолчанию для всех устройств в сети.
В корпоративных сетях может быть множество внутренних сегментов. Например, если устройство должно передать данные в Интернет, оно отправляет пакет на шлюз по умолчанию своего сегмента сети. При этом сам маршрутизатор-шлюз имеет свой маршрут по умолчанию на устройство в смежной сети, находящееся на один переход ближе к общедоступной сети.
Примеры
В следующем примере приведены IP-адреса, которые могут использоваться в офисной сети, состоящей из шести рабочих станций и маршрутизатора. Адреса компьютеров:
- 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 — для широковещательных пакетов.
Компьютеры отправляют пакеты на адреса из этого диапазона напрямую, определяя MAC-адрес назначения с помощью протокола ARP, после чего IP-пакет инкапсулируется в MAC-кадр с адресом выбранного хоста.
Если пакет должен быть отправлен за пределы этого диапазона — например, на адрес 192.168.12.3 — его нельзя доставить напрямую. Такой пакет отправляется на шлюз по умолчанию, чтобы он был далее переслан к месту назначения. В этом примере шлюз по умолчанию имеет IP-адрес 192.168.4.1; этот адрес разрешается в MAC-адрес стандартным ARP-запросом. Сам IP-адрес назначения (например, 192.168.12.3) при этом не изменяется, но MAC-адрес следующего узла (next-hop) будет адресом шлюза, а не конечного получателя.
В другом примере сеть с тремя маршрутизаторами и тремя хостами соединена с Интернетом через Router1. IPv4-адреса компьютеров:
- 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
Маршрутизаторы:
Router1:
- Интерфейс 1: 5.5.5.2 (публичный IP)
- Интерфейс 2: 10.1.1.1
Router2:
- Интерфейс 1: 10.1.1.2
- Интерфейс 2: 172.16.1.1
Router3:
- Интерфейс 1: 10.1.1.3
- Интерфейс 2: 192.168.1.96
Маска сети во всех сегментах: 255.255.255.0 (/24 в обозначении CIDR). Если маршрутизаторы не используют маршрутизирующий протокол для автоматического определения сетей, к которым они подключены, таблицы маршрутизации должны быть настроены вручную.
Router1
| Идентификатор сети | Маска сети | Шлюз | Интерфейс (например) | Стоимость маршрута (уменьшает TTL) |
|---|---|---|---|---|
| 0.0.0.0 (маршрут по умолчанию) | 0.0.0.0 | Назначается провайдером (например, 5.5.5.1) | eth0 (первый Ethernet-адаптер) | 10 |
| 10.1.1.0 | 255.255.255.0 | 10.1.1.1 | eth1 (второй Ethernet-адаптер) | 10 |
| 172.16.1.0 | 255.255.255.0 | 10.1.1.2 | eth1 (второй Ethernet-адаптер) | 10 |
| 192.168.1.0 | 255.255.255.0 | 10.1.1.3 | eth1 (второй Ethernet-адаптер) | 10 |
Router2
| Идентификатор сети | Маска сети | Шлюз | Интерфейс (например) | Стоимость маршрута (уменьшает TTL) |
|---|---|---|---|---|
| 0.0.0.0 (маршрут по умолчанию) | 0.0.0.0 | 10.1.1.1 | eth0 (первый Ethernet-адаптер) | 10 |
| 172.16.1.0 | 255.255.255.0 | 172.16.1.1 | eth1 (второй Ethernet-адаптер) | 10 |
Router3
| Идентификатор сети | Маска сети | Шлюз | Интерфейс (например) | Стоимость маршрута (уменьшает TTL) |
|---|---|---|---|---|
| 0.0.0.0 (маршрут по умолчанию) | 0.0.0.0 | 10.1.1.1 | eth0 (первый Ethernet-адаптер) | 10 |
| 192.168.1.0 | 255.255.255.0 | 192.168.1.96 | eth1 (второй Ethernet-адаптер) | 10 |
Router2 управляет своими сетями и шлюзом по умолчанию; Router3 аналогично управляет своими сетями; Router1 управляет всеми маршрутами внутри внутренних сетей.
- Доступ к внутренним ресурсам
- Если ПК2 (172.16.1.100) должен обратиться к ПК3 (192.168.1.100), а у ПК2 нет собственного маршрута к 192.168.1.100, то пакеты будут отправляться на шлюз по умолчанию (Router2). Router2 также не знает путь к ПК3, поэтому передаёт пакеты своему шлюзу по умолчанию (Router1). Router1 имеет маршрут к нужной сети (192.168.1.0/24), поэтому отправляет пакеты на Router3, который доставляет их ПК3. Ответ идёт по обратному пути.
- Доступ к внешним ресурсам
- Если любой из компьютеров захочет получить доступ к веб-странице в Интернете, например, https://en.wikipedia.org/, адрес сначала будет разрешён с помощью DNS. Например, IP-адрес может быть 91.198.174.2. В этом случае ни один из внутренних маршрутизаторов не знает маршрут к этому адресу, поэтому пакет будет отправляться через шлюз Router1 или по маршруту по умолчанию[1]. Каждый маршрутизатор на пути пакета до получателя проверяет, соответствует ли IP-адрес назначения какой-либо известной сети; если совпадения нет, пакет пересылается на шлюз по умолчанию. Каждый маршрутизатор фиксирует идентификатор пакета и адрес отправителя, чтобы вернуть ответный пакет обратно. В пакете содержится только адрес отправителя и получателя, а не список всех маршрутизаторов по пути. Наконец пакет вернётся к Router1, который найдёт подходящий идентификатор и маршрутизирует его дальше: через Router2, Router3 или прямо к ПК1, если тот находится в том же сегменте.
- Пакет не возвращается
- Если в таблице маршрутизации Router1 нет записи для 192.168.1.0/24, а ПК3 пытается обратиться к ресурсу вне своей сети, исходящая маршрутизация сработает вплоть до этапа возврата ответа на Router1. Поскольку маршрут неизвестен Router1, он отправит ответ на свой внешний шлюз по умолчанию, и пакет не попадёт обратно к Router3. На сервере-ресурсе запрос можно отслеживать, но отправитель не получит ответа. Пакет будет уничтожен, если значение TTL уменьшится до 0 при прохождении промежуточных маршрутизаторов, либо маршрутизатор отбросит пакет с частным IP-адресом. Это можно обнаружить с помощью утилиты PathPing в Microsoft Windows или MTR в UNIX-подобных системах — пинг завершится на маршрутизаторе, для которого нет подходящего маршрута. (Некоторые маршрутизаторы могут не отвечать на ping-запросы.)


