Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to...

69
Internet Internet Multicasting Multicasting Chapter 16 Chapter 16

Transcript of Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to...

Page 1: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Internet MulticastingInternet Multicasting

Chapter 16Chapter 16

Page 2: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Hardware BroadcastHardware Broadcast

Many HW technologies support sending Many HW technologies support sending packets to multi destinations concurrently packets to multi destinations concurrently Broadcasting: most common formBroadcasting: most common form Copy of packet delivered to each destinationCopy of packet delivered to each destination Easy on bus technologies (Ethernet)Easy on bus technologies (Ethernet)

Done with single packet transmissionDone with single packet transmission Others: SW must forward copies of the packetOthers: SW must forward copies of the packet

Page 3: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Broadcast AddressBroadcast Address Reserved destination addressReserved destination address Specifies broadcast deliverySpecifies broadcast delivery

Ex. – Ethernet: address of all 1’sEx. – Ethernet: address of all 1’s HW at each machine accepts packet for:HW at each machine accepts packet for:

The machine’s addressThe machine’s address

The broadcast addressThe broadcast address

Chief disadvantage of broadcastingChief disadvantage of broadcasting Demand on resourcesDemand on resources

Network bandwidthNetwork bandwidth

Computational resources on all machinesComputational resources on all machines

Page 4: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Hardware Origins of MulticastHardware Origins of Multicast

MulticastingMulticasting Less common form of multi-point deliveryLess common form of multi-point delivery Also supported by hardware technologiesAlso supported by hardware technologies Allows each system to choose if it wants to Allows each system to choose if it wants to

participate in a given multicastparticipate in a given multicastLarge set of addresses reserved for multicastLarge set of addresses reserved for multicast

One address used for each group of machines that One address used for each group of machines that want to communicatewant to communicate

Page 5: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Multicast is a generalization of all addressingMulticast is a generalization of all addressingUnicast:Unicast: multicast with one computer in the group multicast with one computer in the groupBroadcast:Broadcast: multicast with all computers in the group multicast with all computers in the groupMulticast:Multicast: arbitrary computers in the group arbitrary computers in the group

Multicast cannot replace conventional addressingMulticast cannot replace conventional addressingDifference in underlying mechanismsDifference in underlying mechanismsForwarding and delivery done differentlyForwarding and delivery done differently

Unicast and broadcastUnicast and broadcastForwarding depends on network topologyForwarding depends on network topology

MulticastMulticastForwarding must send packet to all segmentsForwarding must send packet to all segments

Conclusion:Conclusion: Multicast may be a generalization of addressing schemesMulticast may be a generalization of addressing schemes However, underlying forwarding and delivery However, underlying forwarding and delivery

mechanisms make it less efficientmechanisms make it less efficient

Page 6: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Ethernet MulticastEthernet Multicast½ of Ethernet addresses reserved for multicast½ of Ethernet addresses reserved for multicast Low-order bit of high-order byte distinguishesLow-order bit of high-order byte distinguishes

0 for unicast; 1 for multicast0 for unicast; 1 for multicast Multicast in dotted hexadecimal notation:Multicast in dotted hexadecimal notation:

01.00.00.00.00.0001.00.00.00.00.001616

If interface configured for Ethernet multicast:If interface configured for Ethernet multicast:

01.00.5E.00.00.0101.00.5E.00.00.011616

Will accept any packet sent to computer’s unicast Will accept any packet sent to computer’s unicast address, broadcast address, or above multicast address, broadcast address, or above multicast addressaddress

Page 7: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

IP MulticastIP Multicast

IP MulticastingIP Multicasting Internet abstraction of hardware multicastingInternet abstraction of hardware multicasting Allows transmission to subset of hostsAllows transmission to subset of hosts Generalizes subsetGeneralizes subset

Can spread across arbitrary physical networksCan spread across arbitrary physical networks

Anywhere throughout the internetAnywhere throughout the internet Given subset is called a Given subset is called a multicast groupmulticast group

Page 8: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

IP multicasting has following characteristics:IP multicasting has following characteristics:Group addressGroup address

Each multicast group has unique class D addressEach multicast group has unique class D address Some groups permanent; some temporarySome groups permanent; some temporary

Number of groupsNumber of groups Up to 2Up to 22828 simultaneous multicast groups simultaneous multicast groups Number limited by constraints on routing table sizeNumber limited by constraints on routing table size

Dynamic group membershipDynamic group membership Host can join or leave anytimeHost can join or leave anytime Host can be member of arbitrary number of groupsHost can be member of arbitrary number of groups

Use of hardwareUse of hardware If underlying network HW supports multicast; IP uses itIf underlying network HW supports multicast; IP uses it If not; IP uses broadcast or unicast to deliver IP multicastIf not; IP uses broadcast or unicast to deliver IP multicast

Page 9: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Inter-network forwardingInter-network forwarding Members of IP multicast group can attach to multiple netsMembers of IP multicast group can attach to multiple nets Multicast routers are required to forward IP multicastMulticast routers are required to forward IP multicast

