rfc2740.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,446 行 · 第 1/5 页
TXT
1,446 行
Network Working Group R. Coltun
Requests for Comments: 2740 Siara Systems
Category: Standards Track D. Ferguson
Juniper Networks
J. Moy
Sycamore Networks
December 1999
OSPF for IPv6
Status 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 ....................... 38
Coltun, 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 .............................. 80
Coltun, et al. Standards Track [Page 3]
RFC 2740 OSPF for IPv6 December 1999
1. 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 1999
2.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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?