Internet Draft
Inter-Domain Multicast Routing (IDMR) A. Ballardie
INTERNET-DRAFT Consultant
May 1997
Core Based Trees (CBT) Multicast Routing Architecture
<draft-ietf-idmr-cbt-arch-06.txt>
Status of this Memo
This document is an Internet Draft. Internet Drafts are working doc-
uments of the Internet Engineering Task Force (IETF), its Areas, and
its Working Groups. Note that other groups may also distribute work-
ing documents as Internet Drafts).
Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
Drafts as reference material or to cite them other than as a "working
draft" or "work in progress."
Please check the I-D abstract listing contained in each Internet
Draft directory to learn the current status of this or any other In-
ternet Draft.
Abstract
CBT is a multicast routing architecture that builds a single delivery
tree per group which is shared by all of the group's senders and re-
ceivers. Most multicast algorithms build one multicast tree per
sender (subnetwork), the tree being rooted at the sender's subnet-
work. The primary advantage of the shared tree approach is that it
typically offers more favourable scaling characteristics than all
other multicast algorithms.
The CBT protocol [1] is a network layer multicast routing protocol
that builds and maintains a shared delivery tree for a multicast
group. The sending and receiving of multicast data by hosts on a
subnetwork conforms to the traditional IP multicast service model
[2].
CBT is progressing through the IDMR working group of the IETF. The
CBT protocol is described in an accompanying document [1]. For this,
Expires November 1997 [Page 1]
INTERNET-DRAFT CBT Multicast Architecture May 1997
and all IDMR-related documents, see http://www.cs.ucl.ac.uk/ietf/idmr
TABLE OF CONTENTS
1. Background................................................... 3
2. Introduction................................................. 3
3. Source Based Tree Algorithms................................. 4
3.1 Distance-Vector Multicast Algorithm...................... 5
3.2 Link State Multicast Algorithm........................... 6
3.3 The Motivation for Shared Trees.......................... 6
4. CBT - The New Architecture................................... 8
4.1 Design Requirements...................................... 8
4.2 Components & Functions................................... 9
4.2.1 CBT Control Message Retransmission Strategy........ 12
4.2.2 Non-Member Sending................................. 12
5. Interoperability with Other Multicast Routing Protocols ..... 13
6. Core Router Discovery........................................ 13
6.1 Bootstrap Mechanism Overview............................. 13
7. Summary ..................................................... 15
Acknowledgements ............................................... 15
References ..................................................... 15
Author Information.............................................. 17
Expires November 1997 [Page 2]
INTERNET-DRAFT CBT Multicast Architecture May 1997
1. Background
Shared trees were first described by Wall in his investigation into
low-delay approaches to broadcast and selective broadcast [3]. Wall
concluded that delay will not be minimal, as with shortest-path
trees, but the delay can be kept within bounds that may be accept-
able. Back then, the benefits and uses of multicast were not fully
understood, and it wasn't until much later that the IP multicast
address space was defined (class D space [4]). Deering's work [2] in
the late 1980's was pioneering in that he defined the IP multicast
service model, and invented algorithms which allow hosts to arbitrar-
ily join and leave a multicast group. All of Deering's multicast
algorithms build source-rooted delivery trees, with one delivery tree
per sender subnetwork. These algorithms are documented in [2].
After several years practical experience with multicast, we see a
diversity of multicast applications and correspondingly, a wide vari-
ety of multicast application requirements. For example, distributed
interactive simulation (DIS) applications have strict requirements in
terms of join latency, group membership dynamics, group sender popu-
lations, far exceeding the requirements of many other multicast
applications.
The multicast-capable part of the Internet, the MBONE, continues to
expand rapidly. The obvious popularity and growth of multicast means
that the scaling aspects of wide-area multicasting cannot be over-
looked; some predictions talk of thousands of groups being present at
any one time in the Internet.
We evaluate scalability in terms of network state maintenance, band-
width efficiency, and protocol overhead. Other factors that can
affect these parameters include sender set size, and wide-area dis-
tribution of group members.
2. Introduction
Multicasting on the local subnetwork does not require either the
presence of a multicast router or the implementation of a multicast
routing algorithm; on most shared media (e.g. Ethernet), a host,
which need not necessarily be a group member, simply sends a multi-
cast data packet, which is received by any member hosts connected to
the same medium.
Expires November 1997 [Page 3]
INTERNET-DRAFT CBT Multicast Architecture May 1997
For multicasts to extend beyond the scope of the local subnetwork,
the subnet must have a multicast-capable router attached, which
itself is attached (possibly "virtually") to another multicast-capa-
ble router, and so on. The collection of these (virtually) connected
multicast routers forms the Internet's MBONE.
All multicast routing protocols make use of IGMP [5], a protocol that
operates between hosts and multicast router(s) belonging to the same
subnetwork. IGMP enables the subnet's multicast router(s) to monitor
group membership presence on its directly attached links, so that if
multicast data arrives, it knows over which of its links to send a
copy of the packet.
In our description of the MBONE so far, we have assumed that all mul-
ticast routers on the MBONE are running the same multicast routing
protocol. In reality, this is not the case; the MBONE is a collection
of autonomously administered multicast regions, each region defined
by one or more multicast-capable border routers. Each region indepen-
dently chooses to run whichever multicast routing protocol best suits
its needs, and the regions interconnect via the "backbone region",
which currently runs the Distance Vector Multicast Routing Protocol
(DVMRP) [6]. Therefore, it follows that a region's border router(s)
must interoperate with DVMRP.
Different algorithms use different techniques for establishing a dis-
tribution tree. If we classify these algorithms into source-based
tree algorithms and shared tree algorithms, we'll see that the dif-
ferent classes have considerably different scaling characteristics,
and the characteristics of the resulting trees differ too, for exam-
ple, average delay. Let's look at source-based tree algorithms first.
3. Source-Based Tree Algorithms
The strategy we'll use for motivating (CBT) shared tree multicast is
based, in part, in explaining the characteristics of source-based
tree multicast, in particular its scalability.
Most source-based tree multicast algorithms are often referred to as
"dense-mode" algorithms; they assume that the receiver population
densely populates the domain of operation, and therefore the accompa-
nying overhead (in terms of state, bandwidth usage, and/or processing
costs) is justified. Whilst this might be the case in a local envi-
ronment, wide-area group membership tends to be sparsely distributed
Expires November 1997 [Page 4]
INTERNET-DRAFT CBT Multicast Architecture May 1997
throughout the Internet. There may be "pockets" of denseness, but if
one views the global picture, wide-area groups tend to be sparsely
distributed.
Source-based multicast trees are either built by a distance-vector
style algorithm, which may be implemented separately from the unicast
routing algorithm (as is the case with DVMRP), or the multicast tree
may be built using the information present in the underlying unicast
routing table (as is the case with PIM-DM [7]). The other algorithm
used for building source-based trees is the link-state algorithm (a
protocol instance being M-OSPF [8]).
3.1. Distance-Vector Multicast Algorithm
The distance-vector multicast algorithm builds a multicast delivery
tree using a variant of the Reverse-Path Forwarding technique [9].
The technique basically is as follows: when a multicast router
receives a multicast data packet, if the packet arrives on the inter-
face used to reach the source of the packet, the packet is forwarded
over all outgoing interfaces, except leaf subnets with no members
attached. A "leaf" subnet is one which no router would use to reach
the souce of a multicast packet. If the data packet does not arrive
over the link that would be used to reach the source, the packet is
discarded.
This constitutes a "broadcast & prune" approach to multicast tree
construction; when a data packet reaches a leaf router, if that
router has no membership registered on any of its directly attached
subnetworks, the router sends a prune message one hop back towards
the source. The receiving router then checks its leaf subnets for
group membership, and checks whether it has received a prune from all
of its downstream routers (downstream with respect to the source).
If so, the router itself can send a prune upstream over the interface
leading to the source.
The sender and receiver of a prune message must cache the