Как разделить сеть: деление на подсети

С самого начала хочу обратить внимание на тот факт, что данное статья не является теоретическим материалом по VLSM, это всего лишь более простой способ расчета. Прежде чем   знакомиться с ним, нужно понимать теорию по данному вопросу и быть готовым в любой момент проверить полученный результат в двоичной форме.
Так вот, для того чтобы сдать экзамен CCNA нужно уметь рассчитывать подсети. Это занятие, само по себе, трудно назвать увлекательным. Особенно когда не получается. Залог успеха в данном  мероприятии — знание степеней 2-ки от 0 до 12. На экзамене больше не понадобится, а в большинстве реальных ситуаций этого будет даже много. Еще нужно знать некоторые закономерности IP — адреса и маски подсети.
Меня с этими закономерностями познакомил один, в прямом смысле этого слова, «бородатый админ», который сопровождал привезенный нам на контору CISCO-роутер. Занося в серверную новую железяку, он застал меня за расчетом подстей. Классика жанра: адреса  и маски в бинарной форме, огромное количество изведенной бумаги… В общем, все плохо… Мне было предложено аккуратно все собрать и отправить в урну. После этого мне был показан «мастер-класс» по расчету подсетей и масок. Этот способ позволяет рассчитать подсети в уме… 

Прежде чем начать считать сети и маски, нужно хорошо запомнить небольшую таблицу степеней 2-ки (Таблица 1). 

Еще нужно помнить вот такую математику ( Таблица 2 и Таблица 3). Это в общем-то и посчитать можно, но лучше если это помнить… Это может сэкономить время на экзамене.

Таблица 2

Таблица 3

Кроме того, нужно помнить что маска сети, с значением отличным от 0 или 255 указывает на разделяемый октет, а ее значение указывает «шаг», с которым будут меняться адреса подсетей в данном октете. Т.е. нет необходимости переводить маску в двоичную систему исчисления, для того чтобы вычислить количество заимствованных бит для адресации подсетей и количество оставшихся бит для адресации узлов. Достаточно просто вычесть из 256 значение маски.

Пример:

Есть адрес сети класса С 192.168.5.0 / 255.255.255.0 деленной на подсети с маской 255.255.255.224

Для того чтобы рассчитать «шаг» адресации нужно из 256 вычесть 224

256 — 224 = 32

Это и есть «шаг» и, в тоже время, количество адресов в данной подсети. Необходимо помнить что количество адресов, которые могут быть назначены узлам в данной подсети меньше на 2.  Один из которых — это адрес подсети, а второй — широковещательный адрес.

К тому же, рассчитанный «шаг» указывает на количество бит используемых для адресации в пределах подсети. В данном случае 32 = 2^5.  Т.е. в четвертом октете заимствованы 3 бита для адресов подсетей и 5 бит остается для адресации узлов.

Имея такую информацию можно легко рассчитать префикс сети.

Вот так будут выглядеть адреса подстетей, рассчитанные с использование значения «шага» равным 32

192.168.5./ 255.255.255.224  —    192.168.5.31 / 255.255.255.224  

192.168.5.32 / 255.255.255.224 —   192.168.5.63 / 255.255.255.224

192.168.5.64 / 255.255.255.224 —   192.168.5.95 / 255.255.255.224

192.168.5.96 / 255.255.255.224 —   192.168.5.127 / 255.255.255.224
192.168.5.128 / 255.255.255.224 — 192.168.5.159 / 255.255.255.224
192.168.5.160 / 255.255.255.224 — 192.168.5.191 / 255.255.255.224
192.168.5.192 / 255.255.255.224 — 192.168.5.223 / 255.255.255.224

192.168.5.224 / 255.255.255.224 — 192.168.5.255 / 255.255.255.224

  • Так как адресация начинается с 0, то инкрементируя адрес с использованием значения «шага» получаем следующий адрес сети.

  • Для того чтобы зная «шаг» вычислить сколько получится подсетей, необходимо 256 разделить на «шаг»
  • 256 / 32 = 8

Если вместо маски указан префикс, то все еще проще. В случае с маской 255.255.255.224 префикс выглядел бы как /27.  В это случае придется вооружится знанием степеней 2-ки.

Стандартное количество бит в префиксе для сети класса С — /24, максимальное количество бит в маске 32.

Количество адресов в подсети 2 ^(32 — 27) = 2 ^5 = 32

Количество подсетей 2 ^(27 — 24) = 2 ^3 = 8

Т.е. из одной сети класа С 192.168.5.0/255.255.255.0  получается 8 подсетей по 32 адреса ( 30  из которых можно назначить узлам) если использовать маску 255.255.255.224 или префикс /27.

