зачем делить сеть на подсети

Зачем разделять IPv4 сети на подсети

Разбиение домена широковещания.

Первая причина разбиения сети на подсети заключается в том, чтобы не получить огромный broadcast домен. В современных IPv4 сетях широковещательный (broadcast) трафик является необходимым злом. Например, при помощи широковещательных запросов работает протокол ARP, операционная система Windows постоянно что-то рассылает в сеть, чтобы обнаружить другие компьютеры и т.п. Если мы подключим в одну сеть 65 тысяч устройств, то получится, что каждый квант времени кто-то что-то да отправит широковещательного. Такая сеть совершенно не сможет работать, потому что все будут заняты получением широковещательных пакетов. Если мы разобьём такую сеть, например, на 256 сетей в каждой из которых 254 хоста, то мы получим 256 отдельных небольших broadcast доменов, в каждом из которых действует сравнительно небольшое (254) количество источников широковещательного трафика. Такие сети уже смогут работать нормально.

На самом деле, объём широковещательного трафика является основным ограничителем, не позволяющим делать большие сети. Сеть на 254 хоста (/24) работает хорошо, на 510 (/23) средненько и сильно зависит от приложений, которые ней крутятся. На 1022 хоста (/22) сеть можно сделать, но лучше не помещать туда компьютеры. Например, такого размера может быть сеть, в которую подключено 1022 маршрутизатора, использующихся для подключения к удалённым филиалам. Обязательное условие — на этих маршрутизаторах необходимо контролировать каждый чих. Потому что если они начнут слать брудкасты, то сеть перестанет работать. К слову сказать, бывают безбрудкастовые сети с множественным доступом (NBMA сети). Но это, пожалуй, тема для отдельной статьи

Безопасность при разделении сети на подсети

Второй немаловажной причиной разделения сети на подсети является обеспечение определённого уровня безопасности. Дело в том, что в пределах локальной сети у нас сравнительно мало возможностей обеспечения контроля за трафиком. Мы можем, конечно, контролировать на коммутаторах MAC адреса, можем довольно много чего настроить на конечных устройствах (например, сложные правила файрвола на компьютерах). Но лучше всего этим заниматься централизованно при переходе трафика из одной сети в другую. На маршрутизаторе настраивается централизованная фильтрация, можно даже настроить Firewall на маршрутизаторе.

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

Источник

Зачем делить сеть на подсети

v1.0, 31 марта 1997 года

В этом документе содержится информация о том, как и почему организуются IP-подсети, которые используют отдельную область IP-адресов класса A, B или C, для правильного функционирования нескольких связанных подсетей.

Этот документ распространяется в соответствии с GNU Public License (GPL).

Этот документ непосредственно поддерживается InterWeft IT Consultants (Мельбурн, Австралия).

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

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

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: > или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу >

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

В этом документе, в основном, содержится материал по сетевым адресам класса C, но принципы применимы и к сетям класса A и B.

Имеется ряд других источников информации, которые уместны для более детального изучения. Рекомендуемые автором:

Перед погружением в изучение организации подсетей, мы должны усвоить основы IP-адресов.

А что стоит за этим?

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

Имеются три класса IP адресов

IP адрес сети класса B использует крайние левые 16 битов (первые 2 байта) для идентификации сети, оставшиеся 16 бит идентифицируют сетевые интерфейсы компьютера в сети. Адреса класса B всегда имеют крайние левые два бита, установленные в 1 0. Сети класса B имеют диапазон от 128 до 191 для первого байта, каждая сеть может содержать до 32,766 возможных интерфейсов.

IP адрес сети класса C использует крайние левые 24 бита для идентификации сети, оставшиеся 8 бит идентифицируют сетевые интерфейсы компьютера в сети. Адрес сети класса C всегда имеет крайние левые 3 бита, установленные в 1 1 0 или диапазон от 192 до 255 для крайнего левого байта. Имеется, таким образом, 4,194,303 номеров, доступных для идентификации сети класса C, каждая может содержать до 254 сетевых интерфейса. (однако, сети класса C с первым байтом, большим, чем 223, зарезервированы и недоступны для использования).

Одна сеть класса A 10.0.0.0

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

IP адреса могут иметь три возможных значения:

широковещательный адрес IP сети (сообщение с таким адресом назначения должно рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета). Все разряды IP адреса установлены в 1.

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

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

маска для сети класса А: 255.0.0.0

маска для сети класса B: 255.255.0.0

маска для сети класса C: 255.255.255.0

Есть две важные вещи относительно сетевой маски, которые нужно помнить:

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

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

Введите организацию подсетей: адрес сети класса A может быть разбит на несколько (если не много) отдельных сетей. Управлять каждой отдельной сетью значительно проще.

Другие причины для организации подсетей:

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

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

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

Имеется оборудование, которое использует несовместимые технологии организации сетей, и есть потребность связать их (как упомянуто выше).

