IT/ㄴ Cisco

[CISCO] IGMP (Internet Group Management Protocol)

TIENE 2025. 1. 14. 10:18
반응형

 

1. IGMP 개요

IGMP는 멀티캐스트 그룹 멤버십을 관리하는 데 사용되는 L3 프로토콜로, 멀티캐스트 트래픽의 수신을 요청하거나 그룹에서 탈퇴하는 메시지를 전달하는 역할을 한다. 이는 네트워크에서 멀티캐스트 트래픽을 최적화하고, 불필요한 트래픽이 전송되지 않도록 제어한다.

  • 프로토콜 타입: TCP/IP 프로토콜 스택에서 IP 프로토콜(Protocol 번호 2)로 작동.
  • 주요 역할:
    • 호스트가 멀티캐스트 트래픽을 수신하려고 할 때 그룹 가입 요청.
    • 멀티캐스트 그룹에서 탈퇴를 선언.
    • 멀티캐스트 트래픽 전송 여부를 확인(Query와 Report 메시지).

2. IGMP의 작동 원리

1) 멀티캐스트 트래픽 흐름

  1. 멀티캐스트 송신자는 데이터를 멀티캐스트 IP 주소(e.g., 239.1.1.1)로 전송.
  2. IGMP 쿼리:
    • 라우터(Querier)가 네트워크 내에서 멀티캐스트 그룹의 활성 상태를 확인.
    • 특정 인터벌로 IGMP Membership Query 메시지 전송.
  3. IGMP 리포트:
    • 호스트는 자신이 가입하고자 하는 그룹에 대한 Membership Report 메시지를 전송.
  4. 멤버십 유지:
    • 라우터는 주기적으로 그룹 상태를 확인하고, 활성 멤버가 없는 경우 트래픽 전달을 중단.

2) IGMP의 주요 메시지

메시지  타입설명
Membership Query 라우터가 그룹 상태를 쿼리. (일반 쿼리와 특정 그룹 쿼리 존재)
Membership Report 호스트가 멀티캐스트 그룹에 가입 시 전송.
Leave Group 호스트가 그룹에서 탈퇴 시 전송.
Version-Specific Query 특정 IGMP 버전을 사용하는 쿼리 메시지.

 

3. IGMP 버전별 상세 분석

1) IGMPv1

  • 특징:
    • 가장 기본적인 IGMP 프로토콜.
    • 호스트는 Membership Report만 전송.
    • 그룹 탈퇴 시 별도의 메시지 없이 타이머 만료에 의존.
  • 한계:
    • 그룹 멤버십 관리가 비효율적.
    • 트래픽 중단까지 시간이 걸림.

라우터(10.1.1.1)가 멀티캐스트 그룹 멤버들을 확인하기 위해 Query를 송신

 

 

  • 출발지 주소: 10.1.1.1 (라우터)
  • 목적지 주소: 224.0.0.1 (IGMP Query 메시지를 수신해야 하는 모든 멀티캐스트 호스트)

 

호스트(10.1.1.101)가 자신이 멀티캐스트 그룹 239.1.1.99에 참여 중임을 알리기 위해 Report 송신

 

 

  • 출발지 주소: 10.1.1.101 (호스트)
  • 목적지 주소: 239.1.1.99 (특정 멀티캐스트 그룹)

 

 

IGMPv1 동작 과정 요약

 

 

  • Query 전송: 라우터가 네트워크의 모든 호스트에게 Membership Query(224.0.0.1)을 보낸다.
  • Report 전송: 네트워크에 참여 중인 호스트가 자신이 속한 멀티캐스트 그룹으로 Membership Report를 보낸다.
  • 타이머 확인: 라우터는 수신한 Membership Report를 기준으로 활성 멤버십을 유지하며, 타이머가 만료되면 그룹에서 호스트를 제거한다.

 


