Bfsoft.ru

Программы, сервисы, полезные советы о компьютере и интернете
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое префикс сети

Маска сети (255.255.255.0): определение, длина префикса подсети, количество адресов и обратная маска

Всем доброго времени суток! Из-за обилия чуши в интернете по данной тематике я решил написать собственную подробную и интересную статью, которая наконец-то раскроет вопрос: а что же такое маска подсети, для чего она нужна и где её принимать. Статья подойдёт как для чайников, так и для начинающих специалистов.

IP и маска

Начнем, наверное, с самого начала, а именно с разбора IP 4-ой версии. IPv4 – применяется повсеместно почти во всех сетевых устройствах. Данный параметр нужен для адресации пакетов, а также для обозначения сетевого устройства. Всё аналогично, как на почте – без адреса почтальон не будет знать, куда отправлять информацию.

IPv4 состоит из 32 бита – например, 192.168.28.32. Каждая цифра кодируется в 8 битах и поэтому имеет максимальное число вариантов – 255. В итоге у нас получается диапазон от 0.0.0.0 до 255.255.255.255. Помимо IPv4, есть также и IPv6, который имеет бОльшую длину адреса – 128 бит.

Один бит может принимать вид нуля и единицы – именно эту информацию может понимать компьютер, современный смартфон, телевизор и другие устройства. А так как у нас этих битов 32, то суммарное количество адресов IPv4, которые могут существовать: 2 32 = 4 294 967 296.

ПРИМЕЧАНИЕ! Достаточно много «АйПи» зарезервированы под какие-то нужды. К таким адресам относят: 255.255.255.255, 0.0.0.0, 0.0.0.1 и т.д.

Итак, у нас есть 4 байтовый или 32 битовый адрес. Чаще всего один кусок адреса называют именно байтом, или так называемыми «октетом». Октет – это 1 байт адреса IPv4. Для удобства представления разделяются точками – так проще воспринимается информация.

Таблица масок

Дома в домашних роутерах чаще всего используют 255.255.255.0 или 24я маска. Также часто используют:

  • 29 – 255.255.255.248
  • 30 – 255.255.255.252
  • 27 – 255.255.255.224
  • 26 – 255.255.255.192
  • 32 – 255.255.255.255 (имеет только один узел)
  • 23 – 255.255.254.0

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

Передача данных

Как вы, наверное, знаете – информация в сети передается пакетами, примерно также как на почте. В пакете также есть и заголовок, где прописаны два адреса:

  • Source IP – от кого отсылается пакет.
  • Destination IP – к кому отсылать пакет.

Никакой маски в передаваемой информации нет, также сам адрес представлен в чистом виде без точек, запятых и без каких-либо разделителей – «голые» 4 байта. И тут сразу встает вопрос – а для чего тогда вообще нужна маска подсети, и где её применяют? – Вот мы и подошли к самой сути. В пакете информации маски нет. Так как она тут просто не нужна. Но вот при присвоении адреса какому-то устройству: будь это компьютер, смартфон, телевизор, сервер – каждому устройству также приписывается маска подсети.

Маска подсети (Mask) – позволяет понять компьютеру или другому сетевому устройству, в какой границе он находится по отношению к другим устройствам. Чтобы он понимал – что те или иные устройства находятся в одной с компьютером сети или нет. Если говорить вообще сельским языком: «С нашего двора или нет?!».

Для чего это вообще нужно? А нужно это для того, чтобы можно было отправлять пакеты информации напрямую. Например, если вы живете в одном городе с другом, то вам проще и быстрее сходить к нему в гости и передать что-то лично в руки. Но если друг живет за пределом города, то проще уже отправить посылку с помощью почты.

Аналогично все происходит в сети. Если устройство находится в пределах одной подсети (можно говорить и просто «сети»), то отправка идет напрямую. Если же устройство находится где-то там, то пакет отправляется через шлюз.

Теперь давайте посмотрим, какой же вид имеет маска сети. Самое главное правило, что при переводе в двоичный код (1 и 0), мы можем видеть строгое разделение единиц (1) и нулей (0).

255.255.248.0 = 11111111.11111111.11111000.00000000

