Что нового

Article Networking Basics: Что такое подсети IPv4?

Vander 0

Vander

Команда форума
10.11.2019
472
1 083
Приветствую, сегодня поговорим о подсетях IPv4, на форуме решено было создать и поддерживать раздел о сетях, потому что, как показывает практика, далеко не каждый свободно владеет этой темой, и некоторые очерки под рукой иметь всегда полезно. Надеюсь такой шпаргалкой будет наш форум.

Приступим:

1611497877296.png

Подсеть IPv4

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

Кратко об IP-адресе и двоичной системе.

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

Начнем с основ. Вот как выглядит IP-адрес: 192.168.1.20

Адрес IPv4 - это 32-битное число. Чтобы упростить адресацию, они разделены на четыре 8-битных числа - или октета - разделенных десятичной точкой. Число этих октетов варьируется от нуля до 255.

750px-Ipv4_address.svg_.png

Почему октеты увеличиваются только до 255? Потому что они бинарные.

Максимально возможный IP-адрес 255.255.255.255

В двоичном формате этот IP-адрес выглядит так: 11111111.11111111.11111111.11111111

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

Бинарность соответствует этой таблице:

1286432168421

Давайте использовать это двоичное число, например: 10000001 Каждая 1 в двоичном числе «включает» число на своей позиции. Итак, 1 в первой и последней позициях «включаются» 128 и 1

1286432168421
10000001

Сложите все позиции, чтобы получить десятичное число: 128 + 1 = 129. Когда все позиции «включены», они в сумме составляют 255. Посмотреть, как это работает, можно здесь. Это наиболее распространенные октеты, с которыми вы можете столкнуться при разбиении на подсети:

1611498857553.png

Как определить сетевую часть IP-адреса подсети?

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

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

IP-адрес состоит из двух частей: сетевая часть и часть хоста (узловая).

Это как адрес дома. Сетевая часть похожа на город, штат и почтовый индекс. Узловая часть похожа на номер дома и улицы.

Подсеть определяет количество бит из 32, используемых для «сетевой части» адреса. Маски подсети также могут быть определены в более общем виде «косой черты», известном как нотация CIDR. В следующей таблице красные цифры представляют биты, используемые для сети. Черные цифры будут использоваться для IP-адресов устройств.

Обратите внимание, что маска 255.0.0.0 также может быть представлена как «/ 8», потому что она резервирует 8 бит из общих 32 бит, используемых для описания IPv4-адреса как сетевой части.

Bits used for maskDefault netmaskSubnet binary
/8255.0.0.011111111.00000000.00000000.00000000
/16255.255.0.011111111.11111111.00000000.00000000
/24255.255.255.011111111.11111111.11111111.00000000

Например, у вас может быть сеть с устройствами (известными как хосты) со следующими IP-адресами:
  • Сеть: 172.16.56.0
  • Компьютер 1: 172.16.56.40
  • Компьютер 2: 172.16.56.55
  • Принтер 1: 172.16.56.100
В этом случае мы используем для сети 24 бита (или три октета). Обратите внимание, что каждое хост-устройство в сети имеет одни и те же первые три октета. Это сетевая часть IP-адреса с маской /24.
  • IP-адрес: 172.16.56.40
  • Маска: 255.255.255.0
  • Двоичная маска: 11111111.11111111.11111111.00000000
Последний октет - это часть IP-адреса хоста. Здесь вы назначаете свои устройства. В этом случае вы можете назначить до 254 хостов. (Подробнее об этом позже.)
  • IP-адрес: 172.16.56.40
  • Маска: 255.255.255.0
  • Двоичная маска: 11111111.11111111.11111111.00000000
Давайте еще раз посмотрим на задачу. Если бы это было /16, то первые два октета были бы сетевой частью, а хост-часть занимала бы последние два октета.

/16255.255.0.011111111.11111111.00000000.00000000

