본문 바로가기

IT/Network

IGMP 동작과정

IGMP의 동작 과정
IGMP는 버전 1과 버전 2가 있는데 여기서는 주로 버전 2에 대하여 설명하겠다. 첫번째로 (그림 5)에서와 같은 다중 메시지 형식(Multiple Message Type)은 IGMP 패킷의 전송 목적을 나타낸다.

○ 0x11: 멤버십 쿼리(Membership Query)를 나타내며, 라우터가 호스트에게 주로 보낸다. 멀티캐스트 데이터를 받기를 원하는 클라이언트가 있는지(General Query), 특정한 멀티캐스팅 그룹 어드레스로 전송되는 데이터를 계속 받기를 원하는 호스트가 있는지(Specific Query) 등의 질의에 사용한다.
○ 0x12: 버전 1 멤버십 리포트는 호스트가 버전 1로 자신이 데이터를 받기를 원하는 멀티캐스팅 그룹 어드레스를 보고할 때 사용된다.
○ 0x16: 버전 2 멤버십 리포트는 호스트가 버전 2로 자신이 데이터를 받기를 원하는 멀티캐스팅 그룹 어드레스를 보고할 때 사용된다.
○ 0x17: 해지 리포트(Leave Report)는 버전 2에만 있는 기능으로 호스트가 라우터에게 자신이 등록한 멀티캐스팅 그룹 어드레스로 오는 데이터를 더 이상 받고 싶지 않을 경우, 자신이 등록한 멀티캐스팅 그룹 어드레스를 명시적으로 해지해 달라고 요구하는 명령이다.

최대 반응 시간(Max. Resp. Time)은 멀티캐스트 그룹 어드레스의 등록과 해지를 빠르게 수행하기 위해서 사용한다. 라우터가 질의를 호스트들에 보내고 일정한 시간 동안 응답이 없으면 관련된 멀티캐스팅 그룹 어드레스를 빠르게 해지하기 위해서 사용한다. 1/10초 단위로 지정하며, 기본값은 10초다.
그룹 어드레스는 호스트가 라우터에게 보고하거나 라우터가 호스트에게 질의할 때 사용하는 멀티캐스트 그룹 어드레스다. 호스트가 라우터에게 등록할 때는 데이터의 수신을 원해 등록이나 해지를 요구하는 멀티캐스트 그룹 어드레스가 들어간다. 라우터가 일반 쿼리(General Query)를 수행할 때는 0.0.0.0이, 지정 쿼리(Specific Query)를 수행할 때는 특정한 멀티캐스팅 그룹 어드레스가 들어간다.
멀티캐스팅 방식을 통해 데이터를 전송받기를 원하는 애플리케이션을 수행하면 호스트는 IGMP를 통해 자신이 데이터를 받기를 원하는 멀티캐스팅 그룹 어드레스를 라우터에 보내 등록한다. 그래서 라우터가 이 멀티캐스팅 그룹 어드레스의 목적지로부터 오는 데이터가 있으면 이 데이터를 등록한 호스트가 있는 인터페이스로 전송한다.

'IT > Network' 카테고리의 다른 글

Multicast IGMP  (0) 2009.10.06
Fundamentals Multicast  (0) 2009.10.05
IGMP Flags  (0) 2008.12.12
멀티캐스트 주소  (0) 2008.12.12
TCP Analyze Sequence Numbers  (0) 2008.07.08