coms/csee 4140 networking laboratory lecture 11

62
COMS/CSEE 4140 Networking Laboratory Lecture 11 Salman Abdul Baset Spring 2008

Upload: newman

Post on 31-Jan-2016

30 views

Category:

Documents


1 download

DESCRIPTION

COMS/CSEE 4140 Networking Laboratory Lecture 11. Salman Abdul Baset Spring 2008. Announcements. Prelab 10 and Lab report 9 due next week before your lab slot Weekly project reports due before Friday 5pm. Agenda. Multicast why multicast? multicast groups terminology (S,G) notation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: COMS/CSEE 4140 Networking Laboratory Lecture 11

COMS/CSEE 4140 Networking Laboratory

Lecture 11

Salman Abdul BasetSpring 2008

Page 2: COMS/CSEE 4140 Networking Laboratory Lecture 11

2

Announcements Prelab 10 and Lab report 9 due next week

before your lab slot Weekly project reports due before Friday

5pm

Page 3: COMS/CSEE 4140 Networking Laboratory Lecture 11

3

Agenda Multicast

why multicast? multicast groups terminology (S,G) notation

Addressing IGMP Source and core-based trees PIM

PIM-DM PIM-SM

Page 4: COMS/CSEE 4140 Networking Laboratory Lecture 11

4

Many applications transmit the same data at one time to multiple receivers

Broadcasts of radio or video (streaming) Video conferencing (interactive video) Shared applications (data, file transfer)

A network “must” have mechanisms to support such applications in an efficient manner

Applications with Multiple Receivers

Page 5: COMS/CSEE 4140 Networking Laboratory Lecture 11

5

Multicasting Multicast communications refers to one-to-

many or many-to-many communications.

IP Multicasting refers to the implementation of multicast communication in the Internet

Multicast is driven by receivers: Receivers indicate interest in receiving data

Unicast Broadcast Multicast

Page 6: COMS/CSEE 4140 Networking Laboratory Lecture 11

6

Multicasting over a Packet Network Without support for multicast at the

network layer:

Multiple copies of the same message is transmitted on the same link

Page 7: COMS/CSEE 4140 Networking Laboratory Lecture 11

7

Multicasting over a Packet Network With support for multicast at the

network layer:

• Requires a set of mechanisms: (1) Packet forwarding can send multiple copies of same packet(2) Multicast routing algorithm which builds a spanning tree (dynamically)

Page 8: COMS/CSEE 4140 Networking Laboratory Lecture 11

Why IP Multicast?

Cost-efficient distribution of data Timely distribution of data Robust distribution of data

“Data” here could be Files Streamed Audio or Video

Source: Internet2 workshop

Page 9: COMS/CSEE 4140 Networking Laboratory Lecture 11

Cost Efficient Data Distribution This is the core of the streaming case.

Unicast streaming is just too expensive. This is true either on the commodity

Internet or on the Intranet. Multicast is especially compelling for

video.

Question: Is multicast a good model for YouTube? Live video streaming?

Source: Internet2 workshop

Page 10: COMS/CSEE 4140 Networking Laboratory Lecture 11

Timely Distribution of Data An argument for multicast in financial

services. Though reliability is an issue.

In unicast, it takes time to send packets separately to each receiver. Even if cost is not a problem, time may be. 100 Mb/s link, takes 22 hours to distribute a

100 MB file t0 10,000 machines. With multicast, it will take eight seconds.

Alternate solution is to have huge upstream bw But…

Multicasting is compelling here if timely distribution is important. Source: Internet2 workshop

Page 11: COMS/CSEE 4140 Networking Laboratory Lecture 11

Robust Distribution of Data Handle sudden large increases in load

streaming data distribution

Multicast was designed to handle sudden large increases in load.

Source: Internet2 workshop

Page 12: COMS/CSEE 4140 Networking Laboratory Lecture 11

12

Multicast Groups The set of receivers for a multicast

transmission is called a multicast group A multicast group is identified by a multicast

address A user that wants to receive multicast

transmissions joins the corresponding multicast group, and becomes a member of that group

After a user joins, the network builds the necessary routing paths so that the user receives the data sent to the multicast group

Page 13: COMS/CSEE 4140 Networking Laboratory Lecture 11

13

IP Multicasting: Key questions What IP address / Ethernet address to

send multicast packets to? How to manage groups? How to route multicast packets?

Page 14: COMS/CSEE 4140 Networking Laboratory Lecture 11

14Network Interface

