
Subnet Mask (서브넷 마스크)
: 서브넷 마스크는 로컬 네트워크 내부에서 접속한 호스트의 IP 대역을 외부 네트워크와 명확하게 구분할 수 있는 수단을
표준화한 것이며, 네트워크를 쪼개 통신 성능을 보장하기 위한 방법이다.
IP 주소는 네트워크와 호스트 부분으로 나누어지는데,
하나의 로컬 네트워크는 하나의 라우터를 거쳐가는 여러 호스트들이 연결된 영역이며,
어떠한 한 호스트가 브로드캐스트를 했을 때 해당 네트워크의 모든 호스트가 신호를 받으면 그 네트워크는
하나의 네트워크로 연결되있다고 볼 수 있다.
즉, 하나의 로컬 네트워크에서 IP 주소의 네트워크 부분은 같지만, 호스트 부분은 다른 것이다.
예시로, 네모구 세모동 동그라미아파트 A동 201호에서
네모구 세모동 동그라미아파트 A동 306호로 가려고 하면,
굳이 건물을 나갈 필요없이 가면 된다. 이러한 상황에서는 네트워크 부분이 같다는 것이다.
그럼 이 네트워크를 어떤 그룹으로 묶으면 좋을까?
우선 옆 건물인 B동으로 가려면 건물을 나가야하는데, 그럼 출입구를 통해서 나가야한다.
이 출입구를 '게이트웨이' 라 하며, 현재 호스트가 현 네트워크의 서브넷 범위를 벗어나기 위해 이를 거쳐야 한다.
그럼 이 게이트웨이를 거치는 호스트들을 하나의 네트워크라고 구분하기로 정한다면,
이 A동이 '서브넷'이 된 것이고, '서브넷 마스크'는 아파트 동 건물 한채가 된 것이다.
즉 로컬 네트워크를 나누는 기준이 서브넷 마스크인 것이다.
기준을 아파트 동 건물 한채가 아닌 아파트 전체로 본다면, 이 아파트 내에서는 게이트웨이 없이도 오고 갈 수 있다.
게이트웨이를 거쳐서 외부 네트워크로 나가지 않는 범위가 하나의 로컬 네트워크 범위가 되는 것이다.
Subnet Mask 계산 및 활용
: 서브넷 마스크도 IP와 동일하게 4개의 8비트, 총 32개의 비트를 사용하여 표현한다.
이를 활용하여 '네트워크 ID'를 알 수 있는데, IP 주소와 Subnet mask를 AND 연산하면 해당 ID가 나온다.
ex)
IP 주소 : 192.168.123.111
subnet mask : 255.255.255.0
_________________________
network ID (Subnet) : 192.168.123.XXX
-> 네트워크 범위 : 192.168.123.0 ~ 192.168.123.255
해당 범위에 있지 않은 IP는 다른 네트워크로 판단된다.
CIDR
: subnet mask를 간단하게 표현할 수 있는 방법이 존재한다.
subnet mask가 11111111.00000000.00000000.00000000 ,
즉, 255.0.0.0 라는 subnet mask가 있다면, 왼쪽부터 얼마만큼 1비트로 설정되있는지 판단하여
그 개수만큼 표현한 것이 CIDR 이다. 따라서 위의 255.0.0.0은 '/8' 로 표기한다.
CIDR Subnet Mask 2진수
/8 255.0.0.0 11111111.00000000.00000000.00000000
/9 255.128.0.0 11111111.10000000.00000000.00000000
/10 255.192.0.0 11111111.11000000.00000000.00000000
/11 255.224.0.0 11111111.11100000.00000000.00000000
/12 255.240.0.0 11111111.11110000.00000000.00000000
/13 255.248.0.0 11111111.11111000.00000000.00000000
/14 255.252.0.0 11111111.11111100.00000000.00000000
/15 255.254.0.0 11111111.11111110.00000000.00000000
/16 255.255.0.0 11111111.11111111.00000000.00000000
/17 255.255.128.0 11111111.11111111.10000000.00000000
/18 255.255.192.0 11111111.11111111.11000000.00000000
/19 255.255.224.0 11111111.11111111.11100000.00000000
/20 255.255.240.0 11111111.11111111.11110000.00000000
/21 255.255.248.0 11111111.11111111.11111000.00000000
/22 255.255.252.0 11111111.11111111.11111100.00000000
/23 255.255.254.0 11111111.11111111.11111110.00000000
/24 255.255.255.0 11111111.11111111.11111111.00000000
/25 255.255.255.128 11111111.11111111.11111111.10000000
/26 255.255.255.192 11111111.11111111.11111111.11000000
/27 255.255.255.224 11111111.11111111.11111111.11100000
/28 255.255.255.240 11111111.11111111.11111111.11110000
/29 255.255.255.248 11111111.11111111.11111111.11111000
/30 255.255.255.252 11111111.11111111.11111111.11111100
/31 255.255.255.254 11111111.11111111.11111111.11111110
/32 255.255.255.255 11111111.11111111.11111111.11111111
네트워크 범위 예외
: 첫번째 IP와 마지막 IP는 특정 용도로 사용되므로, 장비의 IP 주소로 사용이 불가하다.
ex) IP 주소 : 192.168.123.132/24
네트워크 ID : 192.168.123.0
-> 네트워크 범위 : 192.168.123.0 ~ 192.168.123.255
--> 첫번째 IP는 네트워크 ID이므로 사용 불가 : 192.168.123.0
--> 마지막 IP는 브로드캐스트 주소 이므로 사용 불가 : 192.168.123.255
---> 장비 할당 가능 IP : 192.168.123.1 ~ 192.168.123.254
또한, 특수 목적으로 예약이 되어있는 IP 들도 장비에 할당할 수 없다.
1. Loopback IP : 127.0.0.0/8
2. Multicast IP : 224.0.0.0/4
3. 미래에 사용용도로 예약된 IP : 240.0.0.0/4
외에도 예외 범위가 존재함.
'프로그래밍 > CS' 카테고리의 다른 글
[study] LAN & WAN (0) | 2025.02.21 |
---|---|
[study] IP (Internet Protocol) (0) | 2025.02.20 |
[study] 뮤텍스 (Mutex) (1) | 2024.09.19 |
[study] 스레드 (Thread) (2) | 2024.08.31 |
[study] 프로세스 (Process) (2) | 2024.06.02 |