멀티캐스트와 IGMP

I. 멀티캐스트의 개념과 멀티캐스트 라우팅 프로토콜 유형

가. 멀티캐스트의 개념

개념도
개념네트워크 대역폭 자원을 효율적으로 사용하기 위해 동일 데이터를 다수 노드의 특정한 그룹의 수신자들에게 동시에 전송할 수 있는 트래픽 전달 프로토콜

나. 멀티캐스트 라우팅 프로토콜 유형

구분라우팅 프로토콜 유형프로토콜 설명
송신자 기반 트리
(Source-based Trees)
DVMRP (Distance Vector Multicast Routing Protocol)– 각 목적지별 최단 경로 브로드캐스트 트리 생성
– 각 목적지들은 하나의 패킷만 수신하도록 보장
MOSPF (Multicast Open Shortest Path First)– OSPF 프로토콜의 확장 프로토콜 (다익스트라)
– OSPF 영역 내 모든 라우터는 같은 최단경로 트리
– 노드가 밀집되고 대역폭이 충분한 환경에 사용
PIM-DM (Protocol Independent Multicast Dense Mode)– 각 라우터가 멀티캐스트에 참여 가능성 높을 때
– Flood and Prune 메커니즘: 입력 멀티캐스트 패킷을 다른 모든 인터페이스에 전파
– 멀티캐스팅이 불필요한 곳마다 가지치기(Prune)
그룹 공유 트리
(Group Shared Trees)
CBT (Core-Based Tree)– 랑데뷰 라우터만 그룹에 대한 최적 트리를 구성, 각 그룹에게 전송
– 송신측에서 랑데뷰 라우터에 데이터 전송 후 랑데뷰 라우터가 그룹 전체에 전송
PIM-SM (Protocol Independent Multicast Sparse Mode)– 노드가 분산되어 있고, 낮은 대역폭 환경에 사용
– 각 라우터가 멀티캐스팅에 참여 가능성이 낮을 때 사용
– Explicit Group Join 메커니즘: 모든 호스트가 멀티캐스팅 원하지 않다고 가정
– 입력 멀티캐스트 패킷을 어떠한 인터페이스에도 포워딩하지 않음
– 필요 시 그룹 공유 트리에 각 수신자가 Join 

 

II. IGMP의 동작과적과 메시지 유형

가. IGMP의 동작 과정

  • IGMP는 라우터와 네트워크 상 호스트와의 신호제어 프로토콜로 Query와 Report Message로 구성
  • 라우터에서 네트워크에 존재하는 호스트들에게 주기적으로 Query Message를 전송하여 멤버십여부를 조사하고, 호스트는 라우터에게 Report Message를 전송하여 멤버십 여부 응답
  • 라우터에서는 Report Message를 받아 멤버십을 관리하며, 무응답 호스트는 관리 그룹에서 제외

나. IGMP의 메시지 유형

구분메시지 유형메시지 기능 설명
그룹 가입
(Membership Report)
– 호스트는 그룹에 가입하기 위해 가입 요청 메시지 (Membership Report)를 멀티캐스트 라우터에 송신
일반 질의
메시지
(General Query)
– 시스템이 갑자기 종료하여 탈퇴 메시지를 보내지 못할 상황에 대비General query 전송
– General query 그룹주소는 0.0.0.0으로 정의
– 호스트가 탈퇴를 원하지 않으면 Membership Report 전송하여 그룹 유지
– 호스트가 탈퇴를 원하면 응답 메시지를 전송하지 않고, 라우터에서는 응답 메시지가 없으면 해당 호스트를 그룹에서 삭제
그룹 탈퇴
(Leave Report)
– 탈퇴 요청 시 바로 탈퇴시키지 않음
– 호스트와 session 기반 메시지 전송하고 있는 그룹이 있을지 모르기 때문에 유지
– 호스트가 진짜 종료를 원하는지 확인하기 위해 라우터에서 Special Query(특별 질의) 전송
– 호스트가 탈퇴를 원하지 않으면 Membership Report 전송하여 그룹 유지
– 호스트가 탈퇴를 원하면 응답 메시지를 전송하지 않고, 라우터에서는 응답 메시지가 없으면 해당 호스트를 그룹에서 삭제
  • IGMPv1의 경우 멀티캐스트 수신 호스트가 없음에도 불구하고 타이머 (Expire Timer)가 만료되는 최대 3분동안 불필요 멀티캐스트 스트림을 서브넷에 계속 전송하는 단점 존재
  • 이를 해결한 것이 IGMPv2이며, IGMPv2에서 서브넷에서 멀티캐스트 그룹을 마지막으로 떠나는 호스트는 반드시 라우터에게 탈퇴(Leave) 메시지를 전달하여 더 이상의 멀티캐스트 수신을 원하는 호스트가 없음을 알림
  • IGMPv3에서는 SSM(Source Specific Multicast) 기능 제공

 

III. 효과적인 네트워크 사용을 위한 멀티캐스트 토폴로지

  • 멀티캐스트는 라우터 간 멀티캐스트 프로토콜과 라우터-노드 간 IGMP를 통해 효과적으로 트래픽 전송

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^