Top Banner
1 Chapter 16b Chapter 16b Multicasting Multicasting
33

1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Jan 12, 2016

Download

Documents

Ethan Rodgers
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

1

Chapter 16bChapter 16b

MulticastingMulticasting

Page 2: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting2

Multicasting ApplicationsMulticasting ApplicationsMultimediaMultimedia

– television, presentations, etc.television, presentations, etc.TeleconferencingTeleconferencing

– voice and videovoice and videoDatabaseDatabase

– replication and updatesreplication and updatesDistributed computing and real-Distributed computing and real-

time workgrouptime workgroup– exchange of results, files, graphics, exchange of results, files, graphics,

messages, etc.messages, etc.

QoS

Att

rib

ute

s

Page 3: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting3

Multicast Example - Multicast Example - BroadcastBroadcast(or “Flooding”)(or “Flooding”)

Page 4: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting4

Multiple Unicast ExampleMultiple Unicast Example

Page 5: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting5

Multicast StrategiesMulticast Strategies

Page 6: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting6

True MulticastTrue MulticastSource knows network location of Source knows network location of

multicast group membersmulticast group members– identifies identifies least cost pathleast cost path to each to each

membermember– establishes a establishes a partial spanning treepartial spanning tree to to

reach all group member networksreach all group member networksSource node sends Source node sends single packetsingle packet

along tree pathalong tree pathPacket is Packet is replicatedreplicated by routers by routers at at

each branch pointeach branch point in path in path

Page 7: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting7

True Multicast ExampleTrue Multicast Example

Page 8: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting8

Multicast Operation Multicast Operation

Spanning Tree from Source Multicast Group Packets Generated for Transmission

Page 9: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting9

Multicast StrategiesMulticast Strategies

Page 10: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting10

Multicast RequirementsMulticast Requirements Unique Unique multicast addressingmulticast addressing scheme scheme

– IPv4 Class D addresses: 1110, followed by 28-bit IPv4 Class D addresses: 1110, followed by 28-bit group identifiergroup identifier

– IPv6: 11111111, 3 flag bits, 4 scope bits, and IPv6: 11111111, 3 flag bits, 4 scope bits, and 112-bit group identifier112-bit group identifier

NodesNodes must be able to translate between multicast must be able to translate between multicast addressesaddresses and list of networks that have membersand list of networks that have members

RoutersRouters must translate between multicast address must translate between multicast address and subnetwork addressing (e.g. MAC multicast)and subnetwork addressing (e.g. MAC multicast)

Must have mechanism for Must have mechanism for hosts hosts to inform routers to inform routers of group membership/exclusionof group membership/exclusion

Routers Routers must have mechanism for determining must have mechanism for determining and applying multicast routing paths (multiple and applying multicast routing paths (multiple outbound paths for the same received packet)outbound paths for the same received packet)

Page 11: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting11

Multicast Operation - Multicast Operation - Duplication AvoidanceDuplication Avoidance

Spanning Tree from Router C to Multicast Group

How do you avoid this problem?

Page 12: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting12

Multicast Operation - Multicast Operation - Duplication AvoidanceDuplication Avoidance Multicast routing is Multicast routing is

based on based on knowledge knowledge of source as well as of source as well as multicast destinationmulticast destination

Each router must Each router must calculate calculate spanning spanning tree for source nodetree for source node and route on that and route on that basisbasis

Multicast routing Multicast routing algorithms must algorithms must support this support this capabilitycapability

Spanning Tree from Source Multicast Group

Page 13: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting13

Internet Multicast Service Internet Multicast Service ModelModel

multicast group concept: use of multicast group concept: use of indirectionindirection– hosts addresses IP datagram to multicast hosts addresses IP datagram to multicast

groupgroup– routers forward multicast datagrams to routers forward multicast datagrams to

hosts that have “joined” that multicast hosts that have “joined” that multicast groupgroup