То есть, идут сначала единицы, а потом нули. Не может быть такого, что 1 и 0 постоянно меняются и чередуются: «101010001». При этом идет определенное число единиц (1), а уже потом какое-то число нулей (0). Вот как раз число нулей и является длиной маски. Компьютер определяет границу, достаточно просто. Он переводим IP и маску в двоичный код и просто побитово перемножает два этих числа.

ПРИМЕЧАНИЕ! Всё как в математике 1*1 = 1, 0*1 = 0 и 0*0=0.

11000000.10101000.00001011.00001010 (192.168.11.10)
11111111.11111111.11111000.00000000 (255.255.248.0)
=
11000000.10101000.00001000.00000000 = 192.168.8.0

СОВЕТ! Если вы начинающий системный администратор или IT инженер, то вы должны знать – как переводятся десятичные, шестнадцатеричные числа в двоичные и обратно.

В итоге мы получаем адрес подсети – 192.168.8.0. Есть ещё одно понятие – «направленный броадкаст». Его можно получить, если перевести последние используемые байты в биты, а потом нули заменить на единицы, а единицы на нули. Тогда у нас получится число 192.168.15.255.

ВНИМАНИЕ! Оба этих адреса нельзя использовать в сети.

В итоге у нас получается диапазон от 192.168.8.1 до 192.168.15.254. Можно также записать более коротко как 192.168.8.0/21. В итоге все начальные единицы – это адрес или префикс сети (192.168.х.х). Длина префикса – это начальное количество единиц и нулей до последних сплошных нулей. А все нули, которые идут в самом конце – это идентификатор хоста внутри сети.

Читайте так же:
Ошибка «получение IP-адреса» — что делать?

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

ПРИМЕЧАНИЕ! При отправке пакетов напрямую, шлюз не может контролировать их. В некоторых организациях для контроля отправки пакетов сети разбивают на несколько сетей, а между ними устанавливают маршрутизаторы, через которые и идут пакеты. Их ещё часто называют «файрволами».

Давайте расскажу на примере обычного Wi-Fi роутера и локальной домашней сети. Дома стоит маршрутизатор, к которому подключены: компьютер, ноутбук, смартфон и телевизор. Роутер раздает настройки сети и присваивает им свои IP и маску. Как я и говорил ранее, чаще всего используется: 255.255.255.0.

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

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

Еще раз про IP-адреса, маски подсетей и вообще

Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».

В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.

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

Компьютерам маска подсети нужна для определения границ — ни за что не угадаете чего — подсети. Чтоб каждый мог определить, кто находится с ним в одной [под]сети, а кто — за ее пределами. (Вообще-то можно говорить просто «сети», часто этот термин используют именно в значении «IP-подсеть».) Дело в том, что внутри одной сети компьютеры обмениваются пакетами «напрямую», а когда нужно послать пакет в другую сеть — шлют их шлюзу по умолчанию (третий настраиваемый в сетевых свойствах параметр, если вы помните). Разберемся, как это происходит.

Маска подсети — это тоже 32-бита. Но в отличии от IP-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идет сколько-то единиц, потом сколько-то нулей. Не может быть маски

Но может быть маска

Сначала N единиц, потом 32-N нулей. Несложно догадаться, что такая форма записи является избыточной. Вполне достаточно числа N, называемого длиной маски. Так и делают: пишут 192.168.11.10/21 вместо 192.168.11.10 255.255.248.0. Обе формы несут один и тот же смысл, но первая заметно удобнее.

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

11000000.10101000.00001011.00001010
11111111.11111111.11111000.00000000
———————————————-
11000000.10101000.00001000.00000000 = 192.168.8.0

Адрес 192.168.8.0, со всеми обнуленными битами на позициях, соответствующих нулям в маске, называется адресом подсети. Его (обычно) нельзя использовать в качестве адреса для интерфейса того или иного хоста. Если же эти биты наоборот, установить в единицы, то получится адрес 192.168.15.255. Этот адрес называется направленным бродкастом (широковещательным) для данной сети. Смысл его по нынешним временам весьма невелик: когда-то было поверье, что все хосты в подсети должны на него откликаться, но это было давно и неправда. Тем не менее этот адрес также нельзя (обычно) использовать в качестве адреса хоста. Итого два адреса в каждой подсети — на помойку. Все остальные адреса в диапазоне от 192.168.8.1 до 192.168.15.254 включительно являются полноправными адресами хостов внутри подсети 192.168.8.0/21, их можно использовать для назначения на компьютерах.

