시스템구조

네트워크 층_IP주소_IPv4 클래스형 주소, 클래스가 없는 주소지정, 클래스, 네트워크ID, 호스트ID, 서브넷 마스크

스윙스윙 2021. 9. 27. 21:46

▣ 네트워크 층_IP주소_IPv4  클래스형 주소, 클래스가 없는 주소지정, 클래스, 네트워크ID, 호스트ID

구분  2진수 시작은? (s 네트워크, h 호스트) 네트워크 시작번호 (개수) 호스트 범위 (개수) 
 A클래스 0sss ssss. hhhh hhhh. hhhh hhhh. hhhh hhhh
(0 시작, 네트워크 : 7bit, 호스트 : 24bit)
 1 ~ 126 시작 
(2^7 -1 개 : 127은 제외라 -1)
 2^24 -2 
16,777,214
(-2 네트워크, 브로드캐스트 주소 제외)
 B클래스 10ss ssss .ssss ssss. hhhh hhhh. hhhh hhhh
(10 시작, 네트워크 : 14bit, 호스트 : 16bit)
 128.0 ~ 191.255 시작
(2^14 개)
2^16 -2 
65,354
(-2 네트워크, 브로드캐스트 주소 제외)
 C클래스 110s ssss. ssss ssss. ssss ssss. hhhh hhhh
(110 시작, 네트워크 : 21bit, 호스트 : 8bit)
 192.0.0 ~ 223.255.255 시작
(2^22 개)
 2^8 -2 
254
(-2 네트워크, 브로드캐스트 주 제외)

 

서브넷 마스크에는 10진수 표기와 CIDR 표기의 2종류 표기 방법이 있음.

10진수 표기는 IPv4 주소와 같이 32비트를 8비트씩 4개 그룹으로 나눠, 

10진수로 변환하고 점으로 구분해서 표기

CIDR 표기는 IPv4 주소 뒤에 ‘/’(슬래시)와 서브넷 마스크의 ‘1’의 비트 수를 표기

예를 들어, ‘192.168.100.1’이라는 IPv4 주소에 ‘255.255.255.0’이라는 서브넷 마스크가 설정된 경우, 

CIDR 표기에서는 ‘192.168.100.1/24’가 됨

어떤 값이 오더라도 네트워크 부분이 ‘192.168.100’이므로 호스트 부분이 ‘1’인 것을 알 수 있음

 

8비트 단위의 주소 클래스에 관계없이 IPv4 주소를 할당하는 방식을 클래스리스 어드레싱(classlessaddressing)

서브네팅(subnetting)이나 CIDR(Classless Inter-Domain Routing)

 ‘192.168.1.0/28’에서 ‘192.168.1.240/28’까지 16개의 서브넷 네트워크

 

2의 8제곱인 256과의 차이를 이용하면 Subnet Mask나 NW주소를 쉽게 구할 수 있음

(각 IPv4 자릿수 = 2의 8제곱)

(2의 제곱수 = 2, 4, 8, 16, 32, 64, 128, 256)

 

(문제 1) 5개의 호스트 -> 필요 IP수 5 + 2 = 7개

이것(7개) 보다 큰 2의 제곱수 = 8

-> 서브넷마스크 = 256 - 8 = 248

 

(문제2) 200.45.34.56 255.255.240.0

-> 서브넷마스크 세번째 숫자 : 240

256-240 = 16개 (2의 4제곱) 단위씩 갯수 증가

-> 오른쪽부터 = 4+ 8 = 12bit

-> 전체 bit는 왼쪽부터 32 -12 = (24 - 4) = 20bit = /20 (CIDR 표기)

네트워크 번호는 32(16의 배수 중 34 바로 밑에 있는 것)

-> 최종 네트워크 주소 200.45.32.0/20

 

문제2에서 숫자를 살짝 바꾸면

(문제2-1) 200.45.34.56 255.255.224.0

-> 서브넷마스크 세번째 숫자 : 224

256-224 = 32개 (2의 5제곱) 단위씩 갯수 증가

-> 오른쪽부터 = 5+ 8 = 13 bit

