IP Multicast로 설계하는 효율적인 그룹 통신

IP Multicast의 그룹 통신 구조와 IGMP, PIM 기반 라우팅, IPTV·화상회의 환경의 설계 고려사항을 정리한다.

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

그룹 수신자에게만 패킷을 전달하는 방식

IP Multicast는 하나의 송신자가 다수의 수신자에게 데이터를 전달하는 그룹 통신 기술이다. 유니캐스트처럼 수신자별 패킷을 만들 필요가 없고, 브로드캐스트처럼 네트워크의 모든 호스트에 전송하지도 않는다. 그룹 가입 의사가 있는 수신자만 대상으로 삼기 때문에 네트워크 대역폭을 아끼고 서버 부하를 줄일 수 있다.

비디오 스트리밍, IPTV, 화상회의처럼 동일한 멀티미디어 데이터를 여러 곳에 보내는 애플리케이션이 대표적인 대상이다. 핵심은 송신자가 패킷을 한 번 보낸 뒤, 전송 경로의 라우터가 필요한 지점에서 복제한다는 데 있다.

멀티캐스트 주소와 전송 경로

멀티캐스트 그룹은 Class D IP 주소인 224.0.0.0 ~ 239.255.255.255 범위를 사용한다. 송신자는 해당 그룹 주소로 단일 패킷을 보내며, 라우터는 그룹에 가입한 수신자가 있는 방향으로 패킷을 복제해 전달한다.

호스트의 그룹 가입과 탈퇴는 IGMP(Internet Group Management Protocol)가 관리한다. 라우터 간의 효율적인 전달 경로는 PIM, DVMRP 같은 멀티캐스트 라우팅 프로토콜로 구성한다.

송신자멀티캐스트 라우터라우터 1라우터 2라우터 3수신자 1수신자 2수신자 3수신자 4수신자 5

유니캐스트·브로드캐스트와 다른 점

유니캐스트는 각 수신자에게 개별 패킷을 전송하는 1:1 방식이다. N명의 수신자에게 전송하면 N개의 패킷이 생성되므로 서버와 네트워크 부하가 커질 수 있다. 웹 브라우징과 이메일 통신이 여기에 속한다.

브로드캐스트는 네트워크 안의 모든 호스트에게 데이터를 보내는 방식이다. 수신 의사가 없는 장치에도 트래픽이 도달하며, 일반적으로 로컬 서브넷 안에서만 사용된다. ARP 요청과 DHCP 검색이 예다.

멀티캐스트는 관심 있는 수신자만 구성한 그룹으로 데이터를 보내는 1:N 방식이다. 하나의 패킷으로 다수의 수신자에게 전달할 수 있어 IPTV, 화상회의, 소프트웨어 배포에 적합하다.

멀티캐스트송신자멀티캐스트 그룹수신자1수신자2수신자3브로드캐스트송신자모든 장치유니캐스트송신자수신자1수신자2수신자3

IGMP가 관리하는 그룹 멤버십

IGMP는 호스트와 인접 라우터 사이에서 멀티캐스트 그룹 멤버십을 관리한다. 호스트는 특정 그룹에 가입하거나 탈퇴할 의사를 라우터에 알리고, 라우터는 주기적으로 쿼리를 보내 멤버십 상태를 확인한다.

주요 메시지는 다음과 같다.

  • Membership Query: 라우터가 그룹 멤버를 확인한다.
  • Membership Report: 호스트가 그룹 가입 의사를 표시한다.
  • Leave Group: 호스트가 그룹 탈퇴 의사를 표시한다.

IGMPv1은 기본적인 가입 기능을 제공하지만 명시적 탈퇴 기능은 없다. IGMPv2에서는 명시적 그룹 탈퇴 메시지가 추가됐고, IGMPv3는 특정 송신자로부터의 트래픽만 받도록 하는 소스 필터링을 지원한다.

라우터호스트라우터호스트멀티캐스트 데이터 수신Membership QueryMembership Report (가입)Leave Group (탈퇴)

라우터가 전송 트리를 만드는 방법

PIM(Protocol Independent Multicast)은 가장 널리 쓰이는 멀티캐스트 라우팅 프로토콜이다. 유니캐스트 라우팅 프로토콜과 독립적으로 동작하며, 네트워크 특성에 맞춰 여러 모드를 사용한다.

  • PIM-SM(Sparse Mode): 명시적 요청을 기반으로 하며 대규모 네트워크에 적합하다.
  • PIM-DM(Dense Mode): 푸시 기반 방식으로, 수신자가 많은 소규모 네트워크에 적합하다.
  • PIM-SSM(Source-Specific Multicast): 특정 소스의 멀티캐스트만 수신한다.

