summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7256.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7256.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7256.txt')
-rw-r--r--doc/rfc/rfc7256.txt5547
1 files changed, 5547 insertions, 0 deletions
diff --git a/doc/rfc/rfc7256.txt b/doc/rfc/rfc7256.txt
new file mode 100644
index 0000000..1da32d4
--- /dev/null
+++ b/doc/rfc/rfc7256.txt
@@ -0,0 +1,5547 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) F. Le Faucheur
+Request for Comments: 7256 R. Maglione
+Updates: 6320 Cisco
+Category: Standards Track T. Taylor
+ISSN: 2070-1721 Huawei
+ July 2014
+
+
+Multicast Control Extensions for the Access Node Control Protocol (ANCP)
+
+Abstract
+
+ This document specifies the extensions to the Access Node Control
+ Protocol (ANCP) (RFC 6320) required for support of the multicast use
+ cases defined in the Access Node Control Protocol framework document
+ (RFC 5851) and one additional use case described in this document.
+ These use cases are organized into the following ANCP capabilities:
+
+ o multicast replication initiated by the Network Access Server
+ (NAS);
+
+ o conditional access and admission control with white and black
+ lists;
+
+ o conditional access and admission control with grey lists;
+
+ o bandwidth delegation; and
+
+ o committed bandwidth reporting.
+
+ These capabilities may be combined according to the rules given in
+ this specification.
+
+ This document updates RFC 6320 by assigning capability type 3 to a
+ capability specified in this document and by changing the starting
+ point for IANA allocation of result codes determined by IETF
+ Consensus from 0x100 to 0x64.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 1]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 5741.
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7256.
+
+Copyright Notice
+
+ Copyright (c) 2014 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction ....................................................5
+ 1.1. A Note on Scope ............................................7
+ 2. Terminology .....................................................7
+ 3. Multicast Use Cases .............................................7
+ 3.1. NAS-Initiated Multicast Replication Control Use Case .......8
+ 3.1.1. Goals ...............................................8
+ 3.1.2. Message Flow ........................................9
+ 3.2. Conditional Access and Admission Control Use Case ..........9
+ 3.2.1. Goals ...............................................9
+ 3.2.2. Message Flow .......................................10
+ 3.3. Multicast Flow Reporting Use Case .........................11
+ 3.3.1. Goals ..............................................11
+ 3.3.2. Message Flow .......................................11
+ 3.4. Committed Bandwidth Reporting Use Case ....................11
+ 3.4.1. Goals ..............................................11
+ 3.4.2. Message Flow .......................................12
+ 4. ANCP Messages ..................................................13
+ 4.1. Provisioning Message ......................................13
+
+
+
+Le Faucheur, et al. Standards Track [Page 2]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 4.1.1. Sender Behavior ....................................14
+ 4.1.2. Receiver Behavior ..................................14
+ 4.2. Port Management Message ...................................15
+ 4.2.1. Sender Behavior ....................................16
+ 4.2.2. Receiver Behavior ..................................16
+ 4.3. Multicast Replication Control Message .....................17
+ 4.3.1. Sender Behavior ....................................21
+ 4.3.2. Receiver Behavior ..................................21
+ 4.4. Multicast Admission Control Message .......................24
+ 4.4.1. Sender Behavior ....................................25
+ 4.4.2. Receiver Behavior ..................................26
+ 4.5. Bandwidth Reallocation Request Message ....................27
+ 4.5.1. Sender Behavior ....................................28
+ 4.5.2. Receiver Behavior ..................................28
+ 4.6. Bandwidth Transfer Message ................................31
+ 4.6.1. Sender Behavior ....................................32
+ 4.6.2. Receiver Behavior ..................................32
+ 4.7. Delegated Bandwidth Query Request Message .................34
+ 4.7.1. Sender Behavior ....................................34
+ 4.7.2. Receiver Behavior ..................................34
+ 4.8. Delegated Bandwidth Query Response Message ................34
+ 4.8.1. Sender Behavior ....................................35
+ 4.8.2. Receiver Behavior ..................................35
+ 4.9. Multicast Flow Query Request and Response Messages ........36
+ 4.9.1. Sender Behavior ....................................36
+ 4.9.2. Receiver Behavior ..................................37
+ 4.10. Committed Bandwidth Report Message .......................38
+ 4.10.1. Sender Behavior ...................................38
+ 4.10.2. Receiver Behavior .................................39
+ 5. ANCP TLVs For Multicast ........................................39
+ 5.1. Multicast-Service-Profile TLV .............................39
+ 5.2. Multicast-Service-Profile-Name TLV ........................41
+ 5.3. List-Action TLV ...........................................41
+ 5.4. Sequence-Number TLV .......................................44
+ 5.5. Bandwidth-Allocation TLV ..................................45
+ 5.6. White-List-CAC TLV ........................................45
+ 5.7. MRepCtl-CAC TLV ...........................................46
+ 5.8. Bandwidth-Request TLV .....................................46
+ 5.9. Request-Source-IP TLV .....................................47
+ 5.10. Request-Source-MAC TLV ...................................48
+ 5.11. Request-Source-Device-Id TLV .............................48
+ 5.12. Multicast-Flow TLV .......................................49
+ 5.13. Report-Buffering-Time TLV ................................50
+ 5.14. Committed-Bandwidth TLV ..................................51
+ 6. Multicast Capabilities .........................................51
+ 6.1. Required Protocol Support .................................52
+ 6.1.1. Protocol Requirements for NAS-Initiated
+ Multicast Replication ..............................52
+
+
+
+Le Faucheur, et al. Standards Track [Page 3]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 6.1.2. Protocol Requirements for Committed
+ Multicast Bandwidth Reporting ......................54
+ 6.1.3. Protocol Requirements for Conditional
+ Access and Admission Control with White
+ and Black Lists ....................................55
+ 6.1.4. Protocol Requirements for Conditional
+ Access and Admission Control with Grey Lists .......56
+ 6.1.5. Protocol Requirements for Bandwidth Delegation .....57
+ 6.2. Capability-Specific Procedures for Providing
+ Multicast Service .........................................57
+ 6.2.1. Procedures for NAS-Initiated Multicast
+ Replication ........................................58
+ 6.2.2. Procedures for Committed Bandwidth Reporting .......58
+ 6.2.3. Procedures for Conditional Access and
+ Admission Control with Black and White Lists .......59
+ 6.2.4. Procedures for Conditional Access and
+ Admission Control with Grey Lists ..................61
+ 6.2.5. Procedures for Bandwidth Delegation ................63
+ 6.3. Combinations of Multicast Capabilities ....................64
+ 6.3.1. Combination of Conditional Access and
+ Admission Control with White and Black Lists
+ and Conditional Access and Admission Control
+ with Grey Lists ....................................64
+ 6.3.2. Combination of Conditional Access and
+ Admission Control with Bandwidth Delegation ........65
+ 6.3.3. Combination of NAS-Initiated Replication
+ with Other Capabilities ............................65
+ 6.3.4. Combinations of Committed Bandwidth
+ Reporting with Other Multicast Capabilities ........66
+ 7. Miscellaneous Considerations ...................................66
+ 7.1. Report Buffering Considerations ...........................66
+ 7.2. Congestion Considerations .................................67
+ 8. Security Considerations ........................................67
+ 9. IANA Considerations ............................................69
+ 10. Acknowledgements ..............................................72
+ 11. References ....................................................73
+ 11.1. Normative References .....................................73
+ 11.2. Informative References ...................................73
+ Appendix A. Example of Messages and Message Flows ................75
+ A.1. Provisioning Phase ........................................75
+ A.2. Handling Grey-Listed Flows ................................81
+ A.3. Handling White-Listed Flows ...............................87
+ A.4. Handling of Black-Listed Join Requests ....................92
+ A.5. Handling of Requests to Join and Leave the On-Line Game ...92
+ A.6. Example Flow for Multicast Flow Reporting .................95
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 4]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+1. Introduction
+
+ [RFC5851] defines a framework and requirements for an Access Node
+ (AN) control mechanism between a Network Access Server (NAS) and an
+ Access Node (e.g., a Digital Subscriber Line Access Multiplexer
+ (DSLAM)) in a multi-service reference architecture in order to
+ perform QoS-related, service-related, and subscriber-related
+ operations. [RFC6320] specifies a protocol for Access Node Control
+ in broadband networks in line with this framework.
+
+ [RFC6320] supports, specifically for DSL access, three use cases
+ defined in [RFC5851]: the Topology Discovery use case, the Line
+ Configuration use case, and the Remote Connectivity Test use case.
+ However, it does not support the multicast use cases defined in
+ [RFC5851]. The present document specifies the extensions to the
+ Access Node Control Protocol required for support of these multicast
+ use cases. In addition, it supports the Committed Bandwidth
+ Reporting use case, described below. In terms of ANCP, these use
+ cases are organized into five capabilities:
+
+ o NAS-initiated multicast replication;
+
+ o conditional access and admission control with white and black
+ lists;
+
+ o conditional access and admission control with grey lists;
+
+ o bandwidth delegation; and
+
+ o committed bandwidth reporting.
+
+ NAS-initiated multicast replication assumes that multicast join and
+ leave requests are terminated on the NAS or that the NAS receives
+ requests to establish multicast sessions through other means (e.g.,
+ application-level signaling). The NAS sends commands to the AN to
+ start or stop replication of specific multicast flows on specific
+ subscriber ports. This use case is described briefly in the next-to-
+ last paragraph of Section 3.4 of [RFC5851].
+
+ Conditional access is described in Section 3.4.1 of [RFC5851].
+ Section 3.4.2.2 of [RFC5851] mentions a way in which conditional
+ access can be combined with admission control to allow best-effort
+ multicast flows, and Section 3.4.2.3 points out the necessary
+ conditions for using both conditional access and admission control.
+
+ In the case of "conditional access and admission control with white
+ and black lists", multicast join and leave requests are terminated at
+ the AN and accepted or ignored in accordance with the direction
+
+
+
+Le Faucheur, et al. Standards Track [Page 5]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ provided by white and black lists, respectively. The white and black
+ lists are provisioned per port at startup time and may be modified
+ thereafter. The NAS may combine conditional access with admission
+ control of white-listed flows by appropriate provisioning.
+
+ Conditional access and admission control with grey lists is similar
+ to conditional access and admission control with white lists, except
+ that before accepting any request matching a grey list entry, the AN
+ sends a request to the NAS for permission to replicate the flow.
+ Again, the NAS can enable admission control of grey-listed flows at
+ the AN.
+
+ Bandwidth delegation is described in Section 3.4.2.1 of [RFC5851].
+ It allows flexible sharing of total video bandwidth on an access line
+ between the AN and the NAS. One application of such bandwidth
+ sharing is where the AN does multicast admission control, while the
+ NAS or Policy Server does unicast admission control. In that case,
+ bandwidth delegation allows dynamic sharing of bandwidth between
+ unicast and multicast video traffic on each access line.
+
+ Committed bandwidth reporting is described in Section 3.4. The AN
+ reports the amount of multicast bandwidth it has granted to a given
+ access line each time that value changes. These reports may be
+ buffered for a NAS-provisionable interval so that reports for
+ multiple access lines can be bundled into the same message.
+
+ The formal specification of the behaviors associated with each of
+ these capabilities, singly and in combination, is given in Section 6.
+
+ In addition to the multicast service processing behavior just
+ sketched, the definition of each capability includes support for the
+ multicast accounting and reporting services described in
+ Section 3.4.3 of [RFC5851]. Because of this common content and
+ because of other protocol overlaps between the different
+ capabilities, the protocol descriptions for the multicast extensions
+ specified in this document are merged into a single non-redundant
+ narrative. Tables in Section 6 then indicate the specific sub-
+ sections of the protocol description that have to be implemented to
+ support each capability.
+
+ This document updates RFC 6320 by assigning capability type 3 to the
+ NAS-initiated multicast replication capability and by changing the
+ starting point for IANA allocation of result codes determined by IETF
+ Consensus from 0x100 to 0x64.
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 6]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+1.1. A Note on Scope
+
+ The requirements in [RFC5851] were formulated with the IPTV
+ application in mind. Two basic assumptions underlie the use case
+ descriptions:
+
+ o that the Home Gateway operates in bridged mode, and
+
+ o that multicast signaling uses IGMP ([RFC2236] [RFC3376]) or
+ Multicast Listener Discovery (MLD) [RFC3810] rather than PIM
+ [RFC4601].
+
+ Without the first assumption the AN may lose sight of individual
+ subscriber devices making requests for multicast service. This has a
+ very minor effect on the capabilities described below but prevents
+ the application of per-device policies at the NAS. Changing the
+ second assumption would require that, in applications where the AN is
+ responsible for snooping IGMP and MLD, it now also monitors for PIM
+ signaling. The capabilities described in the present document do not
+ depend explicitly on what type of multicast signaling is used, but
+ the multiple phases of PIM setup could add complexity to their
+ implementation.
+
+2. Terminology
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+ This document uses the terms "connection admission control" ("CAC" or
+ simply "admission control") and "conditional access" as they are used
+ in [RFC5851].
+
+ The expression "delegated bandwidth" is used as a shorter way of
+ saying: "the total amount of video bandwidth delegated to the AN for
+ multicast admission control".
+
+3. Multicast Use Cases
+
+ Quoting from [RFC5851]:
+
+ ... the Access Node, aggregation node(s), and the NAS must all be
+ involved in the multicast replication process. This prevents
+ several copies of the same stream from being sent within the
+ access/aggregation network. In case of an Ethernet-based access/
+ aggregation network, this may, for example, be achieved by means
+ of IGMP snooping or IGMP proxy in the Access Node and aggregation
+ node(s).
+
+
+
+Le Faucheur, et al. Standards Track [Page 7]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ By introducing IGMP processing in the access/aggregation nodes,
+ the multicast replication process is now divided between the NAS,
+ the aggregation node(s), and Access Nodes. In order to ensure
+ backward compatibility with the ATM-based model, the NAS,
+ aggregation node, and Access Node need to behave as a single
+ logical device. This logical device must have exactly the same
+ functionality as the NAS in the ATM access/aggregation network.
+ The Access Node Control Mechanism can be used to make sure that
+ this logical/functional equivalence is achieved by exchanging the
+ necessary information between the Access Node and the NAS.
+
+ [RFC5851] describes the use cases for ANCP associated with such
+ multicast operations and identifies the associated ANCP requirements.
+ This section describes a subset of these use cases as background to
+ facilitate reading of this document, but the reader is referred to
+ [RFC5851] for a more exhaustive description of the ANCP multicast use
+ cases. Detailed example message flows can also be found in
+ Appendix A.
+
+ In the diagrams below, participation of the Home Gateway is optional,
+ depending on whether it is operating in bridged or routed mode. Note
+ that devices behind the Home Gateway may require the Home Gateway to
+ operate in routed mode to ensure that they can obtain access to non-
+ IPTV multicast services.
+
+3.1. NAS-Initiated Multicast Replication Control Use Case
+
+3.1.1. Goals
+
+ One option for multicast handling is for the subscriber to
+ communicate the join/leave information to the NAS. This can be done,
+ for instance, by terminating all subscriber IGMP ([RFC3376]) or MLD
+ ([RFC2710] [RFC3810]) signaling on the NAS. Another example could be
+ a subscriber using some form of application-level signaling, which is
+ redirected to the NAS. In any case, this option is transparent to
+ the access and aggregation network. In this scenario, the NAS uses
+ ANCP to create and remove replication state in the AN for efficient
+ multicast replication. Thus, the NAS only sends a single copy of the
+ multicast stream towards the AN, which, in turn, performs replication
+ to multiple subscribers as instructed by the NAS via ANCP. The NAS
+ performs conditional access and admission control when processing
+ multicast join requests and only creates replication state in the AN
+ if admission succeeds.
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 8]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+3.1.2. Message Flow
+
+ With the NAS-initiated use case, a Multicast Replication Control
+ message is sent by the NAS to the AN with a directive to either join
+ or leave one (or more) multicast flow(s). In the example message
+ flow, the AN uses a Generic Response message to convey the outcome of
+ the directive. Figure 1 illustrates such an ANCP message exchange as
+ well as the associated AN behavior.
+
+ +----------+ +-------+ +-----+ ANCP +-----+
+ |Subscriber| | Home | | AN |<-------------------->| NAS |
+ +----------+ |Gateway| +-----+ +-----+
+ | +-------+ | |
+ | | | (*)
+ | | | Multicast-Replication-Ctl |
+ | | | (Target, add, Flow 1) |
+ | | |<--------------------------|
+ | Mcast Flow 1 | |
+ |<===========+==============+ |
+ | | | Generic Response |
+ | | |-------------------------->|
+ | | | |
+ | | | |
+ ~ ~ ~ ~
+ | | | |
+ | | | Multicast-Replication-Ctl |
+ | | | (Target,delete, Flow 1) |
+ | | |<--------------------------|
+ | | | |
+ | <Stop Replication of X |
+ | Mcast Flow 1> | Generic Response |
+ | | |-------------------------->|
+
+ (*) The NAS may optionally seek direction from an external
+ Authorization/Policy Server before admitting the flow.
+
+ Figure 1: NAS-Initiated Multicast Replication Control
+
+3.2. Conditional Access and Admission Control Use Case
+
+3.2.1. Goals
+
+ One option for multicast handling is for the access/aggregation nodes
+ to participate in IGMP/MLD processing (e.g., via IGMP/MLD snooping).
+ In this scenario, on detecting a join/leave request from an end user
+ for a multicast flow (in the grey list), the AN uses ANCP to request
+ a conditional access and admission control decision from the NAS. In
+ turn, after conditional access and admission control checks, the NAS
+
+
+
+Le Faucheur, et al. Standards Track [Page 9]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ uses ANCP to instruct the AN to change the replication states
+ accordingly.
+
+3.2.2. Message Flow
+
+ For support of the conditional access and admission control use case,
+ on detection of an IGMP/MLD join request, the AN sends a Multicast
+ Admission Control message to the NAS to request a conditional access
+ and admission control check. In the case of a positive outcome, the
+ NAS sends a Multicast Replication Control message to the AN with a
+ directive to replicate the multicast flow to the corresponding user.
+ Similarly, on detection of an IGMP/MLD leave, a Multicast Admission
+ Control message is sent by the AN to the NAS to keep the NAS aware of
+ user departure for the flow. This message flow is illustrated in
+ Figure 2.
+
+ +----------+ +-------+ +-----+ ANCP +-----+
+ |Subscriber| | Home | | AN |<------------------->| NAS |
+ +----------+ |Gateway| +-----+ +-----+
+ | +-------+ | |
+ | | | |
+ | Join(Gr-Flow1) | Multicast-Admission-Crl |
+ |------------+---------->| (Target,add,Gr-Flow1) |
+ | | |-------------------------->|
+ | | | (*)
+ | | | Multicast-Replication-Crl |
+ | | | (Target,add,Gr-Flow1) |
+ | | |<--------------------------|
+ | Mcast Gr-Flow1 | |
+ |<===========+===========+ |
+ | | | |
+ ~ ~ ~ ~
+ | | | |
+ | Leave(Gr-Flow1) | Multicast-Admission-Crl |
+ |------------+---------->| (Target,delete,Gr-Flow1) |
+ | | |-------------------------->|
+ | <Stop Replication of X |
+ | Mcast Gr-Flow1> | |
+ | | | |
+
+ Gr-Flow1: a multicast flow matching the grey list for that port
+
+ (*) The NAS may optionally seek direction from an external
+ Authorization/Policy Server before admitting the flow.
+
+ Figure 2: Multicast Conditional Access and Admission Control
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 10]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+3.3. Multicast Flow Reporting Use Case
+
+3.3.1. Goals
+
+ The multicast flow reporting use case allows the NAS to
+ asynchronously query the AN to obtain an instantaneous status report
+ related to multicast flows currently replicated by the AN.
+
+3.3.2. Message Flow
+
+ The NAS sends a Multicast Flow Query Request message to the AN in
+ order to query the AN about information such as which multicast flows
+ are currently active on a given AN port or which ports are currently
+ replicating a given multicast flow. The AN conveys the requested
+ information to the NAS in a Multicast Flow Query Response message.
+ This message flow is illustrated in Figure 3.
+
+ +----------+ +-------+ +-----+ ANCP +-----+
+ |Subscriber| | Home | | AN |<---------->| NAS |
+ +----------+ |Gateway| +-----+ +-----+
+ | +-------+ | |
+ | | | Multicast Flow |
+ | | | Query Request |
+ | | |<------------------|
+ | | | |
+ | | | Multicast Flow |
+ | | | Query Response |
+ | | |------------------>|
+ | | | |
+ | | | |
+
+
+ Figure 3: Multicast Flow Reporting
+
+3.4. Committed Bandwidth Reporting Use Case
+
+3.4.1. Goals
+
+ The committed bandwidth reporting use case allows the NAS to maintain
+ current awareness of how much multicast bandwidth the AN has
+ committed to a given access line, so that the NAS can adjust its
+ forwarding scheduler to ensure the associated QoS. Note that this
+ involves a finer level of detail than provided by bandwidth
+ delegation, since the amount of delegated bandwidth is an upper limit
+ on the amount of bandwidth committed rather than an actual value. To
+ reduce the volume of messaging, reports from the AN may be buffered
+ so that one message reports on changes for multiple access lines.
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 11]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+3.4.2. Message Flow
+
+ The message flow associated with this use case is shown in Figure 4.
+ The figure assumes that a non-zero buffering interval was previously
+ provisioned on the AN.
+
+ +-----+ +-------+ +-----+ ANCP +-----+
+ |Subs |+ | Home |+ | AN |<---------->| NAS |
+ |1,2 || |GW 1,2 || +-----+ +-----+
+ +-----+| +-------+| | |
+ +|----+ +|------+ | |
+ | | | | | |
+ | |Join(Subs1, Ch1) | |
+ |----------+--------------->| Start buffering |
+ | | | Multicast flow | timer. Create |
+ |<=========+================| message with |
+ | | | | | initial contents |
+ | | | | | reporting new |
+ | | | | | Subs1 bandwidth. |
+ | | Join(Subs2, Ch2) | |
+ | |----------+------------->| Add report for |
+ | | | Multicast flow | new Subs2 b/w. |
+ | |<=========+==============| |
+ | | | | | |
+ | |Leave(Subs1, Ch1) | |
+ |----------+--------------->| Replace report |
+ | | | | | for Subs1 with |
+ | | Stop replication X new value (which |
+ | | | | | happens to be |
+ | | | | | the same as the |
+ | | | | | starting value). |
+ | | | | | |
+ | | | | >|< TIMER expires |
+ | | | | | |
+ | | | | |Committed |
+ | | | | | Bandwidth Report |
+ | | | | |------------------>|
+ | | | | | (for latest |
+ | | | | | Subs1 and Subs2 |
+ | | | | | bandwidth) |
+ | | | | | |
+
+ Figure 4: Message Flow for Committed Bandwidth Reporting
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 12]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+4. ANCP Messages
+
+ This section defines new ANCP messages and new usage of existing ANCP
+ messages as well as procedures associated with the use of these
+ messages.
+
+ Unless stated otherwise, receivers MUST ignore message contents that
+ are not supported by the set of capabilities negotiated between the
+ NAS and the Access Node.
+
+4.1. Provisioning Message
+
+ Section 4.1 of [RFC6320] defines the Provisioning message that is
+ sent by the NAS to the AN to provision information in the AN.
+
+ The present document specifies that the Provisioning message MAY be
+ used by the NAS to provision multicast-related information (e.g.,
+ multicast service profiles). The ANCP Provisioning message payload
+ MAY contain:
+
+ o one or more instances of the Multicast-Service-Profile TLV. The
+ Multicast-Service-Profile TLV is defined in the present document
+ in Section 5.1. Each instance of the Multicast-Service-Profile
+ TLV contains a multicast service profile name and one or more list
+ actions. A list action consists of an action (add, delete,
+ replace), a list type (white, black, or grey), and list content
+ (multicast source and group addresses).
+
+ o an instance of the White-List-CAC TLV. The White-List-CAC TLV is
+ defined in Section 5.6. If present, this TLV indicates that the
+ AN is required to do admission control before replicating white-
+ listed flows.
+
+ o an instance of the MRepCtl-CAC TLV. The MRepCtl-CAC TLV is
+ defined in Section 5.7. If present, this TLV indicates that the
+ AN is required to do admission control before replicating flows
+ specified in Multicast Replication Control messages.
+
+ o an instance of the Report-Buffering-Time TLV. The Report-
+ Buffering-Time TLV is defined in Section 5.13. If present, this
+ TLV indicates Committed Bandwidth Report messages should be
+ buffered for the amount of time given by the TLV before being
+ transmitted to the NAS.
+
+ See Section 6 for information on which multicast capabilities require
+ support of these TLVs in the Provisioning message.
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 13]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+4.1.1. Sender Behavior
+
+ When directed by the Policy Server or by management action, the NAS
+ sends the Provisioning message to initially provision or to update
+ the white, black, and/or grey multicast channel lists associated with
+ a set of named multicast service profiles or to direct the AN to
+ perform admission control for specific classes of flows.
+
+ To provision or update a multicast service profile, the NAS MUST
+ include within the message one or more instances of the Multicast-
+ Service-Profile TLV specifying the content to be provisioned or
+ updated. The NAS MUST NOT include any list type (white, black, or
+ grey) that is not supported by the set of multicast capabilities
+ negotiated between the NAS and the AN. The NAS MUST NOT use the
+ Provisioning message to send instances of the Multicast-Service-
+ Profile TLV to the AN unless the Multicast-Service-Profile TLV is
+ supported by the set of multicast capabilities negotiated between the
+ NAS and the AN.
+
+ To require admission control to be performed at the AN on white-
+ listed flows, the NAS MUST include a copy of the White-List-CAC TLV
+ in the Provisioning message. The White-List-CAC TLV MUST NOT be
+ provided unless the negotiated set of capabilities includes
+ conditional access and admission control with white and black lists.
+
+ To require admission control to be performed at the AN on grey-listed
+ flows or on NAS-initiated flows, the NAS MUST include a copy of the
+ MRepCtl-CAC TLV in the Provisioning message. The MRepCtl-CAC TLV
+ MUST NOT be provided unless the negotiated set of capabilities
+ includes NAS-initiated multicast replication or conditional access
+ and admission control with grey lists.
+
+ To require buffering of Committed Bandwidth Report messages so that
+ reports for multiple access lines can be included in the same
+ message, the NAS MUST include a copy of the Report-Buffering-Time TLV
+ containing a non-zero time value in a Provisioning message sent to
+ the AN. The Report-Buffering-Time TLV MUST NOT be provided unless
+ the negotiated set of capabilities includes committed bandwidth
+ reporting.
+
+4.1.2. Receiver Behavior
+
+ The receiving AN provisions/updates the white, black, and/or grey
+ lists associated with the multicast service profile names contained
+ in the Multicast-Service-Profile TLV instances within the message
+ according to the contents of the associated List-Action TLVs. The AN
+ MUST process List-Action TLVs in the order in which they appear
+ within the message. In keeping with the general rule stated in
+
+
+
+Le Faucheur, et al. Standards Track [Page 14]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ Section 4, the AN MUST ignore instances of the List-Action TLV
+ referring to any list type (white, black, or grey) that is not
+ supported by the set of multicast capabilities negotiated between the
+ NAS and the AN.
+
+ When a new multicast service profile is identified by a Multicast-
+ Service-Profile TLV, the initial state of all lists associated with
+ that profile according to the negotiated set of multicast
+ capabilities is empty until changed by the contents of Multicast-
+ Service-Profile TLVs.
+
+ The receipt of a Provisioning message containing updates to an
+ existing multicast service profile subsequent to startup will cause
+ the AN to review the status of active flows on all ports to which
+ that profile has been assigned. For further details, see Section 6.
+
+ If the White-List-CAC and/or MRepCtl-CAC TLV is present in the
+ Provisioning message and the respective associated capabilities have
+ been negotiated, the AN prepares (or continues) to do admission
+ control on the indicated class(es) of flow. If one or both of these
+ TLVs was present in an earlier Provisioning message but is absent in
+ the latest message received, the AN ceases to do admission control on
+ the indicated class(es) of flow.
+
+ The buffering time specified in an instance of the Report-Buffering-
+ Time TLV will not be applied until the current accumulation process
+ of Committed Bandwidth Report messages finishes.
+
+ As indicated in [RFC6320], the AN MUST NOT reply to the Provisioning
+ message if it processed it successfully. If an error prevents
+ successful processing of the message content, the AN MUST return a
+ Generic Response message as defined in [RFC6320], containing a
+ Status-Info TLV with the appropriate content describing the error.
+ For this purpose, the presence of a list type in a Multicast-Service-
+ Profile TLV, which was ignored because it was not supported by the
+ negotiated set of capabilities, is not considered to be an error.
+
+4.2. Port Management Message
+
+ As specified in [RFC6320], the NAS may send DSL line configuration
+ information to the AN (ANCP-based DSL line configuration use case)
+ using ANCP Port Management messages. See Section 7.3 of [RFC6320]
+ for the format of the Port Management message in that usage.
+
+ This document specifies that the Port Management message MAY be used
+ to convey either or both of the following TLVs:
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 15]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o Multicast-Service-Profile-Name TLV (defined in Section 5.2). This
+ TLV associates a Multicast Service Profile with the access line
+ specified by the extension block and, in the case of white and
+ black lists, delegates conditional access to the AN for the
+ specified access line and channels.
+
+ o Bandwidth-Allocation TLV (defined in Section 5.5). This TLV
+ specifies the total multicast bandwidth available to the AN for
+ admission control at the access line.
+
+ When the Port Management message is used for this purpose:
+
+ o the Function field in the Port Management message MUST be set to
+ 8, "Configure Connection Service Data".
+
+ o the message MUST include TLV(s) to identify the access line
+ concerned. If the access line is a DSL loop, the line-identifying
+ TLV(s) MUST be as specified in Section 5.1.2 of [RFC6320]. For
+ non-DSL access lines, the appropriate alternative line-identifying
+ TLV(s) MUST be present. Line configuration data other than the
+ two TLVs listed in the previous paragraph MAY be present.
+
+4.2.1. Sender Behavior
+
+ The NAS sends the Port Management message at startup time to
+ initialize parameters associated with the access line specified in
+ the message and with the multicast capabilities negotiated between
+ the NAS and the AN. The NAS MAY send additional Port Management
+ messages subsequent to startup, to update or, in the case of the
+ Bandwidth-Allocation TLV, reset these parameters. If the NAS
+ includes a Multicast-Service-Profile-Name TLV in the Port Management
+ message, the name MUST match a profile name provided in a Multicast-
+ Service-Profile TLV in a prior Provisioning message. The NAS MUST
+ NOT include a TLV unless it is supported by the set of multicast
+ capabilities negotiated between the NAS and the AN. See Section 6
+ for further information.
+
+4.2.2. Receiver Behavior
+
+ If the Port Management message contains a Multicast-Service-Profile-
+ Name TLV, the AN associates the named profile with the specified
+ access line. This association replaces any previous association.
+ That is, a given access line is associated with at most one multicast
+ service profile. The replacement of one multicast service profile
+ with another will cause the AN to review the status of all active
+ flows on the target port. For further details see Section 6.
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 16]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ If the Port Management message contains a Bandwidth-Allocation TLV,
+ the AN adopts this as the current value of its total multicast
+ bandwidth limit for the target port. If the AN has already committed
+ multicast bandwidth exceeding the amount given in the Bandwidth-
+ Allocation TLV, the AN SHOULD NOT discontinue any multicast streams
+ in order to bring bandwidth down to within the new limit, unless such
+ action is required by local policy. However, the AN MUST NOT admit
+ new multicast streams that are subject to admission control until it
+ can do so within the limit specified by the Bandwidth-Allocation TLV.
+
+ If the Port Management request cannot be processed due to error and
+ the Result field of the request is Nack (0x1) or AckAll (0x2), the AN
+ SHOULD add a Status-Info TLV to the Extension Value field in its
+ reply if this will provide useful information beyond what is provided
+ by the Result Code value returned in the response header. In
+ particular, if the name within the Multicast-Service-Profile-Name TLV
+ does not match a profile name given in a prior Provisioning message,
+ the AN SHOULD return a reply where the Result Code field in the
+ header indicates 0x55, "Invalid TLV contents", the Error Message
+ field in the Status-Info TLV contains the text "Multicast profile
+ name not provisioned", and the Status-Info TLV contains a copy of the
+ Multicast-Service-Profile-Name TLV.
+
+4.3. Multicast Replication Control Message
+
+ This section defines a new message called the Multicast Replication
+ Control message. The Multicast Replication Control message is sent
+ by the NAS to the AN with one or more directives to add (join) or
+ delete (leave) a multicast flow on a target object identified in the
+ content of the message.
+
+ The Message Type for the Multicast Replication Control message is
+ 144.
+
+ The ANCP Multicast Replication Control message payload contains the
+ following TLVs:
+
+ o Target TLV: The Target TLV is defined in Section 4.3 of [RFC6320].
+ It MUST appear once and only once. It is encoded as specified in
+ [RFC6320] or extensions and identifies the AN port subject to the
+ request for admission or release.
+
+ o Command TLV: The Command TLV is defined in Section 4.4 of
+ [RFC6320]. It MUST be present. It MAY appear multiple times.
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 17]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ As [RFC6320] indicates, the contents of the Command Info field within
+ the Command TLV are specific to the message in which the TLV occurs.
+ For the Multicast Replication Control message, these contents consist
+ of:
+
+ o a Command Code field;
+
+ o an Accounting field; and
+
+ o an instance of the Multicast-Flow TLV.
+
+ Figure 5 illustrates the complete Command TLV with the contents
+ specific to the Multicast Replication Control message.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Command 0x0011 | Command TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |Command Code | Accounting | Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast-Flow TLV |
+ | ... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Other embedded TLV Type | Other embedded TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Other embedded TLV data ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 5: Contents of the Command TLV in the Multicast Replication
+ Control Message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 18]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o Command Code: One of the following command directives:
+
+ 1 "Add"
+
+ 2 "Delete"
+
+ 3 "Delete All"
+
+ 4 "Admission Control Reject"
+
+ 5 "Conditional Access Reject"
+
+ 6 "Admission Control and Conditional Access Reject"
+
+ Directives 4 through 6 are used as described in Section 4.4.2.
+
+ o Accounting: Meaningful only when the Command Code is "Add" (1).
+ In that case, 0 indicates flow accounting is disabled, and 1
+ indicates that octet accounting for the flow is requested. The
+ sender MUST set the Accounting field to 0, and the receiver MUST
+ ignore the Accounting field for other Command Code values.
+
+ o Reserved: Reserved for future use. MUST be set to zeroes by the
+ sender and ignored by the receiver.
+
+ o Multicast-Flow TLV: An instance of the Multicast-Flow TLV
+ (Section 5.12) specifying the flow to be added or deleted. The
+ Multicast-Flow TLV is omitted if the Command Code has value
+ "Delete All" (3).
+
+ o Other embedded TLV data: No other embedded TLVs are currently
+ specified within the Multicast Replication Control message and
+ Command TLV. However, see the description of the Multicast
+ Admission Control message (Section 4.4). Unrecognized embedded
+ TLVs SHOULD be silently discarded.
+
+ The figure below is an example of a Multicast Replication Control
+ message that would result in a swap from multicast Source-Specific
+ Multicast (SSM) flows 2001:DB8::1, FF34::2 to 2001:DB8::2, FF34::3 on
+ the target identified by the Access Loop Circuit ID:
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 19]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | MsgType=144 | Res=2 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier = 18 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Access Loop Circuit ID ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Command 0x0011 | Command TLV Length = 44 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cmd Code = 2 | Acctg = 0 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | TLV Length = 36 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | AddrFam = 2 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Multicast Group Address ~
+ | = FF34::2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Source Address ~
+ | = 2001:DB8::1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Command 0x0011 | Command-TLV Length = 44 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cmd Code = 1 | Acctg = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | TLV Length = 36 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | AddrFam = 2 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Multicast Group Address ~
+ | = FF34::3 |
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 20]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Source Address ~
+ | = 2001:DB8::2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 6: Example Change of Source Flow Using Multicast Replication
+ Control Message
+
+4.3.1. Sender Behavior
+
+ The NAS MAY issue a Multicast Replication Control message to the AN
+ to convey one or more directives to add (join) or delete (leave) one
+ or more multicast flows.
+
+ The NAS MAY send this message on its own initiative to support the
+ NAS-initiated multicast control use case presented in [RFC5851] and
+ summarized in Section 3.1. In that case, the NAS MUST set the Result
+ field to AckAll (0x2) or Nack (0x1) according to its requirements.
+
+ The NAS MAY also send this message in response to a Multicast
+ Admission Control message (defined in Section 4.4) received from the
+ AN to support the conditional access and admission control use case
+ presented in [RFC5851] and summarized in Section 3.2. In that case,
+ the NAS MUST set the Result field to Nack (0x1).
+
+ In either case, the sender MUST populate the Result Code field with
+ the value 0 and the ANCP Transaction Identifier field with a unique
+ value, as described in Section 3.6.1.6 of [RFC6320].
+
+ Each Multicast Replication Control message MUST contain one or more
+ commands, each encapsulated in its own Command TLV. The sender MUST
+ use a separate Command TLV for each distinct multicast flow.
+
+ When the order of processing of two commands does not matter, the
+ commands MUST be transmitted in separate Multicast Replication
+ Control messages.
+
+4.3.2. Receiver Behavior
+
+ When successive commands (in the same or different messages) relate
+ to the same target and multicast flow, the state of each feature
+ controlled or affected by attributes received in the Multicast
+ Replication Control message SHALL be as set by the last command or
+ message referring to that target and flow and containing the
+ controlling attribute. As an example, successive Multicast
+ Replication Control messages containing add commands for a given port
+ and flow but differing only in the Accounting field update the state
+
+
+
+Le Faucheur, et al. Standards Track [Page 21]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ of the accounting feature to what is set in the final command
+ received, but all other features are unaffected by the second
+ message.
+
+ If more than one Command TLV is present in a Multicast Replication
+ Control message, the AN MUST act on the commands in the order in
+ which they are presented in the message. The AN SHALL assign a
+ sequence number to each command in a given Multicast Replication
+ Control message, starting from 1 for the first command.
+
+ If a Command TLV adds one or more flows and the AN is performing
+ admission control for Multicast Replication Control messages, then
+ the AN MUST perform admission control before replicating the flows.
+ If the admission control check fails, the AN MUST treat the failure
+ as an error as described below. The appropriate Result Code value
+ for the response is 0x13 "Out of resources".
+
+ If the AN processes the complete Multicast Replication Control
+ message successfully and the Result field of the Multicast
+ Replication Control message was set to AckAll (0x2), the AN MUST
+ respond with a Generic Response message where the Result field is set
+ to Success (0x3), the Result Code field is set to 0, and the
+ Transaction Identifier field is copied from the Multicast Replication
+ Control message. The body of the response MAY be empty or MAY be
+ copied from the Multicast Replication Control message.
+
+ If the AN processes the complete Multicast Replication Control
+ message successfully and the Result field of the Multicast
+ Replication Control message was set to Nack (0x1), the AN MUST NOT
+ respond to the message.
+
+ The processing/execution of multiple commands contained in a single
+ Multicast Replication Control message MUST be interrupted at the
+ first error encountered and the remaining commands in the Multicast
+ Replication Control message discarded. Similarly, if a given command
+ specifies multiple Single-Source Multicast (SSM) flows and an error
+ occurs, processing MUST be interrupted at that point, and the
+ remainder of the Command TLV discarded.
+
+ If the AN detects an error in a received Multicast Replication
+ Control message and the Result field in that message was set to Nack
+ (0x1) or AckAll(0x2), the AN MUST generate a Generic Response message
+ providing error information to the NAS. This specification
+ identifies the following new Result Code values beyond those
+ specified in [RFC6320], which MAY be used in a Generic Response sent
+ in reply to a Multicast Replication Control message:
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 22]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 0x64 Command error.
+
+ Where detected: ANCP agent at the AN.
+
+ Further description: an invalid command code has been received.
+
+ Required additional information in the message: see below.
+
+ Target: ANCP agent at the NAS.
+
+ Action RECOMMENDED for the receiving ANCP agent: Report the
+ error to the control application with an indication of the
+ erroneous information associated with the invalid TLV(s).
+
+ 0x65 Invalid flow address.
+
+ Where detected: ANCP agent at the AN.
+
+ Further description: either inconsistent flow address
+ information has been provided or the address family is
+ unsupported.
+
+ Required additional information in the message: see below.
+
+ Target: ANCP agent at the NAS.
+
+ Action RECOMMENDED for the receiving ANCP agent: Report the
+ error to the control application with an indication of the
+ erroneous information associated with the invalid TLV(s).
+
+ 0x66 Multicast flow does not exist.
+
+ Where detected: control application at the AN.
+
+ Further description: the NAS has attempted to delete a flow
+ that is not active on the given access line.
+
+ Required additional information in the message: see below.
+
+ Target: control application at the NAS.
+
+ Action RECOMMENDED for the receiving ANCP agent: report the
+ error to the control application with an indication of the
+ erroneous information associated with the invalid TLV(s).
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 23]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ A Generic Response message responding to the Multicast Replication
+ Control message and containing one of the above Result Code values
+ MUST include a Status-Info TLV, which includes one or two embedded
+ TLVs as follows:
+
+ o a Sequence-Number TLV as described in Section 5.4, giving the
+ sequence number of the failed command, MUST be included; and
+
+ o the failed Command TLV itself SHOULD be included.
+
+ Note: The Error Message field of the Status-Info TLV MAY be used
+ to report more details than implied by the Result Code value in
+ the message header. For example, the Result Code value could be
+ 0x65, and the Error Message field could contain the text: "Source
+ address present for ASM flow".
+
+4.4. Multicast Admission Control Message
+
+ This section defines a new message called the Multicast Admission
+ Control message. The Multicast Admission Control message is sent by
+ the AN to the NAS to request admission of a multicast flow, or to
+ notify of the removal of a multicast flow, for a given target.
+
+ The Message Type for the Multicast Admission Control message is 145.
+
+ The ANCP Multicast Admission Control message payload contains two
+ TLVs:
+
+ o Target TLV: The Target TLV is defined in [RFC6320]. It MUST
+ appear once and only once in the Multicast Admission Control
+ message. It is encoded as specified in [RFC6320] or extensions
+ and identifies the AN port subject to the request for admission or
+ release.
+
+ o Command TLV: The Command TLV is defined in [RFC6320]. It MUST be
+ present. If it appears more than once, only the first instance is
+ considered meaningful in the present version of this
+ specification, and the other instances are ignored.
+
+ Note: In the future, the specification of the Multicast Admission
+ Control message may be extended to allow transport of more than a
+ single directive (e.g., to carry both a leave from one group and a
+ join to another group for the same target). It is expected that
+ this would support a similar notion of strict sequenced processing
+ as currently defined for handling multiple directives in the
+ Multicast Replication Control message whereby all directives
+ following the first directive that cannot be executed are not
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 24]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ executed either. When the strict sequenced processing of the
+ directives is not required, the directives are distributed across
+ separate messages.
+
+ The Command TLV has the same contents as were described above for the
+ Multicast Replication Control message, with the following additions:
+
+ o A Request-Source-IP TLV MAY be appended to the Command TLV as an
+ additional embedded TLV.
+
+ o Similarly, a Request-Source-MAC TLV MAY be appended to the Command
+ TLV as an additional embedded TLV.
+
+ o Finally and preferably, a Request-Source-Device-Id TLV MAY be
+ appended to the Command TLV as an additional embedded TLV.
+
+ Note that the Command TLV length includes the length of any embedded
+ TLVs, including the embedded TLV headers.
+
+4.4.1. Sender Behavior
+
+ The AN sending the Multicast Admission Control message MUST set the
+ Result field to Ignore (0x0).
+
+ The AN MUST populate the ANCP Transaction Identifier field with a
+ unique value, as described in Section 3.6.1.6 of [RFC6320].
+
+ The AN MUST encode the Command TLV as specified in Section 4.3 with
+ the following additional rules:
+
+ o The Accounting field MUST be set to 0.
+
+ o The Command Code field MUST be set to "Add" (1) when the message
+ conveys a join request, to "Delete" (2) when the message conveys a
+ leave, and to "Delete All" (3) when the message conveys a leave of
+ all channels (on the target).
+
+ o The Multicast-Flow TLV within the Command TLV identifies the
+ multicast flow subject to the request for admission or release.
+ When the Command Code is 3, the Multicast-Flow TLV is omitted.
+
+ o The Request-Source-IP embedded TLV MAY be included by the AN to
+ convey the IP address of the sender of the join/leave message
+ (e.g., IGMP/MLD join/leave) that triggered the AN to include the
+ corresponding Command TLV in the Multicast Admission Control
+ message. If it appears more than once, only the first instance is
+ considered meaningful, and the other instances are ignored.
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 25]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o The Request-Source-MAC embedded TLV MAY be included by the AN to
+ convey the Media Access Control (MAC) address of the sender of the
+ join/leave message (e.g., IGMP/MLD join/leave) that triggered the
+ AN to include the corresponding Command TLV in the Multicast
+ Admission Control message. If it appears more than once, only the
+ first instance is considered meaningful, and the other instances
+ are ignored.
+
+ o As a third alternative, the Request-Source-Device-Id embedded TLV
+ MAY be included by the AN to convey a local identifier of the
+ sender of the join/leave message (e.g., IGMP/MLD join/leave) that
+ triggered the AN to include the corresponding Command TLV in the
+ Multicast Admission Control message. If it appears more than
+ once, only the first instance is considered meaningful, and the
+ other instances are ignored.
+
+ The inclusion of Request-Source-IP or Request-Source-MAC in the
+ Multicast Admission Control message is typically done to allow the
+ application of policies applicable to specific devices within the
+ customer's network. However, transmission of either of these fields
+ beyond the AN introduces potential privacy issues. Instead of
+ transmitting either of these identifiers, it is RECOMMENDED that the
+ AN map the required identifier to a local value known to the AN and
+ Authentication, Authorization, and Accounting (AAA) but not to the
+ NAS, as discussed in Section 8. The local identifier is transmitted
+ using the Request-Source-Device-Id TLV.
+
+4.4.2. Receiver Behavior
+
+ On receipt of a Multicast Admission Control message:
+
+ o The NAS MUST ignore the Result field.
+
+ o If the directive in the Multicast Admission Control message is
+ "Delete" (2) or "Delete All" (3) and is processed correctly by the
+ NAS, the NAS MUST NOT generate any ANCP message in response to the
+ Multicast Admission Control message.
+
+ o If the directive in the Multicast Admission Control message is
+ "Add" (1) and is accepted by the NAS, the NAS MUST generate a
+ Multicast Replication Control message in response to the Multicast
+ Admission Control message. The Multicast Replication Control
+ message:
+
+ * MUST contain a Result set to Nack (0x1);
+
+ * MUST contain a Transaction ID with a unique value, as described
+ in Section 3.6.1.6 of [RFC6320]; and
+
+
+
+Le Faucheur, et al. Standards Track [Page 26]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ * MUST contain the directive as accepted by the NAS. The NAS MAY
+ modify the Accounting field if flow accounting is required.
+
+ o If the directive in the Multicast Admission Control message is
+ "Add" (1) and is processed correctly but not accepted by the NAS
+ (i.e., it does not pass the conditional access and admission
+ control check), the NAS MAY generate a Multicast Replication
+ Control message in response to the Multicast Admission Control
+ message. This optional message can be used by the AN to maintain
+ statistics about admission control rejections. When used in this
+ situation, the Multicast Replication Control message:
+
+ * MUST contain a Result set to 0x0;
+
+ * MUST contain a Transaction ID with a unique value, as described
+ in Section 3.6.1.6 of [RFC6320]; and
+
+ * MUST contain the directive rejected by the NAS (i.e., Target
+ TLV and Command TLV) but with a Command Code set to "Admission
+ Control Reject" (4), "Conditional Access Reject" (5), or
+ "Admission Control and Conditional Access Reject" (6) as
+ applicable.
+
+ o If the Multicast Admission Control message cannot be processed
+ correctly by the NAS (e.g., the message is malformed, the
+ multicast flow does not exist, etc.), the NAS MUST generate a
+ Generic Response message (defined in Section 4.2 of [RFC6320])
+ with appropriate content indicating the reason for the failure.
+
+4.5. Bandwidth Reallocation Request Message
+
+ The Bandwidth Reallocation Request message is used when the bandwidth
+ delegation capability is included in the negotiated set. It MAY be
+ sent either by the NAS or by the AN to request an adjustment in the
+ amount of delegated bandwidth. It will be sent by the NAS typically
+ to reduce the multicast bandwidth allocated to the AN in order for
+ the NAS to satisfy a request to add one or more flows. Conversely,
+ the AN will send a Bandwidth Reallocation Request message to obtain
+ additional bandwidth to satisfy a request to add a multicast channel.
+ In each case, the requestor has a minimum requirement for additional
+ bandwidth and MAY ask for additional bandwidth beyond this amount
+ (e.g., to handle anticipated future requests).
+
+ The Bandwidth Reallocation Request message contains two TLVs:
+
+ o the Target TLV (Section 4.3 of [RFC6320] or an extension),
+ specifying a single access line; and
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 27]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o the Bandwidth-Request TLV (Section 5.8), specifying the required
+ and preferred amounts of delegated bandwidth.
+
+ The Message Type for the Bandwidth Reallocation Request message is
+ 146.
+
+4.5.1. Sender Behavior
+
+ The Result field in the header of the Bandwidth Reallocation Request
+ message is not used, and the sender MUST set it to Ignore (0x0).
+
+ The bandwidth values in the Bandwidth-Request TLV are expressed in
+ terms of total multicast bandwidth allocated to the AN.
+
+ Note: The choice of "total bandwidth" rather than "incremental
+ bandwidth" was made so that it would be easier for the AN and NAS
+ to keep their respective views of the current amount of delegated
+ bandwidth synchronized.
+
+ Because the values are totals rather than desired increments/
+ decrements, the relationship between the required amount and the
+ preferred amount will differ depending on whether the Bandwidth
+ Reallocation Request message is issued by the NAS or the AN.
+
+ o If the NAS is making the request, the preferred amount MUST be
+ less than or equal to the required amount. The required amount
+ MUST be less than the current amount of delegated bandwidth.
+
+ o If the AN is making the request, the preferred amount MUST be
+ greater than or equal to the required amount. The required amount
+ MUST be greater than the current amount of delegated bandwidth.
+
+4.5.2. Receiver Behavior
+
+ When the peer receives a valid Bandwidth Reallocation Request
+ message, it SHOULD determine whether it can satisfy the request from
+ its existing allocation of unused video bandwidth. If it decides
+ that it can reallocate bandwidth to the peer, it MAY choose to return
+ any amount between the required and the preferred amounts indicated
+ in the Bandwidth Reallocation Request message.
+
+ The peer MUST return a Bandwidth Transfer message (Section 4.6)
+ indicating its decision. If the request is met, the Result field of
+ the Bandwidth Transfer message MUST be set to Success (0x3), the
+ Result Code field MUST be set to 0x000, and the Bandwidth-Allocation
+ TLV (Section 5.5) MUST contain the new value of total multicast
+ bandwidth. This new value MUST lie between the required and
+ preferred values, inclusive, from the request message. If the
+
+
+
+Le Faucheur, et al. Standards Track [Page 28]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ request is not met, the Result field of the Bandwidth Transfer
+ message MUST be set to Failure (0x4), the Result Code field MUST be
+ set to 0, and the Bandwidth-Allocation TLV MUST contain the value of
+ the currently allocated amount of delegated bandwidth as the
+ responder views it.
+
+ The following cases indicate that the sender holds a different view
+ of the amount of delegated bandwidth from the receiver:
+
+ o The NAS receives a request where the required amount is less than
+ its view of the current amount of delegated bandwidth.
+
+ o The AN receives a request where the required amount is greater
+ than its view of the current amount of delegated bandwidth.
+
+ If one of these cases occurs, the receiver, with one exception, MUST
+ send a Bandwidth Transfer message indicating Success.
+
+ o If the NAS received the request, the allocated amount in the NAS's
+ response MUST be at least equal to the NAS's view of the current
+ amount of delegated bandwidth.
+
+ o If the AN received the request, the allocated amount in the AN's
+ response MUST be no greater than the AN's view of the current
+ amount of delegated bandwidth.
+
+ The exception is when the NAS receives a request while it has a
+ request of its own outstanding. Handling of that case is described
+ below.
+
+ Note: While the cases just described are an error condition, the
+ success response achieves a graceful recovery.
+
+ To avoid deadlock due to race conditions, the following rules MUST be
+ applied:
+
+ a. If the NAS receives a Bandwidth Reallocation Request message
+ while it has a Bandwidth Reallocation Request message of its own
+ outstanding for the same access line, the NAS MUST provide an
+ immediate failure response to the request from the AN, with a
+ Result Code value set to 0x68 "Inconsistent views of delegated
+ bandwidth amount" or 0x69 "Bandwidth request conflict" as
+ applicable. (See below for more information).
+
+ b. If the AN receives a Bandwidth Reallocation Request message while
+ it has a Bandwidth Reallocation Request message of its own
+ outstanding for the same access line, the AN MUST release any
+ bandwidth it has already committed to an outstanding join request
+
+
+
+Le Faucheur, et al. Standards Track [Page 29]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ while it is awaiting a response from the NAS. It MUST decide
+ upon and send its response to the NAS taking the released
+ bandwidth into account.
+
+ If the receiver is unable to process the Bandwidth Reallocation
+ Request message due to an error, then the receiver MUST return a
+ Bandwidth Transfer message where:
+
+ o the Result field is set to Failure (0x4),
+
+ o the Result Code field is set appropriately to indicate the type of
+ error that was detected,
+
+ o the Bandwidth-Allocation TLV contains the value of the current
+ amount of delegated bandwidth as the responder views it, and
+
+ o a Status-Info TLV MAY follow the Bandwidth-Allocation TLV giving
+ further information about the error.
+
+ This specification provides three new Result Code values applicable
+ specifically to the contents of the Bandwidth-Request TLV. These
+ Result Code values by their nature MUST only be used when the error
+ is being reported in a Bandwidth Transfer message rather than a
+ Generic Response message.
+
+ 0x67 Invalid preferred bandwidth amount.
+
+ Where detected: control application at the receiver of the
+ Bandwidth Reallocation Request message.
+
+ Further description: the preferred and required amounts of
+ bandwidth in the TLV do not have the numerical relationship
+ described above.
+
+ Required additional information in the message: as described
+ above.
+
+ Target: control application at the sender of the Bandwidth
+ Reallocation Request message.
+
+ Action RECOMMENDED for the receiving ANCP agent: report the
+ error to the control application with the returned value of the
+ Bandwidth-Allocation TLV. See also Section 4.6.2.2.
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 30]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 0x68 Inconsistent views of delegated bandwidth amount.
+
+ Where detected: control application at the NAS.
+
+ Further description: the NAS has an outstanding Bandwidth
+ Reallocation Request, so it is rejecting a similar request from
+ the AN. In the AN request, the required amount was less than
+ the NAS's view of the current amount of delegated bandwidth.
+
+ Required additional information in the message: as described
+ above.
+
+ Target: control application at the AN.
+
+ Action RECOMMENDED for the receiving ANCP agent: report the
+ error to the AN control application with the returned value of
+ the Bandwidth-Allocation TLV. See also Section 4.6.2.2.
+
+ 0x69 Bandwidth request conflict.
+
+ Where detected: control application at the NAS.
+
+ Further description: the NAS has an outstanding Bandwidth
+ Reallocation Request, so it is rejecting a similar, valid
+ request from the AN.
+
+ Required additional information in the message: as described
+ above.
+
+ Target: control application at the AN.
+
+ Action RECOMMENDED for the receiving ANCP agent: report the
+ error to the AN control application with the returned value of
+ the Bandwidth-Allocation TLV. See also Section 4.6.2.2.
+
+4.6. Bandwidth Transfer Message
+
+ The Bandwidth Transfer message is used to transfer video bandwidth
+ from the sender to the peer for a specific access line. This message
+ MAY be sent either from the AN or from the NAS. As described in the
+ previous section, it is the required response to a valid Bandwidth
+ Reallocation Request message.
+
+ The Bandwidth Transfer message MAY also be used to transfer bandwidth
+ autonomously from one peer to another. One example of this usage is
+ to release bandwidth borrowed earlier by means of the Bandwidth
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 31]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ Reallocation Request message. When the message is used in this way,
+ the Result field in the Bandwidth Transfer message MUST be set to
+ Ignore (0x0).
+
+ Note: This allows the receiver to distinguish between an
+ autonomous transfer and a response to a previous Bandwidth
+ Reallocation Request message, for purposes of validation.
+
+ The Message Type for the Bandwidth Transfer message is 147. The
+ Bandwidth Transfer message contains the following TLVs:
+
+ o the Target TLV, designating the access line concerned;
+
+ o an instance of the Bandwidth-Allocation TLV (Section 5.5). The
+ bandwidth value in the Bandwidth-Allocation TLV is the new amount
+ of delegated bandwidth allocated to the target.
+
+4.6.1. Sender Behavior
+
+ When sending a Bandwidth Transfer message where the Result value is
+ Ignore (0x0) or Success (0x3), the following relationships MUST hold:
+
+ o If the message is sent by the NAS, the bandwidth value in the
+ Bandwidth-Allocation TLV MUST be greater than or equal to the
+ sender's view of the current amount of delegated bandwidth for the
+ access line concerned.
+
+ o If the message is sent by the AN, the bandwidth value in the
+ Bandwidth-Allocation TLV MUST be less than or equal to the
+ sender's view of the current amount of delegated bandwidth for the
+ access line concerned.
+
+ Further sender behavior is specified above, in Section 4.5.2.
+
+4.6.2. Receiver Behavior
+
+4.6.2.1. Behavior of the NAS
+
+ If the amount of delegated bandwidth provided in the Bandwidth-
+ Allocation TLV is not greater than the NAS's view of the current
+ amount of delegated bandwidth, the NAS MUST update its view of the
+ current amount of delegated bandwidth to the amount indicated in the
+ Bandwidth Transfer message. This is required regardless of whether
+ the Result field of that message indicates Success or Failure.
+
+ If the amount of delegated bandwidth provided in the Bandwidth-
+ Allocation TLV is greater than the NAS's view of the current amount
+ of delegated bandwidth, the NAS MAY accept the given value as its new
+
+
+
+Le Faucheur, et al. Standards Track [Page 32]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ value of delegated bandwidth. Alternatively, the NAS MAY force the
+ AN to modify its view of the amount of delegated bandwidth to that
+ held by the NAS by sending a Port Management message for the target
+ access line concerned that contains a Bandwidth-Allocation TLV with a
+ value equal to the amount of delegated bandwidth the NAS wishes to
+ enforce.
+
+4.6.2.2. Behavior of the AN
+
+ If the amount of delegated bandwidth provided in the Bandwidth-
+ Allocation TLV of the Bandwidth Transfer message differs from the
+ AN's view of the current amount of delegated bandwidth, the AN MUST
+ update its view of the current amount of delegated bandwidth to the
+ amount indicated in the Bandwidth Transfer message. This is required
+ with the exception of a Bandwidth Transfer message with a Result
+ field equal to Failure (0x4) and a Result Code field equal to 0x68
+ "Inconsistent views of delegated bandwidth amount" or 0x69 "Bandwidth
+ request conflict". If Result Code value 0x68 is received, the AN
+ MUST issue a Delegated Bandwidth Query Request message to determine
+ the NAS's current view of the amount of delegated bandwidth. The AN
+ MUST update its own view based on the value returned in the Delegated
+ Bandwidth Query Response message. If Result Code value 0x69 is
+ received, the AN SHOULD carry out this procedure unless it can
+ account for the discrepancy as a result of a transfer of bandwidth to
+ the NAS that was carried out just before the incoming Bandwidth
+ Transfer message was processed.
+
+ Note: The two Result Code values indicate a race condition where
+ the AN may have just completed a transfer of bandwidth to the NAS.
+ As a result, the value given in the Bandwidth Transfer message may
+ be outdated, and the AN needs to query the NAS to find its latest
+ view. The procedure assumes that ordering is preserved between
+ the Bandwidth Transfer message sent by the AN in response to the
+ NAS's request and the subsequent Delegated Bandwidth Query Request
+ message.
+
+ If the AN has already committed multicast bandwidth exceeding the
+ amount given in the Bandwidth-Allocation TLV, the AN SHOULD NOT
+ discontinue any multicast streams in order to bring bandwidth down to
+ within the new limit, unless such action is required by local policy.
+ However, the AN MUST NOT admit new multicast streams that are subject
+ to admission control until it can do so within the limit specified by
+ the Bandwidth-Allocation TLV. As specified in Section 6.2.5.2, the
+ AN MAY attempt to correct the situation by sending a request to the
+ NAS for an increased allocation of delegated bandwidth using the
+ Bandwidth Reallocation Request message.
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 33]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+4.7. Delegated Bandwidth Query Request Message
+
+ The Message Type for the Delegated Bandwidth Query Request (and
+ Response) messages is 148.
+
+ The Delegated Bandwidth Query Request message MAY be sent either by
+ the NAS or by the AN to retrieve the peer's view of the amount of
+ delegated bandwidth. The request contains one TLV:
+
+ o a Target TLV designating the access line for which the information
+ is requested.
+
+4.7.1. Sender Behavior
+
+ The sender MUST set the Result field in the header of the Delegated
+ Bandwidth Query Request message to AckAll (0x2). The Result Code
+ value MUST be set to 0. The sender MUST populate the ANCP
+ Transaction Identifier field with a unique value, as described in
+ Section 3.6.1.6 of [RFC6320].
+
+4.7.2. Receiver Behavior
+
+ If the AN or NAS receives a valid Delegated Bandwidth Query Request
+ message, it MUST respond with a Delegated Bandwidth Query Response
+ message. The Result field in the header of the response MUST be set
+ to Success (0x3). The Result Code field MUST be set to 0. The
+ Transaction Identifier field MUST be copied from the request message.
+ The body of the response MUST contain the Target TLV, copied from the
+ request message. Finally, the body of the response MUST contain a
+ Bandwidth-Allocation TLV, containing the current amount of delegated
+ bandwidth from the point of view of the receiver of the request.
+
+ If the contents of the Delegated Bandwidth Query Request message are
+ in error, the receiver MUST return a Delegated Bandwidth Query
+ Response message with the Result field in the header set to Failure
+ (0x3). The Result Code field MUST be set to the value that indicates
+ the nature of the error (e.g., 0x500 "One or more of the specified
+ ports do not exist"). The Transaction Identifier field MUST be
+ copied from the request. The body of the response MUST contain the
+ Target TLV copied from the request. This MAY be followed by a
+ Status-Info TLV giving further information about the error.
+
+4.8. Delegated Bandwidth Query Response Message
+
+ The Delegated Bandwidth Query Response message is sent in reply to a
+ Delegated Bandwidth Query Request message. The response to a valid
+ request contains two TLVs:
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 34]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o the Target TLV, copied from the request; and
+
+ o a Bandwidth-Allocation TLV, giving the responder's view of the
+ current amount of multicast bandwidth delegated to the AN.
+
+ The Message Type for the Delegated Bandwidth Query Response message
+ is 148.
+
+4.8.1. Sender Behavior
+
+ Sender behavior for the Delegated Bandwidth Query Response message is
+ specified in Section 4.7.2.
+
+4.8.2. Receiver Behavior
+
+ If the Delegated Bandwidth Query Response message indicates Success
+ (0x3), the actions described in Sections 4.8.2.1 and 4.8.2.2 apply.
+
+4.8.2.1. Behavior at the NAS
+
+ If the amount of delegated bandwidth provided in the Bandwidth-
+ Allocation TLV is less than the NAS's view of the current amount of
+ delegated bandwidth, the NAS MUST update its view of the current
+ amount of delegated bandwidth to the amount indicated in the
+ Delegated Bandwidth Query Response message.
+
+ If the amount of delegated bandwidth provided in the Bandwidth-
+ Allocation TLV is greater than the NAS's view of the current amount
+ of delegated bandwidth, the NAS MAY accept the given value as its new
+ value of delegated bandwidth. Alternatively, the NAS MAY force the
+ AN to modify its view of the amount of delegated bandwidth to that
+ held by the NAS by sending a Port Management message for the target
+ access line concerned that contains a Bandwidth-Allocation TLV with a
+ value equal to the amount of delegated bandwidth the NAS wishes to
+ enforce.
+
+4.8.2.2. Behavior at the AN
+
+ The AN SHOULD accept the value returned in the Bandwidth-Allocation
+ TLV of the Delegated Bandwidth Query Response message as the correct
+ value of the current amount of delegated bandwidth. If the AN has
+ already committed multicast bandwidth exceeding the amount given in
+ the Bandwidth-Allocation TLV, the AN SHOULD NOT discontinue any
+ multicast streams in order to bring bandwidth down to within the new
+ limit, unless such action is required by local policy. However, the
+ AN MUST NOT admit new multicast streams that are subject to admission
+ control until it can do so within the limit specified by the
+ Bandwidth-Allocation TLV. As specified in Section 6.2.5.2, the AN
+
+
+
+Le Faucheur, et al. Standards Track [Page 35]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ MAY attempt to correct the situation by sending a request to the NAS
+ for an increased allocation of delegated bandwidth using the
+ Bandwidth Reallocation Request message.
+
+ Note: A race condition is possible where the AN sends a query, the
+ NAS requests more bandwidth, then receives and responds to the
+ query, and then receives the Bandwidth Transfer message responding
+ to its request. It is up to the AN to take appropriate action in
+ this case. The best action appears to be not to act on the result
+ of the first query but to repeat the query after sending the
+ Bandwidth Transfer message. Similar considerations apply to a
+ race between queries from both sides.
+
+4.9. Multicast Flow Query Request and Response Messages
+
+ This section defines two new messages called the Multicast Flow Query
+ Request and Multicast Flow Query Response. The Multicast Flow Query
+ Request message is sent by the NAS to request information about the
+ multicast flows that are active on the AN. The Multicast Flow Query
+ Response message is sent in response by the AN to provide the
+ requested information to the NAS.
+
+ The Message Type for the Multicast Flow Query Request and Multicast
+ Flow Query Response messages is 149.
+
+ The contents of the Multicast Flow Query Request and Multicast Flow
+ Query Response messages depend on the nature of the query, as
+ described below.
+
+4.9.1. Sender Behavior
+
+ The sender of a Multicast Flow Query Request message MUST set the
+ Result field to AckAll (0x2). The Result Code field MUST be set to
+ 0x000. The sender MUST populate the ANCP Transaction Identifier
+ field with a unique value, as described in Section 3.6.1.6 of
+ [RFC6320].
+
+ The Multicast Flow Query Request message MAY be used by the NAS to
+ retrieve:
+
+ o the AN's view of which multicast flows are currently active on a
+ specified set of access ports; or
+
+ o the AN's view of the access ports on which a specified set of
+ multicast flows are currently active; or
+
+ o the AN's view of all the multicast flows currently active on each
+ access port of the AN.
+
+
+
+Le Faucheur, et al. Standards Track [Page 36]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ To retrieve the AN's view of which multicast flows are currently
+ active on a given port of the AN, the NAS MUST include a Target TLV
+ in the Multicast Flow Query Request payload identifying that port.
+ The Target TLV is encoded as specified in [RFC6320].
+
+ To retrieve the AN's view of the ports currently receiving a given
+ multicast flow, the NAS MUST include a Multicast-Flow TLV in the
+ Multicast Flow Query Request payload identifying that flow. The
+ Multicast-Flow TLV is encoded as specified in Section 5.12.
+
+ The NAS MAY include multiple Target TLVs or multiple Multicast-Flow
+ TLVs in the Multicast Flow Query Request message but MUST NOT include
+ both Target and Multicast-Flow TLVs in the same message.
+
+ To retrieve the AN's view of all of the multicast flows currently
+ active on each port of the AN, the NAS MUST send a Multicast Flow
+ Query Request message that does not contain any instance of the
+ Target TLV or the Multicast-Flow TLV.
+
+4.9.2. Receiver Behavior
+
+ The AN MUST respond to a Multicast Flow Query Request message that
+ has a valid format and a valid content with a Multicast Flow Query
+ Response message. The Result field in the response MUST be set to
+ Success (0x3). The Result Code field MUST be set to 0. The
+ Transaction Identifier field MUST be copied from the request.
+
+ If the Multicast Flow Query Request contains one (or more) Target
+ TLVs, the AN MUST include, for each of these Target TLVs, the
+ following set of TLVs:
+
+ o Target TLV. This MUST be identical to the Target TLV in the
+ received Multicast Flow Query Request message.
+
+ o Multicast-Flow TLV(s). The Multicast-Flow TLV MUST appear once
+ per multicast flow that is currently active on the AN port
+ identified in the preceding Target TLV.
+
+ The Target TLVs MUST appear in the response from the AN in the same
+ order as in the query from the NAS.
+
+ If the Multicast Flow Query Request message contains one (or more)
+ Multicast-Flow TLVs, the AN MUST include, for each of these
+ Multicast-Flow TLVs, the following set of TLVs:
+
+ o Multicast-Flow TLV. This MUST be identical to the Multicast-Flow
+ TLV in the received Multicast Flow Query Request message.
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 37]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o Target TLV(s). The Target TLV MUST appear once per AN port on
+ which the multicast flow identified in the preceding Multicast-
+ Flow TLV is active.
+
+ The Multicast-Flow TLVs MUST appear in the response from the AN in
+ the same order as in the query from the NAS.
+
+ If the Multicast Flow Query Request message contains no Target TLV
+ and no Multicast Flow TLV, the AN MUST include, for each AN port
+ currently receiving multicast flow(s), the following set of TLVs:
+
+ o Target TLV. This MUST identify one AN port.
+
+ o Multicast-Flow TLV(s). The Multicast-Flow TLV MUST appear once
+ per Multicast Flow that is currently active on the AN port
+ identified in the preceding Target TLV.
+
+ If the contents of the Multicast Flow Query Request message are in
+ error, the AN MUST reply with a Multicast Flow Query Response message
+ with the Result field set to Failure (0x4) and the Result Code field
+ set to indicate the nature of the error. If the request contained
+ multiple instances of the Target TLV or the Multicast-Flow TLV and
+ one of these is in error, the response message MUST contain the
+ results for the preceding instances of the TLV as if there had been
+ no error. These successful results MUST be followed by the TLV in
+ error, copied from the request. The AN MUST NOT do further
+ processing of the request. The AN MAY add a Status-Info TLV to
+ provide further information on the nature of the error.
+
+4.10. Committed Bandwidth Report Message
+
+ This section describes the Committed Bandwidth Report message, which
+ is sent from the AN to the NAS to report the most recent amount of
+ multicast bandwidth usage committed to one or more access lines.
+
+ The Message Type for the Committed Bandwidth Report message is 150.
+
+ The Committed Bandwidth Report message contains one or more instances
+ of the Committed-Bandwidth TLV, as described in Section 5.14.
+
+4.10.1. Sender Behavior
+
+ The sender of a Committed Bandwidth Report message MUST set the
+ Result field to Ignore (0x0). The Result Code field MUST be set to
+ 0x000. The sender MUST populate the ANCP Transaction Identifier
+ field with a unique value, as described in Section 3.6.1.6 of
+ [RFC6320].
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 38]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ Each instance of the Committed-Bandwidth TLV included in the message
+ MUST identify an access line for which the amount of committed
+ multicast bandwidth has changed since the previous Committed
+ Bandwidth Report message was sent and MUST report the latest amount
+ of multicast bandwidth committed to that line. There MUST be only
+ one instance of the Committed-Bandwidth TLV present in the message
+ for any given access line. The message MUST include an instance of
+ the Committed-Bandwidth TLV for every access line for which committed
+ multicast bandwidth has changed since the previous Committed
+ Bandwidth Report message was sent.
+
+ Further behavior at the AN is specified in Section 6.2.2.
+
+4.10.2. Receiver Behavior
+
+ The usage of the contents of a Committed Bandwidth Report message
+ received by the NAS is implementation-dependent. One example is that
+ the NAS uses the reports of multicast bandwidth commitments to adjust
+ its forwarding scheduler operation to provide the intended level of
+ QoS.
+
+ The NAS MUST NOT reply to a valid Committed Bandwidth Report message.
+ The NAS MAY send a Generic Response message indicating the nature of
+ any errors detected in a Committed Bandwidth Report message that it
+ has received.
+
+5. ANCP TLVs For Multicast
+
+ This section defines new ANCP TLVs for the control of multicast
+ flows.
+
+5.1. Multicast-Service-Profile TLV
+
+ This document defines the new Multicast-Service-Profile TLV.
+
+ The Multicast-Service-Profile TLV MAY be included in a Provisioning
+ message as specified in Section 4.1.
+
+ The Multicast-Service-Profile TLV is illustrated in Figure 7. It
+ consists of a TLV header encapsulating a single instance of the
+ Multicast-Service-Profile-Name TLV and one or more instances of the
+ List-Action TLV.
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 39]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Mcast-Service-Profile 0x0013 | TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast-Service-Profile-Name TLV |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | List-Action TLV |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | ... |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | List-Action TLV |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 7: Multicast-Service-Profile TLV
+
+ The Multicast-Service-Profile TLV has the following fields:
+
+ o TLV Type: 0x0013
+
+ o TLV Length: determined by the contents following the TLV header.
+
+ o Multicast-Service-Profile-Name TLV: described in Section 5.2. The
+ Multicast-Service-Profile-Name TLV MUST contain an identifier that
+ is unique over all profiles provisioned to the same AN partition.
+ This identifier will be used to refer to the profile when
+ activating it for a given target within a Port Management message
+ (see Section 4.2).
+
+ o List-Action TLV: described in Section 5.3. The List-Action TLV(s)
+ provide the content of a newly defined multicast service profile
+ or modify the existing content. If more than one List-Action TLV
+ is present, the order of the TLVs may be significant, since List-
+ Action TLVs are processed in the order in which they appear.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 40]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+5.2. Multicast-Service-Profile-Name TLV
+
+ The Multicast-Service-Profile-Name TLV carries the identifier of a
+ multicast service profile provisioned on the AN. It is illustrated
+ in Figure 8.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Mcast-Svc-Profile-Name 0x0018 | TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast service profile identifier |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 8: Multicast-Service-Profile-Name TLV
+
+ The Multicast-Service-Profile-Name TLV has the following fields:
+
+ o TLV Type: 0x0018
+
+ o TLV Length: up to 255 octets.
+
+ o Multicast service profile identifier: an opaque sequence of octets
+ identifying a specific multicast service profile.
+
+ Note: The identifier could have the form of human-readable text
+ or an arbitrary binary value, depending on the operator's
+ practices.
+
+5.3. List-Action TLV
+
+ The List-Action TLV identifies multicast flows to be added to or
+ removed from a list of white-, black-, or grey-listed flows. It is
+ meaningful only in association with a Multicast-Service-Profile-Name
+ TLV identifying the profile to which the List-Action TLV applies.
+ Such an association can be achieved by placing both TLVs in the same
+ base message payload or as embedded TLVs of another TLV such as the
+ Multicast-Service-Profile TLV. The List-Action TLV is shown in
+ Figure 9.
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 41]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = List-Action 0x0021 | TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Operation | List Type | Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Address Family | Number of flow fields |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast flow fields |
+ ......
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Address Family | Number of flow fields |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast flow fields |
+ ......
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 9: List-Action TLV
+
+ The List-Action TLV contains the following fields:
+
+ o TLV Type: 0x0021
+
+ o TLV Length: length of the subsequent contents.
+
+ o Operation: operation to be performed upon the white, black, or
+ grey list identified by the List Type field within the profile
+ identified by the associated Multicast-Service-Profile-Name
+ embedded TLV. The possible values are:
+
+ * 1 "Add": the multicast flow fields are to be added to the list.
+
+ * 2 "Delete": the multicast flow fields are to be removed from
+ the list. Each multicast flow field in the List-Action MUST
+ match exactly an existing entry in the list concerned. Thus,
+ to remove part of the range provided by a wildcarded list
+ entry, it is necessary to remove the entire entry and add back
+ the remaining partial range(s).
+
+ * 3 "Replace": the multicast flow fields replace the existing
+ contents of the list.
+
+ o List Type: the list type being modified by this List-Action TLV.
+ The possible values are 1 "White", 2 "Black", or 3 "Grey".
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 42]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o Reserved: a sender MUST set this field to zeroes. A receiver MUST
+ ignore the contents of this field.
+
+ o Address Family: the IP version of the set of multicast flow fields
+ that follow, encoded according to [PIMreg]. Possible values are 1
+ "IPv4" or 2 "IPv6". Either an IPv4 list or an IPv6 list or both
+ MAY be present in the List-Action TLV.
+
+ o Number of flow fields: the number of multicast flow fields of the
+ given address family that follows.
+
+ o Multicast flow field: a field identifying one or more multicast
+ flows. It consists of an 8-bit group address prefix length, an
+ 8-bit source address prefix length, a group prefix of 0-16 octets,
+ and a source prefix of 0-16 octets, as shown in Figure 10.
+
+ Each multicast flow field refers either to a Source-Specific
+ Multicast (SSM) channel or to an Any-Source Multicast (ASM) group.
+ The scope of the designation may be broadened to multiple channels or
+ groups through use of prefix length values smaller than the total
+ address length for the given address family. Multicast flow fields
+ MUST be placed consecutively within the embedded TLV without
+ intervening padding except to round out individual addresses to the
+ nearest octet boundary.
+
+ A multicast flow field consists of two single-octet prefix lengths
+ followed by zero to two prefix values as shown in Figure 10:
+
+ +-+-+-+-+-+-+-+-+
+ | Group PrefLen |
+ +-+-+-+-+-+-+-+-+
+ | Source PrefLen|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Group Prefix (multicast) (0 to 16 octets) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Source Prefix (unicast, SSM only) (0 to 16 octets) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 10: Organization of a Single Multicast Flow Field
+
+ The prefix length has its usual meaning. It is the number of most-
+ significant bits specified within the corresponding prefix. The
+ prefix length MAY vary from 0 to 32 in the IPv4 sub-list and from 0
+ to 128 in the IPv6 sub-list.
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 43]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ A value of 0 for either the Group PrefLen (prefix length) or the
+ Source PrefLen indicates that any value of the corresponding address
+ will match (wildcard). If the value 0 is provided for a particular
+ prefix length, the corresponding prefix MUST be omitted from the
+ field contents.
+
+ The length of a Source or Group Prefix field is equal to (PrefLen +
+ 7)/8 octets, truncated to the nearest integer. Unused bits at the
+ end of the prefix MUST be set to zeroes.
+
+5.4. Sequence-Number TLV
+
+ The Sequence-Number TLV conveys a sequence number of some sort. The
+ specific meaning of the sequence number is message-specific. Within
+ this specification, the Sequence-Number TLV is used as an embedded
+ TLV in a Status-Info TLV in a Generic Response message reporting a
+ failed command in a Multicast Replication Control or Multicast
+ Admission Request message. It identifies the sequence number within
+ the message of the command that failed.
+
+ The Sequence-Number TLV has the format shown in Figure 11.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Sequence-Number 0x0022 | TLV Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sequence number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 11: Sequence-Number TLV
+
+ The Sequence-Number TLV has the following fields:
+
+ o TLV Type: 0x0022
+
+ o TLV Length: 4
+
+ o Sequence number: the sequence number of a specific entity within a
+ series, where numbering starts from 1 for the first entity in the
+ series. Represented as a 32-bit binary number, most significant
+ bit first.
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 44]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+5.5. Bandwidth-Allocation TLV
+
+ The Bandwidth-Allocation TLV is used to indicate the total amount of
+ video bandwidth delegated to the AN for multicast admission control
+ for a given access line, in kilobits per second. The TLV has the
+ format shown in Figure 12.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bandwidth-Allocation 0x0015 | TLV Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Delegated amount (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 12: Bandwidth-Allocation TLV
+
+ The Bandwidth-Allocation TLV has the following fields:
+
+ o TLV Type: 0x0015
+
+ o TLV Length: 4
+
+ o Delegated amount: the bandwidth amount delegated to the AN for
+ admission of multicast video on a given port, kilobits per second.
+ Represented as a 32-bit binary value, most significant bit first.
+
+5.6. White-List-CAC TLV
+
+ The White-List-CAC TLV is used to indicate that the NAS wishes the AN
+ to do admission control for white-listed flows. Details on when the
+ White-List-CAC TLV may be provisioned are specified in Section 6.
+ The White-List-CAC TLV is illustrated in Figure 13.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = White-List-CAC 0x0024 | TLV Length = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 13: White-List-CAC TLV
+
+ The White-List-CAC TLV contains the following fields:
+
+ o TLV Type: 0x0024
+
+ o TLV Length: 0, since the TLV contains no data other than the TLV
+ header.
+
+
+
+Le Faucheur, et al. Standards Track [Page 45]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+5.7. MRepCtl-CAC TLV
+
+ The MRepCtl-CAC TLV is used to indicate that the NAS wishes the AN to
+ do admission control for flows added by the Multicast Replication
+ Control message. Details on when the MRepCtl-CAC TLV may be
+ provisioned are specified in Section 6. The MRepCtl-CAC TLV is
+ illustrated in Figure 14.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |TLV Type = MRepCtl-CAC 0x0025 | TLV Length = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 14: MRepCtl-CAC TLV
+
+ The MRepCtl-CAC TLV contains the following fields:
+
+ o TLV Type: 0x0025
+
+ o TLV Length: 0, since the TLV contains no data other than the TLV
+ header.
+
+5.8. Bandwidth-Request TLV
+
+ The Bandwidth-Request TLV is used to request an adjustment of the
+ total amount of video bandwidth allocated to the AN for multicast
+ admission control for a given line. The "Required amount" field
+ indicates the minimum adjustment required to meet the request. The
+ "Preferred amount" field indicates the adjustment the requestor would
+ prefer to have, if possible. Section 4.5 discusses the required
+ relationships between the "Required amount", "Preferred amount", and
+ current values of total bandwidth allocated to the AN.
+
+ The Bandwidth-Request TLV has the format shown in Figure 15.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type=Bandwidth-Request 0x0016 | TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Required amount (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Preferred amount (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 15: Bandwidth-Request TLV
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 46]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Bandwidth-Request TLV has the following fields:
+
+ o TLV Type: 0x0016
+
+ o TLV Length: 8 octets
+
+ o Required amount: the minimum or maximum amount, depending on
+ whether the sender is the AN or the NAS respectively, of delegated
+ video bandwidth that is being requested, in kilobits per second.
+ Represented as a 32-bit binary value, most significant bit first.
+
+ o Preferred amount: the preferred amount of delegated video
+ bandwidth that is being requested, in kilobits per second.
+ Represented as a 32-bit binary value, most significant bit first.
+
+5.9. Request-Source-IP TLV
+
+ The Request-Source-IP TLV provides the IP address of the entity that
+ originated a specific request to join or leave a multicast channel.
+ The TLV is illustrated in Figure 16.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Request-Source-IP | TLV Length = 4 or 16 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unicast Address |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 16: Request-Source-IP TLV
+
+ The Request-Source-IP TLV contains the following fields:
+
+ o TLV Type: 0x0092
+
+ o TLV Length: 4 for an IPv4 address or 16 for an IPv6 address.
+
+ o Unicast address: IP address of the source of a multicast flow join
+ request, in network byte order.
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 47]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+5.10. Request-Source-MAC TLV
+
+ The Request-Source-MAC TLV provides the MAC address of the entity
+ that originated a specific request to join or leave a multicast
+ channel. The TLV is illustrated in Figure 17.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |TLV Type=Request-Source-MAC | TLV Length = 6 or 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ +-+-+- IEEE MAC Address +-+-+-+
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 17: Request-Source-MAC TLV
+
+ The Request-Source-MAC TLV contains the following fields:
+
+ o TLV Type: 0x0093.
+
+ o TLV Length: either 6 octets (MAC-48 or EUI-48) or 8 octets (EUI-
+ 64).
+
+ o IEEE MAC Address: MAC address of the device originating the
+ request to join a multicast flow. Within the address, bytes and
+ bits, respectively, shall be ordered from most to least
+ significant, consistent with [IEEE48] for MAC-48 and EUI-48 and
+ with [IEEE64] for EUI-64.
+
+ Note: EUI-48 and EUI-64 are registered trademarks of the IEEE.
+
+5.11. Request-Source-Device-Id TLV
+
+ The Request-Source-Device-Id TLV provides a local identifier of the
+ entity that originated a specific request to join or leave a
+ multicast channel. The TLV is illustrated in Figure 18.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Request-Source-Device-Id | TLV Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Identifier value |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 18: Request-Source-Device-Id TLV
+
+
+
+Le Faucheur, et al. Standards Track [Page 48]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Request-Source-Device-Id TLV contains the following fields:
+
+ o TLV Type: 0x0096.
+
+ o TLV Length: 4
+
+ o Identifier value: local device identifier value, known to the AN
+ and AAA. Given that the scope of the identifier is a single
+ customer network, 32 bits is a more-than-sufficient numbering
+ space.
+
+5.12. Multicast-Flow TLV
+
+ IGMPv3 [RFC3376] and MLDv2 [RFC3810] allow multicast listeners to
+ specify multiple source addresses for the same multicast group.
+ Similarly, the Multicast-Flow TLV specifies a multicast flow in terms
+ of its multicast group address and, if applicable, one or more
+ unicast source addresses. The Multicast-Flow TLV is illustrated in
+ Figure 19.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type | Addr Family | Number of Source Addresses |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+--+
+ | Unicast Source Address (for SSM flows only) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 19: Multicast-Flow TLV
+
+ The Multicast-Flow TLV has the following fields:
+
+ o TLV Type: 0x0019
+
+ o TLV Length: ranges from a minimum of 8 (for an ASM IPv4 flow)
+ upwards. Total length is 4 + 4*(Number of Source Addresses +1)
+ for IPv4 or 4 + 16*(Number of Source Addresses + 1) for IPv6.
+
+ o Flow Type: 1 "Any-Source Multicast (ASM)", 2 "Source-Specific
+ Multicast (SSM)".
+
+ o Addr Family: address family of the multicast source and group
+ addresses, encoded in accordance with the IANA "PIM Address
+ Family" registry ([PIMreg]). 1 indicates IPv4; 2 indicates IPv6.
+
+
+
+Le Faucheur, et al. Standards Track [Page 49]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o Number of Source Addresses: 0 for ASM, 1 or more for SSM.
+
+ o Multicast Group Address: a multicast group address within the
+ given address family. The group address MUST always be present.
+
+ o Unicast Source Address: unicast address within the given address
+ family. If the Flow Type is "ASM" (1), a source address MUST NOT
+ be present. If the Flow Type is "SSM" (2), the number of source
+ addresses given by the Number of Source Addresses field MUST be
+ present.
+
+ The full versions of IGMPv3 and MLDv2 support both INCLUDE and
+ EXCLUDE modes for specifying the desired sources for SSM flows. The
+ Multicast-Flow TLV supports INCLUDE mode only. [RFC5790]
+ (Lightweight IGMPv3 and MLDv2) provides guidance on converting
+ EXCLUDE mode IGMP/MLD records to INCLUDE mode for the Multicast-Flow
+ TLV.
+
+5.13. Report-Buffering-Time TLV
+
+ The Report-Buffering-Time TLV provides the time for which a Committed
+ Bandwidth Report message must be held with the intention of
+ accumulating multiple reports of changed committed multicast
+ bandwidth in one report, to reduce the volume of messages sent to the
+ NAS. For further information see Section 6.2.2. The TLV is
+ illustrated in Figure 20.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Report-Buffering-Time 0x0094 | TLV Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Buffering Time (ms) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 20: Report-Buffering-Time TLV
+
+ The Report-Buffering-Time TLV contains the following fields:
+
+ o TLV Type: 0x0094
+
+ o TLV Length: 4 octets
+
+ o Buffering Time is a 32-bit unsigned integer containing a time
+ value in milliseconds (ms).
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 50]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+5.14. Committed-Bandwidth TLV
+
+ The Committed-Bandwidth TLV identifies an access line and provides
+ the current amount of multicast bandwidth that the AN has committed
+ to it. The TLV is illustrated in Figure 21.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Committed-Bandwidth 0x0095 | TLV Length (variable) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Committed Multicast Bandwidth (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Target TLV ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 21: Committed-Bandwidth TLV
+
+ The Committed-Bandwidth TLV contains the following fields:
+
+ o TLV Type: 0x0095
+
+ o TLV Length: 4 octets plus the length of the Target TLV, including
+ its header and any padding.
+
+ o Committed Multicast Bandwidth: a 32-bit unsigned integer providing
+ a bandwidth amount in kbits/s.
+
+ o Target TLV: identifies the access line to which this amount of
+ multicast bandwidth is currently committed.
+
+6. Multicast Capabilities
+
+ Section 3.5 of [RFC6320] defines a capability negotiation mechanism
+ as well as a number of capabilities. This section defines five new
+ capabilities in support of different modes of multicast operation:
+
+ o NAS-initiated multicast replication (capability type 3);
+
+ o committed bandwidth reporting (capability type 5);
+
+ o conditional access and admission control with white and black
+ lists (capability type 6);
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 51]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o conditional access and admission control with grey lists
+ (capability type 7); and
+
+ o bandwidth delegation (capability type 8).
+
+ The "Capability Data" field within the Capability TLV for all of
+ these capabilities is empty. All of these capabilities are
+ independent of the access technology.
+
+ The remainder of this section consists of three sub-sections.
+ Section 6.1 specifies the protocol elements that must be implemented
+ in order to support each capability. Section 6.2 specifies the
+ procedures that apply to each capability on its own. Section 6.3
+ specifies how the capabilities interact if more than one multicast
+ capability is included in the set of capabilities negotiated between
+ the AN and the NAS.
+
+6.1. Required Protocol Support
+
+ This section specifies the protocol elements that MUST be implemented
+ to support each of the five multicast capabilities. Support of
+ multiple multicast capabilities requires implementation of the union
+ of the sets of protocol elements applying to each of the individual
+ capabilities in the supported set.
+
+ In addition to the elements listed below, implementation of the
+ Target TLV (Section 4.3 of [RFC6320]) is REQUIRED for all of the
+ capabilities specified in this document.
+
+6.1.1. Protocol Requirements for NAS-Initiated Multicast Replication
+
+ Table 1 specifies the protocol elements within Section 4 and
+ Section 5 that MUST be implemented to support the NAS-initiated
+ multicast replication capability. Additionally, implementation of
+ the Multicast Replication Control message requires implementation of
+ the Command TLV (Section 4.4 of [RFC6320] with additional details in
+ Section 4.3 of this document).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 52]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ +--------------+----------------------------------------------------+
+ | Reference | Protocol Element |
+ +--------------+----------------------------------------------------+
+ | Section 4.1 | Provisioning message with MRepCtl-CAC TLV |
+ | | |
+ | Section 4.2 | Port Management message with Bandwidth-Allocation |
+ | | TLV |
+ | | |
+ | Section 4.3 | Multicast Replication Control message |
+ | | |
+ | Section 4.9 | Multicast Flow Query Request and Response messages |
+ | | |
+ | Section 5.4 | Sequence Number TLV |
+ | | |
+ | Section 5.5 | Bandwidth-Allocation TLV |
+ | | |
+ | Section 5.7 | MRepCtl-CAC TLV |
+ | | |
+ | Section 5.12 | Multicast-Flow TLV |
+ +--------------+----------------------------------------------------+
+
+ Table 1: Protocol Requirements for NAS-Initiated Multicast
+ Replication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 53]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.1.2. Protocol Requirements for Committed Multicast Bandwidth
+ Reporting
+
+ Table 2 specifies the protocol elements within Section 4 and
+ Section 5 that MUST be implemented to support the committed multicast
+ bandwidth reporting capability.
+
+ +--------------+----------------------------------------------------+
+ | Reference | Protocol Element |
+ +--------------+----------------------------------------------------+
+ | Section 4.1 | Provisioning message with Report-Buffering-Time |
+ | | TLV |
+ | | |
+ | Section 4.10 | Committed Bandwidth Report message |
+ | | |
+ | Section 4.9 | Multicast Flow Query Request and Response messages |
+ | | |
+ | Section 5.13 | Report-Buffering-Timer TLV |
+ | | |
+ | Section 5.14 | Committed-Bandwidth TLV |
+ | | |
+ | Section 5.12 | Multicast-Flow TLV |
+ +--------------+----------------------------------------------------+
+
+ Table 2: Protocol Requirements for Committed Multicast Bandwidth
+ Reporting
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 54]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.1.3. Protocol Requirements for Conditional Access and Admission
+ Control with White and Black Lists
+
+ Table 3 specifies the protocol elements within Section 4 and
+ Section 5 that MUST be implemented to support the conditional access
+ and admission control with white and black lists multicast
+ capability.
+
+ +--------------+----------------------------------------------------+
+ | Reference | Protocol Element |
+ +--------------+----------------------------------------------------+
+ | Section 4.1 | Provisioning message with Multicast-Service- |
+ | | Profile TLV, white and black lists only, and |
+ | | White-List-CAC TLV |
+ | | |
+ | Section 4.2 | Port Management message with Multicast-Service- |
+ | | Profile-Name and Bandwidth-Allocation TLVs |
+ | | |
+ | Section 4.9 | Multicast Flow Query Request and Response messages |
+ | | |
+ | Section 5.1 | Multicast-Service-Profile TLV |
+ | | |
+ | Section 5.2 | Multicast-Service-Profile-Name TLV |
+ | | |
+ | Section 5.3 | List-Action TLV, white and black lists only |
+ | | |
+ | Section 5.5 | Bandwidth-Allocation TLV |
+ | | |
+ | Section 5.6 | White-List-CAC TLV |
+ | | |
+ | Section 5.12 | Multicast-Flow TLV |
+ +--------------+----------------------------------------------------+
+
+ Table 3: Protocol Requirements for Conditional Access and Admission
+ Control with White and Black Lists
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 55]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.1.4. Protocol Requirements for Conditional Access and Admission
+ Control with Grey Lists
+
+ Table 4 specifies the protocol elements within Section 4 and
+ Section 5 that MUST be implemented to support the conditional access
+ and admission control with grey lists multicast capability.
+ Additionally, implementation of the Multicast Replication Control
+ message requires implementation of the Command TLV (Section 4.4 of
+ [RFC6320] with additional details in Section 4.3 of this document).
+
+ +--------------+----------------------------------------------------+
+ | Reference | Protocol Element |
+ +--------------+----------------------------------------------------+
+ | Section 4.1 | Provisioning message with Multicast-Service- |
+ | | Profile TLV, grey lists only, and MRepCtl-CAC TLV |
+ | | |
+ | Section 4.2 | Port Management message with Multicast-Service- |
+ | | Profile-Name and Bandwidth-Allocation TLVs |
+ | | |
+ | Section 4.3 | Multicast Replication Control message |
+ | | |
+ | Section 4.4 | Multicast Admission Control message |
+ | | |
+ | Section 4.9 | Multicast Flow Query Request and Response messages |
+ | | |
+ | Section 5.1 | Multicast-Service-Profile TLV, grey lists only |
+ | | |
+ | Section 5.2 | Multicast-Service-Profile-Name TLV |
+ | | |
+ | Section 5.3 | List-Action TLV, grey lists only |
+ | | |
+ | Section 5.4 | Sequence Number TLV |
+ | | |
+ | Section 5.5 | Bandwidth-Allocation TLV |
+ | | |
+ | Section 5.7 | MRepCtl-CAC TLV |
+ | | |
+ | Section 5.9 | Request-Source-IP TLV |
+ | | |
+ | Section 5.10 | Request-Source-MAC TLV |
+ | | |
+ | Section 5.11 | Request-Source-Device-Id TLV |
+ | | |
+ | Section 5.12 | Multicast-Flow TLV |
+ +--------------+----------------------------------------------------+
+
+ Table 4: Protocol Requirements for Conditional Access and Admission
+ Control with Grey Lists
+
+
+
+Le Faucheur, et al. Standards Track [Page 56]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.1.5. Protocol Requirements for Bandwidth Delegation
+
+ Table 5 specifies the protocol elements within Section 4 and
+ Section 5 that MUST be implemented to support the bandwidth
+ delegation capability.
+
+ +--------------+----------------------------------------------------+
+ | Reference | Protocol Element |
+ +--------------+----------------------------------------------------+
+ | Section 4.2 | Port Management message with Bandwidth-Allocation |
+ | | TLV |
+ | | |
+ | Section 4.5 | Bandwidth Reallocation Request message |
+ | | |
+ | Section 4.6 | Bandwidth Transfer message |
+ | | |
+ | Section 4.7 | Delegated Bandwidth Query Request message |
+ | | |
+ | Section 4.8 | Delegated Bandwidth Query Response message |
+ | | |
+ | Section 4.9 | Multicast Flow Query Request and Response messages |
+ | | |
+ | Section 5.5 | Bandwidth-Allocation TLV |
+ | | |
+ | Section 5.8 | Bandwidth-Request TLV |
+ | | |
+ | Section 5.12 | Multicast-Flow TLV |
+ +--------------+----------------------------------------------------+
+
+ Table 5: Protocol Requirements for Bandwidth Delegation
+
+6.2. Capability-Specific Procedures for Providing Multicast Service
+
+ This section describes multicast service procedures for each
+ capability as if it were the only multicast capability within the
+ negotiated set. Procedures involving combinations of multicast
+ capabilities are described in Section 6.3.
+
+ The use of the Multicast Flow Query Request and Response messages to
+ determine the association between multicast flows and ports is common
+ to all multicast capabilities. No additional text is required here,
+ beyond that already given in Section 4.9 to describe the use of those
+ messages.
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 57]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.2.1. Procedures for NAS-Initiated Multicast Replication
+
+ NAS-initiated multicast replication may be negotiated to support a
+ mode of operation where IGMP/MLD requests are terminated on the NAS.
+ Alternatively, it may be negotiated to allow the NAS to respond to
+ requests sent by other means (e.g., through application signaling)
+ that require the replication of multicast channels to a given access
+ line.
+
+6.2.1.1. Provisioning
+
+ The NAS MAY perform admission control for NAS-initiated replication.
+ In this case, it MUST NOT include the MRepCtl-CAC TLV in a
+ Provisioning message sent to the AN. Alternatively, the NAS MAY
+ enable admission control at the AN for NAS-initiated multicast
+ replication. To do this, it MUST include the MRepCtl-CAC TLV in a
+ Provisioning message sent to the AN, and it MUST also include a
+ Bandwidth-Allocation TLV in a Port Management message for each access
+ line.
+
+6.2.1.2. Multicast Service Procedures
+
+ The procedures associated with NAS-initiated multicast replication
+ are straightforward. To initiate replication, the NAS MUST send a
+ Multicast Replication Control message to the AN, containing one or
+ more commands adding flows, as described in Section 4.3.1. To
+ terminate replication, the NAS MUST send a Multicast Replication
+ Control message where the commands delete instead of adding the
+ flows. The AN acts upon these messages as specified in
+ Section 4.3.2.
+
+6.2.2. Procedures for Committed Bandwidth Reporting
+
+ Committed bandwidth reporting may be negotiated if the NAS requires
+ current knowledge of the amount of multicast bandwidth committed to
+ each access line and cannot obtain this information by other means.
+
+6.2.2.1. Provisioning
+
+ The default buffering time when committed bandwidth reporting is
+ enabled is zero (immediate reporting). To change this, the NAS MAY
+ send an instance of the Report-Buffering-Time TLV containing a non-
+ zero time value to the AN in a Provisioning message. If the NAS
+ subsequently wishes to change the buffering time again, it MAY do so
+ in another Provisioning message.
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 58]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.2.2.2. Multicast Service Procedures
+
+ If the buffering time for committed bandwidth reporting is zero, the
+ AN MUST send a Committed Bandwidth Report message to the NAS each
+ time the amount of multicast bandwidth committed to any access line
+ under its control changes.
+
+ If a non-zero value is provided in the Report-Buffering-Time TLV, the
+ AN is in one of two states at any given moment: not-buffering or
+ buffering. The AN enters buffering state if it is in not-buffering
+ state and the multicast bandwidth amount committed to some access
+ line changes. It leaves buffering state when the AN sends a
+ Committed Bandwidth Report message.
+
+ Upon entry to the buffering state, the AN MUST start a buffering
+ timer and create a Committed Bandwidth Report message containing a
+ Committed-Bandwidth TLV for the triggering access line, but it MUST
+ NOT send it. If a multicast bandwidth change occurs for another
+ access line, the AN MUST add a new Committed-Bandwidth TLV to the
+ message for that additional line. If a multicast bandwidth change
+ occurs for a line for which a Committed-Bandwidth TLV is already
+ present in the buffered report, the AN MUST update the corresponding
+ Committed-Bandwidth TLV to contain the new bandwidth value rather
+ than adding another Committed-Bandwidth TLV for the same access line.
+
+ The buffering timer expires after the period provided by the Report-
+ Buffering-Time TLV. When it expires, the AN MUST send the Committed
+ Bandwidth Report message that it has been accumulating to the NAS.
+ Exceptionally, the AN MAY choose to send the message before the timer
+ expires, in which case it MUST clear the buffering timer when the
+ message is sent. In either case, the AN enters the not-buffering
+ state as a result.
+
+ Note: Report buffering implies that NAS reaction to changes in
+ multicast bandwidth usage is delayed by the amount of the
+ buffering period. The choice of buffering period must take this
+ into consideration.
+
+6.2.3. Procedures for Conditional Access and Admission Control with
+ Black and White Lists
+
+6.2.3.1. Provisioning
+
+ The NAS provisions named multicast service profiles containing white
+ and black lists on the AN using the Provisioning message containing
+ one or more Multicast-Service-Profile TLVs. The NAS MAY update the
+ contents of these profiles from time to time as required by sending
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 59]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ additional Provisioning messages with Multicast-Service-Profile TLVs
+ containing incremental modifications to the existing white and black
+ lists or replacements for them.
+
+ The NAS assigns a specific multicast service profile to an individual
+ access line using the Port Management message containing a Multicast-
+ Service-Profile-Name TLV. The NAS MAY change the multicast service
+ profile for a given access line at any time by sending a Port
+ Management message identifying a new multicast service profile.
+
+ The NAS MAY choose to enable admission control at the AN for white-
+ listed flows. To do this, it MUST send a Provisioning message as
+ described in Section 4.1, which includes the White-List-CAC TLV, and
+ it MUST provide a multicast bandwidth allocation for each access line
+ by including a Bandwidth-Allocation TLV in a Port Management message.
+
+6.2.3.2. Multicast Service Procedures
+
+ The conditional access and admission control with white and black
+ lists capability assumes that IGMP/MLD requests are terminated on the
+ AN. When the AN receives a join request, it MUST check to see
+ whether the requested flow is white-listed or black-listed as
+ described below. Requests for black-listed flows MUST be discarded.
+ If the NAS has enabled admission control on the AN as described in
+ the previous section, but a white-listed flow would cause the amount
+ of committed multicast bandwidth to exceed the provisioned limit, the
+ request MUST be discarded. The AN replicates flows passing these
+ checks to the access line.
+
+ To determine if a requested flow is white-listed, the AN searches for
+ a best match to the flow in the applicable multicast service profile.
+ Matching is done on the prefixes specified in the profile, ignoring
+ the address bits of lower order than those in the prefix.
+
+ If the requested multicast flow matches multiple lists associated
+ with the access line, then the most specific match will be considered
+ by the AN. If the most specific match occurs in multiple lists, the
+ black list entry takes precedence over the white list. In this
+ context, the most specific match is defined as:
+
+ o first, most specific match (longest prefix length) on the
+ multicast group address (i.e., on G of <S,G>), and
+
+ o then, most specific match (longest prefix length) on the unicast
+ source address (i.e., on S of <S,G>).
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 60]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ If the requested multicast flow is not part of any list, the join
+ message SHOULD be discarded by the AN. This default behavior can
+ easily be changed by means of a "catch-all" statement in the white
+ list. For instance, adding (<S=*,G=*>) in the white List would make
+ the default behavior to accept join messages for a multicast flow
+ that has no other match on any list.
+
+ When the AN receives a leave request, it terminates replication of
+ the multicast flow.
+
+ If the AN receives a Provisioning message that updates an existing
+ multicast service profile, the AN MUST review the status of active
+ flows on all ports to which the updated profile is currently
+ assigned. Similarly, if a Port Management message assigns a new
+ multicast service profile to a given port, the AN MUST review all
+ active flows on that port. If the most specific match for any flow
+ is a black list entry, the flow MUST be terminated immediately. If
+ any of the remaining flows do not match an entry in the white list,
+ they also MUST be terminated immediately. White-listed flows MUST be
+ allowed to continue.
+
+6.2.4. Procedures for Conditional Access and Admission Control with
+ Grey Lists
+
+6.2.4.1. Provisioning
+
+ The NAS provisions named multicast service profiles containing grey
+ lists on the AN using the Provisioning message containing one or more
+ Multicast-Service-Profile TLVs. The NAS MAY update the contents of
+ these profiles from time to time as required by sending additional
+ Provisioning messages with Multicast-Service-Profile TLVs containing
+ incremental modifications to the existing grey lists or replacements
+ for them.
+
+ The NAS assigns a specific multicast service profile to an individual
+ access line using the Port Management message containing a Multicast-
+ Service-Profile-Name TLV. The NAS MAY change profiles on the line by
+ sending a subsequent Port Management message identifying a new
+ profile.
+
+ The NAS MAY perform admission control for grey-listed flows. In that
+ case, the NAS MUST NOT include the MRepCtl-CAC TLV in a Provisioning
+ message sent to the AN. Alternatively, the NAS MAY enable admission
+ control at the AN for grey-listed flows. To do this, it MUST include
+ the MRepCtl-CAC TLV in a Provisioning message sent to the AN and MUST
+ also provide a Bandwidth-Allocation TLV in a Port Management message
+ for each access line.
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 61]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.2.4.2. Multicast Service Procedures
+
+ The conditional access and admission control with grey lists
+ capability assumes that IGMP/MLD requests are terminated on the AN.
+ When the AN receives a join request, it MUST determine whether there
+ is a match to the requested flow in the grey list of the multicast
+ service profile provisioned against the given access line. If there
+ is no match, the request is discarded. Otherwise, the AN MUST send a
+ Multicast Admission Control message to the NAS with content
+ identifying the access line and the multicast flow to be added. As
+ indicated in Section 4.4, the AN MAY add information identifying the
+ requesting device.
+
+ If the NAS decides to enable the flow, it MUST send a Multicast
+ Replication Control message to the AN to replicate the flow to the
+ access line with the Result field set to Nack (0x1), as described in
+ Section 4.3.1.
+
+ When the AN receives the Multicast Replication Control message, it
+ performs admission control if that has been enabled as described in
+ the previous section. If admitting the flow would cause the
+ committed multicast bandwidth at the access line to exceed the
+ provisioned limit, the AN reports an error to the NAS as described in
+ Section 4.3.2. Otherwise, it replicates the multicast flow as
+ requested.
+
+ If the NAS decides not to permit the flow, it MAY send a Multicast
+ Replication Control message in response to the Multicast Admission
+ Control message to allow the AN to update its internal records. The
+ content of this message is described in Section 4.4.2.
+
+ When the AN receives a leave request, it MUST terminate replication
+ of the flow to the access line. It MUST then send a Multicast
+ Admission Control message to the NAS indicating the deletion. The
+ NAS updates its internal records but MUST NOT respond to the message.
+
+ If the AN receives a Provisioning message that updates an existing
+ multicast service profile, the AN MUST review the status of active
+ flows on all ports to which the updated profile has been assigned.
+ Similarly, if the AN receives a Port Management message that assigns
+ a new profile to a given port, the AN MUST review all active flows on
+ that port. In either case, if any flow does not match an entry in
+ the grey list, it MUST be terminated immediately.
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 62]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.2.5. Procedures for Bandwidth Delegation
+
+6.2.5.1. Provisioning
+
+ The NAS SHOULD provision an initial amount of delegated multicast
+ bandwidth for each access line using the Port Management message
+ containing the Bandwidth-Allocation TLV.
+
+ Note: If it fails to do so and a value has not been provisioned on
+ the AN by other means, the AN will be forced to request a
+ bandwidth allocation as soon as it receives a join request.
+
+ The NAS MAY, at any time, force an update of the amount of delegated
+ bandwidth by the same means.
+
+6.2.5.2. Multicast Service Procedures
+
+ The bandwidth delegation capability assumes that IGMP/MLD requests
+ are terminated on the AN. When the AN receives a join request, it
+ checks whether it has sufficient remaining uncommitted multicast
+ bandwidth on the access line to accommodate the new multicast flow.
+ If not, it MAY send a request to the NAS for an increased allocation
+ of delegated bandwidth using the Bandwidth Reallocation Request
+ message. The NAS MUST return a Bandwidth Transfer message indicating
+ whether it has granted the request and, if so, the new amount of
+ delegated bandwidth.
+
+ If the AN has sufficient uncommitted multicast capacity to admit the
+ request, either originally or as the result of a successful request
+ to the NAS, it replicates the requested flow to the access line.
+ Otherwise, it discards the request.
+
+ When the AN receives a leave request for an active flow, it ceases
+ replication.
+
+ The NAS or AN MAY, at some point, detect that their respective views
+ of the amount of delegated bandwidth are inconsistent. If so, they
+ can recover using procedures described in Sections 4.5 and 4.6. As a
+ further aid to synchronization, either the NAS or the AN MAY from
+ time to time check the peer's view of the amount of delegated
+ bandwidth using the Delegated Bandwidth Query message.
+
+ The NAS or AN MAY, at any time, release bandwidth to the peer using
+ an autonomous Bandwidth Transfer message. The contents of this
+ message are described in Section 4.6.
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 63]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+6.3. Combinations of Multicast Capabilities
+
+6.3.1. Combination of Conditional Access and Admission Control with
+ White and Black Lists and Conditional Access and Admission
+ Control with Grey Lists
+
+ If conditional access and admission control with white and black
+ lists is combined with conditional access and admission control with
+ grey lists, provisioning of the multicast service profiles is as
+ described in Section 6.2.3.1 except that multicast service profiles
+ will also include grey lists. Admission control is enabled
+ independently on the AN for white lists by including the White-List-
+ CAC TLV in the Provisioning message and for grey lists by including
+ the MRepCtl-CAC TLV in the Provisioning message. The Bandwidth-
+ Allocation TLV provisions an amount that applies to both white- and
+ grey-listed flows if admission control is enabled for both.
+
+ With regard to multicast service procedures, one point of difference
+ from the individual capabilities must be noted. This is an
+ interaction during the profile matching procedure. The AN MUST seek
+ the best match among multiple lists as described in Section 6.2.3.2.
+ However, if there are multiple matches of equal precision, the order
+ of priority is black list first, grey list second, and white list
+ last.
+
+ Once profile matching has been completed, processing of a join
+ request is as described in Section 6.2.3.2 for white- or black-listed
+ flows or Section 6.2.4.2 for grey-listed flows. Requests that do not
+ match any list SHOULD be discarded.
+
+ When the AN receives a leave request, it MUST terminate replication
+ of the flow to the access line. If the flow was grey-listed, the AN
+ MUST then send a Multicast Admission Control message to the NAS
+ indicating the deletion.
+
+ If the AN receives a Provisioning message that updates an existing
+ multicast service profile, the AN MUST review the status of active
+ flows on all ports to which the updated profile is currently
+ assigned. Similarly, if a Port Management message assigns a new
+ multicast service profile to a given port, the AN MUST review all
+ active flows on that port. If any flow has its most specific match
+ in a black list entry, it MUST be terminated immediately. If any of
+ the remaining flows do not match an entry in the white or grey list,
+ they MUST also be terminated immediately. Finally, if any remaining
+ flows were originally admitted because they were white-listed but
+ after the change they are grey-listed, the AN MUST generate a
+ Multicast Flow Query Response message autonomously as if it were
+ responding to a Multicast Flow Query Request message, listing all
+
+
+
+Le Faucheur, et al. Standards Track [Page 64]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ such flows. These flows MUST be allowed to continue until the NAS or
+ the subscriber terminates them. Flows with their most specific match
+ in the white list MUST be allowed to continue.
+
+ The autonomously generated Multicast Flow Query Response message MUST
+ be formatted as if it were a successful response to a request
+ containing no Target and no Multicast-Flow TLV, as described in
+ Section 4.9.2, with the exception that the Transaction Identifier
+ field MUST be set to all zeroes.
+
+ Note: The procedures in the previous paragraphs imply that the AN
+ has to retain a memory of whether an admitted flow was white-
+ listed or grey-listed at the time of its admission/readmission.
+
+6.3.2. Combination of Conditional Access and Admission Control with
+ Bandwidth Delegation
+
+ The provisioning and bandwidth management procedures of Section 6.2.5
+ apply in addition to the procedures in Sections 6.2.3, 6.2.4, or
+ 6.3.1 as applicable. Conditional access follows the rules given in
+ those sections in terms of matching flows against white and black
+ and/or grey lists. When admission control is enabled at the AN, the
+ amount of bandwidth used by the AN is negotiable as described in
+ Section 6.2.5.2.
+
+6.3.3. Combination of NAS-Initiated Replication with Other Capabilities
+
+ NAS-initiated multicast replication can coexist with the other
+ capabilities, but some means must exist to prevent double replication
+ of flows. The simplest way to do this is to terminate all IGMP/MLD
+ requests on the AN, so that NAS-initiated multicast replication is
+ stimulated only by signaling through other channels. Other
+ arrangements are possible but need not be discussed here.
+
+ Assuming the necessary separation of responsibilities, the only point
+ of interaction between NAS-initiated multicast replication and the
+ other multicast capabilities is in the area of admission control.
+ Specifically, if the AN is to do admission control for flows added by
+ Multicast Replication Control messages, regardless of whether they
+ are part of NAS-initiated replication or grey list multicast service
+ processing, the NAS includes the MRepCtl-CAC TLV in a Provisioning
+ message and the Bandwidth-Allocation TLV in a Port Management
+ message. If, instead, the NAS will do admission control for flows
+ added by Multicast Replication Control messages, regardless of
+ whether they are part of NAS-initiated replication or grey list
+ multicast service processing, it does not send the MRepCtl-CAC TLV in
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 65]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ a Provisioning message to the AN. The NAS can independently enable
+ admission control for white flows on the AN by including the White-
+ List-CAC TLV in the Provisioning message.
+
+6.3.4. Combinations of Committed Bandwidth Reporting with Other
+ Multicast Capabilities
+
+ Committed bandwidth reporting can take place independently of other
+ multicast capabilities that have been negotiated. However, some
+ combinations do not make sense because of redundancy. In particular,
+ the NAS obtains the same information that committed bandwidth
+ reporting gives if the only other capabilities operating are NAS-
+ initiated replication and/or conditional access and admission control
+ with grey lists.
+
+7. Miscellaneous Considerations
+
+ This section deals with two sets of considerations. "Report
+ Buffering Considerations" considers requirements for configuration in
+ support of some of the committed bandwidth reporting capability.
+ "Congestion Considerations" is a warning to implementors about the
+ possibility of control-plane congestion, with suggestions for
+ mitigation.
+
+7.1. Report Buffering Considerations
+
+ The committed bandwidth reporting capability allows the provisioning
+ of a report buffering period to reduce the number of messages the AN
+ passes to the NAS. An appropriate value for this period, if
+ buffering is allowed at all, depends first on the effect of delay in
+ reporting bandwidth changes and secondly on the rate at which
+ bandwidth changes are expected to occur.
+
+ Let us assume, in the first instance, that a delay in adjusting
+ hierarchical scheduling at the NAS causes additional bandwidth demand
+ to be served momentarily on a best-effort basis, introducing the
+ possibility of jitter and, more crucially, packet loss. Appendix IV
+ of ITU-T Recommendation G.1080 [ITU-T_G.1080] indicates that the
+ maximum tolerable duration of a loss episode is less than 16 ms.
+ This would more likely apply in the middle of a program rather than
+ when it was starting up but at least gives an (extremely
+ conservative) order of magnitude for setting the buffering period.
+
+ The next question is whether enough messaging is likely to be
+ generated that multiple bandwidth changes would be observed within
+ such an interval. Let us consider a reasonable example in a DSL
+ environment, where during the busiest hour of the day subscribers
+ start watching at the rate of one program per subscriber per hour.
+
+
+
+Le Faucheur, et al. Standards Track [Page 66]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ Typically, because of program scheduling, the new channel requests
+ might be concentrated within a three-minute period, giving an
+ effective request rate of 1/(3 minutes * 60 seconds * 1000 ms/second)
+ * 16 ms = 0.00009 requests per buffering interval of 16 ms. With
+ these figures, an AN serving 10,000 subscribers will report an
+ average of 0.9 bandwidth changes per 16 ms buffering interval. It
+ appears that buffering is worthwhile only for larger-scale
+ deployments.
+
+ Note that simple replacement of one channel with another -- channel
+ surfing -- does not require reporting or adjustment at the NAS end.
+
+7.2. Congestion Considerations
+
+ Implementors must beware of the possibility that a single channel-
+ surfing subscriber could generate enough control messaging to
+ overload the AN or the messaging channel between the AN and the NAS.
+ The implementation problem is to strike the right balance between
+ minimizing the processing of requests that have been overtaken by
+ subsequent events and meeting requirements for what is termed
+ "channel zapping delay". Nominally, such a requirement is to be
+ found in Section 8.1 of [ITU-T_G.1080], but unfortunately no
+ quantitative value was available at the time of publication of this
+ document. Implementors will therefore have to base their work on
+ discussions with customers until standardized requirements become
+ available. (It is possible that regional bodies or more specialized
+ bodies have overtaken the ITU-T in this regard.)
+
+ A typical strategy for minimizing the work associated with request
+ processing includes deliberate buffering of join requests for a short
+ period in case matching Release requests are detected, followed by
+ discard of both requests. More generally, processing of requests
+ from individual subscribers may be rate limited, and the global rate
+ of messaging to the NAS can also be limited. If the AN gets
+ overloaded, deliberate dropping of stale requests can be implemented,
+ for some definitions of "stale".
+
+8. Security Considerations
+
+ The security considerations of ANCP are discussed in [RFC6320] and in
+ [RFC5713]. Multicast does not, in principle, introduce any new
+ security considerations, although it does increase the attractiveness
+ of ANCP as a means of denial of service (e.g., through direction of
+ multicast streams onto the target) or theft of service.
+
+ As mentioned in Section 4.4, the inclusion of the Request-Source-MAC
+ TLV or Request-Source-IP TLV in the Multicast Admission Control
+ message presents privacy issues. An attacker able to get access to
+
+
+
+Le Faucheur, et al. Standards Track [Page 67]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ the contents of this message would, like the content provider, be
+ able to track consumption of multicast content to the individual
+ device and potentially to individual persons if they are associated
+ with particular devices. To make the connection between devices and
+ individuals, the attacker needs to get information from sources other
+ than ANCP, of course, but let us assume that this has happened.
+
+ The protection specified for ANCP in [RFC6320] will apply to the
+ transmission of the Multicast Admission Control message across the
+ access network to the NAS. Hence, the attacker's potential points of
+ access are between the subscriber and the AN, at the AN and at the
+ NAS. Moreover, if the MAC or IP address are transmitted onwards from
+ the NAS to AAA in a request for policy, that whole onward path has to
+ be examined for vulnerability.
+
+ The question is how many of these potential points of attack can be
+ eliminated through operational practice. The segment from the
+ subscriber through the AN itself seems out of the scope of this
+ discussion -- protection of this segment is basic to subscriber
+ privacy in any event and likely a business requirement. The segment
+ from the AN to the NAS is covered by the basic ANCP protection
+ specified in [RFC6320]. This leaves the NAS and the path between the
+ NAS and AAA for consideration.
+
+ The operator can eliminate the path between the NAS and AAA as a
+ point where the attacker can access per-device information by
+ downloading per-device policy to the NAS for all identified user
+ devices for the particular subscriber. The NAS then selects the
+ applicable policy based on the particular device identifier it has
+ received. This is as opposed to the NAS sending the identifier of
+ the device in question to AAA and getting policy just for that
+ device.
+
+ The alternative is to protect the path between the NAS and AAA. If
+ Diameter is used as the AAA protocol, Section 2.2 of [RFC6733]
+ mandates use of IPsec, TLS/TCP, or DTLS/SCTP for that purpose. If
+ RADIUS is used, the operator should deploy TLS transport as specified
+ in [RFC6614].
+
+ This leaves the NAS itself as a point of attack. In theory, the NAS
+ could be eliminated if the AN remapped the requesting MAC or IP
+ address to an identifier known to itself and AAA but not the NAS.
+ This would require local configuration on the AN, which may be
+ possible under some circumstances. The Request-Source-Device-Id TLV
+ specified in Section 5.11 is available to transmit such an identifier
+ in place of the Request-Source-MAC TLV or Request-Source-IP TLV.
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 68]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+9. IANA Considerations
+
+ This document defines the following additional values within the
+ "ANCP Message Types" registry:
+
+ +--------------+--------------------------------+-----------+
+ | Message Type | Message Name | Reference |
+ +--------------+--------------------------------+-----------+
+ | 144 | Multicast Replication Control | RFC 7256 |
+ | | | |
+ | 145 | Multicast Admission Control | RFC 7256 |
+ | | | |
+ | 146 | Bandwidth Reallocation Request | RFC 7256 |
+ | | | |
+ | 147 | Bandwidth Transfer | RFC 7256 |
+ | | | |
+ | 148 | Delegated Bandwidth Query | RFC 7256 |
+ | | | |
+ | 149 | Multicast Flow Query | RFC 7256 |
+ | | | |
+ | 150 | Committed Bandwidth Report | RFC 7256 |
+ +--------------+--------------------------------+-----------+
+
+ This document defines the following additional values for the "ANCP
+ Result Codes" registry. In support of these assignments, IANA has
+ changed the lower limit of 0x100 specified by [RFC6320] for
+ assignments by IETF Consensus to 0x64.
+
+ +------------+------------------------------------------+-----------+
+ | Result | One-Line Description | Reference |
+ | Code | | |
+ +------------+------------------------------------------+-----------+
+ | 0x64 | Command error. | RFC 7256 |
+ | | | |
+ | 0x65 | Invalid flow address. | RFC 7256 |
+ | | | |
+ | 0x66 | Multicast flow does not exist. | RFC 7256 |
+ | | | |
+ | 0x67 | Invalid preferred bandwidth amount. | RFC 7256 |
+ | | | |
+ | 0x68 | Inconsistent views of delegated | RFC 7256 |
+ | | bandwidth amount. | |
+ | | | |
+ | 0x69 | Bandwidth request conflict. | RFC 7256 |
+ +------------+------------------------------------------+-----------+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 69]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ This document defines the following additional values for the "ANCP
+ Command Codes" registry:
+
+ +----------------+--------------------------------------+-----------+
+ | Command Code | Command Code Directive Name | Reference |
+ | Value | | |
+ +----------------+--------------------------------------+-----------+
+ | 1 | Add | RFC 7256 |
+ | | | |
+ | 2 | Delete | RFC 7256 |
+ | | | |
+ | 3 | Delete All | RFC 7256 |
+ | | | |
+ | 4 | Admission Control Reject | RFC 7256 |
+ | | | |
+ | 5 | Conditional Access Reject | RFC 7256 |
+ | | | |
+ | 6 | Admission Control and Conditional | RFC 7256 |
+ | | Access Reject | |
+ +----------------+--------------------------------------+-----------+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 70]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ This document defines the following additional values within the
+ "ANCP TLV Types" registry:
+
+ +-----------+--------------------------------+-----------+
+ | Type Code | TLV Name | Reference |
+ +-----------+--------------------------------+-----------+
+ | 0x0013 | Multicast-Service-Profile | RFC 7256 |
+ | | | |
+ | 0x0015 | Bandwidth-Allocation | RFC 7256 |
+ | | | |
+ | 0x0016 | Bandwidth-Request | RFC 7256 |
+ | | | |
+ | 0x0018 | Multicast-Service-Profile-Name | RFC 7256 |
+ | | | |
+ | 0x0019 | Multicast-Flow | RFC 7256 |
+ | | | |
+ | 0x0021 | List-Action | RFC 7256 |
+ | | | |
+ | 0x0022 | Sequence-Number | RFC 7256 |
+ | | | |
+ | 0x0024 | White-List-CAC | RFC 7256 |
+ | | | |
+ | 0x0025 | MRepCtl-CAC | RFC 7256 |
+ | | | |
+ | 0x0092 | Request-Source-IP | RFC 7256 |
+ | | | |
+ | 0x0093 | Request-Source-MAC | RFC 7256 |
+ | | | |
+ | 0x0094 | Report-Buffering-Time | RFC 7256 |
+ | | | |
+ | 0x0095 | Committed-Bandwidth | RFC 7256 |
+ | | | |
+ | 0x0096 | Request-Source-Device-Id | RFC 7256 |
+ +-----------+--------------------------------+-----------+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 71]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ This document defines the following additional values for the "ANCP
+ Capability Types" registry:
+
+ +-------+-------------------------+--------+------------+-----------+
+ | Value | Capability Type Name | Tech | Capability | Reference |
+ | | | Type | Data? | |
+ +-------+-------------------------+--------+------------+-----------+
+ | 3 | NAS-Initiated Multicast | 0 | No | RFC 7256 |
+ | | Replication | | | |
+ | | | | | |
+ | 5 | Committed Bandwidth | 0 | No | RFC 7256 |
+ | | Reporting | | | |
+ | | | | | |
+ | 6 | Conditional Access and | 0 | No | RFC 7256 |
+ | | Admission Control with | | | |
+ | | White and Black Lists | | | |
+ | | | | | |
+ | 7 | Conditional Access and | 0 | No | RFC 7256 |
+ | | Admission Control with | | | |
+ | | Grey Lists | | | |
+ | | | | | |
+ | 8 | Bandwidth Delegation | 0 | No | RFC 7256 |
+ +-------+-------------------------+--------+------------+-----------+
+
+10. Acknowledgements
+
+ The authors would like to acknowledge Wojciech Dec for providing
+ useful input to this document, Robert Rennison for his help in
+ shaping the definition of the Multicast-Service-Profile TLV, Shridhar
+ Rao for his comments and suggestions, and Aniruddha A for his
+ proposal that formed the base of the Multicast Flow Reporting
+ solution. Philippe Champagne, Sanjay Wadhwa, and Stefaan De Cnodder
+ provided substantial contributions on the solution for the NAS-
+ initiated multicast control use case. Kristian Poscic provided the
+ committed bandwidth reporting use case.
+
+ Thanks to the Document Shepherd, Matthew Bocci, and Area Director,
+ Ted Lemon, for points raised by their reviews following Working Group
+ Last Call.
+
+ Further thanks to Dacheng Zhang, Mehmet Ersue, and Christer Holmberg
+ for their reviews on behalf of the Security, Operations, and Gen-Art
+ directorates. Dacheng's comments led to changes at several points in
+ the document, while Mehmet's led to creation of the Miscellaneous
+ Considerations section. Finally, thanks to Brian Haberman for
+ stimulating a review of the architectural assumptions and their
+ relationship to the ability of user devices to obtain access to non-
+ IPTV multicast services. This also led to changes in the document.
+
+
+
+Le Faucheur, et al. Standards Track [Page 72]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+11. References
+
+11.1. Normative References
+
+ [PIMreg] IANA, "Protocol Independent Multicast (PIM) Parameters",
+ <http://www.iana.org/assignments/pim-parameters>.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2710] Deering, S., Fenner, W., and B. Haberman, "Multicast
+ Listener Discovery (MLD) for IPv6", RFC 2710, October
+ 1999.
+
+ [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
+ Thyagarajan, "Internet Group Management Protocol, Version
+ 3", RFC 3376, October 2002.
+
+ [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery
+ Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.
+
+ [RFC5790] Liu, H., Cao, W., and H. Asaeda, "Lightweight Internet
+ Group Management Protocol Version 3 (IGMPv3) and Multicast
+ Listener Discovery Version 2 (MLDv2) Protocols", RFC 5790,
+ February 2010.
+
+ [RFC6320] Wadhwa, S., Moisand, J., Haag, T., Voigt, N., and T.
+ Taylor, "Protocol for Access Node Control Mechanism in
+ Broadband Networks", RFC 6320, October 2011.
+
+11.2. Informative References
+
+ [IEEE48] IEEE, "Guidelines for 48-Bit Global Identifier",
+ <http://standards.ieee.org/regauth/oui/tutorials/
+ EUI48.html>.
+
+ [IEEE64] IEEE, "Guidelines for 64-Bit Global Identifier",
+ <http://standards.ieee.org/regauth/oui/tutorials/
+ EUI64.html>.
+
+ [ITU-T_G.1080]
+ ITU-T, "Quality of experience requirements for IPTV
+ services", ITU-T Recommendation G.1080, December 2008.
+
+ [RFC2236] Fenner, W., "Internet Group Management Protocol, Version
+ 2", RFC 2236, November 1997.
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 73]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
+ "Protocol Independent Multicast - Sparse Mode (PIM-SM):
+ Protocol Specification (Revised)", RFC 4601, August 2006.
+
+ [RFC5713] Moustafa, H., Tschofenig, H., and S. De Cnodder, "Security
+ Threats and Security Requirements for the Access Node
+ Control Protocol (ANCP)", RFC 5713, January 2010.
+
+ [RFC5851] Ooghe, S., Voigt, N., Platnic, M., Haag, T., and S.
+ Wadhwa, "Framework and Requirements for an Access Node
+ Control Mechanism in Broadband Multi-Service Networks",
+ RFC 5851, May 2010.
+
+ [RFC6614] Winter, S., McCauley, M., Venaas, S., and K. Wierenga,
+ "Transport Layer Security (TLS) Encryption for RADIUS",
+ RFC 6614, May 2012.
+
+ [RFC6733] Fajardo, V., Arkko, J., Loughney, J., and G. Zorn,
+ "Diameter Base Protocol", RFC 6733, October 2012.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 74]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+Appendix A. Example of Messages and Message Flows
+
+ This appendix provides an example in which most of the possible
+ message flows for multicast control are illustrated. This appendix
+ is for informational purposes only. In case of discrepancy with text
+ in the body of this document, the text in the body of the document is
+ to be considered as the normative text.
+
+ Assume the following, for a given access port:
+
+ o The basic subscribed service is white-listed. The AN will be
+ responsible for admission control for this service.
+
+ o Some premium services are available, but requests for these
+ services must be referred to the Policy Server for proper credit
+ processing. For this reason, they are grey-listed. The NAS will
+ be responsible for admission control for these services.
+
+ o The subscriber has asked that certain services be blocked so that
+ his children cannot view them. These services are black-listed.
+
+ o All of the above services are Source-Specific Multicast (SSM). In
+ addition, by means that bypass the AN, the subscriber can signal
+ intent to join an on-line game service that is Any-Source
+ Multicast (ASM). The NAS is responsible for admission control for
+ this service.
+
+ o Bandwidth delegation is, in effect, to share video bandwidth
+ between the AN and the NAS.
+
+ The stated conditions require the use of four of the five
+ capabilities specified in this memo.
+
+A.1. Provisioning Phase
+
+ Assume that capability negotiation has been completed between the AN
+ and NAS and that the set of negotiated capabilities includes the
+ following four multicast capabilities: NAS-initiated multicast
+ replication, conditional access and admission control with white and
+ black lists, conditional access and admission control with grey
+ lists, and bandwidth delegation. At this point, the NAS can
+ provision the service profiles on the AN and enable admission control
+ at the AN for white-listed flows. To do this, the NAS sends the AN a
+ Provisioning message containing this information. An example message
+ providing the profile for our assumed subscriber is shown in
+ Figure 22. The message has the following contents:
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 75]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o Message Type is 93.
+
+ o The Result and Result Code fields in the header are set to zeroes,
+ as specified [RFC6320].
+
+ o A Transaction Identifier is assigned by the NAS.
+
+ o The Multicast-Service-Profile TLV (of which typically there would
+ be multiple instances) contains a Multicast-Service-Profile-Name
+ TLV (with a length of 20 octets assumed for the example) and three
+ List-Action TLVs, one each for the white, grey, and black lists
+ within the profile. The white list flows come in two sets of
+ group addresses: 233.252.0.0/29, coming from a server at
+ 192.0.2.15, and 233.252.0.32/29, coming from a server at
+ 192.0.2.16. The grey-listed flows are in the band
+ 233.252.0.64/29, coming from a server at 192.0.2.21. Finally, the
+ black list flows are two individual flows that happen to overlap
+ with the grey list band: 233.252.0.65 and 233.252.0.69, also with
+ source 192.0.2.21.
+
+ o The White-List-CAC TLV indicates that the AN does admission
+ control on white-listed flows.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 132 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type = 93 | Res=0 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 132 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Mcast-Service-Profile 0x0013 | TLV Length = 112 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Mcast-Svc-Profile-Name 0x0018 | Embedded TLV Length = 20 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast service profile name |
+ ~ = "Cust 0127-53681-0003" ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = List-Action 0x0021 | Embedded TLV Length = 28 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Operation = 1 | List Type = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Address Family = 1 | List Length = 20 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+Le Faucheur, et al. Standards Track [Page 76]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ | G PrefLen = 29| S PrefLen = 32| Group prefix = |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 233.252.0.0 | Source prefix = |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 192.0.2.15 | G PrefLen = 29| S PrefLen = 32|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Group prefix = 233.252.0.32 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Source prefix = 192.0.2.16 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = List-Action 0x0021 | Embedded TLV Length = 18 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Operation = 1 | List Type = 3 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Address Family = 1 | List Length = 10 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | G PrefLen = 29| S PrefLen = 32| Group prefix = /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ / 233.252.0.64 | Source prefix = /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ / 192.0.2.21 | Padding = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = List-Action 0x0021 | Embedded TLV Length = 28 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Operation = 1 | List Type = 2 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Address Family = 1 | List Length = 20 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | G PrefLen = 32| S PrefLen = 32| Group prefix = /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ / 233.252.0.65 | Source prefix = /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ / 192.0.2.21 | G PrefLen = 32| S PrefLen = 32|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Group prefix = 233.252.0.69 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Source prefix = 192.0.2.21 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = White-List-CAC 0x0024 | TLV Length = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 22: Example Provisioning Message
+
+ Note that the padding after the middle List-Action TLV is counted as
+ part of the length of the Multicast-Service-Profile TLV but is not
+ included in the length of that List-Action TLV. Note also that the
+ Length field in the message header, unlike those in the TLVs,
+ includes the message header itself, as required by [RFC6320].
+
+
+
+Le Faucheur, et al. Standards Track [Page 77]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ Finally, note that the Provisioning message does not include a
+ MRepCtl-CAC TLV since in our example admission control for grey-
+ listed flows and for NAS-initiated replication is performed by the
+ NAS.
+
+ As soon as the AN port comes up, the AN sends an ANCP PORT_UP message
+ to the NAS specifying the Access Loop Circuit ID. The NAS replies
+ with an ANCP Port Management message that, together with the other
+ parameters, includes the multicast service profile name to be
+ associated to that port along with the initial amount of delegated
+ bandwidth. The corresponding message flow is illustrated in
+ Figure 23.
+
+ +----------+ +---------+ +-----+ +-----+
+ |Subscriber| | Home | | AN | | NAS |
+ +----------+ | Gateway | +-----+ +-----+
+ | +---------+ | |
+ | | | |
+ | | | |
+ | | DSL Synch. | |
+ | |---------------->| |
+ | | |(M1)PORT_UP(Port ID) |
+ | | |-------------------->|
+ | | | (*)
+ | | |(M2) PORT_MNGT |
+ | | | (Port ID, |
+ | | |Mcast S Profile Name,|
+ | | |Bandwidth Allocation)|
+ | | |<--------------------|
+
+
+ (*) The NAS may optionally seek direction from an external
+ Authorization/Policy Server
+
+ Figure 23: Configuring an AN Port with Multicast Service Profile ID
+ and Delegated Bandwidth Amount
+
+ The Port Management message will typically contain other TLVs, but
+ our example (Figure 24) just shows the Target, Multicast-Service-
+ Profile-Name, and Bandwidth-Allocation TLVs. The Target TLV
+ identifies the subscriber line, the Multicast-Service-Profile-Name
+ TLV is identical to the one contained in the Provisioning message,
+ and the Bandwidth-Allocation TLV provides just enough bandwidth (2000
+ kbits/s) for one channel to start with.
+
+ The following fields in the Port Management message header are shown
+ with specific values either as directed by the base protocol document
+ or for the sake of our example:
+
+
+
+Le Faucheur, et al. Standards Track [Page 78]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o Message Type is 32.
+
+ o Result is set to Nack (0x1) for this example.
+
+ o Result Code is 0.
+
+ o A Transaction Identifier is assigned by the NAS.
+
+ o Port is set to 0.
+
+ o Event Sequence Number, the R flag and the other bits marked x,
+ Duration, the Event Flags, and the Flow Control Flags are all
+ irrelevant for this function and are set to 0.
+
+ o Function is set to "Configure Connection Service Data" (8).
+
+ o X-Function is set to 0.
+
+ o Tech Type is "DSL" (5).
+
+ o Block lengths are calculated assuming a Circuit-Id length of 4 in
+ our example. Recall that the example Multicast-Service-Profile-
+ Name TLV length is 20.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 79]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 84 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type = 32 | Res=1 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 84 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Session Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Event Sequence Number = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |R|x|x|x|x|x|x|x| Duration = 0 | Function = 0x8| X-Function = 0|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Event Flags | Flow Control Flags |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |x|x|x|x|x|x|x|x| Msg Type = 32 | Tech Type=5 | Blk Len = 56 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | # of TLVs = 3 | Extension Block length = 44 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Mcast-Svc-Profile-Name 0x0018 | TLV Length = 20 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast service profile name |
+ ~ = "Cust 0127-53681-0003" ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bandwidth-Allocation 0x0015 | TLV Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bandwidth value = 2000 (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 24: Example Port Management Message
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 80]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+A.2. Handling Grey-Listed Flows
+
+ Suppose now that the subscriber chooses to watch the premium channel
+ characterized by source 192.0.2.21, group 233.252.0.67. Upon
+ receiving the join request, the AN matches it against the multicast
+ service profile for the port and determines that it is a grey-listed
+ flow. Figure 25 illustrates the resulting ANCP message flow for the
+ case of a simple join and leave, when admission control for grey-
+ listed flows is not activated on the AN.
+
+ To start the flow, the AN sends a Multicast Admission Control message
+ (M1) to the NAS. The NAS decides whether the flow can be admitted,
+ applying both policy and bandwidth criteria. It returns its decision
+ (positive in this example) in a Multicast Replication Control message
+ (M2). Later, when the subscriber leaves the flow, the AN informs the
+ NAS by sending another Multicast Admission Control message.
+
+ +----------+ +-------+ +-----+ ANCP +-----+
+ |Subscriber| | Home | | AN |<---------->| NAS |
+ +----------+ |Gateway| +-----+ +-----+
+ | +-------+ | |
+ | | | Multicast |
+ | Join(Grey-Fl) | Admission |
+ |-----------+---------->| Control (M1) |
+ | | |------------------>|
+ | | | | (NAS performs
+ | | | Multicast | admission
+ | | | Replication (*) control)
+ | | | Control (M2) |
+ | Mcast Grey Flow |<------------------|
+ |<======================+ |
+ | | | |
+ ~ ~ ~ ~
+ | | | Multicast |
+ | Leave(Grey-Fl) | Admission |
+ |-----------+---------->| Control (M3) |
+ | | |------------------>|
+ | | | |
+
+ Grey-Fl: multicast flow matching an entry in grey list
+
+ (*) The NAS may optionally seek direction from an external
+ Authorization/Policy Server.
+
+ Figure 25: Successful Join/Leave Operations, Grey-Listed Flow
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 81]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Multicast Admission Control message M1 contains:
+
+ o an ANCP Header with:
+
+ * Message Type is 145;
+
+ * Result = Ignore (0x0); and
+
+ * a Transaction Identifier assigned by the AN.
+
+ o a Target TLV identifying the AN Port
+
+ o a Command TLV containing:
+
+ * Command Code = "Add" (1);
+
+ * Accounting = "No" (0);
+
+ * a Multicast-Flow embedded TLV indicating the multicast flow for
+ which the AN received the IGMP join: flow type "SSM" (2),
+ address family "IPv4" (1), Group address = 233.252.0.67, Source
+ Address = 192.0.2.21; and
+
+ * a Request-Source-Device-Id embedded TLV containing the IGMP
+ join source local device identifier value 5.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 82]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Multicast Admission Control message M1 is illustrated in
+ Figure 26:
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 98 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=145 | Res=0 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 98 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Command 0x0011 | TLV Length = 28 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cmd Code = 1 | Acctg = 0 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | Embedded TLV Length = 12 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | Addr Fam = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address = 233.252.0.67 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unicast Source Address = 192.0.2.21 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+--+
+ |Request-Source-Device-Id 0x0092| Embedded TLV length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Value = 5 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 26: Multicast Admission Control Message Seeking to Add a Flow
+
+ The Multicast Replication Control message M2 contains:
+
+ o an ANCP Header with:
+
+ * Message Type = "Multicast Replication Control" (144);
+
+ * Result= 0x1 (Nack); and
+
+ * a Transaction Identifier assigned by the NAS;
+
+
+
+Le Faucheur, et al. Standards Track [Page 83]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ o a Target TLV identifying the AN Port
+
+ o a Command TLV containing:
+
+ * Command Code = "Add" (1);
+
+ * Accounting = "Yes" (1), since in our example the operator wants
+ accounting on this flow; and
+
+ * a Multicast-Flow embedded TLV indicating the multicast flow
+ that the NAS is admitting for this access line: flow type "SSM"
+ (2), address family "IPv4" (1), Group address = 233.252.0.67,
+ Source Address = 192.0.2.21.
+
+ The Multicast Admission Control message M2 is illustrated in
+ Figure 27.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 48 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=144 | Res=1 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 48 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Target Type = 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Command 0x0011 | TLV Length = 20 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cmd Code = 1 | Acctg = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | Embedded TLV Length = 12 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | Addr Fam = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address = 233.252.0.67 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unicast Source Address = 192.0.2.21 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 27: Multicast Replication Control Message Admitting a Flow
+
+
+
+Le Faucheur, et al. Standards Track [Page 84]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Multicast Admission Control message M3 advising the NAS that the
+ flow has been terminated contains:
+
+ o an ANCP Header with:
+
+ * Message Type is 145;
+
+ * Result = Ignore (0x0); and
+
+ * a Transaction Identifier assigned by the AN.
+
+ o a Target TLV identifying the access line
+
+ o a Command TLV containing:
+
+ * a Command Code = "Delete" (2);
+
+ * Accounting = "No" (0);
+
+ * a Multicast-Flow embedded TLV indicating the multicast flow for
+ which the AN received the IGMP leave: flow type "SSM" (2),
+ address family "IPv4" (1), Group address = 233.252.0.67, Source
+ Address = 192.0.2.21; and
+
+ * a Request-Source-Device-Id embedded TLV containing the IGMP
+ leave request source, the device identified by the local value
+ 5.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 85]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Multicast Admission Control message M3 is illustrated in
+ Figure 28.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=145 | Res=0 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Command 0x0011 | TLV Length = 28 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cmd Code = 2 | Acctg = 0 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast-Flow Type = 0x0019 | Embedded TLV Length = 12 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | Addr Fam = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address = 233.252.0.67 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unicast Source Address = 192.0.2.21 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |Request-Source-Device-Id 0x0092| Embedded TLV length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Value = 5 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 28: Multicast Admission Control Message Signaling Flow
+ Termination
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 86]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+A.3. Handling White-Listed Flows
+
+ The NAS has enabled white list admission control on the AN, and the
+ bandwidth delegation capability has been negotiated. White-listed
+ flows in themselves require no messages to the NAS, either upon
+ admission or upon termination, but the AN may request an increase in
+ the amount of delegated bandwidth if it needs the increase to admit a
+ flow.
+
+ Consider an example where the AN has already admitted one white-
+ listed flow, thereby using up the initially provisioned amount of
+ delegated bandwidth (2000 kbits/s). A request is received to join a
+ new flow in the white list range. The AN chooses to send a Bandwidth
+ Reallocation Request message to the NAS, requesting that the
+ delegated bandwidth allocation be increased to 4000 kbits/s at a
+ minimum and preferably to 6000 kbits/s.
+
+ In our example, the NAS is managing bandwidth tightly, as witnessed
+ by its minimal initial allocation of just enough for one flow. It is
+ willing to provide the minimum additional amount only and therefore
+ returns a Bandwidth Transfer message where the delegated bandwidth
+ value is given as 4000 kbits/s. With this amount, the AN is able to
+ admit the second white-listed flow. The AN could send a similar
+ Bandwidth Transfer message back to the NAS bringing the delegated
+ bandwidth amount back down to 2000 kbits/s when one of the flows is
+ terminated, but this shows nothing new and is omitted.
+
+ As one more point of illustration, suppose that the NAS chooses to
+ audit the current amount of delegated bandwidth to ensure it is
+ synchronized with the AN. It sends a Delegated Bandwidth Query
+ Request message to the AN and receives a Delegated Bandwidth Query
+ Response message with the current allocation as the AN sees it.
+
+ The complete message flow is shown in Figure 29.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 87]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ +----------+ +-------+ +-----+ ANCP +-----+
+ |Subscriber| | Home | | AN |<---------->| NAS |
+ +----------+ |Gateway| +-----+ +-----+
+ | +-------+ | |
+ | | | |
+ | Join(White-F1) | |
+ |-----------+---------->| |
+ | | |AN performs |
+ | Mcast White Flow 1 | admission control |
+ |<======================+ |
+ | | | |
+ | Join(White-F2) | |
+ |-----------+---------->|No bandwidth left |
+ | | | |
+ | | |Bandwidth |
+ | | | Reallocation Req |
+ | | |------------------>|(M1)
+ | | | |
+ | | | (*)
+ | | |Bandwidth Transfer |
+ | AN can now |<------------------|(M2)
+ | admit flow | |
+ | Mcast White Flow 2 | |
+ |<======================+ |
+ | | | |
+ ~ ~ ~ ~
+ | | |Delegated Bandwidth|
+ | | | Query request |
+ | | |<------------------|(M3)
+ | | | |
+ | | |Delegated Bandwidth|
+ | | | Query response |
+ | | |------------------>|(M4)
+ | | | |
+
+ (*) The NAS may optionally seek direction from an external
+ Authorization/Policy Server.
+
+ Figure 29: Successful Join/Leave Operations, White-Listed Flow
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 88]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Bandwidth Reallocation Request message (M1) is shown in
+ Figure 30. The contents require little explanation. The Message
+ Type for the Bandwidth Reallocation Request is 146. The Result field
+ is set to Ignore (0x0). Besides the Target TLV, the message has one
+ other TLV, the Bandwidth-Request, with a TLV Type of 0x0016. The TLV
+ contains Required Amount and Preferred Amount fields, set to 4000 and
+ 6000 kbits/s respectively.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 36 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=146 | Res=0 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 36 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bandwidth-Request 0x0016 | TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Required Amount = 4000 (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Preferred Amount = 6000 (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 30: Bandwidth Reallocation Request Message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 89]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Bandwidth Transfer message (M2) is shown in Figure 31. Again,
+ the contents are easily understood. The Message Type for the
+ Bandwidth Transfer message is 147. The Result field is set to
+ Success (0x3). The message contains the Target TLV and the
+ Bandwidth-Allocation TLV. The latter has a TLV Type of 0x0015 and
+ contains a Delegated Amount field, set to 4000 kbits/s.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 32 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=147 | Res=3 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 32 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bandwidth-Allocation 0x0015 | TLV Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Delegated Amount = 4000 (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 31: NAS Response, Bandwidth Transfer Message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 90]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Delegated Bandwidth Query Request message (M3) is shown in
+ Figure 32. The Message Type for the Delegated Bandwidth Query
+ request message is 148. The Result field is set to AckAll (0x2).
+ The message contains the Target TLV only.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 24 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=148 | Res=2 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 24 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 32: Delegated Bandwidth Query Request Message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 91]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ Finally, the Delegated Bandwidth Query Response message (M4) is shown
+ in Figure 33. The Message Type for the Delegated Bandwidth Query
+ response message is 148. The Result field is set to Success (0x3).
+ The message contains the Target TLV and the Bandwidth-Allocation TLV
+ with the Delegated Amount field set to 4000 kbits/s.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 32 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=148 | Res=3 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier (copied from request) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 32 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bandwidth-Allocation 0x0015 | TLV Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Delegated Amount = 4000 (kbits/s) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 33: Delegated Bandwidth Query Response Message
+
+A.4. Handling of Black-Listed Join Requests
+
+ This section introduces no new messages, since requests for flows in
+ the black list are simply ignored. The one thing to point out is the
+ overlap in our example between the set of flows in the grey list and
+ the flows in the black list. This does not create any ambiguity,
+ since not only does the black list have priority for equally good
+ matches, but also the black list entries are more specific (group
+ prefix lengths of 32 versus 29 in the grey list) than the grey list
+ flow prefixes.
+
+A.5. Handling of Requests to Join and Leave the On-Line Game
+
+ The final class of multicast control actions in our example allows
+ the subscriber to enter and leave the on-line game. As described at
+ the beginning of this example, the game uses Any-Source Multicast
+ (ASM). Subscriber signaling bypasses the AN, going directly to the
+ NAS (e.g., through a web interface).
+
+
+
+Le Faucheur, et al. Standards Track [Page 92]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ When the subscriber requests to join the game, the NAS (after
+ applying policy and bandwidth checks) sends a Multicast Replication
+ Control message to the AN to enable the flow on the port concerned.
+ The AN knows not to apply admission control, since it has not
+ received an MRepCtl-CAC TLV in the Provisioning message. When the
+ subscriber leaves, the NAS sends another Multicast Replication
+ Control message to delete the flow. This message sequence is shown
+ in Figure 34.
+
+ It is possible that the NAS finds that there is not enough bandwidth
+ available to accommodate the subscriber's request. In this case, the
+ NAS could send a Bandwidth Reallocation Request message to the AN,
+ asking it to release some of the bandwidth delegated to it. This is
+ not shown in the present example, since the messages are the same as
+ those already presented with the exception that the Preferred Amount
+ in the request will be *less than* or equal to the Required amount,
+ rather than *greater than* or equal to it.
+
+ +----------+ +-------+ +-----+ ANCP +-----+
+ |Subscriber| | Home | | AN |<---------->| NAS |
+ +----------+ |Gateway| +-----+ +-----+
+ | +-------+ | |
+ | | | |
+ | Join game | |
+ |-----------+------------------------------>|
+ | | | Multicast | NAS performs
+ | | | Replication (*) admission
+ | | | Control (M1) | control
+ | Mcast Game Flow |<------------------|
+ |<=====================>+ |
+ | | | |
+ ~ ~ ~ ~
+ | | | |
+ | Leave game | |
+ |-----------+------------------------------>|
+ | | | Multicast |
+ | | | Replication |
+ | | | Control (M2) |
+ | Mcast Game Flow |<------------------|
+ | discontinued | |
+ | | | |
+
+ (*) The NAS may optionally seek direction from an external
+ Authorization/Policy Server.
+
+ Figure 34: NAS-Initiated Flows for On-Line Gaming
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 93]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Multicast Replication Control message (M1) in Figure 35 looks
+ like the message in Figure 27 with two exceptions. The first is that
+ the NAS has the option to set the Result field to AckAll (0x02) if it
+ needs positive reassurance that the flow has been enabled. This was
+ not done here to save having to depict a response differing only in
+ the Result field. The larger difference in this example is that the
+ flow description in the Multicast-Flow embedded TLV is that of an ASM
+ multicast group (Flow Type = 1) with IPv4 (1) group address
+ 233.252.0.100.
+
+ 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length = 44 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type=144 | Res=1 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length = 44 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length = 8 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length = 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access Loop Circuit ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Command 0x0011 | TLV Length = 16 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cmd Code = 1 | Acctg = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | Embedded TLV Length = 12 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 1 | Addr Fam = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address = 233.252.0.100 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+--+
+
+ Figure 35: Enabling the Subscriber to Join an On-Line Game
+
+ Message M2 terminating the flow when the subscriber leaves the game
+ looks the same as the message in Figure 35 with two exceptions: the
+ Command Code becomes "Delete" (2), and Accounting is set to "No" (0)
+ to turn off flow accounting. Of course, the Transaction Identifier
+ values will differ between the two messages.
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 94]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+A.6. Example Flow for Multicast Flow Reporting
+
+ The example in this section is independent of the example in the
+ preceding sections.
+
+ Figure 36 illustrates a message flow in a case where the NAS queries
+ the AN about which multicast flows are active on port 10, port 11,
+ and port 20 of the AN.
+
+ +----------+ +-------+ +-----+ ANCP +-----+
+ |Subscriber| | Home | | AN |<---------->| NAS |
+ +----------+ |Gateway| +-----+ +-----+
+ | +-------+ | |
+ | | | Multicast Flow |
+ | | | Query Request |
+ | | | (M1) |
+ | | |<------------------|
+ | | | |
+ | | | Multicast Flow |
+ | | | Query Response |
+ | | | (M2) |
+ | | |------------------>|
+ | | | |
+ | | | |
+
+
+
+ Figure 36: Per-Port Multicast Flow Reporting
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 95]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Multicast Flow Query Request message (M1) is illustrated in
+ Figure 37. The Message Type is 149. The Result field is set to
+ AckAll (0x2). Three Target TLVs are present, identifying port 10,
+ port 20, and port 11, respectively.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type = 149| Res=2 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Access Loop Circuit ID (port10) ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Access Loop Circuit ID (port20) ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Access Loop Circuit ID (port11) ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 37: Multicast Flow Query Request Message for Per-Port
+ Multicast Flow Reporting
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 96]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ The Multicast Flow Query Response message (M2) is illustrated in
+ Figure 38. It indicates that there is one active multicast flow
+ [(192.0.2.1, 233.252.0.4)] on port 10, no active multicast flow on
+ port 20, and two active multicast flows [(192.0.2.1, 233.252.0.4) and
+ (192.0.2.2, 233.252.0.10)] on port 11.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type (0x880C) | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Msg Type = 149|Rslt=3 | Result Code = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Partition ID | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |I| SubMessage Number | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Access Loop Circuit ID (port10) ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | Embedded TLV Length = 12 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | Addr Fam = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address = 233.252.0.4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unicast Source Address = 192.0.2.1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+--+
+ | TLV Type = Target 0x1000 | Target TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Access Loop Circuit ID (port20) ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type = Target 0x1000 | Target TLV Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Access-Loop-Circuit-ID 0x0001 | Circuit-ID Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Access Loop Circuit ID (port11) ~
+ | |
+
+
+
+Le Faucheur, et al. Standards Track [Page 97]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type = Multicast-Flow 0x0019 | Embedded TLV Length = 12 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | Addr Fam = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address = 233.252.0.4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unicast Source Address = 192.0.2.1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+--+
+ | Type = Multicast-Flow 0x0019 | Embedded TLV Length = 12 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flow Type = 2 | Addr Fam = 1 | Reserved = 0x0000 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Multicast Group Address: 233.252.0.10 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unicast Source Address = 192.0.2.2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+--+
+
+ Figure 38: Multicast Flow Query Response Message for Per-Port
+ Multicast Flow Reporting
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 98]
+
+RFC 7256 ANCP Multicast Extensions July 2014
+
+
+Authors' Addresses
+
+ Francois Le Faucheur
+ Cisco Systems
+ 45 Allee des Ormes
+ Mougins 06250
+ France
+
+ Phone: +33 4 97 23 26 19
+ EMail: flefauch@cisco.com
+
+
+ Roberta Maglione
+ Cisco Systems
+ 181 Bay Street
+ Toronto, ON M5J 2T3
+ Canada
+
+ EMail: robmgl@cisco.com
+
+
+ Tom Taylor
+ Huawei Technologies
+ Ottawa
+ Canada
+
+ EMail: tom.taylor.stds@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Le Faucheur, et al. Standards Track [Page 99]
+