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

2021. 12. 2. 09:56·Computer Science/컴퓨터 네트워크
반응형

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)

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Computer Science > 컴퓨터 네트워크' 카테고리의 다른 글

컴퓨터 네트워크: IPv4 Address - Special Addresses, NAT  (0) 2021.12.02
컴퓨터 네트워크: IPv4 Address - Classless Addressing(2)  (0) 2021.12.02
컴퓨터 네트워크: IPv4 Address - Classful Addressing  (0) 2021.12.01
컴퓨터 네트워크: IPv4 Address - Introduction  (0) 2021.11.27
컴퓨터 네트워크: Options  (0) 2021.11.27
컴퓨터 네트워크: TCP timers  (0) 2021.11.11
'Computer Science/컴퓨터 네트워크' 카테고리의 다른 글
  • 컴퓨터 네트워크: IPv4 Address - Special Addresses, NAT
  • 컴퓨터 네트워크: IPv4 Address - Classless Addressing(2)
  • 컴퓨터 네트워크: IPv4 Address - Classful Addressing
  • 컴퓨터 네트워크: IPv4 Address - Introduction
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기 (505)
      • 프로그래밍 (41)
        • Programming (1)
        • C | C++ (6)
        • Java (28)
        • Python (5)
      • 웹 프로그래밍 (108)
        • HTML | CSS (5)
        • JavaScript | TypeScript (41)
        • React (25)
        • Vue.js (0)
        • Next.js (18)
        • Spring & Spring Boot (13)
        • JSP & Servlet (1)
        • DB (4)
      • 웹 프로젝트 (77)
        • 웹 프로젝트 (22)
        • 🥨스낵몰 (3)
        • 👨‍👨‍👧‍👧소셜 가계부 (26)
        • 🌜꿈 일기장 (11)
        • 🔮포트폴리오 사이트 (11)
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램 (0)
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼 (0)
        • 😺Just Meow It: 조언 사이트 (2)
        • 📕Workly: 교대근무 다이어리 (1)
      • 앱 프로그래밍 (26)
        • Flutter (24)
        • Kotlin (2)
      • Problem Solving (166)
        • 백준 (52)
        • 프로그래머스 (79)
        • SWEA (29)
      • Computer Science (40)
        • 알고리즘 (14)
        • 컴퓨터 네트워크 (18)
        • 이산수학 (8)
      • Developer (47)
        • 후기 (4)
        • 자료정리 (4)
        • 취업 | 취준 (9)
        • SSAFY (1)
        • 웹개발 교육 프로그램 (9)
        • TIL (20)
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    Til
    Jiraynor Programming
    SWEA
    React
    d3
    클론 프로젝트
    리액트
    컴퓨터네트워크
    포트폴리오
    공식문서
    자바스크립트
    강의내용정리
    웹사이트
    AWS
    구현
    백준
    블로그 제작
    알고리즘
    자바
    mysql
    프로젝트
    Next.js
    bfs
    파이썬
    타입스크립트
    프로그래머스
    spring boot
    플러터
    ZeroCho
    뉴렉처
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
컴퓨터 네트워크: IPv4 Address - Classless Addressing(1)
상단으로

티스토리툴바