Network/Service Provider

Multicast (4) PIM-SM (Auto RP)

billy0529 2014. 9. 26. 21:41
728x90

<>PIM-SM Auto RP



정적으로 RP를 지정하는 방식이 아닌 자동(auto)으로 RP를 선정하도록 한다.

동작방식은 특정라우터가 RP candidate가 된다고 광고하고 (239.0.1.39), Mapping Agent가 취합하여 최종적으로 RP를 선정하고, 멀티캐스트를 구동하는 라우터들에게 RP를 광고(239.0.1.40) 한다.

시스코 전용 프로토콜로써 타벤더에서는 자동 RP선정방식을 BSR을 주로 이용한다.


RP Candidate --- 239.0.1.39 --> Mapping Agent

Mapping Agent -- 239.0.1.40 --> Multicast Router


즉 RP 선정을 위한 초반 사전작업을 위해 멀티캐스트 주소를 사용한다.


D-Mode : RP Candidate 광고와 RP address 광고 주소를 모두 Dense Mode로 동작하여 각 장비로 플러딩 한다.

               패킷플러딩에 대한 단점들과, 모든 장비들이 멀티캐스트 라우팅을 위한 (소스,그룹) 정보를 공유해야 하므로 장비에 

               부담을 주게 된다.

               

S-Mode :  오토 RP가 동작하기 위해 Mapping Agent가 광고하는 멀티캐스트 패킷을 받아야 하지만, RP주소를 알수 없기 

               때문에 PIM-SM 셰어드 트리에 조인할수 없고 이로인해 결국 Auto-RP가 정상동작하지 않는다. 

               다만 RP candidate 와 Mapping Agent가 connected로 연결된경우 RP candidate 주소가 Dense-mode로

               Mapping Agent에게 광고되어 호스트처럼 패킷을 받게 된다. 다시말해 Mapping Agent 와 인접한 장비들은

               모드에 상관없이 RP정보를 수신한다. 


Sparse-Dense Mode : RP 주소를 모르면 Dense 모드로, 알면 Sparse 모드로 동작한다. 따라서 Auto RP를 구동한후에

               RP 정보가 공유가 안된 상태에서는 덴스모드로 동작하여 RP 정보를 공유하고 그후엔 스파스 모드로 동작한다.

               RP로 지정될 라우터에게 특정 멀티캐스트 그룹주소를 지정하면, 지정된 그룹에 대해 스파스로, 지정되지 않은

               그룹은 RP정보가 광고되지 않으므로 덴스모드로 동작시키는 것도 가능하다.



  

예제조건

   (1) 모든 라우터는 루프백 주소를 포함해 EIGRP AS 1로 통신하고, Sparse-Mode로 설정한다

   (2) R2, R3이 각각 RP 후보가 되고, R6이 매핑 에이전트로 동작한다.




1. Configuration



   (1)   RP 후보 설정 - 예제의 R2, R3이 이에 해당한다.


   R2(config)# ip pim send-rp-announce lo0 scope 10 interval 10 {access-group}

   R3(config)# ip pim send-rp-announce lo0 scope 10 interval 10 {access-group} 


   RP 후보가 되도록 설정한다. scope 10은 TTL(time to llve) 과 유사한 개념인데, 패킷이 Mapping-Agent 까지 도달하도록

   적당한 값을 지정한다. 추가로 access-group은 멀티캐스트 그룹을 ACL로 지정하여 해당 그룹에 대해서만 RP가 되도록 설정

   하는데 사용한다. Interval 타임은 광고주기를 설정하도록 하는데(sec 단위), 메인 RP라우터가 다운되거나, 모종의 이유로 

   백업 RP주소를 빠르게 등록하도록 시간간을 단축하여 설정하거나 정책에 맞게 조정가능하다. 해당 interval 의 3배가 

   홀드타임으로 자동 적용됨

   


   (2) Mapping-Agent 설정 - R6


   R6(config)# ip pim send-rp-discovery scope 10 interval 10 


   Mapping-Agent 가 되도록 설정한다. Scope 10 은 RP 후보에서와 마찬가지로 라우터 장비들로 패킷이 도달할수 있도록 

   TTL값을 설정하면 된다.



   (3) Sparse-Mode autoRP listener


   위의 예제에서는 R6이 R2, R3으로 부터 RP 주소를 받아올수 없고, 결과적으로 멀티캐스트 패킷이 운용되지 못한다.

   이유는, R2, R3이 멀티캐스트 그룹 주소 239.0.1.39로 본인 RP 후보임을 광고 ==> R4에서 Sparse-Mode로 설정되어있으므

   로 셰어드 트리에 조인되어야만 RP 주소를 알수 있으나, 정적 RP 방식이 아니고, 동적 RP 선정방식이므로 RP를 알수 없음.

   따라서 239.0.1.40 에 조인할수 없다. ==> R5도 마찬가지 ==> R6은 결과적으로 RP 후보중에서 RP 선정 불가 ==> 통신불가

   의 결과가 된다.

   따라서 시스코에서는 예제의 R4, R5 와 같은 autoRP 블랙홀 라우터에서 sparse-mode로 설정되어있더라도 [239.0.1.39, 40]

   패킷을 수신할수 있는 명령어를 제공한다.

  

   R4(config)# ip pim autorp listener

   R5(config)# ip pim autorp listener


   R4  

 

    ip pim autorp listener 를 설정하자 sparse-mode가 활성화된 인터페이스로 239.0.1.40 그룹 패킷을 전달한다.

   그리고 잠시후 R6에서,


   R6


   PC 에서 시청중인 멀티캐스트 그룹 239.1.1.1 에 대한 RP가 R3 [1.1.3.3]으로 등록되었다.



   (4) RP Filter


   위 예제에서 Mapping-agent 가 그룹주소 239.1.1.1 에 대해 오직 R3, R4 만 RP로 등록하도록 설정한다.

   공격자가 자신의 RP를 임의로 등록하여 패킷을 가로채는 RP spoofing 공격을 방지한다.


   R6


   (1) 선정하고자 하는 RP 후보 주소를 ACL로 지정

   (2) 적용할 그룹주소를 지정한다. 만약 224.0.0.0/8 지정할경우 당연히 모든 멀티캐스트 그룹에 대해 지정함

   (3) 위 에서 설정한 RP 주소와 멀티캐스트 그룹주소를 rp-announce-filter 에 적용한다.

 


   (5) Multicast Packet Filter


   특정 그룹에 대해 인터페이스에서 in, out으로 패킷을 차단한다. 확장 ACL을 이용해 소스+그룹주소로 필터링도 가능하다.


   R5


   (1) 출발지 멀티캐스트서버, 목적지 멀티캐스트 그룹 239.0.0.0 에 대해 차단한다.

   (2) 멀티캐스트 224.0.0.0/16 에 대해 모두 허용한다.

   (3) R4 ==> R5 방향에서 R4에서 들어오는 멀티캐스트 패킷에 대해 위에서 설정한 ACL 정보를 토대로 필터링한다.


   결국 PC 에서 시청중인 239.1.1.1 패킷이 R5에서 수신시 차단되어 통신이 되지 않는다. 

'Network > Service Provider' 카테고리의 다른 글

Multicast (6) MSDP  (0) 2014.10.01
Multicast (5) PIM-SM (BSR)  (0) 2014.09.30
Multicast (3) PIM-SM (static RP)  (0) 2014.09.23
Multicast (2) PIM-DM  (0) 2014.09.23
Multicast (1)  (0) 2014.09.23