2) IGMPv2

  • 개선 사항:
    • Leave Group 메시지 추가: 호스트가 그룹을 떠날 때 즉시 알림.
    • Querier 선출:
      • 멀티캐스트 트래픽을 관리하는 Querier 라우터를 동적으로 선출.
      • 낮은 IP 주소를 가진 라우터가 Querier로 선택.
    • 특정 그룹에 대해 쿼리 가능.
  • 작동 절차:
    1. Querier가 General Query 메시지 전송.
    2. 호스트는 Membership Report로 응답.
    3. 그룹 탈퇴 시 Leave Group 메시지 전송.

 

 

  • 발신자: 10.1.1.1 (라우터)
  • 목적지: 224.0.0.1 (모든 멀티캐스트 호스트)
  • 내용: 라우터가 네트워크에 존재하는 모든 멀티캐스트 그룹의 상태를 확인하기 위해 Query를 발행한다. 이 Query는 일반적인 멀티캐스트 그룹에 대한 것으로, 네트워크 내 모든 활성 멀티캐스트 그룹에 대한 응답을 유도한다.
  • Max Resp Time: 10.0초 (호스트는 이 시간 내에 응답해야 한다).

 

 

 

 

  • 발신자: 10.1.1.1 (호스트)
  • 목적지: 224.0.1.40 (특정 멀티캐스트 그룹)
  • 내용: 호스트가 특정 멀티캐스트 그룹(224.0.1.40)에 계속 가입하고 있다는 사실을 알린다.
  • Max Resp Time: 0초 (즉시 처리).
  • IGMP Type: Membership Report (0x16).
  • 이 보고서는 라우터가 특정 멀티캐스트 그룹에 대해 활성 상태인지 확인하는 데 사용된다.

 

 

 

 

  • 발신자: 10.1.1.102 (다른 호스트)
  • 목적지: 239.1.1.99 (다른 특정 멀티캐스트 그룹)
  • 내용: 호스트 10.1.1.102가 멀티캐스트 그룹 239.1.1.99에 계속 멤버로 남아 있음을 보고한다.
  • IGMP Type: Membership Report (0x16).

 

 

3) IGMPv3

  • 주요 기능:
    • 소스 기반 멀티캐스트(S,G):
      • 특정 소스에서 송신된 멀티캐스트 트래픽만 수신.
    • Include/Exclude 모드:
      • Exclude Mode: 특정 소스를 "차단"하고 나머지 소스에서 데이터를 수신.
      • Include Mode: 특정 소스에서만 데이터를 "허용"하고 나머지 소스의 트래픽은 차단.
    • 애플리케이션별 멀티캐스트 트래픽 관리가 용이.
  • 작동 방식:
    1. 호스트는 Group-and-Source Specific Query에 응답.
    2. 소스 목록에 기반하여 트래픽을 수신하거나 필터링.

 

 

 

  • 설명: 라우터가 IGMPv3 General Query 메시지를 전송하여 네트워크에 있는 모든 호스트에게 현재 멀티캐스트 그룹 상태를 요청.
  • Multicast Address: 0.0.0.0 (General Query는 특정 그룹이 아닌 전체 그룹에 대해 요청).
  • Max Resp Time: 2.5초 (호스트는 이 시간 내에 응답해야 함).
  • 의미: 네트워크에 활성 멀티캐스트 그룹이 있는지 확인하기 위한 기본 쿼리.

 

 

 

 

  • 설명: 호스트가 224.0.1.40 그룹에 참여한다고 라우터에 알리는 메시지.
  • Type: Membership Report.
  • Group Address: 224.0.1.40.
  • Mode: Exclude Mode (특정 소스 제외 없이 모든 소스로부터 데이터를 수신).

 

 

 

  • 설명: 호스트가 특정 소스만 포함하는 형태로 그룹 멤버십을 업데이트.
  • Type: Membership Report.
  • Group Address: 224.0.22.
  • Mode: Change To Exclude Mode (다른 소스는 제외하고 특정 소스만 포함).
  • 의미: 소스 기반 필터링을 통한 트래픽 제어를 수행.

 

 

 

  • 설명: 호스트가 239.1.1.150 그룹에 참여하며 특정 소스를 제외.
  • Type: Membership Report.
  • Group Address: 239.1.1.150.
  • Mode: Exclude Mode.
  • Num Src: 제외할 소스의 수는 0 (이 경우 모든 소스를 수신).

 

 

IGMPv3 Include Mode와 Exclude Mode 비교표

