Download presentation
Presentation is loading. Please wait.
1
Multicast on the Internet
COSC 6590 11/23/2018
2
Addressing Class D address Ethernet broadcast address (all 1’s)
IP multicast using Link-layer (Ethernet) broadcast Link-layer (Ethernet) multicast Both cases need filtering at IP layer. Source: unicast IP address S Receivers: multicast group ID G Each group is identified by (S, G)
3
IPv4 Address Formats
4
Mapping from Class D IP adress to Ethernet multicast adress
5
Reverse Path Forwarding
rely on router’s knowledge of unicast shortest path from it to sender each router has simple forwarding behavior: if (mcast datagram received on incoming link on shortest path back to center) then flood datagram onto all outgoing links else ignore datagram Notes: 3.3 Network Layer: Multicast Routing Algorithms
6
Reverse Path Forwarding (2)
Building a loop-free broadcast tree No knowledge of group membership
7
Reverse Path Forwarding
B G D E c F
8
Spanning-Tree Broadcast
F (a) Broadcast initiated at A (b) Broadcast initiated at D
9
Internet Multicast Service Model
multicast group 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 Notes: The Internet multicast service model and addressing/group management ideas have their foundation in the PhD thesis of S. Deering: “Multicast Routing in a Datagram Network,” Dept. of Computer Science, Stanford University, 1991. 3.1 Network Layer: Introduction
10
Multicast groups class D Internet addresses reserved for multicast:
host group semantics: anyone can “join” (receive from) multicast group anyone can send to multicast group no network-layer identification to hosts of members needed: infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group Notes: 3.1 Network Layer: Introduction
11
Joining a mcast group: two-step process
local: host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol) wide area: local router interacts with other routers to receive mcast datagram flow many protocols (e.g., DVMRP, MOSPF, PIM) IGMP IGMP wide-area multicast routing Notes: 3.2 Network Layer: Multicast Addressing and Group Management IGMP
12
IGMP: Internet Group Management Protocol
host: sends IGMP report when application joins mcast group IP_ADD_MEMBERSHIP socket option hosts need not explicitly “unjoin” group when leaving router: sends IGMP query at regular intervals hosts belonging to a mcast group must reply to query Notes: 3.2 Network Layer: Multicast Addressing and Group Management query report
13
IGMP router: Host Membership Query msg broadcast on LAN to all hosts
host: Host Membership Report msg to indicate group membership randomized delay before responding implicit leave via no reply to Query group-specific Query Leave Group msg last host replying to Query can send explicit Leave Group msg router performs group-specific query to see if any hosts left in group Introduced in RFC 2236 IGMP v3: current version Notes: RFC-1112: S. Deering, “Host Extension for IP Multicasting,” August 1989 RFC 2236: R. Fenner, “Internet Group Management Protocol, Version 2”, November 1997. B. Cain, S. Deering, A. Thyagarajan, “Internet Group Management Protocol, Version 3,” work in progress, draft-ietf-idmr-igmp-v3-00.txt 3.2 Network Layer: Multicast Addressing and Group Management
14
Internet Group Management Protocol: 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.
15
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!!!
16
Multicast Routing Approaches
Minimum cost trees Minimum Steiner trees Shortest path trees Source-based trees Core-based trees …we first look at basic approaches, then specific protocols adopting these approaches
17
Minimum 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 Notes: 1. See L. Wei and D. Estrin, “A Comparison of multicast trees and algorithms,” TR USC-CD , Dept. Computer Science, University of California, Sept 1993 for a comparison of heuristic approaches. 3.3 Network Layer: Multicast Routing Algorithms
18
Shortest Path Tree mcast forwarding tree: tree of shortest path routes from source to all receivers Dijkstra’s algorithm S: source LEGEND R1 2 R4 router with attached group member 1 R2 5 router with no attached group member 3 4 Notes: 3.3 Network Layer: Multicast Routing Algorithms R5 6 link used for forwarding, i indicates order link added by algorithm R3 i R6 R7
19
Internet Multicasting Routing: DVMRP
DVMRP: distance vector multicast routing protocol, RFC1075 flood and prune: reverse path forwarding, source-based tree initial datagram to mcast group flooded everywhere via RPF routers not wanting the mcast data: send prune msgs to upstream neighbors Notes: D. Waitzman, S. Deering, C. Partridge, “Distance Vector Multicast Routing Protocol,” RFC 1075, Nov The version of DVMRP in use today is considerably enhanced over the RFC1075 spec. A more up-to-date “work-in-progress” defines a version 3 of DVMRP: T. Pusateri, “Distance Vector Multicast Routing Protocol,” work-in-progress, draft-ietf-idmr-v3-05.ps 3.4 Network Layer: Internet Multicast Routing Algorithms
20
DVMRP Example S: source LEGEND R1 2 R4 router with attached 1
group member 1 R2 5 router with no attached group member 3 4 Notes: 3.3 Network Layer: Multicast Routing Algorithms R5 6 link used for forwarding, i indicates order link added by algorithm R3 i R6 R7
21
DVMRP (2) soft state: DVMRP router periodically (1 min.) “forgets” that branches are pruned: mcast data again flows down unpruned branches downstream routers: reprune or else continue to receive data routers can quickly regraft to tree following IGMP join at leaf odds and ends commonly implemented in commercial routers Mbone routing done using DVMRP Works well in small autonomous domains Notes: 1. See for a (slightly outdatet) list of multicast capable routers (supporting DVMPR as well as other protocols) from various vendors. 2. ftp://parcftp.xerox.com/pub/net-research/ipmulti for circa 1996 public copy “mrouted” v3.8 of DVMRP routing software for various workstation routing platforms. 3.4 Network Layer: Internet Multicast Routing Algorithms
22
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 host can re-join a group by sending a graft message. Intermediate routers propagates the graft message upstream until the path is re-connected.
23
MBone Multicast backbone of the Internet
Not all routers support multicast routing protocols and IGMP. Connecting multicast-capable routers using (virtual) IP tunnels
24
MOSPF Extends OSPF for multicasting.
Every router has the complete topology of its autonomous system. A receiver joins a multicast group by exchanging IGMP messages with its end-router. The end-router broadcasts the presence of this destination (group membership) to the whole network. Each router maintains a group membership table [S,G, <d1, d2, …>] 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).
25
Core-Based Trees CBT, PIM-SM, PIM-DM
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.
26
References Multicasting on the Internet and Its Applications, Sanjoy Paul, Kluwer Academic Publishers, 1998.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.