IP IP Multicast

UDPTCP

Socket Layer

Stream Sockets Datagram Sockets Multicast Sockets

User Layer

The IP Protocol Stack IP Multicasting only supports UDP as

higher layer There is no multicast TCP !

Page 15: COMS/CSEE 4140 Networking Laboratory Lecture 11

Essential Multicast Terminology

source = origin of multicast streammulticast address = an IP address in the Class D range (224.0.0.0 –

239.255.255.255), used to refer to multiple recipients. A multicast address is also called a multicast group or channel.

multicast stream = stream of IP packets with multicast address for IP destination address. All multicast uses UDP packets.

receiver(s) = recipient(s) of multicast streamtree = the path taken by multicast data. Routing loops are not allowed, so

there is always a unique series of branches between the root of the tree and the receivers.

IP source = IP unicast addrEthernet source = MAC addr

IP destination = IP multicast addr Ethernet dest = MAC addr

source

Multicast stream

receivers

e.g., video server

Source: Internet2 workshop

Page 16: COMS/CSEE 4140 Networking Laboratory Lecture 11

(S,G) notation For every multicast source there must

be two pieces of information: the source IP address, S, and the group address, G. These correspond to the sender and

receiver addresses in unicast. This is generally expressed as (S,G). Also commonly used is (*,G) - every source

for a particular group.

Source: Internet2 workshop

Page 17: COMS/CSEE 4140 Networking Laboratory Lecture 11

17

Multicast Protocols

Senders

Delivery tree

Receivers

Group Management Protocol - enables hosts to dynamically join/leave multicast groups. Receivers send group membership reports to the nearest router.

Multicast Routing Protocol - enables routers to build a delivery tree between the sender(s) and receivers of a multicast group.

Group Management Protocol (e.g. IGMP)

Multicast Routing Protocol (e.g. PIM-SM)

Page 18: COMS/CSEE 4140 Networking Laboratory Lecture 11

18

Agenda Multicast

why multicast? multicast groups terminology (S,G) notation

Addressing IGMP Source and core-based trees PIM

PIM-DM PIM-SM

Page 19: COMS/CSEE 4140 Networking Laboratory Lecture 11

19

Multicast Addressing Multicast address

IP addresses in the range 224.0.0.0 - 239.255.255.255 (class D address)

Multicast group: same as multicast address Every host (interface) can join and leave a

multicast group dynamically no access control

Every IP datagram send to a multicast group is transmitted to all members of the group no security, no “floor control” Sender does not need to be a member of the group

The IP Multicast service is unreliable

Page 20: COMS/CSEE 4140 Networking Laboratory Lecture 11

20

Multicast Addressing

Class D 1 multicast group id28 bits

01 1

• All Class D addresses are multicast addresses:

Class From To

D 224.0.0.0 239.255.255.255

• Multicast addresses are dynamically assigned.

• An IP datagram sent to a multicast address is forwarded to everyone who has joined the multicast group

• If an application is terminated, the multicast address is (implicitly) released.

Page 21: COMS/CSEE 4140 Networking Laboratory Lecture 11

21

Types of Multicast Addresses RFC 3171

http://www.iana.org/assignments/multicast-addresses Examples:

224.0.0.0 - 224.0.0.255 (224.0.0/24) - reserved & not forwarded

224.0.0.1 - All local hosts 224.0.0.2 - All local routers 224.0.0.4 - DVMRP 224.0.0.5 - OSPF 224.0.0.9 - RIP2 224.0.0.13 – PIM 224.0.0.22 – IGMP

232.0.0.0 - 232.255.255.255 (232/8) - SSM 239.0.0.0 - 239.255.255.255 (239/8) - Administrative Scoping

(RFC 2365) Site-local scope: 239.253.0.0/16 Organization-local scope: 239.192.0.0/14

“Ordinary” multicasts don’t have to request a multicast address from IANA.

Page 22: COMS/CSEE 4140 Networking Laboratory Lecture 11

22

Multicast Address Translation In Ethernet MAC addresses, a multicast

address is identified by setting the lowest bit of the “most left byte”

-------1-------- -------- -------- -------- --------

Not all Ethernet cards can filter multicast addresses in hardware- Then: Filtering is done in

software by device driver.

Page 23: COMS/CSEE 4140 Networking Laboratory Lecture 11

23

Multicast Address Mapping

0000000100000000 01011110 0------- EthernetAddress

1110xxxx x------- -------- -------- Class DIP Address

