[Network] IP 주소 (IP Address) & 서브넷 마스크 & 서브넷팅
IP 주소 (IP Address)
군대에 있는 친구에게 택배를 보내야 하면 친구가 있는 부대의 주소를 알아야 보낼 수 있다.
인터넷에선 이 주소와 같은 개념이 IP 주소이다.
우리가 많이 사용하는 IP Version 4의 주소는 네 개의 10진수로 나타내고 있지만 사실은 8비트씩 네 개인 32bit로 표현된다.
숫자 사이의 점(dot)을 각 바이트들을 옥텟(octet)이라고 하고 왼쪽부터 차례로 1 옥텟, 2 옥텟, 3 옥텟, 4 옥텟이라고 부름
여기서 IP 주소는 네트워크 id(Network Id), 호스트 id(Host id) 두 가지 파트로 나뉜다.
네트워크 파트는 IP 주소가 어느 네트워크에 속해있는지 알 수 있는 주소이고
호스트 파트는 네트워크에 안에 속해 있는 기기가 할당받는 주소이다.
네트워크 파트와 호스트 파트는 IP주소의 클래스 별로 할당하는 범위가 달라진다.
클래스는 A, B, C, D, E 다섯 개의 클래스가 있는데 D, E는 일반적으로 잘 사용하진 않는다.
class A
class A는 첫 8 비트를 네트워크 파트로 가지고 0으로 시작한다. (0~.host.host.host
~ 01111111.host.host.host) 대규모 네트워크에서 많은 호스트를 할당할 때 class A를 사용한다.- 1 옥텟의 범위 : 0 ~ 127- 네트워크 범위: 0 ~ 127 (0과 127은 안 쓰기 때문에 1~126이 네트워크 범위)
class B
class B는 첫 16비트를 네트워크 파트로 가지고 10으로 시작한다.(10~.network.host.host ~ 10111111.11111111.host.host)
중규모 네트워크에서 호스트를 할당할 때 class B를 사용한다.
- 1 옥텟의 범위 : 128 ~ 191
- 네트워크 범위 : 128.0 ~ 191.255
class C
class C는 첫 24비트를 네트워크 파트로 가지고 110으로 시작한다.(110~.network.network.host ~ 11011111.11111111.11111111.host)
소규모 네트워크에서 class C를 사용한다.
- 1 옥텟의 범위 : 192 ~ 223
- 네트워크 범위 : 192.0.0 ~ 223.255.255
192.168.1.1은 class C를 사용하고 네트워크는 192.168.1.0, 할당된 호스트는 0.0.0.1이다.
서브넷 마스크 (Subnet Mask)
서브넷 마스크는 IP 주소를 호스트 부분과 네트워크 부분으로 분리할 수 있다.
IP주소에서 네트워크 부분을 1로, 호스트 부분을 0으로 표현한 주소를 서브넷 마스크라고 한다.
A class 서브넷 마스크 : 11111111.0.0.0 (255.0.0.0)
B class 서브넷 마스크 : 11111111.11111111.0.0 (255.255.0.0)
C class 서브넷 마스크 : 11111111.11111111.11111111.0 (255.255.255.0)
192.168.1.1을 예로 들면 해당 IP는 C class를 사용하기 때문에 255.255.255.0이 기본 서브넷 마스크라고 볼 수 있다.
서브넷 마스크는 /bit 수로 표현하기도 한다. C class의 경우엔 /24로 표현이 가능하다.
192.168.1.1과 255.255.255.0을 AND 연산을 수행하면 네트워크 부분만 나타나고 호스트 부분은 사라진다.
서브넷팅 (Subnetting)
서브넷팅은 하나의 네트워크를 몇 개의 작은 논리적인 네트워크로 분할하여 사용하는 방식이다.
즉, 네트워크 안에 네트워크를 만드는 것이다. 이렇게 만들면 하나의 네트워크에서 낭비되는 IP를 줄여서 사용할 수 있다.
/24의 서브넷 마스크는 네트워크 수는 하나이고 할당 가능한 호스트는 2^8 - 2개이다. 만약 서브넷 마스크가 255.255.255.224(11100000)이라면 /27로 표현할 수 있고 서브넷은 총 8(2^3) 개가 된다. 000, 001,...., 111
서브넷당 할당 가능한 호스트는 2^5 - 2개
ex)
194.139.10.123/26이 속한 네트워크 찾기
서브넷 마스크 : 255.255.255.192 (255.255.255.11000000)
subnet | host | host range | |
00 | 000000 ~ 111111 | (0, 63) | |
01 | 000000 ~ 111111 | (64, 127) | |
10 | 000000 ~ 111111 | (128, 191) | |
11 | 000000 ~ 111111 | (192, 255) |
host range의 시작과 끝은 할당하지 않음 (네트워크 주소, 브로드캐스트 주소)
서브넷 마스크로 네트워크를 구하면 194.139.10.64의 주소가 194.139.10.123이 속한 서브넷임을 알 수 있다.
'Computer Science > Network' 카테고리의 다른 글
[Network] nginx reverse proxy, redirect 적용 (0) | 2022.12.21 |
---|---|
[Network] URI, URL, URN (0) | 2022.10.10 |
[Network] HTTP와 메시지 (Message) (0) | 2022.10.09 |
[Network] 전송계층(Transport layer)과 TCP/UDP (0) | 2022.10.06 |
[Network] TCP/IP 4계층 (1) | 2022.10.04 |