IP адресация
Подготовка браузера к сдаче теста
Ecли в Chrome апплет не заработает, то попробуйте открыть эту страницу в браузере Opera.
Видеолекции
Двоичная система счисления
В качестве примера рассмотрим знакомую нам десятичную систему счисления. Число 42310 можно представить как
4·102+2·101+3·100. Число 10, возводимое в степень 2, 1 и 0, называется
основанием системы счисления. В двоичной системе основание равна 2, так как в ней для отображения чисел используются лишь две цифры: 0 и 1.
По аналогии с предыдущим примером двоичное число 10112 можем представить в виде суммы
1·23+0·22+1·21+1·20 = 1·8+0·4+1·2+1·1 = 1110.
Запомните первые 8 результатов возведения 2 в степень.
Таблица 1. Результаты возведения числа 2 в степень
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-битовые комбинации.
Таблица 2. Часто используемые 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 |
Наибольшее значение, представляемое 8 битами, равно 255.
IP адреса
Всего существуют две версии протокола IP: 4 и 6 (6-я в данной работе не рассматривается). В четвертой версии (IPv4) адрес
представляет собой 32-битовое число, которое для удобства
представляется в виде 4 октетов (байтов), каждый из которых записывается в виде десятичных чисел, отделенных друг от друга точками
(например, 192.168.36.3).
Различают три вида адресов: хостовые, сетевые и широковещательные. Хостовые адреса назначаются интерфейсам сетевых устройств,
сетевые назначаются сетям. Широковещательный адрес применяется в случае, если сообщение следует доставить всем хостам сети.
Рассмотрим структуру IPv4 адреса на примере хостового адреса. Адрес состоит из двух частей: в старших разрядах располагается сетевая составляющая
(n битов), в младших - хостовая часть (32-n битов).
| Сетевая часть | Хостовая часть |
| n битов | 32-n битов |
Хостовый адрес | 101..011 | 011..101 |
Если хосты находятся в одной сети, то у их адресов последовательность битов сетевой части должна быть одинаковой, а комбинации битов
в хостовой части уникальными, не повторяющимися. Для указания длины (т.е. количества битов) сетевой части используют 32-битовое число,
называемое маской подсети (subnet mask), у которого в сетевой части все биты единичные, а в хостовой - нулевые.
| Сетевая часть | Хостовая часть |
| n битов | 32-n битов |
Маска подсети | 111..111 | 000..000 |
Число n, таким образом,
представляет собой количество единичных битов в маске и называется длиной маски подсети. Условная запись длины маски: /n.
Сетевой адрес отличается от хостового тем, что в хостовой части все биты нулевые. Вычисляется такой адрес применением
операции побитовое & к хостовому адресу и маске подсети.
| Сетевая часть | Хостовая часть |
| n битов | 32-n битов |
Хостовый адрес | 101..011 | 011..101 |
| побитовое & |
Маска подсети | 111..111 | 000..000 |
Сетевой адрес | 101..011 | 000..000 |
Пояснение. При побитовом & (второе название этой операции - побитовое умножение) каждый бит одного числа умножается
на соответствующий ему бит (находящийся в той же позиции) другого числа.
Широковещательный адрес (broadcast address) в своей хостовой части содержит лишь единичные биты
| Сетевая часть | Хостовая часть |
| n битов | 32-n битов |
Широковещательный адрес | 101..011 | 111..111 |
Дипазоны доступных хостовых адресов
Адреса, которые можно назначить хостам, получают, варьируя комбинации битов в хостовой части. Для примера рассмотрим случай, когда n = 30.
| Сетевая часть | Хостовая часть |
| 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-й октет состоит из нулевых битов.
Таким образом, деление между сетевой и хостовой частями адреса проходит в третьем октете между 6-м и 7-м битами.
| Сетевая часть | Хостовая часть |
| 22 бита | 10 битов |
Хостовый адрес | В десятичном представлении | 10. |
40. | 197. | 6 |
В двоичном представлении | 00001010 |
00101000 | 110001 | 01 | 00000110 |
Маска подсети | В десятичном представлении |
255. |
255. | 252. | 0 |
В двоичном представлении | 11111111 |
11111111 | 111111 | 00 | 00000000 |
Получим сетевой и широковещательный адреса, обратив биты хостовой части, соответственно, либо в 0, либо в 1.
| Сетевая часть | Хостовая часть |
| 22 бита | 10 битов |
Сетевой адрес | В десятичном представлении |
10. |
40. | 196. | 0 |
В двоичном представлении | 00001010 |
00101000 | 110001 | 00 | 00000000 |
Широковеща- тельный адрес |
В десятичном представлении | 10. |
40. | 199. | 255 |
В двоичном представлении | 00001010 |
00101000 | 110001 | 11 | 11111111 |
Определим минимальный и максимальный хостовые адреса, используя, соответственно, сетевой и широковещательный адреса.
| Сетевая часть | Хостовая часть |
| 22 бита | 10 битов |
Минимальный хостовый адрес | В десятичном представлении |
10. |
40. | 196. | 1 |
В двоичном представлении | 00001010 |
00101000 | 110001 | 00 | 00000001 |
Максимальный хостовый адрес |
В десятичном представлении | 10. |
40. | 199. | 254 |
В двоичном представлении | 00001010 |
00101000 | 110001 | 11 | 11111110 |
В данной сети можно разместить до 210-2 = 1022 хоста.
Полноклассовая и бесклассовая адресация
Полноклассовая адресация исторически появилась раньше, чем бесклассовая, и предусмативает распределение адресов по классам.
Всего имеется 5 классов: A, B, C, D и E. Различаются они по старшим битам первого октета. В классе A
самый старший бит первого октета всегда нулевой, другие же биты этого октета и биты остальных октетов произвольные.
Таблица 3. Класс 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), увеличивая тем самым диапазон доступных
сетевых адресов.
Пример определения адреса полноклассовой сети
Выше был разобран пример, в котором был найден адрес сети 10.40.196.0/22. Первое число адреса указывает на принадлежность адреса классу A и,
следовательно, адрес полноклассовой сети будет 10.0.0.0/8.
Контрольная работа
Выполните контрольную работу, состоящую из двух тестов