본문 바로가기
Computer Science/컴퓨터 네트워크

컴퓨터 네트워크: IPv4 Address - Classless Addressing(1)

by 청량리 물냉면 2021. 12. 2.
반응형

IPv4 Address

3. Classless Addressing

  • Variable –Length Blocks
  • Two-Level Addressing
  • Block Allocation
  • Subnetting

 

Variable-length blocks in classless addressing

classless addressing에서는 클래스라는 단위 자체가 없어졌기 때문에 블록의 크기도 유동적이다. 

 

 

Prefix and suffix

  • classless addressing에서 prefix는 network를, suffix는 host를 정의한다. 
  • classless addressing에서 prefix 길이는 1~32 사이이다.

 

Example 5.22

전체 인터넷이 4,294,967,296개의 주소를 가진 하나의 블록으로 간주될 경우 prefix 길이와 suffix 길이는?

 

prefix 길이: 0 (블록의 수: 2^0 = 1)

suffix 길이: 32 (주소의 수(각 블록의 사이즈): 2^32 = 4,294,967,296)

이 single block에서는 32비트로 2^32 = 4,294,967,296개의 호스트를 정의할 수 있다. 

 

 

Example 5.23

인터넷을 4,294,967,296개의 블록으로 나누고 각 블록이 하나의 주소를 가진다면 prefix 길이와 suffix 길이는?


prefix 길이: 32 (블록의 수: 2^32 = 4,294,967,296

suffix 길이: 0 (주소의 수(각 블록의 사이즈): 2^0 = 1)

2^32 = 4,294,967,296 블록을 정의하는 데는 32비트가 모두 필요하다. 각 블록의 유일한 주소는 블록 자체에서 정의된다.

 

 

Example 5.24

블록의 주소 갯수는 prefix 길이의 값과 반비례한다. n이 작으면 블록이 크고 n이 크면 블록이 작다.

(prefix(=블록 갯수, n) 길이가 길어질수록 subfix(=각 블록의 사이즈)는 작아지기 때문)

 

 

Slash notation

slash + prefix 길이를 같이 써주어야 한다. 

 

*classless addressing에서는 블록 안의 주소 중 하나블록을 정의하기 위한 prefix 길이를 알아야 한다.

 

 

Example 5.24

classless addressing에서 주소만 주어지면 주소가 속한 블록을 정의할 수 없습니다. 즉 시작주소, 마지막 주소, 주소의 갯수를 알 수 없다.

ex) 주소 230.8.24.56은 블록과 관련된 prefix 값과 함께 아래에 나와 있는 블록들에 속할 수 있다.

ex) Prefix length: 20 ☞ 20비트까지 살리고 뒤를 다 0으로 만들기

230.8.00010000.00000000 -> 230.8.16.0 (시작주소)

230.8.00011111.11111111 -> 230.8.31.255 (마지막 주소)

 

 

Example 5.26

슬래시 표기법을 사용한 주소의 정의

a. 주소 12.23.24.78/8

네트워크 마스크: 255.0.0

1.0.0.0 (8개의 1, 24개의 0)

prefix 길이: 8, suffix 길이: 24

b. 주소 130.11.232.156/16

네트워크 마스크: 255.255.0.0

1.1.0.0 (16개의 1, 16개의 0)

prefix 길이: 16, suffix 길이: 16

 

c. 주소 167.199.170.82/27

네트워크 마스크: 255.255.224

1.1.1.11100000 (27개의 1, 5개의 0)

prefix 길이: 27, suffix 길이: 5

 

 

Example 5.27

블록에 있는 주소 중 하나가 167.199.170.82/27일 때, 네트워크의 주소 갯수, 첫 번째 주소, 마지막 주소는?

*첫 번째 주소: suffix를 다 0으로 만들어 준다. 

*마지막 주소: suffix를 다 1로 만들어 준다. 



n=27이므로 네트워크 마스크에는 27개의 1과 5개의 0이 존재한다. ☞ 255.255.225.224
a. 네트워크의 주소 갯수(총 블록 갯수): 2^(32 - n) =  2^(32 - 27) = 2^5 = 32
b. 첫 번째 주소(네트워크 주소): 마스크와 주소를 AND 연산 167.199.170.64/27

