메뉴바로가기 본문바로가기

[네트워크 상식 46] IGMP 프로토콜에 대해 알아보자

관리자 | 2024-08-26 | 조회 19

IGMP (Internet Group Management Protocol)은 로컬 네트워크 상에서 라우터와

호스트 간의 멀티캐스트 환경을 제공하기 위해 그룹 멤버쉽을 구성하거나, 그룹

관리를 위한 프로토콜을 의미한다.

한 개의 라우터와 여러 개의 호스트로 구성되어 있는 네트워크 상에서, 각각의

호스트들이 어떠한 멀티캐스트 그룹에 속하는지를 라우터가 알 수 있게 하기

위한 프로토콜이다. 라우터는 IGMP 프로토콜을 통해서 각각의 호스트가 어떠한

그룹에 가입(Join) 또는 탈퇴(Leave)하는지를 알 수 있으며, 이를 통해 그룹 관리

를 하게 된다.

 

IGMP 프로토콜은 여러 호스트에게 채널이 효과적으로 전송되게 하기 위해, 멀티

캐스트 네트워크를 기반으로 구성되는 IPTV 서비스에 많이 사용되고 있다.

그러나 IGMP 프로토콜의 구조가 매우 단순하며, 별도의 인증과정을 거쳐 가입

하는 기능을 제공하지 않으므로 보안 면에서는 매우 취약하다는 단점을 가지고

있다.

 

IGMP 동작과정

자신이 IGMP 메세지에 표시된 멀티캐스트 주소의 멤버임을 다른 호스트와

라우터에게 알리기 위한 용도로 IGMP를 사용한다. 상기 그림처럼 그룹에 가입

하려면 해당 멀티캐스트 주소를 표기한 IGMP 보고 메시지를 전송해야 하는데

IGMP 헤더의 Group Address 필드에 가입을 원하는 멀티캐스트 주소를 기록한다.

 

멀티캐스트 라우터가 그룹에 속한 멤버 목록을 유효하게 관리하려면 IGMP 질의

메시지를 사용해 주기적으로 확인하는 과정이 필요하다. 개별 호스트가 자신의

그룹 멤버를 유지하려면 (b)처럼 IGMP 보고 메시지를 사용해 IGMP 질의에 응답

해야 한다. (c)처럼 라우터의 질의 메시지에 대해 호스트의 보고 메시지 응답이

이루어지지 않으면 그룹에서 탈퇴한 것으로 간주된다.

 

IGMP 메시지의 전송

IGMP는 IP 프로토콜과 동등한 계층의 기능을 수행한다. 그러나 바로 데이터 링크계층

으로 보내지지 않고, IP 패킷에 캡슐화되어 보내진다. 즉 그림처럼 IGMP 메시지는 IP

프로토콜의 데이터로 처리되기 때문에 IP 패킷의 해더에 실려서 계층2 프로토콜로

전달된다.

 

참조문헌: 데이터 통신과 컴퓨터 네트워크