Таким образом, та часть адреса, которой соответствуют единицы в маске, является адресом (идентификатором) подсети. Ее еще часто называют словом префикс. А часть, которой соответствуют нули в маске, — идентификатором хоста внутри подсети. Адрес подсети в виде 192.168.8.0/21 или 192.168.8.0 255.255.248.0 можно встретить довольно часто. Именно префиксами оперируют маршрутизаторы, прокладывая маршруты передачи трафика по сети. Про местонахождение хостов внутри подсетей знает только шлюз по умолчанию данной подсети (посредством той или иной технологии канального уровня), но не транзитные маршрутизаторы. А вот адрес хоста в отрыве от подсети не употребляется совсем.

Обстоятельство третье. Количество хостов в подсети определяется как 2 32-N -2, где N — длина маски. Чем длиннее маска, тем меньше в ней хостов.

Из данного обстоятельства в частности следует, что максимальной длиной маски для подсети с хостами является N=30. Именно сети /30 чаще всего используются для адресации на point-to-point-линках между маршрутизаторами.

Читайте так же:
Как раздать Wi-Fi с ноутбука Windows 8 (8.1): советы пользователям

И хотя большинство современных маршрутизаторов отлично работают и с масками /31, используя адрес подсети (нуль в однобитовой хоствой части) и бродкаст (единица) в качестве адресов интерфейсов, администраторы и сетевые инженеры часто попросту боятся такого подхода, предпочитая руководствоваться принципом «мало ли что».

А вот маска /32 используется достаточно часто. Во-первых, для всяких служебных надобностей при адресации т. н. loopback-интерфейсов, во-вторых, от криворукости: /32 — это подсеть, состоящая из одного хоста, то есть никакая и не сеть, в сущности. Чем чаще администратор сети оперирует не с группами хостов, а с индивидуальными машинами, тем менее сеть масштабируема, тем больше в ней соплей, бардака и никому непонятных правил. Исключением, пожалуй, является написание файрвольных правил для серверов, где специфичность — хорошее дело. А вот с пользователями лучше обращаться не индивидуально, а скопом, целыми подсетями, иначе сеть быстро станет неуправляемой.

Интерфейс, на котором настроен IP-адрес, иногда называют IP-интерфейсом или L3-интерфейсом («эл-три», см. Модель OSI).

Прежде чем посылать IP-пакет, компьютер определяет, попадает ли адрес назначения в «свою» подсеть. Если попадает, то шлет пакет «напрямую», если же нет — отсылает его шлюзу по умолчанию (маршрутизатору). Как правило, хотя это вовсе необязательно, шлюзу по умолчанию назначают первый адрес хоста в подсети: в нашем случае 192.168.8.1 — для красоты.

Обстоятельство четвертое. Из сказанного в частности следует, что маршрутизатор (шлюз и маршрутизатор — это одно и то же) с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом между, например, хостами 192.168.8.5 и 192.168.8.7. Очень частой ошибкой начинающих администраторов является желание заблокировать или как-то еще контролировать с помощью шлюза трафик между хостами в рамках одной подсети. Чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.

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

Следующий шаг — разбиение подсетей на более мелкие подсети. Полюбившуюся нам сеть 192.168.8.0/21 можно разбить на 2 подсети /22, четыре подсети /23, восемь /24 и т. д. Общее правило, как не сложно догадаться, такое: K=2 X-Y , где K — количество подсетей с длиной маски Y, умещающихся в подсеть с длиной маски X.