После того, как вы определите, что нуждаетесь в сетевом адресе, вам надо узнать, как это сделать? Далее идет краткий обзор шагов, которые будут объясняться ниже в деталях:

Решите, какой (большой/маленькой) должна быть каждая подсеть, т.е. какое количество IP-адресов требуется для каждого сегмента.

Вычислите соответствующую сетевую маску и сетевые адреса;

Установите каждому интерфейсу на каждой сети его собственный IP адрес и соответствующую сетевую маску;

Установите направления связи на маршрутизаторах и соответствующих шлюзах, направления связи и/или заданные по умолчанию направления связи на сетевых устройствах;

Протестируйте систему, исправьте ошибки и расслабьтесь!

Это предусматривает максимум 254 связанных интерфейсов (хостов), плюс обязательный сетевой номер (192.168.1.0) и широковещательный адрес (192.168.1.255).

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

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

Детальное обсуждение этого здесь невозможно. Если вам нужна справка, имеются сетевые консультанты по проектированию/установке сетей, которые обеспечивают это обслуживание. Бесплатный совет доступен также в ряде конференций (например, comp.os.linux.networking).

Фактически, самая маленькая пригодная для использования подсеть состоит из 4 IP адресов:

Один широковещательный адрес.

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

В принципе, вы можете разделить ваш сетевой номер на 2ˆn (где n на единицу меньше, чем число битов поля машины в вашем сетевом адресе), получаем одинаковые размеры подсетей (однако, вы можете делить подсети на подсети, и/или объединять их).

Сетевая маска позволяет разделить сеть на несколько подсетей.

Таким образом, для трех классов сетей стандартные сетевые маски выглядят следующим образом:

Класс A (8 сетевых битов) : 255.0.0.0

Класс B (16 сетевых бита): 255.255.0.0

Класс C (24 сетевых бита): 255.255.255.0

Способ организации подсетей заимствует один или более из доступных битов номера хоста и заставляет интерпретировать эти заимствованные биты, как часть сетевых битов. Таким образом, чтобы получить возможность использовать, вместо одного номера подсети, два, мы должны заимствовать один бит машины, установив его (крайний левый) в сетевой маске в ‘1’.

Для адресов сети класса C это привело бы к маске вида 11111111.11111111.11111111.10000000 или 255.255.255.128

Для нашей сети класса C с сетевым номером 192.168.1.0, есть несколько случаев:

Число Число машин подсетей на сеть Сетевая маска 2 126 255.255.255.128 (11111111.11111111.11111111.10000000) 4 62 255.255.255.192 (11111111.11111111.11111111.11000000) 8 30 255.255.255.224 (11111111.11111111.11111111.11100000) 16 14 255.255.255.240 (11111111.11111111.11111111.11110000) 32 6 255.255.255.248 (11111111.11111111.11111111.11111000) 64 2 255.255.255.252 (11111111.11111111.11111111.11111100)

В принципе, нет абсолютно никакой причины следовать вышеупомянутым способам организации подсетей, где сетевые биты добавлены от старшего до младшего бита хоста. Однако, если вы не выбираете этот способ, то в результате IP адреса будут идти в очень странной последовательности! Но в результате, решение, к какой подсети принадлежит IP адрес, получается чрезвычайно трудным для нас (людей), поскольку мы не слишком хорошо считаем в двоичной арифметике (с другой стороны, компьютеры, с равным хладнокровием, будут использовать любую схему, которую вы им предложите).

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

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

С этой информацией вы теперь способны назначить адреса машин, сетевые адреса и сетевые маски.

Если вы используете Linux машину с двумя сетевыми картами, чтобы установить маршрут между двумя (или более) подсетями, вам нужно иметь ядро, скомпилированное с поддержкой пересылки IP-пакетов (Forwarding). Сделайте следущее:

cat /proc/ksyms | grep ip_forward

Вы должны получить, что-то вроде.

Если не так, тогда пересылка IP-пакетов не включена в ядро, и вам нужно перекомпилировать и установить новое ядро.

Для примера, позвольте предположить, что вы решили разделить вашу сеть класса C с адресом IP 192.168.1.0 на 4 подсети (в каждой пригодно для использования 62 IP адреса). Однако, две из этих подсетей объединяются в большую сеть, давая в общем три физических сети.

Network Broadcast Netmask Hosts 192.168.1.0 192.168.1.63 255.255.255.192 62 192.168.1.64 192.168.1.127 255.255.255.192 62 182.168.1.128 192.168.1.255 255.255.255.126 124 (см. примечание)

Примечание: последняя сеть имеет только 124 сетевых адреса (не 126, как ожидалось бы от сетевой маски) и является сетью из двух подсетей. Главные компьютеры на других двух сетях интерпретируют адрес 192.168.1.192 как сетевой адрес ‘несуществующей’ подсети. Подобно они будут интерпретировать 192.168.1.191 как широковещательный адрес ‘несуществующей’ подсети.

