복습
이전 글에서 IP에 대해서 배웠습니다. IP 주소는 주소 지정을 담당합니다. 그리고 주소 지정을 서브넷 마스크로 구역을 나눠서 할 수도 있습니다. 이번 글에선 서브넷 마스크를 이용해서 네트워크 주소와 호스트 주소를 구분하는 방법을 알아보겠습니다.
IPv4 주소 항목
IPv4에는 주소를 지정하기 위한 항목들이 있습니다.
- 네트워크 주소
- 호스트 주소
- 서브넷 마스크
위 3가지 항목을 고려해 IPv4 주소를 할당 할 수 있습니다.
네트워크 주소
네트워크 주소는 IPv4 주소에서 내가 속한 구역을 나타냅니다. 아파트를 예로 들어보겠습니다. 우리집은 1303호 입니다. 그리고 아파트 단지에는 10개의 동이 있습니다. 그냥 우리집은 OO아파트 1303호야 하면 정확한 동을 모르기 때문에 찾아오기 힘듭니다. 그래서 보통 우리집은 103동 1303호야 하고 알려줍니다. 여기서 103동이 우리집이 속한 구역을 나타냅니다. 네트워크 주소에서도 이처럼 나타낼 수 있습니다.
전 시간에 제 PC IPv4주소가 192.168.0.3 이였던걸로 기억합니다. 여기서 제가 속한 네트워크 주소는 192.168.0까지 입니다. 어떻게 구분 했는지는 뒤에서 서브넷 마스크를 설명 할 때 다시 언급하겠습니다.
호스트 주소
위에서 언급할 때 동을 네트워크 주소에 비유했습니다. 호스트 주소는 호수에 해당합니다. 위에 예를 반대로 "우리집은 OO아파트 103동이야"라고 해도 정확한 호수를 알지 못하기 때문에 찾아 갈 수 없습니다. IP주소에서도 이처럼 네트워크 주소를 제외한 부분에 호스트 주소 부분을 나타낼 수 있습니다.
위에서 언급한 192.168.0.3 IP주소에서는 192.168.0 까지가 네트워크 주소이고 이 부분을 제외한 나머지 .3 부분이 호스트 주소 입니다.
서브넷 마스크(Subnet Mask)
서브넷 마스크는 IPv4(32bit)나 IPv6(128bit) 주소와 같은 길이로 이루어져 있으며, 이를 AND 연산을 통해 네트워크 주소 부분과 호스트 주소 부분을 구분 할 수 있습니다. 아래 사진은 전시간에 ipconfig 명령으로 확인한 IPv4 주소 입니다.
이미지에 IPv4주소는 192.168.0.3이라 나와있고 서브넷 마스크는 255.255.255.0이라고 나와있습니다. 해당 주소를 AND 연산을 하기 위해서는 2진수로 변환을 해야 합니다. 앞시간에 192.168.0.3을 2진수로 변환 하는 방법에 대해 설명했기 때문에 이 부분은 생략하겠습니다.
위 표와 같이 2진수로 변환 한 다음 IPv4 주소와 서브넷 마스크를 AND 연산을 하면 네트워크 접두사를 구할 수 있습니다. 네트워크 접두사가 네트워크를 구분하는 단위입니다.
IPv4주소에서 네트워크 접두사를 제외한 부분을 호스트 부분이라고 합니다.
정리
- IPv4 주소는 네트워크 접두사와 호스트로 나눌 수 있음
- 나눌 때 서브넷 마스크를 이용함
- IPv4 주소와 서브넷 마스크를 AND연산을 통해 구분할 수 있음
주소 지정
이제 개념을 다 이해했기 때문에 주소 지정은 간단합니다.
호스트를 네트워크 단위로 묶고 네트워크 주소와, 서브넷 마스크는 똑같이 쓰고 호스트 주소만 지정 가능한 범위 내에서만 적으면 됩니다.
보통 네트워크 접두사가 /24(서브넷 마스크 255.255.255.0을 줄여서 이렇게 표현함)인 경우 네 번째 옥텟을 호스트 주소 범위로 사용 할 수 있습니다.
192.168.0.0/24 네트워크에는 네 번째 옥텟에 0~255까지의 범위가 있습니다. 하지만 여기서 모두를 사용 할 수는 없고, 보통 0은 네트워크 주소, 1는 Default Gateway, 255는 브로드캐스트 주소로 사용하기 때문에 이 범위를 제외한 2~254까지의 범위 내에서 원하는 호스트 주소를 부여 할 수 있습니다.
그래서 지금 제 PC가 속한 네트워크 에서는 192.168.0.2 ~ 192.168.0.254까지의 네트워크 주소를 사용 할 수 있습니다.
실제 저희가 사용하는 PC도 수동으로 IP 주소를 설정 할 수 있습니다.(DHCP 같은 동적으로 주소를 할당 받는 프로토콜 때문에 직접 설정 해보신 경험은 많이 없으시리라 생각합니다.)
그래서 다음 시간에는 이어서 간단하게 네트워크를 구축한 예를 그림으로 보여주고 호스트에 주소를 지정하는 예를 보여드리겠습니다.
'Network' 카테고리의 다른 글
[Network] 내 PC를 서버로 만들기 4 - 사설(Private) IP와 공용(Public) IP (0) | 2021.06.21 |
---|---|
[Network] 내 PC를 서버로 만들기 3 실습 - 주소지정 (0) | 2021.04.14 |
[Network] 내 PC를 서버로 만들기 2 - IP(Internet Protocol) (0) | 2021.04.04 |
[Network] 내 PC를 서버로 만들기 1 - 네트워크 (0) | 2021.04.03 |