DVMRP(Distance Vector Multicast Routing Protocol)는 거리 벡터 알고리즘을 기반으로 하고, 플러딩 및 가지치기(flood-and-prune) 방식을 사용한다. 현재는 PIM보다 사용 빈도가 낮다.

MSDP(Multicast Source Discovery Protocol)는 서로 다른 PIM-SM 도메인 사이에서 멀티캐스트 소스 정보를 교환한다. 이를 통해 도메인 간 멀티캐스트 통신이 가능해진다.

같은 콘텐츠를 여러 곳에 보내는 환경

IPTV에서는 케이블이나 위성 TV를 IP 네트워크로 대체하고, 동일한 콘텐츠를 다수의 시청자에게 효율적으로 전송한다. 대역폭을 절약해 고화질 서비스 제공에도 활용할 수 있으며, KT 올레TV, SK Btv, LG U+ TV가 예다.

기업 화상회의에서는 다자간 회의 데이터 전달 시 서버 부하와 네트워크 대역폭을 줄일 수 있다. 글로벌 기업의 원격 회의 환경에 적합하며 Cisco WebEx, Polycom 화상회의 시스템이 사례로 언급된다.

기업 안에서 다수의 PC에 소프트웨어나 패치를 배포할 때도 중앙 서버의 부하를 낮추고, 대규모 업데이트에 따른 네트워크 혼잡을 줄일 수 있다. Microsoft SCCM과 IBM Tivoli가 예다.

실시간 주식 시세와 금융 데이터를 여러 트레이더에게 전달하는 용도도 있다. Bloomberg, Reuters 금융 정보 서비스처럼 지연 없는 정보 제공과 네트워크 리소스의 효율적 사용이 필요한 환경이다.

운영 환경에서 확인할 조건

라우터와 스위치는 멀티캐스트 기능을 지원해야 하며, IGMP 스누핑(snooping)을 지원하는 스위치를 사용하는 것이 권장된다. 멀티캐스트 라우팅 프로토콜 지원 여부도 함께 확인해야 한다.

그룹 가입을 무단으로 허용하지 않도록 접근을 통제하고, 인증된 사용자만 특정 멀티캐스트 그룹에 접근하게 해야 한다. 멀티캐스트 트래픽 암호화와 악의적인 멀티캐스트 패킷에 따른 DoS 공격 방지도 검토 대상이다.

지연에 민감한 멀티미디어 애플리케이션에서는 트래픽 우선순위를 설정하고 QoS를 보장해야 한다. 대역폭 예약과 관리도 필요하다. 네트워크가 커질수록 멀티캐스트 그룹 수 증가에 따른 라우팅 테이블 관리가 중요해지며, 계층적 멀티캐스트 설계가 확장성 확보에 사용된다.

공용 인터넷에서 마주치는 제약

ISP 사이의 멀티캐스트 연동은 제한적이어서 공용 인터넷 전역에서 멀티캐스트를 사용하기는 어렵다. 이 제약 때문에 CDN과 Application-Layer Multicast가 대안으로 등장했다.

설정과 관리 자체도 복잡하다. 문제가 생겼을 때 트러블슈팅이 어렵고 전문 지식이 필요하다. 또한 UDP 기반이므로 신뢰성을 보장하기 어렵고, 패킷 손실 복구 메커니즘은 별도로 구현해야 한다. 오류 제어는 애플리케이션 레벨에서 맡아야 한다.

SDN으로 제어하는 멀티캐스트 경로

Multicast Over SDN은 SDN(Software-Defined Networking)을 이용해 멀티캐스트를 구현하는 접근이다. 중앙 컨트롤러가 멀티캐스트 경로를 계산하고, 동적인 네트워크 상황에 맞춰 최적 경로를 다시 구성한다. 네트워크 가상화와 결합하면 더 유연한 멀티캐스트 서비스를 만들 수 있다.

SDN 컨트롤러OpenFlow 스위치 1OpenFlow 스위치 2OpenFlow 스위치 3호스트 1호스트 2호스트 3호스트 4호스트 5

CDN과 나누어 쓰는 배포 전략

CDN(Content Delivery Network)은 콘텐츠를 지리적으로 분산된 서버에 캐싱하고, 사용자와 가까운 서버에서 제공한다. 개별 유니캐스트 연결을 사용하며 공용 인터넷에서 널리 쓰인다.

IP Multicast는 네트워크 레벨에서 패킷을 복제하므로 실시간 스트리밍에 더 효율적일 수 있다. 다만 네트워크 인프라의 지원이 필요해 주로 기업 내부 네트워크나 제한된 환경에서 사용된다.

기업 내부에는 멀티캐스트를 적용하고 외부 전달에는 CDN을 사용하는 하이브리드 접근도 가능하다. 각 기술이 잘 맞는 구간을 나눠 활용하는 방식이다.

IP MulticastIGMP멀티캐스트 라우팅네트워크IPTV