박승철교수 한국기술교육대학교 -...

71
1 TCP/IP Network Protocols 5– IP 지원 프로토콜: ARP RARP ICMP IGMP ARP , RARP , ICMP , IGMP 박승철교수 한국기술교육대학교

Transcript of 박승철교수 한국기술교육대학교 -...

Page 1: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

1

TCP/IP Network Protocols제5장 – IP 지원 프로토콜: ARP RARP ICMP IGMPARP, RARP, ICMP, IGMP

박승철교수

한국기술교육대학교

Page 2: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

2

제5장의 강의 목표

• ARP의 역할과 동작 원리에 대한 이해

• RARP의 역할과 동작 원리에 대한 이해

• ICMP의 역할과 동작 원리에 대한 이해

• IGMP의 역할과 동작 원리에 대한 이해

Page 3: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

3

제4장의 구성

• ARP(Address Resolution Protocol)▫ ARP의 필요성

▫ ARP의 동작 절차

▫ ARP 메시지

▫ 프락시 ARP(Proxy ARP)

• RARP(Reverse Address Resolution Protocol)( )▫ RARP 필요성과 동작 절차

▫ RARP 메시지

• ICMP(Internet Control Message Protocol)ICMP 메시지 유형과 포맷▫ ICMP 메시지 유형과 포맷

▫ ICMP 오류 보고 메시지

▫ ICMP 질의 메시지

• IGMP(Internet Group Management Protocol)▫ 멀티캐스팅 모델과 IGMP의 역할

▫ IGMP 메시지 유형

▫ IGMP 메시지 전달

▫ IGMP 동작 절차

Page 4: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

ARP RARP ICMP IGMP의 위치

4

ARP, RARP, ICMP, IGMP의 위치이메일서비스

인터넷 전화,멀티미디어 회의 제어

스트리밍제어

오디오,비디오

망 관리서비스

웹서비스

도메인서비스

파일전송

SDP

서비스 멀티미디어 회의 제어 제어 비디오 서비스서비스

MIME

서비스전송

HTTP SMTP FTP H.323 SIP DNS SNMP

RTP/

RTSP

TCP UDP

RTP/RTCP

IPICMP IGMP

QoS Sublayer

IPARP RARP

유선LAN

무선LAN

접속망무선WAN

유선WAN

Page 5: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

5

IP 지원 프로토콜의 필요성

• 인터넷▫ 서로 다른 유형의 다수의 하부 데이터 통신망들의 상호

연결을 통해 구축

IP• IP▫ 인터넷상에서 호스트와 호스트간에 비연결형(connecti

onless) 방식으로 비신뢰적인 데이터그램 전달 서비스onless) 방식으로 비신뢰적인 데이터그램 전달 서비스를 제공

Page 6: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

6

IP 지원 프로토콜의 필요성

• ARP, RARP▫ 인터넷상의 논리적인 IP 주소와 하부의 데이터 통신망

의 주소간의 변환 작업 수행

IP 주소와 하부망 주소간 변환 문제는 특정 하부 데이▫ IP 주소와 하부망 주소간 변환 문제는 특정 하부 데이터 통신망에 국한된 문제

▫ 하부망이 상호 연결된 인터넷상에서 데이터그램을 전하부망이 상호 연결된 인터넷상에서 데이터그램을 전달하는 IP상에서 동작할 필요가 없음

Page 7: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

7

IP 지원 프로토콜의 필요성

• ICMP▫ IP의 비연결형 서비스와 비신뢰적인 데이터그램 전송

서비스 특성을 보완하기 위한 프로토콜

데이터그램 전달 오류에 대한 보고 서비스▫ 데이터그램 전달 오류에 대한 보고 서비스

▫ 데이터그램 전달을 위한상태 정보 질의 서비스

▫ ICMP 서비스는 인터넷 전체에서 제공되어야 하므로 IC▫ ICMP 서비스는 인터넷 전체에서 제공되어야 하므로 ICMP 메시지는 IP를 사용하여 전송

Page 8: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

8

IP 지원 프로토콜의 필요성

• IGMP▫ IP 주소에 의해 식별되는 각 수신자가 멀티캐스트 주소

에 의해 식별되는 수신자 그룹에 동적으로 가입(join)하고 탈퇴할 수 있게 관리고 탈퇴할 수 있게 관리

▫ IGMP 서비스는 인터넷 전체에서 제공되어야 하므로 IGMP 메시지는 IP를 사용하여 전송GMP 메시지는 IP를 사용하여 전송

Page 9: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

9

ARP(Address Resolution Protocol)

• ARP의 필요성

• ARP의 동작 절차

• ARP 메시지

• 프락시 ARP(Proxy ARP)

Page 10: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

10

ARP의 필요성

• IP 데이터그램 전달 경우의 수

경우 송신자 수신자1 출발지 호스트 목적지 호스트1 출발지 호스트 목적지 호스트2 출발지 호스트 지역 라우터3 라우터 다음 라우터

▫ 경우 1 : 송신자와 수신자가 동일한 하부망에 존재

라우터 다 라우터4 라우터 목적지 호스트

▫ 경우 2 : 호스트 지역 라우터에게 IP 데이터그램

▫ 경우 3 : 라우터가 다음 홉 라우터에게 IP 데이터그램 전달

경우 4 : 목적지 망의 라우터가 목적지 호스트에게 전달▫ 경우 4 : 목적지 망의 라우터가 목적지 호스트에게 전달

Page 11: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

11

ARP의 필요성

• 수신자의 IP 주소▫ 송신자는 수신자의 IP 주소를 항상 알고 있음