Capability usually added to conventional routersCapability usually added to conventional routers

Delivery semanticsDelivery semantics Uses same best-effort delivery as other IP datagram deliveryUses same best-effort delivery as other IP datagram delivery Multicast datagrams can be lost, delayed, duplicated, etc.Multicast datagrams can be lost, delayed, duplicated, etc.

Membership and transmissionMembership and transmission Arbitrary host can send datagrams to any multicast groupArbitrary host can send datagrams to any multicast group Membership only used to determine who receivesMembership only used to determine who receives

Page 10: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Conceptual PiecesConceptual PiecesThree conceptual pieces requiredThree conceptual pieces required Multicast addressing schemeMulticast addressing scheme Effective notification & delivery mechanismEffective notification & delivery mechanism Efficient internetwork forwarding facilityEfficient internetwork forwarding facility

Many goals, details, and constraints Many goals, details, and constraints present challenges for an overall designpresent challenges for an overall design

Page 11: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Addressing scheme has conflicting goalsAddressing scheme has conflicting goalsAllow local autonomy in assigning addressesAllow local autonomy in assigning addressesDefine addresses that have global meaningDefine addresses that have global meaning

Notification and delivery has same problemNotification and delivery has same problemMake effective use of hardware when availableMake effective use of hardware when availableAllow IP multicast over networks w/o HW supportAllow IP multicast over networks w/o HW support

Forwarding facility presents biggest challengeForwarding facility presents biggest challengeWant both efficient and dynamic schemeWant both efficient and dynamic scheme

Route packets along shortest pathRoute packets along shortest path Not send copy on path not leading to member of the groupNot send copy on path not leading to member of the group Allow hosts to join and leave a group at any timeAllow hosts to join and leave a group at any time

IP multicast includes all three aspectsIP multicast includes all three aspectsRest of chapter considers each in more detailRest of chapter considers each in more detail

Page 12: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

IP Multicast AddressesIP Multicast AddressesPermanently assigned addressesPermanently assigned addresses Called Called well-knownwell-known Used for major services on global InternetUsed for major services on global Internet

Other groups created when neededOther groups created when needed Transient multicast groupsTransient multicast groups Discarded when group member count = 0Discarded when group member count = 0

Class D addresses reserved for multicastClass D addresses reserved for multicast

Page 13: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

No identification information in the group bitsNo identification information in the group bitsNot identify the origin or owner of a groupNot identify the origin or owner of a group

No info about whether all members on one physical networkNo info about whether all members on one physical network Range: 224.0.0.0 through 239.255.255.255Range: 224.0.0.0 through 239.255.255.255

Lowest address reservedLowest address reserved

Others up through 224.0.0.255: routing & group maintenanceOthers up through 224.0.0.255: routing & group maintenance

Figure 16.2 shows examples of permanently assigned addressesFigure 16.2 shows examples of permanently assigned addresses

Figure 16.1Figure 16.1

Page 14: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Figure 16.2Figure 16.2

Page 15: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Multicast Address SemanticsMulticast Address Semantics

Multicast treated differently than unicastMulticast treated differently than unicast Multicast address can only be destinationMulticast address can only be destination No ICMP messages for multicast datagramsNo ICMP messages for multicast datagrams

Ping sent to multicast address never answeredPing sent to multicast address never answered Time-to-live field is honoredTime-to-live field is honored

Reaches zero; datagram discardedReaches zero; datagram discarded

No ICMP message sentNo ICMP message sent

Page 16: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Mapping IP Multicast to Ethernet MulticastMapping IP Multicast to Ethernet Multicast

IP multicast standard does not cover all IP multicast standard does not cover all types of network hardwaretypes of network hardware Does specify mapping to Ethernet multicastDoes specify mapping to Ethernet multicast Efficient and easyEfficient and easy

Place low-order 23 bits of IP multicast address into the Place low-order 23 bits of IP multicast address into the low-order 23 bits of the special Ethernet multicast low-order 23 bits of the special Ethernet multicast address 01.00.5E.00.00.00address 01.00.5E.00.00.001616

Example:Example:224.0.0.2224.0.0.2 becomes 01.00.5E.00.00.02 becomes 01.00.5E.00.00.021616

11101010 011101010 00000000 00000000 000000100000000 00000000 00000010

Page 17: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Mapping is not uniqueMapping is not unique IP multicast uses 28 significant bitsIP multicast uses 28 significant bits More than one IP multicast group may map to More than one IP multicast group may map to

same Ethernet multicast addresssame Ethernet multicast address111011100000 00000 0xxxxxxx xxxxxxxx xxxxxxxxxxxxxxx xxxxxxxx xxxxxxxx

111011101111 11111 1xxxxxxx xxxxxxxx xxxxxxxxxxxxxxx xxxxxxxx xxxxxxxx

