multicast on the internet
DESCRIPTION
Multicast on the Internet. CSE 6590. Multicast Addressing. Class D address (see next slide) Source: unicast IP address S Receivers: multicast group ID G, a class-D address Each group is identified by ( S , G ) Ethernet broadcast address (all 1 ’ s) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/1.jpg)
Multicast on the Internet
CSE 6590
1April 22, 2023
![Page 2: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/2.jpg)
Multicast Addressing• Class D address (see next slide)• Source: unicast IP address S
Receivers: multicast group ID G, a class-D address• Each group is identified by (S, G)• Ethernet broadcast address (all 1’s)• 2 ways of doing IP multicast at the link layer:
– Link-layer (Ethernet) broadcast– Link-layer (Ethernet) multicastBoth cases need filtering at IP layer.
2
![Page 3: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/3.jpg)
IPv4 Address Formats
3
![Page 4: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/4.jpg)
Multicast Addressing at Link Layer1. Link-layer (Ethernet) broadcast•IP multicast packet is encapsulated in an Ethernet broadcast frame and transmitted on the bus.•Every host picks up the Ethernet frame and does filtering at the IP layer to decide whether to keep or discard the frame.2. Link-layer (Ethernet) multicast•Requires a mapping of IP multicast address to an Ethernet multicast address (see next slide).•There are up to 32 IP class-D addresses mapped to the same Ethernet multicast address.•The IP module still has to filter out packets for non-member hosts.
4
![Page 5: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/5.jpg)
Mapping from Class D IP adress to Ethernet multicast adress
5
![Page 6: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/6.jpg)
Internet Multicast Service Model
Multicast group concept: use of indirection• a host “sends” IP datagrams to multicast group.• routers forward multicast datagrams to hosts that have “joined”
that multicast group.
6
128.119.40.186
128.59.16.12
128.34.108.63
128.34.108.60
multicast group
226.17.30.197
![Page 7: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/7.jpg)
Multicast groups Class D Internet addresses reserved for multicast:
Host group semantics:o anyone can “join” (receive from) multicast group.o anyone can send to multicast group.o no network-layer identification to hosts of members.
Needed: infrastructure to deliver multicast-addressed datagrams to all hosts that have joined that multicast group.
7
![Page 8: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/8.jpg)
Multicast Protocols
Transport layer• UDP• Real-time Transport Protocol (RTP): for multimedia
content• ReSerVation Protocol (RSVP): for bandwidth
reservation in a multicast distribution
8
![Page 9: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/9.jpg)
Multicast Protocols (2)
Routing, delivery• On a local network (join/leave):
– Internet Group Management Protocol (IGMP)– Multicast Listener Discovery (MLD): similar to IGMP but for
IPv6
• Intra-domain (routing): – MOSPF, PIM, DVMRP
• Inter-domain (routing): – Multicast Border Gateway Protocol (MBGP)
9
![Page 10: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/10.jpg)
Joining a multicast group: 2-step process
• Local: host informs local multicast router of desire to join group: IGMP (Internet Group Management Protocol)
• Wide area: local router interacts with other routers to receive multicast datagram flow– many protocols (e.g., DVMRP, MOSPF, PIM)
10
IGMPIGMP
IGMP
wide-areamulticast
routing
![Page 11: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/11.jpg)
IGMP: Internet Group Management Protocol
• Router: sends IGMP query at regular intervals– hosts belonging to a multicast group must reply to query if
wishing to join or stay in the group.• Host: sends IGMP report (reply) when application wishes to
join a multicast group.– IP_ADD_MEMBERSHIP socket option– hosts need not explicitly “unjoin” group when leaving
11
query report
![Page 12: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/12.jpg)
IGMP• Router: broadcasts Host
Membership Query message on LAN.
• Host: replies with Host Membership Report message to indicate group membership– randomized delay before
responding– cancel its own report if
hearing another– implicit leave via no reply
to Query
• Group-specific Query• Leave Group message
– Last host replying to Query can send explicit Leave Group message
– Router performs group-specific query to see if any hosts left in group
– Introduced in RFC 2236
• IGMP v3: current version
12
![Page 13: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/13.jpg)
IGMP: Summary
• For membership management.• Between a host on a subnet (Ethernet) and the router for the
subnet.• The router periodically broadcast an IGMP host-membership
query message on its subnet.• A host subscribes to a group replies by multicasting a host-
membership report message.– Note: feedback implosion uses a random timer.
• The report is sent 3 times (for reliability).• IGMP-1: hosts send no report leaving the group
IGMP-2: hosts send explicit host-membership leave messages to reduce leave latency.
13
![Page 14: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/14.jpg)
Reverse Path Forwarding
• Building a loop-free broadcast tree• No knowledge of group membership
14
![Page 15: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/15.jpg)
Reverse Path Forwarding (2)
if (multicast datagram received on incoming link on shortest path back to sender)
then flood datagram onto all outgoing links else ignore datagram
rely on router’s knowledge of unicast shortest path from it to sender
each router has simple forwarding behavior:
15
![Page 16: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/16.jpg)
Reverse Path Forwarding: Example
16
A
B
G
DE
c
F
![Page 17: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/17.jpg)
Spanning-Tree Broadcast
17
A
B
G
DE
c
F
A
B
G
DE
c
F
(a) Broadcast initiated at A (b) Broadcast initiated at D
![Page 18: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/18.jpg)
Truncated Broadcasting• Extension of Reverse Path Forwarding.• No members of a group on a subnet leaf router will not
forward packets of this group to the subnet (pruning).• But does not reduce traffic in the core network.• More efficient multicast routing is needed!!!
18
![Page 19: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/19.jpg)
Internet Multicasting Routing: DVMRP
• DVMRP: distance vector multicast routing protocol, RFC1075.
• Flood and prune: reverse path forwarding, source-based tree.– initial datagram to multicast group is flooded
everywhere via RPF– routers not wanting the multicast data: send
prune messages to upstream neighbors
19
![Page 20: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/20.jpg)
DVMRP Example
R1
R2
R3
R4
R5
R6 R7
21
6
3 45
i
router with attachedgroup member
router with no attachedgroup memberlink used for forwarding,i indicates order linkadded by algorithm
LEGENDS: source
20
![Page 21: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/21.jpg)
DVMRP Details• Soft state: DVMRP router periodically (1 min.) “forgets” that
branches are pruned: – multicast data again flows down unpruned branches.– downstream routers: reprune or else continue to receive
data.• Routers can quickly re-graft to tree following an IGMP join at
a leaf router by sending a “graft” message upstream.• Deployment:
– commonly implemented in commercial routers.– Mbone routing done using DVMRP.
• Works well in small autonomous domains.
21
![Page 22: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/22.jpg)
DVMRP: Summary• Distance Vector Multicast Routing Protocol• Leaf router sends a prune message to neighbouring routers
when there is no group member on the subnet.• Intermediate routers perform pruning whenever possible.• Flooding and pruning are repeated periodically, when the
current state times out.• Between flooding rounds, a leaf router can re-join a group by
sending a graft message upstream.• Intermediate routers propagates the graft message upstream
until the path is re-connected.
22
![Page 23: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/23.jpg)
Multicast Routing Approaches
• Minimum cost trees– Steiner trees
• Shortest path trees– Source-based trees– Core-based trees
…we first look at basic approaches, then specific protocols adopting these approaches
23
![Page 24: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/24.jpg)
Steiner Trees
• Steiner Tree: minimum cost tree connecting all routers with attached group members.
• Problem is NP-complete.• Excellent heuristics exist.• Not used in practice:
– computational complexity.– information about entire network needed.– monolithic: rerun whenever a router needs to join/leave.
24
![Page 25: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/25.jpg)
Shortest Path Tree• Multicast cast forwarding tree: tree of shortest path routes
from source to all receivers.– Dijkstra’s algorithm.
R1
R2
R3
R4
R5
R6 R7
21
6
3 45
i
router with attachedgroup member
router with no attachedgroup memberlink used for forwarding,i indicates order linkadded by algorithm
LEGENDS: source
25
![Page 26: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/26.jpg)
MOSPF• Extends OSPF for multicasting.• Every router has the complete topology of its autonomous
system.• A receiver joins a multicast group G by exchanging IGMP
messages with its end-router R.• The end-router R broadcasts its group membership to the
whole network in the form (G, R).• Every router in the network maintains a group membership
table with each entry being a tuple [S, G, <R1, R2, …>].• A sender simply sends data packets as they are available.• Each router uses the network topology, the group
membership table, and the multicast group ID in the data packets to compute the route(s) to the destination(s).
26
![Page 27: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/27.jpg)
Core-Based Trees• For many-to-many multicast.• Protocols: CBT, PIM-SM, PIM-DM (Protocol Independent
Multicast, sparse/dense mode)• Purpose: to reduce the amount of routing info stored at
routers when a multicast group has a large number of members and multiple senders.
• A multicast group requires a core (rendez-vous point).• Receivers “join” the (shortest-path) tree rooted at the core
only one tree per multicast group (used for multiple senders).• Sources send multicast data to the core, which then
multicasts the data to the tree.
27
![Page 28: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/28.jpg)
MBone• Multicast backbone of the Internet.• Not all routers support multicast routing protocols and IGMP.• Connecting multicast-capable routers using (virtual) IP
tunnels.• Was a long-running experimental approach to enabling
multicast between sites through the use of tunnels.• No longer operational.
28
![Page 29: Multicast on the Internet](https://reader036.vdocument.in/reader036/viewer/2022062501/56815d34550346895dcb3354/html5/thumbnails/29.jpg)
References• Multicasting on the Internet and Its Applications, Sanjoy Paul,
Kluwer Academic Publishers, 1998, chapters 2, 4, 5.• Computer Networking: A Top-Down Approach, 5th edition,
Kurose and Ross.
29