ipv4

Page 1

TCP/IP와 인터넷 제 2 장 인터넷 프로토콜 v4

1


목차 2.1 IP 2.2 IP 주소 관리 기법 2.3 IP 주소 관련 프로토콜 2.4 IP 멀티캐스팅 2.5 IPv4 실전 구성

2


Growth of Internet

3


Trends in Internet and Mobile

4


IPv4 Current Situation • Major problem for many countries connecting to the Internet -Countries late on the Internet have limited number of addresses • Ratio of users/IPv4 address increase dramatically -Internet users move from PPP connectivity to xDSL/cble modem • Many ISPs are giving private addresses to their clients -No way to reach these computers • ISP are delegating very small chunks of address space to their clients

5


IPv4 Note: An IP address is a 32-bit address.

6


IPv4

RULE: If a protocol uses N bits to define an address, the address space is 2N because each bit can have two different values (0 and 1) and N bits can have 2N values.

Note: The address space of IPv4 is 232 or 4,294,967,296. 7


IPv4 ?

8


2.1 IP •

IP의 특징 (OSI 네트워크 계층기능 수행) — 비신뢰성(Unreliable) • •

가능한 범위 내에서 패킷을 목적지까지 전달하는 최선형 서비스(Best Effort Service) 즉, 목적지까지 패킷의 정확한 전송을 보장하지 않는다.

— 비접속형(Connectionless) • •

연결(connection) 설정 없이 패킷을 전송하는 것을 의미. 즉, IP는 연결과 관련된 어떠한 상태정보도 유지하지 않음.

— 주소 지정 •

네트워크 내의 노드를 고유하게 지정하기 위한 수단으로 IP 주소를 사용하며, 패킷은 IP주소를 기반으로 목적지까지 전달.

— 경로 결정 • •

목적지 IP 주소를 기반으로 패킷 전달 경로를 판단. 즉, IP는 특정 목적지로 패킷을 전송할 때 어떤 경로를 경유하여 전송할지를 결정하며, 결정된 경로를 따라 데이터 전송함. 9


2.1 IP • IP 패킷 구성 —

헤더 필드와 데이터 필드로 분리

헤더 필드에는 패킷을 목적지까지 전송하기 위한 값 포함

데이터 필드에는 TCP, UDP와 같은 상위 계층에서 전달된 PDU가 삽입됨.

0

4 버전

15

8

헤더길이

서비스 타입

식별자 TTL

31 전체 길이 플래그

프로토콜

단편화 옵셋 헤더 체크섬

헤더 (20 바이트)

송신측 IP 주소 수신측 IP 주소 옵션(필요한 경우에만, 가변길이)

확장헤더

데이터

데이터

10


2.1 IP — 버전(Version) •

IP 프로토콜의 버전을 의미 (현재 IP 프로토콜 버전은 4)

— 헤더 길이(Header Length) •

옵션 필드를 포함한 헤더의 총 길이

— 서비스 타입(Type-Of-Service) •

우 선 권 (Precedence) 필 드 (3 비 트 ), TOS(Type-Of-Service) 필드(4 비트), 예약 필드(1 비트)

우선권 필드는 패킷의 우선순위 정의

TOS 필드는 최소 지연, 최대 처리량, 최대 신뢰성, 최소 비용을 나타내는 필드

11


2.1 IP —

전체 길이 (16bit) •

식별자(Identification) (16bit) •

헤더와 데이터를 포함한 IP 패킷의 전체 길이를 바이트 단위로 나타냄. IP에서는 링크의 최대 전달 유닛 (MTU)보다 더 큰 데이터를 보내야 하는 경우 여러 개의 작은 패킷으로 분할하여 전송할수 있다. 동일한 데이터로부터 분할된 패킷을 재조립할 수 있도록 분할된 패킷들은 같은 식별자를 가짐

플래그 (3bit) •

첫번째 비트 : 예약 (사용하지 않음)

두번째 비트 : 단편화 금지 (1이면 패킷을 분할할수 없음) – 만약 패킷을 분할해야 하는 경우에 이 비트가 ‘1’이라면 패킷을 폐기시키고, 송신측으로 ICMP (Internet Control Message Protocol)오류 메시지를 보낸다.

세번째 비트 : 추가 단편화 비트 – 이 비트가 ‘0’이라면 해당 패킷이 분할된 패킷중 마지막 패킷임을 나타냄.

12