Так, если вы используете 192.168.1.191 или 192 как адреса хостов в третьей подсети, тогда компьютеры двух малых подсетей не смогут связаться с ними.

Позвольте нам предположить, что компьютер с Linux действует, как маршрутизатор для этой сети. Он будет иметь три сетевых карты к локальным сетям и, возможно, четвертый интерфейс для связи с Internet (который был бы шлюзом по умолчанию).

Пусть компьютер с Linux использует самый первый доступный IP адрес в каждой подсети. Конфигурация сетевых карт будет следующей:

Interface IP Address Netmask eth0 192.168.1.1 255.255.255.192 eth1 192.168.1.65 255.255.255.192 eth2 192.168.1.129 255.255.255.128

Таблица маршрутизации при данной конфигурации будет такой

Destination Gateway Genmask Iface 192.168.1.0 0.0.0.0 255.255.255.192 eth0 192.168.1.64 0.0.0.0 255.255.255.192 eth1 192.168.1.128 0.0.0.0 255.255.255.128 eth2

На каждой из подсетей главные компьютеры были бы конфигурированы с их собственным IP адресом и сетевой маской (соответствующий специфической сети). Каждый главный компьютер объявил бы Linux PC своим шлюзом/маршрутизатором, определяя IP адрес маршрутизатора для его сетевой карты на той части сети.

Источник

Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Приветствую вас на очередном выпуске. И сегодня речь пойдет о том, какие бывают IP-адреса, и как ими пользоваться. Что такое маска подсети, как она считается, и для чего она нужна. Как делить сети на подсети и суммировать их. Заинтересовавшихся приглашаю к прочтению.

P.S. Возможно, со временем список дополнится.

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

Итак IP-адрес — это адрес, используемый узлом на сетевом уровне. Он имеет иерархическую структуру. Что это значит? Это значит, что каждая цифра в его написании несет определенный смысл. Объясню на очень хорошем примере. Примером будет номер обычного телефона — +74951234567. Первой цифрой идет +7. Это говорит о том, что номер принадлежит зоне РФ. Далее следует 495. Это код Москвы. И последние 7 цифр я взял случайными. Эти цифры закреплены за районной зоной. Как видите здесь наблюдается четкая иерархия. То есть по номеру можно понять какой стране, зоне он принадлежит. IP адреса придерживаются аналогично строгой иерархии. Контролирует их организация IANA(англ. Internet Assigned Numbers Authority). Если на русском, то это «Администрация адресного пространства Интернет». Заметьте, что слово «Интернет» с большой буквы. Мало кто придает этому значение, поэтому объясню разницу. В англоязычной литературе термин «internet» используется для описания нескольких подключённых друг к другу сетей. А термин «Internet» для описания глобальной сети. Так что примите это к сведению.

Несмотря на то, что тема статьи больше теоретическая, нежели практическая, я настоятельно рекомендую отнестись к ней со всей серьезностью, так как от нее зависит понимание дальнейших тем, а особенно маршрутизации. Не для кого, я думаю, не секрет, что мы привыкли воспринимать числовую информацию в десятичном формате (в числах от 0-9). Однако все современные компьютеры воспринимают информацию в двоичном (0 и 1). Не важно при помощи тока или света передается информация. Вся она будет воспринята устройством как есть сигнал (1) или нет (0). Всего 2 значения. Поэтому был придуман алгоритм перевода из двоичной системы в десятичную, и обратно. Начну с простого и расскажу, как выглядят IP адреса в десятичном формате. Вся эта статья посвящена IP адресам версии 4. О версии 6 будет отдельная статья. В предыдущих статьях, лабах, да и вообще в жизни, вы видели что-то вроде этого «193.233.44.12». Это и есть IP адрес в десятичной записи. Состоит он из 4-х чисел, называемых октетами и разделенных между собой точками. Каждое такое число (октет) может принимать значение от 0 до 255. То есть одно из 256 значений. Длина каждого октета равна 8 битам, а суммарная длина IPv4 = 32 битам. Теперь интересный вопрос. Каким образом этот адрес воспримет компьютер, и как будет с ним работать?

Можно конечно набить это в калькулятор, коих навалом в Интернете, и он переведет его в двоичный формат, но я считаю, что переводить вручную должен уметь каждый. Особенно это касается тех, кто планирует сдавать экзамен. У вас не будет под рукой ничего, кроме бумаги и маркера, и полагаться придется только на свои навыки. Поэтому показываю, как это делать вручную. Строится таблица.

