< draft-ietf-malloc-arch-03.txt   draft-ietf-malloc-arch-04.txt >
MALLOC Working Group D. Thaler MALLOC Working Group D. Thaler
INTERNET-DRAFT Microsoft INTERNET-DRAFT Microsoft
October 20, 1999 M. Handley January 13, 2000 M. Handley
Expires April 2000 ACIRI Expires July 2000 ACIRI
Category: Informational D. Estrin Category: Informational D. Estrin
ISI ISI
The Internet Multicast Address Allocation Architecture The Internet Multicast Address Allocation Architecture
<draft-ietf-malloc-arch-03.txt> <draft-ietf-malloc-arch-04.txt>
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
progress." progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
1. Abstract 1. Abstract
This document proposes a multicast address allocation architecture This document proposes a multicast address allocation architecture
for the Internet. The architecture is modular with three layers, for the Internet. The architecture is modular with three layers,
comprising a host-server mechanism, an intra-domain server-server comprising a host-server mechanism, an intra-domain server-server
coordination mechanism, and an inter-domain mechanism. coordination mechanism, and an inter-domain mechanism.
2. Introduction 2. Introduction
skipping to change at page 3, line 5 skipping to change at page 3, line 5
3. Requirements 3. Requirements
>From a design point of view, the important properties of multicast >From a design point of view, the important properties of multicast
allocation mechanisms are robustness, timeliness, low probability allocation mechanisms are robustness, timeliness, low probability
of clashing allocations, and good address space utilization in of clashing allocations, and good address space utilization in
situations where space is scare. Where this interacts with situations where space is scare. Where this interacts with
multicast routing, it is desirable for multicast addresses to be multicast routing, it is desirable for multicast addresses to be
allocated in a manner that aids aggregation of routing state. allocated in a manner that aids aggregation of routing state.
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
o Robustness/Availability o Robustness/Availability
The robustness requirement is that an application requiring the The robustness requirement is that an application requiring the
allocation of an address should always be able to obtain one, allocation of an address should always be able to obtain one,
even in the presence of other network failures. even in the presence of other network failures.
o Timeliness o Timeliness
From a timeliness point of view, a short delay of up to a few From a timeliness point of view, a short delay of up to a few
seconds is probably acceptable before the client is given an seconds is probably acceptable before the client is given an
address with reasonable confidence in its uniqueness. If the address with reasonable confidence in its uniqueness. If the
skipping to change at page 4, line 5 skipping to change at page 4, line 5
Since guaranteeing no clashes in a robust manner requires Since guaranteeing no clashes in a robust manner requires
partitioning the address space, providing a hard guarantee partitioning the address space, providing a hard guarantee
leads to inefficient address space usage. Hence, when address leads to inefficient address space usage. Hence, when address
space is scarce, it is difficult to achieve constant space is scarce, it is difficult to achieve constant
availability and timeliness, guarantee no clashes, and achieve availability and timeliness, guarantee no clashes, and achieve
good address space usage. As a result, we must prioritize good address space usage. As a result, we must prioritize
these properties. We believe that, when address space is these properties. We believe that, when address space is
scarce, achieving good address space packing and constant scarce, achieving good address space packing and constant
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
availability are more important than guaranteeing that address availability are more important than guaranteeing that address
clashes never occur. What we aim for in these situations is a clashes never occur. What we aim for in these situations is a
very high probability that an address clash does not occur, but very high probability that an address clash does not occur, but
we accept that there is a finite probability of this happening. we accept that there is a finite probability of this happening.
Should a clash occur (or should an application start using an Should a clash occur (or should an application start using an
address it did not allocate, which may also lead to a clash), address it did not allocate, which may also lead to a clash),
either the clash can be detected and addresses changed, or either the clash can be detected and addresses changed, or
hosts receiving additional traffic can prune that traffic using hosts receiving additional traffic can prune that traffic using
source-specific prunes available in IGMP version 3, and so we source-specific prunes available in IGMP version 3, and so we
skipping to change at page 4, line 39 skipping to change at page 4, line 39
guarantee no collisions among hosts that use this architecture. guarantee no collisions among hosts that use this architecture.
3.1. Address Dynamics 3.1. Address Dynamics
Multicast addresses may be allocated in any of three ways: Multicast addresses may be allocated in any of three ways:
Static: Static:
Statically allocated addresses are allocated by IANA for Statically allocated addresses are allocated by IANA for
specific protocols that require well-known addresses to work. specific protocols that require well-known addresses to work.
Examples of static addresses are 224.0.1.1 which is used for Examples of static addresses are 224.0.1.1 which is used for
the Network Time Protocol and 224.2.127.255 which is used for the Network Time Protocol [13] and 224.2.127.255 which is
global scope multicast session announcements. Applications used for global scope multicast session announcements.
that use multicast for bootstrap purposes should not normally Applications that use multicast for bootstrap purposes should
be given their own static multicast address, but should not normally be given their own static multicast address, but
bootstrap themselves using a well-known service location should bootstrap themselves using a well-known service
address which can be used to announce the binding between location address which can be used to announce the binding
local services and multicast addresses. between local services and multicast addresses.
Static addresses typically have a permanent lifetime, and a Static addresses typically have a permanent lifetime, and a
scope defined by the scope range in which they reside. As scope defined by the scope range in which they reside. As
such, a static address is valid everywhere (although the set such, a static address is valid everywhere (although the set
of receivers may be different depending on location), and may of receivers may be different depending on location), and may
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
be hard-coded into applications, devices, embedded systems, be hard-coded into applications, devices, embedded systems,
etc. Static addresses are also useful for devices which etc. Static addresses are also useful for devices which
support sending but not receiving multicast IP datagrams support sending but not receiving multicast IP datagrams
(Level 1 conformance as specified in RFC 1112 [7]), or even (Level 1 conformance as specified in RFC 1112 [7]), or even
are incapable of receiving any data at all, such as a are incapable of receiving any data at all, such as a
wireless broadcasting device. wireless broadcasting device.
Scope-relative: Scope-relative:
RFC 2365 [1] reserves the highest 256 addresses in every RFC 2365 [1] reserves the highest 256 addresses in every
skipping to change at page 6, line 5 skipping to change at page 6, line 5
and such extensions will be granted when possible. When the and such extensions will be granted when possible. When the
address extension is not granted, the application is expected address extension is not granted, the application is expected
to request a new address to take over from the old address to request a new address to take over from the old address
when it expires, and to be able to cope with this situation when it expires, and to be able to cope with this situation
gracefully. As with unicast addresses, no guarantee of gracefully. As with unicast addresses, no guarantee of
reachability of an address is provided by the network once reachability of an address is provided by the network once
the lifetime expires. the lifetime expires.
These restrictions on address lifetime are necessary to allow These restrictions on address lifetime are necessary to allow
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
the address allocation architecture to be organized around the address allocation architecture to be organized around
address usage patterns in a manner that ensures addresses are address usage patterns in a manner that ensures addresses are
aggregatable and multicast routing is reasonably close to aggregatable and multicast routing is reasonably close to
optimal. In contrast, statically allocated addresses may be optimal. In contrast, statically allocated addresses may be
given sub-optimal routing. given sub-optimal routing.
4. Overview of the Architecture 4. Overview of the Architecture
The architecture is modular so that each layer may be used, The architecture is modular so that each layer may be used,
skipping to change at page 7, line 5 skipping to change at page 7, line 5
| MAAS<---/ | +---> MAAS | | MAAS<---/ | +---> MAAS |
| ^ ^ v ^ | | ^ ^ v ^ |
| . . MAAS . | | . . MAAS . |
| . .Layer 1 ^ .Layer 1 | | . .Layer 1 ^ .Layer 1 |
| v v .Layer 1 v | | v v .Layer 1 v |
| Client Client v Client | | Client Client v Client |
| Client | | Client |
+-------------------------------------------------------------+ +-------------------------------------------------------------+
Figure 1: An Overview of the Multicast Address Allocation Architecture Figure 1: An Overview of the Multicast Address Allocation Architecture
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
Layer 1 Layer 1
A protocol or mechanism that a multicast client uses to A protocol or mechanism that a multicast client uses to
request a multicast address from a multicast address request a multicast address from a multicast address
allocation server (MAAS). When the server grants an address, allocation server (MAAS). When the server grants an address,
it becomes the server's responsibility to ensure that this it becomes the server's responsibility to ensure that this
address is not then reused elsewhere within the address's address is not then reused elsewhere within the address's
scope during the lifetime granted. scope during the lifetime granted.
Examples of possible protocols or mechanisms at this layer Examples of possible protocols or mechanisms at this layer
skipping to change at page 8, line 5 skipping to change at page 8, line 5
An inter-domain protocol or mechanism that allocates An inter-domain protocol or mechanism that allocates
multicast address ranges (with lifetimes) to Prefix multicast address ranges (with lifetimes) to Prefix
Coordinators. Individual addresses may then be allocated out Coordinators. Individual addresses may then be allocated out
of these ranges by MAAS's inside allocation domains as of these ranges by MAAS's inside allocation domains as
described above. described above.
Examples of protocols or mechanisms at this layer include Examples of protocols or mechanisms at this layer include
MASC [6] (in which Prefix Coordinators are typically routers MASC [6] (in which Prefix Coordinators are typically routers
without any stable storage requirement), and static without any stable storage requirement), and static
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
allocations by AS number as described in [10] (in which allocations by AS number as described in [10] (in which
Prefix Coordinators are typically human administrators). Prefix Coordinators are typically human administrators).
Each of the three layers serves slightly different purposes and as Each of the three layers serves slightly different purposes and as
such, protocols or mechanisms at each layer may require different such, protocols or mechanisms at each layer may require different
design tradeoffs. design tradeoffs.
5. Scoping 5. Scoping
skipping to change at page 8, line 30 skipping to change at page 8, line 30
The first two tasks, learning the scopes in effect and the address The first two tasks, learning the scopes in effect and the address
range and name(s) of each scope, may be provided by static range and name(s) of each scope, may be provided by static
configuration or dynamically learned. For example, a MAAS may configuration or dynamically learned. For example, a MAAS may
simply passively listen to MZAP [9] messages to acquire this simply passively listen to MZAP [9] messages to acquire this
information. information.
To determine the subrange for dynamic allocation, there are two To determine the subrange for dynamic allocation, there are two
cases for each scope, corresponding to small "indivisible" scopes, cases for each scope, corresponding to small "indivisible" scopes,
and big "divisible" scopes. Note that MZAP identifies which and big "divisible" scopes. Note that MZAP identifies which
scopes are scopes are divisible and which are not. scopes are divisible and which are not.
(1) For small scopes, the allocation domain corresponds to the (1) For small scopes, the allocation domain corresponds to the
entire topology within the administrative scope. Hence, entire topology within the administrative scope. Hence,
all MAASs inside the scope may use the entire address range all MAASs inside the scope may use the entire address range
(minus the last 256 addresses reserved as scope-relative (minus the last 256 addresses reserved as scope-relative
addresses), and use the Layer 2 mechanism/protocol to addresses), and use the Layer 2 mechanism/protocol to
coordinate allocations. For small scopes, Prefix coordinate allocations. For small scopes, Prefix
Coordinators are not involved. Coordinators are not involved.
Hence, for small scopes, the effective "allocation domain" Hence, for small scopes, the effective "allocation domain"
skipping to change at page 9, line 5 skipping to change at page 9, line 5
small, indivisible scope could be larger or smaller than small, indivisible scope could be larger or smaller than
the Allocation Scope used for big scopes (see below). the Allocation Scope used for big scopes (see below).
(2) For big scopes (including the global scope), the area (2) For big scopes (including the global scope), the area
inside the scope may be large enough that simply using a inside the scope may be large enough that simply using a
Layer 2 mechanism/protocol may be inefficient or otherwise Layer 2 mechanism/protocol may be inefficient or otherwise
undesirable. In this case, the scope must span multiple undesirable. In this case, the scope must span multiple
allocation domains, and the Layer 3 mechanism/protocol must allocation domains, and the Layer 3 mechanism/protocol must
be used to divvy up the scoped address space among the be used to divvy up the scoped address space among the
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
allocation domains. Hence, a MAAS may learn of the scope allocation domains. Hence, a MAAS may learn of the scope
via MZAP, but must acquire a subrange from which to via MZAP, but must acquire a subrange from which to
allocate from a Prefix Coordinator. allocate from a Prefix Coordinator.
For simplicity, the effective "allocation domain" area will For simplicity, the effective "allocation domain" area will
be the same for all big scopes, being the granularity at be the same for all big scopes, being the granularity at
which all big scopes are divided up. We define the which all big scopes are divided up. We define the
administrative scope at this granularity to be the administrative scope at this granularity to be the
"Allocation Scope". "Allocation Scope".
skipping to change at page 10, line 5 skipping to change at page 10, line 5
coordinate allocation between its MAAS's (if any) and those of its coordinate allocation between its MAAS's (if any) and those of its
provider. An AS should probably take this course of action if: provider. An AS should probably take this course of action if:
o it is connected to a single provider, o it is connected to a single provider,
o it does not provide transit for another AS, and o it does not provide transit for another AS, and
o it needs fewer than (say) 256 multicast addresses of larger o it needs fewer than (say) 256 multicast addresses of larger
than AS scope allocated on average. than AS scope allocated on average.
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
5.1.1. The IPv4 Allocation Scope -- 239.251.0.0/16 5.1.1. The IPv4 Allocation Scope -- 239.251.0.0/16
The address space 239.251.0.0/16 is to be reserved for the The address space 239.251.0.0/16 is to be reserved for the
Allocation Scope. The ranges 239.248.0.0/16, 239.249.0.0/16 and Allocation Scope. The ranges 239.248.0.0/16, 239.249.0.0/16 and
239.250.0.0/16 are to be left unassigned and available for 239.250.0.0/16 are to be left unassigned and available for
expansion of this space. These ranges should be left unassigned expansion of this space. These ranges should be left unassigned
until the 239.251.0.0/16 space is no longer sufficient. until the 239.251.0.0/16 space is no longer sufficient.
5.1.2. The IPv6 Allocation Scope -- SCOP 6 5.1.2. The IPv6 Allocation Scope -- SCOP 6
The IPv6 "scop" value 6 is to be reserved for the Allocation The IPv6 "scop" value 6 is to be reserved for the Allocation
Scope. Scope.
6. Overview of the Allocation Process 6. Overview of the Allocation Process
Once Layer 3 allocation has been performed for large, divisible Once Layer 3 allocation has been performed for large, divisible
scopes, and each Prefix Coordinator has acquired one or more scopes, and each Prefix Coordinator has acquired one or more
prefixes, then those prefixes are passed to all MAAS's within the ranges, then those ranges are passed to all MAAS's within the
Prefix Coordinator's domain via a Layer 2 mechanism/protocol. Prefix Coordinator's domain via a Layer 2 mechanism/protocol.
MAAS's within the domain receive these prefixes and store them as MAAS's within the domain receive these ranges and store them as
the currently allowable addresses for that domain. Each prefix is the currently allowable addresses for that domain. Each range is
valid for a given lifetime (also acquired via the Layer 3 valid for a given lifetime (also acquired via the Layer 3
mechanism/protocol) and is not revoked before the lifetime has mechanism/protocol) and is not revoked before the lifetime has
expired. MAAS's also learn of small scopes (e.g., via MZAP) and expired. MAAS's also learn of small scopes (e.g., via MZAP) and
store the prefixes associated with them. store the ranges associated with them.
Using the Layer 2 mechanism/protocol, each MAAS ensures that it Using the Layer 2 mechanism/protocol, each MAAS ensures that it
will exclude any addresses which have been or will be allocated by will exclude any addresses which have been or will be allocated by
other MAAS's within its domain. other MAAS's within its domain.
When a client needs a multicast address, it first needs to decide When a client needs a multicast address, it first needs to decide
what the scope of the intended session should be, and locate a what the scope of the intended session should be, and locate a
MAAS capable of allocating addresses within that scope. MAAS capable of allocating addresses within that scope.
To pick a scope, the client will either simply choose a well-known To pick a scope, the client will either simply choose a well-known
scope, such as the global scope, or it will enumerate the scope, such as the global scope, or it will enumerate the
available scopes (e.g., by sending a MADCAP query, or by listening available scopes (e.g., by sending a MADCAP query, or by listening
to MZAP messages over time) and allow a user to select one. to MZAP messages over time) and allow a user to select one.
Locating a MAAS can be done via a variety of methods, including Locating a MAAS can be done via a variety of methods, including
manual configuration, using a service location protocol such as manual configuration, using a service location protocol such as
SLP [12], or via a mechanism provided by a Layer 1 protocol SLP [12], or via a mechanism provided by a Layer 1 protocol
Draft MALLOC Architecture January 2000
Draft MALLOC Architecture October 1999
itself. MADCAP, for instance, includes such a facility. itself. MADCAP, for instance, includes such a facility.
Once the client has chosen a scope and located a MAAS, it then Once the client has chosen a scope and located a MAAS, it then
requests an address in that scope from the MAAS located. Along requests an address in that scope from the MAAS located. Along
with the request it also passes the acceptable range for the with the request it also passes the acceptable range for the
lifetimes of the allocation it desires. For example, if the Layer lifetimes of the allocation it desires. For example, if the Layer
1 protocol in use is MADCAP, the client sends a MADCAP REQUEST 1 protocol in use is MADCAP, the client sends a MADCAP REQUEST
message to the MAAS, and waits for a NAK message or an ACK message message to the MAAS, and waits for a NAK message or an ACK message
containing the allocated information. containing the allocated information.
Upon receiving a request from a client, the MAAS then chooses an Upon receiving a request from a client, the MAAS then chooses an
unused address in a prefix for the specified scope, with a unused address in a range for the specified scope, with a lifetime
lifetime which both satisfies the acceptable range specified by which both satisfies the acceptable range specified by the client,
the client, and is within the lifetime of the actual prefix. and is within the lifetime of the actual range.
The MAAS uses the Layer 2 mechanism/protocol to ensure that such The MAAS uses the Layer 2 mechanism/protocol to ensure that such
an address does not clash with any addresses allocated by other an address does not clash with any addresses allocated by other
MAASs. For example, if Layer 2 uses manual configuration of non- MAASs. For example, if Layer 2 uses manual configuration of non-
overlapping prefixes, then this simply consists of adhering to the overlapping ranges, then this simply consists of adhering to the
range configured in the local MAAS. If, on the other hand, AAP is range configured in the local MAAS. If, on the other hand, AAP is
used at Layer 2 to provide less address space fragmentation, the used at Layer 2 to provide less address space fragmentation, the
MAAS advertises the proposed allocation domain-wide using AAP. If MAAS advertises the proposed allocation domain-wide using AAP. If
no clashing AAP claim is received within a short time interval, no clashing AAP claim is received within a short time interval,
then the address is returned to the client via the Layer 1 then the address is returned to the client via the Layer 1
protocol/mechanism. If a clashing claim is received by the MAAS, protocol/mechanism. If a clashing claim is received by the MAAS,
then it chooses a different address and tries again. AAP also then it chooses a different address and tries again. AAP also
allows each MAAS to pre-reserve a small "pool" of addresses for allows each MAAS to pre-reserve a small "pool" of addresses for
which it need not wait to detect clashes. which it need not wait to detect clashes.
skipping to change at page 12, line 4 skipping to change at page 12, line 4
7. Security Considerations 7. Security Considerations
The architecture described herein does not prevent an application The architecture described herein does not prevent an application
from just sending to or joining a multicast address without from just sending to or joining a multicast address without
allocating it (just as the same is true for unicast addresses allocating it (just as the same is true for unicast addresses
today). However, there is no guarantee that data for unallocated today). However, there is no guarantee that data for unallocated
addresses will be delivered by the network. That is, routers may addresses will be delivered by the network. That is, routers may
drop data for unallocated addresses if they have some way of drop data for unallocated addresses if they have some way of
checking whether a destination address has been allocated. For checking whether a destination address has been allocated. For
example, if the border routers of a domain participate in the example, if the border routers of a domain participate in the
Draft MALLOC Architecture January 2000
Draft MALLOC Architecture October 1999
Layer 2 protocol/mechanism and cache the set of allocated Layer 2 protocol/mechanism and cache the set of allocated
addresses, then data for unallocated addresses in a prefix addresses, then data for unallocated addresses in a range
allocated by that domain can be dropped by creating multicast allocated by that domain can be dropped by creating multicast
forwarding state with an empty outgoing interface list and/or forwarding state with an empty outgoing interface list and/or
pruning back the tree branches for those groups. pruning back the tree branches for those groups.
A malicious application may attempt a denial-of-service attack by A malicious application may attempt a denial-of-service attack by
attempting to allocate a large number of addresses, thus attempting to allocate a large number of addresses, thus
attempting to exhaust the supply of available addresses. Other attempting to exhaust the supply of available addresses. Other
attacks include releasing or modifying the allocation of another attacks include releasing or modifying the allocation of another
party. These attacks can be combatted through the use of party. These attacks can be combatted through the use of
authentication with policy restrictions (such as a maximum number authentication with policy restrictions (such as a maximum number
of addresses that can be allocated by a single party). of addresses that can be allocated by a single party).
Hence, protocols/mechanisms that implement layers of this Hence, protocols/mechanisms that implement layers of this
architecture should be deployable in a secure fashion. For architecture should be deployable in a secure fashion. For
example, one should support authentication with policy example, one should support authentication with policy
restrictions, and should not allow don't allow someone restrictions, and should not allow someone unauthorized to release
unauthorized to release or modify the allocation of another party. or modify the allocation of another party.
8. Acknowledgments 8. Acknowledgments
Steve Hanna provided valuable feedback on this document. The Steve Hanna provided valuable feedback on this document. The
members of the MALLOC WG and the MBone community provided the members of the MALLOC WG and the MBone community provided the
motivation for this work. motivation for this work.
9. References 9. References
[1] D. Meyer, "Administratively Scoped IP Multicast", BCP 23, RFC [1] D. Meyer, "Administratively Scoped IP Multicast", BCP 23, RFC
skipping to change at page 13, line 5 skipping to change at page 13, line 5
Multimedia Conferencing Systems", University of London, 1997. Multimedia Conferencing Systems", University of London, 1997.
[3] Mark Handley, "An Analysis of Mbone Performance", Chapter 4 [3] Mark Handley, "An Analysis of Mbone Performance", Chapter 4
of PhD Thesis entitled "On Scalable Multimedia Conferencing of PhD Thesis entitled "On Scalable Multimedia Conferencing
Systems", University of London, 1997. Systems", University of London, 1997.
[4] Hanna, S., Patel, B., and M. Shah, "Multicast Address Dynamic [4] Hanna, S., Patel, B., and M. Shah, "Multicast Address Dynamic
Client Allocation Protocol (MADCAP)", Work in progress, Client Allocation Protocol (MADCAP)", Work in progress,
draft-ietf-malloc-madcap-07.txt, September 1999. draft-ietf-malloc-madcap-07.txt, September 1999.
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
[5] Handley, M., Hanna, S., "Multicast Address Allocation [5] Handley, M., Hanna, S., "Multicast Address Allocation
Protocol (AAP)", Work in progress, draft-ietf-malloc- Protocol (AAP)", Work in progress, draft-ietf-malloc-
aap-02.txt, October 1999. aap-02.txt, October 1999.
[6] Estrin, D., Govindan, R., Handley, M., Kumar, S., Radoslavov, [6] Estrin, D., Govindan, R., Handley, M., Kumar, S., Radoslavov,
P., and D. Thaler, "The Multicast Address-Set Claim (MASC) P., and D. Thaler, "The Multicast Address-Set Claim (MASC)
Protocol", Work in progress, draft-ietf-malloc-masc-03.txt, Protocol", Work in progress, draft-ietf-malloc-masc-03.txt,
July 1999. July 1999.
skipping to change at page 13, line 37 skipping to change at page 13, line 37
Work in progress, draft-ietf-mboned-static-allocation-00.txt, Work in progress, draft-ietf-mboned-static-allocation-00.txt,
May 1999. May 1999.
[11] R. Finlayson, "Abstract API for Multicast Address [11] R. Finlayson, "Abstract API for Multicast Address
Allocation", Work in progress, draft-ietf-malloc-api-07.txt, Allocation", Work in progress, draft-ietf-malloc-api-07.txt,
August 1999. August 1999.
[12] Veizades, J., Guttman, E., Perkins, C., and S. Kaplan, [12] Veizades, J., Guttman, E., Perkins, C., and S. Kaplan,
"Service Location Protocol", RFC 2165, June 1997. "Service Location Protocol", RFC 2165, June 1997.
[13] D. Mills, "Network Time Protocol (Version 3) Specification,
Implementation and Analysis", RFC 1305, March 1992.
10. Authors' Addresses 10. Authors' Addresses
Dave Thaler Dave Thaler
Microsoft Corporation Microsoft Corporation
One Microsoft Way One Microsoft Way
Redmond, WA 98052-6399 Redmond, WA 98052-6399
EMail: dthaler@microsoft.com EMail: dthaler@microsoft.com
Mark Handley Mark Handley
AT&T Center for Internet Research at ICSI AT&T Center for Internet Research at ICSI
1947 Center St, Suite 600 1947 Center St, Suite 600
Draft MALLOC Architecture January 2000
Berkeley, CA 94704 Berkeley, CA 94704
EMail: mjh@aciri.org EMail: mjh@aciri.org
Draft MALLOC Architecture October 1999
Deborah Estrin Deborah Estrin
Computer Science Dept/ISI Computer Science Dept/ISI
University of Southern Calif. University of Southern Calif.
Los Angeles, CA 90089 Los Angeles, CA 90089
EMail: estrin@usc.edu EMail: estrin@usc.edu
11. Full Copyright Statement 11. Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished This document and translations of it may be copied and furnished
to others, and derivative works that comment on or otherwise to others, and derivative works that comment on or otherwise
explain it or assist in its implementation may be prepared, explain it or assist in its implementation may be prepared,
copied, published and distributed, in whole or in part, without copied, published and distributed, in whole or in part, without
restriction of any kind, provided that the above copyright notice restriction of any kind, provided that the above copyright notice
and this paragraph are included on all such copies and derivative and this paragraph are included on all such copies and derivative
works. However, this document itself may not be modified in any works. However, this document itself may not be modified in any
way, such as by removing the copyright notice or references to the way, such as by removing the copyright notice or references to the
Internet Society or other Internet organizations, except as needed Internet Society or other Internet organizations, except as needed
skipping to change at page 15, line 5 skipping to change at page 15, line 5
The limited permissions granted above are perpetual and will not The limited permissions granted above are perpetual and will not
be revoked by the Internet Society or its successors or assigns. be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on This document and the information contained herein is provided on
an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Draft MALLOC Architecture October 1999 Draft MALLOC Architecture January 2000
Table of Contents Table of Contents
1: Abstract ................................................. 2 1: Abstract ................................................. 2
2: Introduction ............................................. 2 2: Introduction ............................................. 2
3: Requirements ............................................. 2 3: Requirements ............................................. 2
3.1: Address Dynamics ....................................... 4 3.1: Address Dynamics ....................................... 4
4: Overview of the Architecture ............................. 6 4: Overview of the Architecture ............................. 6
5: Scoping .................................................. 8 5: Scoping .................................................. 8
5.1: Allocation Scope ....................................... 9 5.1: Allocation Scope ....................................... 9
 End of changes. 29 change blocks. 
41 lines changed or deleted 43 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/