2.1 IP — 단편화 옵셋(Fragment Offset) (13bit) •

패킷 재조립시 분할된 패킷간의 순서에 대한 정보 포함

전체 데이터에서 분할된 패킷의 상대 위치를 8 바이트 단위로 기술

예) 단편화 옵셋필드 150인 경우, 150*8=1200

13


2.1 IP —

Time-To-Live(TTL) •

TTL 필드는 패킷이 경유할 수 있는 최대 홉 수를 의미

패킷이 라우터를 통과할 때마다 TTL 값은 1씩 감소

TTL 값이 0이 되면 패킷은 폐기되고 송신측으로 ICMP 메시지가 전달

Why? => 라우팅 테이블 오류로 인한 패킷의 무한 루프 방지를 위해 사용된다.

프로토콜 •

관련된 상위 프로토콜을 나타내기 위해 사용

상위 프로토콜로는 ICMP, TCP, UDP등이 있으며, 가장 많이 쓰이는 값으로는 TCP를 나타내는 6, UDP를 의미하는 17.

헤더 체크섬(Header Checksum) •

IP 패킷 헤더의 오류 발생을 검사하기 위한 필드

헤더 체크섬은 IP 헤더에 대해서만 수행되며 체크섬 값은 패킷을 16비트 단위로 정렬하여 더한 결과값의 보수를 취해 얻어진다.

14


2.1. IP • IP 패킷 헤더 옵션 (Max. 40바이트) — 경로 추적이나 네트워크 상황 파악등 특정 목적을 위해 사용 — 하나 이상의 옵션을 동시 사용 가능 — 코드 필드 • •

복사(copy) 필드 : 단편화시 단편화된 모든 패킷에 헤더 옵션 필드의 복사 여부를 결정 클래스 필드 : 값이 0인 경우는 패킷 제어를 위해 사용, 2인 경우에는 디버깅이나 측정을 하기 위해 사용

15


2.1. IP — 옵션 종료 (End of Option) •

옵션 필드의 끝을 나타내는 한 바이트 옵션

옵션 종료는 마지막 옵션에서만 사용 가능

코드값은 0

— 무동작 (No Operation) •

옵션 간의 경계로 사용되는 한 바이트 옵션

다른 옵션을 32 비트 경계에 맞추기 위해 사용

코드값은 1

16


2.1. IP — 엄격한 소스 루트 (Strict Source Route) •

전달 경로를 송신측에서 미리 지정하고 그 경로를 따라서만 패킷 전송하고자 할 때 사용되는 옵션이다.

길이필드: 해당 옵션의 총 길이.

포인터 필드: 패킷이 전달될 다음 홉 주소

17


2.1. IP — 엄격한 소스 루트 (Strict Source Route) •

포인터 값은 홉을 지날때마다 단계적으로 증가하여 다음 경유할 주소를 가르킴

기술된 경로대로 패킷을 전송할 수 없다면 패킷을 폐기하고 ICMP 메시지를 송신측으로 전송

18


2.1. IP — 느슨한 소스 루트 (Loose Source Route) •

엄격한 소스 루트와 비슷하지만, 느슨한 소스 루트에서는 주소 목록에 없는 경로라도 사용 가능

코드는 131 사용

— 레코드 루트 (Record Route) •

패킷의 전달 경로를 기록하기 위해 사용

포인터는 라우터의 주소를 기록할 장소를 가르킴

IP 옵션의 총 길이가 40 바이트로 제한되어 있기 때문에 실제 기록할 수 있는 경로의 개수는 제한 코드 : 7

길이

포인터

첫번째 IP 주소 두번째 IP 주소 …

19


2.1. IP — 타임스탬프 (Timestamp) •

패킷이 경로상의 라우터에 도착하는 시간을 기록하기 위해 사용

오버플로우 필드는 공간부족으로 기록하지 못한 라우터의 수를 기록

플래그 필드는 타임스탬프 공간에 주소나 시간만을 기록할 것인지, 아니면 주소와 시간 모두를 기록할 것인지를 결정 코드 : 68

길이

포인터

플래그

첫번째 IP 주소 첫번째 시간 두번째 IP 주소 두번째 시간 ...

20


2.2 IP 주소 관리 기법 • IP 주소 체제 — IP 주소 •

모든 장비들이 갖는 고유한 논리적 네트워크 식별자

The IP addresses are unique. — 클래스별 분류 •