Немного иначе обстоят дела с сетью класса В. Общие принципы расчета остаются прежними.  В тоже время, когда речь ведется о расчете подсетей в пределах сети класса В, нужно быть предельно внимательным, так как именно в этом случае может возникнуть возможность для «вопроса с подвохом». По крайней мере, две таких возможности:
1. 4-й октет адреса равный 0 не всегда указывает на адрес подсети;
2. 4-й октет адреса равный 255 не всегда указывает на широковещательный адрес;
Это обусловлено тем, что адрес узла начинается в третьем октете, и если в четвертом октете 0 (все биты 4-го октета установлены в 0 ) или 255 (все биты 4-го октета установлены в 1 ), то это не означает на 100%,  что в третьем октете, в части адреса используемой для адресации узлов,  тоже самое.  Так что если в вопросе просят указать адреса сетей или широковещательные адреса, и если среди вариантов есть разделенная сеть класса В, то нужно сразу начинать подозревать создателей экзамена в подвохе. Хотя более правильным будет подозревать их в этом с самого начала экзамена, с самого первого вопроса…

Есть адрес сети класса В 172.16.0.0 деленная на подсети с маской 255.255.240.0

Для того чтобы рассчитать «шаг» адресации нужно из 256 вычесть 240

Это и есть «шаг», но в отличии от предыдущего примера с сетью класса С , это значение не является количеством адресов в данной подсети.

Это обусловлено тем, что разделение происходит в третьем октете, и еще есть четвертый октет, значения которого может меняться от 0 до 255 (всего 256 возможных вариантов). Для того, чтобы рассчитать количество  адресов в подсети, нужно «шаг» ( в нашем случае 16 ) умножить на 256.

Звучит угрожающе, и кажется, что не обойтись без калькулятора, но в действительности это всего-лишь 4 раза по 1024, что уже не так уж страшно.

256*16 = 1024 * 4 = 4096

Не забываем о том, что количество адресов, которые могут быть назначены узлам в данной подсети меньше на 2.  Один из которых — это адрес подсети, а второй — широковещательный адрес.

К тому же, рассчитанный «шаг» указывает на количество бит данного октета, используемых для адресации в пределах подсети. В данном случае 16 = 2^4.  Т.е.

в третьем октете заимствованы 4 бита для адресов подсетей и 4 бита третьего октета для адресации узлов В данном случае, это не полное количество бит, используемое для адресации внутри подсети,  так как есть еще и четвертый октет с его 8-и битами.

Вот так будут выглядеть адреса подстетей, рассчитанные с использование значения «шага» равным 16

172.16..0 / 255.255.240.0  —    172.16.15.255 / 255.255.240.0

172.16.16.0 / 255.255.240.0 —   172.16.31.255 / 255.255.240.0  

172.16.32.0 / 255.255.240.0 —   172.16.47.255 / 255.255.240.0  

172.16.48.0 / 255.255.240.0 —   172.16.63.255 / 255.255.240.0  

172.16.64.0 / 255.255.240.0 —   172.16.79.255 / 255.255.240.0  

172.16.80.0 / 255.255.240.0 —   172.16.95.255 / 255.255.240.0  

172.16.96.0 / 255.255.240.0 —   172.16.111.255 / 255.255.240.0   

172.16.112.0 / 255.255.240.0 — 172.16.127.255 / 255.255.240.0    

172.16.128.0 / 255.255.240.0 — 172.16.143.255 / 255.255.240.0  
172.16.144.0 / 255.255.240.0 — 172.16.159.255 / 255.255.240.0  
172.16.160.0 / 255.255.240.0 — 172.16.175.255 / 255.255.240.0  
172.16.176.0 / 255.255.240.0 — 172.16.191.255 / 255.255.240.

0  
172.16.192.0 / 255.255.240.0 — 172.16.207.255 / 255.255.240.0  
172.16.208.0 / 255.255.240.0 — 172.16.223.255 / 255.255.240.0  
172.16.224.0 / 255.255.240.0 — 172.16.239.255 / 255.255.240.0  
172.16.240.0 / 255.255.240.0 — 172.16.255.255 / 255.255.240.

0    

Тоже самое, но  с использованием префикса. В случае с маской 255.255.240.0 префикс выглядел бы как /20.  Снова вооружаемся знанием степеней 2-ки.

Стандартное количество бит в префиксе для сети класса В — /16, максимальное количество бит в маске 32.

Количество адресов в подсети 2 ^(32 — 20) = 2 ^12 = 4096

Количество подсетей 2 ^(20 — 16) = 2 ^4 = 16

