IGMP란? | 인터넷 그룹 관리 프로토콜

인터넷 그룹 관리 프로토콜(IGMP)을 사용하면 네트워크로 연결된 장치 그룹에서 동일한 IP 주소를 공유하고 동일한 메시지를 받을 수 있습니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 멀티캐스팅의 정의
  • IGMP에서 멀티캐스팅을 가능하게 하는 방법 알아보기
  • IGMP 작동 방식 살펴보기

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

인터넷 그룹 관리 프로토콜(IGMP)이란?

인터넷 그룹 관리 프로토콜(IGMP)은 여러 장치가 하나의 IP 주소를 공유하여 모두 동일한 데이터를 수신할 수 있도록 하는 프로토콜입니다.IGMP는 인터넷 프로토콜 버전 4(IPv4)를 사용하는 네트워크에서 멀티캐스팅을 설정하는 데 사용되는 네트워크 계층 프로토콜입니다.특히 IGMP를 사용하면 장치가 멀티캐스팅 그룹에 가입할 수 있습니다.

멀티캐스팅이란?

멀티캐스팅은 장치 그룹이 모두 동일한 메시지 또는 패킷을 수신하는 경우입니다.멀티캐스팅은 여러 장치 간에 IP 주소를 공유하여 작동합니다.해당 IP 주소로 전달되는 모든 네트워크 트래픽은 하나의 장치가 아닌 IP 주소를 공유하는 모든 장치에 도달합니다.이는 직원 그룹이 모두 특정 이메일 별칭으로 전달되는 회사 이메일을 수신하는 경우와 매우 유사합니다.

IGMP는 어떻게 작동할까요?

하나의 네트워크에 연결된 컴퓨터 및 기타 장치는 멀티캐스트 그룹에 가입할 때 IGMP를 사용합니다. IGMP를 지원하는 라우터는 어떤 장치가 어떤 멀티캐스트 그룹에 속하는지 파악하기 위해 장치에서 IGMP 전송을 수신합니다.

IGMP는 멀티캐스팅을 위해 따로 설정된 IP 주소를 사용합니다. 멀티캐스트 IP 주소의 범위는 224.0.0.0에서 239.255.255.255 사이입니다. (반면, anycast 네트워크는 모든 일반 IP 주소를 사용할 수 있습니다.) 각 멀티캐스트 그룹은 이러한 IP 주소 중 하나를 공유합니다. 라우터가 공유 IP 주소로 전달되는 일련의 패킷을 수신하면 해당 패킷을 복제하여 멀티캐스트 그룹의 모든 구성원에게 복사본을 보냅니다.

IGMP 멀티캐스트 그룹은 언제든지 변경될 수 있습니다. 장치에서는 언제든지 IGMP "그룹 가입" 또는 "그룹 나가기" 메시지를 보낼 수 있습니다.

IGMP는 인터넷 프로토콜(IP)에서 직접 작동합니다.각 IGMP 패킷에는 IGMP 헤더와 IP 헤더가 모두 있습니다.ICMP와 마찬가지로 IGMP는 TCP 또는 UDP와 같은 전송 계층 프로토콜을 사용하지 않습니다.

어떤 유형의 IGMP 메시지가 있을까요?

IGMP 프로토콜은 여러 종류의 IGMP 메시지를 허용합니다.

  • 멤버십 보고서: 장치에서는 멀티캐스트 그룹의 구성원이 되기 위해 멤버십 보고서를 멀티캐스트 라우터로 보냅니다.
  • "그룹 나가기" 메시지: 이 메시지는 장치에서 라우터로 이동하여 장치가 멀티캐스트 그룹에서 나갈 수 있도록 합니다.
  • 일반 멤버십 쿼리: 멀티캐스트 지원 라우터는 연결된 전체 장치 네트워크에 이 메시지를 전송하여 네트워크의 모든 그룹에 대한 멀티캐스트 그룹 멤버십을 업데이트합니다.
  • 그룹별 멤버십 쿼리: 라우터는 이러한 메시지를 전체 네트워크 대신 특정 멀티캐스트 그룹으로 보냅니다.

IGMP 스누핑이란?

IGMP는 네트워크 계층 프로토콜이며 네트워크 계층을 인식하는 네트워킹 장치만 메시지를 주고받을 수 있습니다. 라우터는 네트워크 계층에서 작동하는 반면, 네트워크 스위치는 데이터 링크 계층이라고도 하는 계층 2만 인식할 수 있습니다. 따라서 스위치는 멀티캐스트 그룹의 일부인 네트워크 장치와 그렇지 않은 네트워크 장치를 인식하지 못할 수 있습니다. 스위치는 멀티캐스트 트래픽이 필요하지 않은 장치로 전달되어 네트워크 대역폭과 장치 처리 능력을 차지해서 전체 네트워크의 속도가 느려질 수 있습니다.

IGMP 스누핑은 IGMP 메시지에서 스위치가 "스누핑"하도록 설정하여 이 문제를 해결합니다. 일반적으로 계층 2 스위치는 IGMP 메시지를 인식하지 못하지만, IGMP 스누핑을 통해 수신 대기할 수 있습니다. 이를 통해 멀티캐스트 메시지를 전달해야 하는 위치를 식별할 수 있으므로 올바른 장치만 멀티캐스트 트래픽을 수신할 수 있습니다.

IPv4와 IPv6에서 멀티캐스팅은 어떻게 다를까요?

IPv4와 IPv6은 인터넷 프로토콜(IP)의 두 가지 버전입니다. IPv6가 최신 버전이지만, IPv4도 여전히 널리 사용되고 있습니다. IPv6에서 멀티캐스트 리스너 발견(MLD)은 IGMP가 아닌 멀티캐스팅을 위한 프로토콜입니다.

멀티캐스팅은 anycast 및 unicast와 어떻게 다를까요?

멀티캐스트와 anycast의 비교

anycast는 네트워크 통신이 여러 장소로 이동할 수 있도록 하는 또 다른 기술입니다.멀티캐스트와 마찬가지로 anycast 네트워크를 사용하면 동일한 서버 그룹에서 하나 이상의 IP 주소를 공유할 수 있습니다.그러나 모든 서버가 해당 IP 주소에 대한 모든 트래픽을 수신하는 대신 네트워크는 미리 결정된 기준 집합에 따라 해당 서버 중 하나로 트래픽을 라우팅합니다.anycast 네트워크는 멀티캐스트 그룹보다 더 넓은 범위의 IP 주소를 지원할 수도 있습니다.예를 들어 Cloudflare 네트워크에서는 anycast를 사용하여 모든 사용자 트래픽을 가장 가까운 데이터 센터로 라우팅합니다.

멀티캐스트와 unicast의 비교

"unicast"는 대부분의 인터넷 작동 방식을 설명합니다. unicast 네트워크에서 네트워크에 연결된 모든 장치에는 고유한 주소가 있습니다. 해당 주소(인터넷에서는 IP 주소)로 전달되는 메시지는 멀티캐스팅에서와 같이 여러 장치가 아닌 해당 장치로만 이동합니다.