5.16 Сети и подсети TCP/IP
Организации с адресами сетей класса А или В, как правило, имеют очень большие сети, состоящие из множества локальных и нескольких региональных сетей. В этом случае имеет смысл разделить адресное пространство так, чтобы оно отражало структуру сети в виде нескольких подсетей. Для этого локальная часть адреса разделяется на часть для подсети (subnet part) и системную часть (system part) любым выбранным организацией способом (см. рис. 5.6).
Рис. 5.6. Деление локального адреса на подсеть и системную часть
Определение размера части адреса для подсети и присваивание номеров подсетям производится организацией, владеющей данной частью адресного пространства.
Адреса подсети часто создаются в соответствии с байтовой границей. Организация с адресом класса В, например 128.21, может использовать для идентификации подсети третий байт:
128.121.1
128.121.2
128.121.3
Четвертый байт будет использоваться для идентификации отдельных хостов в подсети.
Организация с адресом класса С имеет только однобайтовое адресное пространство. Она может вообще не проводить деления на подсети или использовать первые 4 бита для адреса подсети и 4 бита для адресов хостов (см. рис. 5.7). На рисунке видно, что локальный адрес (61) имеет двоичное представление 0011 1101. Первые 4 бита идентифицируют подсеть, а последние 4 бита определяют системы.
Рис. 5.7. Четырехбитовая часть для подсети в адресе класса С
5.17 Маска подсети
Маршрутизация трафика на хост выполняется посредством анализа сетевой части и части для подсети IP-адреса. Сетевые части адресов классов А, В и С имеют фиксированный размер. Однако организация может указать собственный размер для поля подсети, и тут возникает вопрос о распознавании этой части в хостах и маршрутизаторах. На рис. 5.8 показано меню программы Chameleon для ввода размера поля подсети.
Рис. 5.8. Конфигурирование маски подсети
Размер поля подсети реально хранится в конфигурационном параметре, называемом маской подсети (subnet mask). Маска подсети имеет длину в 32 бита. Эти биты отражают для заданной сети длину поля подсети в адресе: для поля подсети в маске располагаются единицы, а для системного поля — нули.
Например, если для идентификации подсети используется третий байт, а сеть имеет адрес 128.121, то маска подсети будет:
11111111 11111111 11111111 00000000
Часто маска подсети записывается десятичной нотацией с точками: 255.255.255.0
Иногда применяется шестнадцатеричный формат:
X'FF-FF-FF-00
Подключенные к подсети хосты и маршрутизаторы конфигурируются с маской подсети. Общепринятым способом является использование одной маски подсети для всей интернет-сети организации. Однако из этого правила есть исключения, и некоторые организации применяют несколько размеров для различных подсетей.
Например, если сеть содержит большое количество линий "точка-точка", то номера подсети будут использованы очень неэкономно, поскольку в коммуникации участвуют только две системы в каждой из подсетей "точка-точка". Организация может решить использовать 14-битовую маску (255.255.255.252) для соединений "точка-точка".
Таблица 5.2 Подсети в сети класса В
Биты подсети Количество подсетей Биты для хостов Количество хостов Маска подсети 0 0 16 65534 255.255.0.0 1 - 15 - Недопустимая комбинация 2 2 14 16382 255.255.192.0 3 6 13 8190 255.255.224.0 4 14 12 4094 255.255.240.0 5 30 11 2046 255.255.248.0 6 62 10 1022 255.255.252.0 7 126 9 510 255.255.254.0 8 254 8 254 255.255.255.0 9 510 7 126 255.255.255.128 10 1022 6 62 255.255.255.192 11 2046 5 30 255.255.255.224 12 4096 4 14 255.255.255.240 13 8190 3 6 255.255.255.248 14 16382 2 2 255.255.255.252 15 - 1 - Недопустимая комбинацияВ таблице 5.2 показаны способы разделения локального адреса для сети класса B. В ней также приведено количество подсетей и хостов в разделах. Это количество на 2 меньше, чем можно было предположить, поскольку существуют некоторые ограничения, которые будут рассмотрены ниже. Например, если подсеть использует 6 бит, шаблон маски подсети будет:
11111111 11111111 11111100 00000000,
что можно записать как 255.255.252.0. Далее мы рассмотрим, почему нельзя использовать комбинации 1/15 (1 бит для подсети и 15 бит для адресов хостов) и 15/1.