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

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

Поскольку большинство организаций не используют сети класса B, в рамках которых могут быть соединены между собой 65534 устройства, рассмотрим пример разделения сетей класса C. Наиболее распространенный вариант разбиения – с помощью маски.

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

Например, 192.168.109.0/32, где число 32 характеризует сумму единиц в двоичной записи.

Предположим, существует сеть, в состав которой входит некоторое количество компьютеров, 3 свитча (коммутатора) и 3 маршрутизатора.

Провайдером была выделена сеть 192.168.0.0/24.

Разделим ее на 6 подсетей, при этом число устройств в каждой будет различным: 100, 50, 20, 2, 2, 2. Деление начинают с участка, к которому подключено наибольшее число устройств. Как видно, короткая запись маски – 24, что означает, что ее можно представить в таком виде: 255.255.255.0.

Чтобы разбить сеть на 2 подсети, необходимо сменить маску с «24» на «25» и применить ее к сети. В созданных подсетях 192.168.0.0/25 и 192.168.0.128/25 для IP узлов выделено 7 бит. Число доступных адресов можно рассчитать следующим способом: 2^7-2 = 126, что больше 100.

Теперь разделим подсеть 192.168.0.128/25 на 2 подсети, для чего используем маску 26. Число доступных адресов – 2^6-2 = 62, поскольку теперь для адресов устройств выделено 6 бит. В итоге получили 2 подсети: 192.168.0.128/26 и 192.168.0.192/26.

Подобным способом используем маску 27 для очередного деления на 2 подсети. Число устройств – 2^5-2 = 30, что больше 20. Получаем подсети 192.168.0.192/27 и 192.168.0.224/27.

Для создания 3 подсетей с подключенными по 2 устройства к каждой, из общего IP-адреса достаточно выделить всего 2 бита под адреса. Общее число бит в IP-адресе – 32. Получаем маску: 32-2=30. Применяем ее для сети 192.168.0.224, получаем 3 новых подсети: 192.168.0.224/30, 192.168.0.228/30, 192.168.0.232/30.

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

Данный онлайн-сервис позволяет разделить сеть на требуемое число подсетей с использованием сетевой маски. На странице содержится форма, с несколькими полями. В первом требуется ввести адрес исходной сети, указав через «/» биты маски. Чтобы изменить количество подсетей, необходимо найти на форме поле с соответствующим названием и ввести требуемое значение, зафиксировать его нажатием на «Изменить». Форма примет вид с определенным числом подсетей, которые характеризуются буквенным обозначением («Название») и числом устройств («Размер»). Необходимо заполнить поля «Размер» в зависимости от требуемого числа устройств в подсетях и нажать кнопку «Отправить».

Разделить сеть на подсети онлайн — http://www.vlsm-calc.net/?lang=ru

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

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

Одной из «классических» задач сисадмина является необходимость в рамках одного предприятия разделить одну физическую сеть на несколько виртуальных – по признаку принадлежности к отделу, департаменту, вип-персонам и т.д. Даже если вы будете использовать в качестве маршрутизатора и фаервола сервер с ОС Linux, осуществляющий технологию «ip-alias», вы не сможете быть уверены в своей безопасности на 100%.

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

И причина тому проста - пользователи разных отделов будут оставаться в одном широковещательном домене в рамках коммутатора, хоть подсети будут разными.

Разделение локальной сети с помощью vlan

Для решения данной проблемы используется (Virtual Local Area Network), позволяющая логически разделить физическую сеть на несколько широковещательных не пересекающихся промеж себя доменов, и соответственно, улучшающую безопасность локальной сети. Иными словами, VLAN позволяет осуществлять деление на подсети и создавать отдельные сетевые сегменты на 2-м, канальном, уровне в рамках одного или нескольких физических коммутаторов вашей сети.

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

Технология VLAN позволяет избавиться от большого количества широковещательного трафика, примером которого являются arp-/dhcp-бродкасты или же мультикаст (multicast), использующийся при передаче видеопотоков. Такой тип трафика «съедает» полезную пропускную способность вашей сети.

Как правильно разбить сеть на vlan?

