<?xml version="1.0"encoding="us-ascii"?>encoding="UTF-8"?> <!DOCTYPE rfcPUBLIC '' "http://xml2rfc.tools.ietf.org/authoring/rfc2629.dtd"[ <!ENTITY RFC2119 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"> <!ENTITY RFC2629 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml"> <!ENTITY RFC3552 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml"> <!ENTITY RFC3640 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3640.xml"> <!ENTITY RFC4456 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4456.xml"> <!ENTITY RFC8174 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"> ]> <?xml-stylesheet type='text/xsl' href="http://greenbytes.de/tech/webdav/rfc2629xslt/rfc2629.xslt" ?> <?rfc strict="yes" ?> <?rfc toc="yes"?> <!-- generate a ToC --> <?rfc tocdepth="4"?> <!-- the number of levels of subsections in ToC. default: 3 --> <!-- control references --> <?rfc symrefs="yes"?> <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> <?rfc sortrefs="yes" ?> <!-- sort the reference entries alphabetically --> <!-- control vertical white space (using these PIs as follows is recommended by the RFC Editor) --> <?rfc compact="yes" ?> <!-- do not start each main section on a new page --> <?rfc subcompact="no" ?> <!-- keep one blank line between list items --> <!-- end of list of popular I-D processing instructions -->SYSTEM "rfc2629-xhtml.ent"> <rfccategory="std"xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-idr-bgp-optimal-route-reflection-28" number="9107" ipr="trust200902" obsoletes="" updates="" submissionType="IETF"xml:lang="en"> <!-- category values: std, bcp, info, exp, and historic ipr values: full3667, noModification3667, noDerivatives3667 you can add the attributes updates="NNNN" and obsoletes="NNNN" they will automatically be output with "(if approved)" -->category="std" consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3"> <!--***** FRONT MATTER *****xml2rfc v2v3 conversion 3.8.0 --> <front> <titleabbrev="bgp-optimal-route-reflection">abbrev="BGP Optimal Route Reflection"> BGP Optimal Route Reflection (BGP ORR) </title> <seriesInfo name="RFC" value="9107"/> <authorfullname='Robert Raszuk' initials='R' surname='Raszuk'fullname="Robert Raszuk" initials="R" surname="Raszuk" role="editor"> <organization>NTT Network Innovations</organization> <address> <email>robert@raszuk.net</email> </address> </author> <author initials="B" surname="Decraene" fullname="Bruno Decraene" role="editor"> <organization>Orange</organization> <address> <email>bruno.decraene@orange.com</email> </address> </author> <author initials="C" surname="Cassar" fullname="Christian Cassar"> <address> <email>cassar.christian@gmail.com</email> </address> </author> <author initials="E" surname="Aman" fullname="Erik Aman"><organization></organization><organization/> <address> <email>erik.aman@aman.se</email> </address> </author> <author initials="K" surname="Wang" fullname="Kevin Wang"> <organization>Juniper Networks</organization> <address> <postal> <street>10 Technology Park Drive</street> <city>Westford</city> <region>MA</region> <code>01886</code><country>USA</country><country>United States of America</country> </postal> <email>kfwang@juniper.net</email> </address> </author> <date year="2021"/>month="August"/> <area>Routing</area> <workgroup>IDR Working Group</workgroup><keyword>I-D</keyword> <keyword>Internet-Draft</keyword><keyword>IDR</keyword> <abstract> <t>This document defines an extension to BGP route reflectors. On route reflectors, BGP route selection is modified in order to choose the best route from the standpoint of their clients, rather than from the standpoint of the routereflectors.reflectors themselves. Depending on the scaling and precision requirements, route selection can be specific for one client, common for a set ofclientsclients, or common for all clients of a route reflector. This solution is particularly applicable in deployments using centralized route reflectors, where choosing the best route based on the route reflector's IGP location is suboptimal. This facilitates, for example,besta "best exitpointpoint" policy(hot("hot potatorouting).</t>routing").</t> <t>The solution relies upon all route reflectors learning all pathswhichthat are eligible for consideration. BGPRoute Selectionroute selection is performed in the route reflectors based on the IGP cost from configured locations in thelink statelink-state IGP.</t> </abstract> </front> <middle> <sectiontitle="Introduction">numbered="true" toc="default"> <name>Introduction</name> <t>There are three types of BGP deployments within Autonomous Systems (ASes) today: full mesh,confederationsconfederations, and route reflection. BGP route reflection <xref target="RFC4456"/>format="default"/> is the most popular way to distribute BGP routes between BGP speakers belonging to the sameAutonomous System.AS. However, in some situations, this method suffers from non-optimal path selection. </t> <t> <xref target="RFC4456"/>format="default"/> asserts that, because the IGP cost to a given point in the network will vary across routers, "the route reflection approach may not yield the same route selection result as that of the fullInternal BGP (IBGP)IBGP mesh approach." ("IBGP" stands for "Internal BGP".) One practical implication of this fact is that the deployment of route reflection may thwart the ability to achievehot"hot potatorouting.routing". Hot potato routing attempts to direct traffic to the closestAutonomous System (AS)AS exit point in cases where nohigher priorityhigher-priority policy dictates otherwise. As a consequence of the route reflection method, the choice of exit point for a route reflector and its clients will be the exit point that is optimal for the route reflector--- not necessarily the one that is optimal for its clients. </t><t> Section 11 of <xref<t><xref target="RFC4456"/>sectionFormat="of" section="11"/> describes a deployment approach and a set of constraintswhich,that, if satisfied, would result in the deployment of route reflection yielding the same results as the IBGP full mesh approach. This deployment approach makes route reflection compatible with the application of a hot potato routing policy. In accordance with these design rules, route reflectors have often been deployed in the forwarding path and carefully placed on the boundaries between the Point of Presence (POP)to core boundaries.</t>and the network core.</t> <t>The evolving model of intra-domain network design has enabled deployments of route reflectors outside the forwarding path.InitiallyInitially, this model was only employed for new services, e.g., IP VPNs <xref target="RFC4364"/>, howeverformat="default"/>; however, it has been gradually extended to other BGP services, including the IPv4 and IPv6 Internet. In such environments, a hot potato routing policy remains desirable.</t> <t>Route reflectors outside the forwarding path can be placed on the boundaries between the POPto core boundaries,and the network core, but they are often placed in arbitrary locations in the core of large networks.</t> <t>Such deployments suffer from a critical drawback in the context of BGPRoute Selection: Aroute selection: a route reflector with knowledge of multiple paths for a given route will typically pick its best path and only advertise that best path to its clients. If the best path for a route is selected on the basis of an IGP tie-break, the path advertised will be the exit point closest to the route reflector. However, the clients are in a different place in the network topology than the route reflector. In networks where the route reflectors are not in the forwarding path, this difference will be even more acute.</t> <t>In addition, there are deployment scenarios where service providers want to have more control in choosing the exit points for clients based on other factors, such as traffic type, traffic load, etc. This further complicates the issue and makes it less likely for the route reflector to select the best path from the client's perspective. It follows that the best path chosen by the route reflector is not necessarily the same as the pathwhichthat would have been chosen by the client if the client had considered the same set of candidate paths as the route reflector.</t> </section> <sectiontitle="Terminology">numbered="true" toc="default"> <name>Terminology</name> <t>This memo makes use of the terms defined in <xref target="RFC4271"/> and <xref target="RFC4456"/>.</t> <t>The key words"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY","<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described inBCP 14BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shownhere. </t>here.</t> </section> <sectiontitle="Modificationsnumbered="true" toc="default"> <name>Modifications to BGP RouteSelection">Selection</name> <t>The core of this solution is the ability for an operator to specify the IGP location for which the route reflector calculates interior costforto theNEXT_HOP.next hop. The IGP location is defined as a node in the IGP topology, it is identified by an IP address of this node (e.g., a loopback address), and it may be configured on aper route reflectorper-route-reflector basis, per set of clients, orper clienton a per-client basis. Such configuration will allow the route reflector to select and distribute to a given set of clients routes with the shortest distance to the next hops from the position of the selected IGP location. This provides for freedomofrelated to the routereflectorreflector's physicallocation,location and allows transient or permanent migration of this network control plane function to an arbitrary location with no impacttoon IP transit.</t> <t>The choice of specific granularity (route reflector, set of clients, or client) is configured by the network operator. An implementation is considered compliant with this document if it supports at least one such grouping category.</t> <t> For purposes of route selection, the perspective of a client can differ from that of a route reflector or another client in two distinct ways:<list style="symbols"> <t> it</t> <ul spacing="normal"> <li>It has a different position in the IGPtopology,</t> <t> ittopology.</li> <li>It can have a different routingpolicy.</t> </list>policy.</li> </ul> <t> These factors correspond to the issues described earlier. </t> <t>This document defines, for BGPRoute Reflectorsroute reflectors <xref target="RFC4456"/>,format="default"/>, two changes to the BGPRoute Selection algorithm: <list style="symbols" > <t>Theroute selection algorithm:</t> <ul spacing="normal"> <li>The first change, introduced in <xref target="sec_IGP_cost"/>,format="default"/>, is related to the IGP cost to the BGPNext Hopnext hop in the BGPdecision process.Decision Process. The change consists of using the IGP cost from a different IGP location than the route reflectoritself.</t> <t>Theitself.</li> <li>The second change, introduced in <xref target="sec_multiple"/>,format="default"/>, is to extend the granularity of the BGPdecision process,Decision Process, to allow for running multipledecisions processesDecision Processes using differentperspectiveperspectives orpolicies.</t> </list></t>policies.</li> </ul> <t> A route reflector can implement either or both of the modifications in order to allow it to choose the best path for its clients that the clients themselves would have chosen given the same set of candidate paths.</t> <t>A significant advantage of these approaches is that the routereflectorreflector's clients do not need to be modified.</t> <sectiontitle="Routeanchor="sec_IGP_cost" numbered="true" toc="default"> <name>Route Selection from adifferentDifferent IGPlocation" anchor="sec_IGP_cost">Location</name> <t>In this approach,optimal"optimal" refers to the decision where the interior cost of a route is determined during step e) of<xrefSection <xref target="RFC4271"/> section 9.1.2.2 "Breakingsection="9.1.2.2" sectionFormat="bare">"Breaking Ties (Phase2)".2)"</xref> of <xref target="RFC4271"/>. It does not apply to path selection preference based on other policy steps and provisions.</t> <t>In addition to the change specified in <xref target="RFC4456"/> section 9,sectionFormat="of" section="9"/>, the text in step e) in <xref target="RFC4271"/> section 9.1.2.2sectionFormat="of" section="9.1.2.2"/> is modified as follows.</t><t>The below text in step e) <list> <t>e) Remove<t>RFC 4271 reads:</t> <blockquote> <dl spacing="normal" indent="4"> <dt>e)</dt><dd>Remove from consideration any routes with less-preferred interior cost. The interior cost of a route is determined by calculating the metric to the NEXT_HOP for the route using the RoutingTable.</t> </list></t> <t>...is replaced byTable.</dd> </dl> </blockquote> <t>This document modifies thisnew text: <list> <t>e) Removetext to read:</t> <blockquote> <dl spacing="normal" indent="4"> <dt>e)</dt><dd>Remove from consideration any routes with less-preferred interior cost. The interior cost of a route is determined by calculating the metric from the selected IGP location to the NEXT_HOP for the route using the shortest IGP path tree rooted at the selected IGPlocation.</t> </list> </t>location.</dd> </dl> </blockquote> <t>In order to be able to compute the shortest path tree rooted at the selected IGP locations, knowledge of the IGP topology for the area/level that includes each of those locations is needed. This knowledge can be gained with the use of thelink state IGPlink-state IGP, such as IS-IS <xreftarget="ISO10589"/>target="ISO10589" format="default"/> or OSPF <xref target="RFC2328"/>format="default"/> <xref target="RFC5340"/>format="default"/>, or viaBGP-LSthe Border Gateway Protocol - Link State (BGP-LS) <xref target="RFC7752"/>.format="default"/>. When specifying the logical location of a route reflector for a group ofclientsclients, one or more backup IGP locationsSHOULD<bcp14>SHOULD</bcp14> be allowed to be specified for redundancy. Further deployment considerations are discussed inSection 4.</t><xref target="deployment-cons"/>.</t> <sectiontitle="Restrictionnumbered="true" toc="default"> <name>Restriction when the BGPnext hop isNext Hop Is a BGProute">Route</name> <t>In situations where the BGP next hop is a BGP route itself, the IGP metric of a route used for its resolutionSHOULD<bcp14>SHOULD</bcp14> be the final IGP cost to reach such a next hop. Implementationswhichthat cannot inform BGP of the final IGP metric to a recursive next hopMUST<bcp14>MUST</bcp14> treat such paths as least preferred duringnext hopnext-hop metriccomparison.comparisons. However, such pathsMUST<bcp14>MUST</bcp14> still be considered valid for BGP Phase 2Route Selection.</t>route selection.</t> </section> </section> <sectiontitle="Multiple Route Selections" anchor="sec_multiple"> <t>BGPanchor="sec_multiple" numbered="true" toc="default"> <name>Multiple RouteReflectorSelections</name> <t>A BGP route reflector as per <xref target="RFC4456"/>format="default"/> runs a single BGP Decision Process. BGP Optimalroute reflectionRoute Reflection (BGP ORR) may require multiple BGP Decision Processes or subsets of the Decision Process in order to consider different IGP locations or BGP policies for different sets of clients. This is very similar to what is defined in <xref target="RFC7947"/> section 2.3.2.1.</t>sectionFormat="comma" section="2.3.2.1"/>.</t> <t> If the required routing optimization is limited to the IGP cost to the BGPNext-Hop,next hop, only step e) and subsequent steps as defined in <xref target="RFC4271"/> section 9.1.2.2, needssectionFormat="comma" section="9.1.2.2"/> need to be run multiple times.</t> <t> If the routing optimization requires the use of different BGP policies for different sets of clients, a larger part of thedecision processDecision Process needs to be run multiple times, up to the wholedecision processDecision Process as defined insection 9.1 of<xref target="RFC4271"/>.sectionFormat="of" section="9.1"/>. Thisisis, forexampleexample, the case when there is a need to use different policies to compute differentdegreedegrees of preference during Phase 1. This is needed for use cases involving traffic engineering or dedicating certain exit points for certain clients. In the latter case, the user may specify and apply a general policy on the route reflector for a set of clients. Regular path selection, including IGPperspectiveperspectives for a set of clients as per <xref target="sec_IGP_cost"/>,format="default"/>, is then applied to the candidate paths to select the final paths to advertise to the clients. </t><t> A route reflector can implement either or both of the modifications in order to allow it to choose the best path for its clients that the clients themselves would have chosen given the same set of candidate paths.</t></section> </section> <sectiontitle="Deployment Considerations">anchor="deployment-cons" numbered="true" toc="default"> <name>Deployment Considerations</name> <t>BGPOptimal Route ReflectionORR provides a model for integrating theclientclient's perspective into the BGPRoute Selection decision functionroute selection Decision Process for route reflectors. More specifically, the choice of BGP path takes into account either the IGP cost between the client and theNEXT_HOPnext hop (rather than the IGP cost from the route reflector to theNEXT_HOP)next hop) or otheruser configureduser-configured policies.</t> <t>The achievement of optimal routing between clients of different clusters relies upon all route reflectors learning all paths that are eligible for consideration. In order to satisfy this requirement, BGPadd-pathADD-PATH <xref target="RFC7911"/>format="default"/> needs to be deployed between route reflectors. </t> <t>This solution can be deployed intraditionalhop-by-hop forwarding networks as well as in end-to-end tunneled environments. To avoid routing loops in networks with multiple route reflectors and hop-by-hop forwarding without encapsulation, it is essential that the network topology be carefully considered in designing a route reflection topology (see alsoSection 11 of<xref target="RFC4456"/>).</t>sectionFormat="of" section="11"/>).</t> <t>As discussed insection 11 of<xref target="RFC4456"/>,sectionFormat="of" section="11"/>, the IGP locations of BGP route reflectorsisare important andhashave routing implications. This equally applies to the choice of the IGP locations configured on optimal route reflectors. If a backup location is provided, it is used when the primary IGP location disappears from the IGP(i.e.(i.e., fails). Just like the failure of aRRroute reflector <xref target="RFC4456"/>,format="default"/>, it may result in changing the paths selected and advertised to theclientsclients, and ingeneralgeneral, the post-failure paths are expected to be less optimal. This is dependent on the IGP topologies and the IGP distance between the primary andthebackup IGP locations: the smaller thedistancedistance, the smaller the potential impact.</t><t>After<t> After selecting N suitable IGP locations, an operatormay let one or multiple route reflectors handlecan choose to enable route selection for all ofthem.them on all or on a subset of their route reflectors. The operator may alternatively deployonesingle or multiple (backup case) routereflectorreflectors for each IGP location or create any design in between. This choice may depend on the operational model (centralizedvsvs. per region), an acceptable blast radius in the case of failure, an acceptable number of IBGP sessions for the mesh between the route reflectors,performanceperformance, and configuration granularity of the equipment.</t> <t>With this approach, an ISP can effect a hot potato routing policy even if route reflection has been moved out of the forwardingplane,plane and hop-by-hop forwarding has been replaced by end-to-end MPLS or IP encapsulation. Compared with a deployment of ADD-PATH on all routers, BGPOptimal Route Reflection (ORR)ORR reduces the amount of statewhichthat needs to be pushed to the edge of the network in order to perform hot potato routing.</t> <t>Modifying the IGP location of BGP ORR does not interfere with policies enforced before IGP tie-breaking (step e) of <xref target="RFC4271"/> section 9.1.2.2sectionFormat="comma" section="9.1.2.2"/>) in the BGP Decision Process.</t> <t>Calculating routes for different IGP locations requires multiple Shortest Path First (SPF) calculations and multiple (subsets of) BGP DecisionProcesses, which requiresProcesses. This scenario calls for more computing resources. This document allows for differentgranularitygranularity, such as one Decision Process per route reflector, per set ofclientsclients, or per client. A more fine-grained granularity may translate into more optimal hot potato routing at the cost of more computing power.SelectingChoosing to configure an IGP location per client has the highestprecisionprecision, as each client can be associated with their ideal (own) IGP location. However, doing so may have an impact ontheperformance (as explained above). Using an IGP location per set of clients implies a loss ofprecision,precision but reduces the impact on the performance of the route reflector. Similarly, if an IGP location is selected for the whole routing instance, the lowest precision is achieved, but theperformanceimpact on performance is minimal. In the last mode of operation (where an IGP location is selected for the whole routing instance), both precisionas well as perfomanceand performance metrics are equal tosame metrics when usingroute reflection as described in <xref target="RFC4456"/> without ORR extension.format="default"/>. The ability to run fine-grained computations depends on the platform/hardware deployed, the number of clients, the number of BGProutesroutes, and the size of the IGP topology. In essence, sizing considerations are similar to the deployments of BGPRoute Reflector.</t>route reflectors.</t> </section> <sectiontitle="Security Considerations"> <t>Thisnumbered="true" toc="default"> <name>Security Considerations</name> <t>The extension specified in this document provides a new metric value using additional information for computing routes for BGP route reflectors. While any improperly used metric value could impact the resiliency of the network, this extension does not change the underlying security issues inherent in the existing IBGP per <xref target="RFC4456"/>.</t>format="default"/>.</t> <t>This document does not introduce requirements for any new protection measures. </t> </section> <sectiontitle="IANA Considerations">numbered="true" toc="default"> <name>IANA Considerations</name> <t>This documentdoes not request anyhas no IANAallocations.</t> </section> <section title="Acknowledgments"> <t>Authors would like to thank Keyur Patel, Eric Rosen, Clarence Filsfils, Uli Bornhauser, Russ White, Jakob Heitz, Mike Shand, Jon Mitchell, John Scudder, Jeff Haas, Martin Djernaes, Daniele Ceccarelli, Kieran Milne, Job Snijders, Randy Bush, Alvaro Retana, Francesca Palombini, Benjamin Kaduk, Zaheduzzaman Sarker, Lars Eggert, Murray Kucherawy, Tom Petch and Nick Hilliard for their valuable input.</t> </section> <section title="Contributors"> <t>Following persons substantially contributed to the current format of the document:</t> <t> <figure> <artwork> Stephane Litkowski Cisco System slitkows.ietf@gmail.com </artwork> </figure> </t> <t> <figure> <artwork> Adam Chappell GTT Communications, Inc. Aspira Business Centre Bucharova 2928/14a 158 00 Prague 13 Stodulky Czech Republic adam.chappell@gtt.net </artwork> </figure> </t>actions.</t> </section> </middle> <back><references title="Normative References"> <?rfc include="reference.RFC.2119"?> <?rfc include="reference.RFC.4271"?> <?rfc include="reference.RFC.4456"?> <?rfc include="reference.RFC.8174"?> <?rfc include="reference.RFC.7911"?><references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4456.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7911.xml"/> </references><references title="Informative References"> <?rfc include="reference.RFC.2328"?> <?rfc include="reference.RFC.4364"?> <?rfc include="reference.RFC.5340"?> <?rfc include="reference.RFC.7752"?> <?rfc include="reference.RFC.7947"?><references> <name>Informative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2328.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4364.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7752.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7947.xml"/> <reference anchor="ISO10589"> <front> <title>Intermediate system to Intermediate system intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473)</title> <author> <organization abbrev="ISO">International Organization for Standardization</organization> </author> <datemonth="Nov"month="November" year="2002"/> </front><seriesInfo name="ISO/IEC" value="10589:2002,<refcontent>ISO/IEC 10589:2002, SecondEdition"/>Edition</refcontent> </reference> </references> </references> <section numbered="false" toc="default"> <name>Acknowledgments</name> <t>The authors would like to thank <contact fullname="Keyur Patel"/>, <contact fullname="Eric Rosen"/>, <contact fullname="Clarence Filsfils"/>, <contact fullname="Uli Bornhauser"/>, <contact fullname="Russ White"/>, <contact fullname="Jakob Heitz"/>, <contact fullname="Mike Shand"/>, <contact fullname="Jon Mitchell"/>, <contact fullname="John Scudder"/>, <contact fullname="Jeff Haas"/>, <contact fullname="Martin Djernæs"/>, <contact fullname="Daniele Ceccarelli"/>, <contact fullname="Kieran Milne"/>, <contact fullname="Job Snijders"/>, <contact fullname="Randy Bush"/>, <contact fullname="Alvaro Retana"/>, <contact fullname="Francesca Palombini"/>, <contact fullname="Benjamin Kaduk"/>, <contact fullname="Zaheduzzaman Sarker"/>, <contact fullname="Lars Eggert"/>, <contact fullname="Murray Kucherawy"/>, <contact fullname="Tom Petch"/>, and <contact fullname="Nick Hilliard"/> for their valuable input.</t> </section> <section numbered="false" toc="default"> <name>Contributors</name> <t>The following persons contributed substantially to the current format of the document:</t> <contact fullname="Stephane Litkowski"> <organization>Cisco Systems</organization> <address> <postal> <street></street> <city></city> <region></region> <code></code> <country></country> </postal> <email>slitkows.ietf@gmail.com</email> </address> </contact> <contact fullname="Adam Chappell"> <organization>GTT Communications, Inc.</organization> <address> <postal> <street>Aspira Business Centre</street> <street>Bucharova 2928/14a</street> <city>158 00 Prague 13 Stodůlky</city> <region></region> <code></code> <country>Czech Republic</country> </postal> <email>adam.chappell@gtt.net</email> </address> </contact> </section> </back> </rfc>