Admin-Scoped Multicast: Administratively Scoped IP Multicast
Reserving 239.0.0.0/8 for multicast groups that stay inside administrative boundaries, instead of relying on TTL tricks.
Meyer, D., "Administratively Scoped IP Multicast", BCP 23, RFC 2365, DOI 10.17487/RFC2365, July 1998, <https://www.rfc-editor.org/info/rfc2365>.
@misc{rfc2365,
series = {Request for Comments},
number = 2365,
howpublished = {RFC 2365},
publisher = {RFC Editor},
doi = {10.17487/RFC2365},
url = {https://www.rfc-editor.org/info/rfc2365},
author = {D. Meyer},
title = {{Administratively Scoped IP Multicast}},
pagetotal = 8,
year = 1998,
month = jul,
} RFC text
Contents
Network Working Group D. Meyer
Request for Comments: 2365 University of Oregon
BCP: 23 July 1998
Category: Best Current Practice
Administratively Scoped IP Multicast
Status of this Memo
This document specifies an Internet Best Current Practices for the
Internet Community, and requests discussion and suggestions for
improvements. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
1. Abstract
This document defines the "administratively scoped IPv4 multicast
space" to be the range 239.0.0.0 to 239.255.255.255. In addition, it
describes a simple set of semantics for the implementation of
Administratively Scoped IP Multicast. Finally, it provides a mapping
between the IPv6 multicast address classes [RFC1884] and IPv4
multicast address classes.
This memo is a product of the MBONE Deployment Working Group (MBONED)
in the Operations and Management Area of the Internet Engineering
Task Force. Submit comments to <mboned@ns.uoregon.edu> or the author.
2. Acknowledgments
Much of this memo is taken from "Administratively Scoped IP
Multicast", Van Jacobson and Steve Deering, presented at the 30th
IETF, Toronto, Canada, 25 July 1994. Steve Casner, Mark Handley and
Dave Thaler have also provided insightful comments on earlier
versions of this document.
3. Introduction
Most current IP multicast implementations achieve some level of
scoping by using the TTL field in the IP header. Typical MBONE
(Multicast Backbone) usage has been to engineer TTL thresholds that
confine traffic to some administratively defined topological region.
The basic forwarding rule for interfaces with configured TTL
thresholds is that a packet is not forwarded across the interface
unless its remaining TTL is greater than the threshold.
TTL scoping has been used to control the distribution of multicast
traffic with the objective of easing stress on scarce resources
(e.g., bandwidth), or to achieve some kind of improved privacy or
scaling properties. In addition, the TTL is also used in its
traditional role to limit datagram lifetime. Given these often
conflicting roles, TTL scoping has proven difficult to implement
reliably, and the resulting schemes have often been complex and
difficult to understand.
A more serious architectural problem concerns the interaction of TTL
scoping with broadcast and prune protocols (e.g., DVMRP [DVMRP]). The
particular problem is that in many common cases, TTL scoping can
prevent pruning from being effective. Consider the case in which a
packet has either had its TTL expire or failed a TTL threshold. The
router which discards the packet will not be capable of pruning any
upstream sources, and thus will sink all multicast traffic (whether
or not there are downstream receivers). Note that while it might seem
possible to send prunes upstream from the point at which a packet is
discarded, this strategy can result in legitimate traffic being
discarded, since subsequent packets could take a different path and
arrive at the same point with a larger TTL.
On the other hand, administratively scoped IP multicast can provide
clear and simple semantics for scoped IP multicast. The key
properties of administratively scoped IP multicast are that (i).
packets addressed to administratively scoped multicast addresses do
not cross configured administrative boundaries, and (ii).
administratively scoped multicast addresses are locally assigned, and
hence are not required to be unique across administrative boundaries.
4. Definition of the Administratively Scoped IPv4 Multicast Space
The administratively scoped IPv4 multicast address space is defined
to be the range 239.0.0.0 to 239.255.255.255.
5. Discussion
In order to support administratively scoped IP multicast, a router
should support the configuration of per-interface scoped IP multicast
boundaries. Such a router, called a boundary router, does not forward
packets matching an interface's boundary definition in either
direction (the bi-directional check prevents problems with multi-
access networks). In addition, a boundary router always prunes the
boundary for dense-mode groups [PIMDM], and doesn't accept joins for
sparse-mode groups [PIMSM] in the administratively scoped range.
6. The Structure of the Administratively Scoped Multicast Space
The structure of the IP version 4 administratively scoped multicast
space is loosely based on the IP Version 6 Addressing Architecture
described in RFC 1884 [RFC1884]. This document defines two important
scopes: the IPv4 Local Scope and IPv4 Organization Local Scope. These
scopes are described below.
6.1. The IPv4 Local Scope -- 239.255.0.0/16
239.255.0.0/16 is defined to be the IPv4 Local Scope. The Local
Scope is the minimal enclosing scope, and hence is not further
divisible. Although the exact extent of a Local Scope is site
dependent, locally scoped regions must obey certain topological
constraints. In particular, a Local Scope must not span any other
scope boundary. Further, a Local Scope must be completely contained
within or equal to any larger scope. In the event that scope regions
overlap in area, the area of overlap must be in its own local scope.
This implies that any scope boundary is also a boundary for the Local
Scope. The more general topological requirements for administratively
scoped regions are discussed below.
6.1.1. Expansion of the IPv4 Local Scope
The IPv4 Local Scope space grows "downward". As such, the IPv4 Local
Scope may grow downward from 239.255.0.0/16 into the reserved ranges
239.254.0.0/16 and 239.253.0.0/16. However, these ranges should not
be utilized until the 239.255.0.0/16 space is no longer sufficient.
6.2. The IPv4 Organization Local Scope -- 239.192.0.0/14
239.192.0.0/14 is defined to be the IPv4 Organization Local Scope,
and is the space from which an organization should allocate sub-
ranges when defining scopes for private use.
6.2.1. Expansion of the IPv4 Organization Local Scope
The ranges 239.0.0.0/10, 239.64.0.0/10 and 239.128.0.0/10 are
unassigned and available for expansion of this space. These ranges
should be left unassigned until the 239.192.0.0/14 space is no longer
sufficient. This is to allow for the possibility that future
revisions of this document may define additional scopes on a scale
larger than organizations.
6.3. Other IPv4 Scopes of Interest
The other two scope classes of interest, statically assigned link-
local scope and global scope already exist in IPv4 multicast space.
The statically assigned link-local scope is 224.0.0.0/24. The
existing static global scope allocations are somewhat more granular,
and include
224.1.0.0-224.1.255.255 ST Multicast Groups
224.2.0.0-224.2.127.253 Multimedia Conference Calls
224.2.127.254 SAPv1 Announcements
224.2.127.255 SAPv0 Announcements (deprecated)
224.2.128.0-224.2.255.255 SAP Dynamic Assignments
224.252.0.0-224.255.255.255 DIS transient groups
232.0.0.0-232.255.255.255 VMTP transient groups
See [RFC1700] for current multicast address assignments (this list
can also be found, possibly in a more current form, on
ftp://ftp.isi.edu/in-notes/iana/assignments/multicast-addresses).
7. Topological Requirements for Administrative Boundaries
An administratively scoped IP multicast region is defined to be a
topological region in which there are one or more boundary routers
with common boundary definitions. Such a router is said to be a
boundary for scoped addresses in the range defined in its
configuration.
Network administrators may configure a scope region whenever
constrained multicast scope is required. In addition, an
administrator may configure overlapping scope regions (networks can
be in multiple scope regions) where convenient, with the only
limitations being that a scope region must be connected (there must
be a path between any two nodes within a scope region that doesn't
leave that region), and convex (i.e., no path between any two points
in the region can cross a region boundary). However, it is important
to note that if administratively scoped areas intersect
topologically, then the outer scope must consist of its address space
minus the address spaces of any intersecting scopes. This requirement
prevents the problem that would arise when a path between two points
in a convex region crosses the boundary of an intersecting region.
For this reason, it is recommended that administrative scopes that
intersect topologically should not intersect in address range.
Finally, note that any scope boundary is a boundary for the Local
Scope. This implies that packets sent to groups covered by
239.255.0.0/16 must not be forwarded across any link for which a
scoped boundary is defined.
8. Partitioning of the Administratively Scoped Multicast Space
The following table outlines the partitioning of the IPv4 multicast
space, and gives the mapping from IPv4 multicast prefixes to IPv6
SCOP values:
IPv6 SCOP RFC 1884 Description IPv4 Prefix
===============================================================
0 reserved
1 node-local scope
2 link-local scope 224.0.0.0/24
3 (unassigned) 239.255.0.0/16
4 (unassigned)
5 site-local scope
6 (unassigned)
7 (unassigned)
8 organization-local scope 239.192.0.0/14
A (unassigned)
B (unassigned)
C (unassigned)
D (unassigned)
E global scope 224.0.1.0-238.255.255.255
F reserved
(unassigned) 239.0.0.0/10
(unassigned) 239.64.0.0/10
(unassigned) 239.128.0.0/10
9. Structure and Use of a Scoped Region
The high order /24 in every scoped region is reserved for relative
assignments. A relative assignment is an integer offset from highest
address in the scope and represents a 32-bit address (for IPv4). For
example, in the Local Scope defined above, 239.255.255.0/24 is
reserved for relative allocations. The de-facto relative assignment
"0", (i.e., 239.255.255.255 in the Local Scope) currently exists for
SAP [SAP]. The next relative assignment, "1", corresponds to the
address 239.255.255.254 in the Local Scope. The rest of a scoped
region below the reserved /24 is available for dynamic assignment
(presumably by an address allocation protocol).
In is important to note that a scope discovery protocol [MZAP] will
have to be developed to make practical use of scopes other than the
Local Scope. In addition, since any use of any administratively
scoped region, including the Local Scope, requires dynamically
assigned addressing, an Address Allocation Protocol (AAP) will need
to be developed to make administrative scoping generally useful.
9.1. Relative Assignment Guidelines
Requests for relative assignments should be directed to the IANA. The
IANA will be advised by an area expert when making relative address
assignments. The area expert will be appointed by the relevant Area
Director.
In general, relative addresses will be used only for bootstrapping to
dynamic address assignments from within the scope. As such, relative
assignments should only be made to those services that cannot use a
dynamic address assignment protocol to find the address used by that
service within the desired scope, such as a dynamic address
assignment service itself.
10. Security Considerations
It is recommended that organizations using the administratively
scoped IP Multicast addresses not rely on them to prevent sensitive
data from being transmitted outside the organization. Should a
multicast router on an administrative boundary be mis-configured,
have a bug in the administrative scoping code, or have other problems
that would cause that router to forward an administratively scoped IP
multicast packet outside of the proper scope, the organizations data
would leave its intended transmission region.
Organizations using administratively scoped IP Multicasting to
transmit sensitive data should use some confidentiality mechanism
(e.g. encryption) to protect that data. In the case of many existing
video-conferencing applications (e.g. vat), encryption is available
as an application feature and merely needs to be enabled (and
appropriate cryptographic keys securely distributed). For many other
applications, the use of the IP Encapsulating Security Payload (ESP)
[RFC-1825, RFC-1827] can provide IP-layer confidentiality though
encryption.
Within the context of an administratively scoped IP multicast group,
the use of manual key distribution might well be feasible. While
dynamic key management for IP Security is a research area at the time
this note is written, it is expected that the IETF will be extending
the ISAKMP key management protocol to support scalable multicast key
distribution in the future.
It is important to note that the "boundary router" described in this
note is not necessarily providing any kind of firewall capability.
11. References
[ASMA] V. Jacobson, S. Deering, "Administratively Scoped IP
Multicast", presented at the 30th IETF, Toronto, Canada, 25
July 1994.
[DVMRP] Pusateri, T., "Distance Vector Multicast Routing Protocol",
Work in Progress.
[MZAP] Handley, M., "Multicast-Scope Zone Announcement Protocol
(MZAP)", Work in Progress.
[PIMDM] Deering, S, et. al., "Protocol Independent Multicast
Version 2, Dense Mode Specification", Work in Progress.
[PIMSM] Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering,
S., Handley, M., Jacobson, V., Liu, C., Sharma, P., and L.
Wei, "Protocol Independent Multicast Sparse Mode (PIM-SM):
Protocol Specification", RFC 2362, June 1998.
[RFC1700] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
1700, October 1994.
[RFC1884] Hinden. R., and S. Deering, "IP Version 6 Addressing
Architecture", RFC1884, December 1995.
[SAP] Handley, M., "SAP: Session Announcement Protocol", Work in
Progress.
12. Author's Address
David Meyer
Cisco Systems
San Jose, CA
EMail: dmm@cisco.com
13. Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
AI ELI5
On this page
§1The Problem with TTL Scoping
Most multicast implementations of the time scoped traffic with the TTL field in the IP header. Operators on the MBONE engineered TTL thresholds so traffic stayed in some administratively defined region: a packet is not forwarded across an interface unless its remaining TTL is greater than the threshold.
RFC 2365 lists the weaknesses. The TTL is also used in its traditional role of limiting datagram lifetime, and these conflicting roles made TTL scoping difficult to implement reliably. A more serious problem is the interaction with broadcast and prune protocols such as DVMRP: the router that discards a packet cannot prune upstream sources, so it keeps sinking all multicast traffic whether or not there are downstream receivers. Sending prunes from the discard point could discard legitimate traffic, because later packets could take another path and arrive with a larger TTL.
Telling a message how many hops it may travel is like telling a paper plane how far to fly. It is hard to get right, and the plane still mixes up the people who are trying to stop it.
§2The Administratively Scoped Space
Administratively scoped IP multicast offers two key properties. First, packets sent to administratively scoped addresses do not cross configured administrative boundaries. Second, these addresses are locally assigned, so they need not be unique across boundaries.
The administratively scoped IPv4 multicast space is defined as the range 239.0.0.0 to 239.255.255.255.
To support it, a router should allow per-interface scoped multicast boundaries. Such a boundary router does not forward packets matching an interface's boundary definition in either direction, and the two-way check avoids problems on multi-access networks. It also always prunes the boundary for dense-mode groups and does not accept joins for sparse-mode groups in the administratively scoped range.
A block of addresses is set aside for private group chats. The doors of each neighborhood are told never to let those chats through in either direction.
§3Local and Organization Local Scopes
The structure is loosely based on the IPv6 addressing architecture of RFC 1884. Two scopes are defined.
- IPv4 Local Scope:
239.255.0.0/16. It is the minimal enclosing scope and is not further divisible. It must not span any other scope boundary, and must be completely contained within or equal to any larger scope. Where scope regions overlap, the overlap must be in its own local scope. It may later grow downward into239.254.0.0/16and239.253.0.0/16, but those should not be used until the first range is no longer sufficient. - IPv4 Organization Local Scope:
239.192.0.0/14, the space from which an organization should allocate sub-ranges for private scopes. The ranges239.0.0.0/10,239.64.0.0/10and239.128.0.0/10are unassigned and left available for expansion, in case later revisions define scopes larger than organizations.
Two other scope classes already exist: the statically assigned link-local scope 224.0.0.0/24 and global scope. The RFC lists existing global allocations such as 224.2.127.254 for SAPv1 announcements.
There is one small circle, the building, and one bigger circle, the whole company. The company circle is where you carve out your own rooms.
§4Topological Requirements for Boundaries
A scoped region is a topological region with one or more boundary routers that share boundary definitions. Administrators may configure a scope whenever constrained scope is needed, and scopes may overlap. The limits are that a region must be connected (a path exists between any two nodes without leaving the region) and convex (no path between two points of the region can cross its boundary).
If scopes intersect topologically, the outer scope must consist of its address space minus the address spaces of any intersecting scopes. It is therefore recommended that topologically intersecting scopes should not intersect in address range. Every scope boundary is also a boundary for the Local Scope, so packets for 239.255.0.0/16 must not be forwarded across any link that has a scoped boundary defined.
A neighborhood must be one piece, with no road that leaves it and comes back in. If two neighborhoods overlap, they should not use the same house numbers.
§5IPv6 Mapping and Relative Assignments
The RFC maps IPv4 prefixes to IPv6 scope values: link-local scope (value 2) is 224.0.0.0/24, the Local Scope is shown against value 3 as 239.255.0.0/16, organization-local scope (value 8) is 239.192.0.0/14, and global scope (value E) is 224.0.1.0-238.255.255.255.
The high-order /24 of every scoped region is reserved for relative assignments: an integer offset from the highest address in the scope. In the Local Scope, 239.255.255.0/24 is reserved for them. Relative assignment 0, address 239.255.255.255, exists for SAP, and assignment 1 is 239.255.255.254. The rest of the region is for dynamic assignment.
Requests for relative assignments go to IANA, advised by an area expert appointed by the relevant Area Director. They should be given only to services that cannot use a dynamic assignment protocol to find their address, such as a dynamic address assignment service itself. The RFC also says that a scope discovery protocol (MZAP) and an address allocation protocol would need to be developed to make scopes other than the Local Scope practical.
The last few addresses in each block are kept for the first signposts, such as the one that tells you where the other signs are.
| IPv6 SCOP | RFC 1884 description | IPv4 prefix |
|---|---|---|
| 2 | link-local scope | 224.0.0.0/24 |
| 3 THIS RFC | (unassigned) | 239.255.0.0/16 |
| 8 THIS RFC | organization-local scope | 239.192.0.0/14 |
| E | global scope | 224.0.1.0-238.255.255.255 |
§6Security Considerations
Organizations should not rely on administratively scoped addresses to keep sensitive data inside. A boundary router that is mis-configured, has a bug in its scoping code, or has other problems could forward a scoped packet outside its proper scope, and the organization's data would leave.
Sensitive data should be protected with a confidentiality mechanism such as encryption, either as an application feature or at the IP layer with ESP. Manual key distribution might be feasible within a scoped group. The RFC also notes that the boundary router is not necessarily providing any firewall capability.
A door that is supposed to stay shut can still be left open by mistake. If a message is a secret, put it in a locked box anyway.