Перейти к содержимому

Калькулятор Подсетей CIDR

Вычисляет адрес сети, широковещательный адрес, диапазон хостов и маску из CIDR.

Об этом инструменте

Калькулятор подсетей CIDR — это важный инструмент для сетевых администраторов и инженеров, которым необходимо понимать, как работают IP-адреса и подсети. Нотация CIDR (бесклассовая маршрутизация между доменами) предоставляет компактный способ представления диапазонов IP-адресов и связанных с ними масок сети, что значительно упрощает планирование и управление сетью. Этот инструмент вычисляет адрес сети, адрес трансляции, диапазон доступных хостов и маску подсети из заданной нотации CIDR, помогая вам быстро определить критические параметры сети без ручных вычислений.

Для использования калькулятора просто введите IP-адрес, за которым следует косая черта и количество сетевых битов (например, 192.168.0.0/24). Инструмент сразу отображает адрес сети, адрес трансляции, первый и последний доступные адреса хостов, а также маску подсети в десятичной нотации с точками. Это неоценимо при проектировании сетевых сегментов, распределении диапазонов IP отделам или сервисам, а также при решении проблем с подключением. Сетевые специалисты часто нуждаются в этих вычислениях при планировании инфраструктуры, развертывании в облаке или аудите существующих конфигураций сети.

Понимание нотации CIDR является фундаментальным для современных сетей, особенно в облачных средах, таких как AWS, Azure и Google Cloud, где разбиение на подсети управляет доступом к ресурсам и сегментацией. Инструмент работает с IPv4-адресами и помогает уточнить взаимосвязь между длиной префикса и количеством доступных хостов. Независимо от того, являетесь ли вы сетевым инженером, проектирующим корпоративную инфраструктуру, системным администратором, управляющим серверами, или студентом, изучающим концепции сетей, этот калькулятор исключает ошибки вычислений и экономит время на критических этапах планирования.

Часто задаваемые вопросы

Реализация кода

import ipaddress

def cidr_info(cidr: str) -> dict:
    network = ipaddress.ip_network(cidr, strict=False)
    return {
        "network_address": str(network.network_address),
        "broadcast_address": str(network.broadcast_address),
        "subnet_mask": str(network.netmask),
        "prefix_length": network.prefixlen,
        "total_addresses": network.num_addresses,
        "usable_hosts": max(0, network.num_addresses - 2),
        "first_host": str(network.network_address + 1),
        "last_host": str(network.broadcast_address - 1),
    }

# Example
info = cidr_info("192.168.1.0/24")
for k, v in info.items():
    print(f"{k}: {v}")

# Check if IP is in network
net = ipaddress.ip_network("10.0.0.0/8", strict=False)
ip = ipaddress.ip_address("10.5.20.1")
print(f"10.5.20.1 in 10.0.0.0/8: {ip in net}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.