Как рассчитывается автоматический показатель маршрута в Windows 7?

18

KB299540 объясняет, как Windows XP автоматически назначает метрики для IP-маршрутов:

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

Greater than 200 Mb: 10
Greater than 20 Mb, and less than or equal to 200 Mb: 20
Greater than 4 Mb, and less than or equal to 20 Mb: 30
Greater than 500 kilobits (Kb), and less than or equal to 4 Mb: 40
Less than or equal to 500 Kb: 50

Однако они, похоже, изменили свой алгоритм в Windows 7, так как моя таблица маршрутизации выглядит так:

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1      192.168.0.3     10
          0.0.0.0          0.0.0.0   10.202.254.254       10.202.1.2    286
       10.202.0.0      255.255.0.0         On-link        10.202.1.2    286
       10.202.1.2  255.255.255.255         On-link        10.202.1.2    286
   10.202.255.255  255.255.255.255         On-link        10.202.1.2    286
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0         On-link       192.168.0.3    266
      192.168.0.3  255.255.255.255         On-link       192.168.0.3    266
    192.168.0.255  255.255.255.255         On-link       192.168.0.3    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link       192.168.0.3    266
        224.0.0.0        240.0.0.0         On-link        10.202.1.2    286
  255.255.255.255  255.255.255.255         On-link        10.202.1.2     40
===========================================================================

Единственная «правильная» метрика - это первая (гигабитное соединение = 10). Однако другие маршруты, использующие гигабитное соединение, имеют метрику = 266, моя VPN имеет метрику = 286, а шлейф - 306 (?!).

Есть идеи, что происходит?

Этьен Дечам
источник
Любая удача выяснить это? В XP, когда мой VPN соединяется, все маршруты к удаленной сети имеют метрику 1, а локальные соединения равны 10. В Windows 7, даже если вы используете параметр «METRIC» в команде «route add», он все равно отображается с некоторыми произвольная метрика. Далее, в XP все интерфейсы настроены на автоматическую метрику. В Windows 7 даже при указании метрик на каждом интерфейсе они все равно появляются произвольно! Что дает?
Джон Клейтон

Ответы:

2

Я не думаю, что это плохо для Windows 7, я думаю, что это есть и в Vista.

Тем не менее, я не верю, что был опубликован набор правил, которым следует алгоритм, просто сейчас он находится в масштабе 1-9999.

Эван Лейт
источник
1

Я также не знаю алгоритм, но вы можете принудительно установить конкретную метрику, изменив ее в свойствах TCP / IP вашей сетевой карты. На вкладке «Общие» нажмите «Дополнительно», снимите флажок «Автоматическая метрика» и установите любое значение.

Я попробовал это с несколько умеренным успехом:

  • - при перезапуске эта настройка перезаписывается;
  • - Когда я подключаю свой 3G-модем, он устанавливает для каждого другого сетевого адаптера значение Metric + 3k (в то время как он сохраняет значение 30 в своей метрике ... :()
  • - Если я пытаюсь добавить правило маршрута, определенная мной метрика добавляется к базовой метрике интерфейса, а не является абсолютным значением. ([ ссылка ] [1])

Кто-нибудь знает, как решить любую из этих проблем?


источник
1

Да. Вот решение.

перейдите к настройкам вашего коммутируемого соединения (для 3G-модема) -> сеть -> выберите настройки TCP / IP (IPv4) -> щелкните свойства -> на вкладке "Общие", перейдите к дополнительным настройкам TCP / IP -> здесь выполните следующие действия:

UNCHECK использовать шлюз по умолчанию в удаленной сети. CHECK отключить добавление маршрутов на основе классов (только для WIN VISTA / 7)

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


источник
1
Кто проголосовал за это?!?
Ноль3
0

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

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

maiky
источник
0

Я знаю, что это старый вопрос, но на него мне недавно был нужен ответ.

Я считаю, что метрика, которую вы видите, на самом деле interface metric+ gateway metric, как отмечено в одном из ответов на https://social.technet.microsoft.com/Forums/windows/en-US/b1fb3e43-300d-49fe-b7a9-be95c7454a82 / metric-for-the-default-route? forum = w7itpronetworking . Таким образом, рассчитанная метрика может быть изменена путем изменения шлюза по умолчанию или отключения автоматических метрик.

Автоматические метрики могут быть отключены в свойствах IPv4 соединения. Нажмите Advancedна Generalвкладку, снимите Automatic metricфлажок и добавьте свое собственное значение, например 1.

отметка
источник