일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 네트워크
- 네트워크관리사2급
- vlan
- Rip
- UTP
- 라우터
- 가상랜
- 스태틱 라우팅
- ICQA
- 클래스
- STP
- bdr
- 네트워크관리사2급실기
- 익스텐디드 액세스 리스트
- ACL
- network
- 브로드캐스트
- 스패닝트리
- 네트워크관리사
- 스위치
- 스패닝트리 알고리즘
- 구성모드
- Cisco
- 스패닝트리프로토콜
- 패킷트레이서
- 스탠다드 액세스 리스트
- OSPF
- 액세스 리스트
- IP
- 다이렉트 케이블
- Today
- Total
네린이 네트워크 성장기
서브넷 마스크(Subnet Mask) 본문
서브넷 마스크(Subnet Mask)란?
일단 말 그대로 서브, 즉 메인이 아닌 어떤 가공을 통한
네트워크를 만들기 위해서 씌우는 마스크라고 생각하면 된다.
네트워크를 여러 개의 작은 네트워크(서브넷)으로 나누는 데 사용된다.
서브넷 마스크에도 기본이 있는데
A 클래스의 서브넷 마스크는 255.0.0.0
B 클래스의 서브넷 마스크는 255.255.0.0
C 클래스의 서브넷 마스크는 255.255.255.0
이 된다. 즉 네트워크 부분은 이진수 1로 나타내고
호스트 부분은 0으로 나타낸 것이다.
서브넷팅(Subnetting)
간단히 IP주소를 효율적으로 나누어 사용하기 위한 방법이다.
예를들어 C 클래스 IP인 192.168.10.0/25 가 있다고 하자.
여기서 /25는 프리픽스라고 하며 32개의 비트중 25개가
네트워크 주소임을 나타낸다.
그럼 서브넷 마스크가 255.255.255.1000 0000 이란 것이다.
뒤에 부분까지 이진수로 바꿔 써보면 255.255.255.128이 된다.
자 그럼 여기서 간단한 문제를 하나 풀어보겠다.
B 클래스를 6개의 네트워크로 구분하여 사용하고 싶을 때,
가장 적절한 서브넷 마스크의 값은 무엇인가?
우선 B 클래스의 기본 서브넷 마스크는 255.255.0.0이다.
다음은 3번째 옥텟이다.
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
첫번째 비트에서 0 또는 1이 올 수 있고
또 다음 비트에서 0 또는 1이 올 수 있다.
두번째 비트까지 총 4개의 경우의 수가 있는 것이다.
하지만 문제에서 6개의 네트워크로 구분하고 싶다고 했으니
다음 비트까지 사용해야한다.
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
그렇다면 이렇게 될 것이고 최종적으로 255.255.224.0이 된다.
다른 한 문제를 더 풀어보겠다.
C 클래스의 네트워크를 서브넷으로 나누어 각 서브넷에 4~5대의
PC를 접속해야 할 떼 서브넷 마스크 값으로 올바른 것은?
이 말은 각 네트워크에 4~5개의 호스트 부분을 할당해야 한다는 것이다.
C 클래스의 기본 서브넷 마스크는 255.255.255.0이다.
문제를 푼다면 4번째 옥텟은 다음과 같아야 한다.
1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
그렇다면 최종적으로 255.255.255.248이 된다.
진짜 마지막으로 한 문제를 더 풀어보겠다.
IP주소 203.10.24.27이란 호스트의 서브넷 마스크는 255.255.255.240이다.
이때 이 네트워크의 호스트 범위와 브로드캐스트 주소는 어떻게 되는가?
먼저 C 클래스이고 서브넷 마스크의 마지막 옥텟을
이진수로 바꿔보면 다음과 같이 된다.
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
그렇다면 각 네트워크에 16개의 호스트 부분을 할당했다는 것을 알 수 있다.
(네트워크 주소와 브로드캐스트 주소를 빼면 14개긴 함)
그렇다면 다음과 같이 나눌 수 있다.
203.10.24.0 ~ 203.10.24.15
203.10.24.16 ~ 203.10.24.31
203.10.24.32 ~ 203.10.24.47
:
203.10.24.239 ~ 203.10.24.255
그럼 문제에서 IP는 203.10.24.27이기 때문에
네트워크 주소는 맨 앞 203.10.24.16이고
호스트 범위는 203.10.24.17 ~ 203.10.24.30
브로드캐스트는 203.10.24.31이 된다.
처음 서브넷마스크 계산하는걸 접했을 때는
많이 헷갈리고 어려웠지만 여러 문제를 풀어보고
정보처리기사에도 나오고 네트워크 관리사에서도
적당히 풀어봐서 익숙해진 것 같다.
그리고 이진수 <-> 십진수 변환을 빠르게 하는 방법이 있다.
어디 유튜브인가 보고 배운적이 있는데
아직도 그 방법을 사용하고 있다.
이진수 <-> 십진수 변환
음 우선 각 자리별로 생각하면 된다.
이진수 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
자리별 값 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
오른쪽부터 1, 2, 4, 8 ... 이렇게 배치하는 것이다.
(256, 512, ... 더 가도 된다. 근데 255까지만 알면 되니깐)
위의 표를 보면 이진수 값이 1인 것만 더해주면 된다.
128 + 64 + 32 = 224가 된다. 이런식이다.
이진수 1 1 1 1 1 0 0 0이 있다면 248이 되는 것이다.
반대로 십진수에서 이진수를 바꾸려면 자리별 값을 왼쪽에서 부터 더해주면 된다.
한마디로 자리별 값을 더해서 십진수 값을 만들면 된다.
자리별 값 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
예를들어 십진수 210이라고 하면
128 + 64 + 16 + 2 = 210 인데 각 더한 값이 이진수 1이라고 생각하면 된다
그러면 1 1 0 1 0 0 1 0 이 된다. 이렇게 간단하게 할 수 있다.
학부생때는 2로 나누고 나머지 어쩌구 저쩌구
막 했던거 같은데 지금은 이 방법이 더 편한 것 같다.
근데 솔직히 컴퓨터나 스마트폰 있으면 변환기 쓰면 됨
'네트워크 기초' 카테고리의 다른 글
브리지 ID와 Path Cost (0) | 2025.02.19 |
---|---|
스패닝 트리 알고리즘 (0) | 2025.02.19 |
IP (0) | 2025.02.17 |
영역(domain) (0) | 2025.02.08 |
TCP/IP (0) | 2025.02.08 |