One document matched: draft-ooms-cl-multicast-00.txt
Submitted to RAMA Working Group D. Ooms
INTERNET DRAFT W. Livens
<draft-ooms-cl-multicast-00.txt> Alcatel
June, 1999
Expires December, 1999
Connectionless Multicast
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This draft proposes a new mechanism for multipoint-to-multipoint
(mp2mp) communication in IP networks, namely Connectionless Multicast
(CLM). Instead of a group address, a list of member addresses is
encoded in the data packets.
The current Host Group Model [DEER] for IP multicast requires a
globally unique address for each session. To support this model,
multicast routing protocols create state per group in the routers.
Like any connection oriented protocol, it suffers from scalability
problems in backbone networks where the number of groups to be
maintained can be huge. CLM does not have this problem, and
additionally has some other advantages. Its limitation lies in the
number of members per multicast session.
Ooms, et al. Expires December 1999 [Page 1]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
The pros and cons of CLM are described and some suggestions are made
to alleviate the disadvantages. Furthermore different modes of
operation are described: an end-to-end mode as well as an
interworking mode with PIM-SM and Simple Multicast. Both IPv4 and
IPv6 are considered.
Table of Contents
1. Introduction
2. Description
3. Working modes
3.1. Simple Multicast
3.2. PIM-SM
3.3. End-to-end
4. IP Protocol extensions
4.1. IPv4
4.2. IPv6
5. Caching
6. Compression
7. Security Considerations
8. Acknowledgements
Table of Abbreviations
CLM ConnectionLess Multicast
IRC Internet Relay Chat
mp2mp multipoint-to-multipoint
PIM-SM Protocol Independent Multicast Sparse Mode
RUN Receiver Update Notification
SM Simple Multicast
1. Introduction
The current IP multicast model is based on the Host Group Model
[DEER]. In this model a group of hosts is identified by a multicast
address. This address is used both for subscription and forwarding
purposes.
Current multicast routing protocols which use this model suffer two
major problems:
- Multicast Address Allocation. The creator of a multicast group
must allocate a global unique multicast address. This issue is
Ooms, et al. Expires December 1999 [Page 2]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
addressed in the malloc working group: a set of Multicast Address
Allocation Servers (MAAS) and three protocols (MASC, AAP, MADCAP) are
proposed.
- Scalability. Within the framework of the Host Group Model several
multicast routing protocols are proposed. These multicast routing
protocols have messages which create state for each multicast group
in all the on-tree routers (or non-on-tree routers in case of dense
mode). This can be viewed as signaling that creates multicast
connection state ,yielding huge multicast forwarding tables in the
backbone. Moreover for the sparse mode protocols (CBT, PIM-SM) the
global core advertisement poses additional scalability issues, while
the dense mode protocols (PIM-DM, DVMRP) suffer from the flood&prune
nature.
Recently, changes to the Host Group Model were proposed to address
these drawbacks.
Simple Multicast [PERL] uses the couple of core and multicast
addresses as the group identifier. In this way core advertisement
and multicast address allocation can be avoided. Furthermore, state
can be avoided in parts of the network by creating tunnels. Note
however that these tunnels are point-to-point and if e.g. a link has
n tunnels for a certain group it will still carry n times the same
data.
In Express [HOLB], a multicast channel is identified by source and
multicast addresses. Thus address allocation is not required and
since there is no core, there is no core advertisement either.
Creating a multicast session with multiple changing sources is
implemented by using a session manager and a set of multicast
channels. Note that each on-tree node still keeps state for each
source of the multicast session.
2. Description
In the Host Group Model the packet carries a multicast address as a
logical identifier of all group members. In Connectionless Multicast
(CLM) the packet carries all the IP addresses of the multicast
session members (in the context of CLM the term 'multicast session'
will be used instead of 'multicast group' to avoid the strong
association of multicast group with multicast address in traditional
IP multicast).
In each router the next hop for each destination is determined and
for every distinct next hop a new header is constructed. This header
only contains the destinations for which that next hop is on the
Ooms, et al. Expires December 1999 [Page 3]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
shortest path to these destinations. When there is only one
destination left in the CLM packet, this destination will be put in
the normal destination address field and the packet can be forwarded
as a unicast packet along the remainder of the route.
Although not restricted to this type of multicast session, the most
beneficial application of CLM is for sessions with a limited number
of members (super-sparse). For sessions with a large number of
members, CLM can be used as an interdomain multicast routing
mechanism between domains which run either PIM-SM or Simple
Multicast.
In practice, traditional multicast routing protocols impose
limitations on the number of groups and the size of the network in
which they are deployed. For CLM these limitations do not exist.
CLM has the following advantages:
1) No multicast address allocation required.
2) Routers do not have to maintain state per session (or per source-
session).
3) No symmetrical paths required. Current multicast routing
protocols assume (for optimal functioning) symmetrical paths, i.e.
the shortest path from A to B is the same as the shortest path from B
to A. This is a false assumption in the current Internet and it is
expected that this statement will become even more false when traffic
engineering and more policy routing is introduced in the Internet.
4) Fast reaction to unicast reroutes. CLM will react immediately to
unicast route changes. This is not the case for e.g. PIM-SM: if a
link fails, the multicast routes will only be updated when a new
periodic Join message is sent upstream, which can take several
minutes.
5) Easy security and accounting. In contrast with the Host Group
Model, in CLM all the sources know the members of the multicast
session, which gives the sources the means to e.g. reject certain
members or count the traffic going to certain members quite easily.
Not only a source, but also a border router is able to determine how
many times a packet will be duplicated in its domain. It becomes
also more easy to restrict the number of senders or the bandwidth per
sender.
6) Heterogeneous receivers. Besides the list of destinations, the
packet can also contain a list of DiffServ bytes. While traditional
multicast protocols have to create separate groups for each service
Ooms, et al. Expires December 1999 [Page 4]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
class, CLM incorporates the possibility of having receivers with
different service requirements within one multicast session.
7) Policy routing via BGP. No need for a specific multicast policy
routing protocol (extension).
Beside these advantages CLM has a number of disadvantages:
1) Overhead. Each packet contains all remaining destinations, but
the total amount of data is still much less than for the unicast. A
method to compress the list of destination addresses might be useful.
2) More complex header processing. Each destination in the packet
needs a routing table lookup. So a CLM packet with n destinations
requires the same number of routing table lookups as n unicast
headers. Additionally, a different header has to be constructed per
next hop. Remark however that:
a) Since CLM will typically be used for super-sparse sessions, there
will be a limited number of branching points, compared to non-
branching points. By using a simple caching mechanism (see section
5) in these non-branching points, the classical forwarding method can
be used and therefore the same performance achieved.
b) Among the non-branching points, a lot of them will contain only
one destination. In these cases normal unicast forwarding can be
applied.
c) The forwarding in the branching points can also be enhanced by a
caching mechanism (section 5).
d) By using compression on the list of destinations in combination
with the aggregation in the forwarding tables the forwarding can be
accelerated.
3) Multi-access networks. A multi-access network will carry
duplicate packets, one for each next hop. Note however that the main
application area for CLM is interdomain multicast. In this area
point-to-point links outnumber the multi-access links.
3. Working modes
As mentioned before CLM can be used for interdomain multicast routing
or it can be used end-to-end for super-sparse sessions. For
interdomain multicast routing, CLM interoperates nicely with Simple
Multicast and PIM-SM.
Ooms, et al. Expires December 1999 [Page 5]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
3.1. Simple Multicast
Simple Multicast provides a tunnel mechanism. This tunnel is used
either to cross non Simple Multicast domains or to limit the
multicast forwarding state in parts of the network. When the tunnel
is used for the latter purpose, the bandwidth saving of multicast is
lost, i.e. parallel tunnels for the same group can exist on a
specific link (Figure 1). Assume ERi are Simple Multicast Exit
Routers and BRi are Backbone Routers in which one wants to avoid
multicast forwarding state. S is a sender to the group and Ri are
receivers. For this topology Simple Multicast will construct a first
tunnel from ER1 to ER2 and a second tunnel from ER1 to ER3, yielding
duplicate traffic on the link ER1-BR1.
+--------BR2--------ER2------R1
|
|
S------ER1------BR1-------BR3--------ER3------R2
Figure 1
If the BRi are CLM routers the duplicate traffic can be avoided
without building multicast state in the BRi. Since ER1 knows the
endpoints of both tunnels it can send the multicast packet in CLM
mode by putting ER2 and ER3 as destinations in the packet.
3.2. PIM-SM
With MSDP [FARI] the Rendezvous Points (RPs) of PIM-SM discover which
RPs have sources for a certain group in their domain. Based on the
same principles a Multicast Receiver Distribution Protocol (MRDP) can
be created. MRDP allows RPs to discover which RPs have receivers for
a certain group in their domain. If MRDP is running and an RP has a
source for a group, it can send the data in a CLM mode to the RPs
which have receivers for this group.
3.3 End-to-end
If CLM is used end-to-end, it is especially useful for super-sparse
sessions, e.g. video conferences.
In the current Internet two approaches to establish multipoint-to-
multipoint communication can be identified:
- IRC-like approach [OIKA]. In this approach a set of servers keeps
Ooms, et al. Expires December 1999 [Page 6]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
track of the created channels and the members of these channels. The
servers are also responsible for forwarding the channel data towards
the members. The servers rely on a unicast routing protocol.
- IP Multicast. In this approach the creation of the group, mainly
the multicast address allocation, is the responsibility of a set of
servers, while both the member state and the data forwarding is
distributed over the network by running a multicast routing protocol.
The end-to-end CLM mode combines aspects of both. The creation of
the session and the member state will be handled by servers, while
the data forwarding is distributed. The routing is relying
completely on the unicast routing protocol.
A set of servers will have a list of all created sessions with its
senders and receivers. Senders and receivers have to announce
themselves periodically to the server. If the periodic announcement
stops this is interpreted as a sender or receiver leaving the
multicast session. The server will send receiver-update messages to
the senders when the list of receivers changes. If the receiver-
update message is on top of a non-reliable transport protocol,
periodic receiver-update messages can be added.
1) New receiver. If a receiver wants to join the multicast session
it sends a first announcement to the server. Then the server will
send receiver-update messages to all senders (or in CLM mode: one
receiver-update message to the list of senders). It is easy to build
in some policy rules here: the receiver is only added when it
fulfills certain conditions.
2) New sender. A new sender announces itself to the server, which in
return sends a receiver-update message with the list of current
receivers to the new sender. The sender then starts sending its data
to the list of these receivers. Once again it is easy in this phase
to check who is sending and to allow only certain senders to receive
the list of receivers.
3) Leaving receiver. A receiver that wants to leave a multicast
session just stops sending announcements or sends an explicit
unannounce message.
4) Leaving sender. A sender that decides to stop sending to the
multicast session removes itself from the server by halting its
announcement messages or by sending an explicit unannounce message.
4. IP Protocol extensions
Ooms, et al. Expires December 1999 [Page 7]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
4.1. IPv4
In IPv4 two approaches can be followed to include the list of
destination addresses. Either one adds a new IPv4 option or one adds
an extra header between the network and the transport layer.
Since the IPv4 option field is limited to 40 bytes (of which 4 bytes
are used for the option type field) only 9 (or 10 if the destination
field of the IP header is also used) destination addresses can be
included. If the number of receivers is larger than 9 (or 10)
multiple packets can be sent. Although for a different purpose,
[AGUI] and [GRAF] already proposed an IPv4 option to carry multiple
destinations. We propose the new IP option depicted in Figure 2.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 0 0| TYPE | LENGTH |D| COMPR | UNUSED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Compressed) List of DS Bytes and Addresses |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2
TYPE = number for this IPv4 option
LENGTH = total length of the option in bytes
D = if this bit is set the packet will contain a (compressed) DS-byte
for each destination.
COMPR = compression method used on the list of DS bytes and
destination addresses. Following compression methods are defined:
0 = no compression
Figure 3. shows the 'List of DS Bytes and Addresses' in case the D-
bit is set and COMPR = 0.
Ooms, et al. Expires December 1999 [Page 8]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DS byte 1 | destination address 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|dst add 1 (cnt)| DS byte 2 | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| destination address N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3
Instead of using the IP option field one could add an extra header
between the network and the transport layer. This header is depicted
in Figure 4. The IP header will carry the protocol number PROTO_CLM.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|VERSION|UNUSED | PROT ID | LENGTH |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CHECKSUM |D| COMPR | UNUSED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Compressed) List of DS Bytes and Addresses |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4
VERSION = CLM version number
PROT ID = specifies the protocol on the transport layer
LENGTH = length in bytes of the CLM header.
CHECKSUM = it is not clear yet whether a checksum is needed (ffs).
If only one bit is wrong it can still be useful to forward the packet
to N-1 correct destinations and 1 incorrect destination. On the
other hand when the header info is used to install a cache (see
section 5) one can not allow that packets are permanently forwarded
wrongly. One approach could be to provide a checksum per
destination.
D = if this bit is set the packet will contain a (compressed) DS-byte
for each destination.
COMPR = compression method used on the list of DS bytes and
Ooms, et al. Expires December 1999 [Page 9]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
destination addresses. Following compression methods are defined:
0 = no compression
4.2. IPv6
Since IPv6 allows more flexibility in adding options (no limitation
on the size), there is no limitation in terms of encoding on the
number of destinations that can be put in a packet. However, since a
packet can only be sent after all the destinations have been
processed, packets with a lot of addresses will experience a lot of
delay.
For IPv6 the overhead will be larger since the addresses are longer.
Note however that IPv6 probably allows stronger compression because
of the geographical/provider distribution of addresses. Moreover if
CLM is used as an interdomain multicast mechanism only the locator
part of the address needs to be considered.
5. Caching
The increased forwarding complexity is the main problem of CLM:
packet headers have to be constructed at wirespeed. It was already
mentioned that in major parts of the tree the normal unicast
forwarding can be applied (from the moment there is only one
destination address left in the packet).
A method for further enhancing the forwarding is building a cache for
the highest bandwidth sources. For this purpose the source will put
a number (from the multicast address range) in the destination
address: the Receiver Update Notification (RUN). Each time the set
of destinations changes the source will indicate this to the
downstream routers by changing the RUN. The cache will contain
entries for (S, RUN). If the router receives a high bandwidth flow
with a new (S, RUN) it will create a new cache entry. Unused cache
entries will time out.
There are two ways of keeping a cache:
1) Each (S, RUN) entry has a list of next hops with the associated
outgoing IP option or CLM header (or list of destinations).
2) Only (S, RUN) which have one next-hop (still multiple
destinations) are cached. These packets do not have to change their
IP option or CLM header, so the latter information should not be kept
in the cache.
Both ways of applying a cache can be used in parallel.
Ooms, et al. Expires December 1999 [Page 10]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
6. Compression
Compression methods allow to reduce the packet overhead. If a common
prefix compression method is applied this can beneficial for the
forwarding as well.
Compression methods are ffs.
7. Security Considerations
Since a packet contains every destination, it is much more easy to
restrict multicast sessions to certain receivers. It also allows
ISPs to check, when a packet enters their network, how much resources
this packet packet will consume in their network.
In the end-to-end mode it is also easy to restrict the number of
senders or to restrict/monitor the bandwidth of a sender.
8. Acknowledgements
The authors would like to thank Emmanuel Desmet, Hans De Neve and
Miroslav Vrana for the fruitful discussions and/or their thorough
revision of this document.
References
[AGUI] L. Aguilar, "Datagram Routing for Internet Multicasting",
Sigcomm84, March 1984.
[DEER] S. Deering, "Multicast Routing in a datagram internetwork", PhD
thesis, December 1991.
[FARI] D. Farinacci, "Multicast Source Discovery Protocol", draft-
farinacci-msdp-00.txt, June 1998.
[GRAF] C. Graff, "IPv4 Option for Sender Directed Multi-Destination
Delivery", RFC1770, March 1995.
[HOLB] H. Holbrook, "Express Multicast: Making Multicast Economically
Viable".
[OIKA] J. Oikarinen, D. Reed, "Internet Relay Chat Protocol", RFC1459,
May 1993.
Ooms, et al. Expires December 1999 [Page 11]
Internet Draft draft-ooms-cl-multicast-00.txt June 1999
[PERL] R. Perlman, "Simple Multicast: A design for Simple, Low-overhead
Multicast", draft-perlman-simple-multicast-02.txt, February
1999.
Authors Addresses
Dirk Ooms
Alcatel Corporate Research Center
Fr. Wellesplein 1, 2018 Antwerpen, Belgium.
Phone : 32-3-240-4732
Fax : 32-3-240-9932
E-mail: Dirk.Ooms@alcatel.be
Wim Livens
Alcatel Corporate Research Center
Fr. Wellesplein 1, 2018 Antwerpen, Belgium.
Phone : 32-3-240-7570
E-mail: Wim.Livens@alcatel.be
Ooms, et al. Expires December 1999 [Page 12]
| PAFTECH AB 2003-2026 | 2026-04-24 07:52:17 |