티스토리 뷰
🌐 호스트 ID와 네트워크 ID 계산 방법
IP 주소는 인터넷에 연결된 모든 장치를 식별하는 고유한 번호입니다. 이 주소는 크게 네트워크 ID와 호스트 ID 두 부분으로 나뉩니다.
- 네트워크 ID (Network ID): 장치가 속한 네트워크(그룹)의 주소입니다.
- 호스트 ID (Host ID): 해당 네트워크 내에서 장치를 구별하는 고유한 주소입니다.
이 둘을 구분하는 기준이 바로 서브넷 마스크(Subnet Mask)입니다.
1. 핵심 원리: 비트단위 AND 연산
네트워크 ID를 계산하는 가장 핵심적인 방법은 IP 주소와 서브넷 마스크를 2진수로 변환한 뒤, 각 자릿수별로 AND 연산을 수행하는 것입니다.
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
이 연산을 통해 나온 결과값이 바로 네트워크 ID가 됩니다.
2. 네트워크 ID 계산 방법 (단계별 예시)
다음 정보를 가지고 네트워크 ID를 계산해 보겠습니다.
- IP 주소:
192.168.1.100
- 서브넷 마스크:
255.255.255.0
1단계: IP 주소와 서브넷 마스크를 2진수로 변환
각 숫자를 8자리 2진수로 변환합니다.
구분 | 10진수 표기 | 2진수 표기 |
---|---|---|
IP 주소 | 192.168.1.100 |
11000000.10101000.00000001.01100100 |
서브넷 마스크 | 255.255.255.0 |
11111111.11111111.11111111.00000000 |
2단계: 2진수로 변환된 값들을 AND 연산
각 비트를 세로로 맞춰 AND 연산을 수행합니다.
IP 주소 | 11000000.10101000.00000001.01100100 |
서브넷 마스크 | 11111111.11111111.11111111.00000000 |
AND 연산 ( & ) | |
결과 (네트워크 ID) | 11000000.10101000.00000001.00000000 |
---|
서브넷 마스크의 비트가 1인 부분은 IP 주소의 비트가 그대로 내려오고, 0인 부분은 결과가 무조건 0이 됩니다. 이 원리로 네트워크 부분과 호스트 부분이 구분됩니다.
3단계: 2진수 결과를 10진수로 변환
연산 결과를 다시 10진수로 변환하여 네트워크 ID를 구합니다.
- 2진수:
11000000.10101000.00000001.00000000
- 10진수:
192.168.1.0
결론: IP 주소
192.168.1.100
의 네트워크 ID는 192.168.1.0
입니다.
3. 호스트 ID 계산 방법
호스트 ID는 네트워크 ID를 제외한 나머지 부분입니다. 즉, IP 주소에서 네트워크 ID 부분을 뺀 값이며, 서브넷 마스크의 '0' 부분에 해당하는 영역입니다.
1단계: 서브넷 마스크의 NOT 연산
호스트 ID를 명확하게 계산하려면 서브넷 마스크의 비트를 뒤집는 NOT 연산을 수행할 수 있습니다. (1은 0으로, 0은 1로)
구분 | 2진수 표기 |
---|---|
서브넷 마스크 | 11111111.11111111.11111111.00000000 |
NOT 연산 결과 | 00000000.00000000.00000000.11111111 |
2단계: IP 주소와 NOT 연산 결과를 AND 연산
원본 IP 주소와 NOT 연산된 마스크를 AND 연산하면 호스트 ID 부분만 남게 됩니다.
IP 주소 | 11000000.10101000.00000001.01100100 |
NOT 마스크 | 00000000.00000000.00000000.11111111 |
AND 연산 ( & ) | |
결과 (호스트 ID) | 00000000.00000000.00000000.01100100 |
---|
3단계: 결과 확인
결과를 10진수로 변환하면 호스트 ID 값을 얻을 수 있습니다.
- 2진수:
00000000.00000000.00000000.01100100
- 10진수:
0.0.0.100
결론: IP 주소
192.168.1.100
의 호스트 ID 부분은 100
입니다. 즉, 192.168.1.0
네트워크에 속한 100번째 장치를 의미합니다.
'ㅈㄱㅈ > ㅈㅊㄱ' 카테고리의 다른 글
소프트웨어 테스트 단계별 설명 (0) | 2025.04.14 |
---|---|
소프트웨어 통합 테스트(Integration Test) 설명 (0) | 2025.04.14 |
서브넷팅과 서브넷 마스크 계산 방법 (0) | 2025.04.14 |
디자인패턴 GoF 행위 패턴 with Java 예제 (0) | 2025.04.14 |
디자인패턴 GoF 구조 패턴 with Java 예제 (0) | 2025.04.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- JSP
- SQL
- Filter
- Between
- SEQUENCE
- backup
- handdrip
- JavaScript
- Coffee
- oracle
- GitHub
- table
- BAT
- 커피
- LILI COFFEE
- dbeaver
- MariaDB
- partition
- db
- VBS
- 단위변환
- 로스터리
- 스페셜티
- date
- diff
- 리리 커피
- MySQL
- popup
- Powershell
- Eclipse
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함