Chapter 5 IPv4 주소
학습목표(OBJECTIVES): 일반적인 주소공간 개념과 IPv4 주소공간 소개 클래스 기반 구조와 각 클래스에서 이용 가능한 주소 볼록 계층적 주소지정 개념과 클래스 기반 주소지정 시스템에서 이의 구현 클래스기반 구조에서 서브넷팅과 슈퍼넷팅 설명 클래스기반 주소지정 문제점을 해결한 클래스기반이 아닌 주소지정 특수 블록과 각 블록에서 특수 주소 NAT 기술과 이를 이용한 주소부족 문제 해결
Chapter Outline 5.1 Introduction 5.2 Classful Addressing 5.3 Classless Addressing 5.4 Special Addresses 5.5 NAT
5-1 개요 인터넷에 연결된 각 장치 식별자: IP 주소 IPv4 주소: 32 비트 인터넷에서 유일한(unique) 식별자 5-1 개요 인터넷에 연결된 각 장치 식별자: IP 주소 IPv4 주소: 32 비트 인터넷에서 유일한(unique) 식별자 인터넷상에 두 개의 장치가 같은 주소를 가질 수 없음 2진 표기법, 16진 표기법, 점-10진 표기법
An IPv4 address is 32 bits long. Note An IPv4 address is 32 bits long. Note The IPv4 addresses are unique and universal.
The address space of IPv4 is 232 or 4,294,967,296. Note The address space of IPv4 is 232 or 4,294,967,296. Note Numbers in base 2, 16, and 256 are discussed in Appendix B.
2진 표기법과 점-10진(Dotted-decimal) 표기법
Example 5.1 다음 2진 표기법 IPv4 주소를 점-10진 표기법으로 변환하시오. b. 11000001 10000011 00011011 11111111 c. 11100111 11011011 10001011 01101111 d. 11111001 10011011 11111011 00001111 Solution 각 8비트 그룹을 대응하는 10진수로 변환하고, 각 그룹을 점으로 구분: a. 129.11.11.239 b. 193.131.27.255 c. 231.219.139.111 d. 249.155.251.15
Example 5.2 다음 점-10진 IPv4 주소를 2진 표기법으로 나타내시오. a. 111.56.45.78 b. 221.34.7.82 c. 241.8.56.12 d. 75.45.34.78 Solution 각 10진수를 대응하는 2진수로 변환한다: a. 01101111 00111000 00101101 01001110 b. 11011101 00100010 00000111 01010010 c. 11110001 00001000 00111000 00001100 d. 01001011 00101101 00100010 01001110
Example 5.3 다음 IPv4 주소에서 잘못된 점을 찾으시오: a. 111.56.045.78 b. 221.34.7.8.20 c. 75.45.301.14 d. 11100010.23.14.67 Solution a. “0” 이 맨앞에 나와서는 안 된다(045). b. 4 바이트보다 많으면 안 된다. c. 각 바이트는 255보다 작거나 같아야 한다. d. 점-10진과 2진을 혼용하면 사용하면 안 된다.
Example 5.4 다음 2진 표기법 IPv4 주소를 16진 표기법으로 바꾸시오. b. 11000001 10000011 00011011 11111111 Solution 각 4비트 그룹을 16진으로 변환한다. 맨 앞에 0X (or 0x) 붙이거나 맨 끝에 첨자 16을 붙인다. a. 0X810B0BEF or 810B0BEF16 b. 0XC1831BFF or C1831BFF16
Example 5.5 처음 주소가146.102.29.0이고 마지막 주소가 146.102.32.255인 경우 이 범위내의 주소의 갯수는? Solution 기수 256 (부록 B참조)으로 마지막 주소에서 시작 주소를 빼면 된다. 결과는 0.0.3.255이다. 주소의 수를 알기 위해 기수 10으로 변환하고 결과에 1을 더한다.
Example 5.6 주소 범위에서 첫 주소가 14.11.45.96이다. 범위내의 주소의 개수가 32라면, 마지막 주소는 무엇인가? Solution 주소의 수에 1을 뺀 다음 그 결과를 기수 256의 수로 변환하면 0.0.0.31이다. 이 값을 처움 주소에 더하면 된다. 덧셈은 기수 256으로 수행한다.
연산(operation) 2진이나 10진법을 사용하여 연산을 수행하는 경우가 있음 비트 단위의 NOT 연산
Example 5.7
Bit 단위 AND 연산
Example 5.8
Bit 단위 OR 연산
Example 5.9
5-2 클래스기반 주소지정 IP 주소는 시작할 때 클래스(class) 개념 이용 5-2 클래스기반 주소지정 IP 주소는 시작할 때 클래스(class) 개념 이용 90년대 중반에 새로운 구조인 클래스기반이 아닌 주소지정(classless addressing) 방법 등장 먼저 클래스기반 주소지정(classful addressing) 방법을 이해 한 후 클래스기반이 아닌 주소지정방법을 소개
Topics Discussed in the Section Classes Classes and Blocks Two-Level Addressing Three-Level Addressing: Subnetting Supernetting
클래스 별 주소공간 점유 5개의 클래스(class)
주소의 클래스 찾기
연속적인 비트 확인을 통하여 클래스 알아내기 Start0Class: A1Start0Class: AClass: C01
Example 5.10 각 주소의 클래스를 나타내시오: a. 00000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 10100111 11011011 10001011 01101111 d. 11110011 10011011 11111011 00001111 Solution 그림 5.7 참조. a. 첫 비트가 0 이면. 클래스 A 주소. b. 처음 2 비트가 1이고; 세 번째가 0 이면, 클래스 C 주소. c. 처음이 1이고; 두 번째가 0이면, 클래스 B 주소. d. 처음 4 비트가 1이면, 클래스 E 주소.
Example 5.11 각 주소의 클래스를 나타내시오: a. 227.12.14.87 b. 193.14.56.22 c. 14.23.120.8 d. 252.5.15.111 Solution a. 첫 번째 바이트가 227 (224와 239사이)이면; 클래스 D. b. 첫 번째 바이트가 193 (192 와 223사이)이면; 클래스 C. c. 첫 번째 바이트가 14 (0 과127사이); 클래스 A. d. 첫 번째 바이트가 252 (240과 255사이); 클래스 E.
A, B, C 클래스 주소의 Netid and hostid 클래스에 따라 netid와 hostid 길이가 다름
클래스 A에 있는 블록 1 바이트만 netid 지정 가장 왼쪽 비트 “0” 7 비트로 나타내는 블록의 수 27 = 128 블록에 속한 주소 수 = 16,777,216개
Millions of class A addresses are wasted. Note Millions of class A addresses are wasted.
클래스 B의 블록 처음 두 바이트가 클래스 지정 처음 두 비트는 “10” 처음 두 바이트가 클래스 지정 처음 두 비트는 “10” 14비트로 지정할 수 있는 블록 수 214 = 16,384 블록에 속한 주소 수 65,536개
Many class B addresses are wasted. Note Many class B addresses are wasted.
클래스 C에 있는 블록 처음 세 바이트가 클래스 지정 처음 세 비트는 “110” 처음 세 바이트가 클래스 지정 처음 세 비트는 “110” 21비트로 지정할 수 있는 블록 수 221 = 2,097,152 블록에 속한 주소 수 256개
Not so many organizations are so small to have a class C block. Note Not so many organizations are so small to have a class C block.
클래스 D에 있는 단일 블록 클래스 D는 멀티캐스팅을 위해 설계 인터넷상에 호스트들의 그룹을 지정하는데 사용
Class D addresses are made of one block, used for multicasting. Note Class D addresses are made of one block, used for multicasting.
클래스 E에 있는 단일 블록 나중에 사용하기 위한 예약용
The only block of class E addresses was reserved for future purposes. Note The only block of class E addresses was reserved for future purposes.
was a block of addresses in Note The range of addresses allocated to an organization in classful addressing was a block of addresses in Class A, B, or C.
클래스 기반 주소지정에서 2 단계 주소지정
Example 5.12
클래스 기반 주소지정에서 정보추출 주소의 수 첫 번째 주소 마지막 주소
Example 5.13 블록내의 주소가 73.22.17.25이다. 첫 번째 주소와 마지막 주소를 구하라. Solution 다음 쪽 그림은 이 블록을 사용한 네트워크 구성을 보여주고 있다. 이 블록의 주소의 수는 N = 232−n = 16,777,216이다. 첫 번째 주소를 찾기 위해, 왼쪽 8 비트는 유지하고, 오른쪽 24 비트는 전부 0으로 만든다. 첫 번째 주소는 73.0.0.0/8, 여기서 8 은 n의 값이다. 마지막 주소를 찾기 위해, 왼쪽 8 비트는 유지하고, 오른쪽 24비트는 모두 1로 만든다.마지막 주소는 73.255.255.255이다.
Example 5.13의 해
Example 5.14 블록의 주소가 180.8.17.9이다. 블록의 주소의 수와 첫 번째 주소 그리고 마지막 주소를 찾아라. Solution 다음 쪽의 그림은 이 블록을 이용한 가능한 네트워크 구성을 보여주고 있다. 이 블록의 주소의 수는 N = 232−n = 65,536이다. 첫 번째 주소를 알기 위해, 왼쪽 16 비트는 그대로 두고 오른쪽 16비트는 모두 0으로 만든다. 첫 번째 주소는 18.8.0.0/16이고, 여기서 n의 값은 16이다. 마지막 주소를 알기 위해, 왼쪽 16 비트는 그대로 두고 오른쪽 16 비트는 모두 1로 만든다. 마지막 주소는 18.8.255.255이다.
Example 5.14의 해
Example 5.15 블록의 주소는 200.11.8.45이다. 블록의 주소 수, 첫 번째 주소, 마지막 주소를 찾아라. Solution 다음 쪽 그림은 이 블록을 이용한 가능한 네트워크 구성을 보여주고 준다. 이 블록에 속하는 주소의 수는 N = 232−n = 256이다. 첫 번째 주소를 찾기 위해, 왼쪽 24 비트는 그대로 두고 오른쪽 8 비트는 모두 0으로 만든다. 첫 번째 주소는 200.11.8.0/16, 여기서 n의 값은 24이다. 마지막 주소를 찾기 위해, 왼쪽 24비트는 그대로 두고 오른쪽 8비트는 모두 1로 만든다. 마지막 주소는 200.11.8.255/16이다.
Example 5.15의 해
간단한 인터넷
The network address is the identifier of a network. 네트워크 주소 블록의 첫 번째 주소는 네트워크 주소 목적지로 패킷을 전송하는데 사용 Note Note The network address is the identifier of a network.
네트워크 주소
네트워크 마스크 목적지 주소를 이용하여 네트워크 주소를 찾아내는데 사용 디폴트 마스크(default mask)라고도 함
디폴트 마스크를 이용하여 네트워크 주소 찾아내기
Example 5.16 라우터가 목적지 주소 201.24.67.32 패킷을 받았다. 라우터가 패킷의 네트워크 주소를 찾는 방법을 보여주시오. Solution 주소의 클래스는 B 이므로, 라우터는 클래스 B의 디폴트 마스크인 255.255.0.0 를 적용한다.
3단계 주소 지정: 서브넷팅 클래스 A나 B를 받은 조직이 보안과 관리를 더 잘하기 위해 몇 개의 작은 서브네트워크로 나눌 필요 서브넷팅에서 각 서브네트워크는 자신의 서브네트워크 주소를 갖는다
Example 5.17 3단계(Three-level) 주소지정은 전화번호를 예로 들 수 있다: 여기서 626 은 지역 코드, 358 는 교환기 번호, 1301 는 가입자 연결이다.
Example 5.18 다음 그림은 서브넷팅(subnetting) 전의 클래스 B주소를 이용한 네트워크를 보여준다. 거의 216 개의 호스트를 갖는 네트워크로 생각할 수 있다. 전체 네트워크는 인터넷에서 하나의 라우터를 통하여 연결되어있다. 클래스 B의 netid의 길이를 나타내기 위해 /16 을 사용한다.
Example 5.18
Example 5.19 다음 그림은 앞의 네트워크를 서브넷탕 한 네트워크를 보여준다. 전체 네트워크는 여전히 같은 네트워크를 통하여 연결되어 있다. 그렇지만, 네트워크를 사설 라우터를 이용하여 4개의 서브네트워크로 나누었다. 인터넷에서 여전히 하나의 네트워크로 보이지만; 내부적으로 네트워크는 4개의 서브네트워크로 되어있다. 각 서브네트워크는 이제 대부분 214개의 호스트 가질 수 있다. 네트워크는 4개의 서로 다른 학부(빌딩)을 가진 대학 캠퍼스에 속할 수 있다. 서브넷팅 후에, 각 학부는 자신의 서비네트워크를 갖지만, 여전히 전체 캠퍼스는 인터넷에서 하나의 네트워크이다. 그림에서 /16 과 /18 은 netid 와 subnetid의 길이를 나타낸다.
Example 5.19
네트워크 마스크와 서브넷마스크
Example 5.20 Example 5.19에서, 클래스 B 네트워크를 4개의 서브네트워크로 나누었다. 따라서, n = 16 이고 n1 = n2 = n3 = n4 = 16 + log24 = 18이다. 이는 서브넷 마스크가 18개의 ‘1’과 14개의 ‘0’ 을 갖는다. 다시 말하면, 서브네 마스크는 255.255.192.0 이고, 이는 클래스 B의 네트워크 마스크(255.255.0.0)와 다르다.
Example 5.21 Example 5.19에서, 네트워크가 4개의 서브넷으로 나눈 것을 보았다. 서브넷 2에 있는 주소 중 하나가 141.14.120.77일 때, 다음과 같이 서브넷 주소를 찾을 수 있다: 첫 번째, 두 번째, 네 번째 바이트의 값은 먼저 첫 번째 빠른 AND 연산으로 간단하게 계산하였다. 세 번째 바이트 값은 두 번째 빠른 AND 연산으로 계산하였다.
슈퍼넷팅(supernetting) 여러 개의 C 클래스 결합 1,000개의 주소가 필요한 기관 4개의 C 클래스 신청 슈퍼넷 마스크는 서브넷 마스크의 반대
서브넷, 디폴트, 슈퍼넷 마스크 비교
5-3 클래스기반이 아닌 주소지정 클래스 기반 주소지정에서 서브넷팅과 슈퍼넷팅은 실제로 주소 고갈문제를 해결하지 못했다. 인터넷 이 성장함에 따라, 장기적으로 보다 큰 주소공간을 확보하는 것이 필요하다. 장기간 해결책으로서 이미 IPv6가 개발되었지만, 같은 주소공간을 사용하지만 각 기관에 대해 주소들을 분배하는 방법을 변경하는 단기간 해결책이 나왔다(1996년). 단기간 해결책은 여전히 IPv4 주소를 사용하지만, 이를 클래스기반이 아닌 주소지정(classless addressing)이라고 한다.
Topics Discussed in the Section Variable –Length Blocks Two-Level Addressing Block Allocation Subnetting
클래스기반이 아닌 주소지정에서 가변길이 블록 각 기관은 가변길이 블록으로 21,22,23,24,25 …232개의 주소를 갖는 블록을 지정 가능
In classless addressing, the prefix defines the network and the suffix Note In classless addressing, the prefix defines the network and the suffix defines the host.
프리픽스(Prefix) 와 서픽스(suffix) 프리픽스(Prefix): netid와 동일 기능 서픽스(suffix): hostid와 동일 기능
The prefix length in classless addressing can be 1 to 32. Note The prefix length in classless addressing can be 1 to 32.
Example 5.22 만약 전체 인터넷을 4,294,967,296 개의 주소를 갖는 단일 블록으로 생각한다면 prefix 길이와 suffix 길이는 무엇인가? Solution 이 경우에, Prefix 길이는 0 이고 suffix 길이는 32이다. 32 비트 모두가 단일 블록에서 232 = 4,294,967,296 개의 호스트를 지정한다.
Example 5.23 만약에 인터넷이 4,294,967,296 개의 블록과 각 블록은 단일 주소를 갖는다면 prefix 길이와 suffix 길이는 무엇인가? Solution 이 경우에, 각 블록에 대한 prefix 길이는 32 이고 suffix 길이는 0이다. 32 비트 모두가 232 = 4,294,967,296 블록을 지정하는데 사용된다. 각 블록에는 하나의 주소가 블록 자체를 지정한다.
Example 5.24 블록안에 있는 주소의 수는 prefix 길이인 n과 역의 관계를 갖는다. n 이 작다면 큰 블록을 의미하고; n 값이 크다면 작은 블록을 의미한다.
슬래쉬 표기법(Slash notation) 프리픽스 길이를 주소에 포함하여 표현
and the prefix length to define the block. Note In classless addressing, we need to know one of the addresses in the block and the prefix length to define the block.
Example 5.25 클래스기반이 아닌 주소지정에서, 주소정보만을 이용하여 주소가 속한 블록을 알 수 없다. 예를 들어, 주소 230.8.24.56 는 아래와 같이 여러 개의 블록에 속할 수 있다:
Example 5.26 다음은 슬래쉬 표현으로 나타낸 주소들이다. 주소 12.23.24.78/8에서, 네트워크 마스크는 255.0.0.0이다. 마스크는 8개의 1 과 24개의 0으로 되어있다. 프리픽스 길이는 8이고; 서픽스 길이는 24이다. 주소 130.11.232.156/16에서, 네트워크 마스크는 255.255.0.0이다. 마스크는 16개의 1 과 16개의 0으로 되어있다. 프리픽스 길이는 16이고; 서픽스 길이는 16이다. 주소 167.199.170.82/27에서, 네트워크 마스크는 255.255.255.224이다. 마스크는 27개의 1 과 다섯개의 0으로 되어있다. 프리픽스 길이는 27이고; 서픽스 길이는 5이다.
Example 5.27 주소167.199.170.82/27은 블록에 속하는 하나의 주소이다. 네트워크에서 주소의 수와 첫 번째 주소, 마지막 주소를 구하라. Solution n 의 값은 27이다. 네트워크 마스크는 27개의 1과 5개의 0인데, 이는 255.255.255.240이다. 네트워크에 있는 주소 의 수는 232 − n = 32. 첫 번째 주소(network address)를 찾기 위해 AND 연산을 이용한다. 첫 번째 주소는 167.199.170.64/27이다.
Example 5.27 Continued 마지막 주소를 찾기 위해, 네트워크 마스크를 보수를 구해서 주어진 주소와 OR 연산을 수행한다: 마지막 주소는 167.199.170.95/27이다.
Example 5.28 주소 17.63.110.114/24는 블록에 속한 하나의 주소이다. 블록에 속하는 주소의 수, 첫 번째 주소, 마지막 주소를 찾으시오. Solution 네트워크 마스크는 255.255.255.0이다. 네트워크에 속한 주소의 소는 232 − 24 = 256이다. 첫 번째 주소를 찾기 위해, 앞에서 설명한 빠른 방법을 이용한다. 첫 번째 주소는 17.63.110.0/24이다.
Example 5.28 Continued 마지막 주소를 찾기 위해 네트워크 마스크의 보수와 앞에서 설명한 빠른 방법을 이용한다. 마지막 주소는 17.63.110.255/24 이다.
Example 5.29 블록에 속한 주소는 110.23.120.14/20이다. 블록에 속한 주소의 수, 첫 번째 주소, 마지막 주소를 찾으시오. Solution 네트워크 마스크는 255.255.240.0이다. 네트워크에 속한 주소의 수는 232 − 20 = 4096이다. 첫 번째 주소를 찾기 위해, 먼저 1, 2, 4 바이트에 빠른 방법을 적용하고 3번째 바이트에 대해 두 번째 빠른 방법을 적용한다. 첫 번째 주소는 110.23.112.0/20이다.
Example 5.29 Continued 마지막 주소를 찾기 위해, 바이트 1, 2, 4 에 대해 첫 번째 빠른 방법을 적용하고 바이트 3에 대해 두 번째 빠른 방법을 적용한다. 마스크의 보수와 OR 연산을 수행한다. 마지막 주소는 110.23.127.255/20 이다.
블록 할당 국제 관리기구인 ICANN(Internet Corporation for Assigned Names and Address) 담당 ISP(Internet Service Provider)에 할당 블록 할당 제약 조건(CIDR) 요구 주소 N은 2의 거듭제곱이어야 한다 블록에 속한 주소의 수로 프리픽스 길이를 알 수 있다 할당하는 블록에 속한 주소는 연속적이어야 한다
Example 5.30 ISP가 1,000개의 주소를 갖는 블록을 요청하였다. 블록은 다음과 같다. 1,000 은 2의 누승이 아니기 때문에, 1,024 개의 주소가 할당된다 (1,024 = 210). 블록에 대한 프리픽스 길이는 n = 32 − log21024 = 22이다. 시작 주소는18.14.12.0 (1,024로 나누어짐)가 선택된다. 할당된 블록은 18.14.12.0/22이다. 첫 번째 주소는 18.14.12.0/22 이고 마지막 주소는 18.14.15.255/22이다.
Example 5.31 클래스 A 주소 블록 73.0.0.0을 할당받은 기관은 클래스 기반이 아닌 주소지정으로 블록 73.0.0.0/8을 받았다고 간주한다.
The restrictions applied in allocating addresses for a subnetwork are Note The restrictions applied in allocating addresses for a subnetwork are parallel to the ones used to allocate addresses for a network.
Example 5.32 기관이 블록 130.34.12.64/26을 할당받았다. 기관은 호스트의 개수가 같은 4개의 서브넷이 필요하다. 서브넷을 설계하고 각 네트워크에 대한 정보를 찾으시오. Solution 전체 네트워크에 대한 주소의 개수는 N = 232 − 26 = 64 이다. 네트워크의 첫 번째 주소는 130.34.12.64/26 이고 마지막 주소는 130.34.12.127/26이다. 이제 서브넷을 설계해 보자: 각 서브넷은 첫 번째 요구사항에 맞추어 16개의 주소를 갖는다 (64/16 is a power of 2). 각 서브넷에 대한 서브넷 마스크는:
Example 5.30 Continued 각 서브넷은 첫 번째 주소부터 시작해서 16 개의 주소를 할당한다. 다음 쪽의 그림은 각 서브넷에 대한 서브블록을 보여준다. 각 서브넷의 시작 주소는 서브넷에 있는 주소의 수로 나눌 수 있어야 한다.
Example 5.32의 해
Example 5.33 Continued 시작 주소가 14.24.74.0/24인 주소 블록이 기관에 할당되었다. 기관은 다음과 같이 주소가 필요한 3개의 서브넷을 필요로 한다: ❑ 120개의 주소를 갖는 블록. ❑ 60 개의 주소를 갖는 블록. ❑ 10 개의 주소를 갖는 블록. Solution 이 블록에 속한 주소의 수는 232 − 24 = 256 이다. 첫 번째 주소는 4.24.74.0/24이고; 마지막 주소는 14.24.74.255/24이다. 첫 번째 블록에 있는 주소의 수는 2의 누승이 아니기 때문에 128 개의 주소를 할당한다. 서브넷 마스크는 25이다. 첫 번째 주소는 14.24.74.0/25이고; 마지막 주소는14.24.74.127/25이다.
Example 5.33 Continued 두 반째 블록에 있는 주소의 수도 2의 누승이 아니다. 따라서, 64개의 주소를 할당한다. 서브넷 마스크는 26이다. 블록에 있는 첫 번째 주소는 14.24.74.128/26이고; 마지막 주소는 14.24.74.191/26이다. 세 번째 블록의 주소 수도 2의 누승이 아니다. 따라서, 16개의 주소를 할당한다. 서브넷 마스크는 28이다. 블록의 첫 번째 주소는 14.24.74.192/28이고; 마지막 주소는 14.24.74.207/28이다. 만약 3개의 블록의 주소를 모두 더하면 208개이다. 따라서, 여분으로 48개의 주소가 있다는 것을 의미한다. 이 범위에서 첫 번째 주소는 14.24.74.209이고, 마지막 주소는 14.24.74.255이다. 다음 쪽의 그림은 블록의 구성을 보여준다. 블록의 첫 번째 주소도 나타나 있다.
Example 5.33의 해
Example 5.34 어떤 회사가 3개의 사무실(중앙, 동쪽, 서쪽)을 가지고 있다. 중앙사무소는 사설 점-대-점 WAN 회선을 통해 연결되어있다. 회사는 시작주소가 70.12.100.128/26 이고 64개의 주소를 갖는 블록을 할당 받았다. 관리자는 중앙사무소에 32개의 주소를 할당하고, 나머지 주소는 반반씩 남은 두 개의 사무소에 할당하기로 했다: 각 서브넷에 대한 prefix 길이를 찾을 수 있다:
Example 5.34 Continued 다음 쪽 그림은 관리자가 설계한 구성도이다. 중앙 사무소는 주소 70.12.100.128/27 부터 70.12.100.159/27까지 사용한다. 회사는 이 주소 중 3개를 라우터에 사용하고 서브블록의 마지막 주소는 예비용으로 두었다. 동쪽 사무소는 주소 70.12.100.160/28 부터 70.12.100.175/28까지 사용한다. 이 주소 중 하나는 라우터에 사용하고 서브블록의 마지막 주소는 예비용으로 두었다. 서쪽 사무소 주소는 70.12.100.160/28 부터 70.12.100.175/28 까지 이다. 이 주소 중 하나는 라우터에 사용하고 서브블록의 마지막 주소는 예비용으로 두었다. WAN에서 점-대-점 연결을 위한 주소는 필요 없다.
Example 5.34
Example 5.35 ISP가 190.100.0.0/16 (65,536 개 주소)로 시작하는 주소 블록을 할당 받았다. ISP는 이 주소를 다음과 같이 세 그룹의 고객에게 분배하고자 한다: ❑ 첫 번째 그룹은 64 개의 고객; 각각은 대략 256개의 주소를 필요하다. ❑ 두 번째 그룹은 128개의 고객; 각각은 대략 128개의 주소가 필요하다. ❑ 세 번째 그룹은 128 개의 고객; 각각은 대략 64개의 주소가 필요하다. 서브블록을 설계하고, 할당을 한 후에 이용 가능한 주소가 얼마나 남았는지 알아보시오.
Example 5.35 Continued Solution 두 단계로 문제를 해결해 보자. 첫 번째 단계에서, 각 그룹에 주소의 서브블록을 할당한다. 각 그룹에 할당된 주소의 총 수와 각 서브블록에 대한 prefix 길이는 다음과 같이 찾을 수 있다. 다음 쪽 그림은 첫 번째 계층적인 레벨에 대해 설계한 것이다. 이어지는 쪽 그림은 계층구조의 두 번째 레벨을 보여준다. 여기서, 각 고객에 대한 첫 번째 주소는 서브넷 주소로 사용하고, 마지막 주소는 특수 목적 주소로 예비용으로 둔다.
Example 5.35의 해: first step
Example 5.35의 해: second step
5-4 특수 주소 클래스 기반 주소지정에서, 일부 주소는 특수 목적을 위해 예약되어있다. 클래스 기반이 아닌 주소지정에서도 동일하게 클래스 기반 주소지정 방식과 동일한 특수 주소가 있다. 특수 블록 모두가 0인 주소 모두가 1인 주소 루프백 주소 멀티캐스트 주소 블록 내의 특수 주소 네트워크 주소 직접 브로드캐스트 주소
모두가 0인 주소의 예 자신의 IPv4 주소를 모르는 호스트가 부트스트랩시 사용
제한된 브로드캐스트 주소(limited broadcast address) 예 모두가 1인 주소 네트워크에 있는 모든 호스트에게 메시지 전달 시 사용
루프백 주소(loopback address)의 예 컴퓨터에 설치된 소프트웨어 시험 시 사용
사설 주소(private address) 사설 용도를 위해 할당 전역 네트워크에서 인식되지 않음 네트워크가 분리되어있거나 NAT(network address translation) 사용하여 사설 네트워크를 인터넷에 연결하는데 사용
멀티캐스트 주소 블록내의 특수 주소 네트워크 주소 직접 브로드캐스트 주소 224.0.0.0/4 블록 멀티캐스트 통신을 위해 예약된 블록(12장) 블록내의 특수 주소 블록내의 일부 주소를 특수주소로 사용하는 것은 권고사항(호스트에 할당 불가) 네트워크 주소 블록에 속하는 첫 번째 주소 직접 브로드캐스트 주소 Suffix가 모두 1로 설정된 블록의 마지막 주소 라우터가 특정 네트워크에 있는 모든 호스트에 패킷 전송 시 사용
직접 브로드캐스트 주소(directed broadcast address)의 예
5-5 NAT ISP를 통한 주소 분배는 새로운 문제를 야기시켰다. 만약 사업이 확장되고 가정집의 범위가 더 커지는 경우에 ISP는 이미 다른 네트워크에 주소를 할당했다면 이 요청을 받아들일 수 없다. 그렇지만 대부분의 경우에, 규모가 작은 네트워크에서 컴퓨터의 일부만이 동시에 인터넷을 접속을 필요로 한다. 이는 할당된 주소 수와 네트워크에 있는 컴퓨터의 수가 동일할 필요가 없다는 것이다. 이 경우에 도울 수 있는 기술이 network address translation (NAT)이다.
NAT 사용 예(Example) 주소 변환 변환 테이블 20대의 컴퓨터를 가지고 있는 소규모 회사 5대의 컴퓨터만이 인터넷 접속(전역 주소 필요) 나머지는 인터넷 접속이 필요치 않은 업무 수행(사설 주소 필요) 내부 통신을 위해 20 또는 25개의 사설 주소 사용) 외부 통신을 위해 ISP로부터 5개 주소 할당 받음 사설 주소와 전역 주소 변환 기능 제공 주소 변환 다음 쪽 그림 참조 변환 테이블 외부에서 들어오는 패킷을 위한 테이블
Figure 5.39 NAT
주소 변환 (Address resolution)
변환(Translation)
IP 주소 pool 사용 1 대 다 관계 유지를 위한 변환 테이블 이용
알림 연습문제 풀이해서 Report로 다음주까지(일주일 후) 제출해 주세요!