-> 전체 bit는 왼쪽부터 32 - 13 = (24 -5) = 19bit = /19 (CIDR 표기)

네트워크 번호는 32(32의 배수중 34바로 밑에 있는 것)

-> 최종 네트워크 주소 200.45.32.0/19

 


2017년 91번

정답 : 3번

 

IPv4 주소는 전체 크기가 32bit, 즉 4Byte임

클래스C는 네트워크ID 3Byte, 호스트ID 1Byte임

 


 

2018년 83번

정답 : 2번

■ IP 주소 범위 계산

IP주소 (168.199.160.82)와 서브넷 마스크 Prefix(/27) - (CIDR 표기) 를 이진수로 변환하면,

네트워크 27 bit, 호스트 5bit

IP주소와 서브넷마스크 && 연산을 통해 네트워크주소와 브로드캐스트 범위를 계산 후, 마지막 주소는 브로드캐스트 주소가 된다

2진수 10000000 = 10진수 128 -> 서브넷 1, 호스트 7

2진수 11000000 = 10진수 192 -> 서브넷 2, 호스트 6

2진수 11100000 = 10진수 224 -> 서브넷 3, 호스트 5

2진수 11110000 = 10진수 240 -> 서브넷 4, 호스트 4

2진수 11111000 = 10진수 248 -> 서브넷 5, 호스트 3

2진수 11111100 = 10진수 252 -> 서브넷 6, 호스트 2

2진수 11111110 = 10진수 254 -> 서브넷 7, 호스트 1

2진수 11111111 = 10진수 255 -> 서브넷 8, 호스트 0

 

CIDR (/27)는

전체비트수 32 -27 = 5비트

 

2의 5승 = 32

2의 8승 = 256

256 - 32 = 224 

서브넷 마스크는 255.255.255.224

네트워크 27 bit, 호스트 5bit

 

168.199.160.82 IPv4 주소의 마지막 82를

2진수로 010 10010

호스트 비트 5bit 이므로 마지막 IP주소는

010 11111 임

 

2진수 01011111 = 64+16+8+4+2+1 = 95

 

* 빠른 계산을 위해 암기

2진수 11111 = 16+8+4+2+1 =31 

 


2020년 86번

정답 : 4번

서브넷마다 5개의 호스트가 필요

2^3 = 8개 호스트를 수용할 수 있지만, 이 중 2개는 Reserved되어 사용할 수 없으므로 6개만 사용 가능함

호스트 비트가 3비트 소요, 서브넷 비트로 사용가능한 비트수는 5비트임

 

2진수 : 11111111.11111111.11111111.11111000

10진수 : 255.255.255.248

2진수 111은 10진수 7

255 - 7 = 248

 

■ 2의 8제곱인 256과의 차이를 이용하면 Subnet Mask나 NW주소를 쉽게 구할 수 있음

(각 IPv4 자릿수 = 2의 8제곱)

(2의 제곱수 = 2, 4, 8, 16, 32, 64, 128, 256)

 

5개의 호스트 -> 필요 IP수 5 + 2 = 7개

이것(7개) 보다 큰 2의 제곱수 = 8

-> 서브넷마스크 = 256 - 8 = 248

 


2016년 97번

정답 : 2번

 

IPv4 200.45.34.56, 서브넷 마스크 255.255.240.0

-> 서브넷마스크 세번째 숫자 : 240

256-240 = 16개 (2의 4제곱) 단위씩 갯수 증가

-> 오른쪽부터  4+ 8 = 12bit

-> 전체 bit는 왼쪽부터 32 -12 = (24 - 4) = 20bit = /20 (CIDR 표기)

네트워크 번호는 32(16의 배수 중 34 바로 밑에 있는 것)

-> 최종 네트워크 주소 200.45.32.0/20

 

255.255.240.0 -> 11111111.11111111.11110000.00000000

2진수로 표현된 서브넷 마스크에서 '1'로 된 부분이 네트워크 부분이므로 앞에서부터 20자리까지가 네트워크 부분에 해당함 (CIDR 표기, IP주소의 슬래쉬 표기법)