128.119.40.186(source)

128.59.16.12 (m/c group member)

128.34.108.63 (m/c group member)

128.34.108.60(m/c group member)

multicast group

226.17.30.197

Page 14: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting14

class D Internet addresses reserved for class D Internet addresses reserved for multicast:multicast:

host group semantics:host group semantics: anyone can “join” (receive) multicast anyone can “join” (receive) multicast

groupgroup anyone can send to multicast groupanyone can send to multicast group no network-layer identification to hosts no network-layer identification to hosts

of membersof members needed:needed: infrastructure to deliver mcast- infrastructure to deliver mcast-

addressed datagrams to all hosts that addressed datagrams to all hosts that have joined that multicast grouphave joined that multicast group

Multicast groupsMulticast groups

Page 15: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting15

Multicast Routing Multicast Routing MechanismsMechanisms Group-Shared or Center-Group-Shared or Center-Based TreeBased Tree– Single optimum (shortest path) Single optimum (shortest path)

shared tree for all senders/ shared tree for all senders/ receiversreceivers

– Typically based on use of a Typically based on use of a ““centercenter” (rendezvous point) of ” (rendezvous point) of the treethe tree

Source-Based TreeSource-Based Tree– Optimum routing tree for each Optimum routing tree for each

source (sender) in a multicast source (sender) in a multicast groupgroup

– Typically uses Typically uses reverse path reverse path forwardingforwarding

Page 16: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting16

Center-Based Routing Center-Based Routing TreesTreesSingle delivery tree shared by allSingle delivery tree shared by allOne router identified as One router identified as “center”“center” of of

tree, designated thetree, designated the rendezvous rendezvous pointpoint

1.1. edge router sends unicastedge router sends unicast join-msgjoin-msg addressed to the rendezvous point addressed to the rendezvous point (center router)(center router)

2.2. join-msg join-msg “processed” by “processed” by intermediate routers and forwarded intermediate routers and forwarded towards centertowards center

3.3. join-msgjoin-msg either hits existing tree either hits existing tree branch for this center, or arrives at branch for this center, or arrives at centercenter

4.4. path taken bypath taken by join-msgjoin-msg becomes new becomes new branch of tree for this routerbranch of tree for this router

Page 17: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting17

Center-Based Routing Center-Based Routing ExampleExampleSuppose R6 chosen as center:

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

path order in which join messages generated

LEGEND:

21

3

1

Page 18: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting18

Source-Based Trees with Source-Based Trees with Reverse Path ForwardingReverse Path Forwarding

if if (mcast datagram received on (mcast datagram received on incoming link on shortest path back to incoming link on shortest path back to sender)sender)

thenthen flood flood datagram onto all datagram onto all outgoing outgoing

linkslinks elseelse ignoreignore datagram datagram

Rely on router’s knowledge of Rely on router’s knowledge of unicast shortest path from it to unicast shortest path from it to sendersender

Each router has simple forwarding Each router has simple forwarding behavior:behavior:

Page 19: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting19

Reverse-Path Forwarding Reverse-Path Forwarding ExampleExample

R1

R2

R3

R4

R5

R6 R7

LEGENDS: source

router with attachedgroup member

router with no attachedgroup memberdatagram will be forwarded

datagram will not be forwarded

Page 20: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting20

Reverse-Path Forwarding Reverse-Path Forwarding ExampleExample

forwarding tree contains forwarding tree contains subtrees with no subtrees with no multicast group membersmulticast group members– no need to forward datagrams down subtreeno need to forward datagrams down subtree– ““prune” messagesprune” messages are sent upstream by are sent upstream by

router with no downstream group membersrouter with no downstream group members

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

prune message

LEGENDS: source

links with multicastforwarding

P

P

P

Page 21: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting21

IGMPv4 Message FormatIGMPv4 Message Format

