cs 204: multicastjiasi/teaching/cs204_spring16/slides/lec5... · what is multicast? • group of...
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?
• 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
LimitingtheScopeofMulticastPackets
• EachinterfaceassignedaTTL• IPheaderalsocontainsTTL• Forwardpacketiff packetTTL>interfaceTTL
9
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?
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
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