22
1 Comnet 2010 Communication Networks Communication Networks Recitation 13 Recitation 13 Multicast Routing Multicast Routing

1 Comnet 2010 Communication Networks Recitation 13 Multicast Routing

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

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)

10Comnet 2010

Example TopologyExample Topologyg g

s

g

11Comnet 2010

Phase 1: FloodingPhase 1: Floodingg g

s

g

12Comnet 2010

Phase 2: PruningPhase 2: Pruningg g

s

prune (s,g)

prune (s,g)

g

13Comnet 2010

Steady StateSteady State

g g

s

g

g

14Comnet 2010

graft (s,g)

graft (s,g)

Joining on New ReceiversJoining on New Receivers

g g

s

g

g

report (g)

15Comnet 2010

Steady State after JoiningSteady State after Joining

g g

s

g

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

22Comnet 2010

KMB Example Cont.KMB Example Cont.

B

C D

EF

G

HI

1

1

2

1 1

1/2

2

1/2

A

Ts

B

C D

EF

I

1

1

2

1 1

2

A

TH