IP 주소는 네트워크를 구분하기 위한 네트워크 식별자 (netid)와 네트워크 내에서 호스트를 구분하기 위한 호스트 식별자 (hostid)로 구성 네트워크와 호스트의 주소 개수에 따라 다섯 개의 클래스로 구분

21


2.2 IP 주소 관리 기법 • 표기법 — 2진 표기법(Binary Notation)

01110101 10010101 00011101 11101010 — 10진 표기법(Dotted-decimal notation) : IP 주소를 4개의 바이트로 나누고 각각의 바이트를 10진수로

22


Example 1 Change the following IP addresses from binary notation to dotted-decimal notation. a. 10000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 11100111 11011011 10001011 01101111 d. 11111001 10011011 11111011 00001111 Solution We replace each group of 8 bits with its equivalent decimal number (see Appendix B) and add dots for separation: a. 129.11.11.239 c. 231.219.139.111

b. 193.131.27.255 d. 249.155.251.15 23


Example 2 Change the following IP addresses from dotted-decimal notation to binary notation. a. 111.56.45.78 c. 241.8.56.12

b. 221.34.7.82 d. 75.45.34.78

Solution We replace each decimal number with its binary equivalent: a. 01101111 00111000 00101101 01001110 b. 11011101 00100010 00000111 01010010 c. 11110001 00001000 00111000 00001100 d. 01001011 00101101 00100010 01001110 24


Example 3 Find the error, if any, in the following IP addresses: a. 111.56.045.78

b. 221.34.7.8.20

c. 75.45.301.14

d. 11100010.23.14.67

Solution a. There are no leading zeroes in dotted-decimal notation (045). b. We may not have more than four numbers in an IP address. c. In dotted-decimal notation, each number is less than or equal to 255; 301 is outside this range. d. A mixture of binary notation and dotted-decimal notation is not allowed. 25


2.2 IP 주소 관리 기법 —

클래스별 분류

클래스

설명

클래스 A

첫번째 비트가 ‘0’인 IP 주소를 클래스 A 주소라 한다. 첫 바이트의 나머지 7비트가 네트워크 식별자이고, 하위 세 바이트는 호스트 식별자이다. 클래스 A주소는 약 2^24- 2 = 16,777,214 개의 호스트를 수용할 수 있기 때문에 큰 규모의 호스트를 갖는 기관에서 사용한다.

클래스 B

처음 두 비트의 값이 “10”인 주소를 클래스 B 주소라 한다. 첫 바이트의 나머지 6비트와 두번째 바이트가 네트워크 식별자이고, 마지막 두 바이트는 호스트 식별자로 사용왼다. 클래스 B 주소는 약 2^26- 2개의 호스트를 수용할 수 있다.

클래스 C

처음 세 비트의 값이 “110”인 주소를 클래스 C 주소라고 한다. 세 번째 바이트까지가 네트워크 식별자이고 마지막 한 바이트는 호스트 식별자이다. 클래스 C 주소는 네트워크마다 254개까지 호스트를 수용할 수 있기 때문에 작은 규모의 네트워크에서 사용된다.

클래스 D

처음 네 비트의 값이 “1110”인 주소를 클래스 D 주소라고 한다. 클래스 D 주소는 네트워크 식별자와 호스트 식별자의 구분이 없고 전체 주소가 멀티캐스트용으로 사용된다.

클래스 E

처음 네 비트의 값이 “1111”인 주소를 클래스 E 주소라고 하며 추후 사용을 위해 예약된 주소이다.

26


2.2 IP 주소 관리 기법 • 주소 공간 할당

• 클래스 주소 갯수

27


2.2 IP 주소 관리 기법 • 이진 표기법으로 클래스 찾기

28


2.2 IP 주소 관리 기법 • 클래스 주소 찾기

29


Example 4 How can we prove that we have 2,147,483,648 addresses in class A?

Solution In class A, only 1 bit defines the class. The remaining 31 bits are available for the address. With 31 bits, we can have 231 or 2,147,483,648 addresses.

30


Example 5

Find the class of each address: a. 00000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 10100111 11011011 10001011 01101111 d. 11110011 10011011 11111011 00001111 Solution See the procedure in Figure 4.4. a. The first bit is 0. This is a class A address. b. The first 2 bits are 1; the third bit is 0. This is a class C address. c. The first bit is 0; the second bit is 1. This is a class B address. d. The first 4 bits are 1s. This is a class E address.. 31