Вместо «x» записывается либо 1, либо 0. Таблица разделена на 8 колонок, каждая из которых несет в себе 1 бит (8 колонок = 8 бит = 1 октет). Расположены они по старшинству слева направо. То есть первый (левый) бит — самый старший и имеет номер 128, а последний (правый) — самый младший и имеет номер 1. Теперь объясню, откуда эти числа взялись. Так как система двоичная, и длина октета равна 8-ми битам, то каждое число получается возведением числа 2 в степень от 0 до 7. И каждая из полученных цифр записывается в таблицу от большего к меньшему. То есть слева направо. От 2 в 7-ой степени до 2 в 0-ой степени. Приведу таблицу степеней 2-ки.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Думаю теперь понятно, каким образом строится таблица. Давайте теперь разберем адрес «193.233.44.12» и посмотрим, как он выглядит в двоичном формате. Разберем каждый октет отдельно. Возьмем число 193 и посмотрим, из каких табличных комбинаций оно получается. 128 + 64 + 1 = 193.

Те числа, которые участвовали в формировании комбинации получают 1, а все остальные получают 0.

Берем первый октет 233. 128 + 64 + 32 + 8 + 1.

Получаю 128 + 64 + 16 + 4 + 1 = 213.

Вычисляю второй блок.

Считаю 128 + 32 + 16 + 4 = 180.

И напоследок четвертый.

Собираем результаты вычислений и получаем адрес 213.180.193.3. Ничего тяжелого, чистая арифметика. Если тяжело и прям невыносимо трудно, то попрактикуйтесь. Сначала может показаться страшным, так как многие закончили учебу лет 10 назад и многое позабыли. Но уверяю, что как только набьете руку, считать будет гораздо легче. Ну а для закрепления дам вам несколько примеров для самостоятельного расчета (под спойлером будут ответы, но открывайте их только когда прорешаете сами).

1) 10.124.56.220
2) 113.72.101.11
3) 173.143.32.194
4) 200.69.139.217
5) 88.212.236.76
6) 01011101.10111011.01001000.00110000
7) 01001000.10100011.00000100.10100001
8) 00001111.11011001.11101000.11110101
9) 01000101.00010100.00111011.01010000
10) 00101011.11110011.10000010.00111101

Теперь IP-адреса не должны быть чем-то страшным, и можно углубиться в их изучение.
Выше мы говорили о структуре телефонных номеров и их иерархии. И вот на заре рождения Интернета в том представлении, в каком мы его привыкли видеть, возник вопрос. Вопрос заключался в том, что IP-адреса нужно как-то сгруппировать и контролировать выдачу. Решением было разделить все пространство IP-адресов на классы. Это решение получило название классовая адресация (от англ. Classful). Она уже давно устарела, но практически в любой книге на нее отводятся целые главы и разделы. Cisco тоже не забывает про это и в своих учебных материалах рассказывает про нее. Поэтому я пробегусь по этой теме и покажу, чем она блистала с 1981 по 1995 год.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Пространство было поделено на 5 классов. Каждому классу был назначен блок адресов.

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

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

В чем суть. Первый октет, то есть 8 бит, остаются за адресом сети, а 3 последних октета (то есть оставшиеся 24 бита) назначаются хостам. Вот для того, чтобы показать, какой кусок относится к сети, а какой к хостам, используется маска. По структуре записи она аналогична записи IP-адреса. Отличие маски от IP-адресов в том, что 0 и 1 не могут чередоваться. Сначала идут 1, а потом 0. Таким образом, там где есть единица, значит это участок сети. Чуть ниже, после разбора классов, я покажу, как с ней работать. Сейчас главное знать, что маска класса A — 255.0.0.0. В таблице еще упомянут какой-то первый бит и для класса A он равен 0. Этот бит как раз нужен для того, чтобы сетевое устройство понимало, к какому классу оно принадлежит. Он же еще задает начальный и конечный диапазон адресов. Если в двоичном виде записать на всех октетах единицы, кроме первого бита в первом октете (там всегда 0), то получится 127.255.255.255, что является границей класса A. Например, возьмем адрес 44.58.63.132. Мы знаем, что у класса A первый октет отдается под адрес сети. То есть «44» — это адрес сети, а «58.63.132» — это адрес хоста.

Поговорим про класс B

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Этому классу был дан блок поменьше. И адреса из этого блока предназначались для сетей средних масштабов. 2 октета отданы под адрес сети, и 2 — под адрес хостов. Маска у B класса — 255.255.0.0. Первые биты строго 10. А остальные меняются. Перейдем к примеру: 172.16.105.32. Два первых октета под адрес сети — «172.16». А 3-ий и 4-ый под адрес хоста — «105.32».

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Этот класс обделили адресами и дали ему самый маленький блок. Он был предназначен для мелких сетей. Зато этот класс отдавал целых 3 октета под адрес сети и только 1 октет — под хосты. Маска у него — 255.255.255.0. Первые биты 110. На примере это выглядит так — 192.168.1.5. Адрес сети «192.168.1», а адрес хоста «5».

Классы D и E. Я неcпроста объединил их в один. Адреса из этих блоков зарезервированы и не могут назначаться сетям и хостам. Класс D предназначен для многоадресной рассылки. Аналогию можно привести с телевидением. Телеканал вещает группе лиц свой эфир. И те, кто подключены, могут смотреть телепередачи. То есть в распоряжение администраторов могут попасть только 3 первых класса.

