Калькулятор Подсетей 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.