| < draft-ietf-idr-as0-03.txt | draft-ietf-idr-as0-04.txt > | |||
|---|---|---|---|---|
| idr W. Kumari | idr W. Kumari | |||
| Internet-Draft Google | Internet-Draft Google | |||
| Intended status: Standards Track R. Bush | Updates: 4271 (if approved) R. Bush | |||
| Expires: July 19, 2012 Internet Initiative Japan | Intended status: Standards Track Internet Initiative Japan | |||
| H. Schiller | Expires: November 8, 2012 H. Schiller | |||
| Verizon | Verizon | |||
| K. Patel | K. Patel | |||
| Cisco Systems | Cisco Systems | |||
| January 16, 2012 | May 7, 2012 | |||
| Codification of AS 0 processing. | Codification of AS 0 processing. | |||
| draft-ietf-idr-as0-03 | draft-ietf-idr-as0-04 | |||
| Abstract | Abstract | |||
| This document proscribes the use of AS 0 in BGP OPEN and AS_PATH / | This document updates RFC 4271 and proscribes the use of AS 0 in BGP | |||
| AS4_PATH BGP attribute. | OPEN and AS_PATH / AS4_PATH BGP attribute. | |||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on July 19, 2012. | This Internet-Draft will expire on November 8, 2012. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2012 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 3, line 11 ¶ | skipping to change at page 3, line 11 ¶ | |||
| 6.2. Informative References . . . . . . . . . . . . . . . . . . 5 | 6.2. Informative References . . . . . . . . . . . . . . . . . . 5 | |||
| Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . . 5 | Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . . 5 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 1. Introduction | 1. Introduction | |||
| Autonomous System 0 is listed in the IANA Autonomous System Number | Autonomous System 0 is listed in the IANA Autonomous System Number | |||
| Registry as "Reserved - May be use to identify non-routed networks" | Registry as "Reserved - May be use to identify non-routed networks" | |||
| ([IANA.AS_Numbers]). | ([IANA.AS_Numbers]). | |||
| [I-D.ietf-sidr-iana-objects] specifies that AS number zero in a ROA | [RFC6491] specifies that AS number zero in a ROA is used to mark an | |||
| is used to mark an NLRI which is to be marked as Invalid. | NLRI which is to be marked as Invalid. | |||
| No clear statement that AS 0 was proscribed could be found in any BGP | No clear statement that AS 0 was proscribed could be found in any BGP | |||
| specification. | specification. | |||
| As at least two implementations discard routes containing AS 0 (and | As at least two implementations discard routes containing AS 0, and | |||
| to allow approaches such as the above) this document codifies this | to allow approaches such as the above, this document codifies this | |||
| behavior. | behavior. | |||
| 1.1. Requirements notation | 1.1. Requirements notation | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 2. Behavior | 2. Behavior | |||
| A BGP speaker MUST NOT originate or propagate a route with an AS | A BGP speaker MUST NOT originate or propagate a route with an AS | |||
| number of zero in the AS_PATH, AS4_PATH, AGGREGATOR or AS4_AGGREGATOR | number of zero in the AS_PATH, AS4_PATH, AGGREGATOR or AS4_AGGREGATOR | |||
| attributes. | attributes. | |||
| An UPDATE message that contains the AS number of zero in the AS_PATH | An UPDATE message that contains the AS number of zero in the AS_PATH | |||
| or AS4_PATH attribute MUST be considered as malformed, and be handled | or AGGREGATOR attribute MUST be considered as malformed, and be | |||
| by the procedures specified in [I-D.ietf-idr-error-handling]. | handled by the procedures specified in [I-D.ietf-idr-error-handling]. | |||
| An UPDATE message that contains the AS number of zero in the | An UPDATE message that contains the AS number of zero in the AS4_PATH | |||
| AGGREGATOR or AS4_AGGREGATOR attribute MUST be considered as | or AS4_AGGREGATOR attribute MUST be considered as malformed, and be | |||
| malformed, and be handled by the procedures specified in | handled by the procedures specified in [I-D.ietf-idr-rfc4893bis]. | |||
| [I-D.ietf-idr-rfc4893bis]. | ||||
| If a BGP speaker receives zero as the peer AS in an OPEN message, it | If a BGP speaker receives zero as the peer AS in an OPEN message, it | |||
| MUST abort the connection and send a NOTIFICATION with Error Code | MUST abort the connection and send a NOTIFICATION with Error Code | |||
| "OPEN Message Error" and subcode "Bad Peer AS" (see [RFC4271] Section | "OPEN Message Error" and subcode "Bad Peer AS" (see [RFC4271] Section | |||
| 6.2). A router MUST NOT initiate a connection claiming to be AS | 6.2). A router MUST NOT initiate a connection claiming to be AS | |||
| number zero. | number zero. | |||
| Authors of future protocol extensions that carry the Autonomous | Authors of future protocol extensions that carry the Autonomous | |||
| System number are encouraged keep in mind that AS number zero is | System number are encouraged keep in mind that AS number zero is | |||
| reserved and to provide clear direction on how to handle AS number | reserved and to provide clear direction on how to handle AS number | |||
| zero. | zero. | |||
| 3. IANA Considerations | 3. IANA Considerations | |||
| The IANA is requested to update the Reference for number 0 in the | The IANA is requested to update the Reference for number 0 in the | |||
| "Autonomous System (AS) Numbers" registry to reference this document. | "Autonomous System (AS) Numbers" registry to reference this document. | |||
| 4. Security Considerations | 4. Security Considerations | |||
| By allowing resource holders to say that AS 0 is the only valid | By allowing a RPKI resource holder to issue a ROA saying that AS 0 is | |||
| origin for a route, we allow them to state that a particular address | the only valid origin for a route, we allow them to state that a | |||
| resource is not in use. By ensuring that all implementations that | particular address resource is not in use. By ensuring that all | |||
| see AS 0 in a route ignore that route, we prevent a malicious party | implementations that see AS 0 in a route ignore that route, we | |||
| from announcing routes containing AS 0 in an attempt to hijack those | prevent a malicious party from announcing routes containing AS 0 in | |||
| resources. | an attempt to hijack those resources. | |||
| In addition, by standardizing the behavior upon reception of an | In addition, by standardizing the behavior upon reception of an | |||
| AS_PATH (or AS4_PATH) containing AS 0, this document makes the | AS_PATH (or AS4_PATH) containing AS 0, this document makes the | |||
| behavior better defined, and security gotchas often lurk in the | behavior better defined, and security gotchas often lurk in the | |||
| undefined spaces. | undefined spaces. | |||
| 5. Acknowledgements | 5. Acknowledgements | |||
| The authors wish to thank Enke Chen, Brian Dickson, Bruno Decraene, | The authors wish to thank Enke Chen, Brian Dickson, Bruno Decraene, | |||
| Robert Raszuk, Jakob Heitz, Danny McPherson, Chris Morrow, iLya, John | Robert Raszuk, Jakob Heitz, Danny McPherson, Chris Morrow, iLya, John | |||
| Scudder, Jeff Tantsura, Daniel Ginsburg and Susan Hares. Apologies | Scudder, Jeff Tantsura, Daniel Ginsburg and Susan Hares. Apologies | |||
| to those we may have missed, it was not intentional. | to those we may have missed, it was not intentional. | |||
| 6. References | 6. References | |||
| 6.1. Normative References | 6.1. Normative References | |||
| [I-D.ietf-idr-error-handling] | [I-D.ietf-idr-error-handling] | |||
| Scudder, J., Chen, E., Mohapatra, P., and K. Patel, | Scudder, J., Chen, E., Mohapatra, P., and K. Patel, | |||
| "Revised Error Handling for BGP UPDATE Messages", | "Revised Error Handling for BGP UPDATE Messages", | |||
| draft-ietf-idr-error-handling-00 (work in progress), | draft-ietf-idr-error-handling-01 (work in progress), | |||
| November 2011. | December 2011. | |||
| [I-D.ietf-idr-rfc4893bis] | [I-D.ietf-idr-rfc4893bis] | |||
| Vohra, Q. and E. Chen, "BGP Support for Four-octet AS | Vohra, Q. and E. Chen, "BGP Support for Four-octet AS | |||
| Number Space", draft-ietf-idr-rfc4893bis-04 (work in | Number Space", draft-ietf-idr-rfc4893bis-06 (work in | |||
| progress), July 2011. | progress), April 2012. | |||
| [IANA.AS_Numbers] | [IANA.AS_Numbers] | |||
| IANA, "Autonomous System (AS) Numbers", | IANA, "Autonomous System (AS) Numbers", | |||
| <http://www.iana.org/assignments/as-numbers>. | <http://www.iana.org/assignments/as-numbers>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway | [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway | |||
| Protocol 4 (BGP-4)", RFC 4271, January 2006. | Protocol 4 (BGP-4)", RFC 4271, January 2006. | |||
| 6.2. Informative References | 6.2. Informative References | |||
| [I-D.ietf-sidr-iana-objects] | [RFC6491] Manderson, T., Vegoda, L., and S. Kent, "Resource Public | |||
| Manderson, T., Vegoda, L., and S. Kent, "RPKI Objects | Key Infrastructure (RPKI) Objects Issued by IANA", | |||
| issued by IANA", draft-ietf-sidr-iana-objects-03 (work in | RFC 6491, February 2012. | |||
| progress), May 2011. | ||||
| Appendix A. Changes / Author Notes. | Appendix A. Changes / Author Notes. | |||
| [RFC Editor: Please remove this section before publication ] | [RFC Editor: Please remove this section before publication ] | |||
| Draft accepted as IDR Doc, notes reset. Please see notes for | Draft accepted as IDR Doc, notes reset. Please see notes for | |||
| draft-wkumari-idr-as0.xml for prior comments. | draft-wkumari-idr-as0.xml for prior comments. | |||
| Changes -00. | Changes -00. | |||
| o Added AS4_PATH -- Robert Raszuk. | o Added AS4_PATH -- Robert Raszuk. | |||
| o Change "bgp listener" to "bgp speaker" -- Enke Chen | o Change "bgp listener" to "bgp speaker" -- Enke Chen | |||
| o Consistent use of AS_PATH (v., AS-PATH and AS PATH) -- Danny | o Consistent use of AS_PATH (v., AS-PATH and AS PATH) -- Danny | |||
| McPherson | McPherson | |||
| o New text for Sec 2 P1 -- Enke / Keyur / Scudder, | o New text for Sec 2 P1 -- Enke / Keyur / Scudder, | |||
| http://www.ietf.org/mail-archive/web/idr/current/msg05786.html | http://www.ietf.org/mail-archive/web/idr/current/msg05786.html | |||
| o I made a boo boo -- I had the file open in 2 editors, made changes | o I made a boo boo -- I had the file open in 2 editors, made changes | |||
| in one and overwrote them by saving on the other, then checked the | in one and overwrote them by saving on the "other, then checked | |||
| broken one into SVN. Apologies to all whose comments I may have | the broken one into SVN. Apologies to all whose comments I may | |||
| missed... | have missed... | |||
| Changes -01 | Changes -01 | |||
| o The WG thread | o The WG thread | |||
| http://www.ietf.org/mail-archive/web/idr/current/msg05685.html | http://www.ietf.org/mail-archive/web/idr/current/msg05685.html | |||
| showed a very strong preference for separating the error | showed a very strong preference for separating the error | |||
| definition and handling -- the chairs also showed a prefernce to | definition and handling -- the chairs also showed a prefernce to | |||
| Publish this and point to the error handling that Enke will write. | Publish this and point to the error handling that Enke will write. | |||
| o The originally suggested text ("An UPDATE message that contains | o The originally suggested text ("An UPDATE message that contains | |||
| the AS number of zero in the AS-PATH attribute MUST be...") only | the AS number of zero in the AS-PATH attribute MUST be...") only | |||
| referenced the AS-PATH, readded AS4_PATH, *AGGREGATOR as suggested | referenced the AS-PATH, readded AS4_PATH, *AGGREGATOR as suggested | |||
| by Robert Raszak and Danny. | by Robert Raszak and Danny. | |||
| Changes -02 | Changes -02 | |||
| o Fixed the reference for *AGGREGATOR. This required breaking it | o Fixed the reference for *AGGREGATOR. This required breaking it | |||
| out into two sentences / clauses. | out into two sentences / clauses. | |||
| o Added text on other places where an AS can show up (e.g: "4-Octet | o Added text on other places where an AS can show up (e.g: "4-Octet | |||
| AS specific Extended Community" [RFC5668]) -- thanks to Keyur. | AS specific Extended Community" [5668]) -- thanks to Keyur. | |||
| Changes - 03 | Changes - 03 | |||
| o Removed text on other places where an AS can show up (e.g: | o Removed text on other places where an AS can show up (e.g: | |||
| "4-Octet AS specific Extended Community" [RFC5668]). | "4-Octet AS specific Extended Community" [5668]). | |||
| o Added *very* generic "Authors of future protocol extensions..." | o Added *very* generic "Authors of future protocol extensions..." | |||
| text | text | |||
| Changes -04 | ||||
| o Looks like the draft needs an 'Updates: RFC 4271' header. Can you | ||||
| make the change? -- JGS. | ||||
| o "You have things a bit scrambled in these two paragraphs" -- JGS | ||||
| (whoops!). | ||||
| o Editorial: I suggest dropping the parentheses in... JGS. | ||||
| o Added "This document updates rfc 4271" to keep IDNITs happy... | ||||
| o Bumped refs: draft-ietf-sidr-iana-objects has been published as | ||||
| RFC 6491, idr-error is now -01, 4893bis is now -06 | ||||
| Authors' Addresses | Authors' Addresses | |||
| Warren Kumari | Warren Kumari | |||
| 1600 Amphitheatre Parkway | 1600 Amphitheatre Parkway | |||
| Mountain View, CA 94043 | Mountain View, CA 94043 | |||
| US | US | |||
| Email: warren@kumari.net | Email: warren@kumari.net | |||
| End of changes. 17 change blocks. | ||||
| 37 lines changed or deleted | 46 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||