Адресация в IP-сетях
Типы адресов стека TCP/IP
В стеке TCP/IP используется три типа адресов:
IPv4 – 32 бит
IPv6 – 128 бит
Все эти типы адресов присваиваются узлами составной сети независимо друг от друга.
Двоичная система счисления
Причина, по которой IP-адреса записываются в виде битов, состоит в том, что содержащаяся в них информация должна быть понятной компьютерам.
Наиболее часто встречающейся и, вероятно, наиболее известной является десятичная система счисления, которая основана на возведении числа 10 в степень 101, 102, 103, 104 и т.д.
Двоичная система исчисления базируется на возведении в степень числа 2:
20, 21, 22, 23, 24, 25, 26, 27.
IP адресация
Адреса протокола IP имеют длину 32 бита и состоят из четырех восьми -битных октетов (каждый октет - это один байт). Пример типичного адреса протокола IP – 172.16.122.204 (в десятичном представлении). Сам адрес IP существует в двоичном виде.
Адрес протокола IP записывается в трех различных формах;
Адреса протокола IP - это иерархические адреса, поскольку они предоставляют различные уровни информации: сообщают, в какой сети и подсети находится узел связи, а также передают сам адрес узла связи.
Двоичная IP-адресация
IP-адрес представляет собой 32-разрядное двоичное число, записанное в виде четырех октетов, т.е. четырех групп, каждая из которых состоит из восьми двоичных знаков (нулей и единиц).
32 бита = 4 байт | |||
Октет (8 бит) | Октет (8 бит) | Октет (8 бит) | Октет (8 бит) |
2726252423222120 | 2726252423222120 | 2726252423222120 | 2726252423222120 |
10101100 | 00010000 | 01111010 | 11001100 |
Десятичный эквивалент | |||
172 | 16 | 122 | 204 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Десятичное значение |
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 192 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 224 |
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 240 |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 248 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 252 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 254 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 255 |
128 | + 64 | + 32 | + 16 | + 8 | + 4 | + 2 | + 1 | 255 |
Эквиваленты комбинаций битов в октете в десятичном и двоичном представлении |
Классы IP-адресов
Адреса IP делятся на 5 классов в зависимости от размера сети, которую они обслуживают.
�
| Первый октет | Второй октет | Третий октет | Четвертый октет | Наименьший номер сети | Наибольший номер сети | Максимальное число узлов в сети | |
| Класс А | |||||||
Количество битов | 1 | 7 | 24 | 1.0.0.0 (0 - не используется) | 126.0.0.0 (127.0.0.0 - зарезервирован) | 2^24-2=16777214, поле 3 байта | ||
первые биты | 0 | Номер сети | Номер хоста | |||||
Класс А | Сеть | Узел | Узел | Узел | ||||
|
| |||||||
| Класс В | |||||||
Количество битов | 1 | 1 | 14 | 16 | 128.0.0.0 | 191.255.0.0 | 2^16 -2 =65534, поле 2 байта | |
первые биты | 1 | 0 | Номер сети | Номер хоста | ||||
Класс В | Сеть | Сеть | Узел | Узел | ||||
|
| |||||||
| Класс С | |||||||
Количество битов | 1 | 1 | 1 | 21 | 8 | 192.0.0.0 | 223.255.255.0 | 2^8-2=254, поле 1 байт |
первые биты | 1 | 1 | 0 | Номер сети | Номер хоста | |||
Класс С | Сеть | Сеть | Сеть | Узел | ||||
|
| |||||||
| Класс D | |||||||
первые биты | 1110 | 224.0.0.0 | 239.255.255.255 | Групповые адреса | ||||
|
| |||||||
| Класс E | |||||||
первые биты | 11110 | 240.0.0.0 | 247.255.255.255 | Зарезервировано | ||||
Классы IP-адресов
Двоичные эквиваленты и первые октеты
Имеются правила, определяющие, какими должны быть первые биты первого октета адресов трех классов (А, В и С). Маршрутизатор может по первому октету адреса IP определить, с каким именно адресом IP он работает (аналогичным образом вы сумеете отличить адреса разных классов друг от друга):
Правило для первого октета позволяет различить классы IP-адресов
Особые IP адреса
В TCP/IP существуют ограничения при назначении IP-адресов, а именно номера сетей и номера узлов не могут состоять из одних двоичных нулей или единиц. Отсюда следует, что максимальное количество узлов, для сетей каждого класса, должно быть уменьшено на 2.
Общедоступные IP-адреса
Частные IP-адреса
Базовые маски подсети
Чтобы понять принцип действия системы адресации IP, необходимо освоить применение маски подсети, без которой IP-адрес просто не может существовать. Она используется маршрутизатором для определения того, какая часть IP-адреса относится к адресу сети, а какая - к адресу хоста.
Маска — это число, применяемое в паре с IP-адресом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Граница между последовательностями единиц и нулей в маске соответствует границе между номером сети и номером узла в IP-адресе.
В базовых масках подсети все биты любого октета равны либо 1, либо 0. Если все восемь бит октета равны единице, то эквивалентом октета в десятичной форме будет число 255, а если нулю - число 0. На рисунке показан эквиваленты базовой маски подсети классов A, B, C в десятичном и двоичном коде.
Базовые маски подсети | ||
Класс сети | Маска подсети | Двоичный эквивалент |
A | 255.0.0.0 | 11111111 00000000 00000000 00000000 /8 |
B | 255.255.0.0 | 11111111 11111111 00000000 00000000 /16 |
C | 255.255.255.0 | 11111111 11111111 11111111 00000000 /24 |
Маршрутизатор использует маску подсети для нахождения адреса сети по адресу IP при помощи особого метода, который называется логическим умножением. Логическое умножение производится так: маршрутизатор просматривает адрес IP и маску подсети в двоичном коде. Затем биты в маске подсети умножаются на соответствующие биты в адресе IP, после чего определяется адрес сети.
Логическое умножение | |
Комбинация битов | Результат |
1 и 1 | 1 |
1 и 0 | 0 |
0 и 0 | 0 |
Приведем пример логического умножения.
Результатом такого умножения стал адрес сети (в данном случае 180.20.0.0).
Работа с подсетями
Для обеспечения сетевым администраторам максимальной гибкости настройки, сети часто разделяют на маленькие, называемые подсетями (subnets). Методика создания подсетей позволяет объединить несколько локальных сетей в одну.
Сети каждого класса (А, В и С), могут быть разделены на подсети.
Сеть IP необходимо разбивать на подсети в случае, если несколько отдельных сетей соединяются посредством маршрутизаторов. Такое разделение следует производить при условии, что у вас имеется крупная сеть с множеством узлов и существует опасность ее перегрузки.
Создание подсетей в сети класса А
Значение первого октета адреса сети класса А в десятичном представлении лежит в диапазоне от 1 до 126. Допустим, что адрес сети - 10.0.0.0.
В нашем случае, когда все биты в октетах адреса узла равны нулю, полный IP-адрес имеет вид 10.0.0.0, то есть совпадает с адресом сети. Этот факт очень важен для конфигурации сетей IP на маршрутизаторе.
Определение числа доступных узлов по количеству битов, предназначенных для адресов узлов
Сеть класса А. Разделить сеть на 30 подсетей.
Формирование подсети
Для формирования подсети придется забрать некоторое количество битов из октетов определяющих адреса узлов, и пустить их на подсети.
Прежде всего следует определить, сколько битов потребуется для 30 подсетей.
Расчет требуемого количества подсетей
Создание новой маски подсети
Возьмем первые пять бит высших разрядов (128, 64, 32, 16 и 8) по порядку слева направо.
Сложим их: 128 + 64+32 + 16 + 8 = 248.
Обычная маска подсети для сети класса А выглядит так: 255.0.0.0.
Однако данная сеть была разделена на подсети (при помощи битов второго октета).
Поэтому новая маска подсети представима следующим образом: 255.248.0.0.
Эта маска сообщает маршрутизаторам и другим сетевым устройствам, что сеть класса А разделена на 30 подсетей.
Расчет диапазона IP-адресов в подсети
Сначала берется наименьший из битов высших разрядов, посредством которых создавалась новая маска подсети, - в данном случае 8. Этот номер становится величиной прироста, которая входит в расчет диапазонов IP-адресов применительно к каждой из 30 подсетей.
Первая из 30 подсетей будет начинаться с IP-адреса 10.8.0.1. Номер 8 - начальная величина прироста второго октета в адресе IP.
Чтобы рассчитать первый номер для следующей подсети, прибавьте 8 к значению второго октета: получится 16. Следовательно, начальный адрес для второй подсети будет 10.16.0.1.
Продолжая прибавлять 8 к значению второго октета, определите начальные адреса для всех 30 подсетей.
Диапазоны IP - адресов для первых 10 подсетей из 30 | ||
Номер подсети | Начальный адрес | Конечный адрес |
1 | 10.8.0.1 | 10.15.255.254 |
2 | 10.16.0.1 | 10.23.255.254 |
3 | 10.24.0.1 | 10.31.255.254 |
4 | 10.32.0.1 | 10.39.255.254 |
5 | 10.40.0.1 | 10.47.255.254 |
6 | 10.48.0.1 | 10.55.255.254 |
7 | 10.56.0.1 | 10.63.255.254 |
8 | 10.64.0.1 | 10.71.255.254 |
9 | 10.72.0.1 | 10.79.255.254 |
10 | 10.80.0.1 | 10.87.255.254 |
Расчет доступных адресов узлов
Число возможных в подсети адресов узлов легко рассчитать, В сети класса А изначально для адресов узлов связи доступно 24 бита. На 30 подсетей из второго октета взято пять бит. Это означает, что теперь для IP-адресов осталось 19 бит. Чтобы узнать, сколькими адресами узлов связи располагает подсеть, возведите число 2 в 19 степень, а затем вычтите 2.
В результате для подсети получится 524286 адресов IP. Очевидно, что сеть класса А поддерживает огромное количество адресов узлов связи, поэтому ситуация, когда их окажется недостаточно для всех сетевых устройств, практически нереальна.
Однако при работе с сетями класса В и С число доступных адресов в каждой подсети придется тщательно просчитывать.
Разбиение на подсети при использовании IP-адресов класса А
Требуемое количество подсетей | Число битов для ID подсети | Маска подсети | Число хостов в подсети |
1-2 | 1 | 255.128.0.0, или/9 | 8 388 606 |
3-4 | 2 | 255.192.0.0, или/10 | 4 194 302 |
5-8 | 3 | 255.224.0.0, или/11 | 2 097 150 |
9-16 | 4 | 255.240.0.0, или/12 | 1 048 574 |
17-32 | 5 | 255.248.0.0, или/13 | 524 286 |
33-64 | 6 | 255.252.0.0, или /14 | 262 142 |
65-128 | 7 | 255.254.0.0, или/15 | 131 070 |
129-256 | 8 | 255.255.0.0, или/16 | 65 534 |
257-512 | 9 | 255.255.128.0, или/17 | 32 766 |
513-1024 | 10 | 255.255.192.0, или/18 | 16 382 |
1 025-2 048 | 11 | 255.255.224.0, или /19 | 8190 |
2 049-4 096 | 12 | 255.255.240.0, или /20 | 4 094 |
4 097-8 192 | 13 | 255.255.248.0, или/21 | 2 046 |
8 193-16 384 | 14 | 255.255.252.0, или /22 | 1022 |
16 385-32 768 | 15 | 255.255.254.0, или /23 | 510 |
32 769-65 536 | 16 | 255.255.255.0, или /24 | 254 |
65 537-131072 | 17 | 255.255.255.128, или/25 | 126 |
131 073-262 144 | 18 | 255.255.255.192, или/26 | 62 |
262 145-524 288 | 19 | 255.255.255.224, или /27 | 30 |
524 289-1048 576 | 20 | 255.255.255,240, или /28 | 14 |
1 048 577-2 097 152 | 21 | 255.255.255.248, или /29 | 6 |
2 097 153-4 194 304 | 22 | 255.255.255.252, или /30 | 2 |
Создание подсетей для сетей класса В
Сети класса В, которые не были разделены на подсети, предоставляют два октета
(16 бит) для адресов узлов. Таким образом, в сети класса В доступно 65534 адреса. Базовая маска подсети для сети класса В - 255.255.0.0.
Предположим, что на подсети требуется разделить сеть класса В с адресом
180.10.0.0. Для этого необходимо взять биты из третьего октета. Допустим, нужно
шесть подсетей. На рис. 10.10 показано, как изымаются биты и создается новая
маска подсети - 255.255.224.0:
При расчете диапазона IP-адресов для каждой из шести подсетей возьмите те биты высших разрядов из третьего октета, которые были использованы при создании новой маски подсети. Их сумма составит 32. Поэтому начальный адрес для первой подсети имеет вид 180.10.32.1 (адрес 180.10.32.0 зарезервирован для подсети и не может быть адресом узла связи). Чтобы определить начальный адрес второй подсети, добавьте 32 к третьему октету (64). Получите начальный адрес второй подсети - 180.10.64.1. В табл. 10.6 представлены диапазоны адресов для шести подсетей, на которые была разделена сеть класса В.
Расчет диапазонов адресов и маски подсети для сети класса В
Диапазоны адресов для сети класса В | ||
Номер подсети | Начальный адрес | Конечный адрес |
1 | 180.10.32.1 | 180.10.63.254 |
2 | 180.10.64.1 | 180.10.95.254 |
3 | 180.10.96.1 | 180.10.127.254 |
4 | 180.10.128.1 | 180.10.159.254 |
5 | 180.10.160.1 | 180.10.191.254 |
6 | 180.10.192.1 | 180.10.223.254 |
Разбиение на подсети при использовании IP-адресов класса В
Требуемое количество подсетей | Число битов для ID подсети | Маска подсети | Число хостов в подсети |
1-2 | 1 | 255.255.128.0, или/17 | 32 766 |
3-4 | 2 | 255.255.192.0, или/18 | 16 382 |
5-8 | 3 | 255.255.224.0, или /19 | 8 190 |
9-16 | 4 | 255.255.240.0, или /20 | 4 094 |
17-32 | 5 | 255.255.248.0, или/21 | 2 046 |
33-64 | 6 | 255.255.252.0, или /22 | 1022 |
65-128 | 7 | 255.255.254.0, или /23 | 510 |
129-256 | 8 | 255.255.255.0, или /24 | 254 |
257-512 | 9 | 255.255.255.128, или/25 | 126 |
513-1 024 | 10 | 255.255.255.192, или/26 | 62 |
1025-2 048 | 11 | 255.255.255.224, или /27 | 30 |
2 049-4 096 | 12 | 255.255.255.240, или /28 | 14 |
4 097-8 192 | 13 | 255.255.255.248, или /29 | 6 |
8 193-16 384 | 14 | 255.255.255.252, или /30 | 2 |
Создание подсетей для сетей класса С
Расчет диапазонов адресов и маски подсети для сети класса С
Номер подсети | Адрес подсети | Начальный адрес | Конечный адрес | Широковщательный адрес |
1 | 200.10.44.64 | 200.10.44.65 | 200.10.44.126 | 200.10.44.127 |
2 | 200.10.44.128 | 200.10.44.129 | 200.10.44.190 | 200.10.44.191 |
Разбиение на подсети при использовании IP-адресов класса С
Требуемое количество подсетей | Число битов для ID подсети | Маска подсети | Число хостов в подсети |
1-2 | 1 | 255.255.255.128, или/25 | 126 |
3-4 | 2 | 255.255.255.192, или/26 | 62 |
5-8 | 3 | 255.255.255.224, или /27 | 30 |
9-16 | 4 | 255.255.255.240, или /28 | 14 |
17-32 | 5 | 255.255.255.248, или /29 | 6 |
33-64 | 6 | 255.255.255.252, или /30 | 2 |
Заключительное слово по работе с подсетями
Работая с любой сетью, которая ориентирована на выход в Internet, вы непременно столкнетесь с необходимостью ее разделения на несколько подсетей. Если вы освоите несложные вычисления, приведенные разбить сеть любого класса на подсети будет совсем не сложно.
Команды тестирования сети
Учетные записи