Ответ
Количество доступных для назначения хостам IP-адресов в подсети вычисляется по формуле:
Количество хостов = 2^(32 - n) - 2, где n — длина маски в битах (CIDR-нотация).
Примеры:
- Маска /24 (255.255.255.0):
2^(32-24) - 2 = 2^8 - 2 = 256 - 2 = 254хоста. - Маска /28 (255.255.255.240):
2^(32-28) - 2 = 2^4 - 2 = 16 - 2 = 14хостов.
Почему вычитается 2? Из общего диапазона адресов исключаются:
- Адрес сети (первый адрес в подсети, все биты хостовой части равны 0).
- Широковещательный адрес (broadcast) (последний адрес, все биты хостовой части равны 1).
Особые случаи (RFC):
- Подсети /31 (255.255.255.254): Используются для point-to-point линков. Формула
2 - 2не применяется, оба адреса являются usable (RFC 3021). Количество хостов = 2. - Подсеть /32 (255.255.255.255): Один адрес, обозначающий конкретный хост (часто используется в маршрутизации).
Практическое применение в DevOps: Эти расчеты используются при проектировании сетей в облаках (AWS VPC, GCP VPC), настройке firewall правил и планировании IP-адресации для кластеров (Kubernetes, Docker Swarm).