Классовая адресация
Содержание:
Подсети
При
помощи маршрутизаторов и мостов есть возможность расширить сеть,
добавив к ней сегменты, или разделить ее на более мелкие подсети путем
изменения идентификатора сети. В этом случае берется маска подсети,
которая показывает, какой сегмент IP-адреса будет применяться как новый
идентификатор данной подсети. При совпадении идентификаторов можно
делать вывод, что узлы принадлежат одной подсети, иначе они будут
находиться в различных подсетях и для их соединения потребуется
маршрутизатор.
Классы
IP-адресов рассчитаны так, что число сетей и узлов для определенной
организации определено заранее. По умолчанию в организации можно
развернуть только одну сеть с некоторым количеством подключенных к сети
устройств. Есть определенный идентификатор сети и некоторое количество
узлов, имеющее ограничение в соответствии с классом сети. При большом
количестве узлов сеть будет низкой пропускной способности, так как даже
при любой широковещательной рассылке производительность будет падать.
IP-адреса
Если очень упрощённо, то у каждого компьютера в интернете есть уникальный адрес, его называют IP-адрес, или просто «айпи». В классическом виде IP-адрес — это четыре числа через точку. Например, у yandex.ru IP-адрес 77.88.55.88 (у Яндекса красивый номер!).
Числа и точки — это то же самое, что части обычного почтового адреса. Только в почтовом адресе у нас страна, город, улица и дом, а в интернете это просто узлы связи и магистральные роутеры.
В теории, если вы знаете IP-адрес компьютера и можете сформулировать ему запрос, вы можете «позвонить» на любой компьютер, подключённый к интернету. Например, если вы запустили на своём домашнем компьютере файловый сервер и знаете IP-адрес домашнего компьютера, вы можете зайти на свой сервер из отпуска и залить на него отпускные фотографии, находясь в другой стране. Между вами и вашим домашним железом могут быть тысячи километров, но с помощью IP-адреса вы сможете получить доступ.
Это если в теории и очень упрощённо. В жизни есть несколько нюансов.
Нюансы
Классические IP-адреса имеют ограниченную ёмкость: в такую структуру помещается 4,2 млрд адресов. Очевидно, что на всех людей на планете не хватит. А ведь IP-адреса нужны не только миллиардам компьютеров и смартфонов, но и другим устройствам: серверам, роутерам, шлюзам и даже умному чайнику.
Понимая это, инженеры придумали новую версию IP-адресов, где доступных адресов на много порядков больше. Сейчас все постепенно переходят на эту новую технологию — она называется IPv6.
Ещё нюанс: когда вы выходите в интернет, иногда у вас может не быть персонального IP-адреса. Ваши запросы будут уходить с какого-то адреса, но он будет принадлежать не только вам, но и множеству других абонентов. Между вами и интернетом будет узел, который от вашего имени принимает и отправляет запросы. Такой узел называют NAT — Network Address Translator. Из интернета виден один NAT, из которого прут миллионы запросов. Что находится за этим NAT — интернет не знает.
Если вы из отпуска сделаете запрос по IP-адресу вашего NAT, он может развести руками: «Я не знаю, куда дальше отправлять твой запрос, у меня тут миллион абонентов. Пшёл вон!»
Некоторые провайдеры домашнего интернета выделяют абонентам индивидуальные IP-адреса (без NAT), но даже тогда вам нужно будет настроить свой домашний роутер, чтобы запрос «загрузи фоточки» он отправлял именно на ваш файловый сервер, а не на умный чайник.
Как это выглядит?
Этот адрес, известный как «айпи», представляет собой код, состоящий из чисел, разделенных тремя точками, которые распознают конкретный компьютер в интернете. Он является 32-битным двоичным числом, состоящим из двух упомянутых выше субадресов (идентификаторов), которые, соответственно, распознают сеть и хост в ней с условной границей, разделяющей их. Он обычно отображается как 4 октета чисел от 0-255, представленных в десятичной форме вместо двоичной.
Например, 168.212.226.204 представляет собой 32-битный двоичный номер 10101000.11010100.11100010.11001100. Бинарный номер очень важен, потому что именно он определяет, к какому классу относится IP-адрес.
Расположение границы между сетью и хост-частями «айпи»-идентификатора определяется с помощью маски подсети. Это 32-битное двоичное число, которое действует как фильтр, когда оно применяется к аналогичному «айпи». Сравнивая маску подсети с ним, системы могут определять, какая его часть относится к сети, а какая — к хосту. В любом случае она имеет бит, установленный в «1», а базовый бит в «айпи» является частью сетевого адреса. В любом случае, когда маске подсети установлено значение «0», связанный бит является частью идентификатора хоста. На этих правилах основана используемая сегодня IP-адресация. Классы IP-адресов также имеют четкую структуру, о которой указано ниже.
Классы сетей
Имеются три класса IP адресов
-
IP адрес сети класса A использует крайние левые 8 битов (первый байт) для
идентификации сети, оставшиеся 24 бита (три байта) идентифицируют сетевые
интерфейсы компьютера в сети. Адреса класса A всегда имеют крайний левый
бит, равный нулю — поэтому первый байт адреса принимает значения от 0 до
127. Так доступно максимум 128 номеров для сетей класса A, с каждым,
содержащим до 33,554,430 возможных интерфейсов.Однако, сети 0.0.0.0 (известный как заданный по умолчанию маршрут) и
127.0.0.0 (зарезервированы для организации обратной связи (loopback)) имеют
специальные предназначения и не доступны для использования, чтобы
идентифицировать сети. Соответственно, могут существовать только 126 номеров
для сети класса A. -
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 1 - 126 B 128 - 191 C 192 - 254 |
Имеются также специальные адреса, которые зарезервированы для ‘несвязанных’
сетей — которые является сетями, использующими IP, но не связаны с
Internet, Эти адреса:
-
Одна сеть класса A
10.0.0.0
-
16 сетей класса B
172.16.0.0 — 172.31.0.0
-
256 сетей класса C
192.168.0.0 — 192.168.255.0
Возможные маски
- IPv4 CIDR
IP/маска
До последнего IP
в подсети
Маска
Всего адресов
Хостовых адресов
Класс
a.b.c.d/32
+0.0.0.0
255.255.255.255
1
(нет)
1/256 C
a.b.c.d/31
+0.0.0.1
255.255.255.254
2
2
1/128 C
a.b.c.d/30
+0.0.0.3
255.255.255.252
4
2
1/64 C
a.b.c.d/29
+0.0.0.7
255.255.255.248
8
6
1/32 C
a.b.c.d/28
+0.0.0.15
255.255.255.240
16
14
1/16 C
a.b.c.d/27
+0.0.0.31
255.255.255.224
32
30
1/8 C
a.b.c.d/26
+0.0.0.63
255.255.255.192
64
62
1/4 C
a.b.c.d/25
+0.0.0.127
255.255.255.128
128
126
1/2 C
a.b.c.0/24
+0.0.0.255
255.255.255.000
256
254
1 C
a.b.c.0/23
+0.0.1.255
255.255.254.000
512
510
2 C
a.b.c.0/22
+0.0.3.255
255.255.252.000
1024
1022
4 C
a.b.c.0/21
+0.0.7.255
255.255.248.000
2048
2046
8 C
a.b.c.0/20
+0.0.15.255
255.255.240.000
4096
4094
16 C
a.b.c.0/19
+0.0.31.255
255.255.224.000
8192
8190
32 C
a.b.c.0/18
+0.0.63.255
255.255.192.000
16 384
16 382
64 C
a.b.c.0/17
+0.0.127.255
255.255.128.000
32 768
32 766
128 C
a.b.0.0/16
+0.0.255.255
255.255.000.000
65 536
65 534
256 C = 1 B
a.b.0.0/15
+0.1.255.255
255.254.000.000
131 072
131 070
2 B
a.b.0.0/14
+0.3.255.255
255.252.000.000
262 144
262 142
4 B
a.b.0.0/13
+0.7.255.255
255.248.000.000
524 288
524 286
8 B
a.b.0.0/12
+0.15.255.255
255.240.000.000
1 048 576
1 048 574
16 B
a.b.0.0/11
+0.31.255.255
255.224.000.000
2 097 152
2 097 150
32 B
a.b.0.0/10
+0.63.255.255
255.192.000.000
4 194 304
4 194 302
64 B
a.b.0.0/9
+0.127.255.255
255.128.000.000
8 388 608
8 388 606
128 B
a.0.0.0/8
+0.255.255.255
255.000.000.000
16 777 216
16 777 214
256 B = 1 A
a.0.0.0/7
+1.255.255.255
254.000.000.000
33 554 432
33 554 430
2 A
a.0.0.0/6
+3.255.255.255
252.000.000.000
67 108 864
67 108 862
4 A
a.0.0.0/5
+7.255.255.255
248.000.000.000
134 217 728
134 217 726
8 A
a.0.0.0/4
+15.255.255.255
240.000.000.000
268 435 456
268 435 454
16 A
a.0.0.0/3
+31.255.255.255
224.000.000.000
536 870 912
536 870 910
32 A
a.0.0.0/2
+63.255.255.255
192.000.000.000
1 073 741 824
1 073 741 822
64 A
a.0.0.0/1
+127.255.255.255
128.000.000.000
2 147 483 648
2 147 483 646
128 A
0.0.0.0/0
+255.255.255.255
000.000.000.000
4 294 967 296
4 294 967 294
256 A
Количество адресов в подсети не равно количеству возможных узлов. Нулевой адрес IP резервируется для идентификации подсети, последний — в качестве широковещательного адреса, таким образом в реально действующих сетях возможно количество узлов на два меньшее количества адресов.
Сетевые адреса, адреса интерфейсов и широковещательные адреса
IP адреса могут иметь три возможных значения:
-
адрес IP сети (группа IP устройств, совместно использующих доступ к среде
передачи — все находятся на том же самом сегменте Ethernet). Если в поле
номера сети биты установлены в 0, то по умолчанию считается, что этот узел
принадлежит той же самой сети, что и узел, с которого отправлен пакет; -
широковещательный адрес IP сети (сообщение с таким адресом назначения
должно рассылаться всем узлам, находящимся в той же сети, что и источник
этого пакета). Все разряды IP адреса установлены в 1. -
адрес интерфейса (типа платы Ethernet или PPP интерфейс на компьютере,
маршрутизаторе, сервере печати и т.д.).Эти адреса могут иметь любое
значение в битах поля узла, исключая все нули или все единицы, т.к. если
будут все нули — адрес сети, все единицы — широковещательный адрес.
Резюме:
Для сети класса A... (один байт - поле сети, следующие за ним - номер хоста) 10.0.0.0 адрес сети класса A, потому что все биты адреса узла равны 0 10.0.1.0 адрес узла этой сети 10.255.255.255 широковещательный адрес этой сети, потому что все биты адреса узла равны 1 Для сети класса B... (два байта - поле сети, следующие за ним - номер хоста) 172.17.0.0 адрес сети класса B 172.17.0.1 адрес узла этой сети 172.17.255.255 широковещательный адрес этой сети Для сети класса C... (три байта - поле сети, следующие за ним - номер хоста) 192.168.3.0 адрес сети класса C 192.168.3.42 адрес узла этой сети 192.168.3.255 широковещательный адрес этой сети |
Подсети в IPv4
Процесс деления предполагает разделение сети на несколько подсетей с определённым количеством адресов под хосты.
Определение префикса сети
Маска подсети в IPv4 состоит из 32 битов, непрерывной последовательности единиц (1), за которой следует непрерывная последовательность нулей (0). В маске подсети не может стоять единица после нуля.
Двоичная форма | Точечно-десятичная нотация | |
---|---|---|
IP-адрес | ||
Маска подсети | ||
Сетевой префикс | ||
Адрес хоста (часть IP) |
Сетевой префикс (адрес сети) вычисляется побитовой операцией AND между IP-адресом и маской. Результат AND равен единице тогда, когда оба операнда равны единице.
Подсчёт количества подсетей
Создание подсетей предполагает увеличение маски сети на несколько бит.
Двоичной форме | Точечно-десятичная нотация | |
---|---|---|
IP-адрес | ||
Маска подсети | ||
Сетевой префикс | ||
Адрес хоста
(без префикса) |
В примере выше маска подсети была увеличена на 2 бита, создавая тем самым 4 (22) возможных подсетей:
Сеть | Сеть (двоичный) | Широковещательный адрес |
---|---|---|
Общая формула: N=2n{\displaystyle N=2^{n}}, где N — количество подсетей, а n — маска сети в нотации CIDR делённая по модулю 8 (или просто количество добавленных бит к маске).
Подсчёт количества адресов для хостов в подсети
Количество возможных хостов в сети могут быть легко вычислены по формуле 232−n−2{\displaystyle 2^{32-n}-2} , где n — маска сети в нотации CIDR.
Биты маски подсети, равные нулю, отведены под адреса хостов. В приведённом выше примере маска подсети состоит из 26 бит, оставшиеся 6 бит могут быть использованы для идентификаторов хостов. Это позволяет создать сеть на 62 хоста (26−2).
Значения из одних нулей и значения из одних единиц зарезервированы для адреса сети и широковещательного адреса соответственно. Или другими словами первый и последний адрес подсети. Поэтому при подсчёте числа хостов надо вычитать 2 из общего числа доступных адресов.
Например, для маски /27 могут использоваться 8 подсетей. Каждый первый IP-адрес в подсети (.0, .32, .64, …, .224), то есть адрес сети, и каждый последний IP-адрес в подсети (.31, .63, .95, … .255), то есть широковещательный адрес, зарезервированы, соответственно для каждой сети доступно только 30 адресов (c .1 по .30, с .33 по .62, с.65 по .94, … с .225 по .254).
/24 сеть может быть разделена на следующие подсети увеличением маски подсети последовательно по одному биту. Длина маски влияет на общее количество хостов, которые могут быть определены в сети (последний столбец).
Размер префикса в битах | Маска сети | Доступно
подсетей |
Доступно адресов для хостов | Всего хостов на все подсети |
---|---|---|---|---|
/24 | 1 | 254 | 254 | |
/25 | 2 | 126 | 252 | |
/26 | 4 | 62 | 248 | |
/27 | 8 | 30 | 240 | |
/28 | 16 | 14 | 224 | |
/29 | 32 | 6 | 192 | |
/30 | 64 | 2 | 128 | |
/31 | 128 | 2 * | 256 |
*применимо только для соединений точка-точка
Специальные адреса и подсети
Первая и последняя подсети, полученной путём деления, изначально имели особое назначение и применение. Кроме того, в протоколе IPv4 зарезервировано два адреса в каждой сети: первый, использующийся как адрес сети, и последний, для отправки широковещательных пакетов.
Подсети ноль и «все единицы»
У первой подсети все биты адреса сети, следующие после префикса маршрутизации, равны нулю (0). Поэтому её ещё называют» нулевой подсетью. Последняя подсеть, соответственно, состояла из единиц и получила название «all-ones», или «все единицы».
Классы В и С
Основной отличительной
особенностью IP-адреса класса b будет значение двух старших битов,
равное 10. При этом размер сетевой части будет равняться 16 битам.
Формат адреса этой сети выглядит так:
По этой причине наибольшее число сетей класса B может быть 214 (16384) с адресным пространством 216
каждая из них. IP-адреса класса B начинаются в диапазоне от 128 до 191.
Это является отличительной особенностью, по которой можно определить
принадлежность сети к этому классу. Два байта, отведенные под адреса
этих сетей, за вычетом нулевых и состоящих из единиц адресов, могут
составить количество узлов, равное 65 534.
Любой IP-адрес класса C
начинается в диапазоне от 192 до 223, при этом номер сети занимает три
старших октета. Схематически адрес имеет такую структуру:
Три старших бита имеют первыми 110, сетевая часть 24 бита. Наибольшее число сетей в этом классе составляет 221 (это 2097152 сети). Под адреса узлов в IP-адресе сетей класса С отводится 1 байт, это всего 254 хоста.
Запись IP-адресов
Адрес
выглядит как 32-разрядное число в диапазоне от 0 до 4294967295. Это
говорит о том, что во всей сети Интернет может содержаться более 4
миллиардов полностью уникальных адресов объектов. Если записывать адреса
в двоичной или десятичной форме, то это вызывает свои неудобства по их
запоминанию или обработке. Поэтому, для упрощения написания таких
адресов, было решено делить полный адрес на четыре октета (8-разрядных
числа), разделенных точкой. Для примера: адрес который в
шестнадцатеричной системе выглядит как С0290612, в записи IP-адреса
будет выглядеть как 192.41.6.18. При этом наименьший адрес — это четыре
нуля, а максимальный — четыре группы по 255. Старшая область (та, что
располагается с левой стороны групп цифр от любой из разделительных
точек) занята областью адреса, младшая область (с правой стороны от этой
же разделительной точки) показывает номер интерфейса в этой сети.
Положение границы между хостовой и сетевой частями зависит от количества
бит, которое отвели на номер сети, бывает различным, разделение идет
только по границе октета (точки между ними) и позволяет определить
классы IP-адресов.
Маски подсетей
Для
того чтобы разделить идентификатор, необходимо применять маску подсети –
некий шаблон, помогающий отличить идентификаторы сетей от
идентификаторов узлов в IP-адресах. Классы IP-адресов не накладывают
ограничения на маску подсети. Маска внешне выглядит так же, как и адрес —
четыре группы цифр от 0 до 255. При этом сначала идут большие числа, за
ним меньшие. К примеру, 255.255.248.0 – это правильная маска подсети,
255.248.255.0 – неправильная. Маска 255.255.255.0 определяет начальные
три октета IP-адреса как идентификатор подсети.
При проектировании
сегментации сети предприятия необходимо, чтобы правильно была
организована IP-адресация. Классы IP-адресов, разделенные на сегменты с
помощью масок, позволяют не только увеличить количество компьютеров в
сети, но и организовать ее высокую производительность. Каждый класс
адреса имеет маску сети по умолчанию.
Для
дополнительных подсетей часто используются не маски по умолчанию, а
индивидуальные. Например, IP-адрес 170.15.1.120 может использовать маску
подсети 255.255.255.0 с идентификатором сети 170.15.1.0, при этом не
обязательно использовать маску подсети 255.255.0.0 с идентификатором
170.15.0.0, который используется по умолчанию. Это позволяет разбивать
существующую сеть организации класса В с идентификатором 170.15.0.0 на
подсети с помощью различных масок.