인터넷 그룹 관리 프로토콜(Internet Group Management Protocol, IGMP)은 IPv4 네트워크에서 멀티캐스트 그룹의 멤버십을 관리하기 위해 설계된 통신 프로토콜이다. IGMP는 호스트와 라우터 사이에서 멀티캐스트 주소에 대한 가입과 탈퇴 정보를 교환함으로써, 네트워크 장비가 필요한 멀티캐스트 트래픽만 전달하도록 지원한다.
개요
- 정식 명칭: Internet Group Management Protocol
- 약어: IGMP
- 표준화: IETF (Internet Engineering Task Force)
- RFC: RFC 1112(1989) → 최초 정의, 이후 RFC 2236(1997), RFC 3376(2002), RFC 3806(2004) 등에서 개정·보완됨.
- 계층: OSI 모델 3계층(네트워크 계층)에서 IP와 함께 동작한다.
역사
IGMP는 1980년대 말에 IPv4 기반 멀티캐스트 서비스 확장을 위해 도입되었다. 최초 사양은 RFC 1112에 정의되었으며, 이후 멀티캐스트 라우팅 효율성 향상과 보안 요구를 반영하여 여러 개정판이 발표되었다.
작동 원리
- 호스트 가입
- 호스트가 특정 멀티캐스트 그룹(예: 224.0.0.1)에 데이터를 수신하고자 하면, 해당 멀티캐스트 주소를 목적지로 하는 IGMP Membership Report 메시지를 전송한다.
- 라우터 질의
- 멀티캐스트 라우터는 주기적으로 IGMP General Query(일반 질의) 메시지를 전송해 네트워크 상에 해당 그룹에 가입한 호스트가 있는지 확인한다.
- 호스트 응답
- 라우터의 질의에 대해 호스트는 자신이 가입한 모든 멀티캐스트 그룹에 대해 IGMP Membership Report를 응답한다.
- 탈퇴
- 호스트가 그룹을 떠날 경우 IGMP Leave Group 메시지를 보내며, 라우터는 해당 그룹에 대한 마지막 호스트가 남았는지 확인하기 위해 Group‑Specific Query를 발송한다.
주요 버전
| 버전 | RFC | 주요 특징 |
|---|---|---|
| IGMPv1 | RFC 1112 | 기본적인 가입·탈퇴 기능 제공. 라우터는 주기적 질의만 수행. |
| IGMPv2 | RFC 2236 | Leave Group 메시지 도입, 빠른 탈퇴 처리, 그룹‑Specific Query 지원. |
| IGMPv3 | RFC 3376 | 소스 별(특정 송신자) 멀티캐스트 필터링(Include/Exclude) 기능 제공, 멀티소스 멀티캐스트(MSM) 지원. |
구현 및 활용
- 네트워크 장비: 대부분의 상용 스위치·라우터는 IGMP 스누핑(IGMP Snooping) 기능을 지원하여, 포트 별 멀티캐스트 트래픽을 최적화한다.
- 멀티미디어 서비스: IPTV, 실시간 스트리밍, 온라인 게임 등 대역폭 효율이 중요한 응용에서 IGMP가 핵심 역할을 수행한다.
- 보안: IGMP 스푸핑 방지를 위한 네트워크 접근 제어 리스트(ACL)와 같은 보안 메커니즘이 적용될 수 있다.
관련 표준 및 프로토콜
- 멀티캐스트 라우팅 프로토콜: PIM (Protocol Independent Multicast), DVMRP (Distance Vector Multicast Routing Protocol) 등은 IGMP와 연계되어 멀티캐스트 트래픽을 라우팅한다.
- IPv6: IPv6에서는 IGMP 대신 MLD (Multicast Listener Discovery) 프로토콜이 사용된다.
참고 문헌
- RFC 1112, Host Extensions for IP Multicasting, 1989.
- RFC 2236, Internet Group Management Protocol, Version 2, 1997.
- RFC 3376, Internet Group Management Protocol, Version 3, 2002.
- RFC 3806, Multicast Listener Discovery (MLD) for IPv6, 2004.
본 문서는 확인된 공신력 있는 표준 문서와 기술 자료에 기반하여 작성되었으며, 최신 네트워크 장비의 구현 세부 사항은 제조사별 매뉴얼을 참고한다.