Напомню, что первые биты у класса D — это 1110. Пример адреса — 224.0.0.5.

А первые биты у класса E — это 1111. Поэтому, если вдруг увидите адрес вида 240.0.0.1, смело говорите, что это адрес E класса.

Про классы обмолвились. Теперь озвучу вопрос, который мне недавно задали. Так зачем тогда маски? У нас итак хосты понимают в каком они классе. Но суть вот в чем. Например, у вас есть маленький офис, и вам нужен блок IP-адресов. Никто не будет вам выдавать все адреса класса C. А дадут только его кусок. Например 192.168.1.0 с маской 255.255.255.0. Так вот эта маска и будет определять вашу границу. Мы уже говорили, что октет варьируется в значении от 0 до 255. Вот этот 4 октет полностью в вашем распоряжении. За исключением первого адреса и последнего, то есть 0 и 255 в данном случае. Первый адрес — это адрес сети (в данном случае 192.168.1.0), а последний адрес — широковещательный адрес (192.168.1.255). Напомню, что широковещательный адрес используется в том случае, когда надо передать информацию всем узлам в сети. Поэтому есть правило. Если вам надо узнать номер сети, то все биты относящиеся к хосту обращаете в 0, а если широковещательный, то все биты — в 1. Поэтому, если из 256 адресов забирается 2 адреса, то на назначение хостам остается 254 адреса (256 — 2). На собеседованиях и экзаменах часто любят спрашивать: «Количество IP-адресов в сети?» и «Сколько доступных IP-адресов в сети для назначения хостам?». Два разных вопроса, которые могут поставить в тупик. Ответом на первый будет — все адреса, включая адрес сети и широковещательный адрес, а на второй вопрос — все адреса, кроме адреса сети и широковещательного адреса.

Теперь углубимся в изучении маски.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Я записал адрес класса C 192.168.1.1 с маской 255.255.255.0 в десятичном и двоичном формате. Обратите внимание на то, как выглядит IP-адрес и маска в двоичном формате. Если в IP-адресе 0 и 1 чередуются, то в маске сначала идут 1, а потом 0. Эти биты фиксируют адрес сети и задают размер. По таблице выше можно сделать вывод, что в двоичном виде маска представлена последовательностью 24 единиц подряд. Это говорит о том, что целых 3 октета выделено под сеть, а 4 октет свободен под адресацию для хостов. Здесь ничего необычного. Это стандартная маска класса C.

Но вот в чем загвоздка. Например, в вашем офисе 100 компьютеров, и расширяться вы не планируете. Зачем плодить сеть из 250+ адресов, которые вам не нужны?! На помощь приходит разделение на подсети. Это очень удобная вещь. Объясню принцип на примере того же класса C. Как бы вы не хотели, но трогать 3 октета нельзя. Они фиксированы. Но вот 4 октет свободен под хосты, поэтому его можно трогать. Заимствуя биты из хостового куска, вы дробите сеть на n-ое количество подсетей и, соответственно, уменьшаете в ней количество адресов для хостов.

Попробуем это воплотить в реальность. Меняю маску. Заимствую первый бит из хостовой части(то есть 1-ый бит 4-ого октета выставляю в единицу). Получается следующая маска.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Данная маска делит сеть на 2 части. Если до дробления у сети было 256 адресов(от 0 до 255), то после дробления у каждого куска будет по 128 адресов(от 0 до 127 и от 128 до 255).
Теперь посмотрю, что изменится в целом с адресами.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Красным цветом я показал те биты, которые зафиксированы и не могут изменяться. То есть маска ей задает границу. Соответственно биты помеченные черным цветом определены для адресации хостов. Теперь вычислю эту границу. Чтобы определить начало, надо все свободные биты(помеченные черным цветом) обратить в ноль, а для определения конца обратить в единицы. Приступаю.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

То есть в четвертом октете меняются все биты, кроме первого. Он жестко фиксирован в рамках этой сети.

Теперь посмотрим на вторую половину сети и вычислим ее адреса. Деление у нас производилось заимствованием первого бита в 4-ом октете, значит он является делителем. Первая половина сети получалась, когда этот бит принимал значение 0, а значит вторая сеть образуется, когда этот бит примет значение 1. Обращаю этот бит в 1 и посмотрю на границы.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Приведу в десятичный вид.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Если вы рассчитали количество бит, отдаваемые под хосты, то количество доступных IP-адресов можно вычислить по формулезачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

В книге У. Одома по подготовке к CCNA R&S приведена хорошая формула для расчета битов, отдаваемых на подсеть и хосты:

N + S + H = 32, где N — кол-во битов сети (класс A — 8 бит, B — 16 бит, C — 24 бита), S — кол-во заимствованных битов на подсеть (это то, что мы делали выше, когда заимствовали 1 бит из хостовой части), H — кол-во бит отводимых хостам.