Т.е. из одной сети класа В 172.16.0.0 / 255.255.0.0  получается 16 подсетей по 4096 адресов ( 4094 из которых можно назначить узлам) если использовать маску 255.255.240.0 или префикс /20.

В общем все не очень-то сложно. Если нужно просто «нарезать» подсети исходя из выдвигаемых требований к количеству узлов или сетей.  Но не нужно расслабляться. Таких вопросов будет не так уж много. Создатели экзамена не упустят возможности подловить нас на чем-нибудь не слишком очевидном. Для того чтобы не попасться на уловки, нужно постараться предусмотреть все или, хотя бы, большую часть возможных каверз. Первое  о чем не стоит забывать это о том, что реальное доступное к использованию количество адресов всегда меньше на 2 от числа отсекаемого маской или префиксом. Адрес сети и широковещательный адрес нельзя назначать узлам сети. Второе о  чем следует помнить — это наличие в CISCO CLI команды «ip subnet-zero», которая позволяет использовать первую и последнюю подсети. Как правило, в таких случаях использование данной команды явно указывается в  тексте вопроса. Но все равно не стоит об этом забывать. Третье что можно предположить — это более короткие префиксы ( маски меньшего размера ) в цепочке сетей, которую нужно продолжить. Т.е. нужно выбрать адресацию для новой сети. Для примера приведены несколько сетей с префиксом, например, /28, а последняя префиксом, например, /27. В заданий будет требоваться выбрать адресацию для следующей сети.  Как правило в таких случаях на автомате выбирается вариант ответа который не учитывает размер последней сети из примера.
Пример того как может выглядеть последовательность сетей на схеме 192.168.104.0/28
192.168.104.16/28
192.168.104.32/28
192.168.104.48/28

192.168.104.64/27

Возможный варианты ответов,  два из которых могут выглядеть примерно так 192.168.104.80/28
192.168.104.96/28

В таком случае, если не обратить внимание на префикс последней сети, логичным будет выбрать 192.168.104.80/28, но из-за более короткого префикса 192.168.104.64/27, получается что адреса накладываются, что неприемлемо. В таком случае правильный ответ 192.168.104.96/28.

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

192.168.5.159 / 27

172.16.94.255 / 20

Так и тянет выбрать 172.16.94.255 / 20 в качестве широковещательного адреса, а это адрес узла. Из этих двух вариантов  192.168.5.159 / 27 является широковещательным адресом. 

Тоже самое, но вместо широковещательных адресов — адреса сети. Варианты ответов, часть из которых легко узнаются как адреса сети, а также два адреса которые могут выглядеть так: 

192.168.5.48 / 29

172.16.94.0 / 20

Опять хочется выбрать 172.16.94.0 / 20 в качестве адреса сети, а это опять адрес узла. Из этих двух вариантов  только 192.168.5.48 / 29 является адресом сети. 

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

Самая полная и лучшая шпаргалка по делениям сетей на подсети. В ней есть всё

В эту шпаргалку Я постарался внести всё, что может потребоваться при делении сети: таблица масок подсети, префиксы масок, количество возможных адресов, часто встречающиеся комбинации двоичных чисел с переводом в десятичные, степени двойки, формулу количества хостов и сети, пример, как считать ip-адрес, таблица «классовая адресация», зарезервированные диапазоны ip-адресов, специальные ip-адреса, vlsm и cidr.

  • Шпаргалка сделана в виде PDF файла (241 КБ), внутри которого 2 странички с цветными табличками.
  • А теперь шпаргалка из PDF переведена в HTML!
  • А теперь шпаргалка из PDF переведена в HTML (в двух частях)!

Процесс деления сети на подсети проще объяснить на конкретном примере.

Представим, что у нас есть сеть из трех маршрутизаторов, трех коммутаторов и нескольких компьютеров, которую требуется разделить на 6 подсетей. Схема сети показана на рисунке ниже.

На всю сеть нам выделили один IP-адрес 192.168.0.0/24, который нам и требуется разделить на 6 подсетей. В двоичном виде этот IP-адрес выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.00000000 .

    Требуемое количество узлов (хостов, в данном случае компьютеров) в каждой подсети:

  • Подсеть A — 100 узлов
  • Подсеть B — 50 узлов
  • Подсеть C — 20 узлов
  • Подсеть D — 2 узла
  • Подсеть E — 2 узла
  • Подсеть F — 2 узла

Запомните, начинать делить сеть требуется с сети с максимальным количеством узлов.

«/24» — это префикс маски подсети (краткая запись маски). Полная запись маски подсети 255.255.255.0. В двоичном отображении маска подсети выглядит так: 11111111.11111111.11111111.00000000 — это значит, что нам доступно 8 бит для деления сети.

