1Comnet 2010
Communication NetworksCommunication Networks
Recitation 13Recitation 13
Multicast RoutingMulticast Routing
2Comnet 2010
The ProblemThe ProblemTraditional unicast model does not scaleTraditional unicast model does not scale
– Millions of clientsMillions of clients– Server and network meltdownServer and network meltdown
3Comnet 2010
Solution: IP MulticastSolution: IP Multicast• Source sends single streamSource sends single stream• Routers split stream towards all clientsRouters split stream towards all clients• Guarantee only one copy in each linkGuarantee only one copy in each link
4Comnet 2010
Multicast Routing TreeMulticast Routing Tree
On tree relay router
Router with directly attached group membersIGMP
Multicast Routing Protocol
5Comnet 2010
Internet Group Management Internet Group Management Protocol (IGMP)Protocol (IGMP)
• Used by routers to learn about Multicast Used by routers to learn about Multicast Group Memberships on their directly Group Memberships on their directly attached subnetsattached subnets
• Implemented over IPImplemented over IP• Designated RouterDesignated Router
– Each network has one QuerierEach network has one Querier– All routers begin as QueriersAll routers begin as Queriers– Router with the lowest IP address chosenRouter with the lowest IP address chosen
6Comnet 2010
How IGMP WorksHow IGMP Works
one router is elected the “querier”one router is elected the “querier”querier periodically sends a Membership Query messagequerier periodically sends a Membership Query message
to the all-systems group (224.0.0.1), with TTL = 1to the all-systems group (224.0.0.1), with TTL = 1on receipt, hosts start random timers (between 0 and 10 on receipt, hosts start random timers (between 0 and 10
seconds) for each multicast group to which they belong seconds) for each multicast group to which they belong
Qrouters:
hosts:
7Comnet 2010
How IGMP Works (cont.)How IGMP Works (cont.)
when a host’s timer for group G expires, it sends a when a host’s timer for group G expires, it sends a Membership Report Membership Report to group Gto group G, with TTL = 1, with TTL = 1
other members of G hear the report and stop their timersother members of G hear the report and stop their timersrouters hear routers hear allall reports, and time out non-responding groups reports, and time out non-responding groups
Q
G G G G
8Comnet 2010
Shortest Path Tree (SPT)Shortest Path Tree (SPT)
• Source Based Tree:Source Based Tree: Rooted at the source, Rooted at the source, composed of the shortest paths between composed of the shortest paths between the source and each of the receivers in the the source and each of the receivers in the multicast group.multicast group.
• If the routing metric used is the latency If the routing metric used is the latency between neighbors, the resulted tree will between neighbors, the resulted tree will minimize delay over the multicast group.minimize delay over the multicast group.
• Example: DVMRP. Example: DVMRP.
9Comnet 2010
Distance-Vector Multicast Distance-Vector Multicast Routing Protocol (DMVRP)Routing Protocol (DMVRP)
DVMRP consists of two major components:DVMRP consists of two major components:(1) a conventional distance-vector routing (1) a conventional distance-vector routing
protocol (like RIP)protocol (like RIP)
(2) a protocol for determining how to forward (2) a protocol for determining how to forward multicast packets, based on the routing table multicast packets, based on the routing table and routing messages of (1)and routing messages of (1)
14Comnet 2010
graft (s,g)
graft (s,g)
Joining on New ReceiversJoining on New Receivers
g g
s
g
g
report (g)
16Comnet 2010
Steiner Minimal Tree (SMT)Steiner Minimal Tree (SMT)
• Shared Tree: All sources use the same Shared Tree: All sources use the same shared tree. shared tree.
• SMT is defined to be the minimal cost SMT is defined to be the minimal cost subgraph (tree) spanning a given subgraph (tree) spanning a given subset of nodes in a graphsubset of nodes in a graph
• Approximate SMT: KMBApproximate SMT: KMB
17Comnet 2010
A Steiner Tree ExampleA Steiner Tree Example
• Which is the Steiner tree for green and Which is the Steiner tree for green and red nodes?red nodes?
1010
10
2
11
4
2
53 3
18Comnet 2010
A Steiner Tree Example: A Steiner Tree Example: SolutionSolution
• Shortest Path treeShortest Path tree =/= =/= Steiner TreeSteiner Tree
• 14 + 13 =/= 16 14 + 13 =/= 16
1010
10
2
11
4
2
53 3
19Comnet 2010
• G=(V,E), terminals RG=(V,E), terminals R• Step 1Step 1: Construct a complete directed distance : Construct a complete directed distance
graph of R: Ggraph of R: G11=(V=(V11,E,E11,c,c11).).
• Step 2Step 2: Find the min spanning tree T: Find the min spanning tree T11 of G of G11. .
• Step3Step3: Construct a subgraph G: Construct a subgraph GSS of G by replacing of G by replacing
each edge in Teach edge in T11 by its corresponding shortest path in by its corresponding shortest path in
G. G.
• Step 4Step 4: Find the min spanning tree T: Find the min spanning tree TSS of G of GS.S.
• Step 5Step 5: Construct a Steiner tree T: Construct a Steiner tree THH from T from TSS by by
deleting leaves that are not in R.deleting leaves that are not in R.
KMB AlgorithmKMB Algorithm
20Comnet 2010
Due to [Kou, Markowsky and Berman 81’]Due to [Kou, Markowsky and Berman 81’]
Worst case Worst case time complexitytime complexity O(|S||V| O(|S||V|22).).
CostCost no more than 2(1 - 1/ no more than 2(1 - 1/ll) *optimal cost ) *optimal cost
where where ll = number of leaves in the steiner tree. = number of leaves in the steiner tree.
KMB Algorithm Cont.KMB Algorithm Cont.
21Comnet 2010
KMB ExampleKMB Example
A
B
C D
EF
G
HI
10
1
1
2
9
8
1 1
1/2
2
1/2
1
Destination Nodes
G
A
C
D4
4
444 4
B
G1
A
C
D4
4
4
B
T1
B
C D
EF
G
HI
1
1
2
1 1
1/2
2
1/2
1
A
Gs
Recommended