Размер блока зависит от длины его префикса. При длине префикса N бит блок содержит 232-N адреса. Результаты вычисления размера блока для некоторых значений N даны в таблице п. 4.2.10.
Таким образом, если например, задан блок адресов 224.0.1.0/29, то он содержит 8 адресов.
Для того, чтобы найти эти адреса, необходимо:
Преобразовать длину префикса в маску подсети (см. п. 4.2.5).
Определить начальный адрес блока (см. п. 4.2.7).
Определить конечный адрес блока (см. п. 4.2.8).
4.2.8Вычисление максимального количества узлов в сети
Максимальное количество узлов в сети на 2 меньше размера блока адресов этой сети. Это связано с тем, что 2 адреса в блоке (адрес сети и широковещательный адрес) являются специальными и их нельзя присвоить узлам. Для сети с префиксом длиной N бит максимальное количество узлов равно 232-N-2. Для некоторых длин префикса результаты вычисления приведены в таблице:
Табл. 3. Зависимость максимального количества узлов от длины префикса
Длина префикса, |
Количество адресов |
Максимальное |
в блоке |
количество |
|
бит |
|
узлов |
|
|
|
/24 |
256 |
254 |
/25 |
128 |
126 |
/26 |
64 |
62 |
/27 |
32 |
30 |
/28 |
16 |
14 |
/29 |
8 |
6 |
/30 |
4 |
2 |
Например, сеть с адресом 10.0.0.160/27 может иметь до 30 узлов в сети.
4.2.9 Проверка принадлежности подсети к более крупной
Длина префикса сетей (количество единиц в маске подсети) равна количеству бит, занимаемых номером сети. Блок с большей длиной префикса имеет меньший размер.
Если номер более крупной сети является началом номера сети меньшего размера, значит последняя является частью первой, если нет – диапазоны адресов не перекрываются (частичное перекрытие диапазонов адресов в IPv4 невозможно).
Например, даны блоки IP адресов 172.27.0.0/17 и 172.24.0.0/14. В двоичном виде блоки адресов с масками показаны на рис. 13.
21
Рис. 13. Двоичное представление блоков адресов с масками
Из рисунка видно, что первые 14 бит (длина префикса более крупной сети 2) в обоих адресах одинаковы. Следовательно, любой узел сети 1 является узлом сети 2 и диапазон адресов сети 2 включает в себя диапазон адресов сети 1. Таким образом, блок 172.27.0.0/17 входит в блок 172.24.0.0/14.
4.2.10 Определение принадлежности адреса к сети (блоку адресов)
Решение данной задачи рассмотрим на конкретном примере. Пусть узел A имеет IP адрес 192.168.18.141 и маску подсети 255.255.255.192. Определить принадлежность узла B с IP адресом 192.168.18.212 к сети, в состав которой входит узел A.
Адрес и маска подсети узла А определяют блок адресов, входящих в одну с ним локальную сеть. Задачу можно решить двумя способами:
Способ 1. Найти диапазон адресов сети узла A (начальный адрес диапазона – это адрес сети, конечный – направленный broadcast адрес) и проверить принадлежность адреса узла B к данному диапазону.
22
Для определения адреса сети, в которой находится узел А, переведем адрес и маску подсети узла А в двоичный вид, затем выполним операцию побитового
«И» (рис. 14).
Рис. 14. Вычисление адреса сети по заданному IP адресу и маске подсети
В десятичном виде адрес сети будет иметь значение 192.168.18.128. Найдем broadcast адрес сети узла A, выполнив для этого операцию побитового «ИЛИ» адреса узла А с инвертированной маской подсети (рис. 15).
Рис. 15. Определение широковещательного адреса сети узла А
В десятичном виде направленный broadcast адрес в сети узла А –
192.168.18.191.
Адрес узла В (192.168.18.212) не попадает в найденный диапазон, следовательно, не принадлежит сети узла А.
Способ 2. Переведя в двоичный вид IP адреса А и В и маску подсети, сравним значения поля «Номер узла» в адресах А и В. Если они совпадают, узлы находятся в одной сети, если нет – в разных.
23
Рис. 16. Один из способов определение принадлежности адреса к сети
Номера сети в адресах A и B не совпадают, следовательно, узел В не принадлежит сети узла А.
24
5 Контрольные вопросы и задачи
1.В чем принципиальное отличие структуры адреса протоколов канального уровня (MAC адреса) от IP адреса?
2.Объясните назначение частей структуры IP адреса.
3.Какие существуют способы управления адресным пространством в протоколе IPv4 (виды адресации)?
4.Объясните принцип определения структуры IP адреса при классовой адресации.
5.Укажите диапазоны IP адресов классов А, В, С, D, Е.
6.Объясните назначение адресов классов А, В, С, D, Е.
7.Сеть какого класса (А, В или С) может содержать наибольшее количество узлов?
8.Укажите недостатки классовой адресации.
9.Каковы основные отличия классовой системы адресации от бесклассовой?
10.В чем преимущества бесклассовой адресации?
11.Какой диапазон IP адресов называется блоком? Что такое длина префикса блока?
12.Что такое маска подсети? В чем отличия использования масок подсети при классовой и бесклассовой адресации?
13.Почему в двоичной записи маски подсети единица не может стоять правее нуля?
14.Какой формат имеет специальный IP адрес, называемый адресом сети? Может ли этот адрес быть присвоен узлу сети?
15.Объясните применение IP адреса, в котором все биты в поле «Номер узла» равны «1».
16.Что произойдет с пакетом, отправленным на адрес 127.0.0.1? 17.Какой из IP адресов записан некорректно?
а) 106.25.17.99 б) 157.16.180.256 в) 129.64.128.0 г) 196.146.24.10
18.Какое значение маски соответствует сети класса В?
а) 11111111.00000000.00000000.00000000 б) 11111111. 11111111.00000000.00000000 в) 11111111. 11111111. 11111111.00000000
19.Укажите классы следующих IP адресов.
а) 131.107.2.89 б) 3.3.57.0 в) 200.200.5.2
г) 191.107.2.102
20.Какая логическая битовая операция позволяет получить из IP адреса и маски подсети адрес сети?
25