Воспользуемся шпаргалкой выше (а именно таблицей «BIN to DEC»). Первой подсети A нам требуется выделить IP-адреса для 100 узлов.

В таблице «BIN to DEC» мы видим, что заняв в маске один бит из восьми, мы получим 1 бит к порции сети (а это 2 подсети) и 7 битов в порции адреса (01111111 = 127).

127 вместе с нулем по количеству равен 128, это полное количество адресов, что удовлетворяет требованиям (и даже остается несколько адресов про запас).

И так, меняем маску с «/24» на «25» (в двоичном формате будет 11111111.11111111.11111111.10000000). Применим новую маску к нашей сети и получим 2 подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.00000000 (сеть 192.168.0.0/25)
2 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/25)

В новых двух сетях порция сети составляет 7 битов. По формуле (которая есть в шпаргалке) проверим, хватит ли нам 7 битов для сети со 100 узлами. 2^7-2=128-2=126, это значит что 7 битов даёт нам 126 адресов для узлов. (Напомню формулу: 2^X-2=количество адресов для узлов, где X равен количеству нулей, а «-2» — это под специальные адреса, которые нельзя назначать узлам.)

Осталась у нас одна сеть 192.168.0.128/25, и требуется для подсети B 50 адресов для узлов. Как и в предыдущий раз, мы видим в таблице «BIN to DEC» 00111111 = 63, это больше 50, а значит удовлетворяет требованиям. Занимаем еще один бит у порции адреса, остается 6 (2^6-2=62).

Маска становится на единицу больше /26, применяем её к нашей сети и получаем две новых подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/26)
2 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.

192/26)

Таким же образом отделяем еще 1 бит от порции адреса узла (00011111 = 31, что больше 20, и следовательно нам подходит), маска уже /27. Снова две сети:
1 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.192/27)
2 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/27)

Осталось нам выделить 3 подсети по 2 адреса для узлов. По таблице видим, что нам достаточно для порции адреса узла всего двух битов (00000011 = 3), 2^2-2=2 адреса для двух узлов.

В свою очередь для трех, одинаковых по размеру, подсетей достаточно тоже двух битов (2^2=4, формула из шпаргалки). Всего в IP-адресе 32 бита, вычитаем требующиеся нам 2 и получаем 30, следовательно используем маску /30. Для нашей оставшейся сети это выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .

Делим нашу новую сеть на 3 подсети:
1 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .
2 — 11000000.10101000.00000000.11100100 (сеть 192.168.0.228/30) .
3 — 11000000.10101000.00000000.11101000 (сеть 192.168.0.232/30) .

    Готово, задача выполнена:

  • Подсеть A — 192.168.0.0/25
  • Подсеть B — 192.168.0.128/26
  • Подсеть C — 192.168.0.192/27
  • Подсеть D — 192.168.0.224/30
  • Подсеть E — 192.168.0.228/30
  • Подсеть F — 192.168.0.232/30

Это не простой пример деления сети на подсети, поэтому если Вам требуется попроще пример для понимания — пишите письма на eaneav@gmail.com.

Протокол TCP/IP, служба DNS

Каждый сетевой адаптер имеет свой уникальный физический адрес (или MAC-адрес). За отображение IP-адресов адаптеров на их физические адреса отвечает протокол ARP (Address Resolution Protocol).

Необходимость протокола ARP продиктована тем обстоятельством, что IP-адреса устройств в сети назначаются независимо от их физических адресов. Поэтому для доставки сообщений по сети необходимо определить соответствие между физическим адресом устройства и его IP-адресом — это называется разрешением адресов.

В большинстве случаев прикладные программы используют именно IP-адреса. А так как схемы физической адресации устройств весьма разнообразны, то необходим специальный, универсальный протокол.

Протокол разрешения адресов ARP был разработан таким образом, чтобы его можно было использовать для разрешения адресов в различных сетях. Фактически ARP можно использовать с произвольными физическими адресами и сетевыми протоколами.

Протокол ARP предполагает, что каждое устройство знает как свой IP-адрес, так и свой физический адрес. ARP динамически связывает их и заносит в специальную таблицу, где хранятся пары «IP-адрес — физический адрес» (обычно каждая запись в ARP-таблице имеет время жизни 10 мин.). Эта таблица хранится в памяти компьютера и называется кэш протокола ARP (ARP-cache).

