IP 주소란?
컴퓨터 간의 통신을 하기 위해서는 각각의 위치 값을 알아야 한다.
각각의 기기에 대한 위치 값을 IP 주소라고 지칭한다. (IPV4)
IPV4 주소 표기 방법
IPV4는 4개의 숫자를 가지며 각각은.(dot)으로 구분된다.
각각의 숫자는 옥텟이라고 일컬어진다.
아래 이미지와 같이 각각의 옥텟은 8비트 단위의 숫자이다.
즉 세상에 존재할 수 있는 IP의 개수는 2^32 개 (약 43억)가 된다. (각각의 비트는 0, 1이 올 수 있기 때문)
IP주소는 약 43억 개 (2^16)의 주소를 대표할 수 있다.
약 43억 개의 IP 주소를 어떻게 하면 효율적으로 사용할 수 있을까?
IP를 특정 단위로 쪼개어서 사용자들에게 부여하면 되겠다.
여기서 말하는 특정 단위가 클래스이다.
각각의 클래스는 첫 번째 옥텟의 앞자리 숫자를 바탕으로 구성된다.
IP 클래스 (A ~ C Class)
A 클래스
- 첫 번째 옥텟의 앞자리가 0이다.
- 표현할 수 있는 Network 비트
- 첫 번째 앞자리가 0인 비트를 제외하고 표현할 수 있는 Network 비트는 2^7 개다. (한 개의 옥텟 차지)
- 표현할 수 있는 Host 비트
- 두 번째 옥텟부터 마지막 옥텟까지의 비트를 표현할 수 있으므로 2^24 개만큼 표현할 수 있다.
네트워크의 개수 : 2^7 개
1개의 네트워크가 2^24 개의 IP를 보유
B 클래스
- 첫 번째 옥텟의 앞자리가 01이다.
- 표현할 수 있는 Network 비트
- 첫 번째 앞자리가 01 이므로 첫 번째 옥텟, 두 번째 옥텟으로 표현이 가능하다. (두 개의 옥텟 차지)
- 즉 2^14개의 Network 비트를 표현할 수 있다.
- 표현할 수 있는 Host 비트
- 세 번째 옥텟부터 마지막 옥텟까지 비트를 표현할 수 있으므로 2^16 개만큼 표현할 수 있다.
네트워크의 개수 : 2^14 개
1개의 네트워크가 2^16 개의 IP를 보유
C 클래스
- 첫 번째 옥텟의 앞자리가 110이다.
- 표현할 수 있는 Network 비트
- 첫 번째 앞자리가 011 이므로 첫 번째 옥텟, 두 번째 옥텟, 세 번째 옥텟으로 표현이 가능하다. (세 개의 옥텟 차지)
- 즉 2^21개의 Network 비트를 표현할 수 있다.
- 표현할 수 있는 Host 비트
- 네 번째 옥텟 만을 비트로 표현할 수 있므로 2^8 개만큼을 표현할 수 있다.
네트워크의 개수 : 2^21 개
1개의 네트워크가 2^8 개의 IP를 보유
서브 네팅 (Sub Netting)과 서브넷 (Subnet)
클래스에 대해서 알아보았다.
A 클래스부터 E 클래스까지의 영역을 정리하자면 아래와 같다.
클래스 단위로 IP를 나누더라도 자원의 낭비가 발생한다.
예를 들어 어떤 가정에 A클래스를 부여한다고 가정하면 16,777,214개나 되는 호스트에 IP를 할당할 수 있으며 이는 배보다 배꼽이 더 커지는 결과를 초래하게 된다.
이러한 비효율성을 예방하기 위해서 클래스 단위에서 더 작은 단위로 나눌 수 있는 기준이 필요해 졌다.
이러한 기준을 위해서 서브 넷팅이 탄생하였다.
211.11.124.2는 32 비트 단위로 표현하면 아래와 같다.
표현할 수 있는 Network 비트
첫 번째 앞자리가 011 이므로 첫 번째 옥텟, 두 번째 옥텟, 세 번째 옥텟으로 표현이 가능하다. (세 개의 옥텟 차지)
즉 2^21개의 Network 비트를 표현할 수 있다.
표현할 수 있는 Host 비트
네 번째 옥텟 만을 비트로 표현할 수 있므로 2^8 개만큼을 표현할 수 있다.
211.11.124.2는 211.11.124.0 ~ 211.11.124.255 대역에 포함되어 있다.
너무 넓은 범위에 포함되어 있기에 절반으로 나누어서 범위를 IP 대역의 범위를 재설정해보자!
이제 211.11.124.2는 211.11.124.0 ~ 211.11.124.127 대역에 포함되어 있으므로 자원의 소모를 줄일 수 있게 되었다.
이와 같은 개념이 서브 넷팅이다.
즉 서브 넷팅은 IP주소 낭비를 방지하기 위하여 원본 네트워크를 여러 개의 네트워크로 분리하는 과정을 의미한다.
서브 넷팅 과정 중 분리된 네트워크 단위를 서브넷이라고 한다.
References
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/ipv4Info.jsp
'CS > Network' 카테고리의 다른 글
(Network) Domain Name System에 대해서 (1) | 2020.06.07 |
---|---|
(Network) 3way handshaking & 4way handshaking (0) | 2020.05.10 |
(Network) TCP vs UDP (0) | 2020.05.10 |
(Network) SSL 인증서 (0) | 2020.04.28 |
(Network) HTTPS와 SSL 인증서(2) - 공개키 (0) | 2020.04.28 |