특징 Include Mode   Exclude Mode
정의 특정 소스에서 오는 트래픽만
선택적으로 수신
특정 소스를 제외하고
나머지 모든 소스에서 오는 트래픽을 수신
사용 목적 제한된 소스에서만 데이터를
수신하고자 할 때
특정 소스의 트래픽을 차단하고
나머지는 모두 허용하고자 할 때
동작 방식 지정된 소스 리스트에 포함된 소스의 트래픽만 수신 지정된 소스 리스트에 포함된
소스의 트래픽만 차단하고 나머지는 모두 수신
소스 리스트 Include Source List: 수신할 소스들의 목록 Exclude Source List: 제외할 소스들의 목록
소스 리스트 비어있음 모든 트래픽을 차단 모든 트래픽을 수신
예시 - 그룹 주소: 224.0.1.40 - 그룹 주소: 224.0.1.40
  - Include Source List: 192.168.1.10 - Exclude Source List: 192.168.1.10
  → 192.168.1.10에서 오는 트래픽만 수신 → 192.168.1.10에서 오는
트래픽은 제외하고 나머지는 모두 수신

정리

  • Include Mode: "허용할 소스를 지정"하여 해당 소스에서만 데이터를 수신.
  • Exclude Mode: "차단할 소스를 지정"하여 해당 소스를 제외한 나머지 데이터를 수신.

 


4. IGMP와 관련된 주요 기술

1) IGMP Snooping

  • L2 스위치의 멀티캐스트 트래픽 제어 기술:
    • 스위치가 IGMP 메시지를 감지하여 트래픽을 멤버가 있는 포트로만 전송.
    • 브로드캐스트 플러딩 방지.
  • 작동 원리:
    1. 스위치가 IGMP Report와 Leave Group 메시지를 감지.
    2. 멀티캐스트 트래픽 전달 경로를 설정.
    3. 활성 멤버가 없는 경우 플러딩 방지.

2) PIM (Protocol Independent Multicast)와의 연동

  • IGMP는 멀티캐스트 그룹 멤버 관리를 담당.
  • PIM은 멀티캐스트 트래픽의 최적 경로 설정:
    • Sparse Mode(SM) 또는 Dense Mode(DM) 환경에서 활용.
    • IGMP가 멀티캐스트 그룹 멤버 상태를 라우터에 전달.

IGMP 버전별 상세 분석 결과 표

특징 IGMPv1 IGMPv2 IGMPv3
출시 시기 1989년 (RFC 1112) 1997년 (RFC 2236) 2002년 (RFC 3376)
주요 기능 기본적인 멀티캐스트
그룹 가입 및 유지 기능
Leave Group 메시지 추가
Querier 선출 기능
소스 기반 멀티캐스트 (S,G)
Include/Exclude 모드 지원
메시지 타입 Membership Query
Membership Report
Membership Query
Membership Report
Leave Group
Membership Query
Membership Report
Group-and-Source Query
Querier 선출 방식 없음 낮은 IP 주소를 가진 라우터 선출 낮은 IP 주소를 가진 라우터 선출
그룹 탈퇴 처리 타이머 만료에 의존 Leave Group 메시지로 즉시 처리 소스 기반 그룹 탈퇴 처리
소스 기반 필터링 지원 안 함 지원 안 함 지원 (S,G 기반 멀티캐스트)
호환성 IPv4 네트워크 IPv4 네트워크 IPv4 네트워크
주요 한계 그룹 상태 관리 비효율적
탈퇴 알림 없음
소스 필터링 기능 없음 복잡한 구현 및 관리
적용 사례 초기 멀티캐스트 네트워크 대부분의 IPv4
멀티캐스트 네트워크
소스 기반 필터링 요구하는
고급 애플리케이션

 

IGMP 메시지 타입 간 비교

메시지 타입설명
Membership Query 라우터가 그룹 상태를 확인하기 위해 전송
Membership Report 호스트가 특정 멀티캐스트 그룹에 가입 요청 시 전송
Leave Group 호스트가 그룹에서 탈퇴 시 전송 (IGMPv2 이상)
Group-and-Source Query 특정 소스 및 그룹과 관련된 멤버 상태 확인 (IGMPv3)

 

반응형