Работа протокола ARP заключается в отправке сообщений между сетевыми узлами:

  • ARP Request (запрос ARP) — широковещательный запрос, отправляемый на физическом уровне модели TCP/IP, для определения MAC-адреса узла, имеющего конкретный IP-адрес;
  • ARP Reply (ответ ARP) — узел, IP-адрес которого содержится в ARP-запросе, отправляет узлу, пославшему ARP-запрос, информацию о своем MAC-адресе;
  • RARP Request, или Reverse ARP Request (обратный ARP-запрос) — запрос на определение IP-адреса по известному MAC-адресу;
  • RARP Reply, или Reverse ARP Reply (обратный ARP-ответ) — ответ узла на обратный ARP-запрос.

Для более эффективного использования пространства адресов IP-сети с помощью маски подсети могут быть разбиты на более мелкие подсети (subnetting) или объединены в более крупные сети (supernetting).

Рассмотрим на примере разбиение сети 192.168.1.0/24 (сеть класса C) на более мелкие подсети. В исходной сети в IP-адресе 24 бита относятся к идентификатору сети и 8 бит — к идентификатору узла. Используем маску подсети из 27 бит, или, в десятичном обозначении, — 255.255.255.224, в двоичном обозначении — 11111111 11111111 11111111 11100000. Получим следующее разбиение на подсети:

Таблица 4.3. Подсеть
Диапазон IP-адресов
Широковещательный адрес в подсети

192.168.1.0/27 192.168.1.1–192.168.1.30 192.168.1.31
192.168.1.32/27 192.168.1.33–192.168.1.62 192.168.1.63
192.168.1.64/27 192.168.1.65–192.168.1.94 192.168.1.95
192.168.1.96/27 192.168.1.97–192.168.1.126 192.168.1.127
192.168.1.128/27 192.168.1.129–192.168.1.158 192.168.1.159
192.168.1.160/27 192.168.1.161–192.168.1.190 192.168.1.191
192.168.1.192/27 192.168.1.193–192.168.1.222 192.168.1.223
192.168.1.224/27 192.168.1.225–192.168.1.254 192.168.1.255

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

IP-адреса в данных подсетях будут иметь структуру:

Отметим очень важный момент. С использованием такой маски узлы с такими, например, IP-адресами, как 192.168.1.48 и 192.168.1.72, находятся в различных подсетях, и для взаимодействия данных узлов необходимы маршрутизаторы, пересылающие пакеты между подсетями 192.168.1.32/27 и 192.168.1.64/27.

Примечание. Согласно стандартам протокола TCP/IP для данного примера не должно существовать подсетей 192.168.1.0/27 и 192.168.1.224/27 (т.е. первая и последняя подсети). На практике большинство операционных систем (в т.ч. системы семейства Microsoft Windows) и маршрутизаторов поддерживают работу с такими сетями.

Аналогично, можно с помощью маски подсети объединить мелкие сети в более крупные.

Например, IP-адреса сети 192.168.0.0/21 будут иметь следующую структуру:

Диапазон IP-адресов данной сети: 192.168.0.1–192.168.7.254 (всего — 2046 узлов), широковещательный адрес подсети — 192.168.7.255.

Преимущества подсетей внутри частной сети:

  • разбиение больших IP-сетей на подсети (subnetting) позволяет снизить объем широковещательного трафика (маршрутизаторы не пропускают широковещательные пакеты);
  • объединение небольших сетей в более крупные сети (supernetting) позволяет увеличить адресное пространство с помощью сетей более низкого класса;
  • изменение топологии частной сети не влияет на таблицы маршрутизации в сети Интернет (хранят только маршрут с общим номером сети);
  • размер глобальных таблиц маршрутизации в сети Интернет не растет;
  • администратор может создавать новые подсети без необходимости получения новых номеров сетей.

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

Однако при разбиении сетей на подсети или при объединении сетей для определения границ битов, идентифицирующих номер подсети, такая схема не подходит. Для этого как раз и используется 32-битная маска подсети, которая помогает однозначно определить требуемую границу.

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

  • 255.0.0.0 – маска для сети класса А;
  • 255.255.0.0 — маска для сети класса В;
  • 255.255.255.0 — маска для сети класса С.

Для администратора сети чрезвычайно важно знать четкие ответы на следующие вопросы:

  • Сколько подсетей требуется организации сегодня?
  • Сколько подсетей может потребоваться организации в будущем?
  • Сколько устройств в наибольшей подсети организации сегодня?
  • Сколько устройств будет в самой большой подсети организации в будущем?

Отказ от использования только стандартных классов IP-сетей (A, B, и C) называется бесклассовой междоменной маршрутизацией (Classless Inter-Domain Routing, CIDR).

