понедельник, 26 марта 2012 г.

Деление на подсети

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

Так вот, для того чтобы сдать экзамен CCNA нужно уметь рассчитывать подсети. Это занятие, само по себе, трудно назвать увлекательным. Особенно когда не получается. Залог успеха в данном  мероприятии - знание степеней 2-ки от 0 до 12. На экзамене больше не понадобится, а в большинстве реальных ситуаций этого будет даже много. Еще нужно знать некоторые закономерности IP - адреса и маски подсети.

Меня с этими закономерностями познакомил один, в прямом смысле этого слова, "бородатый админ", который сопровождал привезенный нам на контору CISCO-роутер. Занося в серверную новую железяку, он застал меня за расчетом подстей. Классика жанра: адреса  и маски в бинарной форме, огромное количество изведенной бумаги... В общем, все плохо... Мне было предложено аккуратно все собрать и отправить в урну. После этого мне был показан "мастер-класс" по расчету подсетей и масок. Этот способ позволяет рассчитать подсети в уме... 


Прежде чем начать считать сети и маски, нужно хорошо запомнить небольшую таблицу степеней 2-ки (Таблица 1). 
Таблица 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
256 - 240 = 16
Это и есть "шаг", но в отличии от предыдущего примера с сетью класса С , это значение не является количеством адресов в данной подсети. Это обусловлено тем, что разделение происходит в третьем октете, и еще есть четвертый октет, значения которого может меняться от 0 до 255 (всего 256 возможных вариантов). Для того, чтобы рассчитать количество  адресов в подсети, нужно "шаг" ( в нашем случае 16 ) умножить на 256. Звучит угрожающе, и кажется, что не обойтись без калькулятора, но в действительности это всего-лишь 4 раза по 1024, что уже не так уж страшно.
256*16 = 1024 * 4 = 4096
Не забываем о том, что количество адресов, которые могут быть назначены узлам в данной подсети меньше на 2.  Один из которых - это адрес подсети, а второй - широковещательный адрес. К тому же, рассчитанный "шаг" указывает на количество бит данного октета, используемых для адресации в пределах подсети. В данном случае 16 = 2^4.  Т.е. в третьем октете заимствованы 4 бита для адресов подсетей и 4 бита третьего октета для адресации узлов В данном случае, это не полное количество бит, используемое для адресации внутри подсети,  так как есть еще и четвертый октет с его 8-и битами.

Вот так будут выглядеть адреса подстетей, рассчитанные с использование значения "шага" равным 16
172.16.0.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 является адресом сети.

Комментариев нет:

Отправить комментарий