▫ 경우1의 수신자 주소 : IP 데이터그램의 목적지 IP 주소

경우2의 수신자 주소 설정된 지역 라우터의 IP 주소▫ 경우2의 수신자 주소 : 설정된 지역 라우터의 IP 주소

▫ 경우3의 수신자 주소 : 라우팅 테이블의 다음 홉 주소

경우4의 수신자 주소 : IP 데이터그램의 목적지 IP 주소▫ 경우4의 수신자 주소 : IP 데이터그램의 목적지 IP 주소

• ARP의 역할송신자는 수신자 IP 주소에 대응되는 하부망 주소(예▫ 송신자는 수신자 IP 주소에 대응되는 하부망 주소(예, 이더넷 주소)를 획득해야 함

▫ 수신자 IP 주소에 대응되는 하부망 주소 반환수신자 IP 주소에 대응되는 하부망 주소 반환

Page 12: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

12

ARP의 동작 절차

• IP 주소와 하부망 주소간 변환 방식정적 변환( t ti i ) 방식▫ 정적 변환(static mapping) 방식

▫ 동적 변환(dynamic mapping) 방식

• 정적 변환 방식• 정적 변환 방식▫ 관리자가 하부망에 연결된 모든 수신자의 IP 주소와 하부망

주소 변환 테이블을 생성

▫ 호스트 또는 라우터의 추가/삭제/주소 변경될 때마다 주소변환 테이블을 수동적으로 갱신해야 함

• ARP▫ 송신자가 수신자와 메시지 교환을 통해 수신자 IP 주소에 대

응되는 하부망 주소를 동적으로 변환하는 프로토콜응되는 하부망 주소를 동적으로 변환하는 프로토콜

Page 13: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

ARP의 동작 절차

13

ARP의 동작 절차라우터(송신자) 다음 라우터(수신자)

(2)다음 홉 라우터

라우팅 테이블

(1) 다음 홉라우터IP 주소

IP ARP ARP IP

(2)다음 홉 라우터IP 주소

(9)이더넷주소

(3)ARP요청 메시지

(8)ARP응답 메시지

(6)ARP응답 메시지

(5)ARP요청 메시지

(10)IP데이터그램

+목적지

이더넷 주소

(12)IP데이터그램

EthernetNIC

EthernetNIC

(4) 이더넷 브로드캐스트 프레임

(7) 이더넷 유니캐스트 프레임

(11) 이더넷 유니캐스트 프레임

이더넷

Page 14: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

14

ARP의 동작 절차

1. 송신자 라우터의 IP는 목표 수신자인 다음 라우터의 IP 주소를 ARP에 전달하여 수신자의 이더넷 주소와 변환하도록 요구에 전달하여 수신자의 이더넷 주소와 변환하도록 요구

2. 송신자 ARP는 목표 수신자 IP 주소를 포함하는 ARP 요청 메시지를이더넷 하부 데이터 통신망에 연결된 모든 수신자(호스트 또는 라우터)에게 방송우터)에게 방송

3. ARP 요청 메시지에 포함된 IP 주소와 동일한 IP 주소를 가진 목표수신자(다음 라우터)는 자신의 하부망 주소를 담은 ARP 응답 메시지를 송신자에게 유니캐스트 프레임으로 전송

4. ARP 응답 메시지를 수신한 송신자 ARP는 목표 수신자의 이더넷주소를 IP에게 전달주소를 IP에게 전달

Page 15: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

15

ARP 캐싱(Caching)• ARP 응답 메시지를 받은 송신자는 자신의 캐쉬

테이블(cache table)에 해당 수신자의 IP 주소와테이블(cache table)에 해당 수신자의 IP 주소와하부망 주소를 등록• 동일한 IP 주소를 가진 수신자에게 데이터그램을• 동일한 IP 주소를 가진 수신자에게 데이터그램을

재전송할 때 캐쉬 테이블에서 신속하게 변환▫ 성능 향상성능 향상

• 캐쉬 테이블에 저장된 주소 변환 정보는 일정 시간이 경과되도록 사용되지 않으면 삭제▫ 하부망의 동적 변화를 적절하게 반영할 수 있게 하고 테

이블 크기를 적절한 범위내로 유지

Page 16: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

16

ARP 메시지

Hardware Type Protocol Type

8 비트 8 비트 16 비트

HardwareLength

ProtocolLength

Hardware Type Protocol Type

OperationRequest 1 Reply 2Length Length Request 1, Reply 2

Sender Hardware Address

Sender Protocol Address

Target Hardware Address

Target Protocol Address

Page 17: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

17

ARP 메시지

• 하드웨어 유형(Hardware Type)▫ 하드웨어 유형 필드는 ARP가 동작하는 하부 데이터 통신망의 유형

(예 이더넷의 유형 1)(예, 이더넷의 유형 : 1) ▫ ARP는 어떤 유형의 하부 데이터 통신망에서도 동작

• 프로토콜 유형(Protocol Type)▫ 프로토콜 유형 필드는 ARP를 사용하는 상위 계층 프로토콜프로토콜 유형 필드는 ARP를 사용하는 상위 계층 프로토콜

(예, IP의 프로토콜 유형 값은 0x0800)▫ ARP는 어떤 상위 계층 프로토콜과도 함께 사용 가능

• 하드웨어 길이(Hardware Length)하 데이터 통신망의 소 길이를 바이 단위 현▫ 하부 데이터 통신망의 주소 길이를 바이트 단위로 표현(예, 이더넷의 하드웨어 길이는 6)

• 프로토콜 길이(Protocol Length)▫ 상위 계층 프로토콜이 사용하는 주소의 길이를 바이트 단위로 표현상위 계층 프로토콜이 사용하는 주소의 길이를 바이트 단위로 표현

(예, IPv4의 프로토콜 길이는 4)• 동작(Operation)

▫ 메시지의 유형을 표현청 메시지 는 응답 메시지 는▫ ARP 요청 메시지(ARP Request)는 1, ARP 응답 메시지(ARP Reply)는 2

Page 18: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

18

ARP 메시지

• 송신자 하드웨어 주소(Sender Hardware Address)송신자의 하부망 주소▫ 송신자의 하부망 주소

• 송신자 프로토콜 주소(Sender Protocol Address)송신자의 상위 계층 프로토콜이 사용하는 주소▫ 송신자의 상위 계층 프로토콜이 사용하는 주소

• 목표 하드웨어 주소(Target Hardware Address)▫ 목표 수신자의 하부망 주소▫ 목표 수신자의 하부망 주소

▫ ARP 요청 메시지의 경우 목표 수신자의 하드웨어 주소를 알수 없으므로 이 필드의 값은 0

• 목표 프로토콜 주소(Target Protocol Address)▫ 목표 수신자의 상위 계층 프로토콜이 사용하는 주소

Page 19: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

19

ARP 메시지 캡슐화(Encapsulation)

• ARP의 동작 범위는 특정 하부 데이터 통신망▫ ARP 메시지는 IP 데이터그램으로 캡슐화(encapsulatio

n)되어 전달될 필요가 없음

대신 하부 데이터 통신망의 데이터 전송 단위로 캡슐화▫ 대신 하부 데이터 통신망의 데이터 전송 단위로 캡슐화되어 전달

Page 20: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

ARP 메시지 캡슐화(E l ti )

20

ARP 메시지 캡슐화(Encapsulation)Hardware Type Protocol Type

HardwareLength

ProtocolLength

Hardware Type Protocol Type

Operation

Sender Hardware AddressARP 요청/응답 Sender Hardware Address

Sender Protocol Address

T t H d Add

ARP 요청/응답메시지

Target Hardware Address

Target Protocol Address

유형 : 0x0806

프리엠블목적지주소

출발지주소

유형

데이터(data) CRC

유형 : 0x0806

8 6 6 2 46-1500 4

Page 21: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

프락시 ARP(P ARP)

21

프락시 ARP(Proxy ARP)A

B

Added

C

Subnetwork

Proxy ARP Router

ARP Reply

호스트 ARP Request

ARP Reply

Page 22: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

22

프락시 ARP(Proxy ARP)• 프락시 ARP

자신이 관리하는 호스트들의 ARP를 대신하는 ARP▫ 자신이 관리하는 호스트들의 ARP를 대신하는 ARP▫ 프락시 ARP 라우터 : 호스트 A, B, C 관리▫ 호스트 A B C에 대한 ARP 요청 메시지를 수신하면 자호스트 A, B, C에 대한 ARP 요청 메시지를 수신하면 자

신의 하부망 주소를 담은 ARP 응답 메시지를 전달▫ 실제 IP 데이터그램을 수신한 프락시 ARP 라우터는 적

절한 방법으로 각 호스트에게 전달절한 방법으로 각 호스트에게 전달

• 프락시 ARP 사용전체 시스템의 변경 없이 서브넷팅 효과를 내고자 할 때▫ 전체 시스템의 변경 없이 서브넷팅 효과를 내고자 할 때사용

▫ 서브넷의 라우터를 프락시 ARP 라우터로 설정

Page 23: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

23

RARP

• RARP 필요성과 동작 절차

• RARP 메시지

Page 24: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

24

RARP의 필요성

• 특정 시스템(호스트 또는 라우터)이 하부망 주소는 알고 있으나 IP 주소를 모를 때 하부망 주소를는 알고 있으나 IP 주소를 모를 때 하부망 주소를IP 주소로 변환하기 위해 사용

• ROM으로 부팅되는 디스크리스 워크스테이션▫ IP 주소 정보는 ROM에 저장될 수 없기 때문에 디스크

리스 워크스테이션은 자신의 IP 주소를 알 수 없음리스 워크스테이션은 자신의 IP 주소를 알 수 없음

▫ RARP를 사용하여 자신의 하부망 주소에 대응되는 IP 주소 획득주소 획득

Page 25: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

RARP 동작 절차

25

RARP 동작 절차호스트 RARP 서버

ROM

(1) 이더넷 주소

IP 주소서버

(5)이더넷 (6)IP 주소

IP RARP RARP(10)IP 주소

주소

(2)RARP요청 메시지

(9)RARP응답 메시지

(7)RARP응답 메시지

(4)RARP요청 메시지

(11)IP데이터그램

EthernetNIC

EthernetNIC

(3) 이더넷 브로드캐스트 프레임

(8) 이더넷 유니캐스트 프레임

(12) 이더넷 프레임( )

이더넷

Page 26: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

26

RARP 동작 절차

• 모든 디스크리스 워크스테이션에 대한 하부망 주소와 대응되는 IP 주소 정보는 RARP 서버에 유지와 대응되는 IP 주소 정보는 RARP 서버에 유지

• 디스크리스 워크스테이션은 자신의 이더넷 주소를담은 RARP 요청 메시지를 하부 통신망에 방송담은 RARP 요청 메시지를 하부 통신망에 방송

• 방송 프레임을 통해 RARP 요청 메시지를 수신한 RARP 서버는 IP 주소를 담은 RARP 응답 메시지를 해RP 서버는 IP 주소를 담은 RARP 응답 메시지를 해당 디스크리스 워크스테이션에게 전송

