| < draft-ietf-ospf-af-alt-09.txt | draft-ietf-ospf-af-alt-10.txt > | |||
|---|---|---|---|---|
| Network Working Group A. Lindem (Editor) | Network Working Group A. Lindem (Editor) | |||
| Internet-Draft Ericsson | Internet-Draft Ericsson | |||
| Intended status: Standards Track S. Mirtorabi | Intended status: Standards Track S. Mirtorabi | |||
| Expires: May 21, 2010 A. Roy | Expires: June 18, 2010 A. Roy | |||
| M. Barnes | M. Barnes | |||
| Cisco Systems | Cisco Systems | |||
| R. Aggarwal | R. Aggarwal | |||
| Juniper Networks | Juniper Networks | |||
| November 17, 2009 | December 15, 2009 | |||
| Support of address families in OSPFv3 | Support of address families in OSPFv3 | |||
| draft-ietf-ospf-af-alt-09.txt | draft-ietf-ospf-af-alt-10.txt | |||
| Abstract | ||||
| This document describes a mechanism for supporting multiple address | ||||
| families in OSPFv3 using multiple instances. It maps an address | ||||
| family (AF) to an OSPFv3 instance using the Instance ID field in the | ||||
| OSPFv3 packet header. This approach is fairly simple and minimizes | ||||
| extensions to OSPFv3 for supporting multiple AFs. | ||||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF 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), 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. | Drafts. | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 45 ¶ | |||
| 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." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | 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. | |||
| This Internet-Draft will expire on May 21, 2010. | This Internet-Draft will expire on June 18, 2010. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2009 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 in effect on the date of | Provisions Relating to IETF Documents | |||
| publication of this document (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | ||||
| Abstract | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | ||||
| This document describes a mechanism for supporting multiple address | described in the BSD License. | |||
| families in OSPFv3 using multiple instances. It maps an address | ||||
| family (AF) to an OSPFv3 instance using the Instance ID field in the | ||||
| OSPFv3 packet header. This approach is fairly simple and minimizes | ||||
| extensions to OSPFv3 for supporting multiple AFs. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Design Considerations . . . . . . . . . . . . . . . . . . 3 | 1.1. Design Considerations . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Requirements notation . . . . . . . . . . . . . . . . . . 3 | 1.2. Requirements notation . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Protocol Details . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Protocol Details . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.1. Instance ID values for new AFs . . . . . . . . . . . . . . 4 | 2.1. Instance ID values for new AFs . . . . . . . . . . . . . . 4 | |||
| 2.2. OSPFv3 Options Changes . . . . . . . . . . . . . . . . . . 4 | 2.2. OSPFv3 Options Changes . . . . . . . . . . . . . . . . . . 4 | |||
| 2.3. Advertising Prefixes in new AFs . . . . . . . . . . . . . 5 | 2.3. Advertising Prefixes in AFs other than IPv6 . . . . . . . 5 | |||
| 2.4. Changes to the Hello processing . . . . . . . . . . . . . 5 | 2.4. Changes to the Hello processing . . . . . . . . . . . . . 5 | |||
| 2.5. Next hop for IPv4 unicast and multicast AFs . . . . . . . 5 | 2.5. Next-Hop Calculation for IPv4 unicast and multicast AFs . 6 | |||
| 2.6. AS External LSA Forwarding Address for IPv4 Unicast | 2.6. AS External LSA Forwarding Address for IPv4 Unicast | |||
| and IPv4 Multicast AFs . . . . . . . . . . . . . . . . . . 6 | and IPv4 Multicast AFs . . . . . . . . . . . . . . . . . . 6 | |||
| 2.7. Database Description Maximum Transmissoin Unit (MTU) | 2.7. Database Description Maximum Transmission Unit (MTU) | |||
| Specification for Non-IPv6 AFs . . . . . . . . . . . . . . 6 | Specification for Non-IPv6 AFs . . . . . . . . . . . . . . 6 | |||
| 2.8. Operation over Virtual Links . . . . . . . . . . . . . . . 9 | 2.8. Operation over Virtual Links . . . . . . . . . . . . . . . 8 | |||
| 3. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 10 | 3. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 6.1. Normative References . . . . . . . . . . . . . . . . . . . 14 | 6.1. Normative References . . . . . . . . . . . . . . . . . . . 13 | |||
| 6.2. Informative References . . . . . . . . . . . . . . . . . . 14 | 6.2. Informative References . . . . . . . . . . . . . . . . . . 13 | |||
| Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 15 | Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 14 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 1. Introduction | 1. Introduction | |||
| OSPFv3 [OSPFV3] has been defined to support the base IPv6 unicast | OSPFv3 [OSPFV3] has been defined to support the base IPv6 unicast | |||
| Address Family (AF). There are requirements to advertise other AFs | Address Family (AF). There are requirements to advertise other AFs | |||
| in OSPFv3 including multicast IPv6, unicast IPv4, and multicast IPv4. | in OSPFv3 including multicast IPv6, unicast IPv4, and multicast IPv4. | |||
| This document supports these other AFs in OSPFv3 by mapping each AF | This document supports these other AFs in OSPFv3 by mapping each AF | |||
| to a separate Instance ID and OSPFv3 instance. | to a separate Instance ID and OSPFv3 instance. | |||
| 1.1. Design Considerations | 1.1. Design Considerations | |||
| skipping to change at page 4, line 14 ¶ | skipping to change at page 4, line 14 ¶ | |||
| 2. Protocol Details | 2. Protocol Details | |||
| Currently the entire Instance ID number space is used for IPv6 | Currently the entire Instance ID number space is used for IPv6 | |||
| unicast. This specification assigns different Instance ID ranges to | unicast. This specification assigns different Instance ID ranges to | |||
| different AFs in order to support other AFs in OSPFv3. Each Instance | different AFs in order to support other AFs in OSPFv3. Each Instance | |||
| ID implies a separate OSPFv3 instance with its own neighbor | ID implies a separate OSPFv3 instance with its own neighbor | |||
| adjacencies, link state database, protocol data structures, and | adjacencies, link state database, protocol data structures, and | |||
| shortest path first (SPF) computation. | shortest path first (SPF) computation. | |||
| Additionally, the current LSAs that are defined to advertise IPv6 | Additionally, the current Link State Advertisements (LSAs) defined to | |||
| unicast prefixes can be used without any modifications to advertise | advertise IPv6 unicast prefixes can be used to advertise prefixes | |||
| prefixes from other AFs. | from other AFs without modification. | |||
| It should be noted that OSPFv3 is running on top of IPv6 and uses | It should be noted that OSPFv3 runs on top of IPv6 and uses IPv6 link | |||
| IPv6 link local addresses for OSPFv3 control packets. Therefore, it | local addresses for OSPFv3 control packets. Therefore, it is | |||
| is required that IPv6 be enabled on a link, although the link may not | required that IPv6 be enabled on an OSPFv3 link, although the link | |||
| be participating in any IPv6 AF. | may not be participating in any IPv6 AFs. | |||
| 2.1. Instance ID values for new AFs | 2.1. Instance ID values for new AFs | |||
| Instance ID zero is already defined by default for the IPv6 unicast | Instance ID zero is already defined by default for the IPv6 unicast | |||
| AF. We define the following ranges for different AFs. The first | AF. When this specification is used to support multiple AFs, we | |||
| value of each range is considered as the default value for the | define the following ranges for different AFs. The first value of | |||
| corresponding AF. | each range is the default value for the corresponding AF. | |||
| Instance ID # 0 - # 31 IPv6 unicast AF | Instance ID # 0 - # 31 IPv6 unicast AF | |||
| Instance ID # 32 - # 63 IPv6 multicast AF | Instance ID # 32 - # 63 IPv6 multicast AF | |||
| Instance ID # 64 - # 95 IPv4 unicast AF | Instance ID # 64 - # 95 IPv4 unicast AF | |||
| Instance ID # 96 - # 127 IPv4 multicast AF | Instance ID # 96 - # 127 IPv4 multicast AF | |||
| Instance ID # 128 - # 255 Unassigned | Instance ID # 128 - # 255 Unassigned | |||
| OSPFv3 Instance IDs | OSPFv3 Instance IDs | |||
| 2.2. OSPFv3 Options Changes | 2.2. OSPFv3 Options Changes | |||
| A new AF-bit is added to the OSPFv3 options field. V6-bit and MC-bit | A new AF-bit is added to the OSPFv3 options field. The V6-bit is | |||
| are only applicable to the IPv6 unicast AF. | only applicable to the IPv6 unicast AF. | |||
| 1 2 | 1 2 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+--+-+-+--+--+--+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+--+-+-+--+--+--+ | |||
| | | | | | | | | | | | | | | | |AF|*|*|DC|R|N|x | E|V6| | | | | | | | | | | | | | | | | |AF|*|*|DC|R|N|x | E|V6| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+--+-+-+--+--+--+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+--+-+-+--+--+--+ | |||
| The Options field | The Options field | |||
| OSPFv3 Options | OSPFv3 Options | |||
| V6-bit | V6-bit | |||
| The V6 bit is used in OSPFv3 to exclude a node from IPv6 unicast | The V6 bit is used in OSPFv3 to exclude a node from IPv6 unicast | |||
| route calculation but allow it in the SPF calculation for other | route calculation but allow it in the SPF calculation for other | |||
| address families. Since Instance ID now denotes the AF | address families. Since Instance ID now denotes the AF | |||
| explicitly, this bit is ignored in AFs other than IPv6 unicast. | explicitly, this bit is ignored in AFs other than IPv6 unicast. | |||
| AF-bit | AF-bit | |||
| When a router supports AF, it MUST set this new bit in the OSPFv3 | When an OSPFv3 router is supporting AFs as described in this | |||
| Options field of Hello Packets, DD packets, and LSAs. | specification, it MUST set the AF-bit in the OSPFv3 Options field | |||
| of Hello Packets, Database Description packets, and LSAs. | ||||
| 2.3. Advertising Prefixes in new AFs | 2.3. Advertising Prefixes in AFs other than IPv6 | |||
| Each Prefix defined in OSPFv3 has a prefix length field. This | Each Prefix defined in OSPFv3 has a prefix length field. This | |||
| facilitate advertising prefixes of different lengths in different | facilitates advertising prefixes of different lengths in different | |||
| AFs. The existing LSAs defined in OSPFv3 are used for this purpose | AFs. The existing LSAs defined in OSPFv3 are used for this purpose | |||
| and there is no need to define new LSAs. | and there is no need to define new LSAs. | |||
| Prefixes which don't match the AF of the OSPFv3 instance, MUST be | Prefixes which don't conform to OSPFv3 instance AF MUST be not be | |||
| discarded in any route computation. | used in the route computation for the instance. | |||
| 2.4. Changes to the Hello processing | 2.4. Changes to the Hello processing | |||
| When a router does not support an AF but it is configured with the | When an OSPFv3 router does not support this specification and it is | |||
| corresponding Instance ID packets could be black holed. This could | configured with the corresponding Instance ID, packets could be black | |||
| happen due to misconfiguration or a router software downgrade. Black | holed. This could happen due to misconfiguration or a router | |||
| holing is possible because the router which doesn't support the AF | software downgrade. Black holing is possible because the router | |||
| can still be included in the SPF calculated path as long as it | which doesn't support the AF can still be included in the SPF | |||
| establishes adjacencies using the Instance ID corresponding to the | calculated path as long as it establishes adjacencies using the | |||
| AF. Note that router and network LSAs are AF independent. | Instance ID corresponding to the AF. Note that Router-LSAs and | |||
| Network-LSAs are AF independent. | ||||
| In order to avoid the above situation, hello processing is changed in | In order to avoid the above situation, hello processing is changed in | |||
| order to only establish adjacencies with routers that have the AF-bit | order to only establish adjacencies with routers that have the AF-bit | |||
| set in their Options field. | set in their Options field. | |||
| Receiving Hello Packets is specified in section 3.2.2.1 of [OSPFV3]. | Receiving Hello Packets is specified in section 3.2.2.1 of [OSPFV3]. | |||
| The following check is added to Hello reception: | The following check is added to Hello reception: | |||
| o When a router participates in an AF (sets the AF-bit in Options | o When an OSPFv3 router participates in an AF (sets the AF-bit in | |||
| field) it MUST discard Hello packets having the AF-bit clear in | Options field), it MUST discard Hello packets having the AF-bit | |||
| the Options field. The only exception is the Base IPv6 unicast | clear in the Options field. The only exception is the Base IPv6 | |||
| AF, where this check MUST NOT be done (for backward | unicast AF, where this check MUST NOT be done (for backward | |||
| compatibility). | compatibility). | |||
| 2.5. Next hop for IPv4 unicast and multicast AFs | 2.5. Next-Hop Calculation for IPv4 unicast and multicast AFs | |||
| OSPFv3 runs on top of IPv6 and uses IPv6 link local addresses for | OSPFv3 runs on top of IPv6 and uses IPv6 link local addresses for | |||
| OSPFv3 control packets and next hop calculations. Although IPV6 link | OSPFv3 control packets and next-hop calculations. Although IPV6 link | |||
| local addresses could be used as next hops for IPv4 address families, | local addresses could be used as next-hops for IPv4 address families, | |||
| it is desirable to have IPv4 next hop addresses. For example, in | it is desirable to have IPv4 next-hop addresses. For example, in the | |||
| IPv4 multicast having the next hop address the same as the Protocol | IPv4 multicast AF, the Protocol Independent Multicast (PIM) [PIM] | |||
| Independent Multicast (PIM) [PIM] neighbor address (IPv4 address) | neighbor address and the next-hop address should both be IPv4 | |||
| makes it easier to determine which upstream neighbor to send a PIM | addresses in order for the Reverse Path Forwarding (RPF) lookup to | |||
| join when doing a Reverse Path Forwarding (RPF) lookup. It is also | work correctly. Troubleshooting is also easier when the prefix | |||
| easier for troubleshooting to have a next hop with the same AF. | address and next-hop address are in the same AF. | |||
| In order to achieve this, the link's IPv4 address will be advertised | In order to achieve this, the link's IPv4 address will be advertised | |||
| in the "link local address" field of the IPv4 instance's Link-LSA. | in the "link local address" field of the IPv4 instance's Link-LSA. | |||
| This address is placed in the first 32 bit of "link local address" | This address is placed in the first 32 bit of "link local address" | |||
| field and used for IPv4 next hop calculations. The remaining bits | field and is used for IPv4 next-hop calculations. The remaining bits | |||
| MUST be set to zero. | MUST be set to zero. | |||
| We call the direct interface address (DIA) the address that is | We call the direct interface address (DIA) the address that is | |||
| reachable directly via the link provided that a layer 3 to layer 2 | reachable directly via the link provided that a layer 3 to layer 2 | |||
| mapping is available. Note that there is no explicit need for the | mapping is available. Note that there is no explicit need for the | |||
| IPv4 link addresses to be on the same subnet. An implementation | IPv4 link addresses to be on the same subnet. An implementation | |||
| SHOULD resolve layer 3 to layer 2 mappings via Address Resolution | SHOULD resolve layer 3 to layer 2 mappings via Address Resolution | |||
| Protocol (ARP) [ARP] or Neighbor Discovery (ND) [ND] for a DIA even | Protocol (ARP) [ARP] or Neighbor Discovery (ND) [ND] for a DIA even | |||
| if the IPv4 address is not on the same subnet as the router's | if the IPv4 address is not on the same subnet as the router's | |||
| interface IP address. | interface IP address. | |||
| skipping to change at page 6, line 37 ¶ | skipping to change at page 6, line 43 ¶ | |||
| Multicast AFs | Multicast AFs | |||
| For OSPFv3, this address is an IPv6 host address (128 bits). If | For OSPFv3, this address is an IPv6 host address (128 bits). If | |||
| included, data traffic for the advertised destination will be | included, data traffic for the advertised destination will be | |||
| forwarded to this address. For IPv4 unicast and IPv4 multicast AFs, | forwarded to this address. For IPv4 unicast and IPv4 multicast AFs, | |||
| the Forwarding Address in AS-external-LSAs MUST encode an IPv4 | the Forwarding Address in AS-external-LSAs MUST encode an IPv4 | |||
| address. To achieve this, the IPv4 Forwarding Address is advertised | address. To achieve this, the IPv4 Forwarding Address is advertised | |||
| by placing it in the first 32 bits of the Forwarding Address field in | by placing it in the first 32 bits of the Forwarding Address field in | |||
| the AS-external-LSAs. The remaining bits MUST be set to zero. | the AS-external-LSAs. The remaining bits MUST be set to zero. | |||
| 2.7. Database Description Maximum Transmissoin Unit (MTU) | 2.7. Database Description Maximum Transmission Unit (MTU) | |||
| Specification for Non-IPv6 AFs | Specification for Non-IPv6 AFs | |||
| For address families other than IPv6, both the MTU for the address | For address families other than IPv6, both the MTU for the instance | |||
| family of the instance and IPv6 MTU used for OSPFv3 maximum packet | address family and IPv6 MTU used for OSPFv3 maximum packet | |||
| determination MUST be considered. The MTU in the Database | determination MUST be considered. The MTU in the Database | |||
| Description packet MUST always contain the MTU corresponding to the | Description packet MUST always contain the MTU corresponding to the | |||
| advertised address family. For example, if the instance corresponds | advertised address family. For example, if the instance corresponds | |||
| to an IPv4 address family, the IPv4 MTU for the interface MUST be | to an IPv4 address family, the IPv4 MTU for the interface MUST be | |||
| specified in the interface MTU field. As specified section 10.6 of | specified in the interface MTU field. As specified section 10.6 of | |||
| [OSPFV2], the Database Description packet will be rejected if the MTU | [OSPFV2], the Database Description packet will be rejected if the MTU | |||
| is greater than the receiving interface's MTU for the address family | is greater than the receiving interface's MTU for the address family | |||
| corresponding to the instance. This behavior will assure an | corresponding to the instance. This behavior will assure an | |||
| adjacency is not formed and address family specific routes are not | adjacency is not formed and address family specific routes are not | |||
| installed over a path with conflicting MTUs. | installed over a path with conflicting MTUs. | |||
| The value used for OSPFv3 maximum packet size determination MUST also | The value used for OSPFv3 maximum packet size determination MUST also | |||
| be compatible for an adjacency to be established. Since only a | be compatible for an adjacency to be established. Since only a | |||
| single MTU field is specified, the M6-bit is defined by this | single MTU field is specified, the M6-bit is defined by this | |||
| specification. If the M6-bit is clear, the specified MTU SHOULD also | specification. If the M6-bit is clear, the specified MTU SHOULD also | |||
| be checked against the IPv6 MTU and the Database Description packet | be checked against the IPv6 MTU and the Database Description packet | |||
| SHOULD be rejected if the MTU is larger than the receiving | SHOULD be rejected if the MTU is larger than the receiving | |||
| interface's IPv6 MTU. An OSPFv3 router SHOULD NOT set the M6-bit if | interface's IPv6 MTU. An OSPFv3 router SHOULD NOT set the M6-bit if | |||
| its IPv6 MTU and address family specific MTU are the same. | its IPv6 MTU and address family specific MTU are the same. | |||
| If the IPv6 and IPv4 MTUs differ, the M6-bit MUST be set for non-IPv6 | If the IPv6 and IPv4 MTUs differ, the M6-bit MUST be set for non-IPv6 | |||
| address families. If the M6-bit is set, the IPv6 MTU is decided by | address families. If the M6-bit is set, the IPv6 MTU is decided by | |||
| the presence or absense of IPv6 MTU TLV in the LLS [LLS] block. If | the presence or absence of an IPv6 MTU TLV in the LLS [LLS] block. | |||
| this TLV is present, it carries the IPv6 MTU which SHOULD be compared | If this TLV is present, it carries the IPv6 MTU that SHOULD be | |||
| with local IPv6 MTU. If this TLV is absent, the minimum IPv6 MTU of | compared with local IPv6 MTU. If this TLV is absent, the minimum | |||
| 1280 octets SHOULD be used for the comparison (refer to [IPV6]). | IPv6 MTU of 1280 octets SHOULD be used for the comparison (refer to | |||
| [IPV6]). | ||||
| If the M6-bit is set in a received Database Description packet for a | If the M6-bit is set in a received Database Description packet for a | |||
| non-IPv6 address family, the receiving router MUST NOT check the | non-IPv6 address family, the receiving router MUST NOT check the | |||
| Interface MTU in the Database Exchange packet against the receiving | Interface MTU in the Database Description packet against the | |||
| interface's IPv6 MTU. | receiving interface's IPv6 MTU. | |||
| The figure below graphically depicts the OSPFv3 Database Description | The figure below graphically depicts the changed fields in the octets | |||
| Packet: | 20-23 of the OSPFv3 Database Description Packet: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | |||
| | 3 | 2 | Packet Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | ||||
| | Router ID | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | ||||
| | Area ID | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | ||||
| | Checksum | Instance ID | 0 | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | ||||
| | 0 | Options | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | ||||
| | Interface MTU | 0 |0|0|0|M6|0|I|M|MS| | | Interface MTU | 0 |0|0|0|M6|0|I|M|MS| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | |||
| | DD sequence number | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | ||||
| | | | ||||
| +- -+ | ||||
| | | | ||||
| +- An LSA Header -+ | ||||
| | | | ||||
| +- -+ | ||||
| | | | ||||
| +- -+ | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+--+ | ||||
| | ... | | ||||
| The OSPFv3 Database Description Packet | OSPFv3 Database Description Packet Changes | |||
| The changed fields in the Database Description packet are described | The changed fields in the Database Description packet are described | |||
| below. The remaining fields are unchanged from [OSPFV3]. | below. The remaining fields are unchanged from [OSPFV3]. | |||
| Interface MTU | Interface MTU | |||
| The size in octets of the largest address-family specific datagram | The size in octets of the largest AF specific datagram that can be | |||
| that can be sent out the associated interface without | sent on the associated interface without fragmentation. The MTUs | |||
| fragmentation. The MTUs of common Internet link types can be | of common Internet link types can be found in Table 7-1 of | |||
| found in Table 7-1 of [MTUDISC]. Interface MTU SHOULD be set to 0 | [MTUDISC]. Interface MTU SHOULD be set to 0 in Database | |||
| in Database Description packets sent over virtual links. | Description packets sent over virtual links. | |||
| M6-bit | M6-bit | |||
| The IPv6 MTU bit - this bit indicates the sender is using a | The IPv6 MTU bit - this bit indicates the sender is using a | |||
| different IPv6 MTU than the MTU for the address family. | different IPv6 MTU than the MTU for the AF. | |||
| IPv6 MTU TLV can be optionally carried in LLS block as described | An IPv6 MTU TLV can be optionally carried in LLS block as described | |||
| above. This TLV carries the IPv6 MTU on the interface. The length | above. This TLV carries the IPv6 MTU for the interface. The length | |||
| field of of TLV is set to 4 bytes. | field of the TLV is set to 4 bytes. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 6 (TBD) | 4 | | | 6 (TBD) | 4 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 MTU | | | IPv6 MTU | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Format of IPv6 MTU TLV | Format of IPv6 MTU TLV | |||
| The IPv6 MTU TLV may appear in the LLS block only once. | Only one instance of the IPv6 MTU TLV MAY appear in the LLS block. | |||
| Instances subsequent to the first are not processed and the LLS | ||||
| inconsistency SHOULD be logged. | ||||
| 2.8. Operation over Virtual Links | 2.8. Operation over Virtual Links | |||
| OSPFv3 control packets sent over a virtual link are IPv6 packets and | OSPFv3 control packets sent over a virtual link are IPv6 packets and | |||
| may traverse multiples hops. Therefore, there MUST be a global IPv6 | may traverse multiples hops. Therefore, there MUST be a global IPv6 | |||
| address associated with the virtual link so that the control packet | address associated with the virtual link so that OSPFv3 control | |||
| is forwarded correctly by the intermediate hops between virtual link | packets are forwarded correctly by the intermediate hops between | |||
| endpoints. Although this requirement can be satisfied in IPv6 | virtual link endpoints. Although this requirement can be satisfied | |||
| unicast AFs, it will not function in other AFs as there will not be a | in IPv6 unicast AFs, it will not function in other AFs as there will | |||
| routable global IPv6 address or forwarding path. Therefore, virtual | not be a routable global IPv6 address or forwarding path. Therefore, | |||
| links are not supported in AFs other than IPv6 Unicast. | virtual links are not supported in AFs other than IPv6 Unicast. | |||
| 3. Backward Compatibility | 3. Backward Compatibility | |||
| All modifications to OSPFv3 apply exclusively to the support address | ||||
| families other than IPv6 unicast using multiple OSPFv3 instances as | ||||
| described in this specification. They are not applicable to IPv6 | ||||
| unicast topologies and do not preclude future single instance | ||||
| mechanisms for supporting multiple address families. | ||||
| In this section, we will define a non-capable OSPFv3 router as one | In this section, we will define a non-capable OSPFv3 router as one | |||
| not supporting this specification. Each new AF will have a | not supporting this specification. When multiple AFs are supported | |||
| corresponding Instance ID and can interoperate with the existing non- | as defined herein, each new AF will have a corresponding Instance ID | |||
| capable OSPFv3 routers in an IPv6 unicast topology. Furthermore, | and can interoperate with the existing non-capable OSPFv3 routers in | |||
| when a non-capable OSPFv3 router uses an Instance ID which is | an IPv6 unicast topology. Furthermore, when a non-capable OSPFv3 | |||
| reserved for a given AF, no adjacency will be formed with this router | router uses an Instance ID that is reserved for a given AF, no | |||
| since the AF-bit in the Options field will not be set in Hello | adjacency will be formed with this router since the AF-bit in the | |||
| packets. Therefore, there are no backward compatibility issues. AFs | Options field will be clear in its OSPFv3 Hello packets. Therefore, | |||
| can be gradually deployed without disturbing networks with non- | there are no backward compatibility issues. AFs can be gradually | |||
| capable OSPFv3 routers. | deployed without disturbing OSPFv3 routing domains with non-capable | |||
| OSPFv3 routers. | ||||
| 4. Security Considerations | 4. Security Considerations | |||
| IPsec [IPsec] can be used for OSPFv3 authentication and | IPsec [IPsec] can be used for OSPFv3 authentication and | |||
| confidentiality as described in [OSPFV3-AUTH]. When multiple OSPFv3 | confidentiality as described in [OSPFV3-AUTH]. When multiple OSPFv3 | |||
| instances use the same interface, they all MUST use the same Security | instances use the same interface, they all MUST use the same Security | |||
| Association (SA), since the SA selectors do not provide selection | Association (SA), since the SA selectors do not provide selection | |||
| based on OSPFv3 header fields such as the instance ID. This | based on OSPFv3 header fields, such as the Instance ID. This | |||
| restriction is documented in section 8 of [OSPFV3-AUTH]. | restriction is documented in section 8 of [OSPFV3-AUTH]. | |||
| Security considerations for the OSPFv3 are covered in [OSPFV3]. | Security considerations for the OSPFv3 are covered in [OSPFV3]. | |||
| 5. IANA Considerations | 5. IANA Considerations | |||
| The following IANA assignments are to be made from existing | The following IANA assignments are to be made from existing | |||
| registries: | registries: | |||
| The AF-bit is assigned from OSPFv3 Options field as defined in | The AF-bit is assigned from OSPFv3 Options field as defined in | |||
| Section 2.2. | Section 2.2. | |||
| IANA is requested to create a new registry, "OSPFv3 Instance ID | IANA is requested to create a new registry, "OSPFv3 Instance ID | |||
| Address Family Values". for assignment of address families. Note | Address Family Values", for assignment of the mapping of OSPFv3 | |||
| that the Instance ID MAY be used for applications other than the | Instance ID to address families when this specification is used to | |||
| support of multiple address families. However, if it is being used | support multiple address families. Note that the Instance ID field | |||
| for address families the assignments herein SHOULD be honored. | MAY be used for applications other than the support of multiple | |||
| address families. However, if it is being used for address families | ||||
| as described in this specification, the assignments herein SHOULD be | ||||
| honored. | ||||
| +-------------+----------------------+--------------------+ | +-------------+----------------------+--------------------+ | |||
| | Value/Range | Designation | Assignment Policy | | | Value/Range | Designation | Assignment Policy | | |||
| +-------------+----------------------+--------------------+ | +-------------+----------------------+--------------------+ | |||
| | 0 | Base IPv6 Unicast AF | Already assigned | | | 0 | Base IPv6 Unicast AF | Already assigned | | |||
| | | | | | | | | | | |||
| | 1-31 | IPv6 Unicast AFs | Already assigned | | | 1-31 | IPv6 Unicast AFs | Already assigned | | |||
| | | dependent on local | | | | | dependent on local | | | |||
| | | policy | | | | | policy | | | |||
| | | | | | | | | | | |||
| skipping to change at page 15, line 10 ¶ | skipping to change at page 14, line 10 ¶ | |||
| [PIM] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, | [PIM] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, | |||
| "Protocol Independent Multicast - Sparse Mode (PIM-SM): | "Protocol Independent Multicast - Sparse Mode (PIM-SM): | |||
| Protocol Specification (Revised)", RFC 4601, August 2006. | Protocol Specification (Revised)", RFC 4601, August 2006. | |||
| Appendix A. Acknowledgments | Appendix A. Acknowledgments | |||
| The RFC text was produced using Marshall Rose's xml2rfc tool. | The RFC text was produced using Marshall Rose's xml2rfc tool. | |||
| Thanks to Tom Henderson and the folks at Boeing for implementing in | Thanks to Tom Henderson and the folks at Boeing for implementing in | |||
| quagga. | the Quagga routing suite, http:www.quagga.net. | |||
| Thanks to Nischal Sheth for review and comments. | Thanks to Nischal Sheth for review and comments. | |||
| Thanks to Christian Vogt for comments during the Gen-ART review. | ||||
| Thanks to Adrian Farrel for comments during the IESG review. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Acee Lindem | Acee Lindem | |||
| Ericsson | Ericsson | |||
| 102 Carric Bend Court | 102 Carric Bend Court | |||
| Cary, NC 27519 | Cary, NC 27519 | |||
| USA | USA | |||
| Email: acee.lindem@ericsson.com | Email: acee.lindem@ericsson.com | |||
| End of changes. 42 change blocks. | ||||
| 133 lines changed or deleted | 134 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/ | ||||