Scheme chosen as a compromiseScheme chosen as a compromiseUses 23 of the 28 bitsUses 23 of the 28 bitsChances are small that two groups will be the sameChances are small that two groups will be the sameUsing fixed part of Ethernet address helpsUsing fixed part of Ethernet address helps

Makes debugging easierMakes debugging easier Eliminates interference between IP and other protocolsEliminates interference between IP and other protocols

Consequences: host may get msg in errorConsequences: host may get msg in errorIP software must check incoming datagramsIP software must check incoming datagrams

.

.

.

.

.

.

Page 18: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Hosts and Multicast DeliveryHosts and Multicast DeliveryIP multicast on single physical networkIP multicast on single physical network Host uses HW multicast addressHost uses HW multicast address Receiver always listening to itReceiver always listening to it

Multicast throughout the internetMulticast throughout the internet Special multicast routers forward the datagramsSpecial multicast routers forward the datagrams Host must send datagram to multicast routerHost must send datagram to multicast router Does via the hardware, like in local multicastDoes via the hardware, like in local multicast Diff between local & non-local in the routersDiff between local & non-local in the routers

Page 19: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Multicast ScopeMulticast ScopeScopeScope of multicast group of multicast group Refers to dispersion of Refers to dispersion of group membersgroup members Perhaps restricted to a network or organizationPerhaps restricted to a network or organization

Scope of multicast datagramScope of multicast datagram Set of networksSet of networks over which datagram will be sent over which datagram will be sent

Informally, datagram’s scope is called its Informally, datagram’s scope is called its rangerange

IP uses two techniques to control scopeIP uses two techniques to control scope Time-to-live fieldTime-to-live field Administrative scopingAdministrative scoping

Page 20: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

TTL field controlTTL field controlSet to small value, host can limit distance it’s routedSet to small value, host can limit distance it’s routed

Control messages have TTL of 1 (host-router comm)Control messages have TTL of 1 (host-router comm) Applications on single host can use IP multicastApplications on single host can use IP multicast

Set TTL value to 0; never leave hostSet TTL value to 0; never leave host

Can configure site routers such that a certain TTL is Can configure site routers such that a certain TTL is needed or else the datagram will never leave the siteneeded or else the datagram will never leave the site

TTL field gives course-grain control over scopeTTL field gives course-grain control over scope Administrative scopingAdministrative scoping

Reserve parts of address spaceReserve parts of address space

Do for local groups or groups part of a single orgDo for local groups or groups part of a single org

Routers forbidden from forwarding datagrams with Routers forbidden from forwarding datagrams with addresses from this spaceaddresses from this space

Page 21: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Extending Host SW to Handle Extending Host SW to Handle MulticastingMulticasting

Host participates in IP multicast in 1 of 3 levelsHost participates in IP multicast in 1 of 3 levels

(1) Host can (1) Host can neither send nor receiveneither send nor receive IP multicast IP multicast

(2) Host can (2) Host can send but not receivesend but not receive IP multicast IP multicast

(3) Host can (3) Host can both send and receiveboth send and receive IP multicast IP multicast Modifications for host sending are not difficultModifications for host sending are not difficult

IP SW allows application to specify multicast as IP SW allows application to specify multicast as destinationdestination

Network interface SW must be able to map IP Network interface SW must be able to map IP multicast address into HW multicast addressmulticast address into HW multicast address

Page 22: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Extending host to receive is more complexExtending host to receive is more complexHost IP SW must have API allowing programs to join & Host IP SW must have API allowing programs to join & leave multicast groupsleave multicast groups

If multiple applications join, must pass all a copyIf multiple applications join, must pass all a copy If all leave, host must know it no longer participatesIf all leave, host must know it no longer participates

Host must inform multicast routers of membershipHost must inform multicast routers of membershipHosts join specific IP groups on specific networksHosts join specific IP groups on specific networks

Host may have multiple network connectionsHost may have multiple network connections May join group on one network and not on anotherMay join group on one network and not on another Keep group membership associated with networksKeep group membership associated with networks

Allows multicast use with local machines on one netAllows multicast use with local machines on one net

SW must keep separate lists of multicast addresses for SW must keep separate lists of multicast addresses for each networkeach networkApplication must specify a particular network when Application must specify a particular network when joining or leaving a multicast groupjoining or leaving a multicast group

Page 23: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Internet Group Management ProtocolInternet Group Management Protocol

To participate in IP multicast, host must:To participate in IP multicast, host must: Local network multicast:Local network multicast:

Have SW allowing send/receive multicast datagramsHave SW allowing send/receive multicast datagrams Multicast that spans physical networksMulticast that spans physical networks

Must inform local multicast routersMust inform local multicast routers

Multicast routers must know membershipsMulticast routers must know memberships Use Use IGMPIGMP to communicate group membership to communicate group membership Current version is 3; knows as IGMPv3Current version is 3; knows as IGMPv3

Page 24: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

