2017. 8. 2. 19:33ㆍNetworkHacking/Network
참고사이트
[1] 서브넷 마스크 / 서브넷팅 계산법 http://korean-daeddo.blogspot.kr/2016/01/blog-post_26.html
[2] IP 주소체계와 클래스 구별법 http://korean-daeddo.blogspot.kr/2015/12/ip.html
[ 그림1 ]
192.168.1.1/24 에서 " /24 " 는 서브넷마스크를 24bit만큼 사용한다는 뜻입니다
즉, 서브넷마스크 = 255.255.255.0 = 11111111.11111111.11111111.0
네트워크 주소는 " 192.168.1 " 이고 호스트 주소는 뒤의 한 바이트 " .1 " 입니다 ( 자세한 설명은 아래에 있습니다 )
1> 네트워크 주소와 호스트 주소란?
Network ID - 모든 Host들을 관리하기 힘들기에 한 Network의 범위를 지정해 (호스트의 집합) 관리하기 쉽게 만들어 낸 것입니다
Host ID - 호스트들을 개별적으로 관리하기 위해 사용하게 된 것입니다
Routing으로 목적지를 알아내고 찾아가는 등의 역할을 할 때에는 Network 주소와 Host 주소가 합쳐진 IP주소를 보게 됩니다.
만약 IP가 192.168.1.1 이라고 한다면 아래 표와 같이 표현할 수 있다
IP |
192 |
168 |
1 |
1 |
IP(이진수) |
11000000 |
10101000 |
00000001 |
00000001 |
구분 |
<-- Network 주소 --> |
Host 주소 |
||
서브넷마스크 | 11111111 | 11111111 | 11111111 | 00000000 |
* 192.168.1.0 ( 네트워크 주소 ) 와 192.168.6.255 ( 브로드 캐스팅 주소 ) 이 두 주소는 사용할 수 없다
* 2^8 - 2 개의 호스트 수를 갖는다
* 서브넷마스크와 아이피주소를 " and " 연산하여 얻는 값 = 192.168.1 이 네트워크 주소입니다
* 위의 그림처럼 호스트 주소는 10, 20, 30 이 할당되어 각각의 호스트를 구분 할 수 있게 한다
2> 공인 IP 클래스별 분류 ( 시작비트값과 서브넷 마스크를 고정값 사용하여 구별한다 )
2-1> A Class 첫 1bit의 값은 무조건 " 0 "
범위 : 00000000 (0) ~ 011111111 (127)
서브넷 마스크 : 255.0.0.0
=> 네트워크 주소로 1byte 사용
2-2> B Class 첫 1bit의 값은 무조건 " 10 "
범위 : 10000000 (128) ~ 10111111 (191)
서브넷 마스크 : 255.255.0.0
=> 네트워크 주소로 2byte 사용
2-3> C Class 첫 1bit의 값은 무조건 " 110 "
범위 : 11000000 (192) ~ 11011111 (223)
서브넷 마스크 : 255.255.255.0
=> 네트워크 주소로 3byte 사용
3> 서브넷팅
하나의 네트워크에 200개 이상의 호스트 수는 기업같은 곳 아니면 사용할 필요가 없다
아이피주소를 할당할 때 호스트 수를 줄이는 대신 네트워크 수를 더 많이 사용하기 위해서 고안해낸 방법이다
< B Class 서브넷팅 ( ip = 172.16.1.10 >
IP주소 |
172 |
16 |
1 |
10 |
기본 서브넷마스크 |
255 |
255 |
0 |
0 |
구분 | Network 주소 | Host 주소 | ||
서브넷팅 전 후 | ||||
IP주소 |
172 |
16 |
1 |
10 |
서브넷팅 |
255 |
255 |
255 |
0 |
구분 | <-- Network 주소 --> | Host |
[ 기존 B Class IP주소 ]
아이피 주소: 172.16.1.10
서브넷 마스크: 255.255.0.0
=> 네트워크 주소: 172.16.
호스트 주소: .1.10
호스트 주소의 개수는 2^16 - 2 개
[ 서브넷팅 후 B Class IP주소 ]
아이피 주소: 172.16.1.10
서브넷 마스크: 255.255.255.0
=> 네트워크 주소: 172.16.1
호스트 주소: .10
호스트 주소의 개수는 2^8 - 2 개
네트워크의 개수는 2^8 개만큼 증가하고 호스트 주소의 개수는 2^8개 감소하였다
즉, 네트워크에 할당되는 필요없는 호스트의 개수를 줄이기 위해서 서브넷팅을 실시한다
< C Class 서브넷팅 ( ip: 192.168.1.10 ) >
IP주소 |
192 |
168 |
1 |
10 |
기본 서브넷마스크 |
255 |
255 |
255 |
0 |
구분 |
<-- Network 주소 --> |
Host 주소 |
||
서비넷팅 전 후 | ||||
IP주소 |
192 |
168 |
1 |
10 |
서브넷팅 |
255 |
255 |
255 |
240 |
구분 |
<-- Network 주소 --> |
뒤 4bit = Host 주소 |
[ 기존 C Class IP주소 ]
아이피 주소: 192.168.1.10
서브넷 마스크: 255.255.255.0 ( 11111111.11111111.11111111.00000000 )
=> 네트워크 주소: 192.168.1
호스트 주소: .10
호스트 주소의 개수는 2^8 - 1 개
[ 서브넷팅 후 C Class IP주소 ]
아이피 주소: 192.168.1.10
서브넷 마스크: 255.255.255.240 ( 11111111.11111111.11111111.11110000 )
=> 네트워크 주소: 192.168.1 + 4bit
호스트 주소 : 마지막 4bit
호스트 주소의 개수는 2^4 - 2 개
* C 클래스 서브네팅 예제 ( 네트워크 주소는 파란색이고 호스트 주소는 초록색으로 표시하겠습니다 )
[1] 192.168.1.0/24
24 => 서브넷 마스크로 24bit만큼 사용하겠다는 의미입니다
서브넷 마스크: 11111111.11111111.11111111.00000000
네트워크 주소의 개수: 2^24 - 2
호스트 주소의 개수: 2^8 - 2
[2] 192.168.1.0/25
25 => 서브넷 마스크로 25bit만큼 사용하겠다는 의미입니다
서브넷 마스크: 11111111.11111111.11111111.10000000
네트워크 주소의 개수: 2^25 - 2
호스트 주소의 개수: 2^7 - 2
[3] 192.168.1.0/28
28 => 서브넷 마스크로 28bit만큼 사용하겠다는 의미입니다
서브넷 마스크: 11111111.11111111.11111111.11110000
네트워크 주소의 개수: 2^28 - 2
호스트 주소의 개수: 2^4 - 2
=> 호스트 수를 줄임으로써 네트워크 주소의 개수를 늘려 아이피주소 부족현상을 해결할 수 있다
2^n - 2 의 공식을 따른다
'NetworkHacking > Network' 카테고리의 다른 글
와이어샤크(Wireshark) 파일 카빙 기법 / 이미지 복구하기 / HxD사용법 (0) | 2017.08.02 |
---|---|
Wireshark 사용법 + 유용한 기능 (1) | 2017.08.02 |
SSH Port Forwarding 이해하기 ( 해커의 관점에서의 이론 ) (1) | 2017.08.02 |
SSL/TLS Handshake Protocol (0) | 2017.07.21 |
FTP서버구축 및 통신하기 ( netcat / ncat ) (0) | 2017.07.21 |