27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
---|---|---|---|---|---|---|---|
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Для перевода десятичного числа (со значением не более 255) в его двоичный эквивалент можно число представить в виде суммы из следующих чисел: 128, 64, 32, 16, 8, 4, 2 и 1. Например, 195 равно сумме 128+64+2+1 и, соответственно, двоичное его значение равно 11000011. Среди перечисленных выше 8 чисел лишь одно число нечетное (число 1) и оно определяет четность или нечетность числа. Например, 10000011 = 131 (нечетное), 00000110 = 6 (четное).
Необходимо помнить наиболее распространенные 8-битовые комбинации.
Двоичное число | Десятичный эквивалент |
---|---|
00000000 | 0 |
00000001 | 1 |
00000011 | 3 |
00000111 | 7 |
00001111 | 15 |
00011111 | 31 |
00111111 | 63 |
01111111 | 127 |
11111111 | 255 |
11111110 | 254 |
11111100 | 252 |
11111000 | 248 |
11110000 | 240 |
11100000 | 224 |
11000000 | 192 |
10000000 | 128 |
Всего существуют две версии протокола IP: 4 и 6 (6-я в данной работе не рассматривается). В четвертой версии (IPv4) адрес представляет собой 32-битовое число, которое для удобства представляется в виде 4 октетов (байтов), каждый из которых записывается в виде десятичных чисел, отделенных друг от друга точками (например, 192.168.36.3).
Различают три вида адресов: хостовые, сетевые и широковещательные. Хостовые адреса назначаются интерфейсам сетевых устройств, сетевые назначаются сетям. Широковещательный адрес применяется в случае, если сообщение следует доставить всем хостам сети.
Рассмотрим структуру IPv4 адреса на примере хостового адреса. Адрес состоит из двух частей: в старших разрядах располагается сетевая составляющая (n битов), в младших - хостовая часть (32-n битов).
Сетевая часть | Хостовая часть | |
n битов | 32-n битов | |
Хостовый адрес | 101..011 | 011..101 |
Сетевая часть | Хостовая часть | |
n битов | 32-n битов | |
Маска подсети | 111..111 | 000..000 |
Число n, таким образом, представляет собой количество единичных битов в маске и называется длиной маски подсети (subnet mask length). Условная запись длины маски: /n.
Сетевой адрес отличается от хостового тем, что в хостовой части все биты нулевые. Вычисляется такой адрес применением операции "побитовое &" к хостовому адресу и маске подсети.
Сетевая часть | Хостовая часть | |
n битов | 32-n битов | |
Хостовый адрес | 101..011 | 011..101 |
побитовое & | ||
Маска подсети | 111..111 | 000..000 |
Сетевой адрес | 101..011 | 000..000 |
Сетевая часть | Хостовая часть | |
n битов | 32-n битов | |
Широковещательный адрес | 101..011 | 111..111 |
Сетевая часть | Хостовая часть | |
30 битов | 2 бита | |
Сетевой адрес | 101..011 | 00 |
Хостовый адрес | 101..011 | 01 |
Хостовый адрес | 101..011 | 10 |
Широковещательный адрес | 101..011 | 11 |
В данном случае 2 бита хостовой части дают 4 комбинации, из которых лишь две можно использовать для создания хостового адреса. При n=29 получаем 23-2 = 6 хостовых адресов. В общем случае формула расчета количества хостовых адресов выглядит так: 232-n-2.
Для определения наименьшего хостового адреса следует в сетевом адресе младший бит хостовой части приравнять 1, для получения наибольшего хостового адреса в широковещательном адресе младший бит хостовой части приравнять 0.
Пусть имеется хостовый адрес 10.40.197.6/22. Определим маску подсети, адрес сети, максимальное количество хостов, допустимых в данной сети, и диапазон допустимых хостовых адресов. Длину маски сети /22 представим как сумму из трех чисел: 8 + 8 + 6. Следовательно, маска подсети равна 255.255.252.0.
Пояснение. Первое число, 8, означает 8 единичных битов 1-го октета, что дает число 255. Второе число, 8, соответствует второму октету и числу 255. Третье число, 6, указывает, что 6 старших (левых) битов третьего октета единичные, а два младших бита - нулевые. В итоге в третьем октете получаем число 252. 4-й октет состоит из нулевых битов.
Полноклассовая адресация исторически появилась раньше, чем бесклассовая, и предусмативает распределение адресов по классам. Всего имеется 5 классов: A, B, C, D и E. Различаются они по старшим битам первого октета.
В классе A самый старший бит первого октета всегда нулевой, другие же биты этого октета и биты остальных октетов произвольные.
Первый октет | Второй октет | Третий октет | Четвертый октет |
0XXXXXXX | XXXXXXXX | XXXXXXXX | XXXXXXXX |
Здесь через X обозначен произвольный бит (0 или 1). Следовательно значение первого октета варьируется в интервале от 0 (00000000) до 127 (01111111), значения остальных октетов - от 0 до 255. Длина сетевой маски класса A фиксированная и принята равной /8. Первое число адреса, таком образом, относится к сетевой части, остальные три числа - к хостовой: N.H.H.H. Адрес полноклассовой сети имеет вид N.0.0.0, широковещательный адрес - N.255.255.255.
Данный класс предоставляет 27 = 128 сетевых адресов, но адреса, начинающиеся с 0 и 127, для адресации сетей не применяются.
В классе B два старших бита фиксированы и имеют значения 10.
Таблица 4. Класс B
Первый октет | Второй октет | Третий октет | Четвертый октет |
10XXXXXX | XXXXXXXX | XXXXXXXX | XXXXXXXX |
Значения первого октета варьируются в интервале от 128 (10000000) до 191 (10111111), длина маски - /16, хостовый адрес - N.N.H.H, адрес сети - N.N.0.0, широковещательный адрес - N.N.255.255.
В классе C три старших бита фиксированы и имеют значения 110.
Таблица 5. Класс C
Первый октет | Второй октет | Третий октет | Четвертый октет |
110XXXXXX | XXXXXXXX | XXXXXXXX | XXXXXXXX |
Значения первого октета варьируются в интервале от 192 (11000000) до 223 (11011111), длина маски - /24, хостовый адрес - N.N.N.H, адрес сети - N.N.N.0, широковещательный адрес - N.N.N.255.
Бесклассовая адресация позволяет менять длину маски подсети (англ. Variable Length Subnet Mask — VLSM), увеличивая тем самым диапазон доступных сетевых адресов.
Приватные адреса используются лишь сетях среднего (MAN) и малого (LAN) масштаба. К хосту, имеющему приватный адрес, из Интернета напрямую нельзя адресовать сообщение. В глобальной же сети используются лишь публичные адреса и за их распределение отвечает IANA (Internet Assigned Numbers Authority).
Таблица 6. Приватные адреса
Класс | Приватный адрес | Примечание |
---|---|---|
A | 10.X.X.X | 0≤ X≤ 255 |
B | 172.Y.X.X | 0≤ X≤ 255 16≤ Y≤ 31 |
C | 192.168.X.X | 0≤ X≤ 255 |
Прямая маска в бинарном представлении | 11111111 | 11111111 | 11111100 | 00000000 |
Прямая маска в десятично-точечной нотации | 255. | 255. | 252. | 0 |
Обратная маска в бинарном представлении | 00000000 | 00000000 | 00000011 | 11111111 |
Обратная маска в десятично-точечной нотации | 0. | 0. | 3. | 255 |
Шаблонная маска в бинарном представлении | 00000000 | 00000000 | 00000011 | 11111110 |
Шаблонная маска в десятично-точечной нотации | 0. | 0. | 3. | 254 |