2009-11-19 2 views
6

Каковы последствия неправильной установки сетевой маски? У меня есть приложение C++, которое устанавливает сетевую маску устройства. Если сетевая маска установлена ​​неверно, tftp не работает должным образом. Почему это произойдет? Какие еще проблемы возникают, когда сетевая маска неправильно настроена для устройства/ПК?Каковы последствия неправильной установки сетевой маски?

+2

Кто бы ни опустил, пожалуйста, оставьте комментарий для downvote. Я хотел бы исправить/объяснить, что вызвало downvote. Благодарю. – zooropa

+0

@zooropa: К сожалению, это обычная практика иметь «проезд вниз по голосам» здесь ... – jldupont

+0

Я обещаю, что я не буду пламенем/возмездием. Если вы оставите комментарий downvote в качестве ответа ниже, я даже верну его! Я думаю, что комментарии нижнего уровня так же важны, как и другие комментарии и ответы. Вещи можно узнать и от них! Я пошел на meta.stackoverflow.com и увидел вопрос о комментариях вниз. Джефф Этвуд прокомментировал это. http://meta.stackexchange.com/questions/135/encouraging-people-to-explain-down-votes/2373#2373 – zooropa

ответ

9

Хотя этот вопрос, вероятно, больше касается IP-сетей, чем программирования, это сложная тема для многих разработчиков.

Сетевая маска ограничивает адрес хоста (ваш компьютер или сервер) и сетевой адрес (часть инфраструктуры логической сети, в которой работает ваша система). Эти две части используются для доставки пакета данных на правильное устройство. Сетевой адрес получается путем привязки сетевой маски с IP-адресом. Рассмотрим следующий сценарий:

IP Address: 10.0.1.1 
Netmask: 255.255.0.0 

Адрес часть хоста IP-адрес для нашего ПК 1,1, так что компьютер знает, что любые адреса хостов, начиная 10.0. являются локальными для него. Любые адреса, которые затем запускаются 10.1 и т. Д., Не являются «локальными» и должны быть перенаправлены на маршрутизатор. Если у вас есть другое устройство, предназначенное, чтобы быть на одной и той же сети, что является:

IP Address: 10.0.2.1 
Netmask: 255.255.255.0 

Здесь маска подсети неправильно для нашего примера установки, это устройство теперь собирается увидеть сетевой адрес, как 10.0.2 и адрес хоста как 1, если он пытается связаться с 10.0.1.1, он увидит сетевой адрес 10.0.1! Не локально, и поэтому будет ссылаться на маршрутизатор по умолчанию для пересылки. Если сетевая маска была правильно настроена (то же самое, что и в первом примере, если предположить, что это правильный параметр для вашей сети), то второе устройство увидит первое как локальное, то есть в сети 10.0, и не будет пытаться перенаправить пакет маршрутизатор.

Многие протоколы с удовольствием справятся с этим, но tftp предназначен для работы в одной сети, и это не будет выполнено, поскольку есть мнение, что цель находится в другой сети.

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

6

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

5

Сетевая маска определяет, какая часть IP-адреса используется как адрес для сети и какая часть используется для рабочих станций.

Первый пример:

IP1: 192.168.20.4 
IP2: 192.168.192.4 
NM: 255.255.0.0 

Оба IP-адреса находятся в одной и той же сети. Они могут общаться друг с другом без необходимости использования маршрутизатора. Это связано с тем, что IP-адреса приведут к тому же битовой маске, когда вы или она с сетевой маской.

Второй пример:

IP1: 192.168.20.4 
IP2: 192.168.192.4 
NM: 255.255.128.0 

В настоящее время оба IP-адреса находятся в разных сетях, потому что, когда вы или IP-адреса с Netmask, в результате битовая будет отличаться, и они не будут иметь возможность общаться друг с другом без маршрутизатор, который маршрутизирует между двумя сетями.

Вы можете проверить это самостоятельно ipcalc.

1

Сообщается о возможных последствиях несогласованной сетевой маски here. Короче говоря:

  1. Хост, скорее всего, неправильно построит таблицу маршрутизации.
  2. Хост будет пропускать некоторые широковещательные пакеты и не отправлять рассылки должным образом.

Mis-функция TFTP почти наверняка вызвана первой причиной. Это влияет на любой другой протокол IP таким же образом.

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

Смежные вопросы