<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc comments="yes"?>
<?rfc compact="yes"?>
<?rfc inline="yes"?>
<?rfc sortrefs="yes"?>
<?rfc subcompact="yes"?>
<?rfc symrefs="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc tocompact="yes"?>

<rfc category="info" docName="draft-ietf-grow-blackholing-02">
    <front>
        <title>BLACKHOLE BGP Community for Blackholing</title>
        
        <author fullname="Thomas King" initials="T." surname="King">
            <organization>DE-CIX Management GmbH</organization>
            <address>
                <postal>
                    <street>Lichtstrasse 43i</street>
                    <city>Cologne</city>
                    <code>50825</code>
                    <country>Germany</country>
                </postal>
                <email>thomas.king@de-cix.net</email>
            </address>
        </author>

        <author fullname="Christoph Dietzel" initials="C." surname="Dietzel">
            <organization>DE-CIX Management GmbH</organization>
            <address>
                <postal>
                    <street>Lichtstrasse 43i</street>
                    <city>Cologne</city>
                    <code>50825</code>
                    <country>Germany</country>
                </postal>
                <email>christoph.dietzel@de-cix.net</email>
            </address>
        </author>

        <author fullname="Job Snijders" initials="J." surname="Snijders">
               <organization abbrev="NTT">NTT Communications, Inc.</organization>
               <address>
                   <postal>
                       <street>Theodorus Majofskistraat 100</street>
                       <code>1065 SZ</code>
                       <city>Amsterdam</city>
                       <country>NL</country>
                   </postal>
                   <email>job@ntt.net</email>
               </address>
          </author>
        <author fullname="Gert Döring" initials="G." surname="Döring">
            <organization>SpaceNet AG</organization>
            <address>
                <postal>
                    <street>Joseph-Dollinger-Bogen 14</street>
                    <city>Munich</city>
                    <code>80807</code>
                <country>Germany</country>
                </postal>
                <email>gert@space.net</email>
            </address>
        </author>

        <author fullname="Greg Hankins" initials="G." surname="Hankins">
            <organization>Nokia</organization>
            <address>
                <postal>
                    <street>777 E. Middlefield Road</street>
                    <city>Mountain View</city>
                    <region>CA</region>
                    <code>94043</code>
                <country>USA</country>
                </postal>
                <email>greg.hankins@nokia.com</email>
            </address>
        </author>

        <date month="July" year="2016" />

        <abstract>
            <t>
                This document describes the use of a well-known Border Gateway
                Protocol (BGP) community for destination based blackholing in
                IP networks. This well-known advisory transitive BGP community,
                namely BLACKHOLE, allows an origin AS to specify that a
                neighboring network should discard any traffic destined towards
                the tagged IP prefix.
            </t>
        </abstract>

        <note title="Requirements Language">

            <t>
                The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
                NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
                "OPTIONAL" are to be interpreted as described in <xref target="RFC2119" />
                only when they appear in all upper case. They may also appear
                in lower or mixed case as English words, without normative
                meaning.
            </t>

        </note>

    </front>

    <middle>
        <section anchor="intro" title="Introduction">
            <t>
                Network infrastructures have been increasingly hampered by DDoS
                attacks. In order to dampen the effects of these DDoS attacks,
                IP networks have offered BGP blackholing to neighboring
                networks via various mechanisms such as described in
                <xref target=" RFC3882" /> and <xref target="RFC5635" />.
            </t>

            <t>
                DDoS attacks targeting a certain IP address may cause
                congestion of links used to connect to other networks. In order
                to limit the impact of such a scenario on legitimate traffic,
                networks adopted a mechanism called BGP blackholing. A network
                that wants to trigger blackholing needs to understand the
                triggering mechanism adopted by its neighboring networks.
                Different networks provide different mechanisms to trigger
                blackholing, including but not limited to pre-defined blackhole
                next-hop IP addresses, specific BGP communities or via an
                out-of-band BGP session with a special BGP speaker.
            </t>

            <t>
                Having several different mechanisms to trigger blackholing in
                different networks makes it an unnecessarily complex,
                error-prone and cumbersome task for network operators.
                Therefore a well-known <xref target="RFC1997">BGP
                community</xref> is defined for operational ease.
            </t>

            <t>
                Having such a well-known BGP community for blackholing also
                supports networks because:
                <list style='symbols'>
                    <t> implementing and monitoring blackholing becomes easier
                        when implementation and operational guides do not cover
                        many options that trigger blackholing.
                    </t>
                    <t> the number of support requests from customers about how
                        to trigger blackholing in a particular neighboring
                        network will be reduced as the codepoint for common
                        blackholing mechanisms is unified.
                    </t>
                </list>
            </t>

            <t>
                Making it considerably easier for network operators to utilize
                blackholing makes operations easier.
            </t>
        </section>

        <section anchor="attribute" title="BLACKHOLE Attribute">
            <t>
                This document defines the use of a new well-known BGP transitive community,
                   BLACKHOLE.
               </t>

               <t>
                   The semantics of this attribute allow a network to interpret
                   the presence of this community as an advisory qualification to drop
                   any traffic being sent towards this prefix.
               </t>
        </section>

        <section anchor="recommendation" title="Operational Recommendations">
            <section anchor="morespecific" title="IP Prefix Announcements with BLACKHOLE Community Attached">
                <t>
                    When a network is under DDoS duress, it MAY announce an IP
                    prefix covering the victim's IP address(es) for the purpose
                    of signaling to neighboring networks that any traffic
                    destined for these IP address(es) should be discarded. In
                    such a scenario, the network operator SHOULD attach
                    BLACKHOLE BGP community.
                </t>
            </section>
            <section anchor="scope" title="Local Scope of Blackholes">
                <t>
                    A BGP speaker receiving a BGP announcement tagged with the
                    BLACKHOLE BGP community SHOULD add a NO_ADVERTISE,
                    NO_EXPORT or similar community to prevent propagation of
                    this route outside the local AS.
                </t>

                <t>
                    Unintentional leaking of more specific IP prefixes to
                    neighboring networks can have adverse effects. Extreme
                    caution should be used when purposefully propagating IP
                    prefixes tagged with the BLACKHOLE BGP community outside
                    the local routing domain.
                </t>
            </section>
            <section anchor="small" title="Accepting Blackholed IP Prefixes">
                <t>
                    It has been observed that announcements of IP prefixes
                    larger than /24 for IPv4 and /48 for IPv6 are usually not
                    accepted on the Internet (see <xref
                        target="RFC7454">section 6.1.3</xref>). However,
                    blackhole routes should be as small as possible in order to
                    limit the impact of discarding traffic for adjacent IP
                    space that is not under DDoS duress.
                    Typically, the blackhole route's prefix length is as
                    specific as /32 for IPv4 and /128 for IPv6.
                </t>
                <t>
                    BGP speakers SHOULD only accept and honor BGP announcements
                    carrying the BLACKHOLE community if the announced prefix is
                    covered by a shorter prefix for which the neighboring
                    network is authorized to advertise.
                </t>
            </section>
        </section>
        
        <section anchor="vendor" title="Vendor Implementation Recommendations">
            <t>
                Without an explicit configuration directive set by the
                operator, network elements SHOULD NOT discard traffic
                destined towards IP prefixes which are tagged with the
                BLACKHOLE BGP community. The operator is expected to
                explicitly configure the network element to honor the
                BLACKHOLE BGP community in a way that is compliant with the
                operator's routing policy.
            </t>
            <t>
                Vendors MAY provide a short-hand keyword in their
                configuration language to reference the well-known
                BLACKHOLE BGP community attribute value. The suggested
                string to be used is "blackhole".
            </t>
        </section>

        <section anchor="iana" title="IANA Considerations">
            <t>
                The IANA is requested to register BLACKHOLE as a well-known BGP community with global significance:
                <list>
                    <t>
                        BLACKHOLE (= 0xFFFF029A)
                    </t>
                </list>
            </t>
            <t>
                The low-order two octets in decimal are 666, amongst network
                operators a value commonly associated with BGP blackholing.
            </t>
        </section>

        <section anchor="security" title="Security Considerations">
            <t>
                BGP contains no specific mechanism to prevent the unauthorized
                modification of information by the forwarding agent. This
                allows routing information to be modified, removed, or false
                information to be added by forwarding agents. Recipients of
                routing information are not able to detect this modification.
                Also, <xref target="RFC6810">RPKI</xref> and <xref
                    target="I-D.ietf-sidr-bgpsec-overview">BGPSec</xref> do not
                fully resolve this situation. For instance, BGP communities
                can still be added or altered by a forwarding agent even if
                RPKI and BGPSec are in place. 
            </t>
            <t>
                The unauthorized addition of the BLACKHOLE BGP community to an
                IP prefix by an adversery may cause a denial of service attack
                based on denial of reachability.
            </t>
            <t>
                In order to further limit the impact of unauthorized BGP
                announcements carrying the BLACKHOLE BGP community, the
                receiving BGP speaker SHOULD verify by applying strict
                filtering (see <xref target="RFC7454">section 6.2.1.1.2.</xref>)
                that the peer announcing the prefix is authorized to do so. If
                not, the BGP announcement should be filtered out.
            </t>
        </section>

        
    </middle>

    <back>

        <references title="Normative References">
           <?rfc include="reference.RFC.1997"?>
           <?rfc include="reference.RFC.2119"?>
        </references>

        <references title="Informative References">
           <?rfc include="reference.RFC.3882"?>
           <?rfc include="reference.RFC.5635"?>
           <?rfc include="reference.RFC.6810"?>
           <?rfc include="reference.RFC.7454"?>
           <?rfc include="reference.I-D.ietf-sidr-bgpsec-overview"?>
        </references>
        
        <section anchor="acknowledgements" title="Acknowledgements">
            <t>
                The authors would like to gratefully acknowledge many people
                who have contributed discussions and ideas to the making of
                this proposal. They include Petr Jiran, Yordan Kritski,
                Christian Seitz, Nick Hilliard, Joel Jaeggli, Christopher
                Morrow, Thomas Mangin, Will Hargrave, Niels Bakker and David
                Farmer.
            </t>
        </section>
    </back>

</rfc>
