draft-ietf-ptomaine-nopeer-02.txt   draft-ietf-ptomaine-nopeer-03.txt 
Internet Engineering Task Force Geoff Huston Ptomaine G. Huston
Internet Draft Telstra Internet-Draft Telstra
Document: draft-ietf-ptomaine-nopeer-02.txt February 2003 Expires: November 11, 2003 May 13, 2003
Status: proposed as Informational Expires: August 2003
NOPEER community for BGP route scope control NOPEER community for BGP route scope control
draft-ietf-ptomaine-nopeer-03.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026 [1]. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that other
other groups may also distribute working documents as Internet- groups may also distribute working documents as Internet-Drafts.
Drafts. Internet-Drafts are draft documents valid for a maximum of
six months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet- Drafts
as reference material or to cite them other than as "work in
progress."
The list of current Internet-Drafts can be accessed at Internet-Drafts are draft documents valid for a maximum of six months
http://www.ietf.org/ietf/1id-abstracts.txt and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http://
www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Comments on this draft should be directed to gih@telstra.net. This Internet-Draft will expire on November 11, 2003.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract Abstract
This document describes the use of a scope control BGP community. This document describes the use of a scope control BGP community.
This well-known advisory transitive community allows an origin AS to This well-known advisory transitive community allows an origin AS to
specify the extent to which a specific route should be externally specify the extent to which a specific route should be externally
propagated. In particular this community, NOPEER, allows an origin propagated. In particular this community, NOPEER, allows an origin AS
AS to specify that a route with this attribute need not be to specify that a route with this attribute need not be advertised
advertised across bilateral peer connections. across bilateral peer connections.
1. Introduction 1. Introduction
BGP today has a limited number of commonly defined mechanisms that BGP today has a limited number of commonly defined mechanisms that
allow a route to be propagated across some subset of the routing allow a route to be propagated across some subset of the routing
system. The NOEXPORT community allows a BGP speaker to specify that system. The NOEXPORT community allows a BGP speaker to specify that
redistribution should extend only to the neighbouring AS. Providers redistribution should extend only to the neighbouring AS. Providers
commonly define a number of communities that allow their neighbours commonly define a number of communities that allow their neighbours
to specify how advertised routes should be re-advertised. Current to specify how advertised routes should be re-advertised. Current
operational practice is that such communities are defined on as AS operational practice is that such communities are defined on as AS by
by AS basis, and while they allow an AS to influence the re- AS basis, and while they allow an AS to influence the re-
advertisement behaviour of routes passed from a neighbouring AS, advertisement behaviour of routes passed from a neighbouring AS, they
they do not allow this scope definition ability to be passed in a do not allow this scope definition ability to be passed in a
transitive fashion to a remote AS. transitive fashion to a remote AS.
Advertisement scope specification is of most use in specifying the Advertisement scope specification is of most use in specifying the
boundary conditions of route propagation. The specification can take boundary conditions of route propagation. The specification can take
on a number of forms, including as AS transit hop count, a set of on a number of forms, including as AS transit hop count, a set of
target ASs, the presence of a particular route object, or a target ASs, the presence of a particular route object, or a
particular characteristic of the inter-AS connection. particular characteristic of the inter-AS connection.
There are a number of motivations for controlling the scope of There are a number of motivations for controlling the scope of
advertisement of route prefixes, including support of limited advertisement of route prefixes, including support of limited transit
transit services where advertisements are restricted to certain services where advertisements are restricted to certain transit
transit providers, and various forms of selective transit in a providers, and various forms of selective transit in a multi-homed
multi-homed environment. environment.
This memo does not attempt to address all such motivations of scope This memo does not attempt to address all such motivations of scope
control, and addresses in particular the situation of both multi- control, and addresses in particular the situation of both multi-
homing and traffic engineering. The commonly adopted operational homing and traffic engineering. The commonly adopted operational
technique is that the originating AS advertises an encompassing technique is that the originating AS advertises an encompassing
aggregate route to all multi-home neighbours, and also selectively aggregate route to all multi-home neighbours, and also selectively
advertises a collection of more specific routes. This implements a advertises a collection of more specific routes. This implements a
form of destination-based traffic engineering with some level of form of destination-based traffic engineering with some level of fail
fail over protection. The more specific routes typically cease to over protection. The more specific routes typically cease to lever
lever any useful traffic engineering outcome beyond a certain radius any useful traffic engineering outcome beyond a certain radius of
of redistribution, and a means of advising that such routes need not redistribution, and a means of advising that such routes need not to
to be distributed beyond such a point is of some value in moderating be distributed beyond such a point is of some value in moderating one
one of the factors of continued route table growth. of the factors of continued route table growth.
Analysis of the BGP routing tables reveals a significant use of the Analysis of the BGP routing tables reveals a significant use of the
technique of advertising more specific prefixes in addition to technique of advertising more specific prefixes in addition to
advertising a covering aggregate. In an effort to ameliorate some of advertising a covering aggregate. In an effort to ameliorate some of
the effects of this practice, in terms of overall growth of the BGP the effects of this practice, in terms of overall growth of the BGP
routing tables in the Internet and the associated burden of global routing tables in the Internet and the associated burden of global
propagation of dynamic changes in the reachability of such more propagation of dynamic changes in the reachability of such more
specific address prefixes, this memo describes the use of a specific address prefixes, this memo describes the use of a
transitive BGP route attribute that allows more specific route transitive BGP route attribute that allows more specific route tables
tables entries to be discarded from the BGP tables under appropriate entries to be discarded from the BGP tables under appropriate
conditions. Specifically, this attribute, NOPEER, allows a remote AS conditions. Specifically, this attribute, NOPEER, allows a remote AS
not to advertise a route object to a neighbour AS when the two AS's not to advertise a route object to a neighbour AS when the two AS's
are interconnected under the conditions of some form of sender keep are interconnected under the conditions of some form of sender keep
all arrangement, as distinct from some form of provider / customer all arrangement, as distinct from some form of provider / customer
arrangement. arrangement.
2. NOPEER Attribute 2. NOPEER Attribute
This memo defines the use a new well-known bgp transitive community, This memo defines the use a new well-known bgp transitive community,
NOPEER. NOPEER.
The semantics of this attribute is to allow an AS to interpret the The semantics of this attribute is to allow an AS to interpret the
presence of this community as an advisory qualification to presence of this community as an advisory qualification to
readvertisement of a route prefix, permitting an AS not to readvertisement of a route prefix, permitting an AS not to
readvertise the route prefix to all external bilateral peer readvertise the route prefix to all external bilateral peer neighbour
neighbour AS's. It is consistent with these semantics that an AS may AS's. It is consistent with these semantics that an AS may filter
filter received prefixes that are received across a peering session received prefixes that are received across a peering session that the
that the receiver regards as a bilateral peer sessions. receiver regards as a bilateral peer sessions.
3. Motivation 3. Motivation
The size of the BGP routing table has been increasing at an The size of the BGP routing table has been increasing at an
accelerating rate since late 1998. At the time of publication of accelerating rate since late 1998. At the time of publication of this
this memo (February 2003) the BGP forwarding table contains over memo the BGP forwarding table contains over 118,000 entries, and the
118,000 entries, and the three year growth rate of this table shows three year growth rate of this table shows a trend rate which can be
a trend rate which can be correlated to a compound growth rate of no correlated to a compound growth rate of no less than 10% per year
less than 10% per year [2]. [2].
One of the aspects of the current BGP routing table is the One of the aspects of the current BGP routing table is the widespread
widespread use of the technique of advertising both an aggregate and use of the technique of advertising both an aggregate and a number of
a number of more specific address prefixes. For example, the table more specific address prefixes. For example, the table may contain a
may contain a routing entry for the prefix 10.0.0.0/23 and also routing entry for the prefix 10.0.0.0/23 and also contain entries for
contain entries for the prefixes 10.0.0.0/24 and 10.0.1.0/24. In the prefixes 10.0.0.0/24 and 10.0.1.0/24. In this example the
this example the specific routes fully cover the aggregate specific routes fully cover the aggregate announcement. Sparse
announcement. Sparse coverage of aggregates with more specifics is coverage of aggregates with more specifics is also observed, where,
also observed, where, for example, routing entries for 10.0.0.0/8 for example, routing entries for 10.0.0.0/8 and 10.0.1.0/24 both
and 10.0.1.0/24 both exist in the routing table. In total, these exist in the routing table. In total, these more specific route
more specific route entries occupy some 51% of the routing table[3], entries occupy some 51% of the routing table, so that more than one
so that more than one half of the routing table does not add half of the routing table does not add additional address
additional address reachability information into the routing system, reachability information into the routing system, but instead is used
but instead is used to impose a finer level of detail on existing to impose a finer level of detail on existing reachability
reachability information. information.
There are a number of motivations for having both an aggregate route There are a number of motivations for having both an aggregate route
and a number of more specific routes in the routing table, including and a number of more specific routes in the routing table, including
various forms of multi-homed configurations, where there is a various forms of multi-homed configurations, where there is a
requirement to specify a different reachability policy for a part of requirement to specify a different reachability policy for a part of
the advertised address space. the advertised address space.
One of the observed common requirements in the multi-homed network One of the observed common requirements in the multi-homed network
configuration is that of undertaking some form of load balancing of configuration is that of undertaking some form of load balancing of
incoming traffic across a number of external connections to a number incoming traffic across a number of external connections to a number
of different neighbouring ASs. If, for example, an AS wishes to use of different neighbouring ASs. If, for example, an AS wishes to use a
a multi-homed configuration for routing-based load balancing and multi-homed configuration for routing-based load balancing and some
some form of mutual fail over between the multiple access form of mutual fail over between the multiple access connections for
connections for incoming traffic, then one approach is for the AS to incoming traffic, then one approach is for the AS to advertise the
advertise the same aggregate address prefix to a number of its same aggregate address prefix to a number of its upstream transit
upstream transit providers, and then advertise a number of more providers, and then advertise a number of more specifics to
specifics to individual upstream providers. In such a case all of individual upstream providers. In such a case all of the traffic
the traffic destined to the more specific address prefixes will be destined to the more specific address prefixes will be received only
received only over those connections where the more specific has over those connections where the more specific has been advertised.
been advertised. If the neighbour BGP peering session of the more If the neighbour BGP peering session of the more specific
specific advertisement fails, the more specific will cease to be advertisement fails, the more specific will cease to be announced and
announced and incoming traffic will then be passed to the incoming traffic will then be passed to the originating network based
originating network based on the path associated with the on the path associated with the advertisement of the encompassing
advertisement of the encompassing aggregate. In this situation the aggregate. In this situation the more specific routes are not
more specific routes are not automatically subsumed by the presence automatically subsumed by the presence of the aggregate at any remote
of the aggregate at any remote AS. Both the aggregate and the AS. Both the aggregate and the associated more specifics are
associated more specifics are redistributed across the entire redistributed across the entire external BGP routing domain. In many
external BGP routing domain. In many cases, particularly those cases, particularly those associated with desire to undertake traffic
associated with desire to undertake traffic engineering and service engineering and service resilience, the more specific routes are
resilience, the more specific routes are redistributed well beyond redistributed well beyond the scope where there is any outcomes in
the scope where there is any outcomes in terms of traffic terms of traffic differentiation.
differentiation.
To the extent that remote analysis of BGP tables can observe this To the extent that remote analysis of BGP tables can observe this
form of configuration, the number of entries in the BGP forwarding form of configuration, the number of entries in the BGP forwarding
table where more specific entries share a common origin AS with table where more specific entries share a common origin AS with their
their immediately enclosing aggregates comprise some 20% of the immediately enclosing aggregates comprise some 20% of the total
total number of FIB entries. Using a slightly stricter criteria number of FIB entries. Using a slightly stricter criteria where the
where the AS path of the more specific route matches the immediately AS path of the more specific route matches the immediately enclosing
enclosing aggregate, the number of more specific routes comprises aggregate, the number of more specific routes comprises some 14% of
some 14% of the number of FIB entries [3]. the number of FIB entries.
One protocol mechanism that could be useful in this context is to One protocol mechanism that could be useful in this context is to
allow the originator of an advertisement to state some additional allow the originator of an advertisement to state some additional
qualification on the redistribution of the advertisement, allowing a qualification on the redistribution of the advertisement, allowing a
remote AS to suppress further redistribution under some originator- remote AS to suppress further redistribution under some originator-
specified criteria. specified criteria.
The redistribution qualification condition can be specified either The redistribution qualification condition can be specified either by
by enumeration or by classification. Enumeration would encompass the enumeration or by classification. Enumeration would encompass the use
use of a well-known transitive extended community to specify a list of a well-known transitive extended community to specify a list of
of remote AS's where further redistribution is not advised. The remote AS's where further redistribution is not advised. The weakness
weakness of this approach is that the originating AS would need to of this approach is that the originating AS would need to constantly
constantly revise this enumerated AS list to reflect the changes in revise this enumerated AS list to reflect the changes in inter-AS
inter-AS topology, as, otherwise, the more specific routes would topology, as, otherwise, the more specific routes would leak beyond
leak beyond the intended redistribution scope. An approach of the intended redistribution scope. An approach of classification
classification allows an originating AS to specify the conditions allows an originating AS to specify the conditions where further
where further redistribution is not advised without having to refer redistribution is not advised without having to refer to the
to the particular AS's where a match to such conditions are particular AS's where a match to such conditions are anticipated.
anticipated.
The approach described here to specifying the redistribution The approach described here to specifying the redistribution boundary
boundary condition is one based on the type of bilateral inter-AS condition is one based on the type of bilateral inter-AS peering.
peering. Where one AS can be considered as a customer, and the other Where one AS can be considered as a customer, and the other AS can be
AS can be considered as a contracted agent of the customer, or considered as a contracted agent of the customer, or provider, then
provider, then the relationship is one where the provider, as an the relationship is one where the provider, as an agent of the
agent of the customer, carries the routes and associated policy customer, carries the routes and associated policy associated with
associated with the routes. Where neither AS can be considered as a the routes. Where neither AS can be considered as a customer of the
customer of the other, then the relationship is one of bilateral other, then the relationship is one of bilateral peering, and neither
peering, and neither AS can be considered as an agent of the other AS can be considered as an agent of the other in redistributing
in redistributing policies associated with routes. This latter policies associated with routes. This latter arrangement is commonly
arrangement is commonly referred to as a "sender keep all peer" referred to as a "sender keep all peer" relationship, or "peering".
relationship, or "peering". This peer boundary can be regarded as a This peer boundary can be regarded as a logical point where the
logical point where the redistribution of additional reachability redistribution of additional reachability policy imposed by the
policy imposed by the origin AS on a route is no longer an imposed origin AS on a route is no longer an imposed requirement.
requirement.
This approach allows an originator of a prefix to attach a commonly This approach allows an originator of a prefix to attach a commonly
defined policy to a route prefix, indicate that a route should be defined policy to a route prefix, indicate that a route should be
re-advertised conditionally, based on the characteristics of the re-advertised conditionally, based on the characteristics of the
inter-AS connection. inter-AS connection.
4. IANA considerations 4. IANA considerations
The IANA should register NOPEER as a new BGP well-known transitive The IANA should register NOPEER as a well-known community, as
community field. defined in [1], as having global significance.
NOPEER (0xFFFFFF04)
This is an advisory qualification to readvertisement of a route
prefix, permitting an AS not to readvertise the route prefix to all
external bilateral peer neighbour AS's. It is consistent with these
semantics that an AS may filter received prefixes that are received
across a peering session that the receiver regards as a bilateral
peer sessions
5. Security considerations 5. Security considerations
BGP is an instance of a relaying protocol, where route information BGP is an instance of a relaying protocol, where route information is
is received, processed and forwarded. BGP contains no specific received, processed and forwarded. BGP contains no specific
mechanisms to prevent the unauthorized modification of the mechanisms to prevent the unauthorized modification of the
information by a forwarding agent, allowing routing information to information by a forwarding agent, allowing routing information to be
be modified, deleted or false information to be inserted without the modified, deleted or false information to be inserted without the
knowledge of the originator of the routing information or any of the knowledge of the originator of the routing information or any of the
recipients. recipients.
The NOPEER community does not alter this overall situation The NOPEER community does not alter this overall situation concerning
concerning the integrity of BGP as a routing system. the integrity of BGP as a routing system.
Use of the NOPEER community has the capability to introduce Use of the NOPEER community has the capability to introduce
additional attack mechanisms into BGP by allowing the potential for additional attack mechanisms into BGP by allowing the potential for
man-in-the-middle, session-hijacking, or denial of service attacks man-in-the-middle, session-hijacking, or denial of service attacks
for an address prefix range being launched by a remote AS. for an address prefix range being launched by a remote AS.
Unauthorized addition of this community to a route prefix by a Unauthorized addition of this community to a route prefix by a
transit provider where there is no covering aggregate route prefix transit provider where there is no covering aggregate route prefix
may cause a denial of service attack based on denial of reachability may cause a denial of service attack based on denial of reachability
to the prefix. Even in the case that there is a covering aggregate, to the prefix. Even in the case that there is a covering aggregate,
if the more specific route has a different origin AS than the if the more specific route has a different origin AS than the
aggregate, the addition of this community by a transit AS may cause aggregate, the addition of this community by a transit AS may cause a
a denial of service attack on the origin AS of the more specific denial of service attack on the origin AS of the more specific
prefix. prefix.
BGP is already vulnerable to a denial of service attack based on the BGP is already vulnerable to a denial of service attack based on the
injection of false routing information. It is possible to use this injection of false routing information. It is possible to use this
community to limit the redistribution of a false route entry such community to limit the redistribution of a false route entry such
that its visibility can be limited and detection and rectification that its visibility can be limited and detection and rectification of
of the problem can be more difficult under the circumstances of the problem can be more difficult under the circumstances of limited
limited redistribution. redistribution.
References References
[1] "The Internet Standards Process -- Revision 3", S. Bradner, RFC Normative References:
2026, October 1996.
[2] "Commentary in Inter-Domain Routing in the Internet", G. Huston, [1] Chandrasekeran, R., Traina, P. and T. Li, "BGP Communities
RFC 3221, December 2001. Attribute", RFC 1997, August 1996.
[3] Analysis of BGP table data - http://bgp.potaroo.net INformative References:
[2] Huston, G., "Commentary on Inter-Domain Routing in the
Internet", RFC 3221, December 2001.
Author's Address Author's Address
Geoff Huston Geoff Huston
Telstra Telstra
Email: gih@telstra.net
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
 End of changes. 28 change blocks. 
130 lines changed or deleted 142 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/