IGMP
IT위키
더 많은 작업
- Internet Group Management Protocol
서브넷(로컬 네트워크) 상의 멀티캐스팅 멤버십 제어(그룹 관리)를 위한 프로토콜
- 하나의 라우터와 여러 호스트로 구성되는 서브 네트워크(Sub-Network) 상에서
- 호스트들이 어떤 멀티캐스트 그룹에 속하는 가를 라우터에게 알리기 위한
- 일종의 그룹 관리용 신호 프로토콜(Signaling Protocol)
- IGMP,ICMP 등은 데이터 전송용 프로토콜이 아니고, 네트워크 상에 이벤트 또는 변화를 알리는데 사용되는 제어용 프로토콜임
- 멀티캐스트 라우터는, 주기적으로, 서브넷 호스트 그룹들(224.0.0.1 : 멀티캐스트 주소)에게 IGMP Query 메시지를 전송
- 호스트는, 이러한 Query 요청 메시지에 응답하면서, 자신이 가입하려는 그룹 정보(멀티캐스트 주소)를 IGMP Report 메시지를 통해 라우터에게 알려줌
- 한편, 호스트는 자체적으로, IGMP Query 메시지(라우터 -> 호스트) 없이도, 먼저 Report 메시지를 라우터에게 전송도 가능
- 멀티캐스트 전용이다. 호스트가 어느 멀티캐스트 그룹에 가입했는지를 라우터에 알리는 그룹 관리 프로토콜이라, 받는 쪽이 하나로 정해진 유니캐스트 통신에는 쓰지 않는다 → 멀티캐스트
- IP 헤더의 TTL 은 1 로 보낸다. 라우터를 넘지 않고 로컬 서브넷 안에서만 오간다
- 호스트와 라우터의 역할이 다른 비대칭 구조다. 라우터는 Query 를 보내 그룹에 회원이 남아 있는지 묻고, 호스트는 Report 로 가입을 알린다. 라우터는 그 서브넷에 그룹 회원이 하나라도 있는지만 알면 되므로 호스트 하나하나를 기억하지 않는다
- IGMPv1 에는 Report 에 대한 확인 응답이 없어, 첫 보고 메시지가 손실돼도 이를 알아채고 재전송하는 절차가 없다. 그래서 호스트는 가입할 때 보고를 짧은 간격으로 한두 번 더 보내도록 권고되고, 그래도 빠지면 라우터의 다음 Query 에 응답할 때 다시 알린다. 탈퇴 메시지도 없어 라우터는 Query 에 응답이 없을 때까지 기다려야 한다(IGMPv2 에서 Leave 추가)
- Membership Query (라우터 -> 호스트)
- 그룹 멤버십 조사 (monitoring) : 멤버십 질의 메시지를 보내서 응답을 기다림
- 일정 횟수 이상 응답이 없거나, 탈퇴 메세지를 주면, 라우터는 해당 호스트를 그룹에서 탈퇴 시킴
- Membership Report (호스트 -> 라우터)
- 그룹 가입 (joining): 그룹에 가입하고자 하는 요청을 라우터에 보고
- 멤버십 연속 (member continuation) : 계속해서 해당 그룹에 남기를 원하는 보고
- Leave Report (호스트 -> 라우터)
- 그룹 탈퇴 (leavinig): 더이상 그룹에 남아있지 않고 탈퇴함
- IPv4 헤더 내 IGMP 관련
- 프로토콜 ID : 2 ☞ IANA의 공식 PPP Numbers
- IGMP의 TTL : 1
- 로컬 서브네트워크를 벗어나면 자동 폐기됨
- IPv4 옵션 : Router Alert 옵션이 사용됨
- 유형(type) (8 비트)
- 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]
- IGMPv1 : Membership Query, Membership Report [RFC 1112]
- IGMPv2 : Membership Query, Membership Report, Leave Report [RFC 2236]
- IGMPv1에 그룹 탈퇴(Leave Report) 기능 추가
- 또한, 그룹 탈퇴를 좀더 확인하기 위한 Group Specific Query 메세지도 추가됨
- IGMPv3 : Membership Query, Membership Report [RFC 3376]
- SSM(Source-specific Multicast) 기능 추가
- source filter 모드
- include 모드 : 명시한 모든 source list를 포함
- exclude 모드 : 명시한 source list를 제외한 기타 모든 source들을 포함
- include null : 어떠한 source에서 입력된 해당 그룹에 대해 수신 안함
- exclude null : 모든 source에서 입력된 해당 그룹에 대해 join
- IGMP Snooping
- IGMP Snooping은 라우터와 호스트 사이에 있는 스위치가 IGMP 메세지들을 들을 수 있게 하는 기능
- IGMP Querier Election
- 동일 LAN에 여러 멀티캐스트 라우터가 있으면, IPv4 주소 중 가장 낮은 주소를 갖는 라우터가 Querier 역할을 집중하게 함
- 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)
- 정보통신기술용어해설

