📄 rfc2740.txt
字号:
Network Working Group R. ColtunRequests for Comments: 2740 Siara SystemsCategory: Standards Track D. Ferguson Juniper Networks J. Moy Sycamore Networks December 1999 OSPF for IPv6Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.Copyright Notice Copyright (C) The Internet Society (1999). All Rights Reserved.Abstract This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, DR election, area support, SPF calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. Changes between OSPF for IPv4 and this document include the following. Addressing semantics have been removed from OSPF packets and the basic LSAs. New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per-link basis, instead of on a per-IP-subnet basis. Flooding scope for LSAs has been generalized. Authentication has been removed from the OSPF protocol itself, instead relying on IPv6's Authentication Header and Encapsulating Security Payload. Most packets in OSPF for IPv6 are almost as compact as those in OSPF for IPv4, even with the larger IPv6 addresses. Most field-XSand packet-size limitations present in OSPF for IPv4 have been relaxed. In addition, option handling has been made more flexible.Coltun, et al. Standards Track [Page 1]RFC 2740 OSPF for IPv6 December 1999 All of OSPF for IPv4's optional capabilities, including on-demand circuit support, NSSA areas, and the multicast extensions to OSPF (MOSPF) are also supported in OSPF for IPv6.Table of Contents 1 Introduction ........................................... 4 1.1 Terminology ............................................ 4 2 Differences from OSPF for IPv4 ......................... 4 2.1 Protocol processing per-link, not per-subnet ........... 5 2.2 Removal of addressing semantics ........................ 5 2.3 Addition of Flooding scope ............................. 5 2.4 Explicit support for multiple instances per link ....... 6 2.5 Use of link-local addresses ............................ 6 2.6 Authentication changes ................................. 7 2.7 Packet format changes .................................. 7 2.8 LSA format changes ..................................... 8 2.9 Handling unknown LSA types ............................ 10 2.10 Stub area support ..................................... 10 2.11 Identifying neighbors by Router ID .................... 11 3 Implementation details ................................ 11 3.1 Protocol data structures .............................. 12 3.1.1 The Area Data structure ............................... 13 3.1.2 The Interface Data structure .......................... 13 3.1.3 The Neighbor Data Structure ........................... 14 3.2 Protocol Packet Processing ............................ 15 3.2.1 Sending protocol packets .............................. 15 3.2.1.1 Sending Hello packets ................................. 16 3.2.1.2 Sending Database Description Packets .................. 17 3.2.2 Receiving protocol packets ............................ 17 3.2.2.1 Receiving Hello Packets ............................... 19 3.3 The Routing table Structure ........................... 19 3.3.1 Routing table lookup .................................. 20 3.4 Link State Advertisements ............................. 20 3.4.1 The LSA Header ........................................ 21 3.4.2 The link-state database ............................... 22 3.4.3 Originating LSAs ...................................... 22 3.4.3.1 Router-LSAs ........................................... 25 3.4.3.2 Network-LSAs .......................................... 27 3.4.3.3 Inter-Area-Prefix-LSAs ................................ 28 3.4.3.4 Inter-Area-Router-LSAs ................................ 29 3.4.3.5 AS-external-LSAs ...................................... 29 3.4.3.6 Link-LSAs ............................................. 31 3.4.3.7 Intra-Area-Prefix-LSAs ................................ 32 3.5 Flooding .............................................. 35 3.5.1 Receiving Link State Update packets ................... 36 3.5.2 Sending Link State Update packets ..................... 36 3.5.3 Installing LSAs in the database ....................... 38Coltun, et al. Standards Track [Page 2]RFC 2740 OSPF for IPv6 December 1999 3.6 Definition of self-originated LSAs .................... 39 3.7 Virtual links ......................................... 39 3.8 Routing table calculation ............................. 39 3.8.1 Calculating the shortest path tree for an area ........ 40 3.8.1.1 The next hop calculation .............................. 41 3.8.2 Calculating the inter-area routes ..................... 42 3.8.3 Examining transit areas' summary-LSAs ................. 42 3.8.4 Calculating AS external routes ........................ 42 3.9 Multiple interfaces to a single link .................. 43 References ............................................ 44 A OSPF data formats ..................................... 46 A.1 Encapsulation of OSPF packets ......................... 46 A.2 The Options field ..................................... 47 A.3 OSPF Packet Formats ................................... 48 A.3.1 The OSPF packet header ................................ 49 A.3.2 The Hello packet ...................................... 50 A.3.3 The Database Description packet ....................... 52 A.3.4 The Link State Request packet ......................... 54 A.3.5 The Link State Update packet .......................... 55 A.3.6 The Link State Acknowledgment packet .................. 56 A.4 LSA formats ........................................... 57 A.4.1 IPv6 Prefix Representation ............................ 58 A.4.1.1 Prefix Options ........................................ 58 A.4.2 The LSA header ........................................ 59 A.4.2.1 LS type ............................................... 60 A.4.3 Router-LSAs ........................................... 61 A.4.4 Network-LSAs .......................................... 64 A.4.5 Inter-Area-Prefix-LSAs ................................ 65 A.4.6 Inter-Area-Router-LSAs ................................ 66 A.4.7 AS-external-LSAs ...................................... 67 A.4.8 Link-LSAs ............................................. 69 A.4.9 Intra-Area-Prefix-LSAs ................................ 71 B Architectural Constants ............................... 73 C Configurable Constants ................................ 73 C.1 Global parameters ..................................... 73 C.2 Area parameters ....................................... 74 C.3 Router interface parameters ........................... 75 C.4 Virtual link parameters ............................... 77 C.5 NBMA network parameters ............................... 77 C.6 Point-to-MultiPoint network parameters ................ 78 C.7 Host route parameters ................................. 78 Security Considerations ............................... 79 Authors' Addresses .................................... 79 Full Copyright Statement .............................. 80Coltun, et al. Standards Track [Page 3]RFC 2740 OSPF for IPv6 December 19991. Introduction This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, DR election, area support, SPF calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. This document is organized as follows. Section 2 describes the differences between OSPF for IPv4 and OSPF for IPv6 in detail. Section 3 provides implementation details for the changes. Appendix A gives the OSPF for IPv6 packet and LSA formats. Appendix B lists the OSPF architectural constants. Appendix C describes configuration parameters.1.1. Terminology This document attempts to use terms from both the OSPF for IPv4 specification ([Ref1]) and the IPv6 protocol specifications ([Ref14]). This has produced a mixed result. Most of the terms used both by OSPF and IPv6 have roughly the same meaning (e.g., interfaces). However, there are a few conflicts. IPv6 uses "link" similarly to IPv4 OSPF's "subnet" or "network". In this case, we have chosen to use IPv6's "link" terminology. "Link" replaces OSPF's "subnet" and "network" in most places in this document, although OSPF's Network-LSA remains unchanged (and possibly unfortunately, a new Link-LSA has also been created). The names of some of the OSPF LSAs have also changed. See Section 2.8 for details.2. Differences from OSPF for IPv4 Most of the algorithms from OSPF for IPv4 [Ref1] have preserved in OSPF for IPv6. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. The following subsections describe the differences between this document and [Ref1].Coltun, et al. Standards Track [Page 4]RFC 2740 OSPF for IPv6 December 19992.1. Protocol processing per-link, not per-subnet IPv6 uses the term "link" to indicate "a communication facility or medium over which nodes can communicate at the link layer" ([Ref14]). "Interfaces" connect to links. Multiple IP subnets can be assigned to a single link, and two nodes can talk directly over a single link, even if they do not share a common IP subnet (IPv6 prefix). For this reason, OSPF for IPv6 runs per-link instead of the IPv4 behavior of per-IP-subnet. The terms "network" and "subnet" used in the IPv4 OSPF specification ([Ref1]) should generally be relaced by link. Likewise, an OSPF interface now connects to a link instead of an IP subnet, etc. This change affects the receiving of OSPF protocol packets, and the contents of Hello Packets and Network-LSAs.2.2. Removal of addressing semantics In OSPF for IPv6, addressing semantics have been removed from the OSPF protocol packets and the main LSA types, leaving a network- protocol-independent core. In particular: o IPv6 Addresses are not present in OSPF packets, except in LSA payloads carried by the Link State Update Packets. See Section 2.7 for details. o Router-LSAs and Network-LSAs no longer contain network addresses, but simply express topology information. See Section 2.8 for details. o OSPF Router IDs, Area IDs and LSA Link State IDs remain at the IPv4 size of 32-bits. They can no longer be assigned as (IPv6) addresses. o Neighboring routers are now always identified by Router ID, where previously they had been identified by IP address on broadcast and NBMA "networks".2.3. Addition of Flooding scope Flooding scope for LSAs has been generalized and is now explicitly coded in the LSA's LS type field. There are now three separate flooding scopes for LSAs:Coltun, et al. Standards Track [Page 5]RFC 2740 OSPF for IPv6 December 1999 o Link-local scope. LSA is flooded only on the local link, and no further. Used for the new Link-LSA (see Section A.4.8). o Area scope. LSA is flooded throughout a single OSPF area only. Used for Router-LSAs, Network-LSAs, Inter-Area-Prefix- LSAs, Inter-Area-Router-LSAs and Intra-Area-Prefix-LSAs. o AS scope. LSA is flooded throughout the routing domain. Used for AS-external-LSAs.2.4. Explicit support for multiple instances per link
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -