멀티캐스트 지난 번에 이어서 두 번째 이야기입니다.
◎ RPF (Reverse Path Forwarding)
▷ 목적 : Multicast 패킷의 Loop를 방지. ( 중복된 Multicast 패킷 수신을 방지 )
▷ 전제조건 : Unicast Routing Protocol이 동작해야함.
▷ 확인 규칙
1. Multicast의 source IP가 Routing Table의 최적 경로의 Interface로 수신되면 RPF 체크 성공, 아니면 실패.
▷ 특징
1. Unicast Routing이 목적지 IP로 Routing을 하는 반면에, Multicast Routing은 출발지 IP로 Routing.
2. RPF에 성공할 경우에만 데이터가 전송되고, 실패할 경우에는 해당 데이터는 Drop 된다.
3. RPF 체크에 성공하게 되면, Outgoing Interface로 데이터가 전송되며, Incomming Interface로는 보내지 않음.
※ Outgoing Interface : IGMP를 통해서 Multicast Group Join 요청이 들어온 Interface.
즉 서비스 받고자 하는 User와 연결된 Interface.
※ Incomming Interface : RPF Check를 성공하여 데이터를 수신 받는 Interface.
◎ PIM-DM (Protocol Independent Multicast-Dense Mode)
▷ 특징
1. Unicast Routing Protocol을 기반으로 동작을 하며, Protocol에 Independent하다.
즉, 어떤 Unicast Protocol이든 상관이 없다. (Ex, Static, OSPF, EIGRP, RIP, BGP etc)
2. 소규모 Network에서 Multicast를 구현하는 데, 효율적임
3. 설정 Configuration이 간단 – 2 Command
Router(config)# ip multicast-routing
Router(config-if)# ip pim dense-mode
4. Mechanism이 간단 – Flood & Prune
5. Shared Trees를 지원하지 않음.
※ Source Tree - Multicast Server에서 Host(Receiver)까지의 최단 경로
※ Shared Tree - ▷ RP(Rendezvous Point) Router를 통해서 전달되는 경로
▷ 동작 방식
1. Multicast 가 활성화된 모든 Interface로 224.0.0.13(PIM-Router)로 Hello Packet을 30초마다 전송하고
PIM-DM Neighbor를 맺음.
2. Multicast 서버가 Multicast Traffic 발생시키면, 각 Router에서는 이를 Multicast Traffic을 받아서,
PIM-DM Neighbor 들에게 전송하게 된다.
3. Multicast Traffic를 수신한 Router는 다음과 같은 경우에는 데이터를 수신한 Interface를 통해서 데이터를
송신한 Router쪽으로 Prune 메시지를 전송해서 더 이상, Multicast Traffic이 전송되지 않도록 한다.
가) RPF Interface로 수신 時
Router에서는 해당 Multicast Traffic에 대한 Multicast Group에 IGMP Join을 통해서 Group에 등록한
Host가 없을 경우에는, 자신이 전송할 필요가 없으므로 불필요한 Data를 수신하지 않기 위해서
Prune 메시지를 보낸다.
나) non-RPF Interface로 수신 時
Multicast Source까지의 최단경로가 아니므로 Prune 메시지를 보내서, 데이터를 수신하지 않는다.
4. Multicast Group에 Join한 User(Receiver)가 있을 경우에 Router에는 Interface가 Outgoing Interface(OIL)
로 지정이 되면서, 해당 Interface로 Multicast Traffic을 전송하게 된다.
5. 3단계에서 Prune 메시지를 통해서 불필요한 Traffic을 차단한 경우에도, 매 3분마다 Prune 메시지가 만료
됨에 따라서, 다시 초기 Multicast Flooding 상태가 발생하고, 동일하게 다시 Prune 메시지를 통해서
불필요한 Traffic 을 차단하게 된다.