- 호스트(컴퓨터)가 멀티캐스트 그룹 구성원을 인접한 라우터로에게 알리는 프로토콜
- IGMP는 TCP/IP 프로토콜 집합이 동적 멀티캐스팅을 수행하기 위해 사용하는 표준 프로토콜
- 특정 그룹에 속하는 모든 호스트에 메시지를 전송하는 방식을 멀티캐스팅(Multicasting) → 필요한 라우팅 알고리즘을 멀티캐스트 라우팅(Multicast Routing)
- IGMP 프로토콜은 여러 호스트(수신자)에게 채널이 효과적으로 전송되게 하기 위해, 멀티캐스트 네트워크를 기반으로 구성되는 IPTV 서비스에 많이 사용
IGMP의 위치
- IGMP 프로토콜과 ICMP 프로토콜 등은 데이터 전송용 프로토콜이 아니고 이벤트 또는 변화를 알리는데 사용되는 프로토콜
IGMP 동작 과정
- 그룹 멤버쉽 조사 (monitoring)
- 멤버쉽 질의 메시지를 보내서 응답을 기다림
- 일정 횟수 이상 응답 없으면 라우터는 해당 호스트를 그룹에서 탈퇴 시킴
- 그룹 가입 (Joining)
- 그룹에 가입하고자 하는 요청을 라우터에 보고
- 멤버쉽 연속 (member continuation)
- 계속해서 유지하기 원하는 보고 메시지
- 그룹 탈퇴 (Leaving)
- 호스트가 해당 그룹의 멀티캐스트 트래픽을 원치 않으면 leave 메시지 전송
- 호스트가 해당 그룹의 멀티캐스트 트래픽을 원치 않으면 leave 메시지 전송
IGMP 패킷 구성
호스트 측면에서 IGMP 프로토콜 사용
- 멀티캐스트 데이터의 수신을 원하는 호스트들이 IGMP를 사용하여 라우터에게 요청
- 멀티캐스트 데이터를 더 이상 수신을 원하지 않으면 그만 전송하라 중지 요청
- 호스트들은 멀티캐스트 그룹에 가입/탈퇴한다고 라우터에게 요청하는 용도
라우터 측면에서 IGMP 프로토콜 사용
- 라우터는 IGMP를 통하여 멀티캐스트 그룹에 가입한 호스트들을 감시하게 됨 → 주기적으로 멀티캐스트 그룹에 가입한 호스트들에게 IGMP 패킷을 사용하여 질의하는 용도.
- 멀티캐스트 그룹 멤버들은 SHOW IP IGMP GROUP를 통하여 확인 가능
- Expires 시간내에 호스트로부터 IGMP 패킷을 수신하지 못한다면 삭제됨
- 라우터가 감시하지 않을 시 아래와 같은 일이 발생 가능
- 한 호스트가 멀티캐스트를 이용하여 파일을 다운로드 하는 중에 전력이 차단되서 PC 전원이 차단된다면 호스트는 멀티캐스트 그룹의 탈퇴 메시지를 전송 X
- 라우터는 위 내용을 모르고 계속 가입되어 있는줄 착각하고 멀티캐스트 패킷을 지속하여 전송
- 쓸데없이 대역폭 낭비와 라우터 자원의 낭비를 발생
- 라우터는 IGMP를 통하여 멀티캐스트 그룹에 가입한 호스트들을 감시하는 역활을 수행해야함
IGMP 메시지의 전송
- IGMP는 IP 프로토콜과 동등한 계층의 기능을 수행
- 데이터링크계층으로 보내지지 않고, IP 패킷에 캡슐화되어 보내짐
- IGMP 메시지는 IP 프로토콜의 데이터로 처리되기 때문에 IP 패킷의 헤더에 실려서 계층 2 프로토콜로 전달됨
IGMP 취약점
- IGMP 프로토콜의 구조는 매우 단순하며 별도의 인증 과정을 거쳐 가입(Join) 하는 기능을 제공 X → 보안 면에서 매우 취약하다는 단점 有
- 공격자가 정상적인 사용자인 것처럼 IGMP 메시지를 위조하여 IGMP 전송
- IPTV 서비스 상의 프리미엄 채널을 가로채어 시청
- 현재 시청하고 있지 않는 여러 개의 채널을 요청해서 네트워크 내에 있는 모든 채널의 품질을 저하
- ICMP와 마찬가지로 디도스 공격에 이용될 수 있음
IGMP 기타 기능
- IGMP Snooping
- 라우터와 호스트 사이에 있는 스위치가 IGMP 메시지들을 들을 수 있게 하는 기능
- IGMP Querier Election
- 동일 LAN에 여러 멀티캐스트 라우터가 있으면, IPv4 주소 중 가장 낮은 주소를 갖는 라우터가 Querier 역할 집중
'Network(네트워크) > Network Protocol' 카테고리의 다른 글
ARP 프로토콜(Address Resolution Protocol) (0) | 2022.07.17 |
---|