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

1646
pkSML

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

2

2 ответа на вопрос

1
LawrenceC

Neither IP or TCP include the subnet mask in their headers.

The subnet mask is used when receiving traffic - if traffic appears on the wire that is not within a subnet that the interface is assigned, it will drop it. If the interface is placed in promiscuous mode, then all traffic it receives is sent up the TCP/IP stack.

The OS uses the subnet mask to know if it should direct traffic directly to the destination IP (if it's within the subnet) or toward a (default) gateway (if it's not).

As NICs on the hardware level traditionally send and receive Ethernet frames, and not IP packets, I don't think this is necessarily a hardware function of the NIC - though modern NICs have "TCP Offload Engines" (TOEs) that perform much of the processing required by TCP on the NIC itself - those probably filter by subnet in hardware too.

Ваш ответ правильный, но последний абзац не имеет смысла. Маршрутизатор не получает в пакете TCP никакой информации о маске сети (вы сами сказали в первой строке, и это правильно). Это также не заботится о целевой IP-маске. Он просто сопоставляет целевой IP с таблицами маршрутизации, чтобы увидеть, на какой маршрутизатор следующего перехода он должен быть отправлен. И при чем тут DHCP? Таблицы маршрутизации изучаются через протокол маршрутизации или настраиваются статически. Даже если маршрутизатор получает один из своих собственных IP-адресов через DHCP, он не содержит информации о маршрутизации (кроме следующего перехода ... Tonny 10 лет назад 1
... шлюз для этого интерфейса). Основываясь на любой другой информации, маршрутизатор может использовать этот шлюз следующего перехода в качестве «маршрута последней инстанции». (Это типичный сценарий подключения клиента-маршрутизатора к Интернет-провайдеру. Маршрутизаторы инфраструктуры обычно вообще не используют DHCP.) Tonny 10 лет назад 0
Совершенно верно, когда я прочитал это снова, это не имело большого смысла. (Я удалил его.) Я думал о типичном жилом маршрутизаторе, где он получает свой WAN IP от восходящего кабеля / DSL DHCP. LawrenceC 10 лет назад 0
Ах ... Спасибо @ultrasawblade и Тонни. Я прекрасно понимаю, что вы говорите. Я думаю, что пойду в библиотеку и возьму несколько сетевых книг! Любые рекомендации будут оценены. Спасибо! pkSML 10 лет назад 0
`если на проводе появляется трафик, который находится вне подсети, которой назначен интерфейс`, что вы подразумеваете под проводом? Мой компьютер подключен только к одному маршрутизатору CodyBugstein 9 лет назад 0
Это возможно, особенно если у вас есть несколько узлов, подключенных через концентратор, а не коммутатор или старая сеть типа шины, где все узлы соединены одним и тем же физическим проводом, - для сетевого адаптера для получения трафика, который специально не предназначен для него (хотя редко ). Таким образом, ваша сетевая карта может подслушивать и, следовательно, может «слышать» любой трафик «по проводам». LawrenceC 9 лет назад 0
0
Konstantin Shemyak

The netmask, associated with a network interface, is used in the following situations:

  • Normally (but not necessarily) the routing system automatically creates a route to the subnet of the interface
  • IPv4 only: the host determines whether a packet received by an interface is a broadcast to own subnet (and should be processed as such).

These options are detailed in an article "Implications of Netmask Mismatch".

The netmask itself does not directly affect whether the host should send the packet directly to the destination address or to a gateway; it is the routing system which is responsible for this decision (but, as said above, netmasks are normally used for constructing the routing tables).

Похожие вопросы