cs 204: multicastjiasi/teaching/cs204_spring16/slides/lec5... · what is multicast? • group of...

34
CS 204: Multicast Jiasi Chen Lectures: MWF 12:10-1pm in WCH 139 http://www.cs.ucr.edu/~jiasi/teaching/cs204_spring16/ 1

Upload: hacong

Post on 22-Nov-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

CS204:Multicast

Jiasi ChenLectures:MWF12:10-1pminWCH139

http://www.cs.ucr.edu/~jiasi/teaching/cs204_spring16/

1

Overview

• Basics• Routingalgorithms

• Flooding• Spanningtrees• RPB• TRPB• RPM

• Implementationsofroutingalgorithms• MOSPF• DVMRP• PIM

• Paperdiscussion

2

Whatismulticast?

• Groupofhostsrequestingsamecontent

• Whatwouldunicastdo?

3

Multicastsource

Multicastdestination

Usernotpartofmulticastgroup

WhatisMulticast?

4

Multicastsource

Multicastdestination

Usernotpartofmulticastgroup

WhatisMulticast?

• One-to-manyrouting

• Maingoal:efficiency

• Exampleapplications• Audio/video• Softwaredistribution• Web-cache updates• Teleconferencing• Games

• Joboftherouter• Knowwhichgroupsitshostsaresubscribed to

• Forwardpackets tohosts• Forwardpackets tootherrouters

5

MulticastServiceModel

• Anyonecanjoin• Senderneednotbepartofthemulticastgroup• Memberscanjoinandleaveatwill• Groupmembershipisnotexplicitlyknown

• Analogy:radiochannel

6

MulticastAddressing

• IPaddress(32bits)• ClassD:224.0.1.0to239.255.255.255

• MACaddress(48bits)• 01-00-5E-xx-xx-xx

7

ConvertingMulticastIPtoMACAddress

8UniquepartofMACaddress

224.10.8.5Maynotbeunique

LimitingtheScopeofMulticastPackets

• EachinterfaceassignedaTTL• IPheaderalsocontainsTTL• Forwardpacketiff packetTTL>interfaceTTL

9

10

Howdohoststalktorouters?

MulticastAPI

• Sender• Sameasbefore:sendtomulticast IP

• Receiver• Needtojointhemulticast groupbysendingmessage torouter• Join-IP-Multicast-Group• Leave-IP-Multicast-Group

11

IGMP

12

Router1.QUERY224.0.0.1,TTL=1“Whichgroupsareyoupartof?”

Eachclient: “Iampartofgroupg”2.Foreachgroupg Iampartof,setarandomtimerTg3.IfIhearanotherreportforgroupg,resetTg4.WhenTg expires, sendmyreport

Overview

• Basics• Routingalgorithms

• Flooding• Spanningtrees• RPB• TRPB• RPM

• Implementationsofroutingalgorithms• MOSPF• DVMRP• PIM

• Paperdiscussion

13

Classification

14

Source-based trees Sharedtree

Whatkindofdistribution tree?

Flood-and-prune Core-based tree

Whoispartofmymulticast group?

15

Howtoroutethepackets?

Flooding

16

Benefits• Easytoimplement

Disadvantages• Notscalable

1. Forwardthepackets• Onalllinksexceptreceiving• Ifhaven’tseenthispacketbefore

Internet-WideSpanningTrees

17

Advantages• Spanningtreealgorithmsarewell-known

Disadvantages• Notthemostefficientpath• Concentratestrafficonafewnumberoflinks• NeedstheentireInternettopology!

1. Constructaspanningtree2. Forwardthepackets

• onthelinksofthespanningtree

RPB:Source-SpecificSpanningTree

18

1. Forwardpacketsa) Ifreceivedpacketonmyshortestpath

tosourceb) toall“downstream”routersc) tohostsonyoursubnet

Benefits• Distributetrafficoverlinksbecause

constructanewtreeforeachsource• Shortestpath

Disadvantages• Forwardspacketstoroutersnot

connectedtomulticastgroups

Howtodeterminedownstreamrouters?

19

• Downstream=nextrouterconsidersmeaspartoftheirshortestpathtosource