Процесс объединения мелких префиксов (с длинной маской, в которых мало хостов) в крупные (с короткой маской, в которых много хостов) называется агрегацией или суммаризацией (вот не суммированием!). Это очень важный процесс, позволяющий минимизировать количество информации, необходимой маршрутизатору для поиска пути передачи в сети. Так, скажем, провайдеры выдают клиентам тысячи маленьких блоков типа /29, но весь интернет даже не знает об их существовании. Вместо этого за каждым провайдером закрепляются крупные префиксы типа /19 и крупнее. Это позволяет на порядки сократить количество записей в глобальной таблице интернет-маршрутизации.

При наличии достаточно большого диапазона адресов, как правило из блоков для частного использования 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, конечно, удобно использовать маски, совпадающие по длине с границами октетов: /8, /16, /24 или, соответственно, 255.0.0.0, 255.255.0.0 и 255.255.255.0. При их использовании можно облегчить работу мозгу и калькулятору, избавившись от необходимости работать с двоичной системой и битами. Это правильный подход, но не стоит забывать, что злоупотребление расслабухой редко доводит до добра.

И последнее. Пресловутые классы адресов. Дорогие товарищи, забудьте это слово вообще! Совсем. Вот уже скоро 20 лет (!), как нет никаких классов. Ровно с тех пор, как стало понятно, что длина префикса может быть любой, а если раздавать адреса блоками по /8, то никакого интернета не получится.

Иногда «матерые специалисты» любят блеснуть словами «сеть класса такого-то» по отношению к подсети с той или иной длиной маски. Скажем, часто можно услышать слово «сеть класса C» про что-нибудь вроде 10.1.2.0/24. Класс сети (когда он был) не имел никакого отношения к длине маски и определялся совсем другими факторами (комбинациями битов в адресе). В свою очередь классовая адресация обязывала иметь маски только предписанной для данного класса длины. Поэтому указанная подсеть 10.1.2.0/24 никогда не принадлежала и не будет принадлежать к классу C.

Но обо всем этом лучше и не вспоминать. Единственное, что нужно знать — что существуют разные глобальные конвенции, собранные под одной крышей в RFC3330, о специальных значениях тех или иных блоков адресов. Так, например, упомянутые блоки 10/8, 172.16/12 и 192.168/16 (да, можно и так записывать префиксы, полностью откидывая хостовую часть) определены как диапазоны для частного использования, запрещенные к маршрутизации в интернете. Каждый может использовать их в частных целях по своему усмотрению. Блок 224.0.0.0/4 зарезервирован для мультикаста и т. д. Но все это лишь конвенции, призванные облегчить административное взаимодействие. И хотя лично я крайне не рекомендую вам их нарушать (за исключением надежно изолированных лабораторных тестов), технически никто не запрещает использовать любые адреса для любых целей, покуда вы не стыкуетесь с внешним миром.

Читайте так же:
Как исправить ошибку аутентификации при подключении к Wi-Fi

Волчье логово / Ulvens Lair / Wolfshöhle / Wolfs Lair

Шпаргалки и заметки о сетевых технологиях, серверах, СХД, IT в принципе. И о разном другом) Чтоб самому не забывать, и другим помочь.

воскресенье, 8 декабря 2013 г.

CCNA/CCNP — Адресация IPv4: правила деления на подсети

О ЧЕМ ЗДЕСЬ НЕ РАССКАЖУТ

Начну с того, что не буду рассказывать про двоичное счисление, Булеву алгебру, о том, как переводить из двоичной системы в десятичную и наоборот. Знание вышеназванных тем — основное требование для прочтения данной статьи. Если есть сложности в такого рода вычислениях, рекомендую обратиться к сторонним учебным пособиям и ресурсам. В крайнем случае статьи на ресурсе, не заслуживающем доверия, вполне хватит: Википедия о двоичном счислении.

ЧТО ТАКОЕ IP АДРЕС?

ЧТО ТАКОЕ МАСКА СЕТИ И ДЛИНА ПРЕФИКСА?

В качестве указателя используется маска подсети — комбинация битов равная по длине IP адресу, которая указывает, где в IP адресе сетевая, а где хостовая часть.
Маска записывается в виде последовательности из единиц и нулей, причем сначала подряд идут единицы (указание на сетевую часть), а потом идет последовательность нулей (хостовая часть).