Рассмотрим, как разделить сеть на подсети с помощью VLAN на базе коммутатора Cisco Catalyst. Имеется два компьютера, подключенные к коммутатору и находящиеся в одном широковещательном домене, а также имеющие ip-адреса в одной сети с одинаковой маской подсети, и как следствие, «видящие» друг друга с . Подключимся с помощью telnet или ssh к консоли коммутатора и посмотрим на конфигурацию vlan.

Здесь видно, что все физические порты коммутатора по умолчанию находятся в vlan 1, соответственно, устройства за ними взаимодоступны.

Чтобы разделить сеть на две подсети, создадим два новых vlan: первый для ПК_1, второй для ПК_2:

Проверим, обновилась ли таблица vlan:

Как видно, оба vlan были созданы и их состояние активно.

Однако физические порты еще не привязаны к этим vlan. Чтобы сделать это, выполним следующую конфигурацию:

Первая строка, следующая за названием физического интерфейса (порта), указывает коммутатору, что данный порт используется в режиме access – то есть принимает только единственный возможный vlan. Существуют еще и trunk-порты, поддерживающие несколько разных vlan с одного физического интерфейса – обычно такой режим используется между коммутаторами или коммутатором и маршрутизатором. Вторая строка указывает, какой именно vlan закреплен за данным физическим портом.

Посмотрим теперь на таблицу vlan:

Как видим, информация обновилась: порт ПК_1 находится в vlan 10, а порт ПК_2 – в vlan 20. Попробуем проверить доступность компьютеров друг относительно друга с помощью утилиты ping теперь:

Итак, после деления на подсети два компьютера (имеющие и одинаковую маску подсети) стали друг для друга недоступны вследствие помещения их разные vlan на коммутаторе.

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

Другое дело, если требуется осуществить маршрутизацию между разными подсетями из разных vlan, частично ограничив доступность каждой из них друг для друга. Для этого потребуется установка маршрутизатора, который примет на свой физический интерфейс несколько разных vlan с коммутаторов вашей сети используя технологию TRUNK. В данном случае на маршрутизаторе создаются виртуальные ip-интерфейсы, выступающие в роли шлюзов для подсетей подразделений. На такой ip-интерфейс уже можно добавить ACL (Access control list), выступающий своего рода фаерволом, ограничивающим доступность между подсетями.

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

Подумайте о том, как в сети Ethernet устройства выполняют поиск необходимых служб и устройств с помощью широковещательной рассылки. Как вы помните, широковещательное сообщение доставляется всем узлам данной сети. Протокол DHCP - пример сетевой службы, которая зависит от широковещательной рассылки. Устройства отправляют по сети широковещательные запросы, чтобы определить местонахождение DHCP-сервера. В крупной сети из-за этого может создаваться значительный трафик, который замедлит общую работу сети. Кроме того, поскольку широковещательная рассылка выполняется по всем устройствам, им необходимо принять и обработать трафик, что приводит к повышению требований к обработке. Если устройство должно обработать значительный объём широковещательных рассылок, это может даже привести к замедлению работы устройства. По этой причине более крупные сети необходимо разделить на более мелкие подсети, предназначенные для небольших групп устройств и служб.

Процесс сегментации сети путём разделения её на несколько более мелких сетей называется разбиением на подсети. Эти более мелкие сети называются подсетями. Сетевые администраторы могут группировать устройства и службы в подсети по их географическому местоположению (например, 3-й этаж здания), организационному подразделению (например, отдел продаж) или по типу устройств (принтеры, серверы, глобальная сеть и т.п.) или по другому значимому для сети принципу. Разбиение на подсети может снизить общую нагрузку на сеть и повысить её производительность.

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

Обмен данными между подсетями

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

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

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

Значимость разбиения IP-сети на подсети

План: присвоение адресов

Как показано на рисунке, при планировании подсетей требуется учитывать требования организации к использованию сети и предполагаемую структуру подсетей. Для начала необходимо изучить требования к сети. Это означает, что нужно изучить всю сеть, определить её основные части и разделить их на сегменты. План распределения адресов содержит информацию о требуемом размере подсети, количестве узлов и принципе назначения адресов узлам. Кроме того, необходимо определить узлы, которым нужно выделить статические IP-адреса, и узлы, которые смогут получать сетевые настройки по протоколу DHCP.

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

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

  • 10.0.0.0 с маской подсети 255.0.0.0
  • 172.16.0.0 с маской подсети 255.240.0.0
  • 192.168.0.0 с маской подсети 255.255.0.0

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

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