c. 마지막 주소: 네트워크 마스크의 complement(보수)와 지정된 주소를 OR 연산  167.199.170.95/27

 

Example 5.28

블록에 있는 주소 중 하나가 17.63.110.114/24일 때, 네트워크의 주소 갯수, 첫 번째 주소, 마지막 주소는?

 


n=24이므로 네트워크 마스크에는 24개의 1과 8개의 0이 존재한다. ☞ 255.255.225.0
a. 네트워크의 주소 갯수(총 블록 갯수): 2^(32 - n) =  2^(32 - 24) = 2^8 = 256
b. 첫 번째 주소(네트워크 주소): 마스크와 주소를 AND 연산  17.63.110.0/24

c. 마지막 주소: 네트워크 마스크의 complement(보수)와 지정된 주소를 OR 연산  17.63.110.255/24

(32-24 = )8비트를 모두 1로 만들어 준다.

 

Example 5.29

블록에 있는 주소 중 하나가 110.23.120.14/20일 때, 네트워크의 주소 갯수, 첫 번째 주소, 마지막 주소는?

 


n=20이므로 네트워크 마스크에는 20개의 1과 12개의 0이 존재한다. ☞ 255.255.240.0
a. 네트워크의 주소 갯수(총 블록 갯수): 2^(32 - n) =  2^(32 - 20) = 2^12 = 4096
b. 첫 번째 주소(네트워크 주소): 마스크와 주소를 AND 연산  110.23.112.0/20

 

c. 마지막 주소: 네트워크 마스크의 complement(보수)와 지정된 주소를 OR 연산  110.23.127.255/20

 

Example 5.30

ISP(Internet service provider, 인터넷 서비스 제공자)가 1000개의 주소 블록을 요청했을 때 부여되는 블록의 첫 번째 주소와 마지막 주소?

 

a. 1000은 2의 거듭제곱이 아니므로 1024개의 주소가 부여된다(1024 = 2^10 ☞ 1000보다 큰 제일 작은 지수승→suffix).

b. 블록의 prefix 길이 n = 32 - log1024 = 22 ☞ suffix가 10이기 때문에, prefix로는 22를 사용한다.
c. 시작 주소는 18.14.12.0

 

부여되는 블록: 18.14.12.0/22

첫 번째 주소: 18.14.12.0/22

마지막 주소: 18.14.15.255/22

 

*prefix값은 항상 동일해야 한다.

 

 

 

Example 5.31

조직이 과거에 클래스 A 블록을 73.0.0.0으로 지정했다고 가정하자. 블록이 권한에 의해 취소되지 않는 경우 classless 아키텍처는 조직이 classless addressing에 블록 73.0.0.0/8을 가지고 있다고 가정한다.

classful addressing의 각 클래스 별 prefix 길이

 

 

*subnetwork를 위한 주소 할당에 적용되는 제한은 네트워크를 위한 주소 할당에 사용되는 제한들과 평행하다.

 

 

Example 5.32

조직에 블록 130.34.12.64/26이 부여된다.

조직은 각각 동일한 수의 호스트를 가진 4개의 서브 네트워크를 필요로 한다. 이때 하위 네트워크를 설계하고 각 네트워크의 정보를 찾아라.

 


전체 네트워크의 주소 갯수는 N = 2^(32 - 26) = 2^6 = 64개이다.

네트워크의 첫 번째 주소130.34.12.64/26이고 마지막 주소130.34.12.127/26이다.

 

하위 네트워크 설계:
1. 4개의 각 서브 네트워크에 16개의 주소를 부여한다. (64/4 = 16)

각 서브 네트워크의 시작주소

2. 각 하위 네트워크에 대한 하위 네트워크 마스크는 다음과 같다.

N/Ni = 64/16

3. 사용 가능한 첫 번째 주소부터 시작하여 각 서브넷에 16개의 주소를 부여한다. 

 

각 서브넷의 하위 블록을 보여주는 그림

 

 


자료 출처

 

TCP/IP Protocol Suite 4th Edition Slide
(Behrouz A. Forouzan 저, McGraw-Hill, 2010)

 

반응형