2.2 IP 주소 관리 기법 • 10진 표기법으로 클래스 찾기

32


Example 6

Find the class of each address: a. 227.12.14.87 d. 252.5.15.111

b.193.14.56.22 e.134.11.78.56

c.14.23.120.8

Solution a. The first byte is 227 (between 224 and 239); the class is D. b. The first byte is 193 (between 192 and 223); the class is C. c. The first byte is 14 (between 0 and 127); the class is A. d. The first byte is 252 (between 240 and 255); the class is E. e. The first byte is 134 (between 128 and 191); the class is B.

33


2.2 IP 주소 관리 기법 —

클래스별 분류 0

1

클래스 A

0

클래스 B

10

2

...

8

16

네트워크 ID

24

31

호스트 ID

네트워크 ID

호스트 ID

클래스 C

110

클래스 D

1110

멀티캐스트 주소

클래스 E

1111

예약된 주소

네트워크 ID

호스트 ID

34


2.2 IP 주소 관리 기법 • 클래스 A의 블록

35


2.2 IP 주소 관리 기법 Note: Millions of class A addresses are wasted.

36


2.2 IP 주소 관리 기법 • 클래스 B의 블록

37


2.2 IP 주소 관리 기법 Note: Many class B addresses are wasted.

38


2.2 IP 주소 관리 기법 • 클래스 C의 블록

39


Example 7

Given the network address 17.0.0.0, find the class, the block, and the range of the addresses.

Solution The class is A because the first byte is between 0 and 127. The block has a netid of 17. The addresses range from 17.0.0.0 to 17.255.255.255.

40


Example 8

Given the network address 132.21.0.0, find the class, the block, and the range of the addresses.

Solution The class is B because the first byte is between 128 and 191. The block has a netid of 132.21. The addresses range from 132.21.0.0 to 132.21.255.255.

41


Example 9

Given the network address 220.34.76.0, find the class, the block, and the range of the addresses.

Solution The class is C because the first byte is between 192 and 223. The block has a netid of 220.34.76. The addresses range from 220.34.76.0 to 220.34.76.255.

42


2.2 IP 주소 관리 기법 — 전송 방법에 따른 분류 전송방식

설명

유니캐스트(Unicas t)

하나의 송신자가 하나의 수신자에게 패킷을 보내는 방식의 주소이다.

멀티캐스트(Multic ast)

하나의 송신자가 다수의 수신자에게 패킷을 보내는 경우로 일대다 방식의 패킷 전송 주소이다. 멀티캐스트 전송을 수행하기 위해서는 네트워크 장치가 멀티캐스트를 지원해야 하며, 원하는 그룹에 가입되어 있어야 한다.

브로드캐스트(Broa dcast)

송신자가 네트워크의 모든 호스트에게 패킷을 보내는 방식으로 브로드캐스트 주소에서는 호스트 식별자 필드를 모두 1로 설정한다.

— 특별한 IP 주소 네트워크 식별자

호스트 식별자

목적

송신

수신

네트워크

모두 0

네트워크 주소

불가

불가

네트워크

모두 1

직접적 브로드캐스트

불가

가능

모두 1

모두 1

제한적 브로드캐스트

불가

가능

모두 0

모두 0

네트워크의 한 호스트

가능

불가

127

관계 없음

루프백 주소

불가

가능 43


2.2 IP 주소 관리 기법 — 특별한 IP 주소 •

네트워크 주소 – 네트워크 자체를 의미 – 라우팅 프로토콜에서 네트워크를 지칭할 때 사용 – 패킷의 송신지나 수신지 주소로써 사용 불가

직접적 브로드캐스트 – 라우터가 네트워크의 모든 호스트로 패킷을 보낼 때 사용 – 수신 주소로만 사용

제한적 브로드캐스트 – 네트워크에 있는 모든 호스트로 패킷을 보낼 때 사용 – 수신 주소로만 사용

44


2.2 IP 주소 관리 기법 — 직접적 브로드캐스트

— 제한적 브로드캐스트

45


2.2 IP 주소 관리 기법 — 네트워크의 한 호스트 •

임의의 호스트를 지칭할 때 사용, 송신 주소로만 사용

호스트는 자신의 IP주소를 모를 때 모두 ‘0’으로 전송함.

— 루프백 주소 •

주로 소프트웨어 테스트를 위해 사용

