summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1768.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc1768.txt')
-rw-r--r--doc/rfc/rfc1768.txt2523
1 files changed, 2523 insertions, 0 deletions
diff --git a/doc/rfc/rfc1768.txt b/doc/rfc/rfc1768.txt
new file mode 100644
index 0000000..0e15805
--- /dev/null
+++ b/doc/rfc/rfc1768.txt
@@ -0,0 +1,2523 @@
+
+
+
+
+
+
+Network Working Group D. Marlow
+Request for Comments: 1768 NSWC-DD
+Category: Experimental March 1995
+
+
+ Host Group Extensions for CLNP Multicasting
+
+Status of this Memo
+
+ This memo defines an Experimental Protocol for the Internet
+ community. This memo does not specify an Internet standard of any
+ kind. Discussion and suggestions for improvement are requested.
+ Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo documents work performed in the TUBA (TCP/UDP over Bigger
+ Addresses) working group of IPng area prior to the July 1994 decision
+ to utilize SIPP-16 as the basis for IPng. The TUBA group worked on
+ extending the Internet Protocol suite by the use of ISO 8473 (CLNP)
+ and its related routing protocols. This memo describes multicast
+ extensions to CLNP and its related routing protocols for Internet
+ multicast use. Publication of this memo does not imply acceptance by
+ any IETF Working Group for the ideas expressed within.
+
+ This memo provides a specification for multicast extensions to the
+ CLNP protocol similar to those provided to IP by RFC1112. These
+ extensions are intended to provide the mechanisms needed by a host
+ for multicasting in a CLNP based Internet. This memo covers
+ addressing extensions to the CLNP addressing structure, extensions to
+ the CLNP protocol and extensions to the ES-IS protocol. An appendix
+ discusses the differences between IP multicast and the CLNP multicast
+ approach provided in this memo.
+
+Acknowledgments
+
+ The specification provided here was developed by a number of
+ individuals in the IETF TUBA working group as well as the ANSI X3S3.3
+ and ISO SC6 WG2 committees. Key contributions were made by Steve
+ Deering, Joel Halpern, Dave Katz and Dave Oran.
+
+
+
+
+
+
+
+
+
+
+
+Marlow [Page 1]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+Table of Contents
+
+ 1. Introduction .......................................... 2
+ 2. Levels of Conformance.................................. 3
+ 3. Group Network Addresses................................ 4
+ 4. Model of a CLNP End System Multicast Implementation.... 8
+ 5. Extensions to the CLNP Protocol........................ 8
+ 6. Extensions to the ES-IS Routeing Protocol ............. 15
+ 7. Security Considerations ............................... 39
+ Appendix A. Differences with RFC 1112 .................... 40
+ Appendix B. Issues Under Study ........................... 43
+ References ................................................ 44
+ Author's Address .......................................... 45
+
+1. Introduction
+
+ This memo provides a specification for multicast extensions for CLNP
+ in order to provide a CLNP based Internet the capabilities provided
+ for IP by RFC 1112 (Host Extensions for IP Multicasting) [RFC1112].
+ This memo uses an outline similar to that of RFC 1112.
+
+ Paraphrasing RFC 1112, "CLNP multicasting is the transmission of a
+ CLNP datagram to a "host group", a set of zero or more End Systems
+ identified by a single group Network address (GNA). A multicast
+ datagram is delivered to all members of its destination host group
+ with the same "best-efforts" reliability as regular unicast CLNP
+ datagrams, i.e., the datagram is not guaranteed to arrive intact at
+ all members of the destination group or in the same order relative to
+ other datagrams.
+
+ "The membership of a host group is dynamic; that is End Systems may
+ join and leave groups at any time. There is no restrictions on the
+ location or number of members in a host group. An End System may be a
+ member of more than one group at a time. An End System need not be a
+ member of a group to send datagrams to it.
+
+ "A host group may be permanent or transient. A permanent group has an
+ administratively assigned GNA. It is the address, not the membership
+ of the group, that is permanent; at any time a permanent group may
+ have any number of members, even zero.
+
+ "Internetwork forwarding of CLNP multicast datagrams is handled by
+ "multicast capable" Intermediate Systems which may be co-resident
+ with unicast capable Intermediate Systems.
+
+ The multicast extensions to the CLNP addressing structure defines
+ group Network addresses which identify host groups. The multicast
+ extensions to CLNP provides a means for identifying a CLNP packet and
+
+
+
+Marlow [Page 2]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ provides scope control mechanisms for CLNP multicast packets. The
+ multicast extensions to the ES-IS protocol provide the mechanisms
+ needed for a host to exchange control information with multicast
+ capable routers. These extensions to the ES-IS protocol provide for
+ a host to "announce" which multicast packets are of interest and for
+ a multicast capable router to dynamically "map" group Network
+ addresses to subnetwork addresses.
+
+ This memo specifies the extensions required by an End System to make
+ use of CLNP multicast. In addition the requirements placed upon
+ multicast capable Intermediate Systems to exchange information with
+ multicast capable End Systems is specified. No specifications are
+ provided related to the information exchanges between Intermediate
+ Systems to support multicast route selection or multicast Protocol
+ Data Unit (PDU) forwarding. A discussion of multicast route selection
+ and PDU forwarding has been written by Steve Deering [Deering91].
+ Note that for these multicast extensions to work there must exist an
+ uninterrupted path of multicast capable routers between the End
+ Systems comprising a host group (such paths may utilize tunneling
+ (i.e., unicast CLNP encapsulated paths between multicast capable CLNP
+ routers)). In order to support multicast route selection and
+ forwarding for a CLNP based internet additional specifications are
+ needed. Specifications of this type could come in the form of new
+ protocols, extensions to the current CLNP based routing protocols or
+ use of a technique out of the IETF's Inter-Domain Multicast Routing
+ (IDMR) group. The IDMR group is currently investigating multicast
+ protocols for routers which utilize a router's unicast routing
+ protocols, this approach may extend directly to CLNP routers.
+
+ While many of the techniques and assumptions of IP multicasting (as
+ discussed in RFC 1112) are used in CLNP multicasting, there are
+ number of differences. Appendix A describes the differences between
+ CLNP multicasting and IP multicasting. This memo describes techniques
+ brought in directly from projects within ISO to incorporate multicast
+ transmission capabilities into CLNP [MULT-AMDS].
+
+2. Levels of Conformance
+
+ There are three levels of conformance for End Systems to this
+ specification:
+
+ Level 0: no support for CLNP multicasting.
+
+ There is no requirement for a CLNP End System (or Intermediate
+ System) to support CLNP multicasting. Level 0 hosts should be
+ unaffected by the presence of multicast activity. The destination
+ addresses used in support of multicast transfers, the GNA, should not
+ be enabled by a non-multicast capable End System and the PDUs
+
+
+
+Marlow [Page 3]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ themselves are marked differently than unicast PDUs and thus should
+ be quietly discarded.
+
+ Level 1: support for sending but not receiving CLNP multicast PDUs.
+
+ An End System originating multicast PDUs is required to know whether
+ a multicast capable Intermediate System is attached to the
+ subnetwork(s) that it originates multicast PDUs (i.e., to determine
+ the destination SNPA (subnet) address). An End System with Level 1
+ conformance is required to implement all parts of this specification
+ except for those supporting only Multicast Announcement. An End
+ System is not required to know the current Multicast Address Mapping
+ to start originating multicast PDUs.
+
+ Note: It is possible for End System not implementing Multicast
+ Address Mapping to successfully originate multicast PDUs (but with
+ the End System knowing of the existence of a multicast capable
+ Intermediate System). Such operation may lead to inefficient
+ subnetworks use. Thus when an End System continues (or may continue)
+ to originate multicast PDUs destined for the same group,
+ implementations are to provide Multicast Address Mapping support.
+
+ Level 2: full support for CLNP multicasting.
+
+ Level 2 allows a host to join and leave host groups as well as send
+ CLNP PDUs to host groups. It requires implementation by the End
+ System of all parts of this specification.
+
+3. Group Network Addresses
+
+ Individual Network addresses used by CLNP for End System addressing
+ are called Network Service Access Points (NSAPs). RFC 1237 defines
+ the NSAP address for use in the Internet. In order to provide an
+ address for a group of End Systems, this specification does not
+ change the definition of the NSAP address, but adds a new type of
+ identifier - the group Network address - that supports a multicast
+ Network service (i.e., between a single source NSAP, identified by an
+ individual Network address, and a group of destination NSAPs,
+ identified by a group Network address). Host groups are identified by
+ group Network addresses.
+
+ In the development of multicast address extensions to CLNP,
+ requirements were identified for: (1)"easily distinguishing" group
+ addresses at the Network layer from NSAP addresses; (2)leaving the
+ currently allocated address families unaffected and (3)ensuring that
+ the approach taken would not require the establishment of new
+ addressing authorities. In addition, it was agreed that providing
+ multicast options for all OSI Network layer users was desirable and
+
+
+
+Marlow [Page 4]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ thus the group Network addressing solution should support options for
+ all address formats covered by ISO/IEC 8348 | CCITT Recommendation
+ X.213. The only viable means identified for meeting all requirements
+ was via creating a new set of AFI values with a fixed one-to-one
+ mapping between each of the existing AFI values and a corresponding
+ group AFI value.
+
+ Group Network addresses are defined by creating a new set of AFI
+ values, one for each existing AFI value, and a fixed one-to-one
+ mapping between each of the existing AFI values and a corresponding
+ group AFI value. The syntax of a group Network address is identical
+ to the syntax of an individual Network address, except that the value
+ of the AFI in an individual Network address may be only one of the
+ values already allocated for individual Network addresses, whereas
+ the value of the AFI in a group Network address may be only one of
+ the values allocated here for group Network addresses. The AFI values
+ allocated for group Network addresses have been chosen in such a way
+ that they do not overlap, in the preferred encoding defined by
+ ISO/IEC 8348 | CCITT Recommendation X.213, with any of the AFI values
+ that have already been allocated for individual Network addresses.
+
+3.1 Definitions
+
+ group Network address: an address that identifies a set of zero or
+ more Network service access points; these may belong to multiple
+ Network entities, in different End Systems.
+
+ individual Network address: an address that identifies a single NSAP.
+
+3.2 CLNP Addresses
+
+ A discussion of the CLNP address format is contained in RFC 1237. The
+ structure of all CLNP addresses is divided into two parts the Initial
+ Domain Part (IDP) and the Domain Specific Part (DSP). The first two
+ octets of the IDP are the Authority and Format Identifier (AFI)
+ field. The AFI has an abstract syntax of two hexadecimal digits with
+ a value in the range of 00 to FF. In addition to identifying the
+ address authority responsible for allocating a particular address and
+ the format of the address, the AFI also identifies whether an address
+ is an individual Network address or a group Network address. There
+ are 90 possible AFI values to support individual Network address
+ allocations. In addition, when the AFI value starts with the value
+ "0" this identifies that the field contains an incomplete individual
+ Network address (i.e., identifies an escape code).
+
+ Table 1 allocates 90 possible AFI values to support group Network
+ address allocations. In addition if the first two digits of the IDP
+ are hexadecimal FF, this indicates the presence of an incomplete
+
+
+
+Marlow [Page 5]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ group Network address. The allocation of group addresses is
+ restricted to be only from the AFI values allocated for the
+ assignment of group addresses in Table 1. An addressing authority in
+ allocating either Network addresses or authorizing one or more
+ authorities to allocate addresses, allocates both individual and the
+ corresponding group addresses. Thus each block of addresses allocated
+ by an addressing authority (or its sub-authority) contains a block of
+ individual Network addresses and group Network addresses. The
+ individual and group address block allocated are differentiated by
+ the AFI values used which are related as shown in Table 1.
+
+ Group Network addresses are only used as the destination address
+ parameter of a CLNP PDU. Source Address parameters are never
+ permitted to be group Network addresses.
+
+ Table 2 lists the AFI values which have not been assigned, at this
+ time, for the support of neither individual nor group address
+ allocation. Future assignment of these AFI values is possible.
+ Additional information concerning individual Network addresses (i.e.,
+ NSAP and NET (Network Entity Titles)) is contained in RFC 1237.
+
+ Note: While the format of the Initial Domain Part of a group Network
+ address is assigned, the format for the Domain Specific Part of the
+ group Network address is specified by an addressing authority and is
+ out of the scope of this memo. While NSAP address assignments are
+ typically made to support hierarchical unicast routing, a similar
+ consideration for group Network address assignments may not exist.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Marlow [Page 6]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ TABLE 1 - Relationship of AFI Individual and Group Values
+ -----------------------------------------------------------
+ |Individual Group | Individual Group | Individual Group |
+ -----------------------------------------------------------
+ | 0x FF | | |
+ | 10 A0 | 40 BE | 70 DC |
+ | 11 A1 | 41 BF | 71 DD |
+ | 12 A2 | 42 C0 | 72 DE |
+ | 13 A3 | 43 C1 | 73 DF |
+ | 14 A4 | 44 C2 | 74 E0 |
+ | 15 A5 | 45 C3 | 75 E1 |
+ | 16 A6 | 46 C4 | 76 E2 |
+ | 17 A7 | 47 C5 | 77 E3 |
+ | 18 A8 | 48 C6 | 78 E4 |
+ | 19 A9 | 49 C7 | 79 E5 |
+ | 20 AA | 50 C8 | 80 E6 |
+ | 21 AB | 51 C9 | 81 E7 |
+ | 22 AC | 52 CA | 82 E8 |
+ | 23 AD | 53 CB | 83 E9 |
+ | 24 AE | 54 CC | 84 EA |
+ | 25 AF | 55 CD | 85 EB |
+ | 26 B0 | 56 CE | 86 EC |
+ | 27 B1 | 57 CF | 87 ED |
+ | 28 B2 | 58 D0 | 88 EE |
+ | 29 B3 | 59 D1 | 89 EF |
+ | 30 B4 | 60 D2 | 90 F0 |
+ | 31 B5 | 61 D3 | 91 F1 |
+ | 32 B6 | 62 D4 | 92 F2 |
+ | 33 B7 | 63 D5 | 93 F3 |
+ | 34 B8 | 64 D6 | 94 F4 |
+ | 35 B9 | 65 D7 | 95 F5 |
+ | 36 BA | 66 D8 | 96 F6 |
+ | 37 BB | 67 D9 | 97 F7 |
+ | 38 BC | 68 DA | 98 F8 |
+ | 39 BD | 69 DB | 99 F9 |
+ -----------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Marlow [Page 7]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ TABLE 2 - AFI values reserved for future allocation
+
+ --------------
+ | 1A-1F |
+ | 2A-2F |
+ | 3A-3F |
+ | 4A-4F |
+ | 5A-5F |
+ | 6A-6F |
+ | 7A-7F |
+ | 8A-8F |
+ | 9A-9F |
+ | FA-FE |
+ --------------
+
+4. Model of a CLNP End System Multicast Implementation
+
+ The use of multicast transmission by a CLNP End System involves
+ extensions to two protocols: CLNP and the ES-IS Routeing Protocol. To
+ provide level 0 service (no support for CLNP multicast), no
+ extensions to these two protocols are required. To provide level 1
+ service (support for sending but not receiving CLNP multicast PDUs)
+ all extensions contained in the following sections are required
+ except for those supporting only Multicast Announcement. In order to
+ support level 2 service (full support for CLNP multicasting), the
+ extensions contained in the following sections are required.
+ Extensions identified for Intermediate Systems are not required (or
+ appropriate) for End Systems. Multicast transmission also requires
+ the use of a group Network address (as previously described) as the
+ destination address parameter.
+
+5. Extensions to the CLNP protocol
+
+ This section provides extensions to the CLNP Protocol [CLNP] ISO
+ 8473-1, to support multicast transmission. These additions provide
+ procedures for the connectionless transmission of data and control
+ information from one network-entity to one or more peer network-
+ entities.
+
+ In developing the multicast extensions for CLNP a decision was needed
+ on how to "mark" a packet as multicast (versus the current unicast
+ packets). Such marking is necessary since the forwarding behavior
+ for multicast packets is different (e.g., multiple copies of a packet
+ may need to be forwarded). The two alternatives considered were to
+ mark the packet (via a particular field) or to mark the destination
+ address, in the end both were done. The destination address for a
+ multicast PDU identifies a host group which is of a very different
+ nature than the unicast NSAP address. Rather than changing the
+
+
+
+Marlow [Page 8]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ nature of NSAP addresses, a new set of addresses were created named
+ group Network addresses which are marked within the first octet
+ (i.e., the AFI field) with values reserved for group Network
+ addresses.
+
+ Consideration was given to no further marking of the PDU; however, a
+ problem was identified with only using the group Network address to
+ identify multicast packets. Currently routers implementing the IS-IS
+ Intra-Domain protocol as Level 1 routers when receiving a packet with
+ an unknown destination address are permitted to either discard the
+ packet or send it to a Level 2 router. Such actions by non-multicast
+ capable routers to multicast packets can lead to non-deterministic
+ behavior. Level 1 routers upon receiving a packet containing a group
+ Network address might pass the packet up to a Level 2 router (which
+ may or may not be multicast capable) or it might discard it.
+ Depending upon the circumstances this might lead to whole regions
+ missing packets or packet duplication (possibly even explosion). The
+ result was to seek deterministic behavior by non-multicast capable
+ routers by creating a new PDU type (Multicast Data PDU) and inserting
+ into the CLNP reasons for discard: receiving a PDU of unknown type.
+ Note that this reason for discard is mandatory on multicast capable
+ and non-multicast capable CLNP implementations.
+
+5.1 Definitions
+
+ multicast: Data transmission to one or more destinations in a
+ selected group in a single service invocation.
+
+ multicast capable Intermediate System: An Intermediate System which
+ incorporates the multicast features of the Network layer.
+
+5.2 Addresses
+
+ The destination address parameter of a multicast PDU shall contain a
+ group Network address. The source address parameter shall be an
+ individual Network address.
+
+5.3 Extensions to the current protocol functions
+
+ In order to support multicast transmissions the following optional
+ CLNP protocol functions will be implemented:
+
+5.3.1 Header Format Analysis function
+
+ The header format analysis function optionally provides capabilities
+ to Network entities which support multicast transfer to supply
+ applicable PDUs directly to End Systems served by such a Network
+ entity as well as to forward such PDUs on to other Network entities.
+
+
+
+Marlow [Page 9]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ This optional functionality is realized through a Network entity with
+ multicast capability identifying a PDU as using multicast transfer
+ via the PDU type and the PDU's destination address field.
+
+ If a Network entity supports multicast transmission, then the header
+ format analysis function shall provide checking to ensure that a PDU
+ does not contain a group Network address in the source address field.
+ Any PDU header analyzed to have a group address in the source address
+ field shall be discarded.
+
+5.3.2 Route PDU function
+
+ The route PDU function optionally provides capabilities to Network
+ entities which support multicast transfer for determining multiple
+ Network entities to which a single PDU shall be forwarded to. This
+ may result in multiple invocations of the forward PDU function and
+ hence the need to make multiple copies of the PDU. For PDUs that are
+ received from a different Network entity, the optional functionality
+ for the route PDU function is realized as a result of the header
+ format analysis function's recognition of the PDU as being a
+ multicast PDU. A Network entity attached to more than one subnetwork
+ when originating a multicast PDU is permitted to originate the PDU on
+ more than one subnetwork.
+
+ Note: The ES-IS function "Extensions to the ISO CLNP Route Function
+ by End Systems" discussed in section 6.10 identifies on which
+ subnetworks an End System attached to more than one subnetwork must
+ originate multicast PDUs on.
+
+ Note: The purpose in allowing an originating Network entity to
+ originate a multicast PDU on multiple subnetworks is to support the
+ development of multicast IS-IS protocols which will need to determine
+ on which subnetworks a multicast PDU has visited. This behavior is
+ predicated on the assumption that the Intermediate Systems in the OSI
+ environment performing multicast forwarding form a connected set.
+
+5.3.3 Forward PDU function
+
+ This function issues an SN-UNITDATA request primitive, supplying the
+ subnetwork or Subnetwork Dependent Convergence Function (SNDCF)
+ identified by the route PDU function with the protocol data unit as
+ user data to be transmitted, the address information required by that
+ subnetwork or SNDCF to identify the "next" system or systems within
+ the subnetwork-specific addressing domain (this may be one or more
+ Intermediate Systems and/or one or more destination End Systems), and
+ quality of service constraints (if any) to be considered in the
+ processing of the user data.
+
+
+
+
+Marlow [Page 10]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+5.3.4 Discard PDU function
+
+ Add an additional reason for discard - a PDU is received with an
+ unknown type code.
+
+5.3.5 Error reporting function
+
+ It is important to carefully control the use of the error reporting
+ capability in the case of multicast transfers. The primary concern
+ is to avoid the occurrence of broadcast storms and thus a multicast
+ PDU may not cause the origination of another multicast PDU. This is
+ the primary reason that the source address is not permitted to be a
+ group address. In addition, a multicast PDU with error reporting
+ permitted can result in flooding the source network-entity (as well
+ as the networks used) with Error Report PDUs.
+
+ While error reports are permitted on multicast PDUs, a PDU with a
+ group Network address in the source address field shall not be
+ responded to with an Error Report. This is to ensure that a multicast
+ PDU does not generate another multicast PDU. If the source address is
+ identified as a group address then an error report PDU shall not be
+ generated and the original PDU shall be discarded.
+
+5.3.6 Source routing functions
+
+ No source routing capability is provided for multicast PDU transfer.
+ The NS provider shall not accept a multicast PDU with source route
+ parameters.
+
+5.4 Scope control function
+
+5.4.1 Overview
+
+ The scope control function is an option for multicast PDU forwarding
+ only. The scope control function allows the originator to limit the
+ forwarding of the multicast PDU. The scope control function provides
+ the capability to limit the relaying of a particular PDU based on the
+ individual Network addressing hierarchy and/or limit the amount of
+ multicast expansion which can take place. In cases where both forms
+ of scope control are applied to the same PDU, forwarding will cease
+ once either has reached its scope control limit.
+
+5.4.2 Prefix Based Scope Control
+
+ The prefix based scope control function allows the originator to
+ specify a specific set of address prefixes where the multicast
+ forwarding of a PDU by an Intermediate System occurs only if one of
+ the prefixes matches the Network Entity Title (NET) of the
+
+
+
+Marlow [Page 11]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Intermediate System. Prefix based scope control may be selected only
+ by the originator of a PDU. Prefix based scope control is
+ accomplished using one or more address prefixes held in a parameter
+ within the options part of the PDU header. The length of this
+ parameter is determined by the originating network entity, and does
+ not change during the lifetime of a PDU.
+
+ When an Intermediate System receives a multicast PDU containing a
+ prefix based scope control parameter, forwarding is only performed if
+ every octet of one of the prefixes contained in the prefix based
+ scope control parameter matches that Intermediate System's NET,
+ starting from the beginning of its NET. If no such prefix match
+ exists, the Intermediate System discards the PDU. The error reporting
+ function shall not be invoked upon PDU discard.
+
+5.4.3 Radius Scope Control
+
+ The radius scope control function allows the originator to specify a
+ maximum logical distance where multicast expansion can occur. It is
+ closely associated with the header format analysis function. Each IS
+ receiving a multicast PDU which is capable of expanding and which
+ contains a Radius Scope Control parameter, decrements the Radius
+ Scope Control field in the PDU by an administratively set amount
+ between 0 and the maximum value of the field. An IS, when it
+ decrements the Radius Scope Control field, shall place a value of 0
+ into this field if its current value is less than the amount it is to
+ decrement by. This function determines whether the PDU received may
+ be forwarded or whether its Radius has been reached, in which case it
+ shall be discarded. An Intermediate System shall not forward a
+ multicast PDU containing a Radius Scope Control parameter with a
+ value of 0. The error reporting function shall not be invoked upon
+ PDU discard.
+
+5.4.3.1 Radius Scope Control Example
+
+ The Radius Scope Control parameter is useful where policies have been
+ established across the potential forwarding path. One possible
+ policy for Internet use is for multicast capable routers to treat
+ this field as a hop count within a domain (decrement by one unit) and
+ for inter-domain routers to either decrement this field to an even
+ multiple of 256 when crossing domains where prior agreements have
+ been made or decrement this field to 0 (i.e., discard the packet) for
+ other domains.
+
+
+
+
+
+
+
+
+Marlow [Page 12]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+5.5 Structure and Encoding of PDUs
+
+ Multicast transmission is accomplished via the transfer of Multicast
+ Data (MD) PDUs. The PDU type code for a MD PDU is "1 1 1 0 1". The
+ format of the MD PDU is identical to that of the Data (DT) PDU. The
+ MD and DT PDU may contain the same optional parameters with the
+ following exceptions: (1)The source routing parameter is permitted
+ within DT PDUs but not MD PDUs; and (2)The scope control parameter is
+ permitted within MD PDUs but not DT PDUs.
+
+5.6 Optional parameters for multicast support
+
+5.6.1 Prefix Based Scope Control
+
+ The prefix based scope control parameter specifies one or more
+ address prefixes for which Intermediate System forwarding requires a
+ match of one of the contained prefixes with the beginning of the
+ Intermediate System's NET.
+
+ Parameter Code: 1100 0100
+
+ Parameter Length: variable
+
+ Parameter Value: a concatenation of address prefix entries
+
+ The parameter value contains an address prefix list. The list
+ consists of variable length address prefix entries. The first octet
+ of each entry gives the length of the address prefix denominated in
+ bits that comprises the remainder of the entry. If the length field
+ does not specify an integral number of octets then the prefix entry
+ is followed by enough trailing zeroes to make the end of the entry
+ fall on an octet boundary. The list must contain at least one entry.
+
+ The prefix shall end on a boundary that is legal in the abstract
+ syntax of the address family from which it is derived. For example,
+ the encoding of a prefix whose DSP is expressed in decimal syntax
+ must end on a semi-octet boundary, while the encoding of a prefix
+ whose DSP is expressed in binary syntax can end on an arbitrary bit
+ boundary. If the end of the prefix falls within the IDP, then the
+ prefix must end on a semi-octet boundary and must not contain any
+ padding characters.
+
+ Note: The length of the prefix based scope control parameter is
+ determined by the originator of the PDU and is not changed during the
+ lifetime of the PDU.
+
+
+
+
+
+
+Marlow [Page 13]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+5.6.1.1 Prefix matching
+
+ A prefix that extends into the DSP shall be compared directly against
+ the encoded NET address, including any padding characters that may be
+ present. A prefix which does not extend into the DSP shall be
+ compared against the derived quantity NET', which is obtained from
+ the NET address by removing all padding characters (as defined by the
+ binary encoding process of ISO 8348).
+
+ The existence of a match shall be determined as follows:
+
+ a) If the encoded NET (or NET') contains fewer bits than the pre-
+ fix, then there is no match.
+
+ b) If the encoded NET (or NET') contains at least as many bits as
+ the prefix, and all bits of the prefix are identical to the
+ corresponding leading bits of the encoded NET (or NET'), there
+ is a match. Otherwise, there is no match.
+
+5.6.2 Radius Scope Control
+
+ The radius scope control parameter specifies the logical distance
+ that a multicast PDU can be forwarded.
+
+ Parameter Code: 1100 0110
+
+ Parameter Length: two octets
+
+ Parameter Value: two octets which represents the remaining
+ distance, that the PDU can be forwarded,
+ in administratively set units.
+
+5.7 Provision of the Underlying Service
+
+ For a subnetwork that provides an inherent multicast capability, it
+ is the functionality of the SNDCF to provide the mapping between
+ group Network addresses and the corresponding addressing capability
+ of the subnetwork.
+
+5.8 Conformance
+
+ All of the extensions provided to the functions to support multicast
+ capability are optional. For an End System or Intermediate System
+ which is not multicast capable these extensions are not applicable.
+ An implementation claiming conformance as a multicast capable End
+ System shall meet all of the requirements for an End System which is
+ not multicast capable and also provide all of the multicast
+ extensions provided here. An implementation claiming conformance as a
+
+
+
+Marlow [Page 14]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ multicast capable Intermediate System shall meet all of the
+ requirements for an Intermediate System which is not multicast
+ capable and also provide all of the multicast extensions provided
+ here.
+
+6. Extensions to the ES-IS Routeing Protocol
+
+ This section provides optional extensions to the ES-IS Routeing
+ Protocol [ES-IS], ISO 9542 to support the transfer of multicast PDUs.
+ It is an explicit goal of this specification that ESs and ISs, some
+ of which will have multicast capabilities and some without, will be
+ able to fully function on the same subnetworks. This specification
+ does not change any aspect of a currently defined (i.e., non-
+ multicast) ISO 9542 implementation, it adds new optional
+ functionality not modifying current functionality. Two basic
+ functions are provided: multicast announcement and multicast address
+ mapping.
+
+6.1 Overview of the protocol
+
+6.1.1 Operation of ESs receiving multicast PDUs
+
+ ESs, upon initialization and periodically thereafter, will construct
+ End System Group Hello (ESGH) PDUs identifying, by particular group
+ Network addresses, the multicast PDUs it wishes to receive. The ES
+ will periodically originate (announce) these ESGH PDUs on the
+ subnetwork it wishes to receive these on. Reporting the same group
+ Network address on multiple subnetworks may result in the reception
+ of duplicate PDUs. ES-IS operations related to requesting the same
+ group Network address on multiple subnetworks are handled totally
+ independently (e.g., using different logical timers,...). It is
+ permitted for an ES to report a number of group Network addresses in
+ the same ESGH PDU. The only restrictions placed on providing
+ multiple group Network addresses within the same ESGH PDU are that
+ all packets requested are to be received on the same subnet, with the
+ same holding time and that the ESGH PDU be of length equal to or less
+ that its maximum packet size constraint. Note that each group
+ Network address in the ESGH PDU is paired with its own SNPA
+ (subnetwork point of attachment) address.
+
+ An ES will always have an SNPA address associated with each of its
+ active group Network addresses. An SNPA address is a subnetwork
+ address, in the case of a subnetwork which uses IEEE 802 addresses
+ the SNPA address is a 48 bit IEEE 802 MAC (media access control)
+ address. Of particular interest is the address used to mark the
+ destination group. For a subnetwork using IEEE 802 addressing a
+ group SNPA address uses a particular bit position to "mark" group
+ SNPA addresses.
+
+
+
+Marlow [Page 15]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Upon initialization the ES may have static SNPA address associations
+ (Pre-configured SNPA addresses). For any group Network address
+ without a Pre-configured SNPA address that the ES wishes to receive,
+ the ES will associate the "All Multicast Capable End Systems" SNPA
+ address. Upon receiving a Multicast Address Mapping (MAM) PDU
+ containing a group Network address that the ES is announcing, the ES
+ will use the SNPA address pairing contained in the MAM PDU for that
+ group Network address. Upon the expiration of the Mapping Holding
+ Timer, the ES shall revert back to associating either the Pre-
+ configured SNPA address if one exists or the "All Multicast Capable
+ End Systems" SNPA address for the specific group Network address.
+ While an ES is permitted to listen in on other ESs announcements
+ (needed for the damping option), an ES is not permitted to change its
+ group Network address to SNPA address mapping based on the
+ announcement of other ESs.
+
+ Optionally, the ES may perform damping (resetting a Multicast
+ Announcement Timer corresponding to a particular group Network
+ address) if the conditions necessary to withhold a particular
+ announcement are met. In order to perform damping the following
+ conditions must be met: (1)The ES must be processing other ES's
+ announcements; (2)An ESGH PDU is received that identifies the exact
+ same group Network address and SNPA address pairing on a particular
+ subnetwork that this ES is announcing on; (3) The Multicast Holding
+ Timer parameter value in the ESGH PDU received is equal to or greater
+ than the Multicast Holding Timer value, for this subnetwork, that is
+ being used by the ES processing this ESGH PDU.
+
+ ESs will utilize a local default value for their Multicast
+ Announcement Timer to control the period for sending out their ESGH
+ PDUs. The Active Multicast IS, if one exists on a particular
+ subnetwork, may suggest a value for ESs on the subnetwork to use for
+ their Multicast Announcement Timer for a specific group Network
+ address. In order to support the optional damping function, ESs are
+ required to incorporate a 25% jittering to the timer values that they
+ are using.
+
+6.1.2 Operation of ESs originating multicast PDUs
+
+ The ES originating multicast packets identified by a specific group
+ Network address is not required to be a receiver of such packets (and
+ thus is not announcing that particular group Network address). The
+ origination of multicast PDUs involves two differences to the
+ origination of unicast PDUs. The two differences are: (1)The
+ mechanism for selecting a destination SNPA address and (2)For End
+ Systems attached to more than one subnet, the decision on which
+ subnet(s) to originate the PDUs.
+
+
+
+
+Marlow [Page 16]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ The destination SNPA address used for originating each multicast
+ packet depends on whether there is a multicast capable IS attached to
+ the subnetworks. When a multicast capable IS is attached, the
+ decision depends on whether there is multicast address mapping
+ information available for that subnetwork corresponding to the group
+ Network address used as the destination address parameter of the
+ multicast packet. When there is a multicast capable IS attached to a
+ subnetwork and there is multicast address mapping information
+ available corresponding to the group Network address, then the SNPA
+ address obtained from the multicast address mapping information is
+ used. Originating multicast packets using the destination SNPA
+ address used for receiving such multicast packets ensures that the
+ multicast packets will not require additional forwarding on the
+ originating subnetwork(s). When there is a multicast capable IS
+ attached to a subnetwork but for which there is no multicast address
+ mapping information available corresponding to the the group Network
+ address, then the SNPA address used is the "All Multicast Capable
+ Intermediate Systems" address.
+
+ When there is no multicast capable IS attached to a subnetwork then
+ the ES originating a multicast PDU uses pre-configured information if
+ it is available or the "All Multicast Capable End Systems" SNPA
+ address when no pre-configured information is available.
+
+ ES's attached to more than one subnetwork forward each multicast
+ packet that they originate onto every attached subnetwork for which
+ the NSAP address being used as the source address of the multicast
+ packet is actively being reported through the unicast ES-IS Report
+ Configuration function.
+
+6.1.3 Operation of the Active Multicast IS
+
+ The Active Multicast IS listens in on all ESGH PDUs originated on the
+ subnetwork for which it is serving as the Active Multicast IS. All
+ subnetworks are handled independently (even if multiple subnetworks
+ have the same ESs attached and the IS is serving as the Active
+ Multicast IS for these subnetworks).
+
+ The Active Multicast IS originates MAM PDUs, for all group Network
+ addresses for which it has received ESGH PDUs, on the subnetwork due
+ to the following operational conditions:
+
+ 1) The IS initializes either as the Active Multicast IS after an
+ election with other multicast capable ISs or initializes
+ believing it is the only multicast capable IS;
+
+ Note: The determination of such conditions is outside of the scope of
+ this specification;
+
+
+
+Marlow [Page 17]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ 2) The IS receives an ESGH PDU with a group Network address paired
+ to an incorrect SNPA address;
+
+ 3) The expiration of the IS's Multicast Address Mapping Timer for
+ that group Network address; or
+
+ Note: This is to prevent the expiration of Mapping Holding Timers in
+ ESs.
+
+ 4) The IS receives a multicast PDU originated on the subnetwork
+ which used an incorrect destination SNPA address.
+
+ Note: Of particular concern are those multicast packets using the
+ "All Multicast Capable Intermediate Systems" SNPA address when
+ another SNPA address should have been used. In addition the
+ multicast capable ISs are responsible for listening in on all
+ multicast packets using destination SNPA addresses that are contained
+ within the current multicast address mapping information.
+
+ As a result of the event driven conditions (i.e., conditions 2 or 4
+ above), the Active Multicast IS sends a MAM PDU with direct
+ information (i.e., not needing analysis of the Mask parameters). The
+ Active Multicast IS limits the number of MAM PDUs that are sent out
+ per unit of time. Particular MAM PDUs with direct information will
+ not be sent more than once per second. MAM PDU will be sent in
+ response to continuing event driven conditions such that events
+ occurring greater than 10 seconds after the issuance of such a MAM
+ PDU will result in the issuance of another MAM PDU.
+
+ The Active Multicast IS is responsible for forwarding a multicast
+ packet back on the subnetwork it was originated when a multicast
+ packet used the "All Multicast Capable Intermediate System" SNPA
+ address when another SNPA address should have been used. A packet
+ forwarded back onto the subnetwork the multicast packet was
+ originated on will be given a CLNP Lifetime of "1" to prevent the
+ continued relaying of duplicate packets by the multicast ISs.
+
+ The further relaying of any multicast packet originated on a
+ subnetwork is the responsibility of the multicast routing protocol
+ used and is outside the scope of this specification.
+
+6.2 Definitions
+
+ Active Multicast IS: The one multicast capable IS selected (via means
+ outside of this specification) to originate Multicast Address Mapping
+ information on a particular subnetwork.
+
+
+
+
+
+Marlow [Page 18]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Paired SNPA Address: The SNPA address associated with a particular
+ group Network address on a specific subnetwork.
+
+6.3 Routing information supporting multicast transmission
+
+6.3.1 Multicast Announcement Information
+
+ An IS should forward a multicast PDU containing a particular
+ destination group Network address onto a subnetwork to which it is
+ attached if and only if one or more of the ESs attached to that
+ subnetwork have declared an interest in receiving multicast PDUs
+ destined for that group Network address. Multicast announcement
+ information enables an IS that supports CLNP multicast to dynamically
+ discover, for each subnetwork to which it is attached, the group
+ Network addresses for which ESs attached to that subnetwork have
+ declared an interest.
+
+ On a point-to-point subnetwork the multicast announcement information
+ informs the Network entity, in the case where it is attached to an
+ End System, of the group Network addresses for which that End System
+ expects to receive multicast PDUs.
+
+ On a broadcast subnetwork the multicast announcement information
+ informs the multicast capable Intermediate Systems, of the group
+ Network addresses for which ESs attached to that subnetwork expect to
+ receive multicast PDUs.
+
+ Note: Intermediate Systems with the optional OSI multicast
+ capabilities do receive information identifying the SNPA address of
+ ESs on the broadcast network that want PDUs with particular group
+ Network addresses as their destination address; however, the critical
+ information is which multicast PDUs are needed, not which ESs need
+ them.
+
+6.3.2 Multicast Address Mapping Information
+
+ In order to receive multicast packets destined for a particular group
+ Network address, an ES may need to associate with the group Network
+ address a specific SNPA address. Multicast address mapping
+ information enables an IS to inform ESs that they can receive
+ multicast packets destined for a particular group Network address on
+ a corresponding specific SNPA address. In addition, multicast
+ address mapping information may provide the specific destination SNPA
+ addresses needed by an ES for originating multicast packets.
+
+ Multicast address mapping information is not employed on point-to-
+ point subnetworks.
+
+
+
+
+Marlow [Page 19]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Multicast address mapping information is employed on broadcast sub-
+ networks to enable multicast capable Intermediate Systems to inform
+ the multicast capable End Systems that they can receive, on a
+ specific broadcast subnetwork, multicast packets destined for a
+ particular group Network address on a corresponding specific SNPA
+ address. In addition multicast address mapping information provides
+ the specific destination SNPA address, that corresponds to a
+ particular group Network address, for each multicast packet that it
+ originates on a specific broadcast subnetwork.
+
+6.4 Addresses
+
+ All exchanges using this protocol are accomplished over a single
+ subnetwork. While the control PDU's contain Network addresses (i.e.,
+ group Network addresses) actual control PDU transfer is accomplished
+ via Subnetwork based group addresses (i.e., group SNPA addresses).
+ The following group SNPA addresses are used: (1)All Multicast Capable
+ End Systems; (2)All Multicast Announcements; (3)All Multicast Capable
+ Intermediate Systems and (4)a group SNPA address corresponding to a
+ group Network address
+
+6.5 Timers
+
+ Two additional timers are employed: (1)the Multicast Announcement
+ Timer (MAT) and (2)Multicast Address Mapping Timer (MAMT). Old
+ multicast announcement or multicast address mapping information shall
+ be discarded after the Holding Timer expires to ensure the correct
+ operation of the protocol.
+
+6.5.1 Multicast Announcement Timer
+
+ The Multicast Announcement Timer is a local timer (i.e., maintained
+ independently by each End System, one timer per group Network
+ address) which assists in performing the Report Multicast
+ Announcement function. The timer determines how often an End System
+ reports its desire to receive multicast PDUs with that group Network
+ address as its destination address parameter. Considerations in
+ setting this timer are similar to those described for the
+ Configuration timer in the ES-IS specification.
+
+6.5.2 Multicast Address Mapping Timer
+
+ The Multicast Address Mapping Timer is a local timer (i.e.,
+ maintained independently by an Intermediate System which is actively
+ participating with End Systems to transfer multicast PDUs) which
+ assists in performing the Report Multicast Address Mapping function.
+ The timer determines how often an Intermediate System, actively
+ participating with End Systems for the transfer of multicast PDUs,
+
+
+
+Marlow [Page 20]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ reports the Multicast Address Mapping for a particular group Network
+ address. The shorter the Multicast Address Mapping Timer, the more
+ quickly End Systems on the subnetwork will become aware of the
+ correct address mapping which may change due to the Intermediate
+ System becoming available or unavailable. There is a trade off
+ between increased responsiveness and increased use of resources in
+ the subnetwork and in the End Systems.
+
+6.6 Extensions to the current protocol functions
+
+ In order to support multicast transmissions the following optional
+ ES-IS protocol functions will be implemented:
+
+6.6.1 Report Configuration by Intermediate Systems
+
+ All multicast capable Intermediate Systems on a subnetwork shall use
+ the Multicast Capable option in all ISH PDUs that they originate.
+ This will provide multicast capable End Systems with a way to
+ determine that a multicast capable Intermediate System is operating
+ on a particular subnetwork.
+
+6.6.2 Query Configuration
+
+ Note: The Query Configuration function cannot be performed to find
+ the corresponding SNPA address of a group Network address since the
+ addressing information needed is the corresponding group SNPA address
+ and not the SNPA address of a particular End System responding. On a
+ large broadcast subnetwork, many different Configuration Responses
+ could result each incorporating a different End System Address. While
+ it is possible to design a Query Configuration for use with
+ multicast, this function does not appear to be required given the use
+ of the "All Multicast Capable End Systems" address for supplying a
+ SNPA address when the group SNPA address is not known.
+
+6.7 Multicast Announcement
+
+6.7.1 Report Multicast Announcement Function by End Systems
+
+ An End System which needs to receive or continue to receive any
+ multicast PDUs (i.e., PDUs with group Network addresses as their
+ destination address), constructs and transmits ESGH PDUs to inform
+ multicast capable Intermediate Systems of the set of group Network
+ address destinations for which it wishes to receive PDUs. This may be
+ done by constructing ESGH PDUs for each group Network address.
+ Alternatively, ESGH PDUs may be constructed which convey information
+ about more than one group Network address at a time, up to the limits
+ imposed by the permitted SNSDU size and the maximum header size of
+ the ESGH PDU. Each ESGH PDU is transmitted by issuing an SN-
+
+
+
+Marlow [Page 21]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ UNITDATA.Request with the following parameters:
+
+ SN_Userdata (SNSDU) <- ESGH PDU
+
+ SN_Destination _Address <- multi-destination address that indicates
+ "All Multicast Announcements"
+
+ If an End System is attached to more than one subnetwork, the
+ information about each group Network address desired for receiving on
+ a particular subnetwork serving the End System shall be transmitted
+ via that subnetwork. It is permissible for an End System to report
+ group Network addresses on multiple subnetworks; however, duplicate
+ multicast PDUs should be anticipated.
+
+ The Group Address Pair parameter carries a list of Group Network
+ Addresses, each paired with its associated SNPA address. This
+ information is used by the Active Multicast IS to determine whether a
+ Multicast Address Mapping PDU should be emitted to update the
+ association between Group Network Addresses and SNPA addresses.
+
+ The Holding Time (HT) field is set to approximately twice the ES's
+ Multicast Announcement Timer (MAT) parameter. The value shall be
+ large enough so that even if every other ESGH PDU is discarded (due
+ to lack of resources), or otherwise lost in the subnetwork, the
+ multicast announcement information will still be maintained. The
+ value should be set small enough so that Intermediate Systems
+ resources are not needlessly consumed when the ES no longer wishes to
+ receive PDUs destined to a group Network address.
+
+ Note: When combining multiple group Network addresses in a single
+ ESGH PDU, it should be realized that there is a single Holding Time
+ parameter associated with all of these addresses.
+
+6.7.1.1 Generating Jitter on Multicast Announcement Timers
+
+ The ES shall apply a 25% jitter to its Multicast Announcement Timer
+ (MAT) parameter. When ESGH PDUs are transmitted as a result of timer
+ expiration, there is a danger that the timers of individual systems
+ may become synchronised. The result of this is that the traffic
+ distribution will contain peaks. Where there are a large number of
+ synchronised systems, this can cause overloading of both the
+ transmission medium and the systems receiving the PDUs. In order to
+ prevent this from occurring, all periodic timers, the expiration of
+ which can cause the transmission of PDUs, shall have "jitter"
+ introduced as defined in the following algorithm.
+
+
+
+
+
+
+Marlow [Page 22]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ CONSTANT
+ Jitter = 25;
+ Resolution = 100;
+
+ (* The timer resolution in ms *)
+ PROCEDURE Random(max: Integer): Integer;
+
+ (* This procedure delivers a Uniformly distributed random
+ integer R such that 0 < R <max *)
+ PROCEDURE WaitUntil(time: Integer)
+
+ (* This procedure waits the specified number of
+ ms and then returns *)
+ PROCEDURE CurrentTime(): Integer
+
+ (* This procedure returns the current time in ms *)
+
+ PROCEDURE
+ DefineJitteredTimer(baseTimeValueInSeconds : Integer;
+ expirationAction : Procedure);
+
+ VAR
+ baseTimeValue, maximumTimeModifier, waitTime : Integer;
+ nextexpiration : Time;
+
+ BEGIN
+ baseTimeValue := baseTimeValueInSeconds * 1000 / Resolution;
+ maximumTimeModifier := baseTimeValue * Jitter / 100;
+ (* Compute maximum possible jitter *)
+
+ WHILE running DO
+
+ BEGIN
+
+ (*First compute next expiration time *)
+ randomTimeModifier := Random(maximumTimeModifier);
+ waitTime:= baseTimeValue - randomTimeModifier;
+ nextexpiration := CurrentTime() + waitTime;
+
+ (* Then perform expiration Action *)
+ expirationAction;
+ WaitUntil(nextexpiration);
+
+ END (* of Loop *)
+
+ END (* of DefineJitteredTimer *)
+
+
+
+
+
+Marlow [Page 23]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Thus the call "DefineJitteredTimer(HelloTime, SendHelloPDU);" where
+ "HelloTime" is 10 seconds, will cause the action "SendHelloPDU" to be
+ performed at random intervals of between 7.5 and 10 seconds. The
+ essential point of this algorithm is that the value of
+ "randomTimeModifier" is randomised within the inner loop. Note that
+ the new expiration time is set immediately on expiration of the last
+ interval, rather than when the expiration action has been completed.
+
+ The time resolution shall be less than or equal to 100 ms. It is
+ recommended to be less than or equal to 10ms. The time resolution is
+ the maximum interval than can elapse without there being any change
+ in the value of the timer. The periodic transmission period shall be
+ random or pseudo-random in the specified range. with uniform
+ distribution across similar implementations.
+
+ Note: Applying jitter to the MAT parameter is required in order to
+ support the optional Damping function. If no jitter is applied on a
+ subnetwork where many ESs are requesting a particular multicast PDU
+ it is likely that they will have the same value for their MAT and
+ these timers may all become synchronised. Such synchronisation will
+ result in peaks in the distribution of traffic as described above.
+ The resulting overloading of the transmission medium and the systems
+ receiving the PDUs will negate any beneficial use of the Damping
+ function (since systems may be attempting to transmit their own ESGH
+ PDUs at the time they receive ESGH PDUs originated by other ESs with
+ the same group Network address.
+
+6.7.2 Record Multicast Announcement Function
+
+ The Record Multicast Announcement function receives ESGH PDUs,
+ extracts the multicast announcement information and updates the
+ information in its routing information base.
+
+ The receiving system is not required to process any option fields in
+ a received ESGH PDU.
+
+ Note: When a system chooses to process these optional fields, the
+ precise actions are not specified by this International Standard.
+
+6.7.2.1 Record Multicast Announcement Function by Intermediate Systems
+
+ On receipt of an ESGH PDU an IS with the optional multicast
+ capabilities extracts the configuration information and stores the
+ {group Network address, subnetwork} in its routing information base
+ replacing any other information for the same entry.
+
+
+
+
+
+
+Marlow [Page 24]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ The Active Multicast IS upon receipt of an ESGH PDU also extracts the
+ Paired SNPA Address parameter corresponding to each group Network
+ address in the ESGH PDU. If the Active Multicast IS has a mapping for
+ a group Network address carried in the ESGH for which the paired SNPA
+ address does not match, the Report Multicast Address Mapping function
+ is performed.
+
+6.7.2.2 Optional Damping Function
+
+ An ES with the optional capabilities to support multicast transfer
+ may decide to process ESGH PDUs multicast by other End Systems. There
+ is potentially some reduction in network traffic by doing this. An ES
+ requesting to receive multicast PDUs is permitted to reset its
+ Multicast Announcement Timer corresponding to one group Network
+ address on one subnetwork upon receiving an ESGH PDU from another ES
+ under the following circumstances:
+
+ a) The {group Network address, paired SNPA address} received on a
+ particular subnetwork matches that of the ES processing the ESGH
+ PDU for that subnetwork.
+
+ b) The Holding Timer parameter value in the ESGH PDU received is
+ equal to or greater than the Holding Timer value for the, group
+ Network address, being used by the ES processing this PDU.
+
+6.7.3 Flush Old Multicast Announcement Function
+
+ The Flush Old Multicast Announcement function is executed to remove
+ multicast announcement entries in its routing information base whose
+ Holding Timer has expired. When the Holding Timer for a group Network
+ address expires, this function removes the corresponding entry from
+ the routing information base of the local IS for the corresponding
+ subnetwork.
+
+6.8 Multicast Address Mapping
+
+6.8.1 Report Multicast Address Mapping Function by Intermediate Systems
+
+ The Active Multicast Intermediate System constructs a MAM PDU,
+ corresponding to a group Network address for which it received via
+ the Record Multicast Announcement function, and issues these PDUs
+ under the following circumstances:
+
+ a) The IS initializes either as the Active Multicast IS after an
+ election with other multicast capable ISs or initializes after
+ determining it is the only multicast capable IS (the
+ determination of such conditions are outside of the scope of
+ this standard), or
+
+
+
+Marlow [Page 25]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ b) The IS receives an ESGH PDU with a group Network address paired
+ to an SNPA address other than the SNPA address contained in the
+ Active Multicast IS's multicast address mapping information for
+ that group Network address, or
+
+ Note: The Active Multicast IS determines which mappings are correct.
+ Pre-configured mappings which are used prior to the initialization of
+ the Active Multicast IS may be determined to be incorrect by the
+ Active Multicast IS.
+
+ c) The expiration of the IS's Multicast Address Mapping Timer for
+ that group Network address.
+
+ Note: This is to prevent the expiration of Holding Timers in ESs.
+
+ d) The IS receives a multicast PDU originated on the subnetwork
+ which used an incorrect destination SNPA address.
+
+ Note: Of particular concern are those multicast packets using the
+ "All Multicast Capable Intermediate Systems" SNPA address when
+ another SNPA address should have been used. The Originating
+ Subnetwork Forwarding function is performed if this event occurs (see
+ section 6.11).
+
+ Note: The multicast capable ISs need to receive multicast packets on
+ all SNPA addresses that are contained in the current multicast
+ address mapping information for the subnetwork. The multicast
+ capable ISs are not required to receive multicast packets on any SNPA
+ addresses other than those contained in the current multicast address
+ mapping information and the "All Multicast Capable Intermediate
+ Systems" SNPA address.
+
+ Circumstances b) and d) are the event driven conditions for the
+ Active Multicast IS to construct and issue a MAM PDU. The Active
+ Multicast IS shall limit the number of MAM PDUs issued per unit of
+ time. MAM PDUs with identical information shall not be issued more
+ than once per second. Event conditions occurring 10 seconds after
+ the last issue of an appropriate MAM PDU shall result in the issuance
+ of another such MAM PDU.
+
+ The IS serving as the Active Multicast Intermediate System may
+ construct a MAM PDU for each group Network address. Alternatively,
+ MAM PDUs may be constructed which convey information about more than
+ one group Network address at a time, up to the limits imposed by the
+ permitted SNSDU size and the maximum header size of the MAM PDU. The
+ IS performs all multicast address mapping functions independently for
+ each of its subnetworks even if this IS is the Active Multicast IS on
+ multiple subnetworks. Each MAM PDU is transmitted by issuing an SN-
+
+
+
+Marlow [Page 26]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ UNITDATA.Request with the following parameters:
+
+ SN_Userdata (SNSDU) <- MAM PDU
+
+ SN_Destination _Address <- multi-destination address that indicates
+ "All Multicast Capable End Systems"
+
+ The Holding Time (HT) field is set to approximately twice the
+ Intermediate System's Multicast Address Mapping Timer (MAMT)
+ parameter. This variable shall be set to a value large enough so
+ that even if every other MAM PDU, for a particular group Network
+ address, is discarded (due to lack of resources), or otherwise lost
+ in the subnetwork, the multicast address mapping information will
+ still be maintained. The value should be set small enough so that End
+ Systems will quickly cease to use the multicast address mappings
+ supplied by ISs that have failed.
+
+ Note: -- The Holding Timer parameter value applies to all group
+ Network addresses called out in the MAM PDU.
+
+ The Group Address Pair parameter is used to convey the association
+ between Group Network Addresses and SNPA addresses.
+
+ Optionally, the Active Multicast IS may include information in the
+ MAM PDU indicating a larger population of group Network addresses to
+ which the same multicast address mapping information applies. There
+ are two optional fields for this purpose: the Group Network Address
+ Mask option and the Paired SNPA Address Mask option.
+
+ There are three permitted cases for including or excluding the masks.
+ In the first case, both masks are absent. In this case the MAM PDU
+ conveys information about one set of enumerated group Network
+ addresses only.
+
+ Note: -- Multiple group address pairs may be contained in a single
+ MAM PDU.
+
+ In the second case, the MAM PDU contains a Group Network Address Mask
+ but no Paired SNPA Address Mask. In this case, the MAM PDU conveys
+ information about an equivalence class of group Network addresses.
+ The information reveals that multiple group Network addresses are
+ mapped to the same SNPA address.
+
+ In the third case, the MAM PDU contains both masks. As in the second
+ case, the MAM PDU conveys information about an equivalence class of
+ group Network addresses. But in this case, the information reveals
+ that the SNPA addresses for the equivalence class of group Network
+ address are embedded in the group Network address. In particular the
+
+
+
+Marlow [Page 27]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Paired SNPA Address Mask indicates the location of the SNPA address
+ in the group Network Address(es).
+
+ The Active Multicast IS shall construct a MAM PDU with direct
+ information, not needing analysis of the Mask parameters, in response
+ to the occurrence of an event driven condition. The Active Multicast
+ IS may provide additional information in such a MAM PDU via the use
+ of Mask parameters.
+
+ An IS may suggest a value for End Systems on the local subnetwork to
+ use as their Multicast Announcement Timers, for a specific group
+ Network address, by including the Suggested ES Multicast Announcement
+ Timer (ESMAT) parameter in the transmitted MAM PDU. Setting this
+ parameter permits the Active Multicast IS to influence the frequency
+ with which ESs transmit ESGH PDUs.
+
+ Note: If the ESMAT parameter is used, the one value permitted in the
+ MAM PDU is suggested for all group Network addresses called out in
+ the MAM PDU.
+
+6.8.2 Record Multicast Address Mapping Function by End Systems
+
+ The Record Multicast Address Mapping function receives MAM PDUs,
+ extracts the multicast address mapping information and updates the
+ information in its routing information base. The receiving system is
+ not required to process any option fields in a received MAM PDU with
+ the exception of the Suggested ES Multicast Announcement Timer
+ (ESMAT) parameter.
+
+ Note: When a system chooses to process these optional fields, the
+ precise actions are not specified by this International Standard.
+
+ On receipt of a MAM PDU an ES with the optional multicast
+ capabilities extracts the multicast address mapping information and
+ stores the {group Network address, paired SNPA address} for a
+ particular subnetwork in its routing information base replacing any
+ other information for the same group Network address and subnetwork.
+
+ In addition, an ES shall set its Multicast Announcement Timer,
+ corresponding to the group Network address for which it is performing
+ the Record Multicast Address Mapping function, based on receipt of a
+ MAM PDU, corresponding to that group Network address, containing an
+ ESMAT parameter.
+
+ Note: While an ES may process ESGH PDUs multicast by other ESs to
+ support the optional Damping function, an ES is not permitted to
+ change its own mapping due to the mapping found in other ES's ESGH
+ PDUs.
+
+
+
+Marlow [Page 28]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+6.8.3 Flush Old Multicast Address Mapping Function by End Systems
+
+ The Flush Old Multicast Address Mapping function is executed to
+ remove multicast address mapping entries in its routing information
+ base whose corresponding Holding Timer has expired. When such a
+ Holding Timer for a multicast address mapping expires, this function
+ removes the corresponding entry from its routing information base for
+ the corresponding SNPA.
+
+6.9 Paired SNPA Address Selection Function by End Systems
+
+ An End System shall pair each group Network address with an
+ associated SNPA address to support receiving (e.g., performing the
+ Report Multicast Announcement function) and originating multicast
+ PDUs.
+
+6.9.1 Paired SNPA Address Selection for Receiving Multicast PDUs
+
+ An End System always has a paired SNPA address for every active group
+ Network address on a particular subnetwork. This mapping is obtained
+ by:
+
+ a) recording a multicast address mapping which is maintaining an
+ active holding timer, or if there has been no dynamic
+ information received, by
+
+ b) having pre-configured multicast address mapping information, or
+ if neither dynamic nor pre-configured information is available,
+ by
+
+ c) mapping the "All Multicast Capable End Systems" multi-
+ destination address to the group Network address.
+
+6.9.2 Paired SNPA Address Selection for Originating Multicast PDUs
+
+ An End System, originating a multicast PDU, pairs a SNPA address to
+ the group Network address. This mapping is obtained in the following
+ manner:
+
+ a) If there is a multicast capable IS reachable on the subnetwork
+ then the SNPA address used by an End System originating a multi-
+ cast PDU is either the paired SNPA address obtained from the
+ multicast address mapping information associated with the group
+ Network address in the multicast PDU's Destination address
+ parameter or if there is no valid entry for the group Network
+ address by using the "All Multicast Capable Intermediate Sys-
+ tems" multi-destination address, or if there is no multicast
+ capable Intermediate System on the subnetwork, by
+
+
+
+Marlow [Page 29]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Note: Multicast address mapping information is valid if the Holding
+ Timer associated with it has not expired.
+
+ Note: An ES can determine if a multicast capable IS is reachable on
+ the subnetwork by having for that subnetwork either (1)multicast
+ address mapping information or (2)routing information received via an
+ ISH PDU containing a Multicast Capable optional parameter. In either
+ case the information must be valid (i.e., the Holding Timer for the
+ information must not have expired).
+
+ b) having pre-configured multicast address mapping information, or
+ if neither a multicast capable Intermediate System is present on
+ the subnetwork nor pre-configured information is available, by
+
+ c) mapping the "All Multicast Capable End Systems" multi-
+ destination address to the group Network address.
+
+6.10 Extensions to the ISO CLNP Route Function by End Systems
+
+ An End System attached to more than one subnetwork shall determine
+ when originating a multicast PDU whether to forward this multicast
+ PDU to more than one subnetwork or not. End Systems shall originate
+ each multicast PDU on all subnetworks for which the ISO ES-IS
+ Configuration function is actively reporting the NSAP address
+ contained in the Source Address parameter of the multicast PDU. As a
+ result of this function multiple invocations of the ISO CLNP
+ Forwarding function may result when such an ES originates a multicast
+ PDU.
+
+6.11 Originating Subnetwork Forwarding Function by Intermediate
+ Systems
+
+ The Active Multicast IS upon receiving a multicast PDU originated on
+ a subnetwork which used the "All Multicast Capable Intermediate
+ Systems" SNPA address when another SNPA address should have been
+ used, performs the Originating Subnetwork Forwarding function. The
+ multicast address mapping information defines the correct SNPA
+ address pairings for a given subnetwork. The Originating Subnetwork
+ Forwarding function forwards the multicast PDU back on subnetwork it
+ was originated on. In the case that the ES was attached to more than
+ one subnetwork and originated the multicast PDU on more than one
+ subnetwork, the Active Multicast IS for each subnetwork performs the
+ Originating Subnetwork Forwarding function for the subnetwork that
+ they are responsible for.
+
+ The Active Multicast IS obtains the contents for the multicast PDU
+ for the Originating Subnetwork Forwarding function by using the
+ contents of the multicast PDU received with the incorrect destination
+
+
+
+Marlow [Page 30]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ SNPA address and replacing the original PDU Lifetime field with the
+ value one (0000 0001). The Active Multicast IS performs the ISO 8473
+ PDU Composition function and forwards the PDU to the subnetwork that
+ the PDU was originated on using the ISO 8473 Forwarding function with
+ the correct destination SNPA address.
+
+ Note: The PDU Lifetime field is set to "one" to ensure that ISs
+ attached to the originating subnetwork do not forward this PDU on.
+ Such ISs should have received the PDU when it was originated since
+ this function is only performed in the event of receiving a multicast
+ PDU incorrectly addressed to the "All Multicast Capable Intermediate
+ Systems" SNPA address.
+
+6.12 Structure and Encoding of PDUs
+
+ The ES-IS multicast control functions are supported via the exchange
+ of ESGH and MAM PDUs. The one exception to this is that a new
+ optional parameter, the Multicast Capable parameter, is provided for
+ use within the ISH PDU.
+
+6.12.1 PDU Type Codes
+
+ The Multicast Announcement is accomplished via the transfer of End
+ System Group Hello (ESGH) PDUs. The PDU type code for an ESGH PDU is
+ "0 0 1 0 1". The Multicast Address Mapping (MAM) is accomplished via
+ the transfer of Multicast Address Mapping PDUs. The PDU type code for
+ a MAM PDU is "0 0 1 1 1".
+
+6.12.2 Hold Time field
+
+ The Holding Time field specifies the maximum time for the receiving
+ Network entity to retain the multicast announcement or multicast
+ address mapping information contained in the PDU.
+
+6.12.3 Structure of Addressing Parameters
+
+ The ESGH and MAM PDUs carry one or more group Network addresses
+ (GNAs) each with their associated Paired SNPA Address (PSA).
+
+6.12.4 Group Address Pair Parameter for ESGH and MAM PDUs
+
+ The Group Address Pair parameter is a list of one or more group
+ Network addresses each with their associated Paired SNPA address. The
+ group Network address identifies specific multicast PDUs and the
+ Paired SNPA address is the SNPA address on which the ES expects to
+ receive such multicast PDUs on that subnetwork. It is encoded in the
+ ESGH and MAM PDUs as shown in Figure 1.
+
+
+
+
+Marlow [Page 31]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Octet
+ ,----------------------------------------------------,
+ | Number of Group Address Pairs | 10
+ |----------------------------------------------------|
+ | Group Network Address Length Indicator (GNAL) | 11
+ |----------------------------------------------------|
+ | | 12
+ : Group Network Address (GNA) :
+ | |
+ |----------------------------------------------------|
+ | Paired SNPA Address Length Indicator (PSAL) |
+ |----------------------------------------------------|
+ | |
+ : Paired SNPA Address (PSA) :
+ | |
+ |----------------------------------------------------|
+ | GNAL |
+ |----------------------------------------------------|
+ | |
+ : GNA :
+ | |
+ |----------------------------------------------------|
+ | PSAL |
+ |----------------------------------------------------|
+ | |
+ : PSA :
+ | | m-1
+ '----------------------------------------------------'
+
+ Figure 1 - ESGH and MAM PDUs - - Group Address Pair Parameter
+
+6.12.5 Extensions to the current Option Parameters
+
+ The Security and Priority optional parameters may be carried in a
+ ESGH PDU. There is no Security or Priority option for the MAM PDU.
+
+6.12.6 Suggested ES Multicast Announcement Timer
+
+ The ESMAT parameter may appear only in the MAM PDU
+
+ The ESMAT parameter conveys the value that an IS requests the
+ receiving ESs to use as their local Multicast Announcement Timer.
+
+ Parameter Code: 1100 0111
+
+ Parameter Length: two octets
+
+ Parameter Value: ESMAT in units of seconds.
+
+
+
+Marlow [Page 32]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+6.12.7 Multicast Capable
+
+ The Multicast Capable option may appear only in the ISH PDU
+
+ The Multicast Capable options consists only of a one octet code and a
+ one octet parameter length field, there is no parameter field.
+
+ Parameter Code: 1100 1000
+
+ Parameter Length: zero octets
+
+ Parameter Value: none (parameter does not exist).
+
+6.12.8 Group Network Address Mask
+
+ The Group Network Address Mask option may only appear in the MAM PDU.
+
+ The Group Network Address Mask parameter indicates that the multicast
+ address mapping information applies to a larger population of group
+ Network Addresses than the group Network address(es) contained in the
+ MAM PDU indicates. When this option is provided in a MAM PDU, the
+ masking relationship contained must be valid for all group Network
+ addresses contained in this PDU. An End System may ignore this
+ parameter.
+
+ The Group Network Address Mask establishes an equivalence class of
+ group Network addresses to which the same multicast address mapping
+ information applies. To determine whether or not a trial group
+ Network address falls within the equivalence class, the ES aligns the
+ trial group Network address with the Group Network Address Mask
+ padding the latter with trailing zero octets if necessary. If in all
+ bit positions where the Group Network Address Mask is "1" the trial
+ group Network address matches the Group Network Address field of the
+ Group Address Pair parameter of the MAM PDU, then the trial group
+ Network address belongs to the equivalence class described by the MAM
+ PDU.
+
+ The Group Network Address Mask parameter has additional semantics
+ when considered with the Paired SNPA Address Mask parameter.
+
+ Parameter Code: 1110 0011
+
+ Parameter Length: variable, up to 20 octets
+
+ Parameter Value: a comparison mask of octets to be
+ aligned with the Group Network Address
+ field of the Group Address Pair
+ parameter of the MAM PDU.
+
+
+
+Marlow [Page 33]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+6.12.9 Paired SNPA Address Mask
+
+ The Paired SNPA Address Mask option may only appear in the MAM PDU.
+
+ When the Paired SNPA Address Mask is present, the equivalence class
+ defined by the Group Network Address Mask also has common structure
+ below the Group Network Address Mask; i.e., in the portion of the
+ group Network address where the Group Network Address Mask is
+ logically "0". The Paired SNPA Address Mask supplies additional
+ information about the structure, by indicating certain bit positions
+ within the space "below" the Group Network Address Mask.
+ Specifically, the Paired SNPA Address Mask indicates the location of
+ the Paired SNPA address in the Group Network Address.
+
+ This parameter may appear in a MAM PDU only if the Group Network
+ Address Mask is also present. When this option is provided in a MAM
+ PDU, the masking relationship contained must be valid for all group
+ Network addresses contained in this PDU. An ES receiving such a MAM
+ PDU may safely ignore both masks. However (since presence of both
+ masks dictates different functional behavior than the presence of the
+ Group Network Address Mask alone) an ES shall not ignore one of the
+ masks while heeding the other.
+
+ Parameter Code: 1110 0100
+
+ Parameter Length: variable
+
+ Parameter Value: a comparison mask of octets to be
+ aligned with the Group Network Address
+ field(s) of the Group Address Pair
+ parameter of the MAM PDU.
+
+6.12.9.1 Mask Parameters Example
+
+ This section provides examples of using the Group Network Address
+ Mask and the Paired SNPA Address Mask. The examples given are for an
+ Internet usage of CLNP Multicasting across subnetworks using IEEE 802
+ addressing. For these examples the group Network address format is:
+
+ +-----+----------------------------------------+
+ | IDP | Upper DSP | Embedded SNPA address | SEL|
+ +-----+-----------+-----------------------+----+
+ octets: | 3 | 10 | 6 | 1 |
+ +-----+-----------+-----------------------+----+
+
+ Thus the group Network address used is 20 octets. For these
+ examples, the only field considered is the Embedded SNPA address
+ field and its placement within the group Network address.
+
+
+
+Marlow [Page 34]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ In the first example it is the policy in "this part of the Internet"
+ to map the Embedded SNPA address into the IEEE 802 address space
+ reserved by IEEE 802 for group addressing using LOCAL assignment,
+ this corresponds to all 48 bit values with the two low order bits of
+ the first octet set to "11".
+
+ The Active Multicast Intermediate System on this subnetwork may
+ construct a MAM PDU to map, for this example, a group Network address
+ of {13 octets, 03-00-DA-DA-DA-DA, 1 octet} and a paired SNPA address
+ of 03-00-DA-DA-DA-DA. In addition the Active Multicast Intermediate
+ System can include in the MAM PDU a Group Network Address Mask of
+ FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-03-00-00-00-00-00-00.
+
+ With this parameter, all group Network addresses which share the
+ identical first 13 octet and with "11" in the two low order bits of
+ the 14th octet are put in an equivalence class and share the same
+ mapping information. If this were the only option present then all of
+ these group Network addresses would all have a paired SNPA address of
+ 03-00-DA-DA-DA-DA.
+
+ In order to map the group Network addresses to the range of IEEE
+ addresses of this example, the MAM PDU must also contain a Paired
+ SNPA Address Mask. The Paired SNPA Address Mask identifies where the
+ SNPA Address is contained within the group Network addresses (defined
+ by the equivalence class formed by the Group Network Address Mask
+ within the same PDU). For this example the Paired SNPA Address Mask
+ is 00-00-00-00-00-00-00-00-00-00-00-00-00-FF-FF-FF-FF-FF-FF-00.
+
+ As a second example, all group Network addresses with a specific OUI
+ (organizationally unique identifier) using the twenty octet group
+ Network address format provided above are mapped to their embedded
+ SNPA address. An OUI is assigned by IEEE 802 and is three octets in
+ length. The OUI is contained in the first three address octets of a
+ GLOBALLY assigned IEEE 802 address. For this example the MAM PDU
+ must contain the following:
+
+ 1. A group Network address contained within the MAM PDU with the
+ OUI of interest.
+
+ 2. A group Network address Mask of FF-FF-FF-FF-FF-FF-FF-FF-FF-
+ FF-FF-FF-FF-FF-FF-FF-00-00-00-00.
+
+ 3. A Paired SNPA Address of 00-00-00-00-00-00-00-00-00-
+ 00-00-00-00-FF-FF-FF-FF-FF-FF-00.
+
+6.12.10 End System Group Hello (ESGH) PDU
+
+ The ESGH PDU has the format shown in figure 2:
+
+
+
+Marlow [Page 35]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Octet
+ ,----------------------------------------------------,
+ | Network Layer Protocol Identifier | 1
+ |----------------------------------------------------|
+ | Length Indicator | 2
+ |----------------------------------------------------|
+ | Version/Protocol ID Extension | 3
+ |----------------------------------------------------|
+ | reserved (must be zero) | 4
+ |----------------------------------------------------|
+ | 0 | 0 | 0 | Type (00101 = ESGH) | 2
+ |----------------------------------------------------|
+ | Holding Time | 6,7
+ |----------------------------------------------------|
+ | Checksum | 8,9
+ |----------------------------------------------------|
+ | Number of Group Address Pairs | 10
+ |----------------------------------------------------|
+ | Group Network Address Length Indicator (GNAL) | 11
+ |----------------------------------------------------|
+ | | 12
+ : Group Network Address (GNA) :
+ | |
+ |----------------------------------------------------|
+ | Paired SNPA Address Length Indicator (PSAL) |
+ |----------------------------------------------------|
+ | |
+ : Paired SNPA Address (PSA) :
+ | |
+ |----------------------------------------------------|
+ | GNAL |
+ |----------------------------------------------------|
+ | |
+ : GNA |
+ | |
+ |----------------------------------------------------|
+ | PSAL |
+ |----------------------------------------------------|
+ | |
+ : PSA :
+ | | m-1
+ |----------------------------------------------------|
+ | | m
+ : Options :
+ | | p-1
+ '----------------------------------------------------'
+ Figure 2 - ESGH PDU Format
+
+
+
+
+Marlow [Page 36]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+6.12.11 Multicast Address Mapping (MAM) PDU
+
+ The MAM PDU has the format shown in figure 3:
+
+ Octet
+ ,----------------------------------------------------,
+ | Network Layer Protocol Identifier | 1
+ |----------------------------------------------------|
+ | Length Indicator | 2
+ |----------------------------------------------------|
+ | Version/Protocol ID Extension | 3
+ |----------------------------------------------------|
+ | reserved (must be zero) | 4
+ |----------------------------------------------------|
+ | 0 | 0 | 0 | Type (00111 = MAM) | 2
+ |----------------------------------------------------|
+ | Holding Time | 6,7
+ |----------------------------------------------------|
+ | Checksum | 8,9
+ |----------------------------------------------------|
+ | Number of Group Address Pairs | 10
+ |----------------------------------------------------|
+ | Group Network Address Length Indicator (GNAL) | 11
+ |----------------------------------------------------|
+ | | 12
+ : Group Network Address (GNA) :
+ | |
+ |----------------------------------------------------|
+ | Paired SNPA Address Length Indicator (PSAL) |
+ |----------------------------------------------------|
+ | |
+ : Paired SNPA Address (PSA) :
+ | |
+ |----------------------------------------------------|
+ | GNAL |
+ |----------------------------------------------------|
+ | |
+ : GNA :
+ | |
+ |----------------------------------------------------|
+ | PSAL |
+ |----------------------------------------------------|
+ | |
+ : PSA :
+ | | m-1
+
+
+
+
+
+
+Marlow [Page 37]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ |----------------------------------------------------|
+ | | m
+ : Options :
+ | | p-1
+ '----------------------------------------------------'
+ Figure 3 - MAM PDU Format
+
+6.13 Conformance
+
+ All of the extensions provided to the functions to support multicast
+ capability are optional. For an End System or Intermediate System
+ which is not multicast capable these extensions are not applicable. A
+ Network entity may choose to be multicast capable, a multicast
+ capable Network entity is required to support both multicast
+ announcement information and multicast address mapping information.
+
+ An implementation claiming conformance as a multicast capable End
+ System shall meet all of the requirements for an End System which is
+ not multicast capable and shall support multicast announcement
+ information and shall implement the functions marked as Mandatory (M)
+ in column 4 of table 3. A multicast capable End System implementation
+ shall also support multicast address mapping information and shall
+ implement the functions marked as Mandatory (M) in column 5 of table
+ 3.
+
+ An implementation claiming conformance as a multicast capable
+ Intermediate System shall meet all of the requirements for an
+ Intermediate System which is not multicast capable and shall support
+ multicast announcement information and shall implement the functions
+ marked as Mandatory (M) in column 6 of table 3. A multicast capable
+ Intermediate System implementation shall also support multicast
+ address mapping information and shall implement the functions marked
+ as Mandatory (M) in column 7 of table 3.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Marlow [Page 38]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Table 3 - Static Conformance Requirements for Multicast Capable
+ Network Entities
+ ES IS
+ Clause --------------
+ Label Function Reference AI MI AI MI
+ ------------------------------------------------------------------
+ RpMAn Report Multicast Announcement 6.7.1 M - - -
+ RcMAn Record Multicast Announcement 6.7.2.1 - - M -
+ RcDamp Record Damping 6.7.2.2 O - - -
+ FlMAn Flush Old Multicast Announcement 6.7.3 O - M -
+
+ RpMAdMa Report Multicast Address Mapping 6.8.1 - - - M
+ MATGn ESMAT Generation 6.8.1 - - - M
+ RcMAdMa Record Multicast Address Mapping 6.8.2 - M - -
+ MATPr ESMAT Processing 6.8.2 - M - -
+ FlMAdMa Flush Old Multicast Address Map 6.8.3 - M - -
+
+ PSAdSel Paired SNPA Address Selection 6.9.1 - M - -
+ ExtForw Extensions to CLNP Route Function 6.10 - M - -
+ OSuForw Originating Subnetwork Forwarding 6.11 - - - M
+
+ Key:
+ AI = Multicast Announcement information supported
+ MI = Multicast Address Mapping information supported
+
+ M = Mandatory; O = Optional; - = not applicable
+
+7. Security Considerations
+
+ Security issues are not discussed in this memo.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Marlow [Page 39]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+Appendix A. Differences with RFC 1112
+
+ This appendix is intended to identify differences between the
+ mechanisms defined for CLNP Multicast in this specification and those
+ for IP multicast defined in RFC 1112. The work on CLNP Multicast
+ followed the work on IP multicast and was explicitly aimed at
+ bringing the capabilities described in RFC 1112 into a CLNP context.
+ This appendix is intended to provide some background information on
+ the difference; however, it is not intended to justify the mechanisms
+ selected for CLNP multicast use.
+
+ Static/Dynamic Address Binding of Multicast Datagrams
+
+ IP multicast utilizes a static binding of Class D IP addresses to a
+ specific range of IEEE 802 48 bit group addresses. The IEEE 802
+ address range that is used is within the address range that IEEE 802
+ allocates for "Global" administration and this block of addresses is
+ under the control of the Internet Assigned Numbers Authority (IANA)
+ which in turn has allocated this block of addresses for use by IP
+ multicast. This scheme is very simple and efficient. Given the use
+ of a 32 bit IP address, the lower 23 bits of the Class D address are
+ mapped into the lower 23 bits of a 48 bit IEEE 802 address where the
+ upper 25 bits are fixed. Static binding of this form is global in
+ scope (all members of a group use the same IEEE 802 address on all
+ subnets (at least all that use IEEE 802 addressing).
+
+ CLNP multicast uses a dynamic binding of a group Network address (up
+ to 20 bytes) to any subnetwork address. In cases where no multicast
+ capable Intermediate Systems are attached to a subnetwork then a
+ binding using preconfigured information or the "All Multicast Capable
+ End Systems" subnetwork addresses is used. The large GNA provides the
+ room to contain a full 48 bit IEEE 802 address if desired. Mask
+ capabilities are optionally provided which allow a multicast capable
+ Intermediate System to specify a "static" binding for a particular
+ subnetwork. One of the major purposes of providing a dynamic binding
+ is to customize a host's subnetwork address usage to the capabilities
+ of the attached systems. There is considerable differences in the
+ numbers of group subnetwork addresses that a system can recognize
+ using hardware hooks built into the integrated circuits used. For
+ example the number of addresses that can be recognized by hardware
+ may differ by an attached system depending upon the interface it uses
+ (e.g., Ethernet interface and FDDI within the same system may have
+ quite different capabilities). Dynamic binding of this form is local
+ in scope (members of a group may use different subnetwork addresses
+ (e.g., IEEE 802 addresses) on different subnets).
+
+
+
+
+
+
+Marlow [Page 40]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Originating of Multicast Datagrams
+
+ IP multicast originates multicast datagrams directly, where the host
+ originating a datagram sends it with the group Subnetwork address as
+ its destination. Hosts attached to the network where the datagram is
+ originated receive the datagram directly.
+
+ CLNP multicast originates multicast datagrams directly using the
+ group's subnetwork address as its destination when multicast address
+ mapping information is available. This case occurs when a multicast
+ capable Intermediate System is attached to the subnetwork and a host
+ on the subnetwork is announcing an interest in multicast packets
+ identified by a particular group Network address. The Active
+ Multicast IS may use MAM PDU mask parameters to provide multicast
+ address mapping information for a large number of group Network
+ addresses. When there is no multicast address mapping information for
+ the particular group Network address on a subnetwork with a multicast
+ capable IS attached to it, hosts originate packets using such
+ addresses sends to the "All Multicast Capable Intermediate Systems"
+ SNPA address. This case occurs when there are no receivers of such
+ multicast packets on the originating subnetwork. When a multicast
+ capable Intermediate System is not attached to a subnetwork, the End
+ System may utilize either preconfigured information (which might be a
+ direct mapping from a portion of the group Network address) or use
+ the "All Multicast Capable End Systems" address.
+
+ Address Binding of Control Packets
+
+ IP multicast sends the control packets related to the IGMP protocol
+ on the same subnetwork address that is used by the multicast data
+ traffic.
+
+ CLNP multicast sends the control packets related to the ES-IS
+ protocol extensions on specific group subnetwork addresses (i.e.,
+ "All Multicast Capable End Systems" and "All Multicast Announcements"
+ addresses).
+
+ Router Requirements for relaying Multicast Datagrams
+
+ IP multicast requires that a multicast router run in "promiscuous"
+ mode where it must receive all multicast datagrams originated on a
+ subnetwork regardless of the destination. This is a result of the
+ choices selected in the "Originating of Multicast Datagrams" and
+ "Address Binding of Control Packets" discussed above.
+
+ CLNP multicast allows a multicast router to limit multicast packet
+ reception to only those datagrams sent to the SNPA addresses where
+ there is current multicast address mapping information or to the "All
+
+
+
+Marlow [Page 41]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ Multicast Capable Intermediate Systems" address. The intention is to
+ allow the multicast routers to be in control of the SNPA addresses
+ for multicast packets that they need to receive. This is a result of
+ the choices selected in the "Originating of Multicast Datagrams" and
+ "Address Binding of Control Packets" discussed above.
+
+ Aggregation of Control Information
+
+ In IP multicast, a host is required to withhold an announcement
+ report upon hearing another host reporting a similar interest in a
+ particular Class D address on a particular subnetwork. This is an
+ option for CLNP multicast (upon hearing interest in a particular
+ group Network address on a particular subnetwork). Such reports are
+ not combined in IP multicast while CLNP multicast supports providing
+ multiple announcements (and address mappings) within a single packet.
+ A mask feature for address mappings supports identifying mappings for
+ a range of group Network addresses within a single control packet.
+
+ Datagram Scope Control
+
+ IP multicast supports the use of the IP Hop Count as a means to
+ support scope control. While not documented in RFC 1112, a technique
+ is also being used to use bits within the Class D address to identify
+ whether a datagram has single subnetwork, "campus" or global scope.
+
+ CLNP has considerable scope control functionality. While the PDU
+ Lifetime field can be employed in a similar way to the IP Hop Count,
+ two additional options are available. The Radius scope control
+ provides a mechanism for "administratively" setting distance values
+ and de-couples the multicast scope control from the PDU lifetime
+ function. More importantly, the Prefix based scope control appears to
+ provide considerable and flexible functionality that can adjust to
+ situations where a known, hierarchical unicast addressing structure
+ exists.
+
+ Marking of Multicast Datagrams
+
+ IP multicast marks a multicast PDU via the use of an IP Class D
+ address as its destination address parameter. CLNP multicast marks
+ both the PDU (a different PDU type) and the destination address
+ (i.e., group Network address) parameter.
+
+ Unicast Addressing Differences
+
+ An IP address identifies a specific host interface while a CLNP
+ individual Network address (i.e., NSAP address) identifies a
+ particular Network entity. This difference has lead to a difference
+ with RFC 1112. IP multicast requires a host which is attached to
+
+
+
+Marlow [Page 42]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ more than one subnetwork to originate a multicast packet on only one
+ subnetwork. CLNP multicast requires a host which is attached to more
+ than one subnetwork to originate a multicast packet on every
+ subnetwork that the ISO ES-IS Configuration function is reporting the
+ NSAP address contained in the source address parameter of the
+ multicast PDU.
+
+ Error Reports
+
+ Error reports sent in response to receiving a multicast PDU are not
+ permitted in IP multicast while they are permitted in CLNP multicast.
+
+ Source Routing
+
+ Source routing of multicast PDUs are permitted in IP multicast (but
+ at the present time this is discouraged) while they are not permitted
+ in CLNP multicast.
+
+Appendix B. Issues Under Study
+
+ This appendix is intended to record the current issues (as discussed
+ at the March 1994 TUBA meeting).
+
+ 1. Local versus Global address bindings
+
+ The extensions to the ES-IS protocol provide a multicast address
+ mapping function which supports dynamically binding a group Network
+ address to a subnetwork address. Concern has been expressed that
+ this is an unnecessary feature which complicates the job of network
+ administrators without suitable benefit. A static, global binding of
+ group Network addresses to IEEE 802 subnetwork addresses, as is used
+ by IP multicast has been suggested.
+
+ The two main reasons that the group Network address to subnetwork
+ (IEEE 802) address was made locally configurable were to support
+ multicast on subnets with hosts having a mixture of capabilities (as
+ to how many multicast subnetwork addresses a host could register to
+ receive at a time) and to support multicast on subnets that do not
+ use 48 bit IEEE 802 addresses. Thus it was felt that this should be
+ done per subnetwork versus globally. Even multi-homed hosts with
+ subnets that use 802 addresses may have varying capabilities (looking
+ at typical Ethernet, FDDI and 802.5 implementations).
+
+ One possible solution is to recommend a direct mapping in any
+ Internet use of CLNP multicast on subnets which use IEEE 802
+ addressing. This could be a default for all Internet hosts. A
+ policy would be needed to identify the Internet's group Network
+ address format. Given such a mapping the only operational overhead
+
+
+
+Marlow [Page 43]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ that would occur is that in the presence of a mapping server (the
+ Active Multicast IS), which was supporting this mapping, a MAM PDU
+ would periodically be sent with a Group Network Address Mask which
+ would identify the direct mapping.
+
+ 2. "Real Time" Scope Control Features
+
+ The scope control features are provided via optional parameters. Use
+ of multicast transfer of audio and video streams may require scope
+ control mechanisms which operate very quickly.
+
+ One possible solution is to embed scope control mechanisms into the
+ group Network address itself. For example, a group Network address
+ using the "Local" AFI is automatically limited to not cross inter-
+ domain borders. Further, more flexible, address formats may be
+ developed.
+
+References
+
+ [Deering91] Deering, S., "Multicast Routing in a Datagram
+ Internetwork", PhD thesis, Electrical Engineering Dept., Stanford
+ University, December 1991.
+
+ [RFC1112] Deering, S., "Host Extensions for IP Multicasting",
+ STD 5, RFC 1112, Stanford University, August 1989.
+
+ [RFC1237] Colella, R., Gardner, E., and R. Callon, "Guidelines for OSI
+ NSAP Allocation in the Internet", RFC 1237, NIST, Mitre, DEC, July
+ 1991.
+
+ [CLNP] Protocol for providing the connectionless-mode network service,
+ International Standard 8473-1, Second Edition, ISO/IEC JTC 1,
+ Switzerland 1994. (Available via FTP from
+ merit.edu:pub/iso/iso8473part1.ps).
+
+ [ES-IS] End system to Intermediate system routing exchange protocol
+ for use in conjunction with the Protocol for providing the
+ connectionless-mode network service, International Standard 9542,
+ ISO/IEC JTC 1, Switzerland 1987. (Available via FTP from
+ merit.edu:pub/iso/iso9542.ps).
+
+ [MULT-AMDS]: Amendments to ISO standards to support CLNP multicast
+ extensions:
+
+ ISO 8348 AM5 Amendment to the Network Service to support Group Network
+ Addressing. International Standard ISO 8348 Amendment 5, ISO/IEC JTC
+ 1, Switzerland 1994.
+
+
+
+
+Marlow [Page 44]
+
+RFC 1768 CLNP Multicasting March 1995
+
+
+ ISO 8473-1 DAM1 - Draft Amendment to the Second Edition of the
+ Protocol for providing the connectionless-mode network service [CLNP],
+ Multicast Extension, 1993.
+
+ ISO 9542 DAM2 - Draft Amendment to the ES-IS [ES-IS] protocol,
+ Addition of connectionless- mode multicast capability, 1993.
+
+Author's Address
+
+ Dave Marlow
+ Code B35
+ NSWC-DD
+ Dahlgren, VA. 22448
+
+ Phone: (703) 663-1675
+ EMail: dmarlow@relay.nswc.navy.mil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Marlow [Page 45]
+