Курс по основам компьютерных сетей на базе оборудования Cisco. Этот курс поможет вам подготовиться к экзаменам CCENT/CCNA, так как за его основу взят курс Cisco ICND1

Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать основы работы компьютерных сетей и протокол сетевого уровня IP, а если быть более точным, то его версию IPv4.

В бесклассовых IP сетях используется маска подсети/сети переменной длины и работает два механизма: CIDR и VLSM.

Бесклассовые сети являются прямой линией развития от классовых сетей, их преимущество заключается в том, что они позволяют экономнее расходовать пул IPv4 адресов. О том за счет чего это происходит, мы поговорим в этой теме.

  • Если тема компьютерных сетей вам интересна, то можете ознакомиться с другими записями курса.
  • Оглавление первой части: «Основы взаимодействия в компьютерных сетях».
  • Оглавление четвертой части: «Сетевой уровень: протокол IP и его версия IPv4».

4.6.1 Введение

Понимание принципа работы механизмов CIDR и VLSM, а также выбор и расчет маски подсети переменной длины — это ключевой момент в современных IPv4 сетях, без понимания которого будет трудно и неприятно работать, работа всегда неприятна, если она не понятна. Поэтому давайте избавимся от все неприятных моментов и детально разберемся с этим вопросом. Тема очень большая и для ее понимания рекомендую, как минимум, повторять примеры самостоятельно.

4.6.2 CIDR или механизм бесклассовых IP сетей

CIDR (Classless Inter-Domain Routing) – это гибкий метод IP-адресации в компьютерных сетях, который позволяет экономить адресное пространство, данный метод снимает ограничение классовых сетей, которое заключалось в том, что конкретный IP-адрес принадлежал конкретному классу, а это означало, что этому IP-адресу соответствовала маска фиксированной длины, строго закрепленная за классом.

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

Давайте посмотрим на примере: у нас есть локальная сеть из 6 компьютеров, подключенных к коммутатору, нам нужно, чтобы эти компьютеры могли взаимодействовать между собой. Как нам быть, если используется классовая адресация.

Всё просто: нужно взять одну любую сеть из класса C и раздать IP-адреса из этой сети нашим компьютерам, это наглядно продемонстрировано на Рисунке 4.6.1.

Рисунок 4.6.1 Сеть из шести узлов, в которой используется классовая адресация

Почему сеть класса C? Да потому что это самый маленький диапазон IP-адресов, который возможен в классовых сетях, но, постойте, зачем нам сеть, в которой 256 IP-адресов, ведь она дает возможность включить 254 узла (ведь один IP-адрес уйдет на номер сети, а другой будет широковещательным и их нельзя выдавать узлам), а у нас их всего шесть! А вдруг за эти IP-адреса нужно будет кому-то платить, а зачем нам платить за 256 адресов, когда нам нужно 6 адресов? Правильно, не зачем, мы маленькая российская компания, которая никогда не вырастет, нам не нужно столько адресов, у нас нет столько денег! А если взглянуть на ситуацию немного иначе. Допустим, в мире нет никаких частных IP-адресов, все адреса являются публичными, мы маленькая компания, сотрудник которой приходит к окошку, в котором сидит тетенька, выдающая IP-адреса по справкам с 14:00 до 15:00 только по средам и пятницам. А в мире до сих пор используются классовые сети. Мы приходим со справкой, в которой написано: нужно 6 IP-адресов. Тетенька читает эту справку и говорит: нет, не дам я вам IP-адреса, потому что их и так мало, да и выдать я могу вам только 256 адресов, и вообще у меня в инструкции написано: выдавать IP-адреса только тем, у кого в сети больше 200 узлов, а то на всех не хватит.

То есть не экономность классовых сетей весьма ощутима, даже если в нашей сети два узла, мы в любом случае вынуждены использовать сеть, которая, как минимум, рассчитана на 254 узла.

Не забываем, что классы у нас фиксированные и маски в этих классах так же фиксированные. Получается, что нужно отказываться от классов и фиксированных масок.

И это действительно произошло, появились бесклассовые сети или CIDR, принцип работы, которых основан на масках переменной длины или VLSM (variable length subnet mask).

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

4.6.2 Сеть из семи узлов, в которой используется маска переменной длины

Заметили? Мы используем IP-адрес из сети класса А, но почему-то у нас какая-то странная маска: 255.255.255.240. А это всё благодаря CIDR и VLSM

TCP/IP: Структура IPv4 адреса, сети и подсети, разделение сети на подсети

IP-адрес представляет собой число размером 32 бита (или 4 байта), которое может быть записано в любой системе счисления (тут речь про адрес протокола IP version 4, в IPv6 он имеет размер 128 бит).

