diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
| commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
| tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1998.txt | |
| parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) | |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1998.txt')
| -rw-r--r-- | doc/rfc/rfc1998.txt | 507 | 
1 files changed, 507 insertions, 0 deletions
diff --git a/doc/rfc/rfc1998.txt b/doc/rfc/rfc1998.txt new file mode 100644 index 0000000..4a6254d --- /dev/null +++ b/doc/rfc/rfc1998.txt @@ -0,0 +1,507 @@ + + + + + + +Network Working Group                                            E. Chen +Request for Comments: 1998                                           MCI +Category: Informational                                         T. Bates +                                                           cisco Systems +                                                             August 1996 + + +             An Application of the BGP Community Attribute +                         in Multi-home Routing + + +Status of This Memo + +   This memo provides information for the Internet community.  This memo +   does not specify an Internet standard of any kind.  Distribution of +   this memo is unlimited. + +Abstract + +   This document presents an application of the BGP community attribute +   [2] in simplifying the implementation and configuration of routing +   policies in the multi-provider Internet. It shows how the community +   based configuration can be used to replace the AS-based customization +   of the BGP "LOCAL_PREF" attribute, a common method used today.  Not +   only does the technique presented simplifies configuration and +   management at the provider level, it also represents a paradigm shift +   in that it gives the potential for the customer to control its own +   routing policy with respect to its service provider, as well as +   providing the ability for policy configuration to be done at a prefix +   based granularity rather than the more common AS based granularity. + +1. Introduction + +   In the multi-provider Internet, it is common for a service subscriber +   (i.e., customer) to have more than one service provider, or to have +   arrangements for redundant connectivity to the global connected +   Internet. As discussed in [3], routing strategies in these cases +   usually require coordination between the service subscriber and its +   providers, which typically leads to customization of router +   configurations (e.g., BGP "LOCAL_PREF") not only by the subscriber, +   but also by its providers.  Due to the large number of customers a +   provider serves, customization of router configurations at the +   provider level may present management and scalability problems. + +   This document presents an application of the BGP community attribute +   in simplifying the implementation of routing strategies in the +   multi-provider Internet.  More specifically, the technique presented +   uses a community-based, rather than the common AS-based, + + + +Chen & Bates                 Informational                      [Page 1] + +RFC 1998                    Use of Community                 August 1996 + + +   configuration of the BGP "LOCAL_PREF". It essentially removes the +   need for customized configuration of the BGP "LOCAL_PREF" attribute +   at the provider level while maintaining the same level of routing +   functionality and flexibility. + +   It also represents a paradigm shift in that it gives the potential +   for the customer to control its own routing policy with respect to +   its service provider, as well as providing the ability for policy +   configuration to be done at a prefix based granularity rather than +   the more common AS based granularity in use today. + +2. AS-based Configuration and its Drawbacks + +   As discussed in [3], in today's multi-provider Internet, customized +   configuration of the BGP "LOCAL_PREF" attribute is often required to +   implement common routing strategies such as load-sharing or backup. +   There are two main reasons: + +     o Lack of available implementations and deployment of routing +       software that supports the "Destination Preference Attribute" +       (DPA) as specified in [4]. + +       DPA allows one to specify a globally transitive preference so +       that return traffic favors certain path. As discussed in [3], +       the attribute will be very useful in influencing route selection +       for routes with identical "LOCAL_PREF" and equal AS-path length. + +     o In the multi-provider Internet, it is common for a provider +       to assign higher BGP "LOCAL_PREF" values for routes from its +       customers than from other service providers. This practice +       provides some degree of protection for its customer routes, +       and it facilitates implementation of certain routing +       strategies.  It, however, also complicates other routing +       implementations such as backup arrangement, thus, requiring +       customized "LOCAL_PREF" configuration. + +   Figure 1 shows a typical case of a backup arrangement in the multi- +   provider Internet. In Figure 1, AS1 and AS2 are both providers, and +   AS3 and AS4 are customers of AS1 and AS2, respectively. AS3 has +   entered a bilateral agreement with AS4 to provide backup to each +   other.  That is, AS3 would use its direct link to AS4 to reach only +   AS4 in the normal circumstance, and for transit in the case of a +   failure between AS3 and AS1.  To realize this routing agreement, AS3 +   requests that its provider AS1 adjust its BGP "LOCAL_PREF" +   configuration so that AS1 reaches AS4 via AS2. + + + + + + +Chen & Bates                 Informational                      [Page 2] + +RFC 1998                    Use of Community                 August 1996 + + +                          +------+      +------+ +                          | AS1  |------| AS2  | +                          +------+      +------+ +                             |             | +                          +------+      +------+ +                          | AS3  |------|  AS4 | +                          +------+      +------+ + +                     Figure 1: Typical Backup Scenario + + +   Primarily due to scalability and management concerns, most providers +   only perform "LOCAL_PREF" customization based on ASs, not on IP +   prefixes.  If IP prefix-based "LOCAL_PREF" configuration is needed, a +   technique known as as the BGP AS-path manipulation can be used. +   However, it is currently only available in certain vendor's products. + +   There are several drawbacks with the the practice of AS-based BGP +   "LOCAL_PREF" configuration at the provider level: + +      o The implementation tends to less efficient due to the process +        of coordination and configuration.  More importantly, the +        process needs to be repeated each time a change (e.g., adding +        a new AS) occurs. + +      o The AS-based customization complicates router configuration +        and increases complexity of network operation. It has become +        a serious scalability issue for providers. + +      o It can not implement prefix-based configuration without the +        AS-path manipulation (i.e., using fake AS). + +      o Keeping configuration up-to-date is some times problematic. + +3. How the BGP Community Attribute Can Help + +3.1 Overview of the Community Attribute + +   The BGP community path attribute is an optional transitive attribute +   of variable length [1,2]. The attribute consists of a set of four +   octet values, each of which specify a community.  The community +   attribute values are encoded using an AS number in the first two +   octets, with the remaining two octets defined by the AS. As defined +   in [2], a community is a group of destinations (i.e. prefixes) that +   share some common attribute.  Each destination can belong to multiple +   communities.  All prefixes with the community attribute belong to the +   communities listed in the attribute. + + + + +Chen & Bates                 Informational                      [Page 3] + +RFC 1998                    Use of Community                 August 1996 + + +   The BGP community  allows one to group a set of prefixes and perform +   routing decisions based on the identity of the group. + +   The well-known communities NO_EXPORT (0xFFFFFF01) and NO_ADVERTISE +   (0xFFFFFF02) are intuitive,  and can be used for optimizing routing +   and for improving route aggregation. + +3.2 Community-based Configuration + +   With the BGP community attribute [2], a provider can now use +   community-based, rather than AS-based, configuration of BGP +   "LOCAL_PREF".  The provider first needs to coordinate with its +   customers a set of communities to be mapped to certain BGP +   "LOCAL_PREF" values.  The provider can then apply a uniform BGP +   configuration to all its customers that would capture routes with the +   community values, and set up the appropriate BGP "LOCAL_PREF" values +   accordingly.  A customer that requires customization in its provider +   BGP "LOCAL_PREF" configuration can simply send the appropriate +   community values in its routing announcements. + +   The major advantages of using this technique include: + +      o The customer has full control in the process, which makes a +        lot of sense as the customer is in a position to have better +        understanding about its own topology and routing policy +        requirement. + +      o The effect of route-based customization in BGP "LOCAL_PREF" +        configuration by providers can now be achieved, thus, removing +        the need of AS-Path manipulation in certain cases. + +      o It addresses the scalability issue facing providers as it +        distributes the configuration work to the customer that +        requires customization. + + + + + + + + + + + + + + + + + +Chen & Bates                 Informational                      [Page 4] + +RFC 1998                    Use of Community                 August 1996 + + +4. A Real-World Implementation Example + +   MCI currently makes heavy use of the BGP "LOCAL_PREF" attribute value +   as part of its routing policy configuration process.  Different BGP +   "LOCAL_PREF" values are assigned for routes from different sources. +   Table 1 details these values: + + +                  +-------------------------+------------+ +                  |        Category         | LOCAL_PREF | +                  +-------------------------+------------+ +                  |Customer Routes          |        100 | +                  |Customer backup Routes   |         90 | +                  |Other ISP Routes         |         80 | +                  |Customer-Provided backup |         70 | +                  +-------------------------+------------+ + +                    Table 1: Defined LOCAL_PREF Values + + +   Note: + +       o The value '100' is the default value used within our network +         configuration. + +       o In most cases, the MED attribute set by a customer is +         sufficient for customer backup routes (e.g., T1 backs up T3). +         However, in certain cases configuration of "LOCAL_PREF" will +         still be necessary until the BGP DPA attribute is available. + + +   To make use of the BGP community attribute, several community values +   (MCI's AS number: 3561 = 0x0DE9) have been defined that can be used +   by customers to tag routes so that the appropriate "LOCAL_PREF" +   values are configured. Table 2 lists the appropriate community +   attribute values (and the mappings of community to LOCAL_PREF): + +                    +---------------------+------------+ +                    |     community       | LOCAL_PREF | +                    +---------------------+------------+ +                    |3561:70 (0x0DE90046) |         70 | +                    |3561:80 (0x0DE90050) |         80 | +                    |3561:90 (0x0DE9005A) |         90 | +                    +---------------------+------------+ + +                 Table 2: Community to LOCAL_PREF Mapping + + + + + +Chen & Bates                 Informational                      [Page 5] + +RFC 1998                    Use of Community                 August 1996 + + +   A customer requiring MCI to configure BGP "LOCAL_PREF" values other +   than the default can tag their routes with the defined communities. +   The community values can be configured either based on an AS path +   list or an IP address access list. A cisco systems software specific +   configuration example is given in Appendix A to show how this can be +   achieved. + +   A uniform BGP configuration (see Appendix B, again cisco systems +   software specific) is applied by MCI to peers with customers that +   configure the appropriate "LOCAL_PREF" values based on the +   communities received. + +   This technique has been tested and is in use with several customers, +   and the response has been very positive. We are in the process of +   migrating all other customized BGP "LOCAL_PREF" configurations to +   this uniform community based configuration approach. + +5. References + +   [1] Rekhter, Y., and Li, T., "A Border Gateway Protocol 4 (BGP-4)", +       RFC 1771, March 1995. + +   [2] Chandra, R., Traina, P., and T. Li, "BGP Communities +       Attribute", RFC 1997, August 1996. + +   [3] Chen, E., and T. Bates, "Current Practice of Implementing +       Symmetric Routing and Load Sharing in the Multi-Provider +       Internet", Work in Progress. + +   [4] Chen, E., and T. Bates, "Destination Preference Attribute for +       BGP", Work in Progress. + +   [5] Chen, E., and T. Bates, "Application of the BGP Destination +       Preference Attribute in Implementing Symmetric Routing", +       Work in Progress. + +   [6] cisco systems, cisco IOS Software Version 10.3 Router Products +       Configuration Guide (Addendum), May 1995. + +6. Security Considerations + +   Security issues are not discussed in this memo. + +7. Acknowledgments + +   The authors would specifically like to thank Ravi Chandra, Tony Li +   and Paul Traina of cisco systems for devising and implementing the +   community attribute. + + + +Chen & Bates                 Informational                      [Page 6] + +RFC 1998                    Use of Community                 August 1996 + + +8. Authors' Addresses + +   Enke Chen +   MCI +   2100 Reston Parkway +   Reston, VA 22091 + +   Phone: +1 703 715 7087 +   EMail: enke@mci.net + + +   Tony Bates +   cisco Systems +   170 West Tasman Drive +   San Jose, CA 95134 + +   Phone: +1 408 527 2470 +   EMail: tbates@cisco.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Chen & Bates                 Informational                      [Page 7] + +RFC 1998                    Use of Community                 August 1996 + + +Appendix + +   These appendices list cisco systems software specific configuration +   examples for configuring communities, and for uniform route-map +   definition that sets up the appropriate "LOCAL_PREF" values based on +   the corresponding community values. These examples are given purely +   to show a working example of how the desired effect discussed in this +   document can be achieved. Please refer to [6] for more specific +   information on cisco configuration and syntax. + +Appendix A. Community Configuration + +   The community values can be configured either based upon an AS path +   list or based an IP address access list. Here is an example that +   includes both cases: + +   !! +   router bgp xxxx +   neighbor x.x.x.x remote-as 3561 +   neighbor x.x.x.x filter-list 20 out +   neighbor x.x.x.x route-map config-community out +   neighbor x.x.x.x send-community +   ! +   !!# match all +   ip as-path access-list 1 permit .* +   ! +   !!# list of customer ASs +   ip as-path access-list 20 permit ^$ +   ip as-path access-list 20 permit ^64700_ +   ip as-path access-list 20 deny .* +   ! +   !!# AS path based matching, backup for another ISPs customer +   ip as-path access-list 40 permit _64710_ +   ip as-path access-list 40 permit _64711_ +   ip as-path access-list 40 deny .* +   ! +   !!# route-map +   route-map config-community permit 10 +   match as-path 40 +   set community 0x0DE90046 +   route-map config-community permit 20 +   match as-path 1 +   ! + + + + + + + + +Chen & Bates                 Informational                      [Page 8] + +RFC 1998                    Use of Community                 August 1996 + + +   Note: The community can also be configured based on IP prefixes +   instead of AS numbers.  For example, + +   ! +   access-list 101 permit ip 192.160.154.0 0.0.0.0 255.255.255.0 0.0.0.0 +   ! +   route-map config-community permit 10 +   match ip address 101 +   set community 0x0DE90046 +   route-map config-community permit 20 +   match as-path 1 +   ! + +Appendix B. Uniform Route-map Configuration + +   Here is the uniform route-map that can be used for all BGP +   customers: + +   !!# routes primary via another ISP +   ip community-list 70 permit 0x0DE90046 +   ip community-list 70 deny +   ! +   !!# routes also homed to another ISP, but with DPA or +   !!# AS-path length as the tie-breaker +   ip community-list 80 permit 0x0DE90050 +   ip community-list 80 deny +   ! +   !!# customer backup routes +   ip community-list 90 permit 0x0DE9005A +   ip community-list 90 deny +   ! +   !!# the route-map applied to BGP customers +   route-map set-customer-local-pref permit 10 +   match community 70 +   set local-preference 70 +   route-map set-customer-local-pref permit 20 +   match community 80 +   set local-preference 80 +   route-map set-customer-local-pref permit 30 +   match community 90 +   set local-preference 90 +   route-map set-customer-local-pref permit 40 +   match as-path 1 +   set local-preference 100 +   ! + + + + + + +Chen & Bates                 Informational                      [Page 9] +  |