Определите стандарты присвоения IP-адресов в диапазоне каждой подсети. Например:

  • Принтерам и серверам будут назначены статические IP-адреса
  • Пользователи будут получать IP-адреса от DHCP-серверов в подсетях /24
  • Маршрутизаторам назначаются первые доступные адреса узла в диапазоне.

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

В примерах ниже отображено разбиение на подсети на основе блоков адресов с масками подсети 255.0.0.0 и 255.255.255.0, 255.255.0.0.

Базовое разбиение на подсети

Каждый сетевой адрес содержит допустимый диапазон адресов узлов. Все устройства, подключённые к одной и той же сети, будут иметь IPv4-адрес узла этой сети, а также общую маску подсети или префикс сети.

Префикс и маска подсети - это разные способы представления одного и того же - сетевой части адреса.

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

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

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

Как показано на рисунке 1, сеть 192.168.1.0/24 имеет 24 бита в сетевой части и 8 бит в узловой части, что обозначено маской подсети 255.255.255.0 или записью с префиксом /24. Без разделения на подсети эта сеть поддерживает работу только с одним интерфейсом локальной сети. Если нужна дополнительная локальная сеть, основную сеть нужно разделить на подсети.

На рисунке 2 в самом старшем разряде (крайний левый бит) заимствуется 1 бит в узловой части, расширяя сеть до 25 бит. При этом создаются две подсети: первая определяется цифрой 0 в заимствованном бите, а вторая - цифрой 1 в заимствованном бите. Для маски подсети обеих сетей используется цифра 1 в заимствованном бите, чтобы показать, что этот бит теперь входит в сетевую часть адреса.

Как показано на рисунке 3, если преобразовать двоичный октет в десятичный формат, мы увидим, что адрес первой подсети - 192.168.1.0, а адрес второй подсети - 192.168.1.128. Поскольку был заимствован бит, маска подсети для каждой подсети будет 255.255.255.128 или /25.

Используемые подсети

В примере выше сеть 192.168.1.0/24 была разделена на две подсети:

192.168.1.128/25

Обратите внимание, что на рисунке №1 к интерфейсам GigabitEthernet маршрутизатора R1 подключены два сегмента локальной сети. Подсети будут использоваться для сегментов, подключённых к этим интерфейсам. Чтобы выполнять роль шлюза для устройств в локальной сети, каждому из интерфейсов маршрутизатора должен быть назначен IP-адрес в диапазоне допустимых адресов для назначенной подсети. В качестве адреса интерфейса маршрутизатора рекомендуется использовать первый или последний доступный адрес диапазона сети.

Первая подсеть (192.168.1.0/25) используется для сети, подключённой к интерфейсу GigabitEthernet 0/0, а вторая подсеть (192.168.1.128/25) - к интерфейсу GigabitEthernet 0/1. Чтобы назначить IP-адрес каждому из этих интерфейсов, необходимо определить диапазон допустимых IP-адресов для каждой подсети.

  • Сетевой адрес - все биты 0 в узловой части адреса.
  • Адрес первого узла - все биты 0, а также крайний правый бит 1 в узловой части адреса.
  • Адрес последнего узла - все биты 1, а также крайний правый бит 0 в узловой части адреса.
  • Широковещательный адрес - все биты 1 в узловой части адреса.

Как показано на рисунке 2, адрес первого узла в сети 192.168.1.0/25 - 192.168.1.1, а адрес последнего узла - 192.168.1.126. На рисунке 3 показано, что адрес первого узла в сети 192.168.1.128/25 - 192.168.1.129, а адрес последнего узла - 192.168.1.254.

Чтобы назначить адрес первого узла в каждой подсети интерфейсу маршрутизатора для этой подсети, используйте команду ip address в режиме конфигурации интерфейса, как показано на рисунке 4. Обратите внимание, что для каждой подсети используется маска подсети 255.255.255.128, которая означает, что под сетевую часть адреса отведено 25 бит.