IGMP is like ICMPIGMP is like ICMP Uses IP datagrams to carry messagesUses IP datagrams to carry messages IGMP provides a service used by IPIGMP provides a service used by IP

Think of as integral part of IP, not separate protocolThink of as integral part of IP, not separate protocol IGMP is a standard for TCP/IPIGMP is a standard for TCP/IP

Required on all machines receiving IP multicastRequired on all machines receiving IP multicast

Conceptually, IGMP has two phasesConceptually, IGMP has two phases Host joins group; sends messageHost joins group; sends message

Routers get and establish routingRouters get and establish routing Routers poll hosts to see if still membersRouters poll hosts to see if still members

If none report, router stops advertising membershipIf none report, router stops advertising membership

Page 25: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

IGMP ImplementationIGMP Implementation

IGMP designed to avoid adding overheadIGMP designed to avoid adding overhead May have multiple multicast routers on a netMay have multiple multicast routers on a net May have hosts participating, tooMay have hosts participating, too Must avoid having all participants generate Must avoid having all participants generate

control trafficcontrol traffic Several way IGMP minimizes effect on networkSeveral way IGMP minimizes effect on network

Page 26: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

All host/router communication uses IP multicastAll host/router communication uses IP multicast IP destination address is a multicast addressIP destination address is a multicast address Datagrams with IGMP messages transmitted via HW Datagrams with IGMP messages transmitted via HW

multicastmulticast Hosts not using IP multicast never receive IGMP messagesHosts not using IP multicast never receive IGMP messages

When polling, single query sent about all groupsWhen polling, single query sent about all groups Not send a separate query for each groupNot send a separate query for each group Default polling rate is 125 secondsDefault polling rate is 125 seconds

Single polling router usedSingle polling router used Even if multiple multicast routers attach to same networkEven if multiple multicast routers attach to same network

Hosts respond to queries at different timesHosts respond to queries at different times Query contains value Query contains value NN Hosts pick random number between 0 and Hosts pick random number between 0 and NN to wait to wait Have multiple groups; pick different number for eachHave multiple groups; pick different number for each

Reports for multiple group memberships can be Reports for multiple group memberships can be sent in a single packetsent in a single packet

Page 27: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Group Membership State Group Membership State TransitionsTransitions

IGMP must remember status of each IGMP must remember status of each multicast group to which host belongsmulticast group to which host belongs Keeps a table to record group membershipKeeps a table to record group membership

When host joins, allocates entryWhen host joins, allocates entry Keeps group reference counter; initializes to 1Keeps group reference counter; initializes to 1 Another application joins; increment counterAnother application joins; increment counter Application terminates execution or drops out; decrementApplication terminates execution or drops out; decrement Counter reaches zero; informs multicast routerCounter reaches zero; informs multicast router

Page 28: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Figure 16.4Figure 16.4 The three possible states of an entry in a host’s multicast group table and transitions among them, where each transition is labeled with an event and an action. The state transitions do not show messages sent when joining and leaving a group.

Page 29: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

IGMP Message FormatIGMP Message Format

Skip:Skip: 16.16: IGMP Membership Query Message 16.16: IGMP Membership Query Message

FormatFormat 16.17: IGMP Membership Report Message 16.17: IGMP Membership Report Message

FormatFormat

Page 30: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Multicast Forwarding & Routing InformationMulticast Forwarding & Routing Information

Unanswered questionsUnanswered questions How do routers exchange membership info?How do routers exchange membership info? How do routers ensure datagrams get to all How do routers ensure datagrams get to all

group members?group members? No single standard for propagationNo single standard for propagation

No real agreement on an overall planNo real agreement on an overall plan

Protocols differ in goals and basic approachProtocols differ in goals and basic approach

Page 31: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Why is multicast routing so difficult?Why is multicast routing so difficult? Multicast routing differs from conventional routing Multicast routing differs from conventional routing

because multicast forwarding differsbecause multicast forwarding differs

Figure 16.9Figure 16.9

Page 32: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Need dynamic routingNeed dynamic routingNo “dots” on net 2; not send packets thereNo “dots” on net 2; not send packets there

But, host can join at any timeBut, host can join at any time Unicast routing: changes when topology changesUnicast routing: changes when topology changes Multicast: change when application leaves/joins groupMulticast: change when application leaves/joins group

Insufficiency of destination routingInsufficiency of destination routingFF & & EE can send to cross group can send to cross group

Same destination; different actionsSame destination; different actions

AA send to cross group: still another action send to cross group: still another action

Multicast forwarding requires a router to look at Multicast forwarding requires a router to look at more than destination addressmore than destination address

Page 33: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Arbitrary sendersArbitrary sendersAny host can send to the group; not just membersAny host can send to the group; not just members

GG can send to dotted group can send to dotted group Not a member of the groupNot a member of the group No members on No members on GG’s network’s network Datagram may pass through other networks with no Datagram may pass through other networks with no

members of the groupmembers of the group

