IP주소의 총 개수 : 4,294,967,296
계산 방법 : 256 * 256 * 256 * 256
문제점 : 처음 이 체계를 만들때는 40억개면 충분 할 것이라 생각했지만, 지금 기준엔 너무나도 모자람
이 한정된 자원을 체계적으로 잘 나눠 쓸 필요가 있음
클래스 |
첫째 옥텟 IP |
최상위 비트 |
범위 |
호스트 수 |
네트워크 수 | 블록 |
Class A |
0 ~ 126 |
0 |
0.0.0.0 ~ 127.0.0.0 |
16,777,216 | 128 | /8 |
Class B |
128 ~ 191 |
1 |
128.0.0.0 ~ 191.255.0.0 |
65,536 | 16,384 | /16 |
Class C |
192 ~ 223 |
11 |
192.0.0.0 ~ 223.255.255.0 |
256 | 2,097,152 | /24 |
Class D |
224 ~ 239 |
111 |
224.0.0.0 ~ 239.255.255.255 |
N/A(268,435,456) | N/A |
|
Class E |
240 ~ 255 |
1111 |
240.0.0.0 ~ 247.255.255.255 |
N/A(268,435,456) | N/A |
* 검산 : (16777216*128 + 65536*16384 + 256*2097152 + 268435456 + 268435456 = 4294967296
* 일부 아이피들은 특수한 용도로 사용되기 때문에 저기 표기된 클래스 수, 최대 호스트 수 만큼 다 사용이 되진 않는다. 우선 이해를 쉽게 하기 위해 그런 예외사항들은 표에 반영하지 않았다.
* 복잡해 보이기만 하는 표이지만, 네트워크를 하거나 정보처리기사, 네트워크관리사, 리눅스마스터 등의 중급 시험을 준비한다면 다 외워야 한다.
* 0,128, 192, 224, 240, 255 이런 숫자들은 무식하게 외울 필요가 없다. 각 클래스별 최상위 비트 ~ 다음 클래스 최상위 비트 까지의 숫자이다.
A클래스는 00000000.00000000.00000000.00000000
B클래스는 10000000.00000000.00000000.00000000 (128)
C클래스는 11000000.00000000.00000000.00000000 (192)
D클래스는 11100000.00000000.00000000.00000000 (224)
E클래스는 11110000.00000000.00000000.00000000 (240)
즉 A클래스가 움직일 수 있는 범위는 이진수로 보면 00000000 ~ 10000000 이다. 00000001부터 01111111까지라고 표현할 수도 있다. 그게 위 표의 '범위'이다. 0~127이다. 그리고 클래스의 수 128이다.
이해1.
클래스 A 네트워크는 총 128개가 있고, A클래스 하나 마다 사용 할 수 있는 아이피의 개수는 16,777,216개이다. 초기에 미국의 대형 기업들이 선점해갔다. 마찬가지로, 클래스 B 네트워크는 16,384개가 있다. B클래스 하나당 사용 할 수 있는 아이피는 65,536개이다. 반면에 C클래스는 사용할 수 있는 IP가 256개 밖에 안된다. 이러다 보니 C클래스를 받기엔 너무 모자라고, B클래스를 받기엔 너무 많이 남는 식의 문제가 발생하였다. 그래서 이 클래스에 따른 IP분배는 1993년까지만 쓰이고 지금은 쓰이지 않는다. 지금은 서브넷을 이용한 분배를 사용한다. 아래 subnet섹션 참조.
이해2.
어떤 기업이 클래스 C를 할당 받았다. 그럼 이 기업은 192 ~ 223으로 시작하는 아이피 대역을 할당 받았을 것이다. 그럼 256개의 공인아이피를 운영할 수 있다.
예를 들면 199.123.123.* 를 할당 받은 것이다. 199.123.123.0 ~ 199.123.123.255 까지를 사용할 수 있다.
이해3.
어떤 기업이 앞 자리가 144인 아이피를 할당 받았다. 사용 가능한 아이피 및 그 개수는?
앞자리가 144면 ClassB에 해당한다. 144.n.*.* 이렇게 뒤에 2옥텟을 사용가능하다. n이 뭔지는 상관없다. 144.n.0.0 ~ 144.n.255.255 까지 사용 가능하다. 256 *256 = 65.536개까지 사용 가능하다.
서브넷
아이피를 클래스단위로만 사용하면 '이해1'에서 언급한 바와 같이 관리하기가 매우 힘들다. 따라서 좀 더 작은 단위로 관리하기 위해 서브네팅(Subnetting)을 이용한다.
클래스C에서 사용할 수 있는 아이피는 256개인데, 한 네트워크에서 사용하기엔 너무 많다. 좀 분할하고 싶다면?
11xxxxxx.xxxxxxxx.xxxxxxxx.nnnnnnnn ~
111xxxxx.xxxxxxxx.xxxxxxxx.nnnnnnnn
위 범위에서 x값에 따라 C클래스가 하나씩 할당 될 수 있다. 그리고 정해진 C클래스에서 n의 값에 따라 아이피가 나온다. 총 8자리의 n이므로 총 256개의 종류이다. 앞에 고정된 2진수가 24자리이므로 넷마스크를 /24라고 표현한다. 이 256개를 0~127, 127~256 이렇게 2네트워크로 나누고 싶다면?
11xxxxxx.xxxxxxxx.xxxxxxxx.0nnnnnnn ~
111xxxxx.xxxxxxxx.xxxxxxxx.0nnnnnnn
11xxxxxx.xxxxxxxx.xxxxxxxx.1nnnnnnn ~
111xxxxx.xxxxxxxx.xxxxxxxx.1nnnnnnn
이렇게 2개로 나눌 수 있을 것이다. 이젠 고정된 2진수가 25자리이므로, 넷마스크를 /25라고 표현한다.
이와 같이 넷마스크를 증가시킬수록, 하나의 네트워크에서 사용가능한 아이피는 줄어들지만 좀 더 작은 단위로 분할하여 관리할 수 있게 된다. 이처럼 넷마스크를 통해 구분된 네트워크임을 표현해 주려면 아래와 같이 표기해야 한다.
144.144.144.144 /25
앞자리가 123이므로, B클래스의 아이피임을 알 수 있다. 그러나 넷마스크가 /25이다. 원래 B클래스의 기본 넷마스크는 /16이지만, /25라고 별도로 명시가 되어 있으므로 /16이라는 범위는 무시하면 된다. /25는 아까 우리가 봤던 대로 25자리가 고정되었고, 나머지 7자리만 사용 가능한 네트워크이다. 결국 이 네트워크에 묶여 있는 최대 호스트 수는 127개라고 이해할 수 있다.
즉 144.144.144.0 ~ 144.144.144.127 의 범위에 속한 아이피구나! 라고 이해할 수 있는 것이다. 만약 넷마스크가 /26이었다면 144.144.144.64~144.144.144.127에 범위에 속한 아이피구나! 라고 이해할 수 있다.
이런 넷마스크는 /26 과 같이 표현되기도 하지만 255.255.255.192 이렇게 표현되기도 한다. 고정된 2진수 부분을 모두 1로 보고 10진수로 표현한 것이다. 즉 /27은
11111111.11111111.11111111.11000000
이기 때문에 192인 것이다. 공유기 설정이든, 윈도우 제어판의 네트워크 설정이든 모두 아이피와 넷마스크를 같이 적도록 되어 있다. 주로 "IP주소 : 123.123.123.123, 넷마스크 : 255.255.255.192"와 같이 적어 준다. /26은 좀 더 짧게 표현할 때 사용한다. 라우팅 테이블 등에선 123.123.123.123 /26 이렇게 적어서 IP주소와 넷마스크를 모두 표현하는 것이다.
'IT 이론 > 네트워크&무선통신' 카테고리의 다른 글
ICMP 오류 메세지의 종류 (2) | 2018.03.24 |
---|---|
SMTP, POP3, IMAP 메일 관련 프로토콜 (0) | 2018.02.14 |
VPN(Virtual Private Network : 가상사설망) 정리 (322) | 2017.07.15 |
Ingress, Egress, Blackhole 필터링과 Unicast RPF (0) | 2017.07.12 |
비트(바이트) 스터핑(Bit stuffing) (0) | 2017.07.12 |
댓글