IPv6 멀티캐스트 주소와 MLD 기반 그룹 통신

IPv6 멀티캐스트의 주소 구조, 스코프와 예약 주소, MLD 가입 관리, PIM 라우팅 및 보안 고려사항을 정리한다.

2026-08-14 · 최초 발행 2025-08-10

그룹 통신에서 IPv6 멀티캐스트가 맡는 역할

IPv6 멀티캐스트는 하나의 패킷을 여러 수신자에게 전달하는 일대다 통신 방식이다. 같은 데이터를 각 수신자에게 별도로 보내지 않아도 되므로, 대역폭 사용을 줄이고 수신자가 늘어나는 환경에서도 통신을 구성할 수 있다.

멀티캐스트 주소로 전송된 패킷은 해당 주소를 구독한 모든 노드에 전달된다. 하나의 노드는 여러 멀티캐스트 그룹에 동시에 속할 수 있으며, IPv6 멀티캐스트 주소는 항상 FF 접두사로 시작한다.

주소에 담긴 범위와 그룹 식별자

IPv6 멀티캐스트 주소는 다음 형식을 사용한다.

FF[플래그][스코프]:그룹 ID
FF플래그 4비트스코프 4비트112비트 그룹 ID

플래그 필드는 4비트이며, 0은 영구적으로 할당된 멀티캐스트 주소를, 1은 임시로 할당된 멀티캐스트 주소를 뜻한다.

스코프 필드 역시 4비트로, 패킷이 전파될 범위를 나타낸다.

  • 1: 노드-로컬 스코프, 단일 노드 내
  • 2: 링크-로컬 스코프, 동일 링크 내
  • 4: 어드민-로컬 스코프, 관리자가 정의한 범위
  • 5: 사이트-로컬 스코프, 단일 사이트 내
  • 8: 조직-로컬 스코프, 조직 경계 내
  • E: 글로벌 스코프, 전 세계적 범위

통신 제어에 쓰이는 예약 주소

IPv6는 공통 기능을 위해 일부 멀티캐스트 주소를 예약한다. 모든 노드를 대상으로 할 때는 FF01::1이 노드-로컬 범위의 모든 노드를, FF02::1이 링크-로컬 범위의 모든 노드를 가리킨다.

라우터 전체를 대상으로 하는 주소도 별도로 정의된다.

  • FF01::2: 노드-로컬 범위의 모든 라우터
  • FF02::2: 링크-로컬 범위의 모든 라우터
  • FF05::2: 사이트-로컬 범위의 모든 라우터

MLD로 관리하는 그룹 멤버십

노드가 특정 멀티캐스트 그룹의 트래픽을 받으려면 MLD(Multicast Listener Discovery)를 사용한다. 노드는 로컬 라우터에 Multicast Listener Report 메시지를 보내고, 라우터는 이를 바탕으로 멀티캐스트 라우팅 테이블을 갱신한다.

RNR["라우터"]N["노드"]RNR["라우터"]N["노드"]그룹 X로 향하는 패킷을 해당 노드로 전달MLD 멤버십 보고(그룹 X 가입)멀티캐스트 라우팅 테이블 업데이트

그룹을 떠날 때 노드는 Multicast Listener Done 메시지를 전송한다. 라우터는 해당 인터페이스에 그룹 구성원이 남아 있는지 확인한 뒤 라우팅 테이블을 업데이트한다.

MLDv1은 IPv4의 IGMPv2와 유사하게 기본적인 가입과 탈퇴 기능을 제공한다. MLDv2는 여기에 소스 필터링을 추가해 특정 소스에서 온 멀티캐스트 트래픽만 수신할 수 있게 하며, Include/Exclude 모드를 지원한다.

서비스 발견부터 콘텐츠 배포까지

멀티캐스트는 네트워크 장치가 사용할 수 있는 서비스를 찾는 과정에서 쓰인다. DNS-SD(DNS Service Discovery)와 mDNS(multicast DNS)가 그 사례다.

OSPFv3, EIGRP for IPv6 같은 라우팅 프로토콜도 라우터 사이의 정보 교환에 멀티캐스트를 사용한다. IPTV에서는 같은 비디오 콘텐츠를 수천 명의 시청자에게 효율적으로 분배할 수 있고, 기업 네트워크에서는 소프트웨어 업데이트를 여러 시스템에 동시에 배포하는 데 활용할 수 있다.

IPv4 방식과 비교할 때 달라지는 점

특성 IPv6 멀티캐스트 IPv4 멀티캐스트
주소 식별 FF로 시작하는 접두사 224-239 범위의 D클래스 주소
프로토콜 MLD IGMP
스코프 다양한 스코프 레벨 내장 제한된 TTL 값에 의존
주소 공간 매우 광범위 제한적
구현 프로토콜의 필수 요소 선택적 구현

링크 안의 모든 IPv6 노드로 보내기

동일 링크에 연결된 모든 IPv6 호스트에 메시지를 보내야 할 때는 링크-로컬 모든 노드 주소를 사용할 수 있다.

# Linux에서 링크-로컬 멀티캐스트 메시지 전송 예시
ping6 ff02::1%eth0

이 명령은 eth0 인터페이스가 연결된 링크의 모든 IPv6 노드에 ICMPv6 에코 요청을 전송한다.

PIM이 만드는 멀티캐스트 전달 경로

IPv6 멀티캐스트 트래픽은 특수한 라우팅 프로토콜로 전달한다. PIM(Protocol Independent Multicast)은 다음 방식을 제공한다.

  • PIM-SM(Sparse Mode): 명시적인 요청이 있는 경우에만 멀티캐스트 트래픽을 전달
  • PIM-DM(Dense Mode): 기본적으로 모든 인터페이스로 전달 후 불필요한 경로 제거
  • PIM-SSM(Source-Specific Multicast): 특정 소스의 트래픽만 수신
멀티캐스트 소스RP - Rendezvous Point수신자 1로컬 라우터 1수신자 2로컬 라우터 2

이더넷 프레임으로 전달될 때의 주소 매핑

IPv6 멀티캐스트 주소는 이더넷 멀티캐스트 MAC 주소에 매핑된다. MAC 주소의 첫 2바이트는 33:33으로 고정하고, IPv6 멀티캐스트 주소 마지막 4바이트를 MAC 주소의 나머지 부분으로 사용한다.

예를 들어 FF02::1:FF12:345633:33:FF:12:34:56으로 매핑된다.

운영 환경에서 확인할 보안 지점

멀티캐스트는 단일 패킷이 다수 호스트에 전달되는 특성 때문에 트래픽 증폭 공격에 취약할 수 있다. 적절한 인증 없이 그룹에 가입하면 비인가 정보를 수신할 가능성도 있다.

스위치에서는 MLD 메시지를 모니터링하는 MLD 스누핑을 구성해 멀티캐스트 트래픽이 필요한 포트로만 전달되도록 해야 한다. 그룹 멤버십과 실제 전달 경로를 함께 관리해야 불필요한 트래픽 확산을 줄일 수 있다.

IPv6 멀티캐스트는 IoT 환경, 실시간 스트리밍 서비스, 대규모 소프트웨어 배포에 유용하며, IPv6 도입이 넓어지면서 활용도도 증가할 전망이다.

IPv6멀티캐스트MLDPIM네트워크