Если бы это была сеть / 8, то только первый октет был бы сетевой частью.

/8255.0.0.011111111.00000000.00000000.00000000

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

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

SlashNetmask1st Octet2nd Octet3rd Octet4th Octet
/30255.255.255.25211111111111111111111111111111100
/29255.255.255.24811111111111111111111111111111000
/28255.255.255.24011111111111111111111111111110000
/27255.255.255.22411111111111111111111111111100000
/26255.255.255.19211111111111111111111111111000000
/25255.255.255.12811111111111111111111111110000000
/24255.255.255.011111111111111111111111100000000
/23255.255.254.011111111111111111111111000000000
/22255.255.252.011111111111111111111110000000000
/21255.255.248.011111111111111111111100000000000
/20255.255.240.011111111111111111111000000000000
/19255.255.224.011111111111111111110000000000000
/18255.255.192.011111111111111111100000000000000
/17255.255.128.011111111111111111000000000000000
/16255.255.0.011111111111111110000000000000000
/15255.254.0.011111111111111100000000000000000
/14255.252.0.011111111111111000000000000000000
/13255.248.0.011111111111110000000000000000000
/12255.240.0.011111111111100000000000000000000
/11255.224.0.011111111111000000000000000000000
/10255.192.0.011111111110000000000000000000000
/9255.128.0.011111111100000000000000000000000
/8255.0.0.011111111000000000000000000000000
/7254.0.0.011111110000000000000000000000000
/6252.0.0.011111100000000000000000000000000
/5248.0.0.011111000000000000000000000000000
/4240.0.0.011110000000000000000000000000000
/3224.0.0.011100000000000000000000000000000
/2192.0.0.011000000000000000000000000000000
/1128.0.0.010000000000000000000000000000000

Что такое классы IP-адресов?

Чтобы еще больше усложнить ситуацию, IP-адреса делятся на пять классов, но только три применимы к подсетям - A, B, C.

Вот диапазоны IP-адресов по классам:

Класс A = от 1.0.0.0 до 127.0.0.0

Класс B = от 128.0.0.0 до 191.255.0.0

Класс C = от 192.0.0.0 до 223.255.255.0

Помните, что эти IP-адреса представлены в двоичном формате.

Вот самые большие IP-адреса подсети в этих диапазонах:

Class A127.0.0.001111110000000000000000000000000
Class B191.255.0.010111111111111110000000000000000
Class C223.255.255.011011111111111111111111100000000

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

Классовые сети в протоколе IP использовались с 1981 по 1993 год, начиная с 1993 года появились сети CIDR и механизм VLSM, поскольку гибкость и экономичность расходования IP-адресов в классовых сетях оставляла желать лучшего.

Раз сети классовые, то значит есть и какие-то стандартные классы, вот они:
  1. Сеть класса А.
  2. Сеть класса B.
  3. Сеть класса C.
  4. Сеть класса D.
  5. Сеть класса E.
И если первые три мы рассмотрели, то D и E, выглядят так:

Начальный IP-адрес сети класса D 224.0.0.0, а последний 239.255.255.255.

Начальный адрес сети класса E 240.0.0.0, а конечный адрес 255.255.255.255.

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

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

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

Class A127.0.0.001111111000000000000000000000000

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

Маски подсети и хосты класса A

Network BitsSubnet MaskNumber of SubnetsNumber of Hosts
/8255.0.0.0016,777,214
/9255.128.0.008,388,606
/10255.192.0.024,194,302
/11255.224.0.062,097,150
/12255.240.0.0141,048,574
/13255.248.0.030524,286
/14255.252.0.062262,142
/15255.254.0.0126131,070
/16255.255.0.025465,534
/17255.255.128.051032,766
/18255.255.192.01,02216,382
/19255.255.224.02,0468,190
/20255.255.240.04,0944,094
/21255.255.248.08,1902,046
/22255.255.252.016,3821,022
/23255.255.254.032,766510
/24255.255.255.065,534254
/25255.255.255.128131,070126
/26255.255.255.192262,14262
/27255.255.255.224524,28630
/28255.255.255.2401,048,57414
/29255.255.255.2482,097,1506
/30255.255.255.2524,194,3022

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