물리 계층까지 전달되지 않고 다시 상위 계층으로 전달 46


2.2 IP 주소 관리 기법 • IP 주소 관리 방식 — IP 주소 낭비와 부족 현상 심화 •

클래스별 분류 방식 이외의 IP 주소 관리 방법에 대한 필요성이 제기

— 새로운 방법 도입 • •

낭비되는 IP를 줄이기 위해 서브네팅(Subnetting) 개념이 도입 부족한 IP를 효율적으로 사용하기 위해 C 클래스 주소 몇 개를 합쳐 하나의 네트워크 주소로 관리할수 있는 슈퍼네팅(Supernetting)이 제안 클래스를 구분하지 않는 주소 방식인 CIDR(Classless InterDomain Routing)이 제안

47


2.2 IP 주소 관리 기법 — 서브네팅 •

하나의 큰 네트워크를 몇 개의 작은 논리적인 네트워크로 분할하여 사용하는 방식

서브네팅에서는 호스트 식별자를 다시 서브넷 식별자와 호스트 식별자로 세분화

서브넷 마스킹(masking) : IP 주소로부터 서브넷 주소만을 식별할 수 있는 방법

48


2.2 IP 주소 관리 기법 • 두 단계 계층 구조를 갖는 네트워크

49


2.2 IP 주소 관리 기법 • 3 단계 계층구조를 갖는 네트워크(서브넷)

50


2.2 IP 주소 관리 기법 • 마스킹(Masking) — IP 주소중에서 네트워크 주소를 알아내기 위해 마스크 이용(1-netid, 0-hostid)

51


Example 10 What is the subnetwork address if the destination address is 200.45.34.56 and the subnet mask is 255.255.240.0? Solution We apply the AND operation on the address and the subnet mask. Address

➡ 11001000 00101101 00100010 00111000

Subnet Mask

➡ 11111111 11111111 11110000 00000000

Subnetwork Address ➡ 11001000 00101101 00100000 00000000.

52


2.2 IP 주소 관리 기법 — 슈퍼네팅 •

C 클래스에서 사용할 수 있는 호스트의 수는 254개로 제한

여러 개의 C 클래스 주소를 묶어 하나의 네트워크로 구성하는 슈퍼네팅을 사용

네트워크 식별자 중 일부를 호스트 식별자로 사용하는 방법

통합하는 C 클래스 주소 개수는 2의 지수승이어야 하며 순차적인 주소를 가져야 함

53


2.2 IP 주소 관리 기법 — CIDR (Classless Inter-Domain Routing) •

CIDR은 A, B, C 클래스별로 IP 주소를 구분하지 않고 네트워크 식별자 범위를 자유롭게 지정할 수 있도록 하여 IP 주소 운영의 융통성을 제공

네트워크 주소를 자유롭게 설정할 수 있기 때문에 IP 주소의 낭비를 방지하고 효과적으로 네트워크를 구성

CIDR을 이용하면 도메인간의 라우팅에 사용되는 IP 주소를 매우 효과적으로 관리 가능 : 220.66.32.0/21 (상위21bit=net-Address, 하위 11bit= 호스트 주소)

— IP 알리어스(IP Alias) •

하 나 의 NIC(Network Interface Card)에 여러 개의 IP 주소를 할당하는 방법

한 대의 서버에 여러 개의 IP 주소를 할당해야 할 경우 하나의 이더넷 카드에 여러 개의 IP 주소를 할당하여 운영할 수 있음 54


2.3 IP 주소 관련 프로토콜 • 논리 주소와 물리 주소의 변환 — 논리적인 차원의 데이터 전송은 IP 주소를 통해 이루어지지만 실제 물리 계층에서의 전송은 물리 계층 주소를 통해서 이루어짐 — 논리 주소와 물리 주소 사이의 변환 프로토콜 필요

55


2.3 IP 주소 관련 프로토콜 — ARP (Address Resolution Protocol) •

IP 주소에 해당하는 물리주소를 얻는 방법

동일 네트워크에 존재하는 호스트 A와 B의 IP 주소가 IA와 IB 이고 물리 주소는 PA와 PB라고 가정

호스트 A의 네트워크 계층에서는 호스트 B로 패킷을 전송할때 목적지 IB 에 해당하는 PB 를 찾는 과정을 수행하는데 이때 사용되는 프로토콜이 ARP

56


2.3 IP 주소 관련 프로토콜 — ARP 메시지 종류 •

ARP 요청 메시지 – 특정 IP 주소에 대한 물리 주소를 요구 – 호스트는 ARP 요청 메시지를 보낼 때 수신측 물리 주소는 모르기 때문에 물리 계층 브로드캐스트로 전송

ARP 응답 메시지 – 물리 주소 정보를 알림 – ARP 요청 메시지를 수신한 호스트 또는 라우터는 자신의 물리 주소를 요구하는 경우 ARP 응답 메시지 전송

57


2.3 IP 주소 관련 프로토콜 —ARP 패킷 필드 ARP 필드

내용

하드웨어 타입

하드웨어 인터페이스 종류를 정의하는 부분이다. 이더넷에 대한 값은 1이다.

프로토콜 타입

상위계층 프로토콜을 정의한다. IP에 대한 값은 0x0800이다.

하드웨어 길이

물리 주소의 길이를 정의하는 부분이다. 이더넷의 경우에는 MAC 주소가 6 바이트이므로 값은 6이 된다.

프로토콜 길이

논리 주소의 길이를 정의하는 부분이다. IP를 사용하는 경우에는 4 바이트이므로 값은 4가 된다.

동작 모드(Operation) 송신측 하드웨어 주소 (Sender Hardware Address)

ARP 요청은 1, ARP 응답은 2이다. 송신측 물리 주소를 의미한다.

송신측 프로토콜 주소 (Sender Protocol Address)

송신측 IP 주소를 의미한다.

수신측 하드웨어 주소 (Target Hardware Address)

수신측 물리 주소를 의미한다. ARP 요청 메시지의 경우 0으로 설정된다.

수신측 프로토콜 주소 (Target Protocol Address)

수신측 IP 주소가 들어간다. 58


2.3 IP 주소 관련 프로토콜 — ARP 캐시 •

동일한 호스트에 대해 패킷을 보낼 때마다 물리 주소를 찾는 것은 비효율적

ARP 캐시를 생성하여 IP 주소와 물리 주소 간의 바인딩을 유지

일정 시간동안 사용되지 않은 엔트리는 자동으로 삭제

— 그래튜터스(gratuitous) ARP •

호 스 트 는 처 음 부 팅 할 때 그 래 튜 터 스 (gratuitous) ARP 를 브로드캐스트하여 IP 중복 사용 여부를 검사

— 프락시(Proxy) ARP •

라우터가 외부 네트워크에 존재하는 호스트의 ARP 요청에 대해서 자신의 하드웨어 주소로 응답 59


2.3 IP 주소 관련 프로토콜 — RARP (Reverse Address Resolution Protocol) •

RARP는 물리 주소에 해당하는 IP 주소를 얻을때 사용

디스크와 같은 저장 장치가 없는 호스트에서 주로 사용되며 RARP 응답은 일반적으로 RARP 서버에서 생성

RARP에서는 네트워크에서 데이터 전송을 위해 필요한 정보를 모두 제공할 수 없음 – BOOTP나 DHCP 프로토콜 사용

60


2.3 IP 주소 관련 프로토콜 • ICMP (Internet Control Message Protocol) — ICMP의 필요성 •

IP 패킷이 전송되는 목적지에 전달되지 못할 수 있고, 전달되더라도 원하는 서비스 포트가 존재하지 않는 경우도 발생 오류에 관한 보고 기능과 네트워크 상태 진단 기능을 통해 IP를 보조하는 기능을 수행

— ICMP 메시지 종류 • •

오류 보고 메시지 : 라우터나 호스트에서 IP 패킷을 전달할 때 문제가 발생하였을 경우 사용 네트워크 진단 기능 : 라우터나 네트워크에 대한 정보를 얻고자 할 때 사용 61


2.3 IP 주소 관련 프로토콜 — ICMP 패킷 포맷 •

IP 헤더의 프로토콜 필드값을 1로 설정하여 캡슐화 – 메시지 타입 필드 : ICMP 메시지 종류를 기술 – 코드 필드 : 메시지 타입에 따라서 세분화할 필요할 때 사용 – 체크섬 필드 : ICMP 메시지에 대해 체크섬을 계산한 값이 삽입 – 메시지 의존 필드 1은 메시지 타입에 따라 추가적인 헤더 정보가 포함될 수 있으며 메시지 정보 필드 2 또한 메시지 타입에 따라 전달될 정보가 정해짐 0

4 버전

8

헤더길이

15 서비스 타입

식별자 TTL Time-To-Live

31 전체 길이 플래그 플래그

프로토콜(1) 프로토콜

단편화옵셋 옵셋 단편화 헤더 체크섬

발신지 IP 주소 송신측

IP 헤더

송신지 IP 주소 수신측 옵션(필요한 경우에만, 가변길이) 옵션(필요한 경우에만) 메시지 타입

코드

체크섬

메시지 의존 부분

메시지 정보

ICMP

62


2.3 IP 주소 관련 프로토콜 — 목적지 도달 불가 메시지(Destination Unreachable Message) •

패킷이 중도에 폐기될 때 사용되는 메시지

메시지 타입 필드 값은 3, 코드 필드에는 전송 실패 정보가 기록

정보 필드에는 폐기되는 패킷의 헤더와 데이터의 상위 8 바이트가 저장.

— 시간 초과 메시지(Time Exceeded Message) •

패킷이 목적지에 전달되기 전에 시간 초과로 폐기되는 경우 사용

메시지 타입 필드 값은 11, 코드 필드에는 TTL 초과인 경우는 0, 재결합 시간 초과인 경우는 1이 설정

시간 초과 메시지는 Traceroute 명령에서 주로 사용

63


2.3 IP 주소 관련 프로토콜 — 파라미터 문제 메시지(Parameter Problem Message) •

패킷 헤더 부분에 문제가 발생한 경우에 사용되는 메시지

메시지 타입 값은 12, 코드 필드에는 헤더 오류인 경우는 0, 원하는 필드가 없는 경우에는 1을 사용

메시지 의존 필드의 상위 8 비트는 포인터로써 사용되며 패킷 헤더의 어떤 부분에 문제가 발생하였는지를 가르킴

— 송신 억제 메시지(Source Quench) •

패킷 흐름을 위해 사용되는 메시지

과도한 패킷의 유입으로 라우터에서 패킷을 버려야 할 때 송신 호스트로 패킷의 폐기를 알리기 위해 사용

타입 필드 값은 4, 코드 필드 값은 0을 사용 64


2.3 IP 주소 관련 프로토콜 — 재지정 메시지(Redirection Message) •

라우터는 호스트로부터 수신한 패킷의 송수신 주소를 확인하여 동일 네트워크의 다른 라우터가 라우팅하는 것이 더 효율적이라고 판단되면 라우팅 경로를 변경하도록 ICMP 재지정 메시지를 호스트로 전송

라우터는 수신한 패킷을 폐기하지 않고 재지정된 라우터로 직접 전달

메시지 타입 필드 값은 5, 코드 필드에는 재지정될 라우터 주소가 삽입

메시지 의존 필드에는 새로운 라우터 주소가 지정되며 메시지 정보 필드에는 패킷 헤더와 데이터의 상위 8 바이트가 포함

65


2.3 IP 주소 관련 프로토콜 — ICMP 메시지를 사용하는 경우 •

ICMP 메시지를 라우팅하거나 전달하는 경우

브로드캐스트나 멀티캐스트 패킷인 경우

분할된 패킷 중 처음 패킷이 아닌 경우

송신 주소가 특별한 IP 주소(127.0.0.1 이나 0.0.0.0)인 경우

66


2.3 IP 주소 관련 프로토콜 — ICMP 쿼리(Query) 메시지 •

네트워크 상황을 파악하기 위해 사용

기본적으로 ICMP 오류 메시지와 동일한 포맷을 사용하지만 메시지 의존 필드를 식별자와 순서 번호 필드로 나누어 사용

식별자와 순서 번호는 여러 개의 메시지를 보내는 경우 각각을 구분하기 위해 사용

67


2.3 IP 주소 관련 프로토콜 — 에코 요청과 응답 메시지(Echo Request and Reply) •

두 호스트 사이에 통신이 가능한지 검사할 때 사용되는 메시지

타입 필드 값은 요청인 경우 8, 응답인 경우는 0이 지정되고 코드값은 0

답 메시지 데이터 필드에는 요청 메시지의 데이터 필드 값이 그대로 복사

에코 메시지는 “Ping” 명령에서 사용

68


2.3 IP 주소 관련 프로토콜 — 타 임 스 탬 프 요 청 과 응 답 메 시 지 (Timestamp Request and Reply) •

패킷 전송 시간 측정 메시지

메시지 타입 필드 –

