❗본 포스팅은 널널한 개발자님의 강의를 바탕으로, 개인적인 해석·견해가 포함되어 정리된 내용입니다
안녕하세요~ 여러분 🙂↕️
오랜만에 네트워크 이야기 들고 왔습니다.
오늘의 주제는 바로 서브넷 마스크와 CIDR(Classless Inter-Domain Routing)❗
최근 네트워크 관리사 2급 필기 시험을 보고 왔는데, 시험 문제에서 해당 내용이 나와서, “아, 이 내용은 꼭 블로그에 써야겠다!” 싶었습니다.
그래서 오늘은 최대한 쉽고 간단하게 서브넷 마스크와 CIDR에 대하여 정리해 보도록 하겠습니다.
서브넷 마스크란❓
예를 들어, 우리가 이런 IP 주소를 하나 받았다고 해봅시다.
192 . 168 . 0 . 10
그럼 질문!
이 주소에서 네트워크 ID는 어디까지고, 호스트 ID는 어디부터일까요? 🤔
…네, 사실 이 정보만으로는 전혀 알 수 없습니다.
왜냐하면 IP 주소만 보고는 "여기까지가 네트워크 구간, 여기부터가 호스트 구간"이라는 경계선이 표시되어 있지 않거든요.
마치 우편 주소에서 ‘동네 이름’과 ‘집 번지수’를 붙여 썼는데, 어디서 끊어야 할지 모르는 것과 비슷합니다.
그렇다면 어떻게 구별할 수 있을까요?
바로 그 경계선을 알려주는 지도 역할을 하는 것이 서브넷 마스크(Subnet Mask)입니다.
아~ 서브넷 마스크는 IP 주소에서 네트워크ID와 호스트ID를 구별 할 수 있는 지도 역할을 해주는구나!
💫 주소를 2진수로 변환하기
먼저 IP 주소 192.168.0.10을 2진수로 바꾸면 이렇게 됩니다.
1100 0000 . 1010 1000 . 0000 0000 . 0000 1010 ( 192.168.0.10 )
만약 서브넷 마스크가 255.255.255.0 라면, 이를 2진수로 표현하면
1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 ( 255.255.255.0)
📌 경계선을 찾아서! 네트워크 ID 구하기
앞에서 IP 주소와 서브넷 마스크를 2진수로 변환해 봤습니다☺️
이제 이 두 값을 비트 AND(&) 연산해 주면, 우리가 찾고 있던 네트워크 ID가 딱! 하고 나타납니다.
이 과정에서 서브넷 마스크가 마치 필터처럼 작동해, 네트워크 ID 부분은 그대로 남기고 호스트 ID 부분은 전부 `0`으로 바꿔 줍니다.
그래서 이 과정을 Mask 연산이라고 부르는 거죠.
이렇게 하면 처음으로 “ 아, 이 주소는 192.168.0 까지가 네트워크에 속하는구나! ”를 알 수 있게 됩니다.
📌 정리하자면, IP 주소 192.168.0.10에서
- 네트워크 ID: 192.168.0
- 호스트 ID: 10
이라는 걸 알 수 있습니다.
✂️ 더 짧고 간단하게! CIDR
AWS를 사용하다 보면, 가끔 이런 표기를 보신 적이 있으실 겁니다.
192 . 168 . 0 . 10 / 24
이게 바로 CIDR 표기법인데요,
여기서 `/24` 는 앞에서부터 24bit가 네트워크 ID라는 뜻입니다.
이렇게 CIDR로 표기하면, 기존에 서브넷 마스크를 길게 쓰던 방식보다 훨씬 쉽고 직관적이겠죠!
( 현대 네트워킹과 클라우드/운영 환경 에서는 CIDER 표기법이 사실상 표준처럼 사 사용되므로, 꼭 기억해 두세요 😏)
✍️ 마무리
오늘은 IP 주소에서 네트워크 ID와 호스트 ID를 어떻게 구할 수 있는지, 서브넷 마스크와 CIDR를 엮어 최대한 쉽게 설명해 보았습니다.
처음에는 외계어처럼 어렵게 느껴졌던 서브넷 마스크와 CIDR도, 알고 보니 별거 없죠!! ☺️
읽어주셔서 감사합니다! 🙇
'해피 코딩 > Network' 카테고리의 다른 글
[네트워크] 패킷 분할의 세계와 계층별 데이터 단위 (1) | 2025.03.28 |
---|---|
[네트워크] 스타벅스에서 IPv4주소의 기본 구조 이해하기 (1) | 2025.03.22 |
[네트워크] 사무실 네트워크는 이렇게 움직인다! (0) | 2025.03.15 |