Class B191.255.0.010111111111111110000000000000000

Маски подсети и хосты класса B

Network BitsSubnet MaskNumber of SubnetsNumber of Hosts
/16255.255.0.0065,534
/17255.255.128.0032,766
/18255.255.192.0216,382
/19255.255.224.068,190
/20255.255.240.0144,094
/21255.255.248.0302,046
/22255.255.252.0621,022
/23255.255.254.0126510
/24255.255.255.0254254
/25255.255.255.128510126
/26255.255.255.1921,02262
/27255.255.255.2242,04630
/28255.255.255.2404,09414
/29255.255.255.2488,1906
/30255.255.255.25216,3822

IP-адреса класса C предлагают наименьшее количество хостов, поскольку сетевая часть занимает три октета.

Class C223.255.255.011011111111111111111111100000000

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

Маски подсети и хосты класса C

Network BitsSubnet MaskNumber of SubnetsNumber of Hosts
/24255.255.255.00254
/25255.255.255.1280126
/26255.255.255.192262
/27255.255.255.224630
/28255.255.255.2401414
/29255.255.255.248306
/30255.255.255.252622

Эти стандарты немного упрощают разбиение на подсети. Например, если вы выбираете адрес класса «C», вы знаете, что он использует как минимум 24 бита (/ 24) из 32 доступных бит для сетевой части адреса.

Разбитие на подсети в IPv4

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

Вот IP-адрес, который мы будем использовать: 43.17.255.71/27

Вот как это выглядит в двоичном формате:

00101011.00010001.11111111.01000111

По IP-адресу мы уже знаем две вещи:
  • Это IP-адрес класса А.
  • Он должен иметь как минимум восемь сетевых битов, но мы даем ему 27 бит.
В этом случае мы знаем, что сетевая часть подсети будет занимать эти биты:

/27255.255.255.22411111111111111111111111111100000

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

Вот что мы хотим сделать:
  • Определим количество разрешенных подсетей с помощью сетевой маски /27.
  • Определим, в какой подсети находится адрес.
Вот пример:

1. Определяем количество разрешенных подсетей, используя сетевую маску /27.

Вот двоичное представление возможностей последнего октета с маской /27:

000|0 0000001|0 0000010|0 0000011|0 0000100|0 0000101|0 0000110|0 0000111|0 0000
0326496128160192224

Это дает нам восемь возможных подсетей с маской /27.

2. Как определить, в какой подсети живет ваш IP-адрес?

Теперь давайте найдем адрес подсети, в которой находится этот IP-адрес.

Помните, что IP-адрес 43.17.255.71.

Мы смотрим только на последний октет, потому что первые три октета являются сетевой частью.
  • 43.17.255.71
Нам просто нужно еще раз взглянуть на нашу таблицу. 71 находится выше подсети 43.17.255.64 и ниже подсети 43.17.255.96. Таким образом, он принадлежит подсети 43.17.255.64.

SubnetLast Octet Block sizeIP Address
10+3243.17.255.0
232+3243.17.255.32
364+3243.17.255.64
496+3243.17.255.96
5128+3243.17.255.128
6160+3243.17.255.160
7192+3243.17.255.192
8224+3243.17.255.224

Теперь у нас есть подсеть для 43.17.255.71: 43.17.255.64.

Это казалось большим трудом, правда? Если вы вошли в систему на маршрутизаторе Cisco, который подключен к подсети, существует более эффективный и простой способ получить подсеть. Используя команду «show ip route» в командной строке маршрутизатора Cisco, выходные данные включают подсеть для IP-адреса.

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

Напоследок, небольшое видео.

 
Верх Низ