• Unicast:routepacketstowardsdestination• Multicast:routepacketsawayfromsource

• Call thisreversepathfowarding

• Link-state:alreadyhavetopology• Distancevector:needtoadvertiselasthoptoneighbors

TRPB:AddinIGMP

1. Forwardpacketsa) Ifreceivedpacketonmyshortestpath

tosourceb) toall“downstream”routersc) tohostsonyoursubnetiftheyare

partofthemulticastgroup

RPM

21

prune

prune

prune

Benefits• Reduceunnecessarytrafficinsubnets

andbetweenrouters

Disadvantages• Periodically,packetssenttoallmulticast

routers

1. Forwardpacketsa) Ifreceivedpacketonmyshortestpathto

sourceb) toall“downstream”routersc) tohostsonyoursubnetiftheyarepart

ofthemulticastgroupd) Ifa“prune”messagehasn’tbeen

received

Overview

• Basics• Routingalgorithms

• Flooding• Spanningtrees• RPB• TRPB• RPM

• Implementationsofroutingalgorithms• MOSPF• DVMRP• PIM

• Paperdiscussion

22

MOSPF

23

Linkstatebased• ModifyOSPF• Computeshortestpathbetween

sourceandsetofdestinations• Periodicallyfloodwithneighbor

information

Disadvantage• Needtore-computeentire

shortestpathifuserjoins/leaves

DVMRP

24

Distance-vectorbased• Passmessageswith(dest,cost)

toneighbors• Ifdest =multicastsource,pass

cost=infinitytoupstreamrouter

prune

prune

prune

DVMRPdetails

• Routingtable

• Forwardingtable

25

p=prunemessagesent/received

ProtocolIndependentMulticast(PIM)

• Whymaintainaseparatemulticastroutingtable?

• Lookatunicastroutingtable• Ifunicastpath(destination =multicast source)

• Agnostictowhichunicastroutingalgorithmisused

• Densemode:assumeeveryoneispartofmulticastgroup,andexplicitlyremove

• Sparsemode:assumenobodyispartofmulticastgroup,andexplicitlyjoin

26

PIM-Dense

• SimilartoDVMRP• Reverse-path-forwarding

• Insteadofdistance vector,useunicastroutingtable

27

PIM-Sparse

28

Rendezvouspoint

Center-basedtree• RPadministrativelyconfigured

Source1. RegisterwithRP2. SendpacketstoRP

Receiver1. SendjoinmessagetoRP

RP1. Createthe(*,group)tree

Summary

Algorithm Flood-and-prune orcenter-based?

Source-basedorsharedtree?

Flooding/spanning tree Flood SharedRPB Flood SourceRPM Flood-and-prune SourceDVMRP Flood-and-prune SourcePIM-Dense Flood-and-prune SourcePIM-Sparse Center-based Mostlyshared,canbesource

29

Source-based trees Sharedtree

Whatkindofdistribution tree?

Flood-and-prune Core-based tree

Whoispartofthemulticast group?

TunnelingQ: howtoconnect“islands”ofmulticastroutersina“sea” ofunicastrouters?

v mcast datagram encapsulated inside “normal” (non-multicast-addressed) datagram

v normal IP datagram sent thru “tunnel” via regular IP unicast to receiving mcast router (recall IPv6 inside IPv4 tunneling)

v receiving mcast router unencapsulates to get mcastdatagram

physical topology logical topology

WhoUsesIPMulticast?

• Testbeds• MBONE(DVMRP)• Internet2

• LivevideoCDNs?

• Wireless?

31

ACaseforEndSystemMulticast

32

Unicast Networkmulticast Endsystemmulticast

PaperDiscussion

• Meshvssource-basedtreevssharedtree?

• Howdidtheytest?

• Whatarethedrawbacks?

33

Sources

• ComputerNetworking:ATop-DownApproach,Kurose&Ross• “ACaseforEndSystemMulticast”,Yang-huaChen,SanjayRao,HuiZhang,SIGMETRICS,2000.

• “IntroductiontoIPMulticastRouting,”ChuckSemeria andTomMaufer

34