Внесу ясность и объясню, как и где применять эти формулы.

Нам выдали сеть 172.16.0.0 и попросили создать 120 подсетей со 180 хостами и записать маску. Приступим.

В качестве шпаргалки, и для быстроты вычисления, я ниже подготовил таблицу степеней двойки.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

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

Теперь смотрим на выданную сеть. Путем логических размышлений понимаем, что это адрес класса B. А значит его N (кол-во битов сети) = 16. Ок. Значит на хосты выделено тоже 16 бит. Вспоминаем условия задачи. Нужно создать 120 подсетей. «Откусывать» биты от сетевой части запрещено, значит кусаем от хостовой части.

Теперь нужно взять такое кол-во бит, чтобы хватило для 120 подсетей, однако оставляло достаточное кол-во под биты для хоста. Смотрим на таблицу выше. Если взять 7 бит, то получим 128. 128>120, следовательно попадаем под условие. Если возьмем 6 бит, то получим 64. 64 H = 32 — (N + S) => H = 32 — (16 + 7) = 9. Смотрим на таблицу выше (или возводим 2 в 9 степень в уме) и получаем число 512. Отнимаем 2 (адрес сети и широковещательный адрес) и получаем 510 адресов. Нам нужно 180, а значит под условие мы попадаем причем с большим запасом. В таких случаях вам предоставляется право выбора. Сделать больше подсетей или хостов на подсеть. Объясняю, что это значит. У нас есть 9 бит на хосты. Если мы возьмем 8 бит, то получим число 256. 256 — 2 = 254 адреса. Этот вариант нам тоже подходит. Возьмем 7 бит. Получаем 128. Даже не отнимая 2 адреса, становится понятно, что это меньше 180 => данный вариант отбрасывается сразу. Итого получаем, что минимальное количество для подсети — 7 бит, а для хостов — 8 бит. Поэтому свободный бит можно отдать либо на подсеть, либо на хосты. Маска получается сложением N и S. В нашем случае получаем, если под подсеть отдаем 7 бит, то получаем 23. В десятичном виде маска будет выглядеть 255.255.254.0. А если отдадим под подсеть 8 бит, то получим 24 (или в десятичном виде 255.255.255.0). Иногда бывает, что под задачу существует всего одна маска. Ну и, конечно, могут быть случаи, когда маска не попадает не под какие условия. В этих случаях нужно брать сеть другого класса или доказывать заказчику, что это невозможно.

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

1) Записать маску для проекта: сеть 172.16.0.0. 250 подсетей и 220 хостов.
2) Записать маску для проекта: сеть 10.0.0.0. 2000 подсетей и 1500 хостов.
3) Записать маску для проекта: сеть 192.168.0.0. 4 подсети и 60 хостов.

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

Поняли ведущие умы, что использовать классовые сети не удобно и нужно от них отказываться. Это привело к созданию бесклассовой адресации и маскам переменной длины, о чем мы ниже поговорим. Но перед этим пару слов о видах IP-адресов. Несмотря на то, что переход от классовой адресации к бесклассовой предполагал экономию IP-адресов, на деле эта проблема все равно решалась не полностью. Все упиралось в саму технологию IPv4. Объясню почему. Выше я говорил, что длина IP адреса равна 32 бита. Каждый бит может принимать значение 0 или 1, то есть два значения. Соответственно, чтобы вычислить все комбинации, надо возвести 2 в 32-ую степень. Получаем 4294967296 адресов. Если вычесть отсюда зарезервированные для специальных нужд и прочего, то останется примерно 4.2 млрд. адресов, когда на Земле проживает около 7.3 млрд. человек. Поэтому ведущие умы быстро просекли эту фишку и начали искать решение. Они решили выделить некое адресное пространство, которое будет использоваться только в пределах локальной сети и не будет использоваться в Интернете. Это разделило адреса на 2 лагеря: белые или публичные (англ. public) и серые или частные (англ. private).

Привожу диапазон адресов, которые выделены под локальные сети:

1) 10.0.0.0 — 10.255.255.255 с маской 255.0.0.0 (или кратко 10/8).
2) 172.16.0.0 — 172.31.255.255 с маской 255.240.0.0 (или кратко 172.16/12).
3) 192.168.0.0 — 192.168.255.255 (или кратко 192.168/16).

Если честно, я мало где видел применение адресации 172.16.X.X. Обычно в корпоративной среде всегда используется 10.X.X.X, а в домах/квартирах и мелких офисах 192.168.X.X.

Теперь прошу обратить внимание на очень важную вещь, которую многие путают. Не путайте классовую адресацию и диапазон частных адресов. Очень много людей наступают на эти грабли и свято верят, что диапазон частных адресов 10.0.0.0 — 10.255.255.255 — это диапазон A класса.
Разобрались, что такое частные адреса или private адреса. Но это еще не все. Есть еще список зарезервированных адресов, которые не могут светиться в Интернете. По ним написана целая документация на IETF. Привожу ссылку, где можете прочитать оригинал. Я кратко опишу часто встречающиеся.