Например:
В двоичном виде: 11111111111111111111111100000000
То же самое в десятичном виде: 255.255.255.0
Такая маска говорит о том, что первые три октета отвечают за сетевой адрес, а последний, 4й октет указывает на номер хоста в сети.

Маска используется следующим образом: возьмем наш адрес и произведем побитовое умножение элементов адреса с элементами маски (помним, что 1х1=1, а 1х0=0).

Теперь мы видим, что:
1 — адрес сети («улица») — 173.5.82.0
2 — адреса хостов («дома») могут лежать в диапазоне от 173.5.82.1 до 173.5.82.254
3 — широковещательный адрес — это последний адрес в сети, у которого все биты в хостовой части равны единице — 173.5.82.255.

NB! Часто задаваемый вопрос: Можно ли использовать «рваную маску» (маска, в указателе на сетевую часть которой присутствует нуль)? Например, такую: 254.255.255.0 — НЕТ, в общем случае НЕЛЬЗЯ , хотя есть исключения.

Подробнее о масках можно почитать в RFC1519.

Еще один способ указания на то, какая часть является адресом сети, а какая является адресом хоста — это использование префиксов (RFC4632).
Запись в этом случае будет выглядеть следующим образом: 173.5.82.12/24, где через косую черту указывается длина префикса — количество бит, начиная с самого старшего, первого бита, которые отведены под адрес подсети.
Префикс — это адрес сети, в нашем случае — 173.5.82.0.

Маска/длина префикса может быть различна. От чего это зависит? От того, какое количество хостов нам необходимо обеспечить адресами. Изначально использовали только три маски, разбив адресное пространство на три основных класса: А, B, С.

По указанным маскам можно вычислить, какое количество хостовых адресов мы можем получить. К примеру, сеть класса А имеет 24 бита, отведенные под хостовые адреса. При этом помним, что адрес, у которого на месте хостовых битов только нули — это адрес сети, а если там все единицы — то это широковещательный адрес. Оба этих адреса нельзя назначить хосту, поэтому вычитаем их из общего количества хостовых адресов. В итоге:

Класс А позволяет назначить адреса 2^24-2=16777214 хостам, сеть класса B содержит 2^16-2=65534 хостовых адреса, а сеть класса С имеет 2^8-2=254 хостовых адреса.

VARIABLE LENGTH SUBNET MASKS (VLSM) или БЕСКЛАССОВАЯ АДРЕСАЦИЯ

Чтобы вычислить количество хостовых адресов, необходимо воспользоваться формулой 2^N-2, где N — количество хостовых битов в данной подсети.
В современных сетях существуют ситуации, когда есть необходимость только в двух адресах между устройствами. Возьмем самую маленькую сеть класса С. Для строящейся сети типа «точка-точка» мы взяли только 2 адреса из сети класса С. Остальные адреса (а их осталось 252) мы использовать не можем, они просто есть на указанном участке сети типа «точка-точка». Было бы удобнее, если бы мы могли выдать то количество адресов на подсеть, которое необходимо. И не выбрасывали на ветер остальные адреса. Так появилась бесклассовая адресация или VLSM. Суть её заключается в том, что мы можем выдать на подсеть ровно столько адресов, сколько нужно (ну почти), а оставшееся адресное пространство использовать где-нибудь еще.
Проще всего объяснить на примере:

Дана сеть 192.168.0.0/24 (или маска 255.255.255.0). Сеть класса С, 254 адреса. Мы можем забрать один бит от сетевой части и отдать под адреса хостов. Тогда:

192.168.0.0/24 превратится в 192.168.0.0/23 (маска 255.255.254.0) Количество хостов:
2^9-2=510 — именно столько адресов мы можем выдать конечным устройствам.

Адрес сети: 192.168.0.0
Диапазон хостовых адресов: 192.168.0.1 — 192.168.1.254
Широковещательный адрес: 192.168.1.255

Обращаем внимание на третий и четвертый октеты:

Возьмем другой пример. Пусть дана сеть 172.16.20.0/22. Определить маску, количество и диапазон хостовых адресов и широковещательный адрес.

