| < draft-haberman-ipngwg-auto-prefix-00.txt | draft-haberman-ipngwg-auto-prefix-01.txt > | |||
|---|---|---|---|---|
| Individual Submission B. Haberman | Individual Submission B. Haberman | |||
| Internet Draft J. Martin | Internet Draft J. Martin | |||
| draft-haberman-ipngwg-auto-prefix-00.txt Nortel Networks | draft-haberman-ipngwg-auto-prefix-01.txt Nortel Networks | |||
| November 2000 | July 2001 | |||
| Automatic Prefix Delegation Protocol for | Automatic Prefix Delegation Protocol for | |||
| Internet Protocol Version 6 (IPv6) | Internet Protocol Version 6 (IPv6) | |||
| <draft-haberman-ipngwg-auto-prefix-00.txt> | <draft-haberman-ipngwg-auto-prefix-01.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. | 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 groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
| Drafts. Internet-Drafts are draft documents valid for a maximum of | Drafts. Internet-Drafts are draft documents valid for a maximum of | |||
| skipping to change at line 78 ¶ | skipping to change at line 78 ¶ | |||
| implement PD must be specified (in the appropriate document covering | implement PD must be specified (in the appropriate document covering | |||
| the operation of IP over a particular link type). | the operation of IP over a particular link type). | |||
| 2. Terminology | 2. Terminology | |||
| 2.1 General | 2.1 General | |||
| This document uses the terminology defined in [RFC 2460] and [RFC | This document uses the terminology defined in [RFC 2460] and [RFC | |||
| 2461] and in addition: | 2461] and in addition: | |||
| Requesting Router - The router that is requesting that a | - Requesting Router - The router that is requesting that a | |||
| prefix be assigned | prefix be assigned | |||
| Delegating Router - The router that is responding to the | - Delegating Router - The router that is responding to the | |||
| prefix request | prefix request | |||
| 2.2 Addresses | 2.2 Addresses | |||
| Prefix Delegation makes use of a number of different addresses | Prefix Delegation makes use of a number of different addresses | |||
| defined in [ADDR-ARCH], including: | defined in [ADDR-ARCH], including: | |||
| Global address - A unicast address having global scope | - Global address - A unicast address having global scope | |||
| 2.3 Requirements | 2.3 Requirements | |||
| 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 | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in | |||
| this document are to be interpreted as described in [RFC 2119]. | this document are to be interpreted as described in [RFC 2119]. | |||
| 3. Scope of Work | 3. Scope of Work | |||
| Haberman, Martin 2 | ||||
| This proposal is meant to give a singly homed leaf router the | This proposal is meant to give a singly homed leaf router the | |||
| ability to obtain an IPv6 prefix that can be used within its leaf | ability to obtain an IPv6 prefix that can be used within its leaf | |||
| Haberman, Martin 2 | ||||
| network. Future revisions of this document may support a more | network. Future revisions of this document may support a more | |||
| generic approach to dynamic prefix delegation. | generic approach to dynamic prefix delegation. | |||
| It is also assumed that the delegating server/router shares a | It is also assumed that the delegating server/router shares a | |||
| network connection with the requesting router. Future revisions may | network connection with the requesting router. Future revisions may | |||
| remove this restriction and allow for either multi-hop messages or a | remove this restriction and allow for either multi-hop messages or a | |||
| relay function. | relay function. | |||
| 4. Protocol Overview | 4. Protocol Overview | |||
| skipping to change at line 151 ¶ | skipping to change at line 150 ¶ | |||
| 4.2 Initial Request | 4.2 Initial Request | |||
| Once a Delegating Router is chosen, the Requestor sends a Prefix | Once a Delegating Router is chosen, the Requestor sends a Prefix | |||
| Request message of type Initial Request to the unicast IP address of | Request message of type Initial Request to the unicast IP address of | |||
| the Delegating Router. | the Delegating Router. | |||
| The Requestor may or may not have a Security Association with the | The Requestor may or may not have a Security Association with the | |||
| Delegating Router, however if Authentication is required and no SA | Delegating Router, however if Authentication is required and no SA | |||
| is present, the Delegator will reject the request with an error | is present, the Delegator will reject the request with an error | |||
| response indicating that Authentication is required. The Requestor | response indicating that Authentication is required. The Requestor | |||
| Haberman, Martin 3 | ||||
| then builds a Security Association with the Delegator and sends | then builds a Security Association with the Delegator and sends | |||
| another Initial Request including the SA information. | another Initial Request including the SA information. | |||
| Haberman, Martin 3 | ||||
| If no response is heard within Request Timeout seconds (Default: 5), | If no response is heard within Request Timeout seconds (Default: 5), | |||
| the Initial Request should be sent again, up to Max Initial Request | the Initial Request should be sent again, up to Max Initial Request | |||
| (Default: 3) tries. If no response is heard, a Delegator Query is | (Default: 3) tries. If no response is heard, a Delegator Query is | |||
| sent and the process restarted. If this cycle is repeated Max | sent and the process restarted. If this cycle is repeated Max | |||
| Delegation Attempts times (Default: 3), Prefix Delegation has | Delegation Attempts times (Default: 3), Prefix Delegation has | |||
| failed. | failed. | |||
| 4.3 Authentication and Authorization | 4.3 Authentication and Authorization | |||
| Upon receipt of the Prefix Request of any type, the Delegating | Upon receipt of the Prefix Request of any type, the Delegating | |||
| skipping to change at line 202 ¶ | skipping to change at line 202 ¶ | |||
| match is found, static routes are used. | match is found, static routes are used. | |||
| The Delegating Router then sends a Prefix Delegation message to the | The Delegating Router then sends a Prefix Delegation message to the | |||
| Requesting Router containing a code of Prefix Delegation and all of | Requesting Router containing a code of Prefix Delegation and all of | |||
| the prefix and routing information. The Delegating router then | the prefix and routing information. The Delegating router then | |||
| activates the negotiated protocol on the interface to which the | activates the negotiated protocol on the interface to which the | |||
| Requestor is attached. | Requestor is attached. | |||
| 4.5 Prefix Refresh | 4.5 Prefix Refresh | |||
| Haberman, Martin 4 | ||||
| All Prefix Delegations have a finite lifetime. Upon receiving a | All Prefix Delegations have a finite lifetime. Upon receiving a | |||
| Prefix Delegation, the requesting router initiates a timer such that | Prefix Delegation, the requesting router initiates a timer such that | |||
| before the lifetime is expired, the Requesting Router sends a Prefix | before the lifetime is expired, the Requesting Router sends a Prefix | |||
| Request with a Renewal Refresh code directly to the Delegating router. | Request with code=REFRESH directly to the Delegating router. | |||
| Haberman, Martin 4 | ||||
| If the Requestor receives no response within [RENEWAL TIMEOUT] | If the Requestor receives no response within [RENEWAL TIMEOUT] | |||
| seconds (Default: 5), the Renewal Request should be sent again, up | seconds (Default: 5), the Renewal Request should be sent again, up | |||
| to [MAX RENEWAL REQUEST] (Default: 3) tries. If no response is | to [MAX RENEWAL REQUEST] (Default: 3) tries. If no response is | |||
| heard the previously allocated prefix is not renewed. | heard the previously allocated prefix is not renewed. | |||
| A Requesting Router receiving the Prefix Unavailable code, or no | A Requesting Router receiving the Prefix Unavailable code, or no | |||
| response at all, has not had the prefix renewed. It will expire at | response at all, has not had the prefix renewed. It will expire at | |||
| the end of the initial lifetime. To acquire a new prefix, the | the end of the initial lifetime. To acquire a new prefix, the | |||
| Requesting Router must begin anew as described in Section 4.1. | Requesting Router must begin anew as described in Section 4.1. | |||
| skipping to change at line 254 ¶ | skipping to change at line 254 ¶ | |||
| The Prefix Request Message is sent to request, renew, or release a | The Prefix Request Message is sent to request, renew, or release a | |||
| prefix. | prefix. | |||
| Haberman, Martin 5 | Haberman, Martin 5 | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Code | Checksum | | | Type | Code | Checksum | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |S|Prefix Length| Routing Capabilities | Reserved | | |S|Prefix Length| Reserved | Routing Capabilities | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| + + | + + | |||
| | | | | | | |||
| + IPv6 Prefix + | + IPv6 Prefix + | |||
| | | | | | | |||
| + + | + + | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at line 300 ¶ | skipping to change at line 300 ¶ | |||
| Delegator Query (0) | Delegator Query (0) | |||
| The Delegator Query is used by the Requestor to | The Delegator Query is used by the Requestor to | |||
| identify potential Delegating Routers. It is sent to | identify potential Delegating Routers. It is sent to | |||
| the all-delegators link-local multicast address with no | the all-delegators link-local multicast address with no | |||
| Authentication Header. For this Query, the Scope field | Authentication Header. For this Query, the Scope field | |||
| is required. Unused fields MUST be set to zero. | is required. Unused fields MUST be set to zero. | |||
| Initial Request (1) | Initial Request (1) | |||
| The Initial Request is used to initiate the request | The Initial Request is used to initiate the request | |||
| process. It is sent to the unicast IP address of the | process. It is sent to the unicast IP address of the | |||
| Delegating Router, and may carry an Authentication | ||||
| Haberman, Martin 6 | Haberman, Martin 6 | |||
| Delegating Router, and may carry an Authentication | ||||
| Header. For this initial request, the Scope, Prefix | Header. For this initial request, the Scope, Prefix | |||
| Length, and Routing Capabilities fields are required. | Length, and Routing Capabilities fields are required. | |||
| Unused fields MUST be set to zero. | Unused fields MUST be set to zero. | |||
| Renewal Request (2) | Renewal Request (2) | |||
| The Renewal Request is used to renew a prefix that has | The Renewal Request is used to renew a prefix that has | |||
| been previously allocated. It is sent to a unicast IP | been previously allocated. It is sent to a unicast IP | |||
| address of the Delegating Router and may carry an | address of the Delegating Router and may carry an | |||
| Authentication Header. For the renewal, the Scope, | Authentication Header. For the renewal, the Scope, | |||
| Prefix Length, Routing Capabilities, and Prefix fields | Prefix Length, Routing Capabilities, and Prefix fields | |||
| skipping to change at line 370 ¶ | skipping to change at line 370 ¶ | |||
| The Prefix Delegation Messages are sent to provide the addresses of | The Prefix Delegation Messages are sent to provide the addresses of | |||
| available Prefix Delegators, to provide prefix and routing data, and | available Prefix Delegators, to provide prefix and routing data, and | |||
| for error returns. | for error returns. | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Code | Checksum | | | Type | Code | Checksum | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |S|Prefix Length| Lifetime | Rt Proto | | |S|Prefix Length| Rt Proto | Lifetime | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| + + | + + | |||
| | | | | | | |||
| + IPv6 Prefix + | + IPv6 Prefix + | |||
| | | | | | | |||
| + + | + + | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Rt Info Length | Rt Info . . . . | | Rt Info Length | Rt Info . . . . | |||
| skipping to change at line 457 ¶ | skipping to change at line 457 ¶ | |||
| all fields are required. | all fields are required. | |||
| Prefix Returned (5) | Prefix Returned (5) | |||
| The Prefix Return is used to confirm the return of a | The Prefix Return is used to confirm the return of a | |||
| prefix. It is sent to the unicast IP address in the | prefix. It is sent to the unicast IP address in the | |||
| Source Address portion of the Prefix Request packet. | Source Address portion of the Prefix Request packet. | |||
| For this message, the Prefix Length and IPv6 Prefix | For this message, the Prefix Length and IPv6 Prefix | |||
| fields are required. | fields are required. | |||
| Checksum | Checksum | |||
| The ICMP checksum. | ||||
| Haberman, Martin 9 | Haberman, Martin 9 | |||
| The ICMP checksum. | ||||
| Prefix Delegation Fields | Prefix Delegation Fields | |||
| S | S | |||
| A one bit Scope Flag. A value of zero (0) indicates that the | A one bit Scope Flag. A value of zero (0) indicates that the | |||
| response is for a prefix of Global Scope, a one (1) indicates | response is for a prefix of Global Scope, a one (1) indicates | |||
| site-local. | site-local. | |||
| Prefix Length | Prefix Length | |||
| The length of the prefix being provided. | The length of the prefix being provided. | |||
| Lifetime | ||||
| The time (in seconds) that the Requestor is permitted to use | ||||
| the allocated prefix. At the end of this period, the | ||||
| Delegator assumes control of the prefix. This lifetime can be | ||||
| extended through the renewal process. | ||||
| Rt Proto | Rt Proto | |||
| This field specifies the routing protocol in which the | This field specifies the routing protocol in which the | |||
| Requestor should participate. | Requestor should participate. | |||
| At this time, the only defined value is zero, for Static | At this time, the only defined value is zero, for Static | |||
| Routes. This is an area for further development of this | Routes. This is an area for further development of this | |||
| document. | document. | |||
| Lifetime | ||||
| The time (in seconds) that the Requestor is permitted to use | ||||
| the allocated prefix. At the end of this period, the | ||||
| Delegator assumes control of the prefix. This lifetime can be | ||||
| extended through the renewal process. | ||||
| IPv6 Prefix | IPv6 Prefix | |||
| The Prefix field is used to carry the assigned prefix. The | The Prefix field is used to carry the assigned prefix. The | |||
| host portion of the IP address MUST be padded with zeros. | host portion of the IP address MUST be padded with zeros. | |||
| Rt Info Length | Rt Info Length | |||
| The length, in octets, of the Routing Information field. At | The length, in octets, of the Routing Information field. At | |||
| this time, since Static is the only defined protocol; this | this time, since Static is the only defined protocol; this | |||
| field should have a value of zero. | field should have a value of zero. | |||
| Routing Information | Routing Information | |||
| skipping to change at line 507 ¶ | skipping to change at line 508 ¶ | |||
| This field will be described in later versions of this | This field will be described in later versions of this | |||
| document. At this time, since Static is the only defined | document. At this time, since Static is the only defined | |||
| protocol; this field should be zero length. | protocol; this field should be zero length. | |||
| 6. To Do's | 6. To Do's | |||
| - Additional security discussion | - Additional security discussion | |||
| - Expand routing protocol negotiation | - Expand routing protocol negotiation | |||
| - Multiple hops between requestor and delegator | - Multiple hops between requestor and delegator | |||
| Haberman, Martin 10 | ||||
| - Cascading delegations | - Cascading delegations | |||
| - Removal of leaf network restriction | - Removal of leaf network restriction | |||
| - Negotiation between routers | ||||
| - Spanning Tree rooted at delegator | ||||
| - DNS updates | ||||
| Haberman, Martin 10 | 7. Acknowledgements | |||
| 7. References | ||||
| We would like to acknowledge and thank Jun-ichiro itojun Hagino for | ||||
| his feedback and suggestions for this document. | ||||
| 8. References | ||||
| [RFC 2460] S. Deering and R. Hinden, "Internet Protocol, Version 6 | [RFC 2460] S. Deering and R. Hinden, "Internet Protocol, Version 6 | |||
| (IPv6) Specification", RFC 2460, December 1998. | (IPv6) Specification", RFC 2460, December 1998. | |||
| [RFC 2461] T. Narten, E. Nordmark, and W. Simpson, "Neighbor | [RFC 2461] T. Narten, E. Nordmark, and W. Simpson, "Neighbor | |||
| Discovery for IP Version 6 (IPv6)", RFC 2461, December | Discovery for IP Version 6 (IPv6)", RFC 2461, December | |||
| 1998. | 1998. | |||
| [RFC 2119] S. Bradner, "Key words for use in RFCs to Indicate | [RFC 2119] S. Bradner, "Key words for use in RFCs to Indicate | |||
| Requirement Levels", RFC 2119, BCP 14, March 1997. | Requirement Levels", RFC 2119, BCP 14, March 1997. | |||
| [RFC 2463] A. Conta and S. Deering, "Internet Control Message | [RFC 2463] A. Conta and S. Deering, "Internet Control Message | |||
| Protocol (ICMPv6) for the Internet Protocol Version 6 | Protocol (ICMPv6) for the Internet Protocol Version 6 | |||
| (IPv6) Specification", RFC 2463, December 1998. | (IPv6) Specification", RFC 2463, December 1998. | |||
| Authors' Addresses | Authors' Addresses | |||
| Brian Haberman | Brian Haberman | |||
| Nortel Networks | Nortel Networks | |||
| 4309 Emperor Blvd. | 300 Perimeter Park | |||
| Suite 200 | Morrisville, NC 27560 | |||
| Durham, NC 27703 | ||||
| Phone : 1-919-992-4439 | Phone : 1-919-905-7484 | |||
| Email : haberman@nortelnetworks.com | Email : haberman@nortelnetworks.com | |||
| Jim Martin | Jim Martin | |||
| Nortel Networks | Nortel Networks | |||
| 4401 Great America Parkway | 4401 Great America Parkway | |||
| Santa Clara, Ca 95054 | Santa Clara, Ca 95054 | |||
| Phone : 1-408-495-3792 | Phone : 1-408-495-3792 | |||
| Email : jrm@nortelnetworks.com | Email : jrm@nortelnetworks.com | |||
| End of changes. 25 change blocks. | ||||
| 29 lines changed or deleted | 38 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/ | ||||