1) 0.0.0.0/8 — диапазон адресов, используемый хостами для самоидентификации. Обычно это можно увидеть, когда хост пытается получить IP-адрес от DHCP сервера. Так как изначально у него нету IP-адреса, то в поле источника он вставляет адрес из данного диапазона.

2) 127.0.0.0/8 — loopback или localhost адреса. Это IP-адреса, используемые компьютером, чтобы обратиться к самому себе. Очень полезно для проверки работы TCP/IP. Дело в том, что независимо от наличия соединения с Интернетом или локальной сетью, адреса из этого пула должны всегда пинговаться. Если этого не происходит, значит система накрылась или накрывается медным тазом.

3) 169.254.0.0/16 — link-local address или локальные адреса. Автоматически используются хостами при отсутствии DHCP-сервера или его недоступности. Это позволяет быстро организовать локальную сеть и проверить работу узлов. Однако данный пул адресов не маршрутизируется. Следовательно, выйти в Интернет с них не получится.

4) 224.0.0.0/4 — блок адресов, зарезервированный под многоадресную рассылку или multicast. Для тех, кто хочет побольше узнать про multicast, оставляю ссылку.

Бесклассовая адресация (англ. Classless Inter-Domain Routing или CIDR). Описана была в стандарте RFC1519 в 1993 году. Она отказалась от классовых рамок и фиксированной маски. Адреса делятся только на публичные и зарезервированные, о которых написано выше. Если в классовой адресации маска нарезалась единой для всех подсетей, то в бесклассовой — у каждой подсети может быть своя маска. На теории все хорошо и красиво, но нет ничего лучше, чем практика. Поэтому перехожу к ней и объясню, как можно делить на подсети с разным количеством хостов.

В качестве шпаргалки приведу список всех возможных масок.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Представим ситуацию. Вам выдали сеть 192.168.1.0/24 и поставили следующие условия:

1) Подсеть на 10 адресов для гостей.
2) Подсеть на 42 адреса для сотрудников.
3) Подсеть на 2 адреса для соединения 2 маршрутизаторов.
4) Подсеть на 26 адресов для филиала.

Ок. Данная маска показывает, что в нашем распоряжении находятся 256 адресов. По условию эту сеть надо каким-то образом разделить на 4 подсети. Давайте попробуем. 256 очень хорошо делится на 4, давая в ответе 64. Значит один большой блок в 256 адресов можно поделить на 4 равных блока по 64 адреса в каждом. И все было бы прекрасно, но это порождает большое число пустых адресов. Для сотрудников, которым нужно 42 адреса, ладно, может в дальнейшем компания еще наймет. Но вот подсеть для маршрутизаторов, которая требует всего 2 адреса, оставит 60 пустых адресов. Да, вы можете сказать, что это private адреса, и кому дело до них. А теперь представьте, что это публичные адреса, которые маршрутизируются в Интернете. Их и так мало, а тут мы еще будем их отбрасывать. Это не дело, тем более, когда мы можем гибко управлять адресным пространством. Поэтому возвращаемся к примеру и нарежем подсети так, как нам нужно.

Итак, какие подсети должны быть нарезаны, чтобы вместились все адреса, заданные по условию?!

1) Для 10 хостов, наименьшей подсетью будет блок из 16 адресов.
2) Для 42 хостов, наименьшей подсетью будет блок из 64 адресов.
3) Для 2 хостов, наименьшей подсетью будет блок из 4 адресов.
4) Для 26 хостов, наименьшей подсетью будет блок из 32 адресов.

Я понимаю, что не все могут с первого раза в это вникнуть, и в этом нет ничего страшного. Все люди разные и по-разному воспринимают информацию. Для полноты эффекта покажу деление на картинке.

Вот у нас блок, состоящий из 256 адресов.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

После деления на 4 части получается следующая картинка.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

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

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Как видите, в свободном доступе осталось куча адресов, которые мы в дальнейшем сможем использовать. Можно посчитать точную цифру. 256 — (64 + 32 + 16 + 4) = 140 адресов.

Вот столько адресов мы сэкономили. Двигаемся дальше и ответим на следующие вопросы:

— Какими будут сетевые и широковещательные адреса?
— Какие адреса можно будет назначить хостам?
— Как буду выглядеть маски?

Механизм деления на подсети с разной маской получил название VLSM (от англ. Variable Length Subnet Mask) или маска подсети переменной длины. Дам важный совет! Начинайте адресацию с самой большой подсети. Иначе вы можете попасть на то, что адреса начнут перекрываться. Поэтому сначала планируйте сеть на бумаге. Нарисуйте ее, изобразите в виде фигур, просчитайте вручную или на калькуляторе и только потом переходите настройке в боевых условиях.

