본문으로 건너뛰기
🛠️ToolsShed

CIDR 서브넷 계산기

CIDR 표기법에서 네트워크 주소, 브로드캐스트, 호스트 범위를 계산합니다.

이 도구 소개

CIDR 서브넷 계산기는 IP 주소와 서브넷의 작동 방식을 이해해야 하는 네트워크 관리자와 엔지니어에게 필수적인 도구입니다. CIDR(Classless Inter-Domain Routing) 표기법은 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.