So:So: Multicast datagram may originate on a computer that is Multicast datagram may originate on a computer that is

not part of the groupnot part of the group May be forwarded across networks that do not have any May be forwarded across networks that do not have any

group members attachedgroup members attached

Page 34: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Basic Multicast Forwarding Basic Multicast Forwarding ParadigmsParadigms

Routers must use more than destinationRouters must use more than destination What exactly do they use?What exactly do they use? Multicast destination represents a set of Multicast destination represents a set of

computerscomputersWant to reach all members of the setWant to reach all members of the set

Do not want to route over same network twiceDo not want to route over same network twice

Partial solution: do not send back on arriving interfacePartial solution: do not send back on arriving interface

Will not prevent problem if set of routers form loopWill not prevent problem if set of routers form loop

Rely on datagram’s source address to avoid loopsRely on datagram’s source address to avoid loops

Page 35: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

One idea: One idea: Reverse Path ForwardingReverse Path Forwarding Uses source address to prevent loopUses source address to prevent loop Multicast router must have conventional tableMulticast router must have conventional table

Have shortest path to all destinationsHave shortest path to all destinations

Datagram arrivesDatagram arrives Looks up in table; finds interface Looks up in table; finds interface I I which leads to sourcewhich leads to source If it arrived on If it arrived on II; forward copy to all other interfaces; forward copy to all other interfaces Otherwise, discard the copyOtherwise, discard the copy

Each multicast datagram goes to every networkEach multicast datagram goes to every networkEvery host in multicast group will receive itEvery host in multicast group will receive it

RPF alone not used – wastes bandwidthRPF alone not used – wastes bandwidth Transmits to nets with no members & lead to no membersTransmits to nets with no members & lead to no members

Page 36: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Truncated Reverse Path ForwardingTruncated Reverse Path Forwarding Modified version of RPFModified version of RPF Avoids sending datagrams where not neededAvoids sending datagrams where not needed Multicast router needs to have:Multicast router needs to have:

Conventional routing tableConventional routing table

List of multicast groups reachable thru each NIList of multicast groups reachable thru each NI

When a multicast datagram arrives:When a multicast datagram arrives: Router first applies RPF ruleRouter first applies RPF rule If should discard, does soIf should discard, does so If not, checks to see if one or more members in the If not, checks to see if one or more members in the

destination are reachable over each interfacedestination are reachable over each interface Truncates sending when no more members lie along pathTruncates sending when no more members lie along path Uses both source and destination addresses in decisionUses both source and destination addresses in decision

Page 37: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Consequences of TRPFConsequences of TRPF

Guarantees each member gets datagramGuarantees each member gets datagram

Has two surprising consequencesHas two surprising consequences Delivers an extra copy to some networksDelivers an extra copy to some networks Delivery depends on the datagram’s sourceDelivery depends on the datagram’s source

Page 38: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

If A is source, Net 4 & B will get duplicate copies

Figure 16.10Figure 16.10

Page 39: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Behavior of delivery depends on the source

Figure 16.11Figure 16.11

Page 40: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Multicast TreesMulticast TreesUse graph theory to describe a Use graph theory to describe a treetree Set of paths from a given source to all membersSet of paths from a given source to all members Graph is tree if no cycles appearGraph is tree if no cycles appear

That is, router is on no more than one pathThat is, router is on no more than one path Called Called forwarding treeforwarding tree or or delivery treedelivery tree

Each multicast router is a Each multicast router is a nodenode in the tree in the tree

Network that connects two routers is an Network that connects two routers is an edgeedge

Last router along each path from source is a Last router along each path from source is a leafleaf Network hanging off leaf router is a Network hanging off leaf router is a leaf networkleaf network

Page 41: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Tree with root Tree with root XX Leaves Leaves RR33, , RR44, , RR55, and , and RR66

Page 42: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Technically not a treeTechnically not a treeRR33 lies along two paths lies along two paths

Informally, referred to as a tree anywayInformally, referred to as a tree anyway

Page 43: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Important principleImportant principle Forwarding tree is defined as set of paths Forwarding tree is defined as set of paths

through multicast routers from source to all through multicast routers from source to all members of a multicast groupmembers of a multicast group

For a given multicast group, each possible For a given multicast group, each possible source can determine a different forwarding treesource can determine a different forwarding tree

An immediate consequence concerns the An immediate consequence concerns the size of tables used for forwardingsize of tables used for forwarding

Page 44: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Each entry in multicast table is a pair:Each entry in multicast table is a pair:

(multicast group, source)(multicast group, source) Conceptually, Conceptually, sourcesource identifies a single host identifies a single host

that can send datagramthat can send datagramIn practice, do not keep separate entry for each hostIn practice, do not keep separate entry for each host

All forwarding trees defined by all hosts on a single network All forwarding trees defined by all hosts on a single network are identicalare identical

To save space, use a network prefix as sourceTo save space, use a network prefix as source Router defines on forwarding entry for all hosts on same netRouter defines on forwarding entry for all hosts on same net

