Что такое метрика интерфейса
Что такое Метрика сети или маршрута
На сегодняшний день в операционных системах Windows, Linux, MAC OSX, Android, iOS по умолчанию используется автоматическое назначение метрики сетевого интерфейса. В Windows 10 эту опцию можно отключить или включить в Дополнительных параметрах протокола TCP/IP v4.
Посмотреть текущие значения этого параметра для каждого динамического маршрута можно через командную строку, введя команду route print. Пример вывода директивы Вы можете видеть ниже:
При использовании статической маршрутизации возможно прописать значения параметра вручную при указании статического маршрута.
Метрика сети может выставляться не только исходя из числа переходов, но и на основе информации о скорости соединения сетевых интерфейсов.
Скорость интерфейса | Значение метрики сети |
Менее 500 Кбит/с | 50 |
от 500 Кбит/с до 4 Мбит/с | 40 |
от 4 Мбит/с до 20 Мбит/с | 30 |
от 20 Мбит/с до 80 Мбит/с | 25 |
от 80 Мбит/с до 200 Мбит/с | 20 |
от 200 Мбит/с до 2 Гбит/с | 10 |
от 2 Гбит/с и выше | 5 |
Кстати, надо учитывать что в операционных семействах на основе UNIX (Linux, Android и т.п.) метрика сети используется только для протоколов динамической маршрутизации и особо замарачиваться не стоит, так как при выборе маршрута ядро Линукса игнорирует этот параметр.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как в Windows выбрать подключение, используемое для Интернета
Оглавление
Если у вас Linux, то смотрите статью «Практика настройки сетевых маршрутов: выбор подключения, используемое для Интернета; одновременное использование нескольких подключений для разных целей». В ней же вы найдёте дополнительные трюки для манипуляции сетевыми маршрутами, которые будут работать, в том числе, и на Windows.
Выбор подключения к Интернету
Компьютер может быть подключён сразу к нескольким сетям: например, к проводной сети и к беспроводной; или к двум Wi-Fi сетям; или использовать телефон в качестве модема через Bluetooth и при этом быть подключённым к проводной и Wi-Fi сети; или быть подключённым к четырём Wi-Fi сетям – да что угодно!
Если вы выходите в Интернет, как операционная система выбирает, какое именно из нескольких подключений использовать? Система действует очень мудро – она не пренебрегает ни одним из подключений. И в случае потери связи с одним из них – использует другое.
Но ведь ей в любом случае нужно выбрать, какое подключение использовать в данный момент! И система опять поступает мудро – она использует лучшее подключение. Чтобы узнать, какое подключение является лучшим, для каждого из них вычисляется так называемая Метрика – условное значение, которое учитывает сразу несколько параметров – скорость сети, потери пакетов и другое.
Рассмотрим реальный пример. Мой компьютер подключён к двум Wi-Fi сетям. Чтобы узнать характеристики маршрутов, откроем командную строку Windows, для этого нажмите Win+x, и выберите Windows PowerShell (Администратор). В открывшемся окне командной строки наберите команду
Особое внимание обратите на строки:
Сетевой адрес 0.0.0.0 и маска сети 0.0.0.0 это обозначение маршрута по умолчанию (default route). Это тот маршрут, куда отправляется трафик, для которого явно не прописан другой маршрут.
Например, там же мы можем увидеть строку
В ней есть сетевой адрес 192.168.56.0 с маской подсети 255.255.255.0 – то есть это любые IP адреса в диапазоне 192.168.56.0-192.168.56.255. Так вот, для этих адресов явно прописан маршрут – они будут отправлены в 192.168.56.1.
Но если будет запрошен любой другой IP, который отсутствует в таблице (т.е. для которого не указан конкретный маршрут), то он будет отправлен по маршруту по умолчанию – это то, что указано для сети 0.0.0.0 с маской 0.0.0.0. Самым типичным трафиком, отправляемым по default route является Интернет-трафик (а также трафик в другие локальные сети, к которым ваш компьютер непосредственно не подключён – но для домашних сетей это редкая ситуация).
Для выбора Интернет-подключения по умолчанию нужно изменить маршрут по умолчанию.
Изменение маршрута по умолчанию в Windows
Вернёмся к ранее полученным данным о маршруте по умолчанию:
Из него следует, что у одного из моих интерфейсов IP адрес 192.168.0.49 и у него метрика равна 55, у другого сетевого интерфейса IP 192.168.1.43 и метрика равна 70. Выигрывает тот маршрут, у которого значение метрики меньше (чем меньше метрика, тем лучше подключение).
Таким образом, если я будут выходить в Интернет, то будет использоваться сетевой интерфейс 192.168.0.49.
Убедимся в этом сразу несколькими способами. Запомним наши IP адреса, как их видят внешний сервисы. Для этого перехожу на https://suip.biz/ru/?act=myip:
Я получил, что мой IP 109.126.249.183, а мой локальный IP 192.168.0.49. В командной строке Windows делаю трассировку:
Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.0.1.
Итак, способов изменить маршрут по умолчанию сразу несколько. Например, можно изменить значение метрики так, чтобы приоритетным стал другой маршрут. Второй вариант – удалить другие маршруты, оставив только один.
Как установить метрику для сетевых подключений в Windows
Чтобы было понятно, покажу на конкретном примере. У меня два сетевых интерфейса с IP адресами:
Для этого удаляю все маршруты по умолчанию:
Теперь добавляю тот, который я хочу сделать маршрутом по умолчанию, командой вида:
В ней ШЛЮЗ нужно заменить на IP адрес шлюза (роутера) того интерфейса, через который вы хотите выходить в Интернет. Для меня это:
На данном этапе уже вернулось Интернет-подключение и если вам достаточного одного подключения, то можно не продолжать.
Тем не менее, я хочу чтобы в качестве резервного у меня было активно и второе подключение, но чтобы оно по умолчанию не использовалось.
Для его добавления используется команда следующего вида:
Обратите внимание, что вместо ШЛЮЗ нужно вписать IP адрес шлюза «резервного» интерфейса. Также значение является не абсолютным, а относительным. Помните об этом, что указанная величина ДОБАВЛЯЕТСЯ к тому значению метрики, которое рассчитывает операционная система. Значение 100 можно поменять на другое (например, 50). Но выбирайте его так, чтобы значение в сумме с рассчитанной метрикой было больше, чем метрика подключения, которое мы хотим использовать по умолчанию.
Как видим, в маршрутах по умолчанию по-прежнему доступно два сетевых интерфейса. Но теперь интерфейс 192.168.0.49 имеет очень большое значение метрики, поэтому по умолчанию будет применяться сетевой интерфейс 192.168.1.43.
Как видим, поменялся и внешний IP (был 109.126.249.183, а стал 213.167.219.207) и локальный (был 192.168.0.49, а стал 192.168.1.43).
В командной строке Windows делаю трассировку:
Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.1.1.
Особенности применения команды route CHANGE в Windows
Необходимо отметить пару моментов в поведении команды route, которые является контринтуитивными (мы ждём одного результата, а получаем другой, неожиданный результат).
Маршруты, в том числе маршрут по умолчанию, можно не удалять/добавлять, а изменять с помощью команды route CHANGE. Но помните об особенности этой команды, если у вас установлено два или более маршрута по умолчанию: она удалит ВСЕ маршруты и впишет один новый, который указан с этой командой! На первый взгляд это неочевидно, но если подумать, то становится понятно, почему она действует именно таким образом.
Хотя об этом уже было сказано выше, значение метрики является ОТНОСИТЕЛЬНЫМ! То значение, которое вы устанавливаете для метрики, добавляется к рассчитываемому системой значению. При этом оно постоянно плавает: то есть система регулярно пересчитывает значения метрики, но к каждому полученному числу добавляет то, которое вы указали с командой route ADD.
Создание постоянных маршрутов, сохраняющихся после перезагрузки
По умолчанию, все прописанные маршруты, в том числе значения метрик, будут сброшены при перезагрузке компьютера.
С помощью ключа -p можно создавать постоянный маршруты, которые будут сохранены после перезагрузке.
Пример команды добавления постоянного маршрута:
Часть if является опциональной для всех команд.
Номера интерфейсов можно посмотреть командой route print (в самом верху вывода):
Номера интерфейсов идут в первом столбике – перед MAC-адресами.
Кроме опции -p, команда route имеет ещё несколько опций, рассмотрим их.
Объяснение функции автоматической метрики для маршрутов IPv4
В этой статье описывается функция Automatic Metric, которая используется в Windows для маршрутов IPv4 протокола Интернета.
Применяется к: Windows 10 — все выпуски, Windows Server 2019, Windows Server 2012 R2, Windows Server 2008 R2 Пакет обновления 1
Исходный номер КБ: 299540
Дополнительные сведения
Метрика — это значение, назначенное маршруту IP для определенного сетевого интерфейса. Он определяет затраты, связанные с использованием этого маршрута. Например, метрика может быть оценена с точки зрения скорости ссылок, хмеля или задержки времени. Автоматическая метрика — это новая функция в Windows, которая автоматически настраивает метрику для локальных маршрутов, основанных на скорости ссылок. Функция Automatic Metric включена по умолчанию, а также может быть настроена вручную для назначения определенной метрики.
Функция Automatic Metric может быть полезна, если в таблице маршрутов содержится несколько маршрутов для одного и того же назначения. Например, если у вас есть компьютер с сетевым интерфейсом 10 мегабит (Мб) и сетевым интерфейсом 100-Мб, а на компьютере установлен шлюз по умолчанию, настроенный на обоих сетевых интерфейсах, функция Automatic Metric назначает более высокую метрику более медленному сетевому интерфейсу. Эта функция может заставить весь трафик, предназначенный для Интернета, использовать самый быстрый доступный сетевой интерфейс.
Как правило, Корпорация Майкрософт не рекомендует добавлять шлюзы по умолчанию в разных сетях. Например, для подключения двух или более несогласоваемых сетей, таких как сетевой перевод адресов (NAT) и прокси-серверы, обычно настроены две или несколько несогласоваемых сетей: общедоступный Интернет и одна или несколько частных интрасетей. В этой ситуации не следует назначать шлюзы по умолчанию на частных интерфейсах, так как это может привести к неправильной маршрутике в сети.
В следующей таблице описаны критерии, которые используются Windows для назначения метрик для маршрутов, привязанных к сетевым интерфейсам различных скоростей.
Скорость ссылки | Метрика |
---|---|
Больше или равно 2 ГБ | 5 |
Более 200 Мб | 10 |
Более 20 Мб и менее 200 Мб | 20 |
Более 4 Мб и менее 20 Мб | 30 |
Более 500 килобит (Kb) и менее 4 Мб | 40 |
Менее 500 Кб или менее 500 Кб | 50 |
В следующей таблице перечислены скорости ссылок и назначены метрики для компьютеров, Windows XP Пакет обновления 2 и более новых версий Windows операционных систем.
Скорость ссылки | Метрика |
---|---|
Больше или равно 2 ГБ | 5 |
Более 200 Мб | 10 |
Более 80 Мб и менее 200 Мб | 20 |
Более 20 Мб и менее 80 Мб | 25 |
Более 4 Мб и менее 20 Мб | 30 |
Более 500 КБ и менее 4 Мб | 40 |
Менее 500 Кб или менее 500 Кб | 50 |
В следующей таблице перечислены скорости ссылок и назначены метрики для компьютеров, Windows 10 и более новых версий Windows операционных систем:
Для интерфейсов с физическими средними типами NdisPhysicalMediumWirelessLan, NdisPhysicalMediumWirelessWan, NdisPhysicalMediumNative802_11:
Скорость ссылки | Метрика |
---|---|
Больше или равно 2 ГБ | 25 |
Более или менее 500 Мб и менее 2 ГБ | 30 |
Более или менее 200 Мб и менее 500 Мб | 35 |
Более или менее 150 Мб и менее 200 Мб | 40 |
Более или менее 80 Мб и менее 150 Мб | 45 |
Более или менее 50 Мб и менее 80 Мб | 50 |
Более или менее 20 Мб и менее 50 Мб | 55 |
Более или менее 10 Мб и менее 20 Мб | 60 |
Более или менее 4 Мб и менее 10 Мб | 65 |
Более или менее 2 Мб и менее 4 Мб | 70 |
Более или менее 500 КБ и менее 2 Мб | 75 |
Более или менее 200 Кб и менее 500 КБ | 80 |
Менее 200 Кб | 85 |
Для других типов интерфейсов:
Скорость ссылки | Метрика |
---|---|
Больше или равно 100 ГБ | 5 |
Больше или меньше 40 ГБ и менее 100 ГБ | 10 |
Больше или меньше 10 Гб и менее 40 ГБ | 15 |
Больше или меньше 2 Гб и менее 10 ГБ | 20 |
Более или менее 200 Мб и менее 2 ГБ | 25 |
Более или менее 80 Мб и менее 200 Мб | 35 |
Более или менее 20 Мб и менее 80 Мб | 45 |
Более или менее 4 Мб и менее 20 Мб | 55 |
Более или менее 500 Кб и менее 4 Мб | 65 |
Менее 500 Кб | 75 |
Функция Automatic Metric настраивается независимо для каждого сетевого интерфейса в сети. Эта функция полезна в ситуациях, когда у вас есть несколько сетевых интерфейсов одинаковой скорости, например, когда каждому сетевому интерфейсу назначен шлюз по умолчанию. В этой ситуации может потребоваться вручную настроить метрику на одном сетевом интерфейсе и включить функцию Automatic Metric для настройки метрик другого сетевого интерфейса. Эта настройка позволяет управлять сетевым интерфейсом, который используется сначала в маршрутике IP-трафика.
Кроме того, метрика, назначенная определенным шлюзам по умолчанию, может быть настроена независимо для каждого шлюза. Эта настройка позволяет дополнительно контролировать метрику, используемую для локальных маршрутов. Например, можно включить функцию Automatic Metric для настройки маршрутов, которые назначены сетевому интерфейсу. И в то же время можно вручную настроить метрику, назначенную шлюзам по умолчанию.
Если метрика указана на уровне сетевого интерфейса, но шлюз добавляется и настраивается для функции Automatic Metric, шлюз может наследовать метрику, назначенную сетевому интерфейсу. Например, если назначить метрику из пяти на уровне сетевого интерфейса, а затем добавить шлюз и оставить функцию Automatic Metric проверенной для шлюза, шлюзу также назначена метрика в пять. Для полудуплексных интерфейсов, таких как беспроводные, эффективная скорость составляет половину объявленной скорости.
Функция Automatic Metric отличается от функции обнаружения мертвых шлюзов, которая может заставить сеть переключать шлюзы по умолчанию, основанные на ретрансляции протокола управления передачей (TCP). Кроме того, функция маршрутного и удаленного доступа не активирует функцию обнаружения мертвых шлюзов. Эта активация выполняется Стеком TCP/IP на компьютере, который инициирует сеанс TCP.
Чтобы настроить функцию Automatic Metric:
Windows 7 и метрика маршрутов
На днях нужно было воспользоваться статической маршрутизацией на компьютере под Windows 7 с двумя сетевыми картами.
Первая сетевая карта получает IP настройки (IP адрес, шлюз по умолчанию, днс и пр.) от DHCP сервера.
На второй сетевой карте IP задан вручную и шлюз по умолчанию не указан.
Мне необходимо было прописать на определенную сеть маршрут через вторую карту.
Однако, когда я прописал новый маршрут командой: «route add …», пакеты отправляемые в сеть назначения всё равно шли через основной шлюз (получаемый по DHCP), через первую сетевую карту, а не через вторую.
Посмотрев таблицу маршрутизации, командой «route print«, оказалось, что метрика у маршрута по умолчанию (основной шлюз) стоит меньше, чем у моего статического маршрута. Следовательно пакеты отправлялись на основной шлюз через первый интерфейс.
Я попытался, удалить статический маршрут, и прописать его заново с явным указанием метрики. Но посмотрев опять таблицу маршрутизации, выяснилось, что метрика у моего маршрута не та, что я указал, а больше указанного значения на 30.
Оказывается по умолчанию в Windows 7 (в XP и Vista не проверял, не знаю) метрика интерфейса назначается автоматически, и к указанной явно метрике, при создании маршрута (командой «route add …») прибавляется это автоматическое число.
Что бы отключить автоматическое назначение метрики на интерфейсе, и задать своё значение, нужно:
— Зайти в свойства сетевого подключения (интерфейс на котором нужно отключить автоматическое назначение метрики)
— На вкладке «Сеть» выбрать «Протокол Интернета 4 (TCP/IPv4)» и нажать на кнопку «Свойства»
— В появившемся окне нажать кнопку «Дополнительно…»
— Во вкладке «Параметры IP» снять галочку с «Автоматическое назначение метрики». А в поле «Метрика интерфейса» ввести своё число (например 2), тогда к заданной метрике в команде «route add…» прибавится только двойка.
После выполнения вышеописанных действий, станет возможным задать статический маршрут с метрикой ниже метрики основного шлюза (у меня метрика на основном шлюзе равна 10).
Метрики проектирования пользовательского интерфейса
Объекты измерений
Метрики проектирования для оценки пользовательских интерфейсов могут существовать в следующих вариантах:
· структурные метрики, базирующиеся на поверхностных свойствах;
· семантические метрики, чувствительные к содержательному наполнению (контенту);
· процедурные метрики, чувствительные к решаемым задачам.
Легче всего вычисляются показатели, объединенные в группу под названием структурные метрики. Они базируются на тех поверхностных свойствах архитектурных решений пользовательского интерфейса, которые легко сопоставитьс конкретными цифрами.
Существует ряд уже испробованных структурных метрик, среди которых:
· количество визуальных компонентов или элементов управления на экране или в диалоговом окне;
· количество и распределение пустого пространства между элементами;
· взаиморасположение элементов; число экранов или диалоговых окон, напрямую достижимых из данного экрана или диалогового окна;
· диаметр (то есть максимальная длина) цепочки переходов между
· экранами или диалоговыми окнами.
Многие из простейших вышеперечисленных структурных метрик представляют собой чрезмерно упрощенную попытку измерения сложности. Казалось бы, вполне логично, например, предположение о том, что экран с большим количеством элементов сложнее экрана с небольшим количеством элементов и, следовательно, тяжелее в использовании (при прочих равных условиях).
К сожалению, многие простые структурные метрики не отличаются хорошей теоретической базой, которая привязывала бы их к реальной практичности конечных продуктов. Для разработчиков, к тому же, важен еще и тот факт, что структурные метрики не решают повседневные вопросы проектирования. Надо сказать, люди, проектирующие пользовательские интерфейсы, обычно имеют дело с более неприятными и значительными проблемами, нежели количество элементов управления в диалоговом окне или объем окружающего их пустого пространства.
В отличие от простых структурных метрик — семантические метрики позволяют измерить показатели, зависящие от контента и природы компонентов интерфейса: их функциональных возможностей, назначения и работы. Семантические метрики служат для оценки тех аспектов интерфейса, которые зависят от концепций и действий, представляемых компонентами этого интерфейса, а также оттого, как пользователи воспринимают компоненты и их взаимосвязь.
Процедурные метрики чувствительны к задачам, решаемым интерфейсам. Аспекты, которые удается измерить с их помощью, связаны с реальными задачами или сценариями исследуемого интерфейса. Процедурные метрики позволяют понять соотношение различных задач и данного проектного решения в терминах содержательного наполнения (контента) и организации. В целом, можно ожидать от метрик, зависящих от
контента и задач, более полезных результатов, чем от простых структурных метрик. В принципе, данная метрика может быть чувствительной как к контенту, так и к задачам, однако на практике чаще всего требуются раздельные метрики.
Критерии измерений
Наиболее полезными для практикующих разработчиков при решении каждодневных вопросов проектирования пользовательских интерфейсов оказываются стабильные, простые и понятные метрики. Настоящие, хорошие метрики должны:
· обладать легко вычисляемыми и интерпретируемыми показателями;
· быть удобными для оценки бумажных прототипов и проектных моделей;
· иметь прочное обоснование и простой концептуальный базис;
· быть достаточно чувствительными, чтобы реагировать на разные решения;
· подсказывать возможные проектные решения;
· эффективно предсказывать реальную практичность будущей системы,
· непосредственно выявлять относительное качество проекта.
Сильный и простой концептуальный базис означает, что разработчики должны иметь возможность сразу же понять обоснование метрики, представлять себе, почему (с точки зрения этой метрики) одни решения лучше других. Результаты кажутся более бедительными, когда за цифрами стоит чтото более основательное.
Хорошая концептуальная база упрощает понимание разработчиками того, как разные значения показателей влияют на изменение проектов. В идеале и сами метрики, и процесс проведения измерений должны указывать разработчикам, как сделать проекты лучше. При этом метрики, позволяющие работать непосредственно с визуальным дизайном, проектными моделями или нефункционируюшими визуальными прототипами, полезнее, нежели те метрики, для подсчета которых требуются полностью или частично работающие системы.
Один из вопросов, столь часто интересующих разработчиков, состоит в том, насколько проект хорош в некотором абсолютном измерении. Абсолютная оценка бывает полезна при принятии решений о проведении дальнейших улучшений (тестирования) или об отказе от них. Метрика, предоставляющая набор произвольных показателей, позволяет сравнить разные решения, но не отвечает на вопрос о том, насколько хорош или плох
тот или иной проект сам по себе. Может быть, он близок к совершенству, а может быть, существует еще множество возможностей для улучшений? Метрики, построенные на принципе сравнения данного решения с идеальным или позволяющие оценить, насколько оно подходит для выполнения конкретных задач, несомненно, более полезны для разработчиков.
Эффективные метрики должны, разумеется, достаточно точно предсказывать важные аспекты практичности программного обеспечения в его конкретных применениях — например, время выполнения задач, время изучения интерфейса, уровень ошибок. Метрики проектирования пользовательских интерфейсов, кроме того, должны быть достаточно чувствительными, чтобы различать похожие решения, обладающие разной
конечной практичностью. В идеале сама метрика или способ ее вычисления должны предоставлять информацию, подсказывающую пути улучшения существующего проекта.