Исторически RFC 1700 группировал адреса специальным образом. Выделялись класс А, класс В и класс С адреса. Кроме этого определялись класс D (multicast) и класс E (экспериментальные). Такое распределение интервалов IPv4 адресов называется «class full» адресация.
Класс
Первый октет диапазона адресов (десятичное представл.)
Первый октет диапазона адресов (двоичное представление)
Сетевая часть адреса (N) и host-часть адреса (H)
Сетевая маска (по-умолчанию)
Количество доступных сетей и количество доступных узлов в сети
A
1-127
00000000- 01111111
N.H.H.H
255.0.0.0
128 (2^7)
1677214 (2^24-2)
B
128-191
10000000- 10111111
N.N.H.H
255.255.0.0
16384 (2^14)
(2^16-2)
C
192-223
11000000- 11011111
N.N.N.H
255.255.255.0
2097150 (2^21)
254 (2^8-2)
D
224-239
11100000- 11101111
Multicast
E
240-255
11110000- 11111111
экспериментальные
Класс А ориентирован на очень большие сети. В состав класса А входят две служебные сети: 127.0.0.0/8 и 0.0.0.0.0.
Класс B предназначен для сетей большого и среднего размера.
Класс C – это самый употребляемый класс сетей.
Класс D и E предназначены для служебных и экспериментальных целей.
В середине 80-х годов в глобальной сети Интернет возникла проблема переполнения таблиц маршрутизации на магистральных маршрутизаторах. Эту проблему решили посредством использования подсетей.
В начале 90-х возникла проблема нехватки адресного пространства. Причиной было неэффективное использование имеющегося диапазона адресов (предел в 4 миллиарда), т.к. провайдерам и конечным пользователям могли выдавать только целые сети определенного класса. Например, если организации требовалось несколько IP адресов, то минимальное количество, которое она могла получить – это целая сеть класса С (254 IP адреса), хотя реально требовалось и использовалось намного меньше.
- разработка и внедрение протокола IP следующей версии IPv6 (16-ти байтные адреса).
Использование масок и подсетей (subnet mask)
Маска подсети используется для определения бит, которые будут представлять сетевую часть адреса и хост часть адреса.
Например, на рисунке представлен IPv4 адрес с префиксом /24 и маской подсети 255.255.255.0.
Возможные варианты маски подсети.
00000000 = 0
10000000 = 128
11000000 = 192
11100000 = 224
11110000 = 240
11111000 = 248
11111100 = 252
11111110 = 254
11111111 = 255
Для получения адреса сети по IP адресу узла и subnet mask необходимо перевести IP адрес узла и subnet mask в двоичный вид и выполнить по-битовую операцию логического сложения (AND).
Например, запись адреса хоста 172.16.4.35/27 означает следующее:
Адрес (соответственно десятичное и двоичное представление)
172.16.20.35
10101100.00010000.00010100.00100011
Subnet mask (маска подсети)
255.255.255.224
11111111.11111111.11111111.11100000
Адрес сети
172.16.20.32
10101100.00010000.00010100.00100000
Пример определения адреса сети по IPv4 адресу узла и subnet mask.