Выбрать главу

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.