Книга: UNIX: разработка сетевых приложений
Адреса подсетей
Адреса подсетей
Обычно IPv4-адреса разделяются на подсети (RFC 950 [79]). Такой подход добавляет еще один уровень иерархии адресов:
? идентификатор сети (присваивается предприятию);
? идентификатор подсети (выбирается предприятием);
? идентификатор узла (выбирается предприятием).
Граница между идентификатором сети и идентификатором подсети фиксирована префиксной длиной присвоенного адреса сети. Эта префиксная длина присваивается организациям их интернет-провайдером. Граница же между идентификатором подсети и идентификатором узла выбирается предприятием. Все узлы данной подсети имеют одинаковую маску подсети, которая и определяет границу между идентификатором подсети и идентификатором узла. Биты, заполненные единицами в маске подсети, соответствуют идентификатору подсети, а биты, заполненные нулями — идентификатору узла.
В качестве примера рассмотрим предприятие, которому был выделен адрес 192.168.42.0/24. Если это предприятие будет использовать 3-разрядный идентификатор подсети, на идентификатор узла останется 5 разрядов (рис. А.3.)
Рис. А.3. 24-разрядный адрес сети с 3-разрядным адресом подсети и 5-разрядным адресом узла
В результате такого деления мы получаем подсети, показанные в табл. А.2.
Таблица А.2. Список подсетей для 3-разрядного адреса подсети и 5-разрядного адреса узла
Подсеть | Префикс |
---|---|
0 | 192.168.42.0/27+ |
1 | 192.168.42.32/27+ |
2 | 192.168.42.64/27 |
3 | 192.168.42.96/27 |
4 | 192.168.42.128/27 |
5 | 192.168.42.160/27 |
6 | 192.168.42.192/27 |
7 | 192.168.42.224/27+ |
В результате мы получаем 6–8 подсетей (идентификаторы 1–6 или 0–7), в каждой из которых может находиться до 30 узлов (идентификаторы 1–30). RFC 950 не рекомендует использовать подсети, идентификаторы которых состоят из одних нулей и одних единиц (знак «+» в табл. А.2). В настоящее время большинство систем поддерживают и такие адреса подсетей. Максимальный идентификатор узла (в нашем случае 31) зарезервирован за широковещательным адресом. Идентификатор 0 используется для адресации сети в целом и зарезервирован во избежание конфликтов со старыми системами, в которых нулевой адрес узла использовался в качестве адреса широковещательной передачи. В полностью контролируемых сетях, где такие системы отсутствуют, идентификатор 0 использовать можно. Вообще говоря, сетевые приложения не должны заботиться об идентификаторах подсетей и узлов, рассматривая IP-адреса как непрозрачные объекты.
- 5.21 IP-адреса, интерфейсы и множественное пребывание
- D.2 Маски подсетей с переменной длиной
- А.4. Адресация IPv4
- Глава 2 Обнаружение адреса
- 3.6.1. Адресация в Linux
- 4.12.2. Переадресация
- Логика «от адресата»
- Обман MAC-адреса
- Глава 3 Как сразу «зацепить» адресата – начало
- Универсальная структура адреса сокета
- 1.3. Анонимные прокси-серверы: сокрытие IP-адреса и местонахождения
- 20.2. Широковещательные адреса