요청인 경우 13, 응답인 경우는 14가 설정되며 코드 필드 값은 0

데이터 필드 –

출발 시간(Original timestamp) : 송신할 때의 시간

도착 시간(Receive timestamp) : 수신할 때의 시간

전송 시간(Transmit timestamp) : 수신 호스트에서 응답 메시지를 전송할 때의 시간

측정 시간들은 세계 표준시(Universal time)를 숫자값으로 표현 –

A에서 B까지 가는데 걸린 시간(Sending time), B에서 A까지의 전달 시간(Receiving time), A에서 B까지의 왕복시간(Round-trip time) 측정

동기화되지 않은 경우 측정한 시간값을 절대적으로 신뢰할 수는 없음

69


2.3 IP 주소 관련 프로토콜 —

주소 마스크 요청과 응답 메시지(Address Mask Request and Reply) •

호스트가 서브넷 마스크 값을 얻을 때 사용하는 메시지

라우터에서 응답 메시지를 전송

타입 필드 값은 요청인 경우는 17, 응답인 경우는 18을 사용하며 코드 필드 값은 0

응답 메시지의 데이터 필드에는 서브넷 마스크 값이 포함

라우터 요청과 광고 메시지(Router Solicitation and Advertisement) •

호스트가 네트워크 정보를 알고 싶을 때 사용하는 메시지

라우터는 라우팅 정보를 포함한 라우터 광고 메시지를 방송

라우터는 동일 네트워크에 존재하는 모든 라우터에 대한 정보도 함께 전송

라우터마다 우선값을 주어 호스트가 디폴트 라우터를 자동으로 설정할 수 있게함

70


2.4 멀티캐스팅 • 멀티캐스트 — 동일한 정보를 여러 사람에게 전송시 • •

유니캐스트 방법은 중복된 전송으로 인해 대역폭을 낭비 및 수신자가 증가할수록 송신측의 부하가 커짐 필요한 몇몇 호스트들에만 메시지를 전달하는 방법 필요

— 멀티캐스트 장점 • •

동일한 패킷의 전송을 방지하여 대역폭 낭비를 줄임 하나의 패킷만을 전송하기 때문에 시간 지연 문제가 줄어들어 화상 회의와 같이 시간에 민감한 서비스에 적합

— 멀티 캐스팅 사용 • •

멀티캐스트를 지원하는 장비들만을 모아 MBone이라는 가상 네트워크를 구축하여 사용 터널링(Tunneling) 기법을 사용 71


2.4 멀티캐스팅 — 유니캐스트와 멀티캐스트 비교

72


2.4 멀티캐스팅 — 멀티캐스트의 기본 요소 •

호스트 그룹의 정의 – 멀티캐스트 패킷을 수신하는 호스트들의 집합 – 각각의 그룹은 멀티캐스트 주소로 구분

그룹 관리 – 멀티캐스트 그룹은 필요에 따라 추가, 삭제되는 동적인 구조 – 그룹 관리를 위한 새로운 메커니즘으로 IGMP 사용

라우팅 경로의 설정 – 인터넷에서 목적지에 도달하기 위한 경로 또한 다양하게 존재 – 송신 호스트를 루트로 하여 경로를 설정하는 방법과 여러 수신 호스트가 하나의 공유된 경로를 사용하는 방법을 사용

73


2.4 멀티캐스팅 — 멀티캐스트 주소 •

멀티캐스트 주소

IPv4 멀티캐스트 주소는 클래스 D 주소를 사용

사용가능한 범위는 224.0.0.0 에서 239.555.555.0 까지

몇 개의 멀티캐스트 주소는 예약되어 있음 IP 주소

지정 시스템

224.0.0.1

로컬 서브넷 안에 있는 모든 시스템

224.0.0.2

로컬 서브넷 안에 있는 모든 라우터

224.0.0.5

OSPF(Open Shortest Path First)를 지원하는 모든 라우터

224.0.0.9

모든 RIPv2 라우터

74


2.4 멀티캐스팅 • 멤버쉽 탈퇴 —더 이상 그룹 사용을 원하지 않는 호스트는 그룹 탈퇴 메시지를 라우터에 전송 —그룹에서 맨 마지막으로 탈퇴하는 경우나 마지막으로 탈퇴하는지 모르는 경우에도 전송 —목적지 주소는 224.0.0.2이며, 네트워크에 존재하는 모든 라우터에게 전달

75


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.