Я написал это на Yahoo Ответах несколько лет назад, и у меня было бесчисленное множество людей по электронной почте / спасибо мне за это объяснение. Поскольку у вас есть понимание подсетей, прочитайте это и посмотрите, сможете ли вы выяснить свой вопрос. Если разберетесь, оставьте ответ в комментарии. Если вы озадачены, задайте вопрос в комментарии. Это хорошая практика, и единственный способ научиться подсетям!
Итак, вам даны ваши сети, и вам предлагается разбить их на более мелкие сети. Я начну с вопроса А.
Вопрос А говорит, что у нас есть сеть 172.18.0.0 /16 , и мы хотим разбить ее на более мелкие сети. Для этого нам нужно позаимствовать некоторые биты хоста из данной сети. Прямо сейчас наши биты сети - это 172.18 октета, а биты нашего хоста - в 0.0 октета. В двоичном коде это будет набор из 1 и 0, но чтобы помочь вам визуально увидеть это, я собираюсь использовать N для сети и H для битов хоста.
Мы бы имели nnnnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh . Чтобы сделать нашу сеть меньше, нам нужно взять некоторые из этих "h" битов и сделать их "n" битами. Формула для этого 2^n . Тогда это скажет вам, сколько сетей вы можете сделать. Поэтому, если мы просто заимствуем один бит "h" , мы бы взяли 2^1=2 . Итак, теперь наши октеты будут выглядеть как nnnnnnnn.nnnnnnnn.nhhhhhhh.hhhhhhhh . Поскольку битовые значения октетов идут 128 64 32 16 8 4 2 1 , наш новый сетевой бит использует .128 . Таким образом, наши сети будут 172.18.0.0 /17 и 172.18.128.0 /17 .
Поскольку ваши вопросы требуют разбить его на 8 небольших сетей, нам просто нужно найти 2^n = 8 . Поскольку 2^3 = 8 мы собираемся заимствовать три хост-бита. Так что теперь наши биты будут выглядеть как nnnnnnnn.nnnnnnnn.nnnhhhhh.hhhhhhhh . Так как наш бит сети теперь использует 32 бита, наши сети будут работать на 32 . Таким образом, ваши четыре сети будут 172.18.0.0 /19 , 172.18.32.0 /19 , 172.18.64.0 /19 и так далее, пока вы не доберетесь до своей последней сети 172.18.224.0/19 .
Что касается вопроса B, он хочет, чтобы мы разбили 10.0.0.0 /8 на четыре подсети. Опять же, наши биты будут выглядеть как nnnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh . Теперь нам нужно выяснить 2^n = 4 . Поскольку 2^2 = 4 , мы заимствуем два хост-бита и используем их в качестве сетевых битов. Таким образом, наш октет теперь будет выглядеть как nnnnnnnn.nnhhhhhh.hhhhhhhh.hhhhhhhh . И наши сети будут 10.0.0.0 /10 и 10.64.0.0 /10 .
Теперь, когда мы знаем наши сетевые адреса, найти широковещательный адрес и количество узлов в подсети очень просто. Например, наша первая сеть 172.18.0.0 - это 172.18.0.0 /17 а следующая сеть будет 172.18.32.0 /17 . Широковещательный адрес всегда является последним адресом подсети, поэтому для сети 172.18.0.0 это будет 172.18.31.255 . Для сети 172.18.32.0 это будет 172.18.63.255 .
Чтобы узнать количество узлов, длинный / трудный путь - это 2^h . H количество битов хостов, которые у вас есть. Итак, для сети 172.18.0.0 /17 у нас есть 15 битов хоста, поэтому мы бы взяли 2^15 = 32768 .
Извините, это очень долго. Я не уверен, насколько вам удобно работать с подсетями в целом, но вот несколько ярлыков. Если вы хотите узнать количество подсетей, просто возьмите битовое значение 128 64 32 16 8 4 2 1 and divide it by 256 . Так, например, для вопроса А нам понадобилось восемь подсетей. Все, что вам нужно сделать, это взять 256/32 = 8. Тогда вы будете считать свои сети на 32, так как вы используете 32-значный бит.
Чтобы узнать количество узлов в сети, вы просто начинаете удваивать числа. A /30 может иметь 4 хоста, 2 из них могут быть использованы. /29 имеет 8, /28 имеет 16 и так далее. Последний октет действительно идет по битовым значениям, поэтому он просто идет 128 64 32 16 8 4 2 1 . Это общее количество хостов, если вы минус 2, это будет количество используемых хостов.
Затем, как только вы доберетесь до /23 , вы начнете удваиваться. A /24 is 256 , /23 is 512 , /22 1024 . Затем просто удваивайте каждый раз, когда вы увеличиваете значение на один бит