S-38.121 / S-03 / RKa, NB Multicast2-1
Multicast Protocols
IGMP – IP Group Membership Protocol DVMRP – DV Multicast Routing Protocol MOSPF – Multicast OSPF PIM – Protocol Independent Multicast
S-38.121 / S-03 / RKa, NB Multicast2-2
Multicast Protocols IGMP IP Group Membership Protocol DVMRP DV - - PDF document
Multicast Protocols IGMP IP Group Membership Protocol DVMRP DV Multicast Routing Protocol MOSPF Multicast OSPF PIM Protocol Independent Multicast S-38.121 / S-03 / RKa, NB Multicast2-1 Multicast in local area networks
S-38.121 / S-03 / RKa, NB Multicast2-1
S-38.121 / S-03 / RKa, NB Multicast2-2
S-38.121 / S-03 / RKa, NB Multicast2-3
32 bits MSB(t) host network 1110 1111 28 bits - multicast group address experiments Class
S-38.121 / S-03 / RKa, NB Multicast2-4
S-38.121 / S-03 / RKa, NB Multicast2-5
S-38.121 / S-03 / RKa, NB Multicast2-6
Max Resp Time Checksum Group Address
All systems MC group 224.0.0.1
Ver.=2 Type
S-38.121 / S-03 / RKa, NB Multicast2-7
Type=0x11 Max Resp Time Checksum Group Address
Reserved Number of Sources (N) Source Address Source Address Source Address
S-38.121 / S-03 / RKa, NB Multicast2-8
S-38.121 / S-03 / RKa, NB Multicast2-9
S-38.121 / S-03 / RKa, NB Multicast2-10
G1 G1 S1 G1 S3
192.5.3/24 192.7.1/24 128.5.1/24 128.5.2/24 W1 Tunneling is used to bypass unicast sections of the Internet W2
S-38.121 / S-03 / RKa, NB Multicast2-11
S-38.121 / S-03 / RKa, NB Multicast2-12
S-38.121 / S-03 / RKa, NB Multicast2-13
– Except that sources are like destinations in RIP
S-38.121 / S-03 / RKa, NB Multicast2-14
Type=0x13 Type=0x13 Code Code Checksum Checksum Reserved Reserved Minor vers =0xff Minor vers =0xff Major vers = 3 Major vers = 3 DVMRP header:
S-38.121 / S-03 / RKa, NB Multicast2-15
My address on list first time My address on list first time Unicast [whole DVMRP routing table] Yes
S-38.121 / S-03 / RKa, NB Multicast2-16
S-38.121 / S-03 / RKa, NB Multicast2-17
Designated forwarder Downstream Dependent neighbor
Known neighbor Known neighbor yes yes
S-38.121 / S-03 / RKa, NB Multicast2-18
DVMRP Report [S, metric] Adjusted metric=metric+interface cost If Metric<inf & Adjust metric≥inf Set adjusted metric to inf If Route is new and Adj metric<inf Add route to RT Delete prune state of more general route Elseif Route exists If Received metric < inf Check if Designated forwarder status for (S,G) changes If Adjusted metric > existing metric From same neighbor: update metric, Sch flash update for route Elseif Adj.metric < existing metric Update metric for the route If sender was different, update RT, schedule flash updates Elseif Adj.metric = existing metric: refresh route ... Elseif Received metric =inf ... Elseif Inf < Received Metric < 2 * inf ... Other interfaces
S-38.121 / S-03 / RKa, NB Multicast2-19
Multicast packet [from=S, to=G] No
Yes Multicast packets Received on interface u “Reverse Path Forwarding check”
u=RPFinterface(S,G) u=RPFinterface(S,G)
S-38.121 / S-03 / RKa, NB Multicast2-20
Prune [S, G, lifetime] Remove Cache Entry Multicast packet [from=S, to=G] No
Received on interface u Multicast packet Empty list Empty list Yes No Cache = [S,G]:(u,list) Cache = [S,G]:(u,list) u=RPFinterface(S,G) u=RPFinterface(S,G)
S-38.121 / S-03 / RKa, NB Multicast2-21
Multicast packets Leaf network
u Prune[S,(m), G]
S-38.121 / S-03 / RKa, NB Multicast2-22
Upstream router for [S,G]
Graft [S, G] Graft Ack
S-38.121 / S-03 / RKa, NB Multicast2-23
S-38.121 / S-03 / RKa, NB Multicast2-24
S-38.121 / S-03 / RKa, NB Multicast2-25
S-38.121 / S-03 / RKa, NB Multicast2-26
S-38.121 / S-03 / RKa, NB Multicast2-27
S-38.121 / S-03 / RKa, NB Multicast2-28
S-38.121 / S-03 / RKa, NB Multicast2-29
128.186.3.0/24
S1 G2 G1 G1 G1 S2
128.186.1.0/24 128.186.2.0/24 128.186.6.0/24 128.186.5.0/24 128.186.4.0/24 3 3 1 1 1 1 1 10 10 10 3 3 3 3
10 E.g. G1 = 226.1.7.6 E.g. expanding ring search (TTL). Group m-LSA created and flooded when e.g. host on 128.186.4.0 joins G1.
S-38.121 / S-03 / RKa, NB Multicast2-30
LS Age Options LS Type Link State ID Advertising Router LS Sequence Number Referenced Link State ID Referenced LS Type Length LS Checksum E-bit. LS Type 6 (group-membership-LSA) 226.1.7.6 (group G1) 128.186.4.1 (router E) 0x80000001 0x3da9 28 bytes 2 (network) 128.186.4.1 (128.186.4.0/24)
S-38.121 / S-03 / RKa, NB Multicast2-31
removing redundant shortest paths.
removing links that do not lead to G1
128.186.3.0/24
S1 G1 G1 G1 G1
128.186.1.0/24 128.186.6.0/24 128.186.5.0/24 128.186.4.0/24 3 1 1 1 1 1 10 10 3 3 3 3
A B B B
S-38.121 / S-03 / RKa, NB Multicast2-32
Router or network for multicast reception Router or network for multicast reception List of interfaces, multicasts must be sent List of interfaces, multicasts must be sent Metrics to nearest group member Metrics to nearest group member
S-38.121 / S-03 / RKa, NB Multicast2-33
S-38.121 / S-03 / RKa, NB Multicast2-34
A
S1
G H I
193.17.1.0/24 193.18.3.0/24 Area 0.0.0.3 Area 0.0.0.2 Area 0.0.0.1 Area 0.0.0.0 193.17.2.0/24 193.15.6.0/24 193.16.3.0/24 193.16.1.0/24 S4
G1 G1 G2 Backbone VL VL
Wildcard multicast receiver receives all groups
S1 G1 B D F x C E
S3 S2
S-38.121 / S-03 / RKa, NB Multicast2-35
S-38.121 / S-03 / RKa, NB Multicast2-36
S-38.121 / S-03 / RKa, NB Multicast2-37
S-38.121 / S-03 / RKa, NB Multicast2-38
M(n,S,G)=1 for all n M(n,S,G)=1 for all n U used to send packets to S U used to send packets to S Send prune(S,G) message on U Send prune(S,G) message on U Send prune(S,G) message on U Send prune(S,G) message on U For all n where M(n,S,G) ≠ 1: Forward P on interface N For all n where M(n,S,G) ≠ 1: Forward P on interface N M is a cache for prune messages: M(n, S, G) = 1 if a prune(S,G) has been received on interface n Least recently used entries may be dropped no no Receive multicast packet P from source S to group G on interface U Receive multicast packet P from source S to group G on interface U yes yes
Received from router with largest IP address Received from router with largest IP address
Equal-cost multipath Equal-cost multipath yes yes no
no
S-38.121 / S-03 / RKa, NB Multicast2-39
S B D A E C G F R R prune prune prune prune R = receiver
S-38.121 / S-03 / RKa, NB Multicast2-40
S A B no members members prune multicast delay the prune join cancel the prune
S-38.121 / S-03 / RKa, NB Multicast2-41
S D C A B multicast A and C receive packets for (S,G) from another router assert(S,G,dA) assert(S,G,dC) prune(S,G) if dother router < dmy distance: prune interface
S-38.121 / S-03 / RKa, NB Multicast2-42
S-38.121 / S-03 / RKa, NB Multicast2-43
S-38.121 / S-03 / RKa, NB Multicast2-44
C K E N M B G A F J D I L H RP Receiver 1.join
S-38.121 / S-03 / RKa, NB Multicast2-45
C K E N M B G A F J D L H RP Receiver 1.join Receiver 5.join Sender 3.join
2.register 4.register-stop I
S-38.121 / S-03 / RKa, NB Multicast2-46
C K E N M B G A F J D L H RP Receiver Receiver Sender join prune prune I
S-38.121 / S-03 / RKa, NB Multicast2-47
C K E N M B G A F J D L H RP Receiver Receiver Sender
join + minimize delay + distribute traffic I
S-38.121 / S-03 / RKa, NB Multicast2-48
S-38.121 / S-03 / RKa, NB Multicast2-49
PMBR PMBR PMBR RP RP Register(G, External) Join/Prune (*, *, RP) Register stop external group
S-38.121 / S-03 / RKa, NB Multicast2-50
S-38.121 / S-03 / RKa, NB Multicast2-51