TypeType– Membership Query: learn group members on networkMembership Query: learn group members on network– Membership Report: declare group membershipMembership Report: declare group membership– Leave Group: declare departure from groupLeave Group: declare departure from group

Max Response TimeMax Response Time– in Membership Query onlyin Membership Query only– max time before sending response in 1/10 second unitsmax time before sending response in 1/10 second units

Checksum:Checksum: 16-bit ones complement 16-bit ones complement Group Address: Group Address: IP multicast address (zero in IP multicast address (zero in

request message)request message)

RFC 2236RFC 2236

Page 22: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting22

IGMP OperationIGMP Operation Hosts send Hosts send Membership Report Membership Report to join groupsto join groups

– sent in IP datagram with IP destination address sent in IP datagram with IP destination address equal to Group Addressequal to Group Address

– therefore, routers and other hosts are informed of therefore, routers and other hosts are informed of new membernew member

Multicast routers periodically broadcast Multicast routers periodically broadcast Membership QueryMembership Query to maintain current list to maintain current list– hosts must reply with Report for each group in hosts must reply with Report for each group in

which it wants to remainwhich it wants to remain– if a host hears another Membership Report for one if a host hears another Membership Report for one

of its groups within a random timer value (< of its groups within a random timer value (< maximum response time) , it cancels its report maximum response time) , it cancels its report ((why??why??))

Hosts send Hosts send LeaveLeave when it leaves a group when it leaves a group– Routers then use group-specific Query to determine Routers then use group-specific Query to determine

if any other member of this group are leftif any other member of this group are left

Page 23: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting23

IPv6 Group MembershipIPv6 Group Membership

IGMP-like functions incorporated IGMP-like functions incorporated into new version of ICMP for IPv6 into new version of ICMP for IPv6 ((ICMPv6ICMPv6))

ICMPv6 includes group ICMPv6 includes group membership query and report membership query and report messages, and a new group messages, and a new group membership termination messagemembership termination message

Page 24: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting24

Multicast Routing Multicast Routing AlgorithmsAlgorithms DVMRPDVMRP: distance vector source-: distance vector source-

based with RPF/RPM, based on RIPbased with RPF/RPM, based on RIP MOSPFMOSPF: link-state source-based, : link-state source-based,

extension of OSPFextension of OSPF CBT: core-based tree CBT: core-based tree PIM-DM: protocol independent, densePIM-DM: protocol independent, dense PIM-SMPIM-SM: protocol independent, : protocol independent,

sparsesparse MBONE: tunneling via backboneMBONE: tunneling via backbone

Page 25: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting25

Distance-Vector Multicast Distance-Vector Multicast Routing Protocol (DVMRP)Routing Protocol (DVMRP) The first and, arguably, most widely-The first and, arguably, most widely-

deployed multicast routing algorithm deployed multicast routing algorithm used in the Internetused in the Internet

Straightforward implementation of Straightforward implementation of source-based treessource-based trees – with reverse-path forwarding and pruningwith reverse-path forwarding and pruning– pruned branches automatically restored pruned branches automatically restored

after specified “prune lifetime”after specified “prune lifetime” Uses distance-vector algorithm to Uses distance-vector algorithm to

determine next hop for best path back determine next hop for best path back to the sourceto the source

Page 26: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting26

Multicast Extensions to Multicast Extensions to OSPFOSPF

Direct Direct extension extension to OSPF unicast routing to OSPF unicast routing MOSPFMOSPF is designed to operate within a single is designed to operate within a single

AS to generate AS to generate source-specificsource-specific, pre-pruned, , pre-pruned, least-cost treesleast-cost trees for each multicast group for each multicast group

Multicast spanning trees calculated Multicast spanning trees calculated on on demanddemand using using Dijkstra’s algorithmDijkstra’s algorithm

Routers periodically Routers periodically flood group membership flood group membership informationinformation to all other routers in its area to all other routers in its area

– added to the link-state advertisements that added to the link-state advertisements that are used with OSPFare used with OSPF