Aggregating entries by net prefix reduces table sizeAggregating entries by net prefix reduces table size Multicast tables can still be much larger than conventionalMulticast tables can still be much larger than conventional Conventional: size proportional to number of networksConventional: size proportional to number of networks Multicast: proportional to product of number of networks and Multicast: proportional to product of number of networks and

number of multicast groupsnumber of multicast groups

Page 45: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Essence of Multicast RoutingEssence of Multicast Routing

Inconsistency between IP multicast & TRPFInconsistency between IP multicast & TRPF TRPF not forward datagram to a network TRPF not forward datagram to a network

unless that network leads to a memberunless that network leads to a memberMulticast router must know about group membershipMulticast router must know about group membership

IP allows host to leave/join at any timeIP allows host to leave/join at any timeLeads to rapid changesLeads to rapid changes

Group membership must be propagatedGroup membership must be propagated Since membership does not follow local scopeSince membership does not follow local scope

Page 46: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Membership issue central to routingMembership issue central to routing All multicast routing schemes propagate infoAll multicast routing schemes propagate info

In addition to using info for forwardingIn addition to using info for forwarding Rapid changes may make router info imperfectRapid changes may make router info imperfect

Routing updates may lag changesRouting updates may lag changes Multicast design represents a tradeoffMulticast design represents a tradeoff

Routing traffic vs. inefficient data transmissionRouting traffic vs. inefficient data transmission Must propagate group membership info or routers will not Must propagate group membership info or routers will not

forward datagrams efficientlyforward datagrams efficiently If scheme communicates with every member, resulting traffic If scheme communicates with every member, resulting traffic

will overwhelm an internetwill overwhelm an internet

Every design is a compromiseEvery design is a compromise

Page 47: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Reverse Path MulticastingReverse Path MulticastingDerived from TRPFDerived from TRPF Extensions make it more dynamicExtensions make it more dynamic Three underlying assumptions:Three underlying assumptions:

Receipt by every member more important than Receipt by every member more important than eliminating unnecessary transmissionseliminating unnecessary transmissions

Multicast routers have conventional tables with correct Multicast routers have conventional tables with correct informationinformation

Multicast routing should improve efficiency when Multicast routing should improve efficiency when possiblepossible

Page 48: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

RPM uses two step processRPM uses two step process At start, uses RPF broadcast schemeAt start, uses RPF broadcast scheme

Ensures all networks get copy of datagramEnsures all networks get copy of datagram At same time, RPM has routers inform one At same time, RPM has routers inform one

another about paths not leading to membersanother about paths not leading to membersRouters stop forwarding along such pathsRouters stop forwarding along such paths

How do routers learn location of members?How do routers learn location of members? RPM propagates information bottom-upRPM propagates information bottom-up

Starts with hosts that join or leave groupsStarts with hosts that join or leave groups Sends info via IGMP to local routerSends info via IGMP to local router Thus, routers know about local members, but not distantThus, routers know about local members, but not distant

Page 49: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Leaf routers can decide if forward to leaf networksLeaf routers can decide if forward to leaf networks Does not forward if no members of the groupDoes not forward if no members of the group Leaf router informs next router along path back to sourceLeaf router informs next router along path back to source

Whenever router learns no members lie beyond itWhenever router learns no members lie beyond it Stops forwarding; informs next router back toward rootStops forwarding; informs next router back toward root

Called Called pruningpruning a path from the forwarding tree a path from the forwarding tree RPM called RPM called broadcast and prunebroadcast and prune

Router broadcasts using RPFRouter broadcasts using RPF

Until get information that allows a path to be prunedUntil get information that allows a path to be pruned RPM system also called RPM system also called data-drivendata-driven

Router does not send membership info to any other Router does not send membership info to any other routers until datagrams arrive for the grouprouters until datagrams arrive for the group

Page 50: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Data-driven model must also handle case of host Data-driven model must also handle case of host joining after path has been prunedjoining after path has been pruned

RPM handles joins bottom-upRPM handles joins bottom-up Host informs local router it has joinedHost informs local router it has joined Router consults its record of the groupRouter consults its record of the group Obtains address of router previously sent prune msg toObtains address of router previously sent prune msg to Send new message that undoes pruneSend new message that undoes prune

Known as Known as graftgraft requestsrequests

Page 51: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

DV Multicast Routing ProtocolDV Multicast Routing ProtocolLike RIP protocol; extended for multicastLike RIP protocol; extended for multicast Allows multicast routers to pass infoAllows multicast routers to pass info

Group membership & datagram transfer costGroup membership & datagram transfer cost Routers make up forwarding tree for each Routers make up forwarding tree for each

possible (group, source) pairpossible (group, source) pairSends datagrams out over networks that correspond to Sends datagrams out over networks that correspond to branches in the forwarding treebranches in the forwarding tree