/22 — 22 бита отвечают за хостовый адрес. Узнать маску можно написав сначала 22 единицы, добить это до 32 бит нулями, после чего разделить на 4 октета и перевести в десятичную форму. не вдаваясь в подробности вычислений, получаем: 255.255.252.0

Количество хостовых адресов мы можем определить по формуле, указанной выше. Число хостовых бит равно 10 (длина адреса — длина префикса: 32-22=10). Следовательно, количество хостовых адресов равно 1022 (за вычетом широковещательного и сетевого адресов).

Читайте так же:
Самые распространённые пароли Wi-Fi

Широковещательный адрес — адрес, у которого в хостовой части все биты имеют значение единицы. Для наглядности посмотрим на рисунок с изображением 3го и 4го октетов:

И адрес имеет вид 172.16.23.255.
Диапазон хостовых адресов: 172.16.20.1 — 172.16.23.254

А что, если вместо одной большой сети у нас есть много маленьких? Как обеспечить такую сеть адресами? Для этого и придумали деление на подсети (не знаю, как лучше перевести понятие subnetting).
Допустим, у нас есть адресное пространство — сеть класса С: 192.168.35.0/24. И есть две физические сети, в которых по 120 машин. Нам необходимо разделить это адресное пространство так, чтобы каждой физической сетке досталось адресов ровно столько, сколько нужно, или хотя бы с минимальным количеством лишних, неиспользованных адресов.

Для начала ответим на вопрос, сколько хостовых битов должно быть в наших подсетях? Попробуем взять 7 бит: 2^7-2=126 адресов. Если возьмем 6, то количество хостовых адресов в подсети будет уже равно 62, что не достаточно для наших целей. Итак, нам нужно 7 хостовых битов. Следовательно, мы можем передвинуть границу сети класса C вправо, забрав один бит из хостовой области в сетевую. Этим битом мы можем управлять, как нам захочется. Ну. Вариантов-то не много, а точнее — два: либо он будет равен 0, либо 1. Отсюда мы получаем две сети:

Первая сеть: 192.168.35.0/25
Диапазон адресов: 192.168.35.1 — 192.168.35.126
Широковещательный адрес: 192.168.35.127
Вторая сеть: 192.168.35.128/25
Диапазон адресов: 192.168.35.129 — 192.168.35.254
Широковещательный адрес: 192.168.35.255
Итог: у нас есть две сети, отвечающие нашим нуждам, которые к тому же имеют по 6 дополнительных адресов про запас.

Допустим, концепция резко изменилась, и нам потребовалось срочно вместо одной сети со 120 хостами получить 3 сети по 20 хостов. Возьмем полученную в предыдущем случае сеть 192.168.35.0/25 и разделим её так же, как поступали ранее с большой сетью

Необходимое количество хостовых бит, обеспечивающих наши потребности, равно 5 (2^5-2=30 хостовых адресов). Меньше не получится (4 бита дают лишь 14 хостовых адреса). Поэтому сдвигаем на два бита вправо границу между сетевой и хостовой частью: длина префикса становится равной /27. Посмотрим, какие сети у нас получились:

Зеленым выделены биты, которые мы можем менять. У нас получилось 4 дополнительные сети, в каждой имеется по 30 сетевых адресов.

Первая сеть: 192.168.35.0/27
Диапазон адресов: 192.168.35.1 — 192.168.35.30
Широковещательный адрес: 192.168.35.31
Вторая сеть: 192.168.35.32/27
Диапазон адресов: 192.168.35.33 — 192.168.35.62
Широковещательный адрес: 192.168.35.63
Третья сеть: 192.168.35.64/27
Диапазон адресов: 192.168.35.65 — 192.168.35.94
Широковещательный адрес: 192.168.35.95
Четвертая сеть: 192.168.35.96/27
Диапазон адресов: 192.168.35.97 — 192.168.126
Широковещательный адрес: 192.168.35.127
По условию задачи мы можем выдать 3 подсети нашим физическим сетям, которые требуют 20 адресов каждая (в запасе останется 10 хостовых адресов), и остается одна сеть, которую мы можем отдать под иные нужды целиком или разбив на более мелкие подсети.

