Когда используется маска подсети?

Мой сетевой адаптер на моем компьютере имеет маску подсети. Это только для собственной информации? Или маска подсети добавляется в заголовки TCP/IP, чтобы помочь следующему устройству выполнить маршрутизацию? Я предполагаю, что это только для информации отдельного устройства. Спасибо за ваши ответы заранее!

2 ответа

Решение

Ни IP, ни TCP не включают маску подсети в свои заголовки.

Маска подсети используется при получении трафика - если трафик появляется на проводе, который не находится в подсети, которой назначен интерфейс, он его отбросит. Если интерфейс находится в беспорядочном режиме, то весь трафик, который он получает, отправляется в стек TCP / IP.

ОС использует маску подсети, чтобы узнать, должен ли он направлять трафик непосредственно к IP-адресу назначения (если он находится внутри подсети) или к шлюзу (по умолчанию) (если это не так).

Поскольку сетевые адаптеры на аппаратном уровне традиционно отправляют и принимают кадры Ethernet, а не IP-пакеты, я не думаю, что это обязательно является аппаратной функцией сетевой карты - хотя современные сетевые адаптеры имеют "TCP Offload Engines" (TOE), которые выполняют большую часть обработка, требуемая TCP на самой сетевой плате - они, вероятно, также фильтруются по подсетям в аппаратном обеспечении.

Маска сети, связанная с сетевым интерфейсом, используется в следующих ситуациях:

  • Обычно (но не обязательно) система маршрутизации автоматически создает маршрут к подсети интерфейса
  • Только IPv4: хост определяет, является ли пакет, полученный интерфейсом, широковещательным для собственной подсети (и должен обрабатываться как таковой).

Эти параметры подробно описаны в статье " Последствия несоответствия сетевой маски".

Сама маска сети напрямую не влияет на то, должен ли хост отправлять пакет напрямую по адресу назначения или шлюзу; именно система маршрутизации ответственна за это решение (но, как сказано выше, маски сетей обычно используются для построения таблиц маршрутизации).

Другие вопросы по тегам