• 호스트(컴퓨터)가 멀티캐스트 그룹 구성원을 인접한 라우터로에게 알리는 프로토콜
  • IGMP는 TCP/IP 프로토콜 집합이 동적 멀티캐스팅을 수행하기 위해 사용하는 표준 프로토콜
  • 특정 그룹에 속하는 모든 호스트에 메시지를 전송하는 방식을 멀티캐스팅(Multicasting) → 필요한 라우팅 알고리즘을 멀티캐스트 라우팅(Multicast Routing)
  • IGMP 프로토콜은 여러 호스트(수신자)에게 채널이 효과적으로 전송되게 하기 위해, 멀티캐스트 네트워크를 기반으로 구성되는 IPTV 서비스에 많이 사용

IGMP의 위치

  • IGMP 프로토콜과 ICMP 프로토콜 등은 데이터 전송용 프로토콜이 아니고 이벤트 또는 변화를 알리는데 사용되는 프로토콜

IGMP 동작 과정

  1. 그룹 멤버쉽 조사 (monitoring)
    • 멤버쉽 질의 메시지를 보내서 응답을 기다림
    • 일정 횟수 이상 응답 없으면 라우터는 해당 호스트를 그룹에서 탈퇴 시킴
  1. 그룹 가입 (Joining)
    • 그룹에 가입하고자 하는 요청을 라우터에 보고
  1. 멤버쉽 연속 (member continuation)
    • 계속해서 유지하기 원하는 보고 메시지
  1. 그룹 탈퇴 (Leaving)
    • 호스트가 해당 그룹의 멀티캐스트 트래픽을 원치 않으면 leave 메시지 전송

IGMP 패킷 구성


호스트 측면에서 IGMP 프로토콜 사용

  • 멀티캐스트 데이터의 수신을 원하는 호스트들이 IGMP를 사용하여 라우터에게 요청
  • 멀티캐스트 데이터를 더 이상 수신을 원하지 않으면 그만 전송하라 중지 요청
  • 호스트들은 멀티캐스트 그룹에 가입/탈퇴한다고 라우터에게 요청하는 용도

라우터 측면에서 IGMP 프로토콜 사용

  • 라우터는 IGMP를 통하여 멀티캐스트 그룹에 가입한 호스트들을 감시하게 됨 → 주기적으로 멀티캐스트 그룹에 가입한 호스트들에게 IGMP 패킷을 사용하여 질의하는 용도.
  • 멀티캐스트 그룹 멤버들은 SHOW IP IGMP GROUP를 통하여 확인 가능
  • Expires 시간내에 호스트로부터 IGMP 패킷을 수신하지 못한다면 삭제됨
  • 라우터가 감시하지 않을 시 아래와 같은 일이 발생 가능
    1. 한 호스트가 멀티캐스트를 이용하여 파일을 다운로드 하는 중에 전력이 차단되서 PC 전원이 차단된다면 호스트는 멀티캐스트 그룹의 탈퇴 메시지를 전송 X
    2. 라우터는 위 내용을 모르고 계속 가입되어 있는줄 착각하고 멀티캐스트 패킷을 지속하여 전송
    3. 쓸데없이 대역폭 낭비와 라우터 자원의 낭비를 발생
    4. 라우터는 IGMP를 통하여 멀티캐스트 그룹에 가입한 호스트들을 감시하는 역활을 수행해야함

IGMP 메시지의 전송

  • IGMP는 IP 프로토콜과 동등한 계층의 기능을 수행
  • 데이터링크계층으로 보내지지 않고, IP 패킷에 캡슐화되어 보내짐
  • IGMP 메시지는 IP 프로토콜의 데이터로 처리되기 때문에 IP 패킷의 헤더에 실려서 계층 2 프로토콜로 전달됨

IGMP 취약점

  • IGMP 프로토콜의 구조는 매우 단순하며 별도의 인증 과정을 거쳐 가입(Join) 하는 기능을 제공 X → 보안 면에서 매우 취약하다는 단점 有
  • 공격자가 정상적인 사용자인 것처럼 IGMP 메시지를 위조하여 IGMP 전송
    1. IPTV 서비스 상의 프리미엄 채널을 가로채어 시청
    2. 현재 시청하고 있지 않는 여러 개의 채널을 요청해서 네트워크 내에 있는 모든 채널의 품질을 저하
  • ICMP와 마찬가지로 디도스 공격에 이용될 수 있음

IGMP 기타 기능

  1. IGMP Snooping
    • 라우터와 호스트 사이에 있는 스위치가 IGMP 메시지들을 들을 수 있게 하는 기능
  1. IGMP Querier Election
    • 동일 LAN에 여러 멀티캐스트 라우터가 있으면, IPv4 주소 중 가장 낮은 주소를 갖는 라우터가 Querier 역할 집중

+ Recent posts