rfc8987xml2.original.xml | rfc8987.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.2119.xml"> | ||||
<!ENTITY RFC4443 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4443.xml"> | ||||
<!ENTITY RFC4778 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4778.xml"> | ||||
<!ENTITY RFC5460 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5460.xml"> | ||||
<!ENTITY RFC7513 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7513.xml"> | ||||
<!ENTITY RFC7653 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7653.xml"> | ||||
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8174.xml"> | ||||
<!ENTITY RFC8213 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8213.xml"> | ||||
<!ENTITY RFC8415 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8415.xml"> | ||||
]> | ||||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<?rfc strict="yes"?> | ||||
<?rfc toc="yes"?> | ||||
<?rfc tocdepth="4"?> | ||||
<?rfc symrefs="yes"?> | ||||
<?rfc sortrefs="yes"?> | ||||
<?rfc compact="yes"?> | ||||
<?rfc subcompact="no"?> | ||||
<rfc category="std" docName="draft-ietf-dhc-dhcpv6-pd-relay-requirements-05" | ||||
ipr="trust200902"> | ||||
<front> | ||||
<title abbrev="DHCPv6 PD Relay">DHCPv6 Prefix Delegating Relay Requirements</t | ||||
itle> | ||||
<author fullname="Ian Farrer" initials="I" surname="Farrer"> | ||||
<organization>Deutsche Telekom AG</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Landgrabenweg 151</street> | ||||
<city>Bonn</city> | ||||
<code>53227</code> | ||||
<country>DE</country> | ||||
</postal> | ||||
<email>ian.farrer@telekom.de</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Naveen Kottapalli" initials="N" surname="Kottapalli"> | ||||
<organization>Benu Networks</organization> | ||||
<address> | ||||
<postal> | ||||
<street>154 Middlesex Turnpike</street> | ||||
<city>Burlington</city> | ||||
<code>01803</code> | ||||
<region>MA</region> | ||||
<country>USA</country> | ||||
</postal> | ||||
<email>nkottapalli@benunets.com</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Martin Hunek" initials="M" surname="Hunek"> | ||||
<organization>Technical University of Liberec</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Studentska 1402/2</street> | ||||
<city>Liberec</city> | ||||
<code>46017</code> | ||||
<country>CZ</country> | ||||
</postal> | ||||
<email>martin.hunek@tul.cz</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Richard Patterson" initials="R.P." surname="Patterson"> | ||||
<organization>Sky UK Ltd</organization> | ||||
<address> | ||||
<postal> | ||||
<street>1 Brick Lane</street> | ||||
<city>London</city> | ||||
<code>E1 6PU</code> | ||||
<country>UK</country> | ||||
</postal> | ||||
<email>richard.patterson@sky.uk</email> | ||||
</address> | ||||
</author> | ||||
<date month="January" year="2021"/> | ||||
<area>Internet</area> | <!-- updated by Chris 01/05/21 --> | |||
<workgroup>DHC Work Group</workgroup> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<keyword>Prefix Delegation</keyword> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-dhc-dhcpv6-p | |||
<keyword>DHCPv6 relay</keyword> | d-relay-requirements-05" | |||
<keyword>Delegating router</keyword> | number="8987" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" ca | |||
<keyword>Requesting router</keyword> | tegory="std" | |||
<keyword>Delegating relay</keyword> | consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sor | |||
tRefs="true" | ||||
version="3"> | ||||
<abstract> | <!-- xml2rfc v2v3 conversion 3.5.0 --> | |||
<t>This document describes operational problems that are known to | <front> | |||
occur when using DHCPv6 relays with Prefix Delegation. These | <title abbrev="DHCPv6 PD Relay">DHCPv6 Prefix Delegating Relay Requirements< | |||
/title> | ||||
<seriesInfo name="RFC" value="8987"/> | ||||
<author fullname="Ian Farrer" initials="I." surname="Farrer"> | ||||
<organization>Deutsche Telekom AG</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Landgrabenweg 151</street> | ||||
<city>Bonn</city> | ||||
<code>53227</code> | ||||
<country>Germany</country> | ||||
</postal> | ||||
<email>ian.farrer@telekom.de</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Naveen Kottapalli" initials="N." surname="Kottapalli"> | ||||
<organization>Benu Networks</organization> | ||||
<address> | ||||
<postal> | ||||
<street>WeWork Galaxy, 43 Residency Road</street> | ||||
<city>Bangalore</city> | ||||
<code>560025</code> | ||||
<region>Karnataka</region> | ||||
<country>India</country> | ||||
</postal> | ||||
<email>nkottapalli@benunets.com</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Martin Hunek" initials="M." surname="Hunek"> | ||||
<organization>Technical University of Liberec</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Studentska 1402/2</street> | ||||
<city>Liberec</city> | ||||
<code>46017</code> | ||||
<country>Czech Republic</country> | ||||
</postal> | ||||
<email>martin.hunek@tul.cz</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Richard Patterson" initials="R." surname="Patterson"> | ||||
<organization>Sky UK Ltd.</organization> | ||||
<address> | ||||
<postal> | ||||
<street>1 Brick Lane</street> | ||||
<city>London</city> | ||||
<code>E1 6PU</code> | ||||
<country>United Kingdom</country> | ||||
</postal> | ||||
<email>richard.patterson@sky.uk</email> | ||||
</address> | ||||
</author> | ||||
<date month="February" year="2021"/> | ||||
<area>Internet</area> | ||||
<workgroup>DHC Work Group</workgroup> | ||||
<keyword>Prefix Delegation</keyword> | ||||
<keyword>DHCPv6 relay</keyword> | ||||
<keyword>Delegating router</keyword> | ||||
<keyword>Requesting router</keyword> | ||||
<keyword>Delegating relay</keyword> | ||||
<abstract> | ||||
<t>This document describes operational problems that are known to | ||||
occur when using DHCPv6 relays with prefix delegation. These | ||||
problems can prevent successful delegation and result in routing | problems can prevent successful delegation and result in routing | |||
failures. To address these problems, this document provides | failures. To address these problems, this document provides | |||
necessary functional requirements for operating DHCPv6 relays with | necessary functional requirements for operating DHCPv6 relays with | |||
Prefix Delegation.</t> | prefix delegation.</t> | |||
<t>It is recommended that any network operator using DHCPv6 | ||||
<t>It is recommended that any network operator that is using DHCPv6 | prefix delegation with relays ensure that these requirements | |||
prefix delegation with relays should ensure that these requirements | ||||
are followed on their networks.</t> | are followed on their networks.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | ||||
<middle> | <section numbered="true" toc="default"> | |||
<section title="Introduction"> | <name>Introduction</name> | |||
<t>For internet service providers that offer native IPv6 access | <t>For Internet service providers that offer native IPv6 access | |||
with prefix delegation to their customers, a common deployment | with prefix delegation to their customers, a common deployment | |||
architecture is to have a DHCPv6 relay agent function located in | architecture is to have a DHCPv6 relay agent function located in | |||
the ISP's Layer-3 customer edge device and separate, centralized | the ISP's Layer 3 customer edge device and a separate, centralized | |||
DHCPv6 server infrastructure. <xref target="RFC8415"/> describes | DHCPv6 server infrastructure. <xref target="RFC8415" format="default"/> des | |||
the functionality of a DHCPv6 relay and Section 19.1.3 mentions | cribes | |||
this deployment scenario, but does not provide details for all of | the functionality of a DHCPv6 relay, and <xref target="RFC8415" sectionForma | |||
t="of" section="19.1.3"/> mentions | ||||
this deployment scenario, but it does not provide details for all of | ||||
the functional requirements that the relay needs to fulfill to | the functional requirements that the relay needs to fulfill to | |||
operate deterministically in this deployment scenario.</t> | operate deterministically in this deployment scenario.</t> | |||
<t>A DHCPv6 relay agent for prefix delegation is a function commonly | ||||
<t>A DHCPv6 relay agent for prefix delegation is a function commonly | ||||
implemented in routing devices, but implementations vary in | implemented in routing devices, but implementations vary in | |||
their functionality and client/server inter-working. This can | their functionality and client/server interworking. This can | |||
result in operational problems such as messages not being forwarded | result in operational problems such as messages not being forwarded | |||
by the relay or un-reachability of the delegated prefixes. This | by the relay or unreachability of the delegated prefixes. This | |||
document provides a set of requirements for devices implementing a | document provides a set of requirements for devices implementing a | |||
relay function for use with prefix delegation. | relay function for use with prefix delegation. | |||
</t> | </t> | |||
<t>The mechanisms for a relay to inject routes (including aggregated | ||||
<t>The mechanisms for a relay to inject routes (including aggregated | ones) on its network-facing interface based on prefixes learned | |||
ones), on its network-facing interface based on prefixes learned | from a server via DHCP prefix delegation (DHCP-PD) are out of scope of the d | |||
from a server via DHCP-PD are out of scope of the document.</t> | ocument.</t> | |||
<t>Multi-hop DHCPv6 relaying is not affected. The requirements | ||||
<t>Multi-hop DHCPv6 relaying is not affected. The requirements | ||||
in this document are solely applicable to the DHCP relay agent | in this document are solely applicable to the DHCP relay agent | |||
co-located with the first-hop router that the DHCPv6 client | co-located with the first-hop router to which the DHCPv6 client | |||
requesting the prefix is connected to, so no changes to any | requesting the prefix is connected, so no changes to any | |||
subsequent relays in the path are needed.</t> | subsequent relays in the path are needed.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Terminology"> | <name>Terminology</name> | |||
<section title="General"> | <section numbered="true" toc="default"> | |||
<t>This document uses the terminology defined in <xref | <name>General</name> | |||
target="RFC8415"/>, however, when defining the functional | <t>This document uses the terminology defined in <xref target="RFC8415" | |||
elements for prefix delegation <xref target="RFC8415"/>, Section | format="default"/>. However, when defining the functional | |||
4.2 defines the term 'delegating router' as: | elements for prefix delegation, <xref target="RFC8415" sectionFormat="co | |||
<list style="empty"> | mma" section="4.2"/> defines the term "delegating router" as: | |||
<t>"The router that acts as a DHCP server and responds to | </t> | |||
requests for delegated prefixes." | <blockquote>The router that acts as a DHCP server and responds to requests for d | |||
</t> | elegated prefixes.</blockquote> | |||
</list> | <t> | |||
This document is concerned with deployment scenarios in which | This document is concerned with deployment scenarios in which | |||
the DHCPv6 relay and DHCPv6 server functions are separated, so | the DHCPv6 relay and DHCPv6 server functions are separated, so | |||
the term 'delegating router' is not used. Instead, a new term | the term "delegating router" is not used. Instead, a new term | |||
is introduced to describe the relaying function: | is introduced to describe the relaying function: | |||
<list style="hanging" hangIndent="17"> | </t> | |||
<t hangText="Delegating relay">A delegating relay acts as an | <dl newline="true" spacing="normal"> | |||
<dt>Delegating relay:</dt> | ||||
<dd>A delegating relay acts as an | ||||
intermediate device, forwarding DHCPv6 messages containing | intermediate device, forwarding DHCPv6 messages containing | |||
IA_PD and IAPREFIX options between the client and server. The | IA_PD and IAPREFIX options between the client and server. The | |||
delegating relay does not implement a DHCPv6 server | delegating relay does not implement a DHCPv6 server | |||
function. The delegating relay is also responsible for | function. The delegating relay is also responsible for | |||
routing traffic for the delegated prefixes. | routing traffic for the delegated prefixes. | |||
</t> | </dd> | |||
</list> | </dl> | |||
</t> | <t>Where the term "relay" is used on its own within this document, | |||
it should be understood to be a delegating relay unless | ||||
<t>Where the term 'relay' is used on its own within this document, | ||||
it should be understood to be a delegating relay, unless | ||||
specifically stated otherwise. | specifically stated otherwise. | |||
</t> | </t> | |||
<t>In CableLabs DOCSIS environments, the Cable Modem Termination | ||||
<t>In CableLabs DOCSIS environments, the Cable Modem Termination | ||||
System (CMTS) would be considered a delegating relay with | System (CMTS) would be considered a delegating relay with | |||
respect to Customer Premises Devices (CPEs) | respect to Customer Premises Devices (CPEs) (<xref target="DOCSIS_3.1"/> | |||
<xref target="DOCSIS_3.1"/>, Section 5.2.7.2. A Broadband | , Section 5.2.7.2). A Broadband | |||
Network Gateway (BNG) in a DSL based access network may be a | Network Gateway (BNG) in a DSL-based access network may be a | |||
delegating relay if it does not implement a local DHCPv6 server | delegating relay if it does not implement a local DHCPv6 server | |||
function <xref target="TR-092"/>, Section 4.10. | function (<xref target="TR-092"/>, Section 4.10). | |||
</t> | </t> | |||
<t><xref target="RFC8415" format="default"/> defines the "DHCP server" ( | ||||
<t><xref target="RFC8415"/> defines the 'DHCP server', (or | or | |||
'server') as: | "server") as: | |||
<list style="empty"> | </t> | |||
<t>"A node that responds to requests from clients. It may or | <blockquote>A node that responds to requests from clients. It may or | |||
may not be on the same link as the client(s). Depending on | may not be on the same link as the client(s). Depending on | |||
its capabilities, if it supports prefix delegation it may | its capabilities, if it supports prefix delegation it may | |||
also feature the functionality of a delegating router." | also feature the functionality of a delegating router. | |||
</t> | </blockquote> | |||
</list> | <t> | |||
This document serves the deployment cases where a DHCPv6 server | This document serves the deployment cases where a DHCPv6 server | |||
is not located on the same link as the client (necessitating the | is not located on the same link as the client (necessitating the | |||
delegating relay). The server supports prefix delegation and is | delegating relay). The server supports prefix delegation and is | |||
capable of leasing prefixes to clients, but is not responsible | capable of leasing prefixes to clients, but it is not responsible | |||
for other functions required of a delegating router, such as | for other functions required of a delegating router, such as | |||
managing routes for the delegated prefixes. | managing routes for the delegated prefixes. | |||
</t> | </t> | |||
<t>The term 'requesting router' has previously been used to | <t>The term "requesting router" has previously been used to | |||
describe the DHCP client requesting prefixes for use. This | describe the DHCP client requesting prefixes for use. This | |||
document adopts the <xref target="RFC8415"/> terminology and | document adopts the terminology of <xref target="RFC8415" format="defaul | |||
uses 'DHCP client' or 'client' interchangeably for this element. | t"/> and | |||
</t> | uses "DHCP client" or "client" interchangeably for this element. | |||
</section> | </t> | |||
</section> | ||||
<section title="Topology"> | <section numbered="true" toc="default"> | |||
<t>The following diagram shows the deployment topology relevant | <name>Topology</name> | |||
<t>The following diagram shows the deployment topology relevant | ||||
to this document. | to this document. | |||
</t> | </t> | |||
<figure align="center" anchor="topology_overview" title="Topology | <figure anchor="topology_overview"> | |||
overview"> | <name>Topology Overview</name> | |||
<artwork align="left"><![CDATA[ | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
+ | + | |||
| ------- uplink ------> | | ------- uplink ------> | |||
| _ ,--,_ | | _ ,--,_ | |||
| +--------+ +------------+ _( `' )_ +--------+ | | +--------+ +------------+ _( `' )_ +--------+ | |||
+---+ PD |-------| Delegating |--( Operator )---| DHCPv6 | | +---+ PD |-------| Delegating |--( Operator )---| DHCPv6 | | |||
| | Client | | relay | `(_ Network_)' | server | | | | Client | | relay | `(_ Network_)' | server | | |||
| +--------+ +----------- + `--'`---' +--------+ | | +--------+ +----------- + `--'`---' +--------+ | |||
| | | | |||
| <----- downlink ------ | | <----- downlink ------ | |||
+ (client facing) | + (client facing) | |||
Client | Client | |||
Network | Network | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t>The client requests prefixes via the downlink interface of the | <t>The client requests prefixes via the downlink interface of the | |||
delegating relay. The resulting prefixes will be used for | delegating relay. The resulting prefixes will be used for | |||
addressing the client network. The delegating relay is | addressing the client network. The delegating relay is | |||
responsible for forwarding DHCP messages, including prefix | responsible for forwarding DHCP messages, including prefix | |||
delegation requests and responses between the client and server. | delegation requests and responses between the client and server. | |||
Messages are forwarded from the delegating relay to the server | Messages are forwarded from the delegating relay to the server | |||
using multicast or unicast via the operator uplink interface. | using multicast or unicast via the operator uplink interface. | |||
</t> | </t> | |||
<t>The delegating relay provides the operator's Layer 3 edge | ||||
<t>The delegating relay provides the operator's Layer-3 edge | ||||
towards the client and is responsible for routing traffic to | towards the client and is responsible for routing traffic to | |||
and from clients connected to the client network using addresses | and from clients connected to the client network using addresses | |||
from the delegated prefixes. | from the delegated prefixes. | |||
</t> | </t> | |||
</section> | ||||
<section title="Requirements Language"> | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | ||||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | ||||
"MAY", and "OPTIONAL" in this document are to be interpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> | ||||
<xref target="RFC8174"/> when, and only when, they appear in | ||||
all capitals, as shown here.</t> | ||||
</section> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Requirements Language</name> | ||||
<section title="Problems Observed with Existing Delegating Relay | <t> | |||
Implementations" | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
anchor="relay_problems"> | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
<t>The following sections of the document describe problems that | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
be interpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="relay_problems" numbered="true" toc="default"> | ||||
<name>Problems Observed with Existing Delegating Relay Implementations</na | ||||
me> | ||||
<t>The following sections of the document describe problems that | ||||
have been observed with delegating relay implementations in | have been observed with delegating relay implementations in | |||
commercially available devices. | commercially available devices. | |||
</t> | </t> | |||
<section numbered="true" toc="default"> | ||||
<name>DHCP Messages Not Being Forwarded by the Delegating Relay</name> | ||||
<section title="DHCP Messages not being Forwarded by the Delegating | <t>Delegating relay implementations have been observed not to | |||
Relay"> | ||||
<t>Delegating relay implementations have been observed not to | ||||
forward messages between the client and server. This generally | forward messages between the client and server. This generally | |||
occurs if a client sends a message which is unexpected by the | occurs if a client sends a message that is unexpected by the | |||
delegating relay. For example, the delegating relay already | delegating relay. For example, the delegating relay already | |||
has an active PD lease entry for an existing client on a port. | has an active PD lease entry for an existing client on a port. | |||
A new client is connected to this port and sends a Solicit | A new client is connected to this port and sends a Solicit | |||
message. The delegating relay then drops the Solicit messages | message. The delegating relay then drops the Solicit messages | |||
until it receives either a DHCP Release message from the | until either it receives a DHCP Release message from the | |||
original client, or the existing lease times out. This causes | original client or the existing lease times out. This causes | |||
a particular problem when a client device needs to be replaced | a particular problem when a client device needs to be replaced | |||
due to a failure. | due to a failure. | |||
</t> | </t> | |||
<t>In addition to dropping messages, in some cases, the delegating | ||||
<t>In addition to dropping messages, in some cases the delegating | ||||
relay will generate error messages and send them to the client, | relay will generate error messages and send them to the client, | |||
e.g. 'NoBinding' messages being sent in the event that the | e.g., "NoBinding" messages being sent in the event that the | |||
delegating relay does not have an active delegated prefix lease. | delegating relay does not have an active delegated prefix lease. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Delegating Relay Loss of State on Reboot"> | <name>Delegating Relay Loss of State on Reboot</name> | |||
<t>For proper routing of client traffic, the delegating relay | <t>For proper routing of client traffic, the delegating relay | |||
requires a corresponding routing table entry for each active | requires a corresponding routing table entry for each active | |||
prefix delegated to a connected client. A delegating relay | prefix delegated to a connected client. A delegating relay | |||
which does not store this state persistently across reboots | that does not store this state persistently across reboots | |||
will not be able to forward traffic to client's delegated | will not be able to forward traffic to the client's delegated | |||
leases until the state is re-established through new DHCP | leases until the state is reestablished through new DHCP | |||
messages. | messages. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Multiple Delegated Prefixes for a Single Client"> | <name>Multiple Delegated Prefixes for a Single Client</name> | |||
<t><xref target="RFC8415"/> allows for a client to include more | <t>DHCPv6 <xref target="RFC8415" format="default"/> allows a client to i | |||
nclude more | ||||
than one instance of OPTION_IA_PD in messages in order to request | than one instance of OPTION_IA_PD in messages in order to request | |||
multiple prefix delegations by the server. If configured for | multiple prefix delegations by the server. If configured for | |||
this, the server supplies one (or more) instance of | this, the server supplies one (or more) instance of | |||
OPTION_IAPREFIX for each received instance of OPTION_IA_PD, each | OPTION_IAPREFIX for each received instance of OPTION_IA_PD, each | |||
containing information for a different delegated prefix. | containing information for a different delegated prefix. | |||
</t> | </t> | |||
<t>In some delegating relay implementations, only a single | <t>In some delegating relay implementations, only a single | |||
delegated prefix per-DUID is supported. In those cases only one | delegated prefix per DHCP Unique Identifier (DUID) is supported. In those | |||
IPv6 route for one of the delegated prefixes is installed; | cases, only one | |||
IPv6 route for one of the delegated prefixes is installed, | ||||
meaning that other prefixes delegated to a client are | meaning that other prefixes delegated to a client are | |||
unreachable. | unreachable. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Dropping Messages from Devices with Duplicate MAC | <name>Dropping Messages from Devices with Duplicate MAC Addresses and DU | |||
addresses and DUIDs"> | IDs</name> | |||
<t>It is an operational reality that client devices with | <t>It is an operational reality that client devices with | |||
duplicate MAC addresses and/or DUIDs exist and have been | duplicate Media Access Control (MAC) addresses and/or DUIDs exist and ha | |||
ve been | ||||
deployed. In some networks, the operational costs of locating | deployed. In some networks, the operational costs of locating | |||
and swapping out such devices are prohibitive. | and swapping out such devices are prohibitive. | |||
</t> | </t> | |||
<t>Delegating relays have been observed to restrict forwarding | <t>Delegating relays have been observed to restrict forwarding | |||
client messages originating from one client DUID to a single | client messages originating from one client DUID to a single | |||
interface. In this case if the same client DUID appears from a | interface. In this case, if the same client DUID appears from a | |||
second client on another interface while there is already an | second client on another interface while there is already an | |||
active lease, messages originating from the second client are | active lease, messages originating from the second client are | |||
dropped causing the second client to be unable to obtain a | dropped, causing the second client to be unable to obtain a | |||
prefix delegation. | prefix delegation. | |||
</t> | </t> | |||
<t>It should be noted that in some access networks, the MAC | <t>It should be noted that in some access networks, the MAC | |||
address and/or DUID are used as part of device identification | address and/or DUID are used as part of device identification | |||
and authentication. In such networks, enforcing MAC address/DUID | and authentication. In such networks, | |||
uniqueness is a necessary function and not considered a problem. | enforcing uniqueness of the MAC address and/or DUID is a necessary function and | |||
</t> | is not considered a problem. | |||
</section> | </t> | |||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<section title="Forwarding Loops between Client and Relay"> | <name>Forwarding Loops between Client and Relay</name> | |||
<t>If the client loses information about an active prefix | <t>If the client loses information about an active prefix | |||
lease it has been delegated while the lease entry and | lease it has been delegated while the lease entry and | |||
associated route is still active in the delegating relay, | associated route are still active in the delegating relay, | |||
then the relay will forward traffic to the client which the | then the relay will forward traffic to the client. The | |||
client will return to the relay (which is the client's default | client will return this traffic to the relay, which is the client's defa | |||
gateway (learned via an RA)). The loop will continue until | ult | |||
either the client is successfully re-provisioned via DHCP, or | gateway (learned via a Router Advertisement (RA)). The loop will continu | |||
e until | ||||
either the client is successfully reprovisioned via DHCP or | ||||
the lease ages out in the relay. | the lease ages out in the relay. | |||
</t> | </t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Requirements for Delegating Relays</name> | ||||
<section title="Requirements for Delegating Relays"> | <t>To resolve the problems described in | |||
<t>To resolve the problems described in | <xref target="relay_problems" format="default"/> and to preempt other undes | |||
<xref target="relay_problems"/> and pre-empt other undesirable | irable | |||
behavior, the following section of the document describes a set | behavior, the following <xref target="genreq" format="none">section</xref> | |||
of the document describes a set | ||||
of functional requirements for the delegating relay. | of functional requirements for the delegating relay. | |||
</t> | </t> | |||
<t>In addition, relay implementers are reminded that | <t>In addition, relay implementers are reminded that | |||
<xref target="RFC8415"/> makes it clear that relays MUST forward | <xref target="RFC8415" format="default"/> makes it clear that relays <bcp1 | |||
packets that either contain message codes (Section 19 of | 4>MUST</bcp14> forward | |||
<xref target="RFC8415"/>) it may not understand, or contain | packets that either contain message codes it may not understand (<xref tar | |||
options that it does not understand (Section 16 of | get="RFC8415" sectionFormat="of" section="19"/>) or options that it does not und | |||
<xref target="RFC8415"/>).</t> | erstand (<xref target="RFC8415" sectionFormat="of" section="16"/>).</t> | |||
<section numbered="true" toc="default" anchor="genreq"> | ||||
<section title="General Requirements"> | <name>General Requirements</name> | |||
<t> | <ol type="G-%d:"> | |||
<list style="hanging" hangIndent="8"> | <li>The delegating relay <bcp14>MUST</bcp14> forward messages | |||
<t hangText="G-1:">The delegating relay MUST forward messages | ||||
bidirectionally between the client and server without | bidirectionally between the client and server without | |||
changing the contents of the message. | changing the contents of the message.</li> | |||
</t> | ||||
<!-- <t hangText="G-2:">The relay MUST NOT discard messages because | <li>The relay <bcp14>MUST</bcp14> allow for multiple prefixes | |||
it does not recognize the message codes (Section 19 of | ||||
<xref target="RFC8415"/> or contain options that it does not | ||||
understand (or instances of vendor options with unknown | ||||
enterprise-number values as described in | ||||
Section 16 of <xref target="RFC8415"/>.--> | ||||
<t hangText="G-2:">The relay MUST allow for multiple prefixes | ||||
to be delegated for the same client IA_PD. These delegations | to be delegated for the same client IA_PD. These delegations | |||
may have different lifetimes. | may have different lifetimes. | |||
</t> | </li> | |||
<t hangText="G-3:">The relay MUST allow for multiple prefixes | <li>The relay <bcp14>MUST</bcp14> allow for multiple prefixes | |||
(with or without separate IA_PDs) to be delegated to a | (with or without separate IA_PDs) to be delegated to a | |||
single client connected to a single interface, identified | single client connected to a single interface, identified | |||
by its DHCPv6 Client Identifier (DUID). | by its DHCPv6 Client Identifier (DUID). | |||
</t> | </li> | |||
<t hangText="G-4:">A delegating relay may have one or more | <li>A delegating relay may have one or more | |||
interfaces on which it acts as a relay, as well as one or | interfaces on which it acts as a relay, as well as one or | |||
more interfaces on which it does not | more interfaces on which it does not | |||
(for example, in an ISP, it might act as a relay on all | (for example, in an ISP, it might act as a relay on all | |||
southbound interfaces, but not on the northbound | southbound interfaces but not on the northbound | |||
interfaces). The relay SHOULD allow the same client | interfaces). The relay <bcp14>SHOULD</bcp14> allow the same client | |||
identifier (DUID) to have active delegated prefix leases on | identifier (DUID) to have active delegated prefix leases on | |||
more than one interface simultaneously, unless client DUID | more than one interface simultaneously unless client DUID | |||
uniqueness is necessary for the functioning or security of | uniqueness is necessary for the functioning or security of | |||
the network. This is to allow client devices with duplicate | the network. This is to allow client devices with duplicate | |||
DUIDs to function on separate broadcast domains. | DUIDs to function on separate broadcast domains. | |||
</t> | </li> | |||
<!-- | ||||
<t hangText="G-6:">The relay up on detecting that the current | <li>The maximum number of simultaneous prefixes | |||
lease information of any delegated prefix is no more valid, | delegated to a single client <bcp14>MUST</bcp14> be configurable. | |||
then the relay MUST deprecate the invalid prefixes as quick | </li> | |||
as possible so that the clients use a new prefix quickly. | ||||
</t>--> | <li>The relay <bcp14>MUST</bcp14> implement a mechanism to | |||
<t hangText="G-5:">The maximum number of simultaneous prefixes | ||||
delegated to a single client MUST be configurable. | ||||
</t> | ||||
<t hangText="G-6:">The relay MUST implement a mechanism to | ||||
limit the maximum number of active prefix delegations on a | limit the maximum number of active prefix delegations on a | |||
single port for all client identifiers and IA_PDs. This | single port for all client identifiers and IA_PDs. This | |||
value MUST be configurable. | value <bcp14>MUST</bcp14> be configurable. | |||
</t> | </li> | |||
<t hangText="G-7:">It is RECOMMENDED that delegating relays | ||||
<li>It is <bcp14>RECOMMENDED</bcp14> that delegating relays | ||||
support at least 8 active delegated leases per client device | support at least 8 active delegated leases per client device | |||
and use this as the default limit. | and use this as the default limit. | |||
</t> | </li> | |||
<t hangText="G-8:">The delegating relay MUST update the lease | <li>The delegating relay <bcp14>MUST</bcp14> update the lease | |||
lifetimes based on the client's reply messages it forwards to | lifetimes based on the client's reply messages it forwards to | |||
the client and only expire the delegated prefixes when the | the client and only expire the delegated prefixes when the | |||
valid lifetime has elapsed. | valid lifetime has elapsed. | |||
</t> | </li> | |||
<t hangText="G-9:">On receipt of a Release message from the | <li>On receipt of a Release message from the | |||
client, the delegating relay MUST expire the active leases | client, the delegating relay <bcp14>MUST</bcp14> expire the active l | |||
eases | ||||
for each of the IA_PDs in the message. | for each of the IA_PDs in the message. | |||
</t> | </li> | |||
</list> | </ol> | |||
</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Routing Requirements</name> | ||||
<section title="Routing Requirements"> | <ol type="R-%d:"> | |||
<t> | <li>The relay <bcp14>MUST</bcp14> maintain a local routing | |||
<list style="hanging" hangIndent="8"> | ||||
<t hangText="R-1:">The relay MUST maintain a local routing | ||||
table that is dynamically updated with leases and the | table that is dynamically updated with leases and the | |||
associated next-hops as they are delegated to clients. When | associated next hops as they are delegated to clients. When | |||
a delegated prefix is Released or expires, the associated | a delegated prefix is released or expires, the associated | |||
route MUST be removed from the relay's routing table. | route <bcp14>MUST</bcp14> be removed from the relay's routing table. | |||
</t> | </li> | |||
<t hangText="R-2:">The delegating relay's routing entry MUST | ||||
<li>The delegating relay's routing entry <bcp14>MUST</bcp14> | ||||
use the same prefix length for the delegated prefix as | use the same prefix length for the delegated prefix as | |||
given in the IA_PD. | given in the IA_PD. | |||
</t> | </li> | |||
<t hangText="R-3:">The relay MUST provide a mechanism to | ||||
<li>The relay <bcp14>MUST</bcp14> provide a mechanism to | ||||
dynamically update ingress filters permitting ingress | dynamically update ingress filters permitting ingress | |||
traffic sourced from client delegated leases and blocking | traffic sourced from client delegated leases and blocking | |||
packets from invalid source prefixes. This is to implement | packets from invalid source prefixes. This is to implement | |||
anti-spoofing as described in <xref target="BCP38"/>. The | anti-spoofing as described in <xref target="BCP38" format="default"/ | |||
delegating relay's ingress filter entry MUST use the same | >. The | |||
delegating relay's ingress filter entry <bcp14>MUST</bcp14> use the | ||||
same | ||||
prefix length for the delegated prefix as given in the | prefix length for the delegated prefix as given in the | |||
IA_PD. | IA_PD. | |||
</t> | </li> | |||
<t hangText="R-4:">The relay MAY provide a mechanism to | ||||
<li>The relay <bcp14>MAY</bcp14> provide a mechanism to | ||||
dynamically advertise delegated leases into a routing | dynamically advertise delegated leases into a routing | |||
protocol as they are learned. If such a mechanism is | protocol as they are learned. If such a mechanism is | |||
implemented, when a delegated lease is released or expires, | implemented, when a delegated lease is released or expires, | |||
the delegated route MUST be withdrawn from the routing | the delegated route <bcp14>MUST</bcp14> be withdrawn from the routin g | |||
protocol. The mechanism by which the routes are inserted | protocol. The mechanism by which the routes are inserted | |||
and deleted is out of the scope of this document. | and deleted is out of the scope of this document. | |||
</t> | </li> | |||
<t hangText="R-5:">To prevent routing loops, the relay SHOULD | ||||
<li> | ||||
<t>To prevent routing loops, the relay <bcp14>SHOULD</bcp14> | ||||
implement a configurable policy to drop potential looping | implement a configurable policy to drop potential looping | |||
packets received on any DHCP-PD client facing interfaces. | packets received on any DHCP-PD client-facing interfaces. | |||
<vspace blankLines="1" /> | </t> | |||
The policy SHOULD be configurable on a per-client or | <t> | |||
The policy <bcp14>SHOULD</bcp14> be configurable on a per-client or | ||||
per-destination basis. | per-destination basis. | |||
<vspace blankLines="1" /> | </t> | |||
<t> | ||||
Looping packets are those with a destination address in a | Looping packets are those with a destination address in a | |||
prefix delegated to a client connected to that interface, | prefix delegated to a client connected to that interface, | |||
as follows: | as follows: | |||
<list style="symbols"> | </t> | |||
<t>For point-to-point links, when the | <ul spacing="normal"> | |||
packet's ingress and egress interfaces match.</t> | <li>For point-to-point links, when the | |||
<t>For multi-access links, when the packet's ingress and | packet's ingress and egress interfaces match.</li> | |||
<li>For multi-access links, when the packet's ingress and | ||||
egress interface match, and the source link-layer and | egress interface match, and the source link-layer and | |||
next-hop link-layer addresses match.</t> | next-hop link-layer addresses match.</li> | |||
</list> | </ul> | |||
<t> | ||||
An ICMPv6 Type 1, Code 6 (Destination | An ICMPv6 Type 1, Code 6 (Destination | |||
Unreachable, reject route to destination) error message MAY | Unreachable, reject route to destination) error message <bcp14>MAY</ | |||
be sent as per <xref target="RFC4443"/>, section 3.1. | bcp14> | |||
The ICMP policy SHOULD be configurable. | be sent as per <xref target="RFC4443" sectionFormat="comma" section= | |||
</t> | "3.1"/>. | |||
</list> | The ICMP policy <bcp14>SHOULD</bcp14> be configurable. | |||
</t> | </t> | |||
</section> | </li> | |||
</ol> | ||||
<section title="Service Continuity Requirements" | </section> | |||
anchor="service_continuity"> | <section anchor="service_continuity" numbered="true" toc="default"> | |||
<t> | <name>Service Continuity Requirements</name> | |||
<list style="hanging" hangIndent="8"> | <ol type="S-%d:"> | |||
<t hangText="S-1:">To preserve active client prefix | <li> | |||
delegations across relay restarts, the relay SHOULD | <t>To preserve active client prefix | |||
delegations across relay restarts, the relay <bcp14>SHOULD</bcp14> | ||||
implement at least one of the following: | implement at least one of the following: | |||
<list style="symbols"> | </t> | |||
<t>Implement DHCPv6 bulk lease query as defined in | <ul spacing="normal"> | |||
<xref target="RFC5460"/>. | <li>Implement DHCPv6 Bulk Leasequery as defined in | |||
</t> | <xref target="RFC5460" format="default"/>. | |||
</li> | ||||
<t>Store active prefix delegations in persistent storage | <li>Store active prefix delegations in persistent storage | |||
so they can be re-read after the reboot. | so they can be reread after the reboot. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t> | </li> | |||
<t hangText="S-2:">If a client's next-hop link-local address | <li>If a client's next-hop link-local address | |||
becomes unreachable (e.g., due to a link-down event on the | becomes unreachable (e.g., due to a link-down event on the | |||
relevant physical interface), routes for the client's | relevant physical interface), routes for the client's | |||
delegated prefixes MUST be retained by the delegating relay | delegated prefixes <bcp14>MUST</bcp14> be retained by the delegating relay | |||
unless they are released or removed due to expiring DHCP | unless they are released or removed due to expiring DHCP | |||
timers. This is to re-establish routing for the delegated | timers. This is to reestablish routing for the delegated | |||
prefix if the client next-hop becomes reachable without the | prefix if the client next hop becomes reachable without the | |||
delegated prefixes needing to be re-learned. | delegated prefixes needing to be relearned. | |||
</t> | </li> | |||
<t hangText="S-3:">The relay SHOULD implement DHCPv6 active | <li>The relay <bcp14>SHOULD</bcp14> implement DHCPv6 Active Leasequery | |||
lease query as defined in <xref target="RFC7653"/> to keep | as defined in <xref target="RFC7653" format="default"/> to keep | |||
the local lease database in sync with the DHCPv6 server. | the local lease database in sync with the DHCPv6 server. | |||
</t> | </li> | |||
</list> | </ol> | |||
</t> | </section> | |||
</section> | <section anchor="opreqs" numbered="true" toc="default"> | |||
<name>Operational Requirements</name> | ||||
<section title="Operational Requirements" anchor="opreqs"> | <ol type="O-%d:"> | |||
<t> | <li>The relay <bcp14>SHOULD</bcp14> implement an interface | |||
<list style="hanging" hangIndent="8"> | ||||
<t hangText="O-1:">The relay SHOULD implement an interface | ||||
allowing the operator to view the active delegated prefixes. | allowing the operator to view the active delegated prefixes. | |||
This SHOULD provide information about the delegated lease | This <bcp14>SHOULD</bcp14> provide information about the delegated l | |||
and client details such as client identifier, next-hop | ease | |||
and client details such as the client identifier, next-hop | ||||
address, connected interface, and remaining lifetimes. | address, connected interface, and remaining lifetimes. | |||
</t> | </li> | |||
<t hangText="O-2:">The relay SHOULD provide a method for the | <li>The relay <bcp14>SHOULD</bcp14> provide a method for the | |||
operator to clear active bindings for an individual lease, | operator to clear active bindings for an individual lease, | |||
client or all bindings on a port. | client, or all bindings on a port. | |||
</t> | </li> | |||
<t hangText="O-3:">To facilitate troubleshooting of | <li>To facilitate troubleshooting of | |||
operational problems between the delegating relay and other | operational problems between the delegating relay and other | |||
elements, it is RECOMMENDED that a time synchronization | elements, it is <bcp14>RECOMMENDED</bcp14> that a time synchronizati | |||
protocol is used by the delegating relays and DHCP servers. | on | |||
</t> | protocol be used by the delegating relays and DHCP servers. | |||
</list> | </li> | |||
</t> | </ol> | |||
</section> | ||||
</section> | </section> | |||
</section> | ||||
<section anchor="Acknowledgements" title="Acknowledgements"> | ||||
<t>The authors of this document would like to thank Bernie Volz, | ||||
Ted Lemon, and Michael Richardson for their valuable comments. | ||||
</t> | ||||
</section> | ||||
<!-- Possibly a 'Contributors' section ... --> | ||||
<section anchor="IANA" title="IANA Considerations"> | ||||
<t>This memo includes no request to IANA.</t> | ||||
</section> | ||||
<section anchor="Security" title="Security Considerations"> | ||||
<t>This document does not add any new security considerations | ||||
beyond those mentioned in Section 4 of <xref target="RFC8213"/> | ||||
and Section 22 of <xref target="RFC8415"/>. | ||||
</t> | ||||
<t>If the delegating relay implements <xref target="BCP38"/> | <section anchor="IANA" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | ||||
<t>This document has no IANA actions.</t> | ||||
</section> | ||||
<section anchor="Security" numbered="true" toc="default"> | ||||
<name>Security Considerations</name> | ||||
<t>This document does not add any new security considerations | ||||
beyond those mentioned in <xref target="RFC8213" sectionFormat="of" sectio | ||||
n="4"/> | ||||
and <xref target="RFC8415" sectionFormat="of" section="22"/>. | ||||
</t> | ||||
<t>If the delegating relay implements <xref target="BCP38" format="default | ||||
"/> | ||||
filtering, then the filtering rules will need to be dynamically | filtering, then the filtering rules will need to be dynamically | |||
updated as delegated prefixes are leased. | updated as delegated prefixes are leased. | |||
</t> | </t> | |||
<t><xref target="RFC8213" format="default"/> describes a method for securi | ||||
<t><xref target="RFC8213"/> describes a method for securing traffic | ng traffic | |||
between the relay agent and server by sending DHCP messages over an | between the relay agent and server by sending DHCP messages over an | |||
IPsec tunnel. It is RECOMMENDED that this is implemented by the | IPsec tunnel. It is <bcp14>RECOMMENDED</bcp14> that this be implemented by the | |||
delegating relay.</t> | delegating relay.</t> | |||
<t>Failure to implement requirement G-6 may have specific security | ||||
<t>Failure to implement requirement G-6 may have specific security | ||||
implications, such as a resource depletion attack on the relay.</t> | implications, such as a resource depletion attack on the relay.</t> | |||
<t>The operational requirements in <xref target="opreqs" format="default"/ | ||||
<t>The operational requirements in Section <xref target="opreqs"/> | > | |||
may introduce additional security considerations. It is | may introduce additional security considerations. It is | |||
RECOMMENDED that the operational security practices described | <bcp14>RECOMMENDED</bcp14> that the operational security practices describ | |||
in <xref target="RFC4778"/> are implemented. | ed | |||
</t> | in <xref target="RFC4778" format="default"/> be implemented. | |||
</section> | </t> | |||
</middle> | </section> | |||
</middle> | ||||
<!-- *****BACK MATTER ***** --> | ||||
<back> | <back> | |||
<references title="Normative References"> | ||||
<!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.21 | ||||
19.xml"?--> | ||||
&RFC2119; | ||||
&RFC4443; | ||||
&RFC4778; | ||||
&RFC5460; | ||||
&RFC7653; | ||||
&RFC8174; | ||||
&RFC8213; | ||||
&RFC8415; | ||||
</references> | ||||
<references title="Informative References"> | ||||
<reference anchor="BCP38"> | ||||
<front> | ||||
<title>Network Ingress Filtering: Defeating Denial of Service | ||||
Attacks which employ IP Source Address Spoofing | ||||
https://tools.ietf.org/html/bcp38 | ||||
</title> | ||||
<author> | ||||
<organization>IETF</organization> | ||||
</author> | ||||
<date /> | ||||
</front> | ||||
<seriesInfo name="RFC" value="2827"/> | ||||
<seriesInfo name="BCP" value="38" /> | ||||
</reference> | ||||
<reference anchor="DOCSIS_3.1" | ||||
target="https://apps.cablelabs.com/specification/CM-SP-MULPIv3."> | ||||
<front> | ||||
<title>MAC and Upper Layer Protocols Interface Specification", | ||||
DOCSIS 3.1, January, 2017</title> | ||||
<author> | ||||
<organization abbrev="CL">CableLabs</organization> | ||||
</author> | ||||
<date /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="TR-092" | ||||
target="https://www.broadband-forum.org/download/TR-092.pdf"> | ||||
<front> | ||||
<title>Broadband Remote Access Server (BRAS) Requirements | ||||
Document, August, 2004</title> | ||||
<author> | ||||
<organization abbrev="BBF">Broadband Forum</organization> | ||||
</author> | ||||
<date /> | ||||
</front> | ||||
</reference> | ||||
</references> | ||||
<!-- Change Log | <references> | |||
v00 2019-05-7 IF Initial version | <name>References</name> | |||
2020-02-20 IF - Name change after adoption and typo fixes | <references> | |||
2020-03-27 IF - Updates after Bernie's review | <name>Normative References</name> | |||
2020-08-19 IF - Updates after Ted Lemon's review | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2 | |||
2020-10-10 IF - WGLC updates included. Cleanup for publication | 119.xml"/> | |||
2021-01-04 IF - Updates aftr IESG review--> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.4443.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4778.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5460.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7653.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8213.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8415.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<referencegroup anchor="BCP38" target="https://www.rfc-editor.org/info/bcp38"> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2827.xml"/> | ||||
</referencegroup> | ||||
<reference anchor="DOCSIS_3.1" target="https://www.cablelabs.com/specifi | ||||
cation/CM-SP-MULPIv3.1"> | ||||
<front> | ||||
<title>MAC and Upper Layer Protocols Interface Specification</title> | ||||
<author> | ||||
<organization>CableLabs</organization> | ||||
</author> | ||||
<date month="January" year="2017"/> | ||||
</front> | ||||
<seriesInfo name="Version" value="10"/> | ||||
<seriesInfo name="DOCSIS" value="3.1"/> | ||||
</reference> | ||||
<reference anchor="TR-092" target="https://www.broadband-forum.org/downl | ||||
oad/TR-092.pdf"> | ||||
<front> | ||||
<title>Broadband Remote Access Server (BRAS) Requirements | ||||
Document</title> | ||||
<author> | ||||
<organization>Broadband Forum</organization> | ||||
</author> | ||||
<date month="August" year="2004"/> | ||||
</front> | ||||
<seriesInfo name="Technical Report" value="TR-092"/> | ||||
</reference> | ||||
</references> | ||||
</references> | ||||
<section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
<name>Acknowledgements</name> | ||||
<t>The authors of this document would like to thank <contact fullname="Ber | ||||
nie Volz"/>, | ||||
<contact fullname="Ted Lemon"/>, and <contact fullname="Michael Richardson | ||||
"/> for their valuable comments. | ||||
</t> | ||||
</section> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 93 change blocks. | ||||
487 lines changed or deleted | 464 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |