1. IGMP (Internet Group Management Protocol)
ㅇ 서브넷(로컬 네트워크) 상에서, 멀티캐스팅 멤버십 제어를 위한, 그룹 관리용 프로토콜
- 하나의 라우터와 여러 호스트로 구성되는 서브 네트워크(Sub Network) 상에서,
- 호스트들이 어떤 멀티캐스트 그룹에 속하는 가를,
- 라우터에게 알리기 위한,
- 일종의 그룹 관리용 신호 프로토콜 (Signaling Protocol)
2. IGMP의 통신계층 상의 위치
ㅇ IGMP,ICMP 등은 데이터 전송용 프로토콜이 아니고,
- 네트워크 상에 이벤트 또는 변화를 알리는데 사용되는 제어용 프로토콜 임
3. IGMP 동작 개요
ㅇ 멀티캐스트 라우터는, 주기적으로,
- Subnet 호스트 그룹들(224.0.0.1 : 멀티캐스트 주소)에게 IGMP Query 메시지를 전송
ㅇ 호스트는, 이러한 IGMP Query 메시지에 응답하면서,
- 자신이 가입하려는 그룹 정보(멀티캐스트 주소)를 IGMP Report 메시지를 통해 라우터에게 알려줌
ㅇ 한편, 호스트는 자체적으로,
- IGMP Query 메시지(라우터 -> 호스트) 없이도, 먼저 Report 메시지를 라우터에게 전송도 가능
4. IGMP 메세지 종류 및 동작
※ ☞ IGMP 메세지 유형 참조
- Membership Query (라우터 -> 호스트)
. 그룹 멤버쉽 조사 (monitoring) : 멤버쉽 질의 메시지를 보내서 응답을 기다림
.. 일정 횟수 이상 응답이 없거나, 탈퇴 메세지를 주면,
라우터는 해당 호스트를 그룹에서 탈퇴 시킴
- Membership Report (호스트 -> 라우터)
. 그룹 가입 (joining) : 그룹에 가입하고자 하는 요청을 라우터에 보고
. 멤버쉽 연속 (member continuation) : 계속해서 해당 그룹에 남기를 원하는 보고
- Leave Report (호스트 -> 라우터)
. 그룹 탈퇴 (leavinig) : 더이상 그룹에 남아있지 않고 탈퇴함
5. IGMP 패킷 구성
※ ☞ IGMP 패킷 참조
ㅇ IPv4 헤더 내 IGMP 관련
- 프로토콜 ID : 2 ☞ IANA의 공식 PPP Numbers
- IGMP의 TTL : 1
. 로컬 서브네트워크를 벗어나면 자동 폐기됨
- IPv4 옵션 : Router Alert 옵션이 사용됨
ㅇ 유형(type) (8 비트) ☞ IGMP 메세지 유형 참조
- 0x11 : Membership Query
- 0x12 : IGMP v1 Membership Report [RFC 1112]
- 0x16 : IGMP v2 Membership Report [RFC 2236]
- 0x17 : IGMP v2 Leave Group [RFC 2236]
- 0x22 : IGMP v3 Membership Report [RFC 3376]
6. IGMP 기타 기능
ㅇ IGMP Snooping
- IGMP Snooping은 라우터와 호스트 사이에 있는 스위치가 IGMP 메세지들을 들을 수
있게 하는 기능을 말함
ㅇ IGMP Querier Election
- 동일 LAN에 여러 멀티캐스트 라우터가 있으면,
IPv4 주소 중 가장 낮은 주소를 갖는 라우터가 Querier 역할을 집중하게 함
7. 관련표준
ㅇ RFC 1112 (IGMP v1, Host extensions for IP Multicasting)
ㅇ RFC 2236 (IGMP v2, Internet Group Management Protocol, Version 2)
ㅇ RFC 3376 (IGMP v3, Internet Group Management Protocol, Version 3)