Конфигурация узла для сети 192.168.1.128/25 показана на рисунке 5. Обратите внимание, что IP-адресом шлюза является адрес (192.168.1.129), настроенный на интерфейсе G0/1 маршрутизатора R1, а маской подсети является 255.255.255.128.

Формулы разделения на подсети

Расчёт подсетей

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

2^n (где n = количество заимствованных бит)

Как показано на рисунке 1 для примера 192.168.1.0/25, расчёт выглядит следующим образом:

2^1 = 2 подсети

Расчёт узлов

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

2^n (где n = количество бит, оставшихся в узловой части адреса)

Как показано на рисунке 2 для примера 192.168.1.0/25, расчёт выглядит следующим образом:

Поскольку для узлов не может использоваться сетевой адрес или широковещательный адрес из подсети, эти два адреса нельзя назначить узлам. Это означает, что в каждой из подсетей можно использовать 126 (128-2) адресов узлов.

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

Создание 4 подсетей

Рассмотрим сетевую инфраструктуру, в которой требуются три подсети.

Если использовать одинаковый блок адресов 192.168.1.0/24, для создания как минимум трёх подсетей необходимо позаимствовать несколько бит из узловой части. Если заимствовать один бит, будут созданы только две подсети. Для создания большего количества подсетей необходимо заимствовать больше бит из узловой части. Рассчитаем количество подсетей, создаваемых при заимствовании двух бит из узловой части по формуле 2^n:

2^2 = 4 подсети

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

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

Используйте формулу расчёта узлов, как показано на рисунке 2.

Не забывайте, что если в узловой части адреса все биты равны 0, то это адрес самой сети, а если все биты равны 1 - широковещательный. Таким образом, в каждой подсети фактически доступно только 62 адреса узлов.

Как показано на рисунке 3, адрес первого узла в первой подсети - 192.168.1.1, а адрес последнего узла - 192.168.1.62.

На рис. 4 показаны диапазоны для подсетей от 0 до 2. Помните, что каждый узел должен иметь правильный IP-адрес в диапазоне, определённом для данного сегмента сети. Подсеть, присвоенная интерфейсу маршрутизатора, определит, к какому сегменту относится узел.

На рисунке 5 показан пример конфигурации. В этой конфигурации первая сеть назначена интерфейсу GigabitEthernet 0/0, вторая сеть - интерфейсу GigabitEthernet 0/1, а третья сеть назначена последовательной сети 0/0/0.

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

  • Для ПК1 (192.168.1.2/26) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.1 (адрес интерфейса G0/0 маршрутизатора R1).
  • Для ПК2 (192.168.1.66/26) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.65 (адрес интерфейса G0/1 маршрутизатора R1).

Примечание. Все устройства в одной и той же подсети будут иметь IPv4-адрес узла из диапазона адресов узлов и использовать одну и ту же маску подсети.

Создание 8 подсетей

Если использовать одинаковый блок адресов 192.168.1.0/24, для создания как минимум пяти подсетей необходимо позаимствовать несколько бит из узловой части адреса. Заимствование двух битов создаст только четыре подсети, как было показано в предыдущем примере. Для создания большего количества подсетей необходимо заимствовать больше бит из узловой части. Рассчитаем количество подсетей, создаваемых при заимствовании трёх бит из узловой части по формуле:

2^3 = 8 подсетей

Как показано на рисунках 2 и 3, при заимствовании трёх бит создаются 8 подсетей. Если заимствовать три бита, маска подсети будет расширена на 3 бита в последнем октете (/27), что даст маску подсети 255.255.255.224. Все устройства в этих подсетях будут использовать маску подсети 255.255.255.224 (/27).

Применим формулу расчёта узлов:

2^5 = 32, но вычтем 2 для всех нулей в узловой части (сетевого адреса) и все единицы в узловой части (широковещательный адрес).

Подсети назначаются сегментам сети, необходимым для топологии, как показано на рисунке 4.

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

  • Для ПК1 (192.168.1.2/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.1.
  • Для ПК2 (192.168.1.34/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.33.
  • Для ПК3 (192.168.1.98/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.97.
  • Для ПК4 (192.168.1.130/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.129.

8)
9) Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP.
10) Трансляция сетевых адресов: NAT и PAT.
11) Протоколы резервирования первого перехода: FHRP.
12) Безопасность компьютерных сетей и виртуальные частные сети: VPN.
13) Глобальные сети и используемые протоколы: PPP, HDLC, Frame Relay.
14) Введение в IPv6, конфигурация и маршрутизация.
15) Сетевое управление и мониторинг сети.

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 битам. Теперь интересный вопрос. Каким образом этот адрес воспримет компьютер, и как будет с ним работать?

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

128 64 32 16 8 4 2 1
x x x x x x x x

Вместо «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.

Для 44 - это 32 + 8 + 4.

Получается длинная битовая последовательность 11000001.11101001.00101100.00001100. Именно с данным видом работают сетевые устройства. Битовая последовательность обратима. Вы можете так же вставить каждый октет (по 8 символов) в таблицу и получить десятичную запись. Я представлю совершенно случайную последовательность и приведу ее к десятичному виду. Пусть это будет 11010101.10110100.11000001.00000011. Строю таблицу и заношу в нее первый блок.

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

Третий блок.

2 + 1 = 3

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

Задача №1

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

Ответы

1) 00001010.01111100.00111000.11011100
2) 01110001.01001000.01100101.00001011
3) 10101101.10001111.00100000.11000010
4) 11001000.01000101.10001011.11011001
5) 01011000.11010100.11101100.01001100
6) 93.187.72.48
7) 72.163.4.161
8) 15.217.232.245
9) 69.20.59.80
10) 43.243.130.61


Теперь 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».

Класс C

Этот класс обделили адресами и дали ему самый маленький блок. Он был предназначен для мелких сетей. Зато этот класс отдавал целых 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 и посмотрю на границы.

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

Соответственно.128 и.255 назначать хостам нельзя. Значит в доступности 128-2=126 адресов.
Вот таким образом можно при помощи маски управлять размером сети. Каждый заимствованный бит делит сеть на 2 части. Если откусить 1 бит от хостовой части, то поделим на 2 части (по 128 адресов), 2 бита = 4 части (по 64 адреса), 3 бита = 8 (по 32 адреса) и так далее.

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

