Как Windows 7 решает, какой маршрут выбрать, если существует 2 подключения к Интернету? (например, беспроводные или проводные)
6 ответов
Если существует более 1 пути, Windows будет ссылаться на metric
из таблицы маршрутизации. Используйте route print
чтобы показать это. В основном, он предпочтет путь с самой низкой метрикой.
В прошлом метрика получалась из скорости ссылки; однако, правила для Win7 все еще неизвестны в соответствии с этим.
Там есть таблица маршрутизации. Вы можете использовать команду маршрута, чтобы проверить метрики. В командной строке (Run: cmd):
> route PRINT
Но вы также можете изменить порядок подключения к интернету:
Перейдите: Панель управления -> Центр управления сетями и общим доступом -> Изменить настройки адаптера
Нажмите Alt, чтобы отобразились верхние меню, и перейдите в Advanced -> Advanced Settings ...
Наконец, на вкладке « Адаптеры и привязки » измените порядок подключений по желанию.
если есть 2 маршрута по умолчанию (шлюз), он предпочитает тот с более низкой метрикой
метрика маршрута в windows 7 является суммой метрики адаптера и метрики шлюза
если вручную установить одинаковую метрику (например, 24 для адаптера1 и 2 на шлюзе1; 25 на адаптере2 и 1 на шлюзе2 в дополнительных настройках TCP/IP), кажется, что Windows 7 выполняет своего рода балансировку нагрузки для открытия приложений несколько соединений TCP/IP и делает автоматический переход на другой ресурс.
Я тестирую это на своей Windows 7 x64 Ultimate Edition с беспроводным адаптером 54 Мбит / с + адаптером Ethernet 100 Мбит / с и 2 интернет-провайдерами
до сих пор не найдено ни одной документации Microsoft
По моему опыту, он всегда будет предпочитать более "постоянный" способ подключения. Т.е. Ethernet предпочел беспроводной, беспроводной - Bluetooth и т.д. (Вплоть до модема). Но существует и аварийное переключение, поэтому, если Ethernet отключится, Windows попытается подключиться по беспроводной сети.
Показательный пример: у меня есть сеть Wireless-N 300 Мбит / с. Если я подключу свой ноутбук к маршрутизатору напрямую (100 Мбит / с Ethernet), Windows переключится на это соединение (без отключения беспроводной сети).
Хотя часть ответа относится к метрике маршрута, это не единственная деталь, которая определяет путь. В части таблицы маршрутов вы можете увидеть, где находится сеть назначения (с маской подсети) и какой интерфейс для связи с ней.
Вы можете указать более "конкретные" маршруты, и наиболее конкретные правила будут преобладать. Например, если у вас была домашняя сеть по адресу 192.168.0.0/24
, ваша таблица маршрутов по умолчанию знает, как использовать Ethernet
. Если вы добавите прямой маршрут к 192.168.0.0/25
для маршрутизации через адаптер Wi-Fi
, то любые попадания с 192.168.0.0
до 192.168.0.127
будут проходить через ваш Wi-Fi, а остальная часть вашей сети через Ethernet , Если шлюзом по умолчанию (следующий переход) является 192.168.0.1
, то ваш шлюз по умолчанию будет подключаться через Wi-Fi, поскольку именно здесь существует "самый специфический маршрут". Аналогично, если ваш шлюз 192.168.0.254
, он будет проходить через ваш Ethernet.
OpenVPN также использует этот метод. Вместо замены маршрута 0.0.0.0/0
(маршрут по умолчанию) он создает два маршрута - 0.0.0.0/1
и 128.0.0.0/1
- этот маршрут через интерфейс VPN. Таким образом, если у интерфейса VPN есть проблемы, он может вернуться к стандартному шлюзу по умолчанию.
Windows автоматически будет использовать ту, которая имеет более высокую номинальную скорость. Не уверен, однако, какой он выберет, если они оба имеют одинаковую скорость.