Понимание маски подсети

291
Q-bertsuit

Я читал, пытаясь понять, что такое подсеть и маска подсети, но я все еще немного сбит с толку.

Когда я запускаю ipconfig, Ethernet-адаптер Ethernet Connection может сказать что-то вроде следующего:

IPv4 Address: 10.69.6.93  Subnet Mask 255.255.254.0 

Правильно ли я предположить следующее:

  • Мой сетевой администратор настроил сеть на 32768 подсетей
  • Каждая подсеть может состоять из 510 хостов
  • Сеть простирается от 10.0.0.0 до 10.255.255.254
  • Подсеть, в которой я оказался, находится с 10.69.6.1 по 10.69.7.254.
  • Я не могу никого пинговать за пределами моей подсети
  • Хосты в других подсетях имеют ту же маску подсети, что и я
0
https://networkengineering.stackexchange.com/questions/7106/how-do-you-calculate-the-prefix-network-subnet-and-host-numbers вы можете сослаться здесь BlueBerry - Vignesh4303 5 лет назад 0

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

1
grawity

Мой сетевой администратор настроил сеть на 32768 подсетей

Ваши расчеты будут правильными, учитывая два предположения:

  1. что вся сеть является / 8 (255.0.0.0),
  2. и что все подсети имеют одинаковый размер, то есть все / 23 (255.255.254.0).

Однако вы не можете автоматически делать эти предположения.

  1. Вы не можете определить размер всей сети исключительно по ее адресу. Только резервирование для частного использования является / 8, но фактическая маршрутизация уже давно является полностью бесклассовой - во всех одноадресных сетях должен быть явно указан их размер (маска сети или / префикс).

    Это правда, что в более ранние времена (эра «классный + подсеть») вся сеть 10.x была бы «классом А» и, следовательно, строго / 8, но это уже не обязательно так.

    Конечно, очень часто просто использовать все резервирование 10.0.0.0/8 в качестве единой сети. Но также возможно, что ваш сетевой администратор решил использовать 10.64.0.0/12 или 10.69.0.0/16 в качестве основной сети.

  2. Вы также не можете предполагать, что все подсети имеют одинаковый размер. Маска подсети определяет только размер этой подсети - вашему хосту не нужно ничего знать о удаленных подсетях (это знает только маршрутизатор). В сети IPv4 очень часто встречаются сочетания / 24, / 16, / 20, / 31 и так далее.

Каждая подсеть может состоять из 510 хостов

Возможно, да, но только если вы предполагаете, что все подсети в сети имеют одинаковый размер. Как говорилось ранее, это не всегда так.

Сеть простирается от 10.0.0.0 до 10.255.255.254

Возможно, да, но только если вы предполагаете, что сеть является / 8 (255.0.0.0). Как указывалось ранее, вы не можете сделать это предположение, основываясь только на адресе сети.

Подсеть, в которой я бываю, находится в 10.68.6.1 - 10.68.7.254

Да, если вы описываете адреса, доступные для хостов. Но для целей маршрутизации было бы правильнее также включить 10.69.6.0 - 10.69.7.255. (Я предполагаю, что '68' - опечатка.)

Причина в том, что промежуточные маршрутизаторы не знают, является ли данный адрес хостом или нет, потому что они не знают, насколько велика удаленная подсеть. Поэтому они будут пересылать пакеты для 10.69.6.0 так же, как 10.69.6.1. (Только когда пакет достигает конечного маршрутизатора, непосредственно подключенного к сети, это происходит, когда адреса «сеть» и «широковещание» действительно получают специальную обработку.)

Я не могу никого пинговать за пределами моей подсети

Вероятно, правильно, если у вас нет настроенного шлюза.

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

Вы можете увидеть все маршруты всех типов через netstat -r -nили route -4 print.

Хосты в других подсетях имеют ту же маску подсети, что и я

Нет. Каждая подсеть может быть разного размера.

Спасибо за этот ответ. Это многое прояснило для меня, хотя я думаю, что я должен прочитать больше, чтобы это было интуитивно понятно и имело смысл. Q-bertsuit 5 лет назад 0
68 был действительно опечаткой. Q-bertsuit 5 лет назад 0
Прочитайте статьи, в которых рассказывается о том, как работает таблица маршрутизации, предпочтительно те, в которых обсуждаются длины префиксов CIDR вместо сетевых масок. (Приоритетные правила с ними более интуитивны.) Когда вы узнаете, как работают маршруты, должно стать понятным назначение «маски подсети» и, например, причина, по которой подсети могут быть разных размеров. grawity 5 лет назад 1