Действия в общем случае при необходимости разбиения адресного пространства на подсети:
1. Определяем, сколько подсетей нам потребуется.
2. Определяем, сколько хостов будет в каждой из подсетей.
3. Выбираем некоторую начальную сеть, деление которой мы и будем производить.
4. Расставляем требуемые сети в порядке убывания количества хостов в них.
5. Начинаем деление на подсети: сначала выделяем адреса для сети с наибольшим количеством хостов, после идем по списку, дробя адресное пространство на более мелкие части.

Для проверки этого алгоритма попробуем решить задачу из курса CCNA Exploration.

Для проектирования сети мы решили взять сеть класса В. Используем адресный блок 172.16.0.0/16. Нам требуется обеспечить адресами 7 сетей со следующими требованиями:

1st сеть содержит 512 хостов;
2nd сеть содержит 12 хостов;
3rd сеть содержит 28 хостов;
4th сеть содержит 6 хостов;
5th, 6th, 7th — сети типа «point-to-point», требуют по 2 адреса каждая.

Видим, что наибольшее количество хостов в подсети равно 512. Выделим адреса для этой сети.
Расчеты показывают, что мы должны оставить в хостовой части 10 бит, иначе нам не хватит адресного пространства ( 2^10-2=1022 — 510 адресов будут не использованы, но если взять меньшее количество бит, например, 9, то нам не хватит 2х адресов. Что ж, бывают и такие огорчения, но ничего не поделать).

Значит, получаем сети с длиной префикса /22. Из выданного нам блока таких сетей будет 32 (начальная длина префикса 16, мы используем под сетевые адреса еще 6 бит из хостовой части, следовательно, количество получаемых сетей 2^6=32):

172.16.0.0/22
172.16.4.0/22
172.16.8.0/22
172.16.12.0/22
172.16.16.0/22
. . . . . . . . . . .
172.16.252.0/22

Одну из этих сетей забираем для сети 1. Пусть это будет сеть 172.16.0.0/22. Остается еще 31 сеть, которую мы можем использовать по своему усмотрению.
Приступим к следующим подсетям. По количество хостов следующей у нас является сеть 3 — 28 требуемых адресов. Возьмем любую из тех оставшихся сетей, и разделим её. Допустим, возьмем сеть 172.16.4.0/22.
По аналогичному алгоритму: необходимо не менее 5 бит, значит, используем длину префикса /27. Снова получим 32 сети, но с маской 255.255.255.224:

172.16.4.0/27
172.16.4.32/27
172.16.4.64/27
172.16.4.96/27
.
172.16.7.224/27

Опять возьмем первый диапазон из списка и назначим его сети №3.

Далее сеть №2 — 12 хостов. Возьмем диапазон 172.16.4.32/27 и снова разделим. Необходимо оставить 4 бита под хосты. Получаем сети с длиной префикса /28:

Читайте так же:
Как покупать на Joom правильно

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

Используем первый диапазон для сети №2, а второй разделим так, чтобы получить нужное количество хостовых адресов для 4й сети:

172.16.4.48/29 — отдаем сети №4
172.16.4.56/29 — это диапазон разобьем между сетями 5,6,7.

Здесь получилось интересно: всего для этих трех сетей требуется 2 адреса в каждой подсети. А это 2 бита в хостовой части. Но сеть 172.16.4.56/29 может быть разделена только на 2 подсети с длиной префикса /30. Что делать? Ничего страшного. Мы оставим эту сетку для каких-нибудь иных целей, а для решения последней части мы возьмем еще одну сеть /27, и разобьем её на множество сетей /30, а если точнее — на 8 таких сетей:

172.16.4.64/30
172.16.4.68/30
172.16.4.72/30
.
172.16.4.92/30

Первые три подсети мы отдадим соответственно 5,6 и 7 сетям.

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

В запасе у нас осталось:

30 сетей с маской 255.255.252.0 (/22)
29 сетей с маской 255.255.255.224 (/27)
1 сеть с маской 255.255.255.248 (/29)
5 сетей с маской 255.255.255.252 (/30)

Что такое префикс сети, и как он помогает расшифровать IP-адрес

