서브넷 마스크(Subnet Mask)는 IPv4 주소를 네트워크 부분과 호스트 부분으로 나누는 데 사용되는 32비트 숫자입니다. IPv4 주소는 보통 네트워크 주소와 호스트 주소로 나누어져 있으며, 서브넷 마스크는 이를 구분짓기 위해 사용됩니다.
서브넷 마스크의 구성
서브넷 마스크는 일반적으로 4개의 옥텟(8비트씩)으로 구성되며, 각 옥텟은 0부터 255까지의 숫자로 표현됩니다. 예를 들어, 가장 일반적인 서브넷 마스크 중 하나인 255.255.255.0은 다음과 같이 표현됩니다:
- 첫 번째 옥텟: 255 (11111111)
- 두 번째 옥텟: 255 (11111111)
- 세 번째 옥텟: 255 (11111111)
- 네 번째 옥텟: 0 (00000000)
위의 서브넷 마스크는 처음 세 옥텟이 모두 1로 되어 있고, 네 번째 옥텟은 0으로 되어 있습니다. 이는 이 서브넷 마스크가 처음 세 옥텟을 네트워크 부분으로, 네 번째 옥텟을 호스트 부분으로 나누는 역할을 한다는 것을 나타냅니다.
서브넷 마스크의 역할
서브넷 마스크는 IP 주소의 네트워크 부분과 호스트 부분을 구분하는 데 사용됩니다. 예를 들어, IP 주소가 192.168.1.100이고 서브넷 마스크가 255.255.255.0인 경우:
- IP 주소: 192.168.1.100
- 서브넷 마스크: 255.255.255.0
이 경우, 서브넷 마스크 255.255.255.0은 처음 세 옥텟이 네트워크를 식별하고, 마지막 옥텟이 호스트를 식별합니다. 이 서브넷 마스크를 이용하여 IP 주소와 함께 라우터나 스위치 등의 네트워크 장비는 패킷이 목적지로 전송될 때 네트워크 부분을 참조하여 해당 네트워크로 전송할지 여부를 결정합니다.
서브넷 마스크의 설정
서브넷 마스크는 네트워크 관리자가 네트워크의 크기와 구조에 따라 설정하며, 서브넷화(Subnetting)라는 과정을 통해 여러 개의 작은 네트워크로 나누는 데 사용됩니다. 서브넷 마스크는 이진 형태로 표현되며, 네트워크 부분은 1로, 호스트 부분은 0으로 표시됩니다.
요약
서브넷 마스크는 IPv4 주소를 네트워크 부분과 호스트 부분으로 나누어 주는 역할을 하며, 이를 통해 네트워크 장비가 IP 주소를 이용해 패킷을 정확히 경로에 맞추어 전달할 수 있습니다. 설정된 서브넷 마스크는 IP 주소와 함께 사용되어 네트워크 구조를 정의하고 관리합니다.
IPv4 주소와 서브넷 마스크를 입력받아 네트워크 부분을 추출하는 함수
def subnet_mask_to_binary(subnet_mask):
# Split the subnet mask into octets
octets = subnet_mask.split('.')
# Initialize an empty list to store binary octets
binary_octets = []
# Convert each octet to binary and store it
for octet in octets:
binary_octet = bin(int(octet)).lstrip('0b').zfill(8)
binary_octets.append(binary_octet)
# Join the binary octets with dot separator
binary_subnet_mask = '.'.join(binary_octets)
return binary_subnet_mask
# Example usage:
subnet_mask = '255.255.255.0'
binary_subnet_mask = subnet_mask_to_binary(subnet_mask)
print(f"The binary representation of subnet mask {subnet_mask} is: {binary_subnet_mask}")
'CS' 카테고리의 다른 글
Url vs Uri 차이 (0) | 2025.06.09 |
---|---|
IPv4 vs IPv6 특징과 차이점 (1) | 2024.06.11 |
2진법,10진법,16진법 변환 (1) | 2024.06.07 |