Бесклассовая адресация (англ. 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.

3-я подсеть, которая предназначена для филиала, начнет старт с.96:

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

Ну и для последней подсети, которая уйдет под интерфейсы, соединяющие роутеры, будет начинаться с.112:

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

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

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

Задача №3

Разделите сеть 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, не захватив при этом соседние подсети, невозможно. Поэтому перед суммированием стоит подумать над ее целесообразностью. Поэтому повторюсь еще раз, что начинать какую-либо революцию надо на бумажке. Ну и для закрепления материала оставлю небольшую задачу.

Задача №4

Даны 4 подсети:

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

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

Ответ


Исходя из этого, ответом будет 10.3.128.0/22 (255.255.252.0)


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

Теги:

  • бесклассовая адресация
  • суммирование подсетей
Добавить метки

Определившись с типами IP-адресов, числом ЛВС и способом их соединения, можно приступать к расчету IP-адресов, масок подсетей и адресов основных шлюзов. На данном этапе также нужно продумать, как администраторы будут настраивать TCP/IP на компьютерах сети.

1. Получение адресов для сети

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

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

Адрес сети — это часть IP-адреса, составляющая идентификатор сети, в сочетании с маской подсети. Например, если ISP выделил адрес сети 192.168.65.0 с маской 255.255.255.0, вы можете назначать своим компьютерам IP-адреса из диапазона 192.168.65.1—192.168.65.254. Конкретный вид адреса сети, выделяемый ISP, зависит от класса адреса и числа компьютеров, которым необходимы зарегистрированные адреса.

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

1.1 Классы IP-адресов

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


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

Диапазоны адресов для частных сетей в соответствии с классами.

  • Класс А: 10.0.0.0-10.25.255.255
  • Класс В: 172.16.0.0-172.31.255.255
  • Класс С: 192.168.0.0-192.168.255.255

Помимо классов А, В и С существуют дополнительные классы D и Е. IANA зарезервировала класс D для групповых адресов. Групповой адрес (multicast address) идентифицирует группу компьютеров сети, объединенных по какому-либо общему признаку. Групповые адреса позволяют приложениям, использующим TCP/IP, посылать данные компьютерам, выполняющим определенные функции (например, маршрутизаторам), даже если они находятся в разных подсетях. Адреса класса Е считаются экспериментальными и пока не используются.

2. Введение в подсети

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

Организация подсетей — один из важнейших аспектов IР-адресации. Пространство IP-адресов включает всего лишь 126 адресов класса А, но каждый из них поддерживает более 16 миллионов хостов. В мире есть очень большие сети, но ни одна из них не насчитывает 16 миллионов компьютеров. Если организация получила бы в свое распоряжение адрес класса А, то никогда не смогла бы использовать его полностью, и большая часть адресов пропала бы зря, но к счастью, это проблема решается путем организации подсетей.

В стандартном IP-адресе класса А первые 8 бит составляют идентификатор сети и соответствуют первой четверти IP-адреса в десятичной нотации, например 10.0.0.0. Маска подсети у такого адреса — 255.0.0.0. Длина идентификатора хоста у адреса класса А составляет 24 бита. Это больше, чем требуется для большинства сетей, поэтому можно отвести часть из них для идентификатора подсети. Если вы решите выделить для этой цели 8 битов, структура адреса изменится: маска подсети станет равна 255.255.0.0, поскольку ее основная функция — выделение идентификатора хоста в составе IP-адреса.

При использовании адреса класса А идентификаторы подсети и хоста в его составе изменяются независимо. Например, первой созданной подсети можно присвоить идентификатор 1 и ее адрес будет 10.1.0.0. После выделения идентификатора подсети для идентификатора хоста останется 16 бит. Это означает, что в такой подсети может быть 65 534 хостов (2 16 — 2 = 65 534). Первый адрес хоста в этой подсети будет 10.1.0.1, вместе с маской подсети 255.255.0.0 его можно назначить первому компьютеру подсети. Следующий адрес будет 10.1.0.2 и так далее до 10.1.255.254, пока не будут заняты все 16 битов идентификатора хоста.

Для создания еще одной подсети достаточно снова увеличить значение идентификатора подсети до 10.2.0.0. В новой подсети будут IP-адреса с 10.2.0.1 по 10.2.255.254. Длина идентификатора подсети — 8 битов, поэтому в такой сети можно создать до 254 подсетей (2 8 — 2 = 254). Адрес последней подсети будет 10.254.0.0, а диапазон IP-адресов ее хостов - 10.254.0.1-10.254.255.254.

2.1 Разделение IP-адресов внутри октета

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

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

Предположим, что сеть с адресом класса С (192.168.42.0) необходимо разбить на пять подсетей по 25 компьютеров в каждой. В адресе класса С под идентификатор хоста отводится 8 битов, часть из них придется выделить под идентификатор подсети. Расчет по формуле 2 х — 2 показывает, что идентификатор подсети длиной 3 бита позволяет создать 6 подсетей (2 3 — 2 = 6), таким образом, 5 битов можно оставить для идентификатора хоста. Это позволяет поместить в каждую подсеть до 30 хостов (2 5 — 2 = 30). Дальше начинаются сложности. Идентификаторы подсети и хоста необходимо увеличивать независимо, как и для адреса класса А, но при этом в сочетании они должны давать десятичное число, представляющее четвертый октет IP-адреса.

2.2 Вычисление IP-адресов в двоичном представлении

Чтобы лучше уяснить, как решить возникшую проблему, удобно представить IP-адрес в виде двоичного числа, например:

192 168 42 0
11000000 10101000 00101010 00000000

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

001 00000

Теперь увеличим значение идентификатора хоста, присвоив первому хосту первой подсети идентификатор 1 и получим следующее двоичное значение:

001 00001

Чтобы получить из двоичных значений идентификаторов подсети и хоста 8-битное десятичное число, необходимо объединить их и преобразовать в десятичное число:

001 00001 =33

Следовательно, IP-адрес первого компьютера первой подсети будет 192.168.42.33. Чтобы рассчитать адрес второго компьютера той же подсети, снова увеличим идентификатор хоста и преобразуем результат в десятичное число. 5-битный идентификатор хоста примет значение 2 (00010 в двоичной форме); после преобразования получим:

00100010 =34

Таким образом, у второго компьютера первой подсети будет IP-адрес 192.168.42.34. Можно продолжать увеличивать идентификатор хоста, пока не будет достигнуто максимальное значение 5-битного идентификатора:

00111110 =62

Пользуясь той же схемой рассуждений, рассчитываем IP-адрес последнего компьютера первой подсети — 192.168.42.62.

Чтобы создать вторую подсеть , необходимо увеличить 3-битный идентификатор с 001 до 010. Адреса первого и последнего компьютера второй подсети будут следующими:

01000001 = 65

01011110 = 94

Таким образом, во второй подсети окажутся IP-адреса с 192.168.42.65 по 192.168.42.94. Идентификатор подсети можно увеличивать и далее, до получения шестого, последнего адреса подсети, в которой будут хосты с идентификаторами от 11000001 (193) до 11011110 (222).

Следовательно, в последней подсети окажется диапазон адресов 192.168.42.193— 192.168.42.222.

2.3 Вычисление маски подсети.

Помимо IP-адресов, для сети, разбитой на подсети, вам потребуется рассчитать значение маски подсети. И эта задача будет проще, если представить идентификаторы и адреса в двоичной форме. Общая длина идентификаторов сети и подсети в этом примере составляет 27 битов:

1ый октет 2ой октет 3ий октет 4ый октет
11111111 11111111 11111111 11100000

Поскольку первые три октета состоят лишь из единиц, все они будут иметь десятичные значение 255, как и положено в сети класса С. Преобразование четвертого октета из двоичного (11100000) в десятичное представление дает 224; получается, что всем компьютерам данной сети класса С нужно назначить маску подсети 255.255.255.224.

В различных источниках IP-адреса часто указывают в следующей нотации: за сетевым адресом через слеш указывают число битов маски подсети, равных 1. Например, 192.168.42.32/27 соответствует адресу 192.168.42.32 с маской подсети 255.255.255.224.

Преобразование двоичных чисел в десятичные

Конечно, проще всего переводить двоичные значения в десятичные при помощи калькулятора, например калькулятора Windows в режиме Инженерный (Scientific). Но можно проводить такие расчеты и вручную. Чтобы преобразовать двоичное число в десятичную форму, необходимо пронумеровать его разряды справа налево, начиная с 1 и увеличивая каждый последующий номер вдвое. Например, вот как это делается для восьмиразрядного двоичного числа:

Остается лишь сложить числа, которым соответствуют биты, равные 1:

1 1 1 0 0 0 0 0
128+ 64+ 32+ 0+ 0+ 0+ 0+ 0

Таким образом, двоичному числу 11100000 соответствует десятичное 224.

Вычисление IP-адресов методом вычитания

Ручной расчет IP-адресов через двоичные значения — занятие медленное и нудное, особенно если нужно вычислить несколько тысяч адресов. Но имея маску подсети и понимая связь между идентификаторами подсети и хоста, можно вычислять IP-адреса, минуя двоично-десятичное преобразование.

Чтобы рассчитать адрес первой подсети, сначала отнимите от 256 значение последнего октета маски подсети, который складывается из идентификаторов подсети и хоста. В предыдущем примере с сетью класса С маска подсети 255.255,255.224; 256 — 224 = 32, следовательно, у первой подсети будет адрес 192.168.42.32. Чтобы рассчитать адреса остальных подсетей, необходимо последовательно прибавлять к полученной разности (в данном примере — 32) это же число. Так, если адрес первой подсети — 192.168.42.32, адреса остальных подсетей будут следующими:

  • 192.168.42.64
  • 192.168.42.96
  • 192.168.42.128
  • 192.168.42.160
  • 192.168.42.192

Чтобы вычислить IP-адреса в каждой подсети, нужно последовательно увеличивать соответствующие идентификаторы хостов на единицу. Таким образом, в первой подсети будут IP-адреса 192.168.42.33-192.168.42.62 (адрес 192.168.42.63 исключается, поскольку в двоичном представлении ему соответствует широковещательный адрес 11111). Диапазоны IP-адресов для остальных подсетей следующие:

  • 192.168.42.65 - 192.168.42.94
  • 192.168.42.97 - 192.168,42.126
  • 192.168,42.129 - 192.168.42.158
  • 192.168.42.161 - 192.168.42.190
  • 192.168.42.193 - 192.168.42.222

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

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

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

Прочитано 5635 раз