목차
1 개요
Internet Group Management Protocol
인터넷에서 IPTV 와 같은 멀티캐스트 실시간 전송을 위해서 사용하는 프로토콜이다.
2 메시지 종류
2.1 IGMP Join
가입자(호스트)가 라우터로 보내는 메시지로 해당 방송을 보고자 할때 보낸다. 예를 들어 가입자가 TV 채널 100번을 보고 싶다면, 100번에 해당하는 IGMP 채널 정보를 찾아서 Join 메시지를 보낸다. 이를 받은 스트림 서버에서는 해당 가입자에게 100번 채널에 해당하는 TV 방송 스트림을 멀티캐스트를 이용해서 전달한다.
2.2 IGMP Leave
해당 채널을 더이상 보지 않겠다면 leave 메시지를 보내서 해당 스트림을 더이상 보내지 말라고 한다. 예를 들어 채널을 100번에서 101번으로 변경한다면 100번에 대해서는 leave 메시지를 던지고, 101번으로 다시 join 을 던지게 된다.
2.3 IGMP Host Membership Query
라우터가 가입자에게 보내는 메시지이다. Monitoring 이라고도 하는데, 해당 가입자가 그 방송을 제대로 보고 있는지 확인하는 용도이다. 만약 가입자가 leave 메시지를 보내지 않고 셋탑을 꺼버리는 등의 행동을 하게 될 경우, 응답을 해주지 않으므로 해당 가입자를 leave 처리한다.
2.4 IGMP Host Membership Report
Query 를 받은 가입자가, 자신은 방송을 잘 보고 있다고 알려 주는 메시지이다.
3 IGMP snooping
스위치에 탑재되는 동작으로, IGMP join 을 보낸 가입자들에게만 방송을 보내고, 그렇지 않은 가입자들에게는 방송을 보내지 않도록 관리해 주는 기능이다.
4 IGMP proxy
가입자가 보낸 IGMP join 메시지가 최종적으로 미디어 서버까지 도착해서 해당 서버에서 방송을 보내줄때까지는 약간의 시간이 필요하다. 이 때문에 가입자가 채널을 계속 변경할 경우 빠르게 화면이 전환되지 않고 딜레이가 생긴다.
이런 문제를 해결하기 위해서 IGMP proxy 를 전진 배치 시켜 놓고, 모든 미디어 서버에서 보내는 방송 스트림을 IGMP proxy 로 전달하도록 세팅한다. 그리고, 가입자에게는 자신이 방송 서버인것 처럼 동작하여 IGMP join / leave 에 대한 처리를 해준다. 가입자와 IGMP proxy 간의 논리적인 거리는 짧게 유지한다면, 채널 전환 딜레이도 그만큼 감소시킬 수 있다.
또한, 호텔 같은 곳에서 유료 방송에 대한 인증 절차를 IGMP proxy 에서 처리하는데, 이를 이용해서 유료 방송에 대한 과금 처리를 수행할 수 있게 된다.