Internet DRAFT - draft-coltun-ospf-ospfv6
draft-coltun-ospf-ospfv6
HTTP/1.1 200 OK
Date: Mon, 08 Apr 2002 23:20:04 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Tue, 12 Dec 1995 23:00:00 GMT
ETag: "2e7f86-257c4-30ce0970"
Accept-Ranges: bytes
Content-Length: 153540
Connection: close
Content-Type: text/plain
Internet Draft OSPFv6 December 1995
Expiration Date: June 1996 FORE Systems
File name: draft-coltun-ospf-ospfv6-00.txt
OSPF Version 2 For IP Version 6
Rob Coltun
FORE Systems
(301) 571-2521
rcoltun@fore.com
Status Of This Memo
This document is an Internet-Draft. Internet-Drafts are working docu-
ments of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute work-
ing documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress".
To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the Internet- Drafts Shadow
Directories on ds.internic.net (US East Coast), nic.nordu.net
(Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
Coltun Expires June 1996 [Page 1]
Internet Draft OSPFv6 December 1995
Table Of Contents
1.0 Abstract ................................................. 4
2.0 Overview ................................................. 4
2.1 Organization Of This Document ............................ 4
2.2 Acknowledgments .......................................... 4
3.0 OSPFv4 To OSPFv6 Diffs ................................... 5
3.1 Features That Haven't Been Modified ...................... 5
3.2 Features That Have Been Removed .......................... 6
3.2.1 TOS-Based Routing ...................................... 6
3.3 Modifications And Extensions ............................. 6
3.3.1 Extensions To Address And ID Fields .................... 6
3.3.2 Semantics Of The Network Mask Field .................... 6
3.3.3 External LSA Forwarding Address And Route Tag .......... 7
3.3.4 Protocol Packet Processing Modifications ............... 7
3.4 Additions To OSPFv6 ...................................... 8
3.4.1 Support Of The Opaque LSA .............................. 8
3.4.2 Instance ID ............................................ 8
4.0 Overview Of OSPFv6 Packet Formats ........................ 8
4.1 The OSPF Packet Header ................................... 9
4.2 The Hello Packet ......................................... 9
4.3 The Link-State Advertisement Header ...................... 10
4.4 The Database Description Packet .......................... 10
4.5 The Link-State Request Packet ............................ 10
4.6 The Link-State Acknowledgment Packet ..................... 11
4.7 The Link-State Update Packet ............................. 11
4.7.1 The Router LSA ......................................... 12
4.7.2 The Network LSA ........................................ 12
4.7.3 Summary LSA ............................................ 12
4.7.4 The AS External LSA .................................... 12
5.0 Protocol Packet Processing ............................... 14
5.1 Sending Protocol Packets ................................. 14
5.2 Receiving Protocol Packets ............................... 16
6.0 Opaque LSAs .............................................. 19
6.1 Modifications To The Neighbor State Machine .............. 20
6.2 Modifications To The Flooding Procedures ................. 20
7.0 AS External Routes ....................................... 22
7.1 Origination Of AS External Reference Opaque LSA .......... 22
7.2 Calculating AS External Routes ........................... 22
8.0 References ............................................... 24
Appendix A: OSPFv6 Data Formats .............................. 25
A.1 Encapsulation Of OSPFv6 Packets .......................... 25
A.2 The Options Field ........................................ 27
A.3 OSPFv6 Packet Formats .................................... 29
A.3.1 The OSPFv6 Packet Header ............................... 29
A.3.2 The Hello Packet ....................................... 32
A.3.3 The Database Description Packet ........................ 35
A.3.4 The Link-State Request Packet .......................... 37
A.3.5 The Link-State Update Packet ........................... 40
A.3.6 The Link-State Acknowledgment Packet ................... 41
A.4 Link-State Advertisement (LSA) Formats ................... 43
A.4.1 The Link-State Advertisement Header .................... 43
A.4.2 Router LSA ............................................. 46
A.4.3 Network LSA ............................................ 49
Coltun Expires June 1996 [Page 2]
Internet Draft OSPFv6 December 1995
A.4.4 Summary LSA ............................................ 51
A.4.5 AS External LSA ........................................ 53
A.4.6 Opaque LSA ............................................. 55
A.4.6.1 Link-Local Opaque LSA ................................ 57
A.4.6.2 AS External Reference Opaque LSA ..................... 59
Appendix B: Architectural Constants .......................... 61
Appendix C: Configurable Constants ........................... 62
C.1 Global Parameters ........................................ 62
Coltun Expires June 1996 [Page 3]
Internet Draft OSPFv6 December 1995
1.0 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. The packet formats have been extended to support IPv6
addressing as IPv6 increases the IP address size from 32 bits to 128
bits. Additionally, an Instance ID (i.e., process identifier) has
been added to the OSPF packet header to facilitate routers runing more
than one OSPFv6 instance.
2.0 Overview
Over the last few years the OSPF routing protocol [OSPF] has been
widely deployed throughout the Internet. As a result of this deploy-
ment OSPF has been cleaned up, tuned up and extended as new require-
ments have emerged. We now have a large operational and implementa-
tion knowledge base. Our goal is to utilize this existing experience
base and extend OSPF to support IPv6 [IPV6], which we will refer to as
OSPFv6.
The OSPF area architecture and its fundamental mechanisms (flooding,
DR election, SPF calculations, etc.) remain unchanged. OSPF's options
(on-demand circuits support, NSSA areas, multicast extensions, point-
to-multipoint, etc.) are directly applicable. It is assumed that the
reader is familiar with the OSPF protocol as specified in [OSPF].
The basic change to OSPF to support IPv6 is to extend the net/subnet
address, link-state ID, router ID and area ID fields from 32 to 128
bits. We change the syntax of the network mask from an explicit mask
to an integer which represents the number of bits in the mask. There-
fore when referring to [OSPF], addresses and network masks expressed
as a 32-bit "dotted quads" (e.g., 128.185.1.0) should be thought of as
IPv6 address in the form expressed in the IPv6 address architecture
document [IPV6ADDR] (e.g., FEDC:BA98:7654:3210:FEDC:BA98:7654:3210).
2.1 Organization Of This Document
This document first lists the differences between OSPF for IPv4
(OSPFv4) and OSPFv6, followed by the details of these changes includ-
ing a description of the packet formats which have been extended to
support IPv6. Following that are the mechanisms needed to support the
addition of an instance ID in the packet header. Finally we discuss
the modifications to the AS external LSA processing and AS External
Opaque LSA origination (which is used in conjunction with AS external
LSAs). Appendix A gives the packet formats.
2.2 Acknowledgments
The author would like to thank Fred Baker, Jim Bound, John Moy and the
rest of the OSPF Working Group for the ideas and support they have
Coltun Expires June 1996 [Page 4]
Internet Draft OSPFv6 December 1995
given to this project.
3.0 OSPFv4 To OSPFv6 Diffs
3.1 Features That Haven't Been Modified
The fundamental concept of (sub)networks, CIDR style address and gen-
eral routing architecture of IPv6 [IPV6] is the same as those of IPv4.
Therefore the mechanisms of OSPF remain unchanged including:
o IP subnetting support
o The representation of routers and networks
o The representation of non-broadcast networks
o The link-state database organization
o The link-state database exchange mechanisms
o The link-state database flooding mechanisms
o Neighbor and interface state machines
o The (Backup) Designated Router Election Algorithms
o Building the shortest-path tree
o Support for equal-cost multipath
o The splitting of an AS into Areas
o Supporting stub areas
o The backbone of the Autonomous System
o Inter-area routing
o The use of external routing information (AS external routes)
All of OSPF optional capabilities (on-demand circuits support, NSSA
areas, multicast extensions, point-to-multipoint, etc.) are directly
applicable to OSPFv6 (with the appropriate IPv6 address extensions).
In fact, the version number for OSPFv6 remains as version 2 as this
document is viewed to be an extension of OSPFv4 with [OSPF] remaining
the base document.
Coltun Expires June 1996 [Page 5]
Internet Draft OSPFv6 December 1995
3.2 Features That Have Been Removed
3.2.1 TOS-Based Routing
The semantics of IPv4 TOS have not been moved forward to IPv6; IPv6
has priority and flow identifiers. Priority gives the IPv6 forwarding
engine a hint as to how to queue the packet for processing but does
not necessarily represent an independent routing path. The IPv6 header
does have a 24-bit Flow Label field which may be used by a source to
label those packets for which it requests special handling by IPv6
routers, such as non-default quality of service or "real-time" ser-
vice. In the future the IPv6 Flow Label may be a associated with a
non-default route which may turn out to be loosely related to IPv4
TOS, but the Flow Label concept is still experimental and subject to
change as the requirements for flow support in the Internet become
clearer. Along with the fact that TOS has rarely been used in OSPFv4,
OSPFv6 does not support TOS as defined in OSPFv4.
3.3 Modifications And Extensions
One of the the fundamental motivations for IPv6 was to increase the IP
address size from 32 bits to 128 bits so that IP can support more lev-
els of the addressing hierarchy and so that it can address a much
greater number of nodes. The majority of the changes were made to
accommodate the IPv6 expanded address space while maintaining the phi-
losophy of 32-bit aligned fixed-length fields. (Needless to say the
routing table must be modified to handle 128-bit network addresses).
3.3.1 Extensions To Address And ID Fields
To support IPv6 we extend the (sub)network address, link-state ID,
router ID and area ID fields from 32 to 128 bits. An overview of
these changes and their effect on database size and fragmentation is
given in Section 4.0 entitled "Overview Of OSPFv6 Packet Formats". The
packet formats are given in Appendix A.
3.3.2 Semantics Of The Network Mask Field
The semantics of the network mask has been changed from an explicit
mask to an integer which expresses the number of bits in the network
mask (the field is now called "Network Mask Length"). At the time
that the original OSPF spec was written, non-contiguous masks were
legal. This has since changed and IPv4 and IPv6 allows contiguous
masks only. Since the network mask may be up to 128 bits, link-state
database memory resources can be saved by representing the mask as the
number of bits in the network mask. In the case of the link-data
field in the Router LSA the semantics is type specific so that the
128-bits may be an IPv6 address or a network mask length. When it is
the network mask length, the first 32 bits of the 128-bit field is
treated as an integer which expresses the number of bits in the
Coltun Expires June 1996 [Page 6]
Internet Draft OSPFv6 December 1995
network mask.
3.3.3 External LSA Forwarding Address And Route Tag
OSPFv6 AS External LSAs do not include the forwarding address or the
external route tag. Instead, OSPFv6 external LSAs include a 32-bit
Opaque LSA Reference field. The reason for this is as follows. In
OSPFv4 the Route Tag was not used by the OSPF protocol itself; it was
used to communicate information between AS boundary routers. In
[BGPOSPF] the route tag is divided into two parts or kept as locally
defined information. When it is divided into two parts the upper 16
bits denotes origin information (indications whether the routing
information was originated via an IGP, or some other means) and an
arbitrary tag. The lower 16 bits are used to communicate an auto-
nomous system number. Since CIDR-style addresses [CIDR] are used in
IPv6, it is unlikely that a separate address space will be used for
IPv6 domains as they are for IPv4's Autonomous System numbers.
Instead it is likely that a prefix will be used to represent a domain
as it does in IDRP [IDRP]. For the tag to continue to have the same
function as in OSPFv4 we would need to include the domain identifier
(which is a prefix of a 128-bit address), a length field for the
domain identifier, an arbitrary tag and origin information. This
information would take up 20 octets. Additionally the forwarding
address would have to be extended to 128 bits (another 16 octets).
Within an OSPF system, there are relatively few number of AS boundary
routers and anywhere from a single default route to tens of thousands
of AS external routes injected into the OSPF system. That is a <For-
warding Address, External Tag> pair will most likely be repeated in a
number of External LSAs.
If the External Tag were to be extended to include domain, and origin
information and the forwarding address were extended to a 128-bit
address the External LSA would incur another 36 octets of overhead.
When this is combined with the already extended link-state ID and
router ID fields the external LSA would be 88-octets much of which is
redundant <Forwarding Address, External Tag> information resulting in
unnecessary memory overhead.
OSPFv6 introduces a new type of LSA which carries the forwarding
address, domain and origin information. See Section A.4.6.2 ("AS
External Reference Opaque LSA") for a description of the packet for-
mat. This LSA is referenced by the AS External LSA so as to reduce
the link-state database overhead.
3.3.4 Protocol Packet Processing Modifications
Protocol packet processing has been modified to include the Instance
ID (see Section 3.4.2 below). Also, because there is no checksum in
the IPv6 header, these sections have been removed. See Section 5.0
("Protocol Packet Processing") for a description of the OSPFv6 proto-
col packet processing.
Coltun Expires June 1996 [Page 7]
Internet Draft OSPFv6 December 1995
3.4 Additions To OSPFv6
The following items are not part of OSPF but are part of OSPFv6.
3.4.1 Support Of The Opaque LSA
The Opaque LSA is need by OSPFv6 as a replacement for OSPFv4's exter-
nal LSA's forwarding address and route tag as explained in section
3.3.3 above. To support distribution of the Opaque LSA, modifications
were made to the neighbor state machine and to the flooding pro-
cedures. See Section 6 of this document for the details of these
modifications.
3.4.2 Instance ID
OSPFv6 introduces an Instance ID which is used when multiple OSPFv6
instances (or processes) are used. The Instance ID is used both by
network management to identify the particular instance to be managed
and by the OSPFv6 send and receive functions to identify packet's tar-
get OSPFv6 instance. As an example, multiple Instance IDs may be used
by a network service provider when the provider participates in a
subscriber's IGP (which happens to be OSPF). The provider would
therefore need to support several OSPFv6 instances within the same
router. Multiple OSPF instances allows the router to have logically
partitioned OSPF for reasons of management and policy enforcement.
See section 5 of this document for the details of the modifications to
the protocol packet processing needed to support the Instance ID.
4.0 Overview Of OSPFv6 Packet Formats
The result of extending the IP address to 128 bits is an increase in
the size of several of the packet formats for OSPFv6. To support IPv6
we extend the (sub)network address, link-state ID, router ID and area
ID fields in the OSPF packet formats from 32 to 128 bits. Addition-
ally we change the semantics of the network mask from an explicit mask
to be the number of bits (length) of the network mask. The major
impact of increasing the lengths of several of the fields is on the
link-state database's memory utilization. For larger networks there
may be some impact on IP fragmentation of OSPFv6 packets.
The OSPF protocol has mechanisms which allows an implementation to
manage the contents and size of the OSPF packets. That is, database
description, link-state request, link-state update and link-state ack-
nowledgement packets all include lists of entries so that an implemen-
tation can optimize the size of each of these packets.
Most OSPF packets travel a single hop. Hello, database description,
link-state request, link-state update and link-state acknowledgement
packets are sent on a single interface. At each router, link-state
update packets are disassembled into their constituent link-state
Coltun Expires June 1996 [Page 8]
Internet Draft OSPFv6 December 1995
advertisements which may be then flooded as part of a link-state
update packet originated by the receiving router. Since the MTU for
the media type associated with the interface is known (except in the
case of virtual interfaces), the packets can be optimized for the
interface's MTU.
In the case of virtual links, the path between virtual neighbors is
dynamically discovered so the packets may need to be fragmented by the
IP layer along the way. But unlike IPv4, fragmentation in IPv6 is
performed only by source nodes, not by the routers along a packet's
delivery path.
Needless to say that OSPF would break if it did not handle the MTU
correctly. It is reasonable to assume that for the OSPFv6 packets
traversing a virtual link that either 1) an MTU of 576 octets is
assumed by OSPF and used by the IP layer or 2) the "Path MTU Discovery
for IP version 6" [PMTU] protocol is run by the IP layer on area
border routers which are end points of a virtual link.
The following describes the modifications to the OSPF packet formats
to support IPv6 and the effects of extending the net/subnet address,
link-state ID, router ID and area ID fields from 32 to 128 bits. All
of the packets formats are described in detail in Appendix A.
4.1 The OSPF Packet Header
Every OSPF packet starts with a common header. This header contains
all the necessary information to determine whether the packet should
be accepted for further processing. The packet format has been modi-
fied so that the Router ID field and the Area ID field are increased
to 128 bits. The effect of this is that the packet header is now 48
octets and was 24 octets in OSPFv4. This extension contributes very
little to additional memory overhead of the implementation (as the
packet headers are not usually maintained in the database) and when
added to the extensions of the other OSPF packet formats this exten-
sion is a minor contributor to the need for IP fragmentation.
4.2 The Hello Packet
OSPF's Hello Protocol is responsible for establishing and maintaining
neighbor relationships. It also ensures that communication between
neighbors is bidirectional. Hello packets are sent periodically out
all router interfaces and include a list of the Router IDs of each
router from whom valid Hello packets have been seen recently on the
network. Bidirectional communication is indicated when the router
sees itself listed in the neighbor's Hello Packet. On multi-access
networks, the Hello Protocol elects a Designated Router for the net-
work.
The effect of extending the Area and Router IDs to 128 bits in the
Hello Packet is that the Hello Header is now 88 octets. Additionally,
each advertised neighbor (the Router ID) on the network is 16 octets
Coltun Expires June 1996 [Page 9]
Internet Draft OSPFv6 December 1995
so that at around 90 neighbors the Hello packet would be larger than
an Ethernet MTU. Although for most networks this is not an issue,
there are some networks that exceed this number of neighbors. This
extension only contributes to additional memory overhead of the imple-
mentation if the Hello Packets are maintained (a rare but not unthink-
able occurrence).
4.3 The Link-State Advertisement Header
All link-state advertisements begin with a common header. This header
contains enough information to uniquely identify the advertisement (LS
type, Link-State ID, and Advertising Router). This header is used in
database description packets, link-state advertisements and link-state
acknowledgement packets. The effects of extending the link-state ID
and the advertising router fields to 128 bits is that the link-state
header for OSPFv6 is 44 octets (was 20 octets for OSPFv4).
This clearly increases the memory requirements as the LSA headers are
stored in the link-state database for every link-state advertisement.
The effects on fragmentation are specific to the packet using the
link-state advertisement header.
4.4 The Database Description Packet
Database description packets are exchanged when an adjacency is being
initialized. They describe the contents of the topological database.
Multiple packets may be used to describe the database. Each database
description packet consists of the database description header and
after the initial master/slave determination is complete, a list of
link-state advertisement headers. The database description packet has
an explicit fragmentation mechanism so that an implementation should
build database description packets of the appropriate size (i.e., to
avoid IP fragmentation). Extending the link-state advertisement
header and the OSPF packet header contributes very little to addi-
tional memory overhead as database description packets are not usually
stored after being sent.
4.5 The Link-State Request Packet
Link-state request packets are used during the initial database
exchange process to request the pieces of the neighbor's database that
are more up to date than those held in the router's database. Multiple
link-state request packets may need to be used in the database
exchange. Sending of link-state request packets is the last step in
bringing up an adjacency.
Each link-state request packet includes a link-state request header
and a list of requested advertisements. The requested advertisements
are specified by an LS type, Link-State ID, and Advertising Router
which uniquely identifies the advertisement, but not its instance as
Link-State Request packets are understood to be requests for the most
Coltun Expires June 1996 [Page 10]
Internet Draft OSPFv6 December 1995
recent instance.
In OSPFv6 the link-state ID and advertising router fields are extend
to 128 bits. The link-state request packet has explicit fragmentation
mechanism so that an implementation should build link-state request
packets of the appropriate size (i.e., to avoid IP fragmentation).
This extension contributes little to additional memory overhead as
link-state request packets are not usually stored after being sent.
4.6 The Link-State Acknowledgment Packet
Link-State Acknowledgment Packets are used to make the flooding of
link-state advertisements reliable; flooded advertisements are expli-
citly acknowledged. This acknowledgment is accomplished through the
sending and receiving of Link-State Acknowledgment packets. Multiple
link-state advertisements can be acknowledged in a single Link-State
Acknowledgment packet.
The format of this packet is similar to that of the Data Description
packet. The body of both packets is simply a list of link-state adver-
tisement headers. The database acknowledgement packet has an explicit
fragmentation mechanism so that an implementation should build link-
state acknowledgement packets of the appropriate size (i.e., to avoid
IP fragmentation). Extending the link-state advertisement header and
the OSPF packet header contributes very little to additional memory
overhead as acknowledgement packets are not usually stored after being
sent.
4.7 The Link-State Update Packet
Link-State Update packets implement the flooding of link-state adver-
tisements. Each Link-State Update packet carries a collection of
link-state advertisements one hop further from its origin. Several
link-state advertisements may be included in a single packet. For
OSPFv6 the link-state ID field and advertising router field are 128
bits. Additionally, in the specific advertisements types (see below)
fields that represent network/subnet numbers, interface addresses or
router IDs are also 128 bits. Network mask fields (except for router
LSAs) need not increase since a mask in OSPFv6 is an integer which
represents the number of bits (length) of the network address mask.
It is clear that the memory requirements for the link-state database
for OSPFv6 is significantly greater than those for IPv4. Even though
the link-state update packets have explicit fragmentation mechanism
which allows an implementation to attempt to build link-state update
packets of the appropriate size to avoid IP fragmentation there are
issues that are specific to the link-state types that make it possible
for a specific link-state advertisement to be larger than the required
MTU. We now look at the issues unique to specific link-state adver-
tisement types.
Coltun Expires June 1996 [Page 11]
Internet Draft OSPFv6 December 1995
4.7.1 The Router LSA
Router link-state advertisements are originated by all routers. These
LSAs consist of a list of interfaces to the area which may be a
point-to-point connection to another router, a connections to a tran-
sit network, a connection to a stub network, or virtual links. Each of
these links includes the cost of the link. OSPF requires that all of
the router's links to the area must be described in a single router
LSA.
The link ID and link data fields are now 128 bits making each link 36
octets (as opposed to 12 octets for OSPFv4). A router having greater
than 40 links in its router LSA would exceed an Ethernet MTU.
4.7.2 The Network LSA
Network link-state advertisements are originated for multi-access net-
works by the Designated Router. This advertisement contains a list of
the router IDs for each of the routers attached to the network. Net-
work LSAs are flooded throughout a single area only. Since the OSPFv6
router IDs are 128 bits each link is 16 octets (as opposed to 4 octets
for OSPFv4). A transit network having greater than 90 routers
attached would exceed an Ethernet MTU. Although for most networks
this is not an issue, there are some networks that exceed this number
of neighbors.
4.7.3 Summary LSA
Summary link-state advertisements are the type-3 and type-4 link-state
advertisements. These advertisements are originated by area border
routers and sent into an area. A separate summary LSA is made for
each destination (known to the router) which belongs to the AS, yet is
outside the area.
Type 3 link-state advertisements are used when the destination is an
IP network. In this case the advertisement's link-state ID field is an
IPv6 network number and the Network Mask Length field is an integer
which represents the number of bits in the network number's mask.
When the destination is an AS boundary router, a type-4 advertisement
is used, the link-state ID field is the AS boundary router's OSPF
router ID and the Network Mask Length field is unused (i.e., set to
0).
Since the OSPFv6 Link-State IDs and Router IDs are 128 bits summary
link advertisements are 52 octets (as opposed to 28 octets for
OSPFv4); there are no fragmentation issues for summary link advertise-
ments.
4.7.4 The AS External LSA
AS external link-state advertisements are the type-5 link-state
Coltun Expires June 1996 [Page 12]
Internet Draft OSPFv6 December 1995
advertisements. These advertisements are originated by AS boundary
routers. A separate advertisement is made for each destination (known
to the router) which is external to the AS.
AS external link-state advertisements usually describe a particular
external destination. For these advertisements the Link-State ID field
specifies an IP network number. AS external link advertisements are
also used to describe a default route. Default routes are used when
no specific route exists to the destination. When describing a
default route, the link-state ID is always set to
IPv6DefaultDestination (0::0) and the Network Mask Length is set to 0.
The Link-State ID and Router ID and are 128 bits. OSPFv6 does not
include the forwarding address or the external route tag but does have
a 32-bit Opaque LSA Reference field (see Section 3.3.3 "External LSA
Forwarding Address And Route Tag").
The OSPFv6 AS external LSA is 56 octets (as opposed to 28 octets for
OSPFv4); there are no fragmentation issues for AS external link adver-
tisements.
Coltun Expires June 1996 [Page 13]
Internet Draft OSPFv6 December 1995
5.0 Protocol Packet Processing
This section discusses the general processing of OSPFv6 routing proto-
col packets. It is essentially section 8 of [OSPF] but includes the
specific checks for Instance ID.
It is very important that the router link-state databases remain syn-
chronized. For this reason, routing protocol packets should get pre-
ferential treatment over ordinary data packets, both in sending and
receiving.
Routing protocol packets are sent along adjacencies only (with the
exception of Hello packets, which are used to discover the adjacen-
cies). This means that all routing protocol packets travel a single
IP hop, except those sent over virtual links.
All routing protocol packets begin with a standard header. The sec-
tions below provide details on how to fill in and verify this standard
header. Then, for each packet type, the section giving more details
on that particular packet type's processing is listed.
5.1 Sending Protocol Packets
When a router sends a routing protocol packet, it fills in the fields
of the standard OSPF packet header as follows. For more details on
the header format consult Section A.3.1 of this document:
Version #
Set to 2, the version number of the protocol as documented
in this specification.
Packet type
The type of OSPF packet, such as a Link-State Update or
Hello Packet.
Packet Length
The length of the entire OSPF packet in octets, including
the standard OSPF packet header.
Router ID
The identity of the router itself (who is originating the
packet).
Area ID
The OSPF area that the packet is being sent into.
Instance ID
The OSPFv6 instance that is originating the packet. See
Section 3.4.2 of this document for more details.
AuType and Authentication
Each OSPF packet exchange is authenticated. Authentication
Coltun Expires June 1996 [Page 14]
Internet Draft OSPFv6 December 1995
types are assigned by the protocol and are documented in
Appendix D of [OSPF]. A different authentication procedure
can be used for each IP network/subnet. Autype indicates the
type of authentication procedure in use. The 64-bit authen-
tication field is then for use by the chosen authentication
procedure. This procedure should be the last called when
forming the packet to be sent. See Section D.4 of [OSPF] for
details.
The IPv6 destination address for the packet is selected as follows.
On physical point-to-point networks, the IPv6 destination is always
set to the address Allv6SPFRouters. On all other network types
(including virtual links), the majority of OSPF packets are sent as
unicasts, i.e., sent directly to the other end of the adjacency. In
this case, the IPv6 destination is just the Neighbor'ss IPv6 address
associated with the other end of the adjacency (see Section 10 of
[OSPF]). The only packets not sent as unicasts are on broadcast net-
works; on these networks Hello packets are sent to the multicast des-
tination Allv6SPFRouters, the Designated Router and its Backup send
both Link-State Update Packets and Link-State Acknowledgment Packets
to the multicast address Allv6SPFRouters, while all other routers send
both their Link-State Update and Link-State Acknowledgment Packets to
the multicast address Allv6DRouters.
Retransmissions of Link-State Update packets are ALWAYS sent as uni-
casts.
The IPv6 source address should be set to the IPv6 address of the send-
ing interface. Interfaces to unnumbered point-to-point networks have
no associated IPv6 address. On these interfaces, the IP source should
be set to any of the other IPv6 addresses belonging to the router. For
this reason, there must be at least one IPv6 address assigned to the
router. Note that, for most purposes, virtual links act precisely the
same as unnumbered point-to-point networks. However, each virtual link
does have an IPv6 interface address (discovered during the routing
table build process) which is used as the IP source when sending pack-
ets over the virtual link.
For more information on the format of specific OSPF packet types, con-
sult the sections listed in Table 1.
Type Packet name Detailed section (transmit)
_________________________________________________________
1 Hello Section 9.5 of [OSPF]
2 Database Description Section 10.8 of [OSPF]
3 Link-State Request Section 10.9 of [OSPF]
4 Link-State Update Section 13.3 of [OSPF]
5 Link-State Ack Section 13.5 of [OSPF]
Coltun Expires June 1996 [Page 15]
Internet Draft OSPFv6 December 1995
Table 1: Sections describing OSPF protocol packet transmission.
5.2 Receiving Protocol Packets
Whenever a protocol packet is received by the router it is marked with
the interface it was received on. For routers that have virtual links
configured, it may not be immediately obvious which interface to asso-
ciate the packet with. For example, consider the Router RT11 depicted
in Figure 6 of [OSPF]. If RT11 receives an OSPF protocol packet on
its interface to Network N8, it may want to associate the packet with
the interface to Area 2, or with the virtual link to Router RT10
(which is part of the backbone). In the following, we assume that the
packet is initially associated with the non-virtual link.
In order for the packet to be accepted at the IP level, it must pass a
number of tests, even before the packet is passed to appropriate OSPF
Instance for processing:
o The packet's IPv6 destination address must be the IPv6 address
of the receiving interface, or one of the IPv6 multicast
addresses Allv6SPFRouters or Allv6DRouters.
o The IP protocol specified must be OSPF (89).
o Locally originated packets should not be passed on to OSPF.
That is, the source IPv6 address should be examined to make sure
this is not a multicast packet that the router itself generated.
Next, the OSPF packet header is verified. The fields specified in the
header must match those configured for the receiving interface. If
they do not, the packet should be discarded:
o The version number field must specify protocol version 2.
o The Instance ID found in the OSPF header must match the
Instance ID of one of the OSPF instances bound to the receiving
interface. Upon locating the OSPF instance all protocol process-
ing of this packet will be associated with this OSPF instance.
If no OSPF instance is located the packet is discarded.
o The Area ID found in the OSPF header must be verified. If both
of the following cases fail, the packet should be discarded. The
Area ID specified in the header must either:
(1) Match the Area ID of the receiving OSPF interface. In this
case, the packet has been sent over a single hop. Therefore, the
packet's IPv6 source address is required to be on the same net-
work as the receiving interface. This can be verified by compar-
ing the packet's IPv6 source address to the OSPF interface's IPv6
address, after masking both addresses with the interface's net-
work mask. This comparison should not be performed on point-to-
point networks. On point-to-point networks, the interface
Coltun Expires June 1996 [Page 16]
Internet Draft OSPFv6 December 1995
addresses of each end of the link are assigned independently, if
they are assigned at all.
(2) Indicate the backbone. In this case, the packet has been sent
over a virtual link. The receiving router must be an area border
router, and the Router ID specified in the packet (the source
router) must be the other end of a configured virtual link. The
receiving OSPF interface must also attach to the virtual link's
configured Transit area. If all of these checks succeed, the
packet is accepted and is from now on associated with the virtual
link (and the backbone area).
o Packets whose IPv6 destination is Allv6DRouters should only be
accepted if the state of the receiving interface is DR or Backup
(see Section 9.1).
o The AuType specified in the packet must match the AuType speci-
fied for the associated area.
o The packet must be authenticated. The authentication procedure
is indicated by the setting of AuType (see Appendix D of [OSPF]).
The authentication procedure may use one or more Authentication
keys, which can be configured on a per- interface basis. The
authentication procedure may also verify the checksum field in
the OSPFv6 packet header (which, when used, is set to the stan-
dard IP 16-bit one's complement checksum of the OSPFv6 packet's
contents after excluding the 64-bit authentication field). If
the authentication procedure fails, the packet should be dis-
carded.
If the packet type is Hello, it should then be further processed by
the Hello Protocol (see Section 10.5 of [OSPF]). All other packet
types are sent/received only on adjacencies. This means that the
packet must have been sent by one of the router's active neighbors.
If the receiving interface connects to a broadcast network, Point-to-
MultiPoint network or NBMA network the sender is identified by the
IPv6 source address found in the packet's IPv6 header. If the receiv-
ing interface connects to a point-to-point network or a virtual link,
the sender is identified by the Router ID (source router) found in the
packet's OSPFv6 header. The data structure associated with the
receiving interface contains the list of active neighbors. Packets not
matching any active neighbor are discarded.
At this point all received protocol packets are associated with an
active neighbor. For the further input processing of specific packet
types, consult the sections listed in Table 2.
Type Packet name Detailed section (receive)
________________________________________________________
1 Hello Section 10.5 of [OSPF]
2 Database description Section 10.6 of [OSPF]
3 Link-state request Section 10.7 of [OSPF]
Coltun Expires June 1996 [Page 17]
Internet Draft OSPFv6 December 1995
4 Link-state update Section 13 of [OSPF]
5 Link-state ack Section 13.7 of [OSPF]
Table 2: Sections describing OSPF protocol packet reception.
Coltun Expires June 1996 [Page 18]
Internet Draft OSPFv6 December 1995
6.0 Opaque LSAs
Opaque LSAs are the Type 15 link-state advertisements. These adver-
tisements are originated by any router and may be used directly by
OSPFv6 as well as to provide for future extensibility. The Opaque LSA
may also be used by other protocols such as BGP wishing to distribute
information throughout the OSPFv6 domain. This information isn't used
directly by OSPFv6.
The contents of the Opaque LSA is some number of octets padded to 32-
bit alignment. Like any other LSA, the Opaque LSA uses the link-state
database distribution mechanism for flooding this information
throughout the topology. Flooding Scope identifies the range of the
topology to which this LSA may be distributed to. The following
denotes the possible values of the Flooding Scope field.
o A value of 0 denotes a link-local scope. Opaque LSAs with a
Flooding Scope of 0 are not flooded beyond the local
(sub)network.
o A value of 1 denotes an area-local scope. Opaque LSAs with a
flooding scope of 1 are not flooded beyond the area that they are
originated into.
o A value of 2 denotes that the LSA is flooded throughout (but
not beyond) the routing domain. That is the information contained
within these LSAs will not be distributed to any protocols beyond
OSPFv6.
o A value of 3 or greater denotes distribution throughout as well
as beyond the routing domain.
Origination of Opaque LSAs are unique to the application using it.
OSPFv6 used the Opaque LSA as a replacement for OSPFv4's external
LSA's forwarding address and route tag as explained in section 3.3.3
above.
The link-state ID of the Opaque LSA is divided into a type field (the
first 32 bits) a type-specific ID (the second 32-bit field) and a
reserved field (the remaining 64 bits). The packet format of the AS
External Reference Opaque LSA is given in section A.4.6.1 of this
document.
The responsibility of proper handling of the Opaque LSA's Flooding
Scope field is both on the sender and receiver. The receiver must
always store a valid received Opaque LSA in its link-state database.
Flooding scope effects both the building of the Database summary list
during the initial synchronization of the link-state database and the
flooding procedure. The following describes the modifications to
these procedures necessary for insuring proper use of the Opaque LSA's
Scoping Rules.
Coltun Expires June 1996 [Page 19]
Internet Draft OSPFv6 December 1995
6.1 Modifications To The Neighbor State Machine
The state machine as it exists in section 10.3 of [OSPF] remains
unchanged except for the action associated with State: ExStart, Event:
NegotiationDone which is where the Database summary list is built. To
incorporate the Opaque LSA in OSPFv6 the action is changed to the fol-
lowing.
State(s): ExStart
Event: NegotiationDone
New state: Exchange
Action: The router must list the contents of its entire area
link-state database in the neighbor Database summary
list. The area link-state database consists of the
Router LSAs, Network LSAs and Summary LSAs
contained in the area structure, along with Opaque and
AS External LSAs contained in the global structure.
AS External LSAs are omitted from a
virtual neighbor's Database summary list. AS
External LSAs are omitted from the Database
summary list if the area has been configured
as a stub (see Section 3.6 of [OSPF]).
Opaque LSAs are omitted from the from
the Database summary list if the following conditions
are met: 1) the Flooding Scope is link-local
and the interface address and mask in the Opaque
LSA does not equal the interface address and mask
found in the neighbor's interface; 2) the Flooding Scope
is area-local and the area associated with Opaque LSA
is not the area associated with the neighbor's interface,
see Appendix A.4.6 of this document.
Any advertisement whose age is equal to MaxAge is
omitted from the Database summary list. It is
instead added to the neighbor's link-state
retransmission list. A summary of the Database
summary list will be sent to the neighbor in
Database Description packets. Each Database
Description Packet has a DD sequence number, and is
explicitly acknowledged. Only one Database
Description Packet is allowed outstanding at any one
time. For more detail on the sending and receiving
of Database Description packets, see Sections 10.8
and 10.6 of [OSPF].
6.2 Modifications To The Flooding Procedures
Coltun Expires June 1996 [Page 20]
Internet Draft OSPFv6 December 1995
The flooding of Opaque LSAs must follow the rules of Flooding Scope as
denoted in this section. The flooding mechanisms must therefore
suppress the flooding of Opaque LSAs as follows.
o If the Flooding Scope is link-local and the interface address
and mask in the Opaque advertisement does not equal the address
and mask found in the neighbor's interface the Opaque LSA must
not be flooded out or received by the interface.
o If the Flooding Scope is area-local and the area associated
with Opaque LSA is not the area associated with the neighbor's
interface the Opaque LSA must not be flooded out the interface.
The Flooding Scope rules affect Section 13 ("The Flooding Procedure")
in [OSPF].
Coltun Expires June 1996 [Page 21]
Internet Draft OSPFv6 December 1995
7.0 AS External Routes
7.1 Origination Of AS External Reference Opaque LSA
As explained in Section 3.3.3 of this document the formats of the AS
External LSA has changed. Instead of embedding the Forwarding Address
and the Route Tag in the external LSA, the external LSA has an Opaque
LSA Reference field. This field "references" an Opaque LSA containing
a Forwarding Address and information that was previously stored in the
Route Tag. OSPFv6 therefore must maintain a list of unique <Forward-
ing Address, Route Tag> pairs and a 32-bit identifier for each of
these pairs. (Since the goal of the Opaque LSA is to reduce the size
of the link-state database, a single Opaque LSA should be originated
containing a unique <Forwarding Address, Route Tag>.) AS boundary
routers originating AS External LSAs that require either a Forwarding
Address or Route Tag information, must originate Opaque LSAs which are
referenced in the Opaque LSA Reference field of the AS External LSA.
(see Appendix A.4.6.2 for the format of the AS External Reference
Opaque LSA).
7.2 Calculating AS External Routes
For performing routing table calculations on AS External LSAs, there
is an extra level of indirection needed so that a router 1) must have
a valid path to the originator of the AS External route; 2) locate the
referenced Opaque LSA in its link-state database and 3) validate the
forwarding address contained in the Opaque LSA before it adds it con-
siders the AS External route valid.
To accommodate the changes to the AS External LSA packet format, the
following replaces 16.4 of [OSPF].
AS external routes are calculated by examining AS external LSAs. Each
of the AS external LSAs is considered in turn. Most AS external LSAs
describe routes to specific IP destinations. An AS external LSAs can
also describe a default route for the Autonomous System (Destination
ID = 0::0, subnet mask length = 0). For each AS external link adver-
tisement:
(1) If the cost specified by the advertisement is LSInfinity, or
if the advertisement's LS age is equal to MaxAge, then examine
the next advertisement.
(2) If the advertisement was originated by the calculating router
itself, examine the next advertisement.
(3) Call the destination described by the advertisement N. N's
address is obtained by masking the advertisement's Link-State ID
with the network/subnet mask which is referenced by the network
Mask Length Field (i.e., the length of the network mask in bits)
in the advertisement. Look up the routing table entry for the AS
boundary router (ASBR) that originated the advertisement. If no
Coltun Expires June 1996 [Page 22]
Internet Draft OSPFv6 December 1995
entry exists for router ASBR (i.e., ASBR is unreachable), do
nothing with this advertisement and consider the next in the
list.
Else, this advertisement describes an AS external path to desti-
nation N. Examine the Opaque LSA Reference field in the AS
External LSA. If the field is set to 0x00000000 packets should
be set to the ASBR itself. Otherwise look up the Opaque LSA in
the link-state database. The Opaque LSA was originated by the AS
boundary router that originated the external advertisement. The
Link-State ID of Opaque LSA is <1, Opaque ID Reference, 0, 0>
(see Appendix A.4.6.2 for the format of the AS External Reference
Opaque LSA).
Examine the forwarding address specified in the Opaque LSA. This
indicates the IP address to which packets for the destination
should be forwarded. If the forwarding address is set to 0::0,
packets should be sent to the ASBR itself. Otherwise, look up the
forwarding address in the routing table. An intra-area or inter-
area path must exist to the forwarding address. If no such path
exists, do nothing with the advertisement and consider the next
in the list.
Call the routing table distance to the forwarding address X (when
the forwarding address is set to 0::0, this is the distance to
the ASBR itself), and the cost specified in the advertisement Y.
X is in terms of the link-state metric, and Y is a type 1 or 2
external metric.
(4) Next, look up the routing table entry for the destination N.
If no entry exists for N, install the AS external path to N, with
next hop equal to the list of next hops to the forwarding
address, and advertising router equal to ASBR. If the external
metric type is 1, then the path-type is set to type 1 external
and the cost is equal to X+Y. If the external metric type is 2,
the path-type is set to type 2 external, the link-state component
of the route's cost is X, and the type 2 cost is Y.
(5) Else, if the paths present in the table are not type 1 or
type 2 external paths, do nothing (AS external paths have the
lowest priority).
(6) Otherwise, compare the cost of this new AS external path to
the ones present in the table. Type 1 external paths are always
shorter than type 2 external paths. Type 1 external paths are
compared by looking at the sum of the distance to the forwarding
address and the advertised type 1 metric (X+Y). Type 2 external
paths are compared by looking at the advertised type 2 metrics,
and then if necessary, the distance to the forwarding addresses.
If the new path is shorter, it replaces the present paths in the
routing table entry. If the new path is the same cost, it is
added to the routing table entry's list of paths.
Coltun Expires June 1996 [Page 23]
Internet Draft OSPFv6 December 1995
8.0 References
[OSPF] Moy, J., "OSPF Version 2", IETF Internet Draft,
Cascade, November 1995.
[IPV6] Deering, S., Hinden, R., "Internet Protocol,
Version 6 (IPv6) Specification", IETF Internet
Draft, Xerox PARC, Ipsilon, June 1995
[IPV6ADDR] Hinden, R., Deering, S., "IP Version 6
Addressing Architecture", IETF Internet Draft
Xerox PARC, Ipsilon, June 1995
[BGPOSPF] Varadhan, K., Hares, S., Rekhter, Y., "BGP4/IDRP
for IP---OSPF Interaction", RFC1745, December 1994
[CIDR] Fuller, V., T. Li, J. Yu, and K. Varadhan, "Classless Inter-
Domain Routing (CIDR): an Address Assignment and Aggregation
Strategy", RFC1519, BARRNet, cisco, MERIT, OARnet, September
1993.
[IDRP] Kunzinger, C., Editor, "INTER-DOMAIN ROUTING PROTOCOL
(IDRP)", IETF Internet Draft version of ISO10747,
IBM Corp., June 1995
[PMTU] McCann, J., Deering, S., "Path MTU Discovery for IP version 6",
IETF Internet Draft, Digital Equipment Corporation, Xerox PARC,
November 6, 1995
[MOPSPF] Moy, J., "Multicast Extensions to OSPF", RFC 1584, Proteon,
Inc., March 1994.
[NSSA] Coltun, R. and V. Fuller, "The OSPF NSSA Option", RFC 1587,
RainbowBridge Communications, Stanford University, March 1994.
[DEMD] Moy, J., "Extending OSPF to Support Demand Circuits", RFC 1793,
Cascade, April 1995.
Coltun Expires June 1996 [Page 24]
Internet Draft OSPFv6 December 1995
Appendix A: OSPFv6 Data formats
This appendix describes the format of OSPFv6 protocol packets and
OSPFv6 link-state advertisements. The OSPFv6 protocol runs directly
over the IP version 6 network layer. Before any data formats are
described, the details of the OSPFv6 encapsulation are explained.
Next the OSPFv6 Options field is described. This field describes vari-
ous capabilities that may or may not be supported by pieces of the
OSPFv6 routing domain. The OSPFv6 Options field is contained in OSPFv6
Hello packets, Database Description packets and in OSPFv6 link-state
advertisements.
OSPFv6 packet formats are detailed in Section A.3. A description of
OSPFv6 link-state advertisements appears in Section A.4.
A.1 Encapsulation Of OSPFv6 Packets
OSPFv6 runs directly over the Internet Protocol's version 6 network
layer. OSPFv6 packets are therefore encapsulated solely by IPv6 and
local data-link headers.
OSPFv6 does not define a way to fragment its protocol packets, and
depends on IPv6 fragmentation when transmitting packets larger than
the network MTU. The OSPFv6 packet types that are likely to be large
(Database Description Packets, Link-State Request, Link-State Update,
and Link-State Acknowledgment packets) can usually be split into
several separate protocol packets, without loss of functionality.
This is recommended; IPv6 fragmentation should be avoided whenever
possible. Using this reasoning, an attempt should be made to limit the
sizes of packets sent over virtual links to 576 octets. Alternately,
OSPFv6 routers may run "Path MTU Discovery for IP version 6" [PMTU]
between virtual neighbors so as to discover the optimal size path MTU
between the virtual neighbors. However, if necessary, the length of
OSPF packets can be up to 65,535 octets (including the IPv6 header).
The other important features of OSPFv6's IP encapsulation are:
o Use of IP multicast. Some OSPFv6 messages are multicast, when sent
over broadcast networks. Two distinct IPv6 multicast addresses are
used. Packets sent to these multicast addresses should never be for-
warded; they are meant to travel a single hop only. To ensure that
these packets will not travel multiple hops, their IPv6 Hop Limit must
be set to 1.
Allv6SPFRouters
For IPv6 this multicast address has been assigned the value
FF02:0:0:0:0:0:0:5 (which has a link-local scope). All routers
running OSPFv6 should be prepared to receive packets sent to this
address. Hello packets are always sent to this destination.
Also, certain OSPFv6 protocol packets are sent to this address
during the flooding procedure.
Coltun Expires June 1996 [Page 25]
Internet Draft OSPFv6 December 1995
Allv6DRouters
This multicast address has been assigned the value
FF02:0:0:0:0:0:0:6 (which has a link-local scope). Both the
Designated Router and Backup Designated Router must be prepared
to receive packets destined to this address. Certain OSPFv6 pro-
tocol packets are sent to this address during the flooding pro-
cedure.
o OSPFv6 is IPv6 protocol number 89. This number has been registered
with the Network Information Center. IP protocol number assignments
are documented in [11].
o Routing protocol packets are sent with IPv6 Priority of 7 (internet
control traffic).
o Routing protocol packets are sent with IPv6 Priority of Internet
Control Traffic (type 7). OSPFv6 protocol packets should be given
precedence over regular IPv6 data traffic, in both sending and receiv-
ing. Setting the IPv6 Priority field in the IPv6 header to Internet-
work Control Traffic may help implement this objective.
Coltun Expires June 1996 [Page 26]
Internet Draft OSPFv6 December 1995
A.2 The Options Field
The OSPFv6 Options field is present in OSPFv6 Hello packets, Database
Description packets and all link-state advertisements. The Options
field enables OSPFv6 routers to support (or not support) optional
capabilities, and to communicate their capability level to other
OSPFv6 routers. Through this mechanism routers of differing capabili-
ties can be mixed within an OSPFv6 routing domain.
When used in Hello packets, the Options field allows a router to
reject a neighbor because of a capability mismatch. Alternatively,
when capabilities are exchanged in Database Description packets a
router can choose not to forward certain link-state advertisements to
a neighbor because of its reduced functionality. Lastly, listing
capabilities in link-state advertisements allows routers to forward
traffic around reduced functionality routers, by excluding them from
parts of the routing table calculation.
Six bits of the OSPFv6 Options field have been assigned, although only
two (the T-bit and E-bit) are described completely by this memo. Each
bit is described briefly below. Routers should reset (i.e. clear)
unrecognized bits in the Options field when sending Hello packets or
Database Description packets and when originating link-state adver-
tisements. Conversely, routers encountering unrecognized Option bits
in received Hello Packets, Database Description packets or link-state
advertisements should ignore the capability and process the
packet/advertisement normally.
+------------------------------------+
| * | * | DC | * | N/P | MC | E | T |
+------------------------------------+
The Options Field
R-bit
This bit is reserved for future TOS/QOS capability definitions.
E-bit
This bit describes the way AS-external-LSAs are flooded, as
described in Sections 3.6, 9.5, 10.8 and 12.1.2 of [OSPF].
MC-bit
This bit describes whether IP multicast datagrams are forwarded
according to the specifications in [MOSPF].
N/P-bit
This bit describes the handling of Type-7 LSAs, as specified in
[NSSA].
DC-bit
This bit describes the router's handling of demand circuits, as
Coltun Expires June 1996 [Page 27]
Internet Draft OSPFv6 December 1995
specified in [DEMD].
Coltun Expires June 1996 [Page 28]
Internet Draft OSPFv6 December 1995
A.3 OSPFv6 Packet Formats
There are five distinct OSPFv6 packet types. All OSPFv6 packet types
begin with a standard 24-octets header. This header is described
first. Each packet type is then described in a succeeding section.
In these sections each packet's division into fields is displayed, and
then the field definitions are enumerated.
All OSPFv6 packet types (other than the OSPFv6 Hello packets) deal
with lists of link-state advertisements. For example, Link-State
Update packets implement the flooding of advertisements throughout the
OSPFv6 routing domain. Because of this, OSPFv6 protocol packets cannot
be parsed unless the format of link-state advertisements is also
understood. The format of the link-state advertisements packet is
given in Section A.4. The receive processing of OSPFv6 packets is
detailed in Section 5.2 of this document. The sending of OSPFv6 pack-
ets is explained in Section 5.1 of this document.
A.3.1 The OSPFv6 Packet Header
Every OSPFv6 packet starts with a standard 48-octet header. This
header contains all the information necessary to determine whether the
packet should be accepted for further processing. This determination
is described in Section 5.0 of this document.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version # | Type | Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Router ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Area ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Instance ID | AuType |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Authentication +
| |
Coltun Expires June 1996 [Page 29]
Internet Draft OSPFv6 December 1995
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Version #
The OSPFv6 version number. This specification documents version 2
of the protocol.
Type
The OSPF packet types are as follows. See Sections A.3.2 through
A.3.6 for details.
Type Description
________________________________
1 Hello
2 Database Description
3 Link-State Request
4 Link-State Update
5 Link-State Acknowledgment
Packet Length
The length of the OSPFv6 protocol packet in octets. This length
includes the standard OSPFv6 header.
Router ID
The Router ID of the packet's source.
Area ID
A 128-bit number identifying the area that this packet belongs
to. All OSPFv6 packets are associated with a single area. Most
travel a single hop only. Packets traversing a virtual link are
labeled with the backbone Area ID of 0::0.
Checksum
The standard IP checksum of the entire contents of the packet,
starting with the OSPFv6 packet header but excluding the 64-bit
authentication field. This checksum is calculated as the 16-bit
one's complement of the one's complement sum of all the 16-bit
words in the packet, excepting the authentication field. If the
packet's length is not an integral number of 16-bit words, the
packet is padded with an octet of zero before checksumming. The
checksum is considered to be part of the packet authentication
procedure; for some authentication types the checksum calculation
is omitted.
Instance ID
This is a 8-bit number that uniquely identifies the OSPFv6
Instance (or process) within the router that will be accepting
Coltun Expires June 1996 [Page 30]
Internet Draft OSPFv6 December 1995
this packet. The Instance ID was added to OSPFv6 to facilitate
identifying a particular OSPFv6 Instance by network management
(to identify the particular instance to be managed) and by the
OSPFv6 send and receive functions (to identify packet's target
OSPFv6 instance). See Section 3.4.2 and Section 5 of this docu-
ment for further details.
AuType
Identifies the authentication procedure to be used for the
packet. Authentication is discussed in Appendix D of [OSPF].
Consult Appendix D of [OSPF] for a list of the currently defined
authentication types.
Authentication
A 64-bit field for use by the authentication scheme. See Appendix
D of the [OSPF] for details.
Coltun Expires June 1996 [Page 31]
Internet Draft OSPFv6 December 1995
A.3.2 The Hello Packet
Hello packets are OSPFv6 packet type 1. These packets are sent
periodically on all interfaces (including virtual links) in order to
establish and maintain neighbor relationships. In addition, Hello
Packets are multicast on those physical networks having a multicast or
broadcast capability, enabling dynamic discovery of neighboring
routers.
All routers connected to a common network must agree on certain param-
eters (Network mask, HelloInterval and RouterDeadInterval). These
parameters are included in Hello packets, so that differences can
inhibit the forming of neighbor relationships. A detailed explanation
of the receive processing for Hello packets is presented in Section
10.5 of [OSPF]. The sending of Hello packets is covered in Section
9.5 of [OSPF].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version # | 1 | Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Router ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Area ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Instance ID | AuType |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Authentication +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Mask Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HelloInterval | Options | Rtr Pri |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RouterDeadInterval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
Coltun Expires June 1996 [Page 32]
Internet Draft OSPFv6 December 1995
+ Designated Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Backup Designated Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Neighbor +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
Network Mask Length
The length in bits of the network mask associated with this
interface. Unlike OSPFv4 the network mask length for OSPFv6 is
an integer representing the number of bits in the mask. For exam-
ple, if the interface address is 1080:0:0:0:8:800:200C:417A and
the network mask is FFFF:FFFF:FFFF:FFFF:FFFF:0:0:0 the Network
Mask Length field is 80.
Options
The optional capabilities supported by the router, as documented
in Appendix A.2 of this document.
HelloInterval
The number of seconds between this router's Hello packets.
Rtr Pri
This router's Router Priority as used in the (Backup) Designated
Router election. If set to 0, the router will be ineligible to
become (Backup) Designated Router.
RouterDeadInterval
The number of seconds before declaring a silent router down.
Designated Router
The identity of the Designated Router for this network, in the
view of the sending router. The Designated Router is identified
here by its IP interface address on the network. Set to 0::0 if
there is no Designated Router.
Coltun Expires June 1996 [Page 33]
Internet Draft OSPFv6 December 1995
Backup Designated Router
The identity of the Backup Designated Router for this network, in
the view of the sending router. The Backup Designated Router is
identified here by its IP interface address on the network. Set
to 0::0 if there is no Backup Designated Router.
Neighbor
The Router IDs of each router from whom valid Hello packets have
been seen recently on the network. Recently means in the last
RouterDeadInterval seconds.
Coltun Expires June 1996 [Page 34]
Internet Draft OSPFv6 December 1995
A.3.3 The Database Description Packet
Database Description packets are OSPFv6 packet type 2. These packets
are exchanged when an adjacency is being initialized. They describe
the contents of the link-state database. Multiple packets may be used
to describe the database. For this purpose a poll-response procedure
is used. One of the routers is designated to be the master, the other
the slave. The master sends Database Description packets (polls)
which are acknowledged by Database Description packets sent by the
slave (responses). The responses are linked to the polls via the
packets' DD sequence numbers.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version # | 2 | Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Router ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Area ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Instance ID | AuType |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Authentication +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 | 0 | Options |0|0|0|0|0|I|M|MS
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DD sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+- -+
| A |
+- Link-State Advertisement -+
| Header |
+- -+
| |
+- -+
| |
Coltun Expires June 1996 [Page 35]
Internet Draft OSPFv6 December 1995
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
The format of the Database Description packet is very similar to both
the Link-State Request and Link-State Acknowledgment packets. The
main part of all three is a list of items, each item describing a
piece of the link-state database. The sending of Database Description
Packets is documented in Section 10.8 of [OSPF]. The reception of
Database Description packets is documented in Section 10.6 of [OSPF].
0 These fields are reserved. They must be 0.
Options
The optional capabilities supported by the router, as documented
in Section A.2 of this document.
I-bit
The Init bit. When set to 1, this packet is the first in the
sequence of Database Description Packets.
M-bit
The More bit. When set to 1, it indicates that more Database
Description Packets are to follow.
MS-bit
The Master/Slave bit. When set to 1, it indicates that the
router is the master during the Database Exchange process. Oth-
erwise, the router is the slave.
DD sequence number
Used to sequence the collection of Database Description Packets.
The initial value (indicated by the Init bit being set) should be
unique. The DD sequence number then increments until the com-
plete database description has been sent.
The rest of the packet consists of a (possibly partial) list of the
link-state database's pieces. Each link-state advertisement in the
database is described by its link-state advertisement header. The
link-state advertisement header is documented in Section A.4.1. It
contains all the information required to uniquely identify both the
advertisement and the advertisement's current instance.
Coltun Expires June 1996 [Page 36]
Internet Draft OSPFv6 December 1995
A.3.4 The Link-State Request Packet
Link-State Request packets are OSPFv6 packet type 3. After exchanging
Database Description packets with a neighboring router, a router may
find that parts of its link-state database are out-of-date. The
Link-State Request packet is used to request the pieces of the
neighbor's database that are more up-to-date. Multiple Link-State
Request packets may need to be used.
A router that sends a Link-State Request packet has in mind the pre-
cise instance of the database pieces it is requesting. Each instance
is defined by its LS sequence number, LS checksum, and LS age,
although these fields are not specified in the Link-State Request
Packet itself. The router may receive even more recent instances in
response.
The sending of Link-State Request packets is documented in Section
10.9 of the [OSPF]. The reception of Link-State Request packets is
documented in Section 10.7 of [OSPF].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version # | 3 | Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Router ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Area ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Instance ID | AuType |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Authentication +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link-State ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Advertising Router |
Coltun Expires June 1996 [Page 37]
Internet Draft OSPFv6 December 1995
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
Each advertisement requested is specified by its LS type, Link-State
ID, and Advertising Router. This uniquely identifies the advertise-
ment, but not its instance. Link-State Request packets are understood
to be requests for the most recent instance (whatever that might be).
Coltun Expires June 1996 [Page 38]
Internet Draft OSPFv6 December 1995
A.3.5 The Link-State Update Packet
Link-State Update packets are OSPFv6 packet type 4. These packets
implement the flooding of link-state advertisements. Each Link-State
Update packet carries a collection of link-state advertisements one
hop further from their origin. Several link-state advertisements may
be included in a single packet.
Link-State Update packets are multicast on those physical networks
that support multicast/broadcast. In order to make the flooding pro-
cedure reliable, flooded advertisements are acknowledged in Link-State
Acknowledgment packets. If retransmission of certain advertisements
is necessary, the retransmitted advertisements are always carried by
unicast Link-State Update packets. For more information on the reli-
able flooding of link-state advertisements, consult Section 13 of
[OSPF].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version # | 4 | Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Router ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Area ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Instance ID | AuType |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Authentication +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # advertisements |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+- +-+
| Link-State Advertisements |
+- +-+
| ... |
Coltun Expires June 1996 [Page 39]
Internet Draft OSPFv6 December 1995
# advertisements
The number of link-state advertisements included in this update.
The body of the Link-State Update packet consists of a list of link-
state advertisements. Each advertisement begins with a common 44-
octet header, described in Section A.4.1. Detailed formats of the dif-
ferent types of link-state advertisements are described in Section
A.4.
Coltun Expires June 1996 [Page 40]
Internet Draft OSPFv6 December 1995
A.3.6 The Link-State Acknowledgment Packet
Link-State Acknowledgment Packets are OSPFv6 packet type 5. To make
the flooding of link-state advertisements reliable, flooded advertise-
ments are explicitly acknowledged. This acknowledgment is accomplished
through the sending and receiving of Link-State Acknowledgment pack-
ets. Multiple link-state advertisements can be acknowledged in a sin-
gle Link-State Acknowledgment packet.
Depending on the state of the sending interface and the sender of the
corresponding Link-State Update packet, a Link-State Acknowledgment
packet is sent either to the multicast address Allv6SPFRouters, to the
multicast address Allv6DRouters, or as a unicast. The sending of
Link-State Acknowledgement packets is documented in Section 13.5 of
[OSPF]. The reception of Link-State Acknowledgement packets is docu-
mented in Section 13.7 of [OSPF].
The format of this packet is similar to that of the Data Description
packet. The body of both packets is simply a list of link-state
advertisement headers.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version # | 5 | Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Router ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Area ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Instance ID | AuType |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Authentication +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+- -+
| |
+- -+
Coltun Expires June 1996 [Page 41]
Internet Draft OSPFv6 December 1995
| |
+- -+
| |
+- -+
| A |
+- Link-State Advertisement -+
| Header |
+- -+
| |
+- -+
| |
+- -+
| |
+- -+
| |
+- -+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
Each acknowledged link-state advertisement is described by its link-
state advertisement header. The link-state advertisement header is
documented in Section A.4.1 of this document. It contains all the
information required to uniquely identify both the advertisement and
the advertisement's current instance.
Coltun Expires June 1996 [Page 42]
Internet Draft OSPFv6 December 1995
A.4 Link-State Advertisement (LSA) Formats
This memo defines five distinct types of link-state advertisements.
Each link-state advertisement begins with a standard 44-octet link-
state advertisement header. This header is explained in Section A.4.1
of this document. Succeeding sections then diagram the separate
link-state advertisement types.
Each link-state advertisement describes a piece of the OSPFv6 routing
domain. Every router originates a router LSA. In addition, whenever
the router is elected Designated Router, it originates a network LSA.
Other types of link-state advertisements may also be originated (see
Section 12.4 of [OSPF]). All link-state advertisements are then
flooded throughout the OSPFv6 routing domain. The flooding algorithm
is reliable, ensuring that all routers have the same collection of
link-state advertisements. (See Section 13 of [OSPF] for more infor-
mation concerning the flooding algorithm). This collection of adver-
tisements is called the link-state database.
From the link-state database, each router constructs a shortest path
tree with itself as root. This yields a routing table (see Section 11
of [OSPF]). For the details of the routing table build process, see
Section 16 of [OSPF].
A.4.1 The Link-State Advertisement Header
All link-state advertisements begin with a common 44-octet header.
This header contains enough information to uniquely identify the
advertisement (LS type, Link-State ID, and Advertising Router). Mul-
tiple instances of the link-state advertisement may exist in the rout-
ing domain at the same time. It is then necessary to determine which
instance is more recent. This is accomplished by examining the LS
age, LS sequence number and LS checksum fields that are also contained
in the link-state advertisement header.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | LS type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Link-State ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
Coltun Expires June 1996 [Page 43]
Internet Draft OSPFv6 December 1995
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
LS age
The time in seconds since the link-state advertisement was ori-
ginated.
Options
The optional capabilities supported by the described portion of
the routing domain. OSPFv6's optional capabilities are docu-
mented in Section A.2 of this document.
LS type
The type of the link-state advertisement. Each link-state type
has a separate advertisement format. The link-state types
defined in this memo are as follows (see Section 12.1.3 of [OSPF]
for further explanation):
LS Type Description
___________________________________
1 Router LSA
2 Network LSA
3 Summary LSA (IP network)
4 Summary LSA (ASBR)
5 AS External LSA
15 Opaque LSA
Link-State ID
This field identifies the portion of the internet environment
that is being described by the advertisement. The contents of
this field depend on the advertisement's LS type. For example,
in network LSAs the Link-State ID is set to the IPv6 interface
address of the network's Designated Router (from which the
network's IP address can be derived). The Link-State ID is
further discussed in Section 12.1.4 in [OSPF].
Advertising Router
The Router ID of the router that originated the link-state adver-
tisement. For example, in network LSAs this field is equal to the
Coltun Expires June 1996 [Page 44]
Internet Draft OSPFv6 December 1995
Router ID of the network's Designated Router.
LS sequence number
Detects old or duplicate link-state advertisements. Successive
instances of a link-state advertisement are given successive LS
sequence numbers. See Section 12.1.6 of [OSPF] for more details.
LS checksum
The Fletcher checksum of the complete contents of the link-state
advertisement, including the link-state advertisement header but
excluding the LS age field. See Section 12.1.7 of [OSPF] for more
details.
Length
The length in octets of the link-state advertisement. This
includes the 44-octet link-state advertisement header.
Coltun Expires June 1996 [Page 45]
Internet Draft OSPFv6 December 1995
A.4.2 Router LSA
Router LSAs are the Type 1 link-state advertisements. Each router in
an area originates a router LSA. The advertisement describes the
state and cost of the router's links (i.e., interfaces) to the area.
All of the router's links to the area must be described in a single
router LSA. For details concerning the construction of router LSAs,
see Section 12.4.1 of [OSPF].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Link-State ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |V|E|B| 0 | # links |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Link ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Link Data +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Reserved | Metric |
Coltun Expires June 1996 [Page 46]
Internet Draft OSPFv6 December 1995
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
In router LSAs, the Link-State ID field is set to the router's OSPFv6
Router ID. Router LSAs are flooded throughout a single area only.
bit V
When set, the router is an endpoint of an active virtual link
that is using the described area as a Transit area (V is for vir-
tual link endpoint).
bit E
When set, the router is an AS boundary router (E is for exter-
nal).
bit B
When set, the router is an area border router (B is for border).
# links
The number of router links described in this advertisement. This
must be the total collection of router links (i.e., interfaces)
to the area.
The following fields are used to describe each router link (i.e.,
interface). Each router link is typed (see the below Type field). The
Type field indicates the kind of link being described. It may be a
link to a transit network, to another router or to a stub network.
The values of all the other fields describing a router link depend on
the link's Type. For example, each link has an associated 128-bit
Link Data field. For links to stub networks this field specifies the
length of the network's IP address mask. For other link types the
Link Data field specifies the router interface's IP address. When the
Link Data field is the IP address mask length, the first 32-bit field
is treated as an integer which contains the length in bits of the
mask.
Type
A quick description of the router link. One of the following.
Note that host routes are classified as links to stub networks
with network mask length of 128.
Type Description
__________________________________________________
1 Point-to-point connection to another router
2 Connection to a transit network
3 Connection to a stub network
4 Virtual link
Coltun Expires June 1996 [Page 47]
Internet Draft OSPFv6 December 1995
Link ID
Identifies the object that this router link connects to. Value
depends on the link's Type. When connecting to an object that
also originates a link-state advertisement (i.e., another router
or a transit network) the Link ID is equal to the neighboring
advertisement's Link-State ID. This provides the key for looking
up the neighboring advertisement in the link-state database dur-
ing the routing table calculation. See Section 12.2 of [OSPF] for
more details.
Type Link ID
______________________________________
1 Neighboring router's Router ID
2 IP address of Designated Router
3 IP network/subnet number
4 Neighboring router's Router ID
Link Data
Value again depends on the link's Type field. For connections to
stub networks, Link Data specifies the bit-length of the
network's IPv6 address mask. For unnumbered point-to-point con-
nections, it specifies (in the first 32-bit field) the
interface's MIB-II [8] ifIndex value. For the other link types
it specifies the router interface's IP address. This latter
piece of information is needed during the routing table build
process, when calculating the IP address of the next hop. See
Section 16.1.1 of [OSPF] for more details.
Reserved
Currently unused.
Metric
The cost of using this outbound router link.
Coltun Expires June 1996 [Page 48]
Internet Draft OSPFv6 December 1995
A.4.3 Network LSA
Network LSAs are the Type 2 link-state advertisements. A network LSA
is originated for each broadcast and NBMA network in the area which
supports two or more routers. The network LSA is originated by the
network's Designated Router. The advertisement describes all routers
attached to the network, including the Designated Router itself. The
advertisement's Link-State ID field lists the IP interface address of
the Designated Router.
The distance from the network to all attached routers is zero. For
details concerning the construction of network LSAs, see Section
12.4.2 of [OSPF].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Link-State ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Mask Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Attached Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
Coltun Expires June 1996 [Page 49]
Internet Draft OSPFv6 December 1995
Network Mask Length
The length in bits of the network mask associated with this
interface. Unlike OSPFv4 the network mask length for OSPFv6 is
an integer representing the number of bits in the mask. For exam-
ple, if the interface address is 1080:0:0:0:8:800:200C:417A and
the network mask is FFFF:FFFF:FFFF:FFFF:FFFF:0:0:0 the Network
Mask Length field is 80.
Attached Router
The Router IDs of each of the routers attached to the network.
Actually, only those routers that are fully adjacent to the
Designated Router are listed. The Designated Router includes
itself in this list. The number of routers included can be
deduced from the link-state advertisement header's length field.
Coltun Expires June 1996 [Page 50]
Internet Draft OSPFv6 December 1995
A.4.4 Summary LSA
Summary LSA are the Type 3 and 4 link-state advertisements. These
advertisements are originated by area border routers. Summary link
advertisements describe inter-area destinations. For details concern-
ing the construction of summary link advertisements, see Section
12.4.3 of [OSPF].
Type 3 link-state advertisements are used when the destination is an
IPv6 network. In this case the advertisement's Link-State ID field is
an IPv6 network number (if necessary, the Link-State ID can also have
one or more of the network's "host" bits set; see Appendix E of [OSPF]
for details). When the destination is an AS boundary router, a Type 4
advertisement is used, and the Link-State ID field is the AS boundary
router's OSPFv6 Router ID. (To see why it is necessary to advertise
the location of each ASBR, consult Section 16.4 of [OSPF].) Other than
the difference in the Link-State ID field, the format of Type 3 and 4
link-state advertisements is identical.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 3 or 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Link-State ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Mask Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
For stub areas, Type 3 summary link advertisements can also be used to
describe a (per-area) default route. Default summary routes are used
Coltun Expires June 1996 [Page 51]
Internet Draft OSPFv6 December 1995
in stub areas instead of flooding a complete set of external routes.
When describing a default summary route, the advertisement's Link-
State ID is always set to DefaultDestination (0::0) and the Network
Mask Length is set to 0.
Network Mask Length
For Type 3 link-state advertisements, this indicates the number
of bits in the destination network's IPv6 address mask. For
example, when advertising the location of FF01:0::0 with the net-
work mask of FFFF:0::0, the value of 16 would be used in the mask
field. This field is not meaningful and must be zero for Type 4
link-state advertisements.
Metric
The cost of this route. Expressed in the same units as the inter-
face costs in the router LSA.
Reserved
This field is currently unused.
Coltun Expires June 1996 [Page 52]
Internet Draft OSPFv6 December 1995
A.4.5 AS External LSA
AS external link advertisements are the Type 5 link-state advertise-
ments. These advertisements are originated by AS boundary routers, and
describe destinations external to the AS. For details concerning the
construction of AS external link advertisements, see Section 12.4.3 of
[OSPF] and Section 7.0 of this document.
AS external link advertisements usually describe a particular external
destination. For these advertisements the Link-State ID field speci-
fies an IP network number (if necessary, the Link-State ID can also
have one or more of the network's "host" bits set; see Appendix E for
details). AS external link advertisements are also used to describe a
default route. Default routes are used when no specific route exists
to the destination. When describing a default route, the Link-State
ID is always set to DefaultDestination (0::0) and the Network Mask
Length is set to 0.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 5 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Link-State ID +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Mask Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|E| Reserved | Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque LSA Reference |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Network Mask Length
Coltun Expires June 1996 [Page 53]
Internet Draft OSPFv6 December 1995
The number if bits in the IPv6 address mask for the advertised
destination. For example, when advertising the location of
FF01:0::0 with the network mask of FFFF:0::0, the value of 16
would be used in the mask field.
bit E
The type of external metric. If bit E is set, the metric speci-
fied is a Type 2 external metric. This means the metric is con-
sidered larger than any link-state path. If bit E is zero, the
specified metric is a Type 1 external metric. This means that it
is expressed in the same units as the link-state metric (i.e.,
the same units as interface cost).
Metric
The cost of this route. Interpretation depends on the external
type indication (bit E above).
Opaque LSA Reference
A 32-bit field attached to each external route. The semantics of
the Opaque LSA Reference for OSPFv6 is different than the OSPFv4
Route Tag in that it is used to reference an Opaque LSA (see Sec-
tion 7.0 of this document) which may include the Forwarding
Address as well as information which may be used for policy by
other protocols resident in the AS boundary router (i.e., used to
communicate information between AS boundary routers). If the
External Route Tag is not set (i.e., set to zero), data traffic
will be forwarded to the advertisement's originator.
Coltun Expires June 1996 [Page 54]
Internet Draft OSPFv6 December 1995
A.4.6 Opaque LSA
Opaque LSAs are the Type 15 link-state advertisements. These adver-
tisements are originated by any router and may be used directly by
OSPFv6; they are a useful tool for providing for future extensibility
to OSPFv6. The Opaque LSA may also be used by other protocols such as
BGP wishing to distribute information throughout the OSPFv6 domain.
The BGP information isn't used directly by OSPFv6.
The contents of the Opaque LSA is some number of octets padded to 32-
bit alignment. Like any other LSA, the Opaque LSA uses the link-state
database distribution mechanism for flooding this information
throughout the topology. However, the Opaque LSA has a Flooding Scope
associated with it so that the scope of flooding may be link-local,
area-local, the OSPFv6 routing domain or beyond.
Origination of Opaque LSAs are unique to the application using it.
Section 6 of this document describes the flooding procedures for the
Opaque LSA.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 15 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Reserved +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flooding Scope | Network Mask Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Opaque Information |
+ +
| ... |
Coltun Expires June 1996 [Page 55]
Internet Draft OSPFv6 December 1995
Syntax Of The Opaque LSA's Link-State ID
The link-state ID of the Opaque LSA is divided into an Opaque
Type field (the first 32 bits), an Opaque ID (the second 32-bit
field) and a reserved field (the remaining 64 bits).
Flooding Scope
Flooding Scope identifies the range of the topology to which this
LSA may be distributed to. The following denotes the possible
values of the Flooding Scope field.
o A value of 0 denotes a link-local scope. Opaque LSAs with a
Flooding Scope of 0 are not flooded beyond the local
(sub)network. The local network is identified by the interface's
network number and network mask length. See Section A.4.6.1 below
for a description of the Link-Local Opaque LSA.
o A value of 1 denotes an area-local scope. Opaque LSAs with a
flooding scope of 1 are not flooded beyond the area that they are
originated into.
o A value of 2 denotes that the LSA is flooded throughout (but
not beyond) the routing domain. That is, the information con-
tained within these LSAs will not be distributed to any protocols
beyond OSPFv6.
o A value of 3 or greater denotes distribution throughout as well
as beyond the routing domain.
Network Mask Length
The Network Mask Length field is an integer representing the
length in bits of the prefix's mask. This field may be used when
the first 128 bits of the Opaque Information is an address prefix
(the interpretation of this field is dependent on the Opaque
Type). When unused the Network Mask Length should be set to 0.
Coltun Expires June 1996 [Page 56]
Internet Draft OSPFv6 December 1995
A.4.6.1 Link-Local Opaque LSA
Link-Local Opaque LSAs the Type 15 link-state advertisements. These
advertisements are originated by any router and may be used directly
by OSPFv6; they are a useful tool for providing for future extensibil-
ity to OSPFv6.
The contents of the Opaque LSA is some number of octets padded to 32-
bit alignment. Like any other LSA, the Opaque LSA uses the link-state
database distribution mechanism for flooding this information
throughout the topology. However, the Opaque LSA has a Flooding Scope
associated with it so that the scope of flooding may be link-local,
area-local, the OSPFv6 routing domain or beyond. This section pro-
vides the packet format for Link-Local Opaque LSAs which must include
the IPv6 address and mask of the IP interface to insure that the
intended Flooding Scope is realized.
Origination of Opaque LSAs are unique to the application using it.
Section 6 of this document describes the flooding procedures for the
Opaque LSA.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 15 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Reserved +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flooding Scope = 0 | Network Mask Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ IPv6 Interface Address +
| |
Coltun Expires June 1996 [Page 57]
Internet Draft OSPFv6 December 1995
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Opaque Information |
+ +
| ... |
Syntax Of The Opaque LSA's Link-State ID
The link-state ID of the Opaque LSA is divided into an Opaque
Type field (the first 32 bits), an Opaque ID (the second 32-bit
field) and a reserved field (the remaining 64 bits).
Flooding Scope
Flooding Scope identifies the range of the topology to which this
LSA may be distributed to. A value of 0 denotes a link-local
scope. Opaque LSAs with a Flooding Scope of 0 are not flooded
beyond the local (sub)network.
Network Mask Length
The Network Mask Length field is an integer representing the
length in bits of the IPv6 interface network mask. The length is
used along with the IPv6 interface address to insure that the
intended Flooding Scope is realized.
IPv6 Interface Address
The IPv6 interface address representing the (sub)network to which
the link-local flooding this Opaque LSA is limited to. The IPv6
Interface Address is used along with the Network Mask field to
insure that the intended Flooding Scope is realized.
Coltun Expires June 1996 [Page 58]
Internet Draft OSPFv6 December 1995
A.4.6.2 AS External Reference Opaque LSA
Opaque LSAs are the Type 15 link-state advertisements. AS External
Reference Opaque LSA are originated by an AS boundary routers and used
directly by OSPFv6 in conjunction with AS External LSAs.
AS External Reference Opaque LSA are Opaque Type 1 LSAs. These are
used to distribute the forwarding address, tag and origination infor-
mation that were previously included in the AS External LSA. These are
referenced by the Opaque LSA Reference field in the OSPFv6 AS External
LSA by including the Opaque ID in Opaque LSA Reference field. Section
6 of this document describes the flooding procedures for the Opaque
LSA.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 15 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque Type = 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Reserved +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Advertising Router +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flooding Scope = 2 | Network Mask Length = 128 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Forwarding Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Optional External Route Tag |
+ +
Coltun Expires June 1996 [Page 59]
Internet Draft OSPFv6 December 1995
| ... |
Opaque Type
The Opaque Type for AS External Reference Opaque LSAs is 1.
Opaque ID
The Opaque ID is a local reference to the contents of the Opaque
LSA which consists of the Forwarding Address, Origin Flags,
Domain ID Length and Domain ID.
Flooding Scope
The Flooding Scope field of the AS External Reference Opaque LSA
is set to 2 which denotes that the LSA is flooded throughout the
routing domain but not distributed beyond the routing domain.
Network Mask Length
This field may be used when the first 128 bits of the Opaque
Information is an address prefix (the interpretation of this
field is dependent on the Opaque Type). For AS External Reference
Opaque LSAs this field is set to 128 denoting that the Forwarding
Address which follows is a host route.
Forwarding Address
Data traffic for the destination advertised in the referencing AS
External LSA is forwarded to this address. If the Forwarding
Address is set to 0::0, data traffic will be forwarded instead to
the advertisement's originator (i.e., the responsible AS boundary
router). Note that setting the Opaque LSA Reference field to 0
will also result in data traffic being forwarded to the
advertisement's originator.
Optional External Route Tag
A 32-bit aligned variable length optional field that is not used
by the OSPF protocol itself but may be used to communicate infor-
mation between AS boundary routers. This information may be
locally defined information, prefix origin information or a list
of domain identifiers. The precise nature of such information is
outside the scope of this specification. The length of the
External Route Tag (which may be 0 if the field is omitted) may
be determined by the LSA's length field.
Coltun Expires June 1996 [Page 60]
Internet Draft OSPFv6 December 1995
Appendix B: Architectural Constants
Several OSPF protocol parameters have fixed architectural values.
These parameters have been referred to in the text by names such as
LSRefreshTime. The same naming convention is used for the configur-
able protocol parameters. They are defined in Appendix C of this docu-
ment and [OSPF].
The name of the OSPFv6 specific architectural constant follows,
together with its value and a short description of its function.
IPv6DefaultDestination
The Destination ID that indicates the default route. This route
is used when no other matching routing table entry can be found.
The default destination can only be advertised in AS External LSA
and in stub areas' type 3 summary LSAs. Its value is the IP
address 0::0. Its associated Network Mask Length is always 0.
Allv6SPFRouters
For IPv6 this multicast address has been assigned the value
FF02:0:0:0:0:0:0:5. All routers running OSPFv6 should be prepared
to receive packets sent to this address. Hello packets are
always sent to this destination. Also, certain OSPFv6 protocol
packets are sent to this address during the flooding procedure.
This address has a link-local scope. See [IPV6ADDR] for a
further description of IP version 6 Addresses Architecture.
Allv6DRouters
This IPv6 multicast address has been assigned the value
FF02:0:0:0:0:0:0:6. Both the Designated Router and Backup Desig-
nated Router must be prepared to receive packets destined to this
address. Certain OSPFv6 protocol packets are sent to this
address during the flooding procedure. This address has a link-
local scope. See [IPV6ADDR] for a further description of IP ver-
sion 6 Addresses Architecture.
Coltun Expires June 1996 [Page 61]
Internet Draft OSPFv6 December 1995
Appendix C: Configurable Constants
The OSPF protocol has quite a few configurable parameters. These
parameters are listed below. They are grouped into general functional
categories (area parameters, interface parameters, etc.).
Some parameter settings need to be consistent among groups of routers.
For example, all routers in an area must agree on that area's parame-
ters, and all routers attached to a network must agree on that
network's IP network number and mask.
Some parameters may be determined by router algorithms outside of this
specification (e.g., the address of a host connected to the router via
a SLIP line). From OSPF's point of view, these items are still confi-
gurable.
This specification gives the Global Parameters for OSPFv6. Appendix C
of [OSPF] should be referred to for the remaining parameters.
C.1 Global Parameters
In general, a separate copy of the OSPF protocol is run for each area.
Because of this, most configuration parameters are defined on a per-
area basis. The few global configuration parameters are listed below.
Router ID
This is a 128-bit number that uniquely identifies the router in
the Autonomous System. One algorithm for Router ID assignment is
to choose the largest or smallest IP address assigned to the
router. If a router's OSPF Router ID is changed, the router's
OSPF software should be restarted before the new Router ID takes
effect. Before restarting in order to change its Router ID, the
router should flush its self-originated link state advertisements
from the routing domain (see Section 14.1 of [OSPF]), or they
will persist for up to MaxAge minutes.
Instance ID
This is a 8-bit number that uniquely identifies the OSPFv6
Instance (or process) within the router. The Instance ID was
added to OSPFv6 to facilitate identifying a particular OSPFv6
Instance by network management (to identify the particular
instance to be managed) and by the OSPFv6 send and receive func-
tions (to identify packet's target OSPFv6 instance). See Section
3.4.2 and Section 5 of this document for further details.
Coltun Expires June 1996 [Page 62]