internet multicasting chapter 16. hardware broadcast many hw technologies support sending packets to...
TRANSCRIPT
![Page 1: Internet Multicasting Chapter 16. Hardware Broadcast Many HW technologies support sending packets to multi destinations concurrently Broadcasting: most](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/65.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081513/56649ec85503460f94bd5d04/html5/thumbnails/69.jpg)
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