Page 27: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting27

MOSPF RoutingMOSPF Routing

Page 28: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting28

Protocol Independent Protocol Independent Multicast (PIM)Multicast (PIM) More general solution to multicast routingMore general solution to multicast routing

– Key assumption: members of any given Key assumption: members of any given multicast group are few and widely-dispersedmulticast group are few and widely-dispersed

Independent of underlying unicast routing Independent of underlying unicast routing algorithmalgorithm

Uses multiple shortest-path unicast Uses multiple shortest-path unicast routing approachrouting approach

Two modes of operation (actually, two Two modes of operation (actually, two separate algorithms):separate algorithms):– dense mode: intra-ASdense mode: intra-AS– sparse mode: inter-ASsparse mode: inter-AS

Page 29: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting29

PIM: Protocol Independent PIM: Protocol Independent MulticastMulticast

not dependent on any specific underlying not dependent on any specific underlying unicast routing algorithm (works with all)unicast routing algorithm (works with all)

two different multicast distribution scenarios :two different multicast distribution scenarios :

DenseDense:: group members group members

densely packed, in densely packed, in “close” proximity.“close” proximity.

bandwidth more bandwidth more plentifulplentiful

Sparse:Sparse: # networks with group # networks with group

members small wrt # members small wrt # interconnected networksinterconnected networks

group members “widely group members “widely dispersed”dispersed”

bandwidth not plentifulbandwidth not plentiful

Page 30: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting32

Sparse-mode PIM OperationSparse-mode PIM Operation One router is designated as the One router is designated as the RP RP

(rendezvous point)(rendezvous point) for each multicast group for each multicast group (center-based tree, like CBT algorithm)(center-based tree, like CBT algorithm)

Group destination routersGroup destination routers send send Join Join messages to RP requesting membership for messages to RP requesting membership for its hosts in the RP’s groupits hosts in the RP’s group– uses a unicast shortest path route selection (e.g. RIP)uses a unicast shortest path route selection (e.g. RIP)– reverse of this pathreverse of this path becomes part of that RP’s shared becomes part of that RP’s shared

distribution treedistribution tree Source nodes send messages intended for Source nodes send messages intended for

a group to the RP for that groupa group to the RP for that group– uses a uses a unicast shortest pathunicast shortest path route from source to RP route from source to RP– RP routes packets, RP routes packets, using theusing the group-shared tree group-shared tree, back , back

toward routers that have “Join”ed that grouptoward routers that have “Join”ed that group

Page 31: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting33

PIM - Sparse ModePIM - Sparse Mode center-based approachcenter-based approach Group router(s) send Group router(s) send joinjoin

msg to the rendezvous msg to the rendezvous point (RP)point (RP)– intermediate routers intermediate routers

update state and update state and forward the forward the joinjoin

after joining via RP, after joining via RP, router can switch from router can switch from the group-shared tree to the group-shared tree to a source-specific treea source-specific tree– increased increased

performance: less performance: less concentration, shorter concentration, shorter pathspaths

R1

R2

R3

R4

R5

R6R7

join

join

join

rendezvouspoint

Page 32: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting34

PIM - Sparse ModePIM - Sparse ModeMulticast sources(s):Multicast sources(s): ““Register” with RPRegister” with RP

• RP can extend the RP can extend the multicast tree multicast tree upstream to a upstream to a sourcesource

Send data to RP, via Send data to RP, via unicast path, which unicast path, which then distributes then distributes data down RP-data down RP-rooted treerooted tree

RP can send RP can send stopstop msg to a source if msg to a source if all receivers “leave” all receivers “leave” a groupa group– ““no one is listening!”no one is listening!”

R1

R2

R3

R4

R5

R6R7

all data multicastfrom RendezvousPoint

RP

Source

Page 33: 1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.

Chapter 16b Multicasting35

PIM Routing ExamplePIM Routing Example