Routers talk with extended form of IGMPRouters talk with extended form of IGMPNew msg types to enter group, leave group, query New msg types to enter group, leave group, query other routers, & carry routing info (including cost)other routers, & carry routing info (including cost)

Page 52: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

MroutedMrouted Program Program

Implements DVMRP for UNIX systemsImplements DVMRP for UNIX systems Like Like routedrouted

Cooperates closely with OS to install routing infoCooperates closely with OS to install routing info Unlike Unlike routedrouted

Does not use standard routing tableDoes not use standard routing table

Can only be used with a multicast kernelCan only be used with a multicast kernel Has special multicast routing tableHas special multicast routing table Code needed to forward multicast datagramsCode needed to forward multicast datagrams

Uses Uses multicast tunnelingmulticast tunneling

Page 53: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

MroutedMrouted handles two tasks: handles two tasks: Route propagationRoute propagation

Uses DVMRP to propagate routing informationUses DVMRP to propagate routing information

Constructs multicast routing tableConstructs multicast routing table

Usually has Usually has mroutedmrouted in addition to standard routing in addition to standard routing Multicast tunnelingMulticast tunneling

Not all routers can forward multicast datagramsNot all routers can forward multicast datagrams

Can tunnel a datagram from one router to anotherCan tunnel a datagram from one router to another Go through routers that do not participate in multicastGo through routers that do not participate in multicast

Both tasks may not be needed at a computerBoth tasks may not be needed at a computer Configuration file used to specify how operateConfiguration file used to specify how operate

Page 54: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Tunneling Tunneling

Used when routers on the path Used when routers on the path between participating hosts do not run multicast between participating hosts do not run multicast routing softwarerouting software

Page 55: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Tunnel consists of agreement between Tunnel consists of agreement between mroutedmrouted programs running on two routers programs running on two routers

Both listen on local net for datagram sent to specified Both listen on local net for datagram sent to specified multicast destinationmulticast destination

When one arrives, it is encapsulated by When one arrives, it is encapsulated by mroutedmrouted Put in conventional unicast datagramPut in conventional unicast datagram Sent to other routerSent to other router

Other Other mroutedmrouted program receives datagram through its program receives datagram through its tunneltunnel

Extracts the multicast datagramExtracts the multicast datagram Forwards according to its multicast routing tableForwards according to its multicast routing table

Page 56: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Outer, unicast datagram has own TTL counterOuter, unicast datagram has own TTL counter Inner, multicast datagram has separate TTL Inner, multicast datagram has separate TTL

countercounter Tunnel treated like single physical networkTunnel treated like single physical network

Page 57: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Alternative ProtocolsAlternative ProtocolsDVMRP has some limitationsDVMRP has some limitations Uses small value for infinity (like RIP)Uses small value for infinity (like RIP) Keeps lots of informationKeeps lots of information Does broadcast and pruneDoes broadcast and prune

Lots of traffic to propagate membership informationLots of traffic to propagate membership informationSince use DV, propagation is slowSince use DV, propagation is slow

Does not scale wellDoes not scale well

Other multicast protocolsOther multicast protocols Core Based Trees (CBT)Core Based Trees (CBT) Protocol Independent Multicast (PIM)Protocol Independent Multicast (PIM) Multicast extensions to OSPF (MOSPF)Multicast extensions to OSPF (MOSPF) None are a required standardNone are a required standard

Page 58: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Core Based Trees (CBT)Core Based Trees (CBT)

Avoids broadcastingAvoids broadcasting Uses Uses demand-drivendemand-driven paradigm paradigm

Does not forward along path until host(s) joinDoes not forward along path until host(s) join

Instead of forward until negative info received, Instead of forward until negative info received, does not forward until positive info receiveddoes not forward until positive info received

Which routers should be informed when a Which routers should be informed when a host informs local router (via IGMP) that it has host informs local router (via IGMP) that it has joined a group?joined a group?

Divides the internet into regionsDivides the internet into regions

Designates a core router for each regionDesignates a core router for each region

Page 59: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Protocol Independent Multicast (PIM)Protocol Independent Multicast (PIM)

Really two protocolsReally two protocols PIM-DM (dense mode)PIM-DM (dense mode)

LAN environmentLAN environment

Most all networks are listening to each groupMost all networks are listening to each group PIM-SM (sparse mode)PIM-SM (sparse mode)

WAN environmentWAN environment

Members are small subset of possible networksMembers are small subset of possible networks

Page 60: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

PIM-DMPIM-DM Assumes low-delay networks with plenty of Assumes low-delay networks with plenty of

bandwidthbandwidth Optimized for guaranteed deliveryOptimized for guaranteed delivery Uses Uses broadcast and prunebroadcast and prune

Not worry about overheadNot worry about overhead

PIM-SMPIM-SM Demand-drivenDemand-driven like CBT like CBT Designates router to be rendezvous point (RP)Designates router to be rendezvous point (RP)

Like CBT coreLike CBT core

RP is equivalent of CBT core routerRP is equivalent of CBT core router

Page 61: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Multicast Extensions to OSPF Multicast Extensions to OSPF (MOSPF)(MOSPF)

Let multicast routing benefit from info Let multicast routing benefit from info gathered by conventional protocolsgathered by conventional protocols Uses OSPF’s topology database to build Uses OSPF’s topology database to build

forwarding tree for each sourceforwarding tree for each source Has advantage of being Has advantage of being demand-drivendemand-driven Disadv:Disadv:

Amount of routing information to propagateAmount of routing information to propagate

Information must be synchronizedInformation must be synchronized Works well within area; cannot scale to internetWorks well within area; cannot scale to internet

Page 62: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Reliable MulticastReliable Multicast

Refers to system that:Refers to system that: Uses multicast deliveryUses multicast delivery Guarantees all group members receive data:Guarantees all group members receive data:

In orderIn order

No loss, duplication, or corruptionNo loss, duplication, or corruption

TheoryTheory More efficient forwarding scheme than broadcastingMore efficient forwarding scheme than broadcasting All data still arrives intactAll data still arrives intact

Page 63: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

In practiceIn practice Not as easy as soundsNot as easy as sounds ““In sequence” delivery may be meaninglessIn sequence” delivery may be meaningless

If group has multiple sendersIf group has multiple senders Multicast schemes easily produce duplicationMulticast schemes easily produce duplication Need to bound the delay for some applicationsNeed to bound the delay for some applications Reliability requires acknowledgementsReliability requires acknowledgements

Arbitrary number of group membersArbitrary number of group members

Thus, send must handle arbitrary number of ACKsThus, send must handle arbitrary number of ACKs

This is the This is the ACK implosionACK implosion problem problem

Page 64: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Use hierarchical approachUse hierarchical approach Multicasting limited to single sourceMulticasting limited to single source ACK points identifiedACK points identified

Router in tree that agrees to cache copies of dataRouter in tree that agrees to cache copies of dataProcesses ACK from hosts or routers down the treeProcesses ACK from hosts or routers down the treeACK point accomplishes necessary retransmissionsACK point accomplishes necessary retransmissions

NACK usually usedNACK usually usedHost detects lost datagram; requests retransmissionHost detects lost datagram; requests retransmission

Choice of branching topology and ACK Choice of branching topology and ACK points is crucial to success of reliable points is crucial to success of reliable multicastmulticast

Page 65: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Other approaches to reliabilityOther approaches to reliability Send multiple datagram copiesSend multiple datagram copies

Works well if RED is used by routersWorks well if RED is used by routers

Probability of more than one copy being discarded is Probability of more than one copy being discarded is smallsmall

Forward error-correcting codesForward error-correcting codesSender incorporates error-correction info into each Sender incorporates error-correction info into each datagramdatagram

If one is lost, error correcting code contains sufficient If one is lost, error correcting code contains sufficient redundant information to allow sender to reconstruct redundant information to allow sender to reconstruct the missing datagramthe missing datagram

Page 66: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

SummarySummaryIP multicast is an abstraction of hardware IP multicast is an abstraction of hardware multicastingmulticasting Allows delivery to multiple destinationsAllows delivery to multiple destinations Uses class D addresses to specify deliveryUses class D addresses to specify delivery

Actual transmission uses hardware, if availableActual transmission uses hardware, if available

Multicast groups are dynamicMulticast groups are dynamic Hosts can join/leave at any timeHosts can join/leave at any time

Page 67: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

For local multicast:For local multicast:Host only need ability to send/receive multicastHost only need ability to send/receive multicast

Over multiple networks:Over multiple networks:Multicast routers propagate group informationMulticast routers propagate group information

Arrange routing so all members get copy of datagramArrange routing so all members get copy of datagram

Hosts communicate membership via IGMPHosts communicate membership via IGMP EfficientEfficient Only periodic message from a multicast router and a single Only periodic message from a multicast router and a single

reply for each multicast group per networkreply for each multicast group per network

Page 68: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Variety of protocols for routing Variety of protocols for routing information propagationinformation propagation Either data-driven or demand-drivenEither data-driven or demand-driven Multicast forwarding table is much larger than Multicast forwarding table is much larger than

unicast routing tableunicast routing tableNeeds entries for each (group, source) pairNeeds entries for each (group, source) pair

Not all routers propagate multicast routes or Not all routers propagate multicast routes or forward multicast datagramsforward multicast datagrams

IP tunnel used to transfer datagramsIP tunnel used to transfer datagrams

Multicast datagram encapsulated in unicast datagramMulticast datagram encapsulated in unicast datagram

Page 69: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most.

Reliable multicastReliable multicast Uses multicast forwardingUses multicast forwarding But offers reliable delivery semanticsBut offers reliable delivery semantics Must avoid ACK implosionMust avoid ACK implosion

Use hierarchy of acknowledgement pointsUse hierarchy of acknowledgement points

Other approaches send redundant informationOther approaches send redundant information