Итак, самая большая подсеть состоит из 64 адресов. С нее и начнем. Первый пул адресов будет следующий:

Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.63.
Пул адресов для назначения хостам от 192.168.1.1 до 192.168.1.62.
Теперь выбор маски. Тут все просто. Отнимаем от целой сети нужный кусок и полученное число записываем в октет маски. То есть 256 — 64 = 192 => маска 255.255.255.192 или /26.

Адрес подсети — 192.168.1.64.
Широковещательный адрес — 192.168.1.95.
Пул адресов для назначения хостам будет от 192.168.1.65 до 192.168.1.94.
Маска: 256 — 32 = 224 => 255.255.255.224 или /27.

Адрес подсети — 192.168.1.96.
Широковещательный адрес — 192.168.1.111.
Пул адресов для назначения хостам будет от 192.168.1.97 до 192.168.1.110.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.

Адрес подсети — 192.168.1.112.
Широковещательный адрес — 192.168.1.115.
Разрешенными адресами будут 192.168.1.113 и 192.168.1.114.
Маска: 256 — 4 = 252 => 255.255.255.252 или /30.

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

Разделите сеть 192.168.1.0/24 на 3 разные подсети. Найдите и запишите в каждой подсети ее адреса, широковещательный адрес, пул разрешенных к выдаче адресов и маску. Указываю требуемые размеры подсетей:

1) Подсеть на 120 адресов.
2) Подсеть на 12 адресов.
3) Подсеть на 5 адресов.

1) Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.127.
Пул адресов для назначения хостам будет от 192.168.1.1 до 192.168.1.126.
Маска: 256 — 128 = 128 => 255.255.255.128 или /25.

2) Адрес подсети — 192.168.1.128.
Широковещательный адрес — 192.168.1.143.
Пул адресов для назначения хостам будет от 192.168.1.129 до 192.168.1.142.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.

3) Адрес подсети — 192.168.1.144.
Широковещательный адрес — 192.168.1.151.
Пул адресов для назначения хостам будет от 192.168.1.145 до 192.168.1.150.
Маска: 256 — 8 = 248 => 255.255.255.248 или /29.

Теперь, когда вы знаете, как делить сети на подсети, самое время научиться собирать подсети в одну общую подсеть. Иначе это называется суммированием или summarization. Суммирование чаще всего используется в маршрутизации. Когда у вас в таблице маршрутизатора несколько соседних подсетей, маршрутизация которых проходит через один и тот же интерфейс или адрес. Скорее всего этот процесс лучше объяснять при разборе маршрутизации, но учитывая то, что тема маршрутизации и так большая, то я объясню процесс суммирования в этой статье. Тем более, что суммирование это сплошная математика, а в этой статье мы ею и занимаемся. Ну что же, приступлю.

Представим, что у меня компания состоящая из главного здания и корпусов. Я работаю в главном здании, а в корпусах коллеги. Хоть у меня и главное здание, но в нем всего 4 подсети:

— 192.168.0.0/24
— 192.168.1.0/24
— 192.168.2.0/24
— 192.168.3.0/24

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

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

Посмотрите внимательно на таблицу. Как видите, у 4 подсетей первые 22 бита одинаковые. Соответственно, если я возьму 192.168.0.0 с маской /22 или 255.255.252.0, то покрою свои 4 подсети. Но обратите внимание на 5 подсеть, которую я специально ввел. Это подсеть 192.168.4.0. 22-ой бит у нее отличается от предыдущих 4-х, а значит выше выбранное не покроет эту подсеть.
Ок. Теперь я отправлю коллегам суммированную подсеть, и, если они все правильно пропишут, то маршрутизация до моих подсетей будет работать без проблем.

Возьмем тот же пример и немного изменим условия. Нас попросили прислать суммарный маршрут для подсетей 192.168.0.0 и 192.168.1.0. Я не поленюсь и создам еще одну таблицу.

зачем делить сеть на подсети. Смотреть фото зачем делить сеть на подсети. Смотреть картинку зачем делить сеть на подсети. Картинка про зачем делить сеть на подсети. Фото зачем делить сеть на подсети

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

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

Вообще суммирование полезно применять, когда надо объединить несколько подсетей, расположенных вблизи друг с другом. Это позволит сэкономить ресурсы маршрутизаторов. Однако это не всегда возможно. Просуммировать, например, подсеть 192.168.1.0 и 192.168.15.0, не захватив при этом соседние подсети, невозможно. Поэтому перед суммированием стоит подумать над ее целесообразностью. Поэтому повторюсь еще раз, что начинать какую-либо революцию надо на бумажке. Ну и для закрепления материала оставлю небольшую задачу.

1) 10.3.128.0
2) 10.3.129.0
3) 10.3.130.0
4) 10.3.131.0

Просуммируйте подсети и найдите маску, которая сможет покрыть их, не задевая при этом соседние подсети.

Источник

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

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