• RARP 응답 메시지를 수신한 RARP는 서버가 할당한• RARP 응답 메시지를 수신한 RARP는 서버가 할당한IP 주소를 IP에게 전달

Page 27: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

27

RARP 메시지 포맷

Hardware Type Protocol Type

HardwareLength

ProtocolLength

Hardware Type Protocol Type

OperationRequest 3, Reply 4Length Length Request 3, Reply 4

Sender Hardware Address

Sender Protocol Address

Target Hardware Address

Target Protocol Address

Page 28: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

RARP 메시지 포맷

28

RARP 메시지 포맷Hardware Type Protocol Type

HardwareLength

ProtocolLength

Hardware Type Protocol Type

OperationRequest 3, Reply 4

Sender Hardware AddressRARP 요청/응답 Sender Hardware Address

Sender Protocol Address

Target Hardware Address

RARP 요청/응답메시지

Target Hardware Address

Target Protocol Address

유형 : 0x8035

프리엠블목적지주소

출발지주소

유형

데이터(data) CRC

유형 : 0x8035

8 6 6 2 46-1500 4

Page 29: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

29

ICMP

• IP의 비연결형 서비스와 비신뢰적인 데이터그램전송 서비스 특성을 보완하기 위한 프로토콜전송 서비스 특성을 보완하기 위한 프로토콜

• 데이터그램 전달 오류에 대한 보고 서비스

• 데이터그램 전달을 위한상태 정보 질의 서비스

• ICMP 서비스는 인터넷 전체에서 제공되어야 하므로 ICMP 메시지는 IP를 사용하여 전송

Page 30: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

30

ICMP 메시지 유형

분류 유형 메시지분류 유형 메시지

오류 보고 메시지

3 Destination Unreachable4 Source Quench11 Time Exceeded지 11 Time Exceeded5 Redirection

8 or 0 Echo Request or Reply

질의 메시지13 0r 14 Timestamp Request or Reply17 or 18 Address Mask Request or Reply10 or 9 Router Solicitation or Advertisement

Page 31: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

ICMP 메시지 포맷과 캡술화

31

ICMP 메시지 포맷과 캡술화8 비트 8 비트 16 비트

Type Code Checksum

8 비트 8 비트 16 비트

Rest of Header

ICMP메시지

Data

IP 헤더 데이터jIP 데이터그램

이더넷 프레임

프리엠블목적지주소

출발지주소

유형

데이터(data) CRC

Page 32: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

32

ICMP 메시지 포맷

• ICMP 헤더 구성▫ 공통 헤더 + 메시지 유형 의존 헤더▫ 공통 헤더 + 메시지 유형 의존 헤더

• 공통부분▫ ICMP 메시지의 유형(Type)메시지의 유형( yp )▫ 코드(Code) - 특정 메시지 유형에 대한 이유(reason)▫ 첵섬(Checksum) - ICMP 전체 메시지에 대한 첵섬

메시지 유형 의존 헤더• 메시지 유형 의존 헤더▫ 메시지 유형에 따라 다르게 정의

• ICMP 데이터• ICMP 데이터▫ 오류 보고 메시지의 경우 오류를 유발한 원래의 데이터그램

을 찾기 위한 정보질의 메시지의 경우 질의 유형에 따라 필요한 정보▫ 질의 메시지의 경우 질의 유형에 따라 필요한 정보

Page 33: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

33

ICMP 오류 보고 메시지

• ICMP 메시지의 데이터 필드▫ 오류 발생 원인 분석에 필요한 정보 포함

▫ 원래 IP 데이터그램의 헤더 정보

IP 데이터그램의 데이터 중 처음 8 바이트▫ IP 데이터그램의 데이터 중 처음 8 바이트

• IP 데이터그램 헤더 정보송신한 IP 데이터그램의 정보 획득▫ 송신한 IP 데이터그램의 정보 획득

• IP 데이터그램의 데이터의 처음 8 바이트TCP 또는 UDP의 관련 정보(출발지 포트 번호 목적지▫ TCP 또는 UDP의 관련 정보(출발지 포트 번호, 목적지포트 번호, 순서 번호 등) 획득

Page 34: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

34

ICMP 오류 보고 메시지

• 목적지 도착 불가능(Destination Unreachable) 메시지시지

Page 35: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

오류 보고 메시지

35

ICMP 오류 보고 메시지Destination Unreachable Code DescriptionDestination Unreachable Code Description

0 Network unreachable

1 Host unreachable

2 Protocol unreachable

3 Port unreachable

4 Fragmentation needed but don’t-fragment bit set

5 S t f il d5 Source route failed

6 Destination network unknown

7 Destination host unknown

8 Source host isolated8 Source host isolated

9 Destination network administratively prohibited

10 Destination host administratively prohibited

11 Network unreachable for TOS

12 Host unreachable for TOS

13Communication administratively prohibited by filt

eringering

14 Host precedence violation

15 Precedence cutoff in effect

Page 36: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

36

ICMP 오류 보고 메시지

• 출발지 억제(Source Quench) 메시지

라우터나 목적지 호스트에 혼잡 상황이 발생하면 데이터그램을 송신▫ 라우터나 목적지 호스트에 혼잡 상황이 발생하면 데이터그램을 송신한 출발지 호스트에게 출발지 억제 메시지 전송

▫ 출발지 억제 메시지를 수신한 출발지 호스트는 출발지 억제 메시지가수신되지 않을 때까지 데이터그램 전송 속도를 낮춤수신되지 않을 때까지 데이터그램 전송 속도를 낮춤

Page 37: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

37

ICMP 오류 보고 메시지

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

▫ IP 데이터그램의 TTL 값이 0이 될 때 라우터는 데이터그램을 폐기하고 해당 데이터그램을 송신한 호스트에게 시간 초과 메시지 전송당 데이터그램을 송신한 호스트에게 시간 초과 메시지 전송

▫ 재조립 타이머가 종료될 때까지 단편화된 데이터그램들이 모두 도착하지않으면 목적지 호스트는 해당 데이터그램을 전송한 출발지 호스트에게 시간 초과 메시지 전송

Page 38: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

38

ICMP 오류 보고 메시지

• 방향 재지정(Redirect) 메시지▫ 호스트는 일반적으로 라우팅 프로토콜을 통한 라우팅

테이블 자동 갱신 과정에 불참(라우팅 트래픽 축소)대부분 호스트는 디폴트 라우터 주소만 유지▫ 대부분 호스트는 디폴트 라우터 주소만 유지

▫ 호스트의 데이터그램을 수신한 라우터가 더 좋은 경로를 알고 있으면 ICMP 방향 재지정 메시지 전송를 알고 있으면 ICMP 방향 재지정 메시지 전송

▫ 다른 라우터로 데이터그램 전송을 유도

Page 39: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

오류 보고 메시지

39

ICMP 오류 보고 메시지• 방향 재지정(Redirect) 메시지방향 재지정(Redirect) 메시지

▫ 코드 번호 0 : 하부망-지정 경로(network-specific route)에 대한 방향 재지정▫ 코드 번호 1 : 호스트-지정 경로(host-specific route)에 대한 방향 재지정▫ 코드 번호 2 : 특정한 서비스 유형에 근거한 하부망-지정 경로(network-specific route)에 대한 방향 재지정▫ 코드 번호 3 : 특정한 서비스 유형에 근거한 호스트-지정 경로(host-specific route)에 대한 방향 재지정▫ 목적지 라우터의 IP 주소(IP Address of the Target Router) : 데이터그램을 전송할 새로운 라우터의 주소

Page 40: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

40

ICMP 오류 보고 메시지

• 매개변수 문제(Parameter Problem) 메시지

IP 데이터그램의 헤더 정보의 문제로 인해 데이터그램▫ IP 데이터그램의 헤더 정보의 문제로 인해 데이터그램을 처리할 수 없는 경우 출발지 호스트에게 데이터그램헤더의 어떤 매개변수에 문제가 있는 지 통지

Page 41: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

41

ICMP 질의 메시지

• 에코 요청 또는 응답(Echo Request or Reply) 메시지호스트나 라우터에 의해 송신▫ 호스트나 라우터에 의해 송신

▫ 에코 요청 메시지를 받은 호스트나 라우터는 즉시 에코 응답(Echo Reply) 메시지를 에코 요청 메시지 송신자에게 전송

▫ 에코 응답 메시지를 수신한 송신자는 상대방 라우터 또는 호스트가 정상적으로 동작하고 있음 인식

▫ 대표적인 응용 : 핑(ping) 프로그램대표적인 응용 : 핑(ping) 프로그램

Page 42: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

42

ICMP 질의 메시지• 에코 요청 또는 응답(Echo Request or Reply) 메시지

▫ 식별자(Identifier) : 일반적으로 송신자의 프로세스 식별자를 표시

▫ 순서 번호(Sequence Number) : 에코 요청 메시지의 순서 번호

▫ 에코 요청 메시지의 식별자와 순서 번호는 에코 응답 메시지에 동일하게 복사

송신자는 수신한 에코 응답 메시지에 대응되는 에코 요청 메시지 파악 가능

▫ 데이터 필드 : 에코 응답 메시지에 의해 정확하게 반복 송신될 정보가 에코 요청 메시지 송신자에 의해 포함

예) ping 클라이언트 프로그램은 현재 시간 정보가 포함, ping 서버는 이 정보를 에코 응답 메시지의 데이터 필드에동일하게 복사하여 다시 ping 클라이언트에게 전달

Page 43: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

43

Ping Program• int send_ping() {• int len;• struct icmp *icmp;p p;•• icmp = (struct icmp *) sendbuf;• bzero((char *)icmp, sizeof(struct icmp));• icmp->icmp_type = ICMP_ECHO;

i i d 0• icmp->icmp_code = 0;• icmp->icmp_id = pid;• icmp->icmp_seq = seqnum++;• memset(icmp->icmp_data, 0xa5, datalen);• gettimeofday((struct timeval *)icmp->icmp data NULL);• gettimeofday((struct timeval )icmp->icmp_data, NULL);•• len = 8 + datalen;• icmp->icmp_cksum = 0;• icmp->icmp_cksum = in_cksum((u_short *) icmp, len);p p_ _ (( _ ) p )•• sendto(sockfd, sendbuf, len, 0, (struct sockaddr *)&dstaddr, • sizeof(dstaddr));• }

Page 44: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

44

Ping Program• void tv_sub(struct timeval *out, struct timeval *in) {• if ((out->tv_usec -= in->tv_usec) < 0) {• --out->tv sec;

• gettimeofday(&tvrecv, NULL);• ip = (struct iphdr *) ipdata;out >tv_sec;

• out->tv_sec += 1000000;• }• out->tv_sec -= in->tv_sec;• }

• ip_headlen = ip->ihl * 4;•• if (ip->protocol != IPPROTO_ICMP) {• printf("not ICMP packet.\n");• return;}

•• print_ping(char *ipdata, int recvsize) {• int ip_headlen, icmp_len;• double rtt;

• }• icmp = (struct icmp *) (ipdata + ip_headlen);• icmp_len = recvsize - ip_headlen;•• tvsend = (struct timeval *)icmp->icmp_data;

• struct icmp *icmp;• struct iphdr *ip;• struct timeval *tvsend, tvrecv;• char buf[512];

• tv_sub(&tvrecv, tvsend);• rtt = tvrecv.tv_sec * 1000.0 + tvrecv.tv_usec / 1000.0;• inet_ntop(AF_INET, (void *)&ip->saddr, buf, sizeof(buf));• printf("%d bytes recv from %s: seq= %u, ttl=%d, rtt=%.3f ms\n",• icmp len, buf, icmp->icmp seq, ip->ttl, rtt);

•p_ , , p p_ q, p , );

• }

Page 45: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

45

ICMP 질의 메시지

• 주소 마스크 요청 또는 응답(Address Mask Request or Reply) 메시지

▫ 호스트가 자신의 IP 주소에 대한 넷마스크 정보를 알지 못할 경우 사용

▫ 하부망상의 라우터에게 주소 마스크 요청 메시지(17)를 직접 또는 방송(broadcast)으로 전송

▫ 라우터는 주소 마스크 응답 메시지(18)를 통해 넷마스크 정보를제공

▫ RARP에 의한 IP 주소 획득 과정과 연계되어 사용 가능

Page 46: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

46

ICMP 질의 메시지

• 타임스탬프 요청 또는 응답(Timestamp Request or Reply) 메시지

▫ 출발지 시스템과 목적지 시스템간에 데이터그램 왕복에 걸리는 시간 측정

▫ 두 시스템의 시계 동기화

Page 47: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

47

ICMP 질의 메시지

• 타임스탬프 요청 또는 응답(Timestamp Request or Reply) 메시지▫ 근원 타임스탬프(Original Timestamp) : 출발지 시스템에 의해 기록되고근원 타임스탬프(Original Timestamp) : 출발지 시스템에 의해 기록되고

타임스탬프 요청 메시지의 출발 시간을 표시

▫ 타임스탬프 요청 메시지의 수신 타임스탬프(Receive Timestamp) 필드와전송 타임스탬프(Transmit Timestamp) 필드는 모두 0전송 타임스탬프(Transmit Timestamp) 필드는 모두 0

▫ 타임스탬프 응답 메시지를 생성하는 목적지 시스템은 타임스탬프 요청 메시지의 근원 타임스탬프 필드 값을 동일하게 복사

▫ 요청 메시지가 수신된 시간을 수신 타임스탬프 필드에 기록▫ 요청 메시지가 수신된 시간을 수신 타임스탬프 필드에 기록

▫ 응답 메시지의 출발 시간을 표시하는 전송 타임스탬프 기록

▫ 모든 타임스탬프 정보는 GMT(Greenwich Mean Time)을 대신하는 UT(Uni l Ti )로 표시iversal Time)로 표시

Page 48: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

48

ICMP 질의 메시지

• 라우터 찾기 또는 광고(Router Solicitation or Advertisement) ▫ 호스트가 같은 하부망상의 라우터에 관한 정보를 얻기 위해 라우터 요청 메시지(R호스트가 같은 하부망상의 라우터에 관한 정보를 얻기 위해 라우터 요청 메시지(R

outer Solicitation Message) 방송

▫ 라우터 요청 방송 메시지를 받은 라우터는 라우터 광고 메시지(Router Advertisement Message)를 사용하여 자신의 주소 정보를 전송

▫ 라우터는 주기적으로 광고 메시지 전송 가능

▫ ICMP 라우터 요청 메시지 포맷

Page 49: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

49

ICMP 질의 메시지

• ICMP 라우터 광고 메시지 포맷

Page 50: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

50

ICMP 질의 메시지

• ICMP 라우터 광고 메시지 포맷라우터는 자신의 소 정보뿐만 아니라 자신이 알 있는 해당 망▫ 라우터는 자신의 주소 정보뿐만 아니라 자신이 알고 있는 해당 망의 모든 라우터에 관한 정보 포함 가능

▫ 주소 수(Number of Addresses) : 라우터 광고 메시지에 포함된 라( )우터 주소의 수

▫ 주소 엔트리 크기(Address Entry Size) : 주소의 크기

수명 시간(Lifetime) :메시지에 포함된 정보에 대한 유효 시간▫ 수명 시간(Lifetime) :메시지에 포함된 정보에 대한 유효 시간

▫ 주소 선호도(Address Preference) : 각 라우터의 순위 정의주소 선호도 필드가 0으로 설정되면 해당 라우터는 기본 라우터(default router)로 간주

Page 51: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

51

IGMP(Internet Group Management Protocol)

• 멀티캐스팅 모델과 IGMP의 역할

• IGMP 메시지 유형

• IGMP 메시지 전달

• IGMP 동작 절차

Page 52: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

52

멀티캐스팅 모델

• 일대다 유니캐스트 모델

Page 53: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

53

멀티캐스팅 모델

• 응용 레벨 멀티캐스트 모델

Page 54: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

54

멀티캐스팅 모델

• 네트워크 레벨 멀티캐스트 모델송신자는 하나의 멀티캐스트 데이터그램 전송▫ 송신자는 하나의 멀티캐스트 데이터그램 전송

▫ 라우터가 여러 출력 링크로 데이터그램 복사후 전송

▫ 멀티캐스트 데이터그램이 링크를 한번만 통과네트워크 대역폭을 효율적으로 사용

▫ 인터넷의 멀티캐스트 전송 모델

Page 55: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

55

멀티캐스트 주소 지정 방식

• 직접 주소 지정 방식▫ 멀티캐스트 데이터그램에 수신자의 주소 리스트 지정▫ 멀티캐스트 데이터그램에 수신자의 주소 리스트 지정▫ 기존의 유니캐스트 주소를 그대로 쓸 수 있는 이점▫ 데이터그램에 포함되는 주소 정보의 양 증가▫ 100만 수신자의 인터넷 방송은 100만개의 주소 필요

• 간접 주소 지정 방식멀티캐스트 주소가 전체 수신자 그룹 지시▫ 멀티캐스트 주소가 전체 수신자 그룹 지시

▫ 멀티캐스트 주소로 전송된 데이터그램이 해당 멀티캐스트주소가 지시하는 그룹내의 모든 수신자에게 전달

▫ 그룹내의 각 수신자는 개별적인 유니캐스트 주소 보유▫ 인터넷은 간접 주소 지정 방식을 사용▫ 멀티캐스트 주소는 클래스 D 주소 사용▫ 멀티캐스트 주소는 클래스 D 주소 사용

Page 56: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

56

IGMP의 역할

• 인터넷의 멀티캐스트 그룹 관리 메커니즘▫ 호스트가 어떤 그룹에 가입하거나 탈퇴

▫ 특정 그룹에 속한 호스트의 존재 여부 확인128.59.16.12

128.119.40.186

128.34.108.63multicast group

128 34 108 60

group226.17.30.197

128.34.108.60

Page 57: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

57

IGMP의 동작 범위

• 호스트와 로컬 라우터 사이에서 동작▫ 멀티캐스트 데이터그램의 전달은 멀티캐스트 라우팅

프로토콜에 의해 수행

IGMPIGMPIGMP

wide-areamulticast

routing

IGMP

Page 58: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

58

IGMP 메시지 유형

• 보고(report) 메시지스 가 멀티캐스 룹에 가입 하 탈퇴 할 때 사용▫ 호스트가 멀티캐스트 그룹에 가입(join)하고 탈퇴(leave)할 때 사용

• 질의(query) 메시지로컬 라우터가 멀티캐스트 그룹의 멤버쉽( b hi )을 모니터▫ 로컬 라우터가 멀티캐스트 그룹의 멤버쉽(membership)을 모니터링 할 때 사용

query reportquery report

Page 59: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

59

유형 값 l유형(Type) 값(Value)일반(General) 또는 특정(Specific) 질의 0x11

멤버쉽 보고(Membership Report) 0x16멤버쉽 보고(Membership Report) 0x16탈퇴 보고(Leave Report) 0x17

Page 60: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

60

IGMP 메시지 포맷

유형(Type) 값(Value)일반(General) 또는 특정(Specific) 질의 0x11일반( ) 는 특정( p ) 질의

멤버쉽 보고(Membership Report) 0x16탈퇴 보고(Leave Report) 0x17

Page 61: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

61

IGMP 메시지 포맷

• 보고 메시지멤버쉽 보고(Membership Report) 메시지▫ 멤버쉽 보고(Membership Report) 메시지

▫ 탈퇴 보고(Leave Report) 메시지

• 질의 메시지• 질의 메시지▫ 일반 질의(General Query) : 특정 그룹 주소 지정▫ 특정 질의(Specific Query) : 그룹 주소를 지정하지 않음( p y)• 최대 응답 시간(Maximum Response Time)▫ 질의에 대한 응답 시간 지시

• 그룹 주소▫ 특정 멀티캐스트 주소(일반 질의 메시지 제외)

Page 62: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

62

IGMP 메시지 전달

• IGMP 메시지와 IP 데이터그램 목적지 IP 주소

유형(Type) 목적지 IP 주소일반(General) 또는 특정(Specific) 질의 224.0.0.1 본 하부망의 모든 시스템

멤버쉽 보고(Membership Report) 해당 그룹의 멀티캐스트 주소

탈퇴 보고(Leave Report) 224.0.0.2 본 하부망의 모든 라우터

Page 63: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

63

IGMP 메시지 전달

• IGMP 메시지와 IP 데이터그램 목적지 IP 주소질의 메시지▫ 질의 메시지

IGMP 질의 메시지를 전달하는 IP 데이터그램의 목적지 주소는본 하부망의 모든 시스템을 표시하는 224.0.0.1 멀티캐스트 주소 사용소 사용

▫ 메버쉽 보고 메시지멤버쉽 보고 메시지가 포함하고 있는 멀티캐스트와 동일한 멀티멤버쉽 메시지가 함하 있는 멀티캐 와 동일한 멀티캐스트 주소 사용멤버쉽 보고 메시지가 해당 그룹의 다른 모든 멤버들에게 전달됨으로써 지연 응답(Delayed Response)을 가능하게 하기 위함됨 써 지연 응답(Delayed Response)을 가능하게 하기 위함

▫ 탈퇴 보고 메시지본 하부망의 모든 라우터를 표시하는 224.0.0.2 멀티캐스트 주소 사용소 사용

Page 64: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

64

IGMP 메시지 전달

• IGMP 메시지 전달 범위▫ IGMP의 동작 범위는 하나의 하부망에 국한

▫ IGMP 메시지를 전달하는 IP 데이터그램의 TTL을 1로설정설정

• 멀티캐스트 데이터그램의 하부망 전달하부망이 멀티캐스트를 지원하는 경우▫ 하부망이 멀티캐스트를 지원하는 경우

▫ 하부망이 멀티캐스트를 지원하지 않는 경우

Page 65: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

65

IGMP 메시지 전달

• 하부망이 멀티캐스트를 지원하는 경우▫ 이더넷

▫ 멀티캐스트 IP 주소를 하부망의 멀티캐스트 주소로 변환환

▫ 멀티캐스트 프레임으로 캡슐화하여 전달

하부망이 멀티캐스트를 지원하지 않는 경우• 하부망이 멀티캐스트를 지원하지 않는 경우▫ 유니캐스트 프레임으로 캡슐화

▫ 멀티캐스트 IP 주소 그룹에 속한 멤버들의 유니캐스트 I▫ 멀티캐스트 IP 주소 그룹에 속한 멤버들의 유니캐스트 IP 주소를 미리 확보

▫ 터널링(tunneling) 기법터널링(tunneling) 기법

Page 66: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

66

IGMP 동작 절차

• 멀티캐스트 라우터▫ 적어도 한 개의 멤버가 있는 그룹 멀티캐스트 주소 목록

유지

각 멀티캐스트 그룹에 대해 해당 그룹 주소를 목적지 주▫ 각 멀티캐스트 그룹에 대해 해당 그룹 주소를 목적지 주소로 가지는 IP 데이터그램을 분배하는 라우터가 하나씩 존재씩 존재

▫ 멀티캐스트 라우터가 다수 존재하면 각 멀티캐스트 라우터는 멀티캐스트 주소 목록을 상호 배타적으로 유지

Page 67: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

67

멀티캐스트 라우터 동작 모델

OtherNetwork

R1

225.70.8.20231.24.60.9

…229.60.12.8

R2

225.

70.8

.20

R3

Network

R3

Page 68: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

68

IGMP 동작 절차

• 그룹 가입(Join a Group)▫ 호스트 또는 라우터는 해당 그룹의 멀티캐스트 주소를

가지는 멤버쉽 보고(Membership Report) 메시지를 멀티캐스트 라우터에게 전송티캐스트 라우터에게 전송

▫ 멤버쉽 보고 메시지를 수신한 라우터는 멀티캐스트 주소 목록에 해당 호스트 또는 라우터의 멤버쉽 보고 메시소 목록에 해당 호스트 또는 라우터의 멤버쉽 보고 메시지의 멀티캐스트 주소가 없으면 이 주소를 목록에 추가

Page 69: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

69

IGMP 동작 절차

• 그룹 탈퇴(Leave a Group)▫ 호스트 또는 라우터는 탈퇴 보고(Leave Report) 메시지

를 멀티캐스트 라우터에게 전달

탈퇴 보고 메시지를 수신한 멀티캐스트 라우터는 해당▫ 탈퇴 보고 메시지를 수신한 멀티캐스트 라우터는 해당멀티캐스트 주소를 포함하는 특정 질의 메시지 송신

▫ 최대 응답 시간 동안 멤버쉽 보고 메시지를 수신하지 못최대 응답 시간 동안 멤버쉽 보고 메시지를 수신하지 못하면 해당 멀티캐스트 주소를 그룹 목록에서 삭제

Page 70: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

70

IGMP 동작 절차

• 멤버쉽 모니터링(Monitoring Membership)멀티캐스트 라우터는 하부망내의 호스트 또는 라우터▫ 멀티캐스트 라우터는 하부망내의 호스트 또는 라우터들이 멀티캐스트 그룹 멤버쉽을 유지하고 있는 지 주기적으로 일반 질의(General Query) 메시지를 통해 확인( y)

▫ 일반 질의 메시지를 송신하는 기본 주기는 125초▫ 탈퇴 보고 메지지를 송신하지 않은 채 고장이 난 멤버로

인해 불필요하게 멀티캐스트 주소가 유지되는 상황 등인해 불필요하게 멀티캐스트 주소가 유지되는 상황 등을 예방

▫ 일반 질의 메시지를 받은 호스트 또는 라우터는 멤버쉽일반 질의 메시지를 받은 호스트 또는 라우터는 멤버쉽보고 메시지를 통해 특정 그룹의 멤버임을 멀티캐스트라우터에게 보고

Page 71: 박승철교수 한국기술교육대학교 - puka.tistory.compuka.tistory.com/attachment/cfile9.uf@134F75154BA5AA1650FC13.pdf · ip 주소에의해식별되는각수신자가멀티캐스트

71

IGMP 동작 절차

• 지연 응답(Delayed Response) 기법▫ 멀티캐스트 그룹에 다수의 멤버가 존재하면 다수의 멤버쉽 보고멀티캐 룹에 다수의 멤버가 존재하면 다수의 멤버쉽

메시지 발생 불필요한 트래픽을 유발▫ 호스트나 라우터가 질의 메시지를 수신하면 즉시 응답하지 않고

응답을 0과 10초 사이의 임의의 시간만큼 지연지연 시간 동안 만약 다른 스 는 라우터가 동일한 소 룹▫ 지연 시간 동안 만약 다른 호스트 또는 라우터가 동일한 주소 그룹에 대한 멤버쉽 보고 메시지를 송신하면 자신은 송신하지 않음

▫ 특정 멤버가 송신하는 멤버쉽 메시지는 다른 모든 멤버에게 동시에 전달(멀티캐스트 주소 사용) 전송 사실 감지 가능에 전달(멀티캐스트 주소 사용) 전송 사실 감지 가능

• 질의 라우터(Query Router)▫ 하나의 망에 하나의 질의 라우터(Query Router) 지정

질의 라우터만 질의 메시지 송신▫ 질의 라우터만 질의 메시지 송신▫ 나머지 멀티캐스트 라우터는 멤버쉽 보고 메시지를 수신하고 자신

의 그룹 주소 목록 갱신 작업만 수동적으로 수행하