PIM   Protocol Independent Multicast  

(2016-08-30)

PIM-DM, PIM Dense Mode, Dense-mode Multicast Routing Protocol, PIM-SM, PIM Sparse Mode, Sparse-mode Multicast Routing Protocol, Pruning, 가지치기


1. PIM (Protocol Independent Multicast)

  ㅇ 대규모 네트워크 상에서 프로토콜에 의존하지 않고, 멀티캐스트 라우팅 트리를 구성할 수
     있게하는 멀티캐스트 라우팅 프로토콜

   ㅇ [용어 의미]  Protocol Independent (프로토콜 비의존적)
      - 각 라우팅 프로토콜 마다 저마다 Topology를 구축하지 않아도,
        타 라우팅 프로토콜이 구축한 Topology 정보를 그대로 활용


2. PIM 구분

  ㅇ Dense Mode 멀티캐스트 라우팅 프로토콜

     - 그룹 구성원이 도처에 반드시 1 이상씩 있고, 충분한 대역폭이 있는 환경에 적절
        . 각 라우터들이 멀티캐스팅에 참여할 가능성이 높을 때 사용
           .. 밀집된 소규모 지역에 유리
        . 설정이나 동작 방식이 비교적 간단함

     - Dense Mode 특징 
        . 발신자 기반의 트리 방식(Source-based Tree)
           .. 그룹내 각 발신자를 루트로 하는 별개의 트리들이 구성
        . 데이터 기반(Data-driven) 방식
        . Flood-and-Prune 메커니즘
           .. 우선 모든 호스트멀티캐스팅을 원하고 있다고 가정하며,
           .. 입력 멀티캐스트 패킷을 다른 모든 인터페이스Flooding 함을 원칙으로 함
           .. 멀티캐스팅이 불필요한 곳 마다 Prune으로 가지치기 차단 (PIM Prune 메시지)
  
     - Dense Mode Multicast Routing Protocol 例 
        . 프로토콜 비의존적 : PIM-DM (RFC 3973)
        . 프로토콜 의존적   : DVMRP, MOSPF 등

  ㅇ Sparse Mode 멀티캐스트 라우팅 프로토콜

     - 그룹 구성원이 여러 곳에 분산되어 있고, 충분하지 않은 대역폭이 있을 때에 적절
        . 각 라우터들이 멀티캐스팅에 참여할 가능성이 낮을 때 사용

     - Sparse Mode 특징
        . 수신자 기반(Receiver-initiated)의 그룹 공유 트리 기반(Group-shared Tree) 방식
           .. RP(Rendezvous Point)를 루트로 하는 그룹 공유 트리를 통해 멀티캐스팅
        . Explicit Group-Join 메커니즘
           .. 우선 모든 호스트멀티캐스팅을 원하지 않다고 가정하며,
           .. 입력 멀티캐스트 패킷을 어떠한 인터페이스에도 포워딩하지 않음을 원칙으로 함
           .. 원할 때 마다 그룹 공유 트리에 각 수신자들이 Join 하는 방식 (PIM Join 메세지)

     - Sparse Mode Multicast Routing Protocol 例 
        . 프로토콜 비의존적 : PIM-SM (RFC 2362) 등


3. PIM 관련 프로토콜 메시지

  ㅇ PIMv2 특징
     - Protocol Number : 103
     - 목적지 주소 : All PIM Routers (IPv4 224.0.0.13, IPv6 FF02::D) 
                     또는 특정 유니캐스트 주소
     - PIM-SMv2 메시지 타입 : 0 (Hello), 1 (Register), 2 (Register-Stop), 3 (Join/Prune),
                              4 (Bootstrap), 5 (Assert), 8 (Candidate RP advertisement)

  ㅇ PIM Hello 메세지 (PIMv2 부터 사용됨, PIMv1에서는 사용 안함)
     - PIM으로 구동된 멀티캐스트 라우터는, 
        . 맨 먼저 모든 인터페이스에 PIM Hello 메세지를 발송하게 됨
     - 목적지 주소 : All PIM Routers (IPv4 224.0.0.13, IPv6 FF02::D)
     - 발송 주기   : 30 초
     - 발송 목적   : 이웃 멀티캐스트 라우터와 Neighbor 관계(PIM Neighbor Adjacency)를 맺음
     - 주요 항목
        . Hello Holdtime : 정보 유지에 필요한 시간
           .. 만일, 이 기간 동안 이웃에서 Hello 메세지 미 수신이면, 상대 이웃이 죽음 간주 
           .. 통상, Hello 메세지 발송측에서 제시한 Hello Interval의 3배
     - 참고사항
        . 이웃 간에 Hello 메시지를 통해 Adjacency 맺은 경우에 만, 타 메시지도 송수신 가능


4. LAN에 관련된 PIM-DM,PIM-SM 동작들

  ㅇ Prune Override (Prune/Pruning : 가지치기)
     - 바로 상위 라우터에게 해당 멀티캐스트 수신 그룹에 멀티캐스트 트래픽을 보내지 말도록
       알리는 메세지
     - 멀티캐스트 트래픽이 필요 없으면, 
        . Prune(가지치기) 된 상태를 유지하기 위해, 3분 마다 Prune 메세지 전송해야 함
        . 따라서, Flood-and-Prune 반복될 수도 있음
     - Prune 메세지 전달 경우
        . RPF CHeck
        . 라우터 자신이 말단(leaf) 노드이고, 그룹 구성원이 없을 때
        . 모든 하위 라우터들로부터 Prune 메세지를 수신한 경우

  ㅇ Assert messages

  ㅇ Designated routers

멀티캐스트 라우팅
   1. 멀티캐스트 라우팅 프로토콜   2. 멀티캐스트 트리   3. DVMRP   4. MOSPF   5. PIM   6. CBT   7. MSDP   8. RP(랑데뷰포인트)   9. 역경로  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"