Например, адрес в десятичной системе 127.0.0.1 можно записать так:

01111111.00000000.00000000.00000001

  • Адрес делится на 4 октета, по 8 бит каждый, которые могут иметь значение от 0 (00000000) до 255 (11111111):
  • IP-адрес содержит в себе две основных части – адрес сети и адрес хоста в этой сети.

К примеру, адрес 77.120.120.20 представляет собой сеть 77.120.120.0, в которой находится хост с адресом 20.

Сети и маска сети

Помимо указания самого IP-адреса, на сетевом интерфейсе так же указывается его маска сети.

Маска не передаётся в заголовках TCP/IP пакетов, но используется сетевой картой для определения дальнейшего маршрута пакета – если адрес назначения находится в одной сети с адресом отправителя – он будет отправлен напрямую, если же в отдельной сети – пакет будет передан маршрутизатору, согласно таблице маршрутизации пакетов.

Рассмотрим адрес 77.120.120.20 с маской 255.255.255.0.

В двоичном представлении этот адрес можно записать так:

адрес:

01001101.01111000.01111000.00010100

маска:

11111111.11111111.11111111.00000000

Для первых трёх октетов в IP-адресе установлен (или “включён“) “бит маски” (иначе – “битовая маска“), следовательно – первые три октета адреса являются адресом сети, а последние 8 бит – адресом хоста.

Таким образом, адрес 77.120.120.20 с маской 255.255.255.0 является в сетью 77.120.120.0, которая является классом С (которая, в свою очередь, является подсетью сети 77.120.0.

0 класса В, которая является подсетью сети 77.0.0.0, которая является сетью верхнего уровня – А, хотя с появлением CIDR (см.

ниже) понятие “классы сети” фактически потеряло актуальность).

Что бы сократить запись о сети  77.120.120.0 с маской 255.255.255.0 – можно использовать сокращённую форму: 77.120.120.0/24.

“/24” называется “префикс сети“, и указывает на количество “битов маски“. Таким образом, из 32 бит адреса 24 указаны как адрес сети, а 8 – остаются для адресов хостов в этой сети.

Если взять, к примеру, сеть 77.120.120.0/28 – мы получим только 4 бита, выделенных для адресов, т.е. маска сети будет выглядеть как 11111111.11111111.11111111.11110000, или 255.255.255.240.

Такое описание сетей и подсетей называется “бесклассовой классификацией” (Classless Inter-Domain Routing – CIDR).

Использование CIDR даёт возможность отказаться от традиционного разбиения на сети различных классов (А, B, C и т.д.) , и создавать подсети необходимого размера.

К примеру, подсеть 77.120.120.0/28 (которую можно перевести в маску сети 11111111.11111111.11111111.11110000 в двоичном виде (4 последних бита “сброшены”)или 255.255.255.240 в десятичном) содержит 4 бита адресов хостов. В 4 бита можно “вместить” 24 адресов – 16.

Из этих 16 стоит вычесть первый (сам адрес 77.120.120.0, так он является адресом самой сети) и последний (77.120.120.

255, так как он является широковещательным, или broadcast, адресом сети, на который в теории должны отвечать все хосты сети), таким образом – из 16 адресов сети для хостов остаётся 14 адресов.

Маска подсети Альтернативный
формат записи
Последний октет
(в двоичном виде)
Последний октет
(в десятичном виде)
255.255.255.0 /24 0000 0000
255.255.255.128 /25 1000 0000 128
255.255.255.192 /26 1100 0000 192
255.255.255.224 /27 1110 0000 224
255.255.255.240 /28 1111 0000 240
255.255.255.248 /29 1111 1000 248
255.255.255.252 /30 1111 1100 252
Маска подсети Размер идентификатора хоста Максимальное
количество хостов
8 бит 255.0.0.0 24 бит 224 – 2 16777214
16 бит 255.255.0.0 16 бит 216 – 2 65534
24 бит 255.255.255.0 8 бит 28 – 2 254
29 бит 255.255.255.248 3 бит 23 – 2 6

Более полные таблицы сетей можно найти в статье Сети, подсети, классы подсетей. Таблица подсетей.

Разделение сети на подсети

Допустим, имеется сеть 77.120.120.0/24, или сеть 77.120.120.0 с маской 255.255.255.0 – из которой необходимо выделить две различные сети. Сеть 77.120.120.0/24 включает в себя адреса от 77.120.120.0 до 77.120.120.255.

Представим эту сеть и её маску в двоичном виде:

адрес сети:

1001101.1111000.1111000.00000000

маска:

11111111.11111111.11111111.00000000

