본문 바로가기
IT 동향

IGMP, IGMP Snooping Internet Group Management Protocol - 펌

반응형

1. 개요

  ㅇ IGMP는 서브넷상의 멀티캐스팅을 위한 제어용 프로토콜로써,
  ㅇ 하나의 라우터와 여러 호스트로 구성되는 서브네트워크(Sub-Network) 상에서
  ㅇ 라우터가 자신에 속한 호스트들이 어떤 멀티캐스트 그룹에 속하는 가를 파악하기
     위한 일종의 신호(Signal) 제어용 프로토콜(Signalling Protocol)을 말한다.  


2. 동작설명

  ㅇ 멀티캐스트 라우터는 주기적으로 Subnet 호스트 그룹들(224.0.0.1)에게 IGMP Query
     메시지전송한다.
  ㅇ 호스트는 IGMP Query 메시지에 응답하며, 자신이 가입하고자 하는 그룹주소 정보를
     IGMP Report 메시지를 통해 라우터에게 알려준다.
  ㅇ 한편, 호스트는 Query 메시지 없이도 먼저 Report 메시지를 라우터에게 전송할 수
     있다.


3. IGMP 패킷 구성
                   20                  8 바이트
   ┌──────────────┲━━━━━━━━┓
   │ IP Header (Protocol ID = 2)┃  IGMP 메세지   ┃
   └──────────────┺━━━━━━━━┛
         ┌───┬───┬────┬─────┬──────────────┐
  IGMPv1 │ 버젼 │ 유형 │ Unused │ Checksum │    멀티캐스트 그룹 주소    │
         └───┴───┴────┴─────┴──────────────┘
            4        4       8          16                  32 비트

          ㅇ 버젼 : IGMP 버젼
          ㅇ 유형 : 질의(조회) 및 응답(보고)
             - 질의(조회)  : 1 (Host Membership Query)  (라우터 -> 호스트)
               . 특정 그룹에 참여를 원하는 호스트 있는지 확인조회
             - 응답(보고)  : 2 (Host Membership Report) (호스트 -> 라우터)
               . 특정 그룹에 참여를 원하거나, Query에 응답
          ㅇ 멀티캐스트 그룹 주소(goupid) : 클래스 D 인 IP 주소Multicast

         ┌───────┬────┬─────┬──────────────┐
  IGMPv2 │      유형    │   MRT  │ Checksum │    멀티캐스트 그룹 주소    │
         └───────┴────┴─────┴──────────────┘
                  8           8          16                  32 비트

          ㅇ 유형 
             - Membership Query : 0x11
             - Membership Report : 0x16
                                   0x12 (IGMPv1과의 호환)
             - 특정그룹 탈퇴 : Leave Group : 0x17
          ㅇ MRT (Membership Response Time)


4. IGMP 동작 구분

  ㅇ 그룹 가입 (joining) : 그룹에 가입하고자 하는 요청을 라우터에 보고
  ㅇ 그룹 멤버쉽 조사 (monitoring) : 멤버쉽 질의 메시지를 보내서 응답을 기다림
  ㅇ 멤버쉽 연속 (member continuation) : 계속해서 유지하기 원하는 보고 메시지
  ㅇ 그룹 탈퇴 (leavinig) : 탈퇴에 대한 응답메시지를 보내지 않음


5. IGMP Snooping

   IGMP Snooping은 라우터와 호스트 사이에 있는 스위치가 IGMP 메세지들을 들을 수 있
   게하는 기능을 말한다.


6. 관련표준
 
  ㅇ RFC 1112 (Host extensions for IP Multicasting, IGMP v1)
  ㅇ RFC 2236 (IGMP v2)
  ㅇ RFC 3376 (IGMP v3)
반응형