Каждое устройство, подключённое к интернету, требует цифровой идентификатор. IP-адрес является цифровым кодом, используемым для определения различного оборудования, подключённого к Всемирной паутине. На сегодняшний день существует две версии IP: IPv4 и IPv6. Протокол версии 4 является все ещё основным, но количество доступных ресурсов исчерпалось, поэтому постепенно начинает использоваться 6 версия, позволяющая использовать гораздо большее количество ресурсов. Каждый идентификатор содержит информацию о конкретном соединении, а также о подключённом оборудовании. Префикс указывает, какие значения используются для обозначения сети, а какие — для обозначения устройства. Давайте детальнее рассмотрим, что такое сетевой префикс, и как он поможет расшифровать IP-адрес.

Структура сетевого адреса

Любое устройство гарантированно получает свой уникальный идентификатор

Структура IP-адреса

Обычно IP-адрес записывается следующим образом: 192.168.10.100. Каждая секция представляет собой 8 бит или 1 байт информации. Сервер видит эти цифры как набор единиц и нулей, для нашего удобства они записываются в обычной десятичной системе. Максимальная её длина — 3 знака, а минимальная — 1. Суммарно вся запись занимает 32 бита и теоретически может быть 232 или 4.294.967.296 ресурсов.

Весь цифровой код делится на две части: адрес провайдера и хост. Первый из них определяет провайдера, через который вы работаете, а второй обозначает идентификатор конкретного устройства, как, например, ноутбук или планшет Андроид, в локальном подключении. Для того чтобы узнать, сколько бит обозначает каждый из показателей, записывается префикс сети через слеш. Тогда запись выглядит как 192.168.10.100/24. В нашем случае 24 обозначает, что первых 3 секции (3*8=24), а именно 192.168.10 является адресом соединения. Оставшиеся 8 бит, а именно 100 — это идентификатор оборудования (максимум 28 = 256 адресов). При 192.168.10.100/16 локальный ресурс будет 192.168, а хост — 10.100 (216 = 65536).

Формат записи IP-адреса

Часто для определения адреса используется маска подсети. Её длина не отличается. Это, по сути, то же самое, что и префикс сети, только немножко по-другому организовано. Вы, наверное, обращали внимание, что провайдер указывает этот параметр при подключении к интернету. Она также показывает, какая часть IP относится к провайдеру, а какая — к хосту. Она записывается также в виде четырёх 8-битных секций. Единственное отличие, что в двоичном исчислении сначала должны идти только единицы. Если перевести двоичные 11111111 в десятичное исчисление, получится 255. Поэтому маска обязательно будет начинаться с 255.

Классы Subnet Mask

Рассмотрим пример. Возьмём наш адрес 192.168.10.100 и маску 255.255.255.0. Соответственно, первых три раздела записи будут идентификатором LAN, а последняя — идентификатором компьютера. Если маска — 255.255.0.0, то сеть будет 192.168, а хост — 10.100.

Также маска лучше поможет определить, относятся ли два IP-ресурса к одному подключению. Возьмём, к примеру, 213.111.125.17 и 213.111.176.3. Если маска — 255.255.0.0, то оба адреса расположены в одной сети, если она 255.255.255.0, то в разной, так как 125 и 176 отличаются.

Сетевой префикс в двоичном исчислении

Префикс сети позволит определить её подмаску. Например, у нас есть запись 176.172.7.132/22. Как мы помним, 22 показывает количество бит, отвечающие за провайдера. В двоичной системе на самом начале запишем 22 единицы и дополним их 10 нулями, чтобы суммарно получилось 32 бита, и разделим точками секции по 8 бит — 11111111.11111111.11111100.00000000. Теперь переведём результат в десятичное исчисление, итоговым результатом у нас получится 255.255.252.0.

Для обратного расчёта возьмём адрес 176.172.7.132 и маску 255.255.128.0. Переводим её в двоичную систему, получим 11111111.11111111.10000000.00000000. Единиц в нашем случае 17, это и есть наш префикс сети. В десятичном виде запишем его как 255.255.128.0/17.

Заключение

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

Считаете ли вы этот материал полезным? Будем благодарны за оставленные комментарии.

голоса
Рейтинг статьи
Ссылка на основную публикацию