Займём на один бит больше в последнем октете маски сети – 11111111.11111111.11111111.10000000 (или 255.255.255.128 в десятичном виде). У нас осталось (32 бита IP-адреса – 7 бит под адреса хостов) = 25 бит – под маску.

Следовательно, первая сеть в десятичном виде будет выглядеть как 77.120.120.0/25, и включает в себя адреса от 77.120.120.0 до 77.120.120.127 (7 бит под адреса: 27 = 128 адресов, включая первый адрес 0 – получаем 127 всего), а вторая сеть получит адреса от 77.120.120.128 до 77.120.120.

255, или 77.120.120.128/25.

Ещё один способ рассчитать максимальное значение (последний адрес для сети): в 25-ти битной маске мы имеем 7 бит под адреса; следовательно – адрес первой сети в двоичном виде будет выглядеть так: 1001101.1111000.1111000.00000000 – где жирным выделен адрес сети, а курсивом – “свободные” биты под адреса хостов. Максимальное значение, которое можно вместить в семь бит – 01111111 = 127.

Для второй сети мы имеем вид 77.120.120.128, или 1001101.1111000.1111000.10000000, а максимальное значение последнего октета будет 11111111 = 255.

Ссылки по теме

https://www.adminsub.net

https://www.shunsoft.net

https://en.wikipedia.org

  1. https://habrahabr.ru
  2. https://planetcalc.ru
  3. https://zyxel.ua

Тонкое искусство разбиения вашей сети на подсети

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

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

В этой статье мы рассмотрим, как правильно и без ошибок наладить работу с подсетями в рамках одной локальной сети.

Безоп

Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии

Начни обучение бесплатно
p>

Прежде всего, стоит понимать, а нужно ли вообще разбивать сеть? Если фирма небольшая, на 3-4 сотрудника в одном офисе, то в такой разбивке нет необходимости. Однако, если сотрудники компаний занимают несколько кабинетов, или же отделы находятся в различных зданиях — в этом случае без сегментации на подсети не обойтись.

Вообще, интернет-провайдер рассматривает любую организацию как одну сеть, в идеале, имеющую один IP-адрес. На деле так получается далеко не всегда.

Если организация крупная, то в ней по факту может быть несколько локальных подсетей, объединенных в одну сеть, которую и будет «видеть» провайдер.

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

Конечно, самым очевидным решением будет присвоение каждому устройству своего IP-адреса. Но если в сети есть несколько маршрутизаторов, такой вариант будет неприемлемым или исключительно сложным в реализации.

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

Задачка: из пункта А в пункт Б выехал поезд…Упс, нет, не та задача. Пусть в организации есть несколько отделов. Чтобы понять, какое количество IP-адресов выдать на подсеть, необходимо знать потребности каждого отдела.

Иными словами, знать максимальное количество компьютеров и сетевых устройств, которое планируется ставить в каждом отделе. Для каждого компьютера (и любого другого сетевого девайса) в рамках подсети будет установлен свой индивидуальный IP-адрес.

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

Есть два варианта разделения сети. Это вариант с подсетями равного размера и вариант с подсетями разного размера. Рассмотрим первый случай:

Если вы на хотите заморачиваться с самостоятельным расчетом подсетей, то мы сделали все за вас ????. Воспользуйтесь нашим готовым калькулятором подсетей

Вариант 1: Разделение сети на подсети одинакового размера:

Вообще, в сети, устроенной по протоколу IPv4 можно, как правило размещают 254 устройства (2^8-2 – два в восьмой степени минус 2. Минус два, так как один адрес широковещательный а другой сетевой, так называемый нулевой).

Из адресного пространства узла (последние 8 бит) для адресации подсетей потребуется занять несколько бит. Если занять 1 бит получится 2 подсети, 2 бита 4 подсети, 3 бита 8 подсетей и так далее.

Маска подсети будет увеличиваться на +1 за каждый занятый для разбивки бит.

Таким образом, определив нужное количество подсетей, мы можем начинать разбивку. Стоит помнить, что чем больше подсетей, тем меньше в них будет адресов.

Например, если подсетей нужно сделать 7, то для адресации в адресном пространстве узла мы возьмем 3 бита, и еще 5 у нас останется для присвоения IP-адресов.

Таким образом, в каждой подсети можно будет установить (2^5-2 – два в пятой степени минус два) = 30 устройств. Общая вместимость сети в данном случае составит (30*8) =240 устройств.

Диапазоны устройств в подсетях найти также несложно. Они будут распределены от 0 до 254, при этом адреса подсети уже будут зарезервированы (, 32, 64, 96, 128, 160, 192, 224)

Пример:

  • 1-я подсеть

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *