IGMP(Internet Group Management Protocol)은 네트워크에서 멀티캐스팅 그룹 관리를 위한 프로토콜입니다. 그룹 관리용으로 사용하기 때문에 데이터 전송 목적으로는 사용되지 않습니다.
멀티캐스트 라우터는 주기적으로 호스트들에게 IGMP Query를 보내고 호스트들은 Query를 받으면 자신이 가입하려는 그룹 정보를 라우터에게 다시 전달합니다. 사전에 IGMP Query 없이도 호스트가 먼저 라우터에게 그룹 정보를 전달하는 것도 가능합니다.
IGMP Snooping은 중간에 있는 스위치가 IGMP 메시지를 확인할 수 있게 하는 기능입니다. 이후 IGMP 그룹에 가입된 호스트들에게만 신호를 전달합니다.
국내에서는 IPTV 등의 멀티캐스트 실시간 전송에서 사용하고 있습니다.
호스트(셋톱박스 등)가 Membership Report 메세지를 이용해 보고 싶은 채널을 보내고 라우터가 멀티캐스트를 통해 스트리밍 정보를 전달합니다.
호스트에서 채널을 바꾸게 되면 Leave Report 메세지를 보내며 라우터에서는 해당 호스트를 그룹(채널)에서 제외시킵니다.
라우터에서는 주기적으로 Membership Query 메세지를 보내 시청 중인지 확인한다. 시청 중이지 않으면 Leave 처리합니다.