idnits 2.17.1 draft-ietf-idr-avoid-transition-02.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 15. -- Found old boilerplate from RFC 3978, Section 5.5 on line 248. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 219. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 226. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 232. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 5 longer pages, the longest (page 2) being 60 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 6 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. == There are 2 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Non-RFC (?) normative reference: ref. '2' ** Downref: Normative reference to an Informational RFC: RFC 3345 (ref. '3') ** Obsolete normative reference: RFC 2796 (ref. '4') (Obsoleted by RFC 4456) Summary: 8 errors (**), 0 flaws (~~), 5 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group E. Chen 3 Internet Draft S. Sangli 4 Expiration Date: December 2005 Cisco Systems 6 Avoid BGP Best Path Transitions from One External to Another 8 draft-ietf-idr-avoid-transition-02.txt 10 1. Status of this Memo 12 By submitting this Internet-Draft, each author represents that any 13 applicable patent or other IPR claims of which he or she is aware 14 have been or will be disclosed, and any of which he or she becomes 15 aware will be disclosed, in accordance with Section 6 of BCP 79. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 2. Abstract 35 In this document we propose a revision to the BGP route selection 36 rules that would avoid unnecessary best path transitions between 37 external paths under certain conditions. The proposed revision would 38 help the overall network stability, and more importantly, would 39 eliminate certain BGP route oscillations in which more than one 40 external paths from one router contribute to the churn. 42 3. Introduction 44 The last two steps of the BGP route selection (Sect. 9.1.2.2, [1]) 45 involve comparing the BGP identifiers and the peering addresses. The 46 BGP identifier, (treated either as an IP address, or just an integer 47 [2]) for a BGP speaker is allocated by the AS to which the speaker 48 belongs. As a result, for a local BGP speaker, the BGP identifier of 49 a route received from an external peer is just an random number. When 50 routes under consideration are from external peers, the result from 51 the last two steps of the route selection is therefore "random" as 52 far as the local BGP speaker is concerned. 54 It is based on this observation that we propose a revision to the BGP 55 route selection rules that would avoid unnecessary best path 56 transitions between external paths under certain conditions. The 57 proposed revision would help the overall network stability, and more 58 importantly, would eliminate certain BGP route oscillations in which 59 more than one external paths from one router contribute to the churn. 61 4. Specification of Requirements 63 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 64 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 65 document are to be interpreted as described in RFC 2119 [5]. 67 5. The Algorithm 69 Consider the case in which the existing best path A is from an 70 external peer, and another external path B is then selected as the 71 new best path by the route selection algorithm described in [1]. 72 When neither Path A nor Path B is eliminated by the route selection 73 algorithm prior to Step f) - BGP identifier comparison (Sect. 9.1.2.2 74 [1]), we propose that the existing best path (Path A) be kept as the 75 best path (thus avoiding switching the best path to Path B). 77 This algorithm SHOULD NOT be applied when either path is from a BGP 78 Confederation peer. 80 In addition, the algorithm SHOULD NOT be applied when both paths are 81 from peers with identical BGP identifier (i.e., there exist parallel 82 BGP sessions between two routers). As the peering addresses for the 83 parallel sessions are typically allocated by one AS (possibly with 84 route selection considerations), the algorithm (if applied) could 85 impact the existing routing setup. Furthermore, by not applying the 86 algorithm, the allocation of peering addresses would remain as a 87 simple and effective tool in influencing route selection when 88 parallel BGP sessions exist. 90 6. The Benefits 92 The proposed revision to the BGP route selection rules avoids 93 unnecessary best path transitions between external paths under 94 certain conditions. Clearly the revision would help reduce routing 95 and forwarding changes in a network, thus help the overall network 96 stabilities. 98 More importantly, as shown in the following example, the proposed 99 revision can be used to eliminate certain BGP route oscillations in 100 which more than one external paths from one router contribute to the 101 churn. Note however, that there are permanent BGP route oscillation 102 scenarios [3] that the mechanism described in this document does not 103 eliminate. 105 Consider the example in Fig. 1 where 107 o R1, R2, R3 and R4 belong to one AS 108 o R1 is a route reflector with R3 as its client. 109 o R2 is a route reflector with R4 as its client. 110 o The IGP metrics are as listed. 111 o External paths (a), (b) and (c) are as described in Fig. 2. 113 +----+ 40 +----+ 114 | R1 |--------------| R2 | 115 +----+ +----+ 116 | | 117 | | 118 | 10 | 10 119 | | 120 | | 121 +----+ +----+ 122 | R3 | | R4 | 123 +----+ +----+ 124 / \ | 125 / \ | 126 (a) (b) (c) 128 Figure 1 130 Path AS MED Identifier 131 a 1 0 2 132 b 2 20 1 133 c 2 10 5 135 Figure 2 137 Due to the interaction of route reflection [4] and MEDs, the best 138 path on R1 keeps churning between (a) and (c), and the best path on 139 R3 keeps churning between (a) and (b). 141 With the proposed algorithm R3 would not switch the best path from 142 (a) to (b) even after R1 withdraws (c) toward its clients, and that 143 is enough to stop the route oscillation. 145 Although this type of route oscillations can also be eliminated by 146 other route reflection enhancements being developed, the proposed 147 algorithm is very simple and can be deployed immediately. 149 7. Remarks 151 The proposed algorithm is backward-compatible, and can be deployed on 152 a per-node basis. The deployment of the algorithm is highly 153 recommended on a router with multiple external BGP peers (especially 154 the ones connecting to an inter-exchange point). 156 Compared to the existing behavior, the proposed algorithm may 157 introduce some "non-determinism" in the BGP route selection - 158 although one can argue that the BGP Identifier comparison in the 159 existing route selection has already introduced some "randomness" as 160 described in the introduction section. Such "non-determinism" or 161 "randomness" has not been shown to be detrimental in practice, and 162 can be completely eliminated by using the existing mechanisms (such 163 as setting LOCAL_PREF or MED) if so desired. 165 8. Security Considerations 167 This extension does not introduce any security issues. 169 9. Acknowledgments 171 The idea presented was inspired by a route oscillation case observed 172 on the BBN/Genuity backbone in 1998. The algorithm was also 173 implemented at that time. 175 The authors would like to thank Yakov Rekhter and Ravi Chandra for 176 their comments on the initial idea. 178 10. References 180 [1] Y. Rekhter, T. Li, and S. Hares, "A Border Gateway Protocol 4 181 (BGP-4)", draft-ietf-idr-bgp4-26.txt, October 2004. 183 [2] E. Chen and J. Yuan, "AS-wide Unique BGP Identifier for BGP-4", 184 , April 2005. 186 [3] D. McPherson, V, Gill, D. Walton, and A. Retana, "Border Gateway 187 Protocol (BGP) Persistent Route Oscillation Condition", RFC 3345, 188 August 2002. 190 [4] T. Bates, R. Chandra, and E. Chen, "BGP Route Reflection - An 191 Alternative to Full Mesh IBGP", RFC 2796, April 2000. 193 [5] Bradner, S., "Key words for use in RFCs to Indicate Requirement 194 Levels", BCP 14, RFC 2119, March 1997. 196 11. Author Information 198 Enke Chen 199 Cisco Systems, Inc. 200 170 W. Tasman Dr. 201 San Jose, CA 95134 202 e-mail: enkechen@cisco.com 204 Srihari R. Sangli 205 Cisco Systems, Inc. 206 170 W. Tasman Dr. 207 San Jose, CA 95134 208 e-mail: rsrihari@cisco.com 210 12. Intellectual Property Considerations 212 The IETF takes no position regarding the validity or scope of any 213 Intellectual Property Rights or other rights that might be claimed to 214 pertain to the implementation or use of the technology described in 215 this document or the extent to which any license under such rights 216 might or might not be available; nor does it represent that it has 217 made any independent effort to identify any such rights. Information 218 on the procedures with respect to rights in RFC documents can be 219 found in BCP 78 and BCP 79. 221 Copies of IPR disclosures made to the IETF Secretariat and any 222 assurances of licenses to be made available, or the result of an 223 attempt made to obtain a general license or permission for the use of 224 such proprietary rights by implementers or users of this 225 specification can be obtained from the IETF on-line IPR repository at 226 http://www.ietf.org/ipr. 228 The IETF invites any interested party to bring to its attention any 229 copyrights, patents or patent applications, or other proprietary 230 rights that may cover technology that may be required to implement 231 this standard. Please address the information to the IETF at ietf- 232 ipr@ietf.org. 234 13. Full Copyright Notice 236 Copyright (C) The Internet Society (2005). 238 This document is subject to the rights, licenses and restrictions 239 contained in BCP 78, and except as set forth therein, the authors 240 retain all their rights. 242 This document and the information contained herein are provided on an 243 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 244 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 245 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 246 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 247 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 248 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.