Transcript
Netmanias 기술문서: PIM-SM(Protocol Independent Multicast -Sparse Mode) 상세동작원리
PIM-SM(Protocol Independent Multicast .Sparse Mode) 상세동작원리
2008년12월13일
NMC Consulting Group(tech@netmanias.com)
2
목차
.Multicast Routing Outlook
.Multicast Forwarding
.Flooding?
.Reverse-path Forwarding
.Multicast Distribution Tree
.Shortest Path Tree
.Shared Tree (RP Tree)
.Dense mode protocol의동작
.Sparse mode protocol의동작
.PIM-SM의주요개념들
.Basic PIM-SM Operations
.Multi-access Transit LAN
.Hello Timer
.Join/Prune Timer
.PIM Message Format
3
Multicast Routing Outlook
4
Multicast Forwarding .Flooding?
.Multicast Packet을 신하면, Incoming Interface 제외한모든인터페 스로패킷을젂달하 방식
.라우터갂topology Loop가있으면, TTL 0 될때까 계속Loop 구갂 Multicast packet 반복적으로돌아다님
.Leaf Router 연결된단말은여러개의중복된Multicast Packet을 신함.Forwarding Loop 방 하 커니즘없 , 실제망 서사 할 없음
Flooding
5
Reverse Path Forwarding
.라우터가multicast packet을 신하면, 것 “최적의경로” 통 젂달된것인 검사하여, 최적의경로로들어온것만처리하고, 그렇 않은것은버림
.최적의경로인 판단하기위 , 라우터 Multicast Source (Multicast packet의Source IP) 게자신 Unicast packet을젂달한다면(\"가 법과거\") 어떤인터페 스 통 패킷을내 내야하 Routing Table 서검사함
. 렇게Multicast Source로의역방향Outgoing Interface 검사하여, 그인터페 스 통 들어온Multicast Packet을받아들 고, 그렇 않은것을버리 것을Reverse-path Forwarding 라고함
Reverse-Path Forwarding
6
Multicast Distribution Tree
.RPF Check 하면Source로부터모든Listener (multicast receiver)로의패킷젂달경로가Tree모양(loop-free) 되 데, Multicast Routing 구조 “Multicast Distribution Tree”라고부름
.Distribution Tree 서위쪽(Source 쪽) 방향을Upstream 라함
.Distribution Tree 서아래쪽(Listener 쪽) 방향을Downstream 라함
7
Shortest Path Tree
각Source별로최단거리(Shortest Path)의Reverse-path로구성된Distribution Tree가별도로있 경우임
8
Shared Tree (RP Tree)
.모든Multicast Stream들 하나의분배Node로모인후 , 각Receiver들 게분배되 구조
.Source-specific Tree가아닌Shared Tree
.“Rendezvous Point” .Shared Tree의Root 역할을하 Multicast Router.
.모든Multicast Source RP 게Multicast Stream을 냄
.모든Listener RP Join하여, Shared Tree Multicast Stream을젂달받음
.RP Root로하 Distribution Tree 므로“RP Tree”라고도부름
9
Dense mode protocol의동작
Multicast Traffic은일단모든Neighbor 게젂달됨
Multicast Listener가없으므로Prune을 냄
자기 게서Multicast Traffic을받 Neighbor가없으므로Prune을 냄
Multicast Listener가Join하면Upstream으로Graft 냄
10
Sparse mode protocol의동작
Multicast Traffic은일단RP 게만젂달됨
Multicast Listener가IGMP-Join하면, RP 게PIM-Join함
RP가Source쪽라우터 게Join하면Source.RP로Multicast 젂달됨
Multicast Listener가추가되면PIM-Join RP 게올라옴
11
PIM-SM의주요개념들
Designated Router
LAN Multicast Router가둘 상인경우, 그중하나의Router만 WAN-to-LAN Forwarding을담당 야하 데, 그역할을Designated Router라고한다.
Multicast Source가있 LAN Multicast Router가둘 상인경우, 그중하나의Router만 외부Network으로Multicast Forwarding을하 데, 것역 Designated Router의역할 다.
Rendezvous Point
PIM DR 선 방법:PIM Hello 안 있 DR-Priority 값 가장큰것 DR 된다.DR-Priority값 가장큰것 둘 상 면, IP 주소가가장큰것 DR 된다.
12
.MRIB
.Multicast Routing Information Base.
. 통IS-IS, OSPF 등의Unicast RIB의내 을참조 만들어 며, MBGP 같은독자적인Multicast Protocol 의 얻어진내 덧붙여질 있다.
.RPF Check, PIM Join/Prune Multicast Distribution Tree 상향으로 내기위 사 된다.
.RPF Neighbor
.Multicast Source 방향 가까 있 Nexhop Router.
.PIM Join RPF Neighbor 향 내어진다.
.TIB
.Tree Information Base.
.Router PIM Join/Prune/Assert , IGMP 등을 신함으로써자신의위치 서어떤Neighbor나Host들 게어떤Group의Multicast Packet을Forwarding 주어야하 대한 유 하 데, 러한 TIB라고함.
.MFIB
.Multicast Forwarding Information Base.
.TIB로부터추출된, Router Line card 서빠르고효율적으로Multicast Forwarding을 행하기위 참조되 Forwarding Table을가리킴.
PIM-SM의주요개념들
13
Basic PIM-SM Operations (1) RP Tree
.PIM Register
.Sender쪽DR RP 게Multicast Packet을 낼때, Unicast Packet으로 낼있도록 주 Encapsulation 방식. 일종의Tunneling 다.
.(*,G) Join
.Source 주소 하 않고, Group 주소만 된Join 상태.
.RPT Join되 것은, 개념상모두(*,G) Join 다.
Sender가Streaming 하기젂 Join 먼저발생한경우
14
.(S,G) Join
.특 Source주소로부터의Multicast Group만을받겠다 의미.
.Source 방향의RPF Neighbor 게젂달됨.
.PIM Register-stop
.Register Encapsulation을중단하라 의미.
.RP가Sender쪽DR 게 낼 있다.
.일반적으로Register 같은tunneling 방식으로패킷을변경 켜forwarding하 것은, 라우터성능상제약을받을 있으므로, (S,G) Join을 내Native Forwarding으로받을 있게한다음 , Register-stop을 내Encapsulation을중단 킨다.
Basic PIM-SM Operations (2) Register-Stop
15
.SPT Switchover
.RP Tree 통 Multicast Traffic을받다가SPT로젂 하 것은Receiver쪽DR 결 함.
.SPT Threshold
.Last-hop DR RPT 통 내려오 Multicast Traffic을받다가, 일 threshold (PPS) 상내려오면SPT로젂 하도록관리자가설 하 값.
.Infinite Threshold
.SPT로젂 하 않고계속Shared Tree 통 Multicast traffic을받겠다 책.
.“첫번째Packet 서SPT 젂 ”
.Threshold = 0 인것과같음.
.(S,G,rpt) Prune
.(S,G) Join을했으므로, 그(S,G)은더 상RPT 통 받 않겠다 의미 젂달하기위 사 .
.(S,G) Prune
.(S,G) Join 을 제하겠다 의미.
Basic PIM-SM Operations (3) SPT Switchover
16
Streaming 시작이후에Join된경우
17
.Router들만연결되어있 Transit LAN , 하나의{Source, Group} stream 대 둘 상의젂달자(forwarder)가있을경우 Packet 중복된다.
. 러한상황 발생하면, Assert 내하나의라우터 선택한다.
.Assert Message
.(S,G) or (*,G) plus Route Metric to the source or RP
.(*,G) 다 (S,G) 엔트리 가 고Forwarding하 라우터가우선 다.
.모두(S,G) 면source 주소방향으로의Route Metric값 작은(즉, 더가까운) 라우터가우선 다.
.모두(*,G) 면RP 방향으로의Route Metric값 작은(즉, 더가까운) 라우터가우선 다.
.Router Multicast 중복상태 어떻게알 있나?
.(S,G) join 또 (*,G) join state 가 고있 인터페 스 서그(S,G) pair나(*,G) pair 당하 multicast packet을 신한다면, 러한중복상태임을알 있다.
Multi-access Transit LAN : Assert Message
18
PIM Hello Timer
.Neighbor별실제Hello_Holdtime값은Hello PDU 안 록되어있음.
.Hello 의 Neighbor로인식되어 않은라우터의PIM 무 한다.
Hello_Holdtime = Neighbor Timeout 값
“Triggered Hello”
.새로운Neighbor의Hello 신하면, 그Neighbor 게자신의존재 빨리알리기위 Hello 내준다.
.0 ~ Triggered_Hello_Delay(=5s) 사 의Random한 갂 Hello 내 낸다.
19
Join/Prune Timer
.PIM Join/Prune 내 실제Holdtime값 록되어있음.
Upstream_Join_Timer : 주기적으로Upstream Join/Prune 냄
20
Anycast-RP
1. The same IP address set for loopback interface in each RP
.모든PIM Router static하게RP주소가설 됨. (예10.0.0.1)
.각RP들은Loopback interface 동일한RP주소가설 됨.(10.0.0.1)
.각RP들은Unicast Routing Protocol을통 10.0.0.1/32 인prefix advertise함. (즉, host route)
.각라우터들은자신으로부터가장가까운10.0.0.1을선택하여, 그쪽으로(*, G) Join하게됨.
2. IGP Reconvergence will occur when RP1 fails
.RP1 장애발생하면, IGP Rerouting 발생할것임.
.Edge Router 입장 서 자신 알고있 RP로의Nexthop과Cost가변경됨.
.새로운Nexthop (Upstream neighbor to RP)으로(*, G) Join 다 발생함.
21
Address Encoding in PIM
Encoded Unicast Address
Encoded Group Address
Encoded Source Address
S-bit = 1 (PIM Sparse Mode)W-bit : Wildcard bit (*,G) Join 할때1로설 됨.R-bit : RP bit. RPT Join/Prune할때1로설 .
22
PIM Hello Message & Options
Hello Message
Option Type #1 -Holdtime
Option Type #19 .DR Priority
Option Type #20 .Generation ID
23
PIM Register Message
Register Message
24
PIM Register-Stop Message
Register-Stop Message
25
PIM Join/Prune Message
26
PIM Assert Message
Assert Message
27
End of Document
좋은 자료 감사합니다.