Identifes

Class DIgnored 23-bit

address

-------- --------

Ethernet Addresses

with 01:00:5e in the

first 3 bytes are

reserved for IP

multicast

Page 24: COMS/CSEE 4140 Networking Laboratory Lecture 11

24

Agenda Multicast

why multicast? multicast groups terminology (S,G) notation

Addressing IGMP Source and core-based trees PIM

PIM-DM PIM-SM

Page 25: COMS/CSEE 4140 Networking Laboratory Lecture 11

25

Multicast Protocols

Senders

Delivery tree

Receivers

Group Management Protocol - enables hosts to dynamically join/leave multicast groups. Receivers send group membership reports to the nearest router.

Multicast Routing Protocol - enables routers to build a delivery tree between the sender(s) and receivers of a multicast group.

Group Management Protocol (e.g. IGMP)

Multicast Routing Protocol (e.g. PIM-SM)

Page 26: COMS/CSEE 4140 Networking Laboratory Lecture 11

26

IGMP (RFC 1112) The Internet Group Management Protocol

(IGMP) is a simple protocol for the support of IP multicast.

IGMP operates on a physical network (e.g., single Ethernet Segment.

IGMP is used by multicast routers to keep track of membership in a multicast group.

Support for: Joining a multicast group Query membership Send membership reports

Page 27: COMS/CSEE 4140 Networking Laboratory Lecture 11

27

A host sends an IGMP report when it joins a multicast group Multiple processes on a host can join. A report is sent only for the first process.

No report is sent when a process leaves a group A multicast router regularly multicasts an IGMP

query to all hosts (group address is set to 0.0.0.0). A host responds to an IGMP query with an IGMP

report.

Multicast router keeps a table of the multicast groups that have joined hosts. The router only forwards a packet, if there is a host still joined.

IGMP Protocol

Page 28: COMS/CSEE 4140 Networking Laboratory Lecture 11

28

IGMP Packet Format IGMP messages are only 8 bytes long

Ethernet Header IP headerIGMP

Message

8 bytes20 bytes14 bytes

Type Max resp. time

Multicast group address

Checksum

IGMPv20x11 Membership query (group addr: 0.0.0.0)0x16 Membership report0x17 Leave group

Page 29: COMS/CSEE 4140 Networking Laboratory Lecture 11

29

IGMP Protocol

IGMP query

IGMP Report

R1Ethernet

H1 H2

Page 30: COMS/CSEE 4140 Networking Laboratory Lecture 11

30

IGMP Protocol

R1Ethernet

IGMP general queryIGMP group address = 0.0.0.0Destination IP address = 224.0.0.1Source IP address = router's IP address

IGMP membership reportIGMP group address = group addressDestination IP address= group addressSource IP address = host's IP address

H1 H2

IGMP group-specific queryIGMP group address = group addressDestination IP address = group addressSource IP address = router's IP address

Page 31: COMS/CSEE 4140 Networking Laboratory Lecture 11

31

Networks with multiple multicast routers Only one router

responds to IGMP queries (Querier) Router with

smallest IP address becomes the querier on a network.

One router forwards multicast packets to the network (Forwarder).

Ethernet

Host

Querier Forwarder

Multicast Network

IGMP query

Multicastpacket

Page 32: COMS/CSEE 4140 Networking Laboratory Lecture 11

32

Agenda Multicast

why multicast? multicast groups terminology (S,G) notation

Addressing IGMP Source and core-based trees PIM

PIM-DM PIM-SM

Page 33: COMS/CSEE 4140 Networking Laboratory Lecture 11

33

Multicast Protocols

Senders

Delivery tree

Receivers

Group Management Protocol - enables hosts to dynamically join/leave multicast groups. Receivers send group membership reports to the nearest router.

Multicast Routing Protocol - enables routers to build a delivery tree between the sender(s) and receivers of a multicast group.

Group Management Protocol (e.g. IGMP)

Multicast Routing Protocol (e.g. PIM-SM)

Page 34: COMS/CSEE 4140 Networking Laboratory Lecture 11

34

Multicast Routing Protocols Goal: Build a spanning tree between all

members of a multicast group

Page 35: COMS/CSEE 4140 Networking Laboratory Lecture 11

35

Multicast routing as a graph problem

S Problem: Embed a tree

such that all multicast group members are connected by the tree

Page 36: COMS/CSEE 4140 Networking Laboratory Lecture 11

36

Multicast routing as a graph problem

(c) Minimum-cost tree

S Problem: Embed a tree such

that all multicast group members are connected by the tree

Solution 1: Shortest Path Tree or source-based tree Build a tree that minimizes the path cost from the source to each receiver Good tree if there is a single sender If there are multiple senders, need one

tree per sender Easy to compute

Page 37: COMS/CSEE 4140 Networking Laboratory Lecture 11

37

Multicast routing as a graph problem

S Problem: Embed a tree such

that all multicast group members are connected by the tree

Solution 2: Minimum-Cost Tree Build a tree that minimizes the total cost of the edges Good solution if there are multiple

senders Very expensive to compute (not

practical for more than 30 nodes)

Page 38: COMS/CSEE 4140 Networking Laboratory Lecture 11

38

Multicast routing in practice Routing Protocols implement one of two

approaches:1. Source Based Tree:

– Essentially implements Solution 1. – Builds one shortest path tree for each sender– Tree is built from receiver to the sender reverse shortest

path / reverse path forwarding (RPF)

2. Core-based Tree: – Build a single distribution tree that is shared by all senders– Does not use Solution 2 (because it is too expensive)– Selects one router as a “core” (also called “rendezvous

point”)– All receivers build a shortest path to the core reverse

shortest path / reverse path forwarding

Page 39: COMS/CSEE 4140 Networking Laboratory Lecture 11

39

Reverse Path Forwarding (RPF) RPF builds a shortest path tree in a distributed fashion by taking

advantage of the unicast routing tables. Main concept: Given the address of the root of the tree (e.g., the

sending host), a router selects as its upstream neighbor in the tree the router which is the next-hop neighbor for forwarding unicast packets to the root.

This concept leads to a reverse shortest path from any router to the sending host. The union of reverse shortest paths builds a reverse shortest path tree.

RPF Forwarding:Forward a packet only if it is receives from an RPF neighbor

H1

Source

R1

R3

R4

R2

R5

RPFinterface

for H1

RPFneighbor of R3

for H1

Unicast routing table of router R3: Destination Next Hop H1 …

R2

Page 40: COMS/CSEE 4140 Networking Laboratory Lecture 11

40

Multicast Routing table Routing table entries for source-based trees

and for core-based trees are different Source-based tree: (Source, Group) or (S, G)

entry. Core-based tree: (*, G) entry.

Source IP address

Multicast group

Incoming interface(RPF interface)

Outgoing interface

list

S1 G1 I1 I2, I3

* G2 I2 I1, I3

Page 41: COMS/CSEE 4140 Networking Laboratory Lecture 11

41

Multicast routing in practice Routing algorithms in practice implement

one of two approaches:

1. Source Based Tree Tree: – Establish a reverse path to the source

2. Core-based Tree: – Establish a reverse path to the core router

Page 42: COMS/CSEE 4140 Networking Laboratory Lecture 11

42

Building a source-based tree Set routing

tables according to RPF forwarding

Flood-and-Prune

H2

H3

H5H4

H1

Source

R1

R2

R6

R4

R5

R3

R8R7

joined

joined

IGMP

Page 43: COMS/CSEE 4140 Networking Laboratory Lecture 11

43

H2

H3

H5H4

H1

Source

R1

R2

R6

R4

R5

R3

R8R7

joined

joined

Building a source-based tree Set routing

tables according to RPF forwarding

Flood-and-Prune

Flood= Forward packets that arrive on RPF interface on all non-RPF interfaces

Page 44: COMS/CSEE 4140 Networking Laboratory Lecture 11

44

H2

H3

H5H4

H1

Source

R1

R2

R6

R4

R5

R3

R8R7

joined

joined

Building a source-based tree Set routing tables

according to RPF forwarding

Flood-and-Prune

Flood= Forward packets on all non-RPF interfaces

Receiver drops packets not received on RPF interface

Page 45: COMS/CSEE 4140 Networking Laboratory Lecture 11

45

H2

H3

H5H4

H1

Source

R1

R2

R6

R4

R5

R3

R8R7

Prune

joined

joined

Prune

Prune

PrunePrune

Prune

Prune

Prune

Prune

Prun

e

Prune

Prune

Building a source-based tree Set routing tables

according to RPF forwarding

Flood-and-Prune

Prune= Send a prune message when a packet is received on a non-RPF interface or when there are no receivers downstreamPrune message disables routing table entry

Page 46: COMS/CSEE 4140 Networking Laboratory Lecture 11

46

Pruning Prune message temporarily disables a routing

table entry Effect: Removes a link from the multicast tree No multicast messages are sent on a pruned link Prune message is sent in response to a multicast packet Question: Why is routing table only temporarily disabled?

Who sends prune messages? A router with no group members in its local network and no

connection to other routers (sent on RPF interface) A router with no group members in its local network which has

received a prune message on all non-RPF interfaces (sent on RPF interface)

A router with group members which has received a packet from a non-RPF neighbor (to non-RPF neighbor)

Page 47: COMS/CSEE 4140 Networking Laboratory Lecture 11

47

H2

H3

H5H4

H1

Source

R1

R2

R6

R4

R5

R3

R8R7

joined

joined

Gra

ft

Graft

joined

Building a source-based tree When a

receiver joins, one needs to re-activate a pruned routing table entry

GraftingSending a Graft message disables prune, and re-activates routing table entry.

Page 48: COMS/CSEE 4140 Networking Laboratory Lecture 11

48

H2

H3

H5H4

H1

Source

R1

R2

R6

R5

R3

R8R7

joined

joined

Join

JoinJoin

Join

R4

Alternative method for building a source-based tree This only

works if the receiver knows the source

Explicit-Join Receiver sends

a Join message to RPF neighbor

Join message creates (S,G) routing table entry

Join message is passed on

Page 49: COMS/CSEE 4140 Networking Laboratory Lecture 11

49

H2

H3

H5H4

H1

Source

R1

R2

R6

R4

R5

R3

R8R7

joined

joined

Join

Join

joined

Core

Join

Join

Join

Building a core-based tree One route is

the core

Receiver sends a Join message to RPF neighbor with respect to core

Join message creates (*, G) routing table entry

Page 50: COMS/CSEE 4140 Networking Laboratory Lecture 11

50

H2

H3

H5H4

H1

Source

R1

R2

R6

R4

R5

R3

R8R7

joined

joined joined

Core

Building a core-based tree Source sends

data to the core

Core forwards data according to routing table entry

Page 51: COMS/CSEE 4140 Networking Laboratory Lecture 11

51

Agenda Multicast

why multicast? multicast groups terminology (S,G) notation

Addressing IGMP Source and core-based trees PIM

PIM-DM PIM-SM

Page 52: COMS/CSEE 4140 Networking Laboratory Lecture 11

52

Multicast routing protocols in the Internet Distance Vector Multicast Routing Protocol (DVMRP):

First multicast routing protocol Implements flood-and-prune

Multicast Open Shortest Path First (MOSPF): Multicast extensions to OSPF. Each router calculates a

shortest-path tree based on link state database Not widely used

Core Based Tree (CBT): First core-based tree routing protocol

Protocol Independent Multicast (PIM): Runs in two modes: PIM Dense Mode (PIM-DM) and PIM

Sparse Mode (PIM-SM). PIM-DM builds source-based trees using flood-and-prune PIM-SM builds core-based trees as well as source-based trees

with explicit joins.

Page 53: COMS/CSEE 4140 Networking Laboratory Lecture 11

53

PIM Messages (PIM version 2)Version

(= 2)Type Reserved Checksum

32 bit

Message type specific part

PIM-DM messages Type PIM-DM PIM-SM Description

Hello 0 Similar to periodic keep-alive

Register 1 Sent by designated router to rendezvous point.

Register-Stop 2

Join/Prune 3 Creates/negates forwarding state

Bootstrap 4

Assert 5

Graft 6 Reinstate a previously pruned branch

Graft-Ack 7

Candidate-RP-Advertisement

8

• Encapsulated in IP datagrams with protocol number 103.

• PIM messages can be sent as unicast or multicast packet

• 224.0.0.13 is reserved as the ALL-PIM-Routers group

Page 54: COMS/CSEE 4140 Networking Laboratory Lecture 11

54

PIM-DM: PIM Dense Mode PIM-DM

implements flood-and-prune

Orange packet: Multicast packet (=Data)

Blue packet: PIM message

H3H2

S1Source

R1

R3

joined

R4

R2

src: S1dest: G

src: S1dest: G

src: S1dest: G

src: S1dest: G

src: S1dest: G

prune (S1, G)

I1

I1 I3

Page 55: COMS/CSEE 4140 Networking Laboratory Lecture 11

55

PIM-SM: PIM Sparse Mode Core is called

rendezvous-point (RP)

Receivers know RP (statically configured or dynamically elected)

When receiver joins, a Join message is sent to RP on RPF. H3H2

S1Source

R3

joined

R4

H3H2

S1Source

R3

joined

R4

I1

I1 I3

I1

I2 I3

(a) PIM-SM: H2 joins (b PIM-DM: H3 joins

RP

R1

R2 R5

IGMP

joined

join (*, G)

join (*, G)

IGMP

join (*, G)

I1

I1 I3

RP

R5

R1

R2

Page 56: COMS/CSEE 4140 Networking Laboratory Lecture 11

56

PIM-SM: PIM Sparse Mode Host H3 joins:

Join message is only forwarded until the first router that is part of the core-based tree.

H3H2

S1Source

R3

joined

R4

I1

I1 I3

RP

R1

R2 R5

IGMP

join (*, G)

Page 57: COMS/CSEE 4140 Networking Laboratory Lecture 11

57

H3H2

S1Source

R3

joined

R4

src: S1dest: G

src: S1dest: G

I1

I1 I3

RP

R1

R2 R5

src: S1dest: G

src: S1dest: G

H3H2

S1Source

R3

joined

R4

src: S1dest: G

src: S1dest: G

I1

I1 I3

(a) PIM-SM: Register message to RP (b) PIM-SM: Register Stop message to S1

RP

R1

R2 R5

join (S1,G)

register(S1, G)

src: S1dest: G

src: S1dest: G

src: S1dest: G

src: S1dest: G

register stop (S1,G)

register(S1, G)

src: S1dest: G

PIM-SM: Data transmission Source sends

multicast packet to RP Packet is attached to

an RP Register message

When packet reaches RP, it is forwarded in the tree

Also: RP sends a Join message on reverse path to S1

Page 58: COMS/CSEE 4140 Networking Laboratory Lecture 11

58

H3H2

S1Source

R3

joined

R4

src: S1dest: G

src: S1dest: G

I1

I1 I3

RP

R1

R2 R5

src: S1dest: G

src: S1dest: G

H3H2

S1Source

R3

joined

R4

src: S1dest: G

src: S1dest: G

I1

I1 I3

(b) PIM-SM: Register Stop message to S1

RP

R1

R2 R5

src: S1dest: G

src: S1dest: G

src: S1dest: G

register(S1, G)

src: S1dest: G

PIM-SM: Data transmission When Join

messages reaches R1, it sends a native multicast packet to the RP (in addition to the packet attached to the register message)

Page 59: COMS/CSEE 4140 Networking Laboratory Lecture 11

59

H3H2

S1Source

R3

joined

R4

src: S1dest: G

src: S1dest: G

I1

I1 I3

RP

R1

R2 R5

src: S1dest: G

src: S1dest: G

H3H2

S1Source

R3

joined

R4

src: S1dest: G

src: S1dest: G

I1

I1 I3

(b) PIM-SM: Register Stop message to S1

RP

R1

R2 R5

src: S1dest: G

src: S1dest: G

src: S1dest: G

register stop (S1,G)

register(S1, G)

src: S1dest: G

PIM-SM: Data transmission When RP receives

native multicast packet it sends a register stop message to R1. This message stops the transmission of register messages from R1.

Page 60: COMS/CSEE 4140 Networking Laboratory Lecture 11

60

H3H2

S1Source

R3

joined

R4

I1

I1 I3

(a) PIM-SM: R3 switches to a SPT

RP

R1

R2 R5

join (S1,G)

join (S1,G)

src: S1dest: G

src: S1dest: G

src: S1dest: G

src: S1dest: G

src: S1dest: G

PIM-SM: Switching to source-based tree When data to receivers

exceeds a threshold, routers switch to a source-based tree

This is done by sending an explicit join message to the source

There may be duplicate packets being sent for some time

Page 61: COMS/CSEE 4140 Networking Laboratory Lecture 11

61

PIM-SM: Switching to source-based tree When data arrives

from source (as opposed to RP), a Prune message is sent to the RPT

Now: data is forwarded only along the shortest-path tree

src: S1dest: G

H3H2

S1Source

R3

joined

R4

I1

I1 I3

RP

R1

R2 R5

(b) PIM-SM: Data follows a SPT

src: S1dest: G

prune (S,G,RPT)

src: S1dest: G

prune (S,G,RPT)

src: S1dest: G

Page 62: COMS/CSEE 4140 Networking Laboratory Lecture 11

62

Conclusion Multicast Addressing IGMP Source and core-based trees PIM (SM vs. DM)