As per Relevance of the word designated, we have this rfc below:
Network Working Group J.
Request for Comments: 2328 Ascend Communications, Inc
STD: 54 April 1998
Obsoletes: 2178
Category: Standards
OSPF Version 2
Status of this
This document specifies an Internet standards track protocol for
Internet community, and requests discussion and suggestions
improvements. Please refer to the current edition of the "
Official Protocol Standards" (STD 1) for the standardization
and status of this protocol. Distribution of this memo
unlimited
Copyright
Copyright (C) The Internet Society (1998). All Rights Reserved
This memo documents version 2 of the OSPF protocol. OSPF is
link-state routing protocol. It is designed to be run internal to
single Autonomous System. Each OSPF router maintains an
database describing the Autonomous System's topology. From
database, a routing table is calculated by constructing a shortest
path tree
OSPF recalculates routes quickly in the face of topological changes
utilizing a minimum of routing protocol traffic. OSPF
support for equal-cost multipath. An area routing capability
provided, enabling an additional level of routing protection and
reduction in routing protocol traffic. In addition, all
routing protocol exchanges are authenticated
The differences between this memo and RFC 2178 are explained
Appendix G. All differences are backward-compatible in nature
Moy Standards Track [Page 1]
RFC 2328 OSPF Version 2 April 1998
Implementations of this memo and of RFCs 2178, 1583, and 1247
interoperate
Please send comments to ospf@gated.cornell.edu
Table of
1 Introduction ........................................... 6
1.1 Protocol Overview ...................................... 6
1.2 Definitions of commonly used terms ..................... 8
1.3 Brief history of link-state routing technology ........ 11
1.4 Organization of this document ......................... 12
1.5 Acknowledgments ....................................... 12
2 The link-state database: organization and calculations 13
2.1 Representation of routers and networks ................ 13
2.1.1 Representation of non-broadcast networks .............. 15
2.1.2 An example link-state database ........................ 18
2.2 The shortest-path tree ................................ 21
2.3 Use of external routing information ................... 23
2.4 Equal-cost multipath .................................. 26
3 Splitting the AS into Areas ........................... 26
3.1 The backbone of the Autonomous System ................. 27
3.2 Inter-area routing .................................... 27
3.3 Classification of routers ............................. 28
3.4 A sample area configuration ........................... 29
3.5 IP subnetting support ................................. 35
3.6 Supporting stub areas ................................. 37
3.7 Partitions of areas ................................... 38
4 Functional Summary .................................... 40
4.1 Inter-area routing .................................... 41
4.2 AS external routes .................................... 41
4.3 Routing protocol packets .............................. 42
4.4 Basic implementation requirements ..................... 43
4.5 Optional OSPF capabilities ............................ 46
5 Protocol data structures .............................. 47
6 The Area Data Structure ............................... 49
7 Bringing Up Adjacencies ............................... 52
7.1 The Hello Protocol .................................... 52
7.2 The Synchronization of Databases ...................... 53
7.3 The Designated Router ................................. 54
7.4 The Backup Designated Router .......................... 56
7.5 The graph of adjacencies .............................. 56
Moy Standards Track [Page 2]
RFC 2328 OSPF Version 2 April 1998
8 Protocol Packet Processing ............................ 58
8.1 Sending protocol packets .............................. 58
8.2 Receiving protocol packets ............................ 61
9 The Interface Data Structure .......................... 63
9.1 Interface states ...................................... 67
9.2 Events causing interface state changes ................ 70
9.3 The Interface state machine ........................... 72
9.4 Electing the Designated Router ........................ 75
9.5 Sending Hello packets ................................. 77
9.5.1 Sending Hello packets on NBMA networks ................ 79
10 The Neighbor Data Structure ........................... 80
10.1 Neighbor states ....................................... 83
10.2 Events causing neighbor state changes ................. 87
10.3 The Neighbor state machine ............................ 89
10.4 Whether to become adjacent ............................ 95
10.5 Receiving Hello Packets ............................... 96
10.6 Receiving Database Description Packets ................ 99
10.7 Receiving Link State Request Packets ................. 102
10.8 Sending Database Description Packets ................. 103
10.9 Sending Link State Request Packets ................... 104
10.10 An Example ........................................... 105
11 The Routing Table Structure .......................... 107
11.1 Routing table lookup ................................. 111
11.2 Sample routing table, without areas .................. 111
11.3 Sample routing table, with areas ..................... 112
12 Link State Advertisements (LSAs) ..................... 115
12.1 The LSA Header ....................................... 116
12.1.1 LS age ............................................... 116
12.1.2 Options .............................................. 117
12.1.3 LS type .............................................. 117
12.1.4 Link State ID ........................................ 117
12.1.5 Advertising Router ................................... 119
12.1.6 LS sequence number ................................... 120
12.1.7 LS checksum .......................................... 121
12.2 The link state database .............................. 121
12.3 Representation of TOS ................................ 122
12.4 Originating LSAs ..................................... 123
12.4.1 Router-LSAs .......................................... 126
12.4.1.1 Describing point-to-point interfaces ................. 130
12.4.1.2 Describing broadcast and NBMA interfaces ............. 130
12.4.1.3 Describing virtual links ............................. 131
12.4.1.4 Describing Point-to-MultiPoint interfaces ............ 131
Moy Standards Track [Page 3]
RFC 2328 OSPF Version 2 April 1998
12.4.1.5 Examples of router-LSAs .............................. 132
12.4.2 Network-LSAs ......................................... 133
12.4.2.1 Examples of network-LSAs ............................. 134
12.4.3 Summary-LSAs ......................................... 135
12.4.3.1 Originating summary-LSAs into stub areas ............. 137
12.4.3.2 Examples of summary-LSAs ............................. 138
12.4.4 AS-external-LSAs ..................................... 139
12.4.4.1 Examples of AS-external-LSAs ......................... 140
13 The Flooding Procedure ............................... 143
13.1 Determining which LSA is newer ....................... 146
13.2 Installing LSAs in the database ...................... 147
13.3 Next step in the flooding procedure .................. 148
13.4 Receiving self-originated LSAs ....................... 151
13.5 Sending Link State Acknowledgment packets ............ 152
13.6 Retransmitting LSAs .................................. 154
13.7 Receiving link state acknowledgments ................. 155
14 Aging The Link State Database ........................ 156
14.1 Premature aging of LSAs .............................. 157
15 Virtual Links ........................................ 158
16 Calculation of the routing table ..................... 160
16.1 Calculating the shortest-path tree for an area ....... 161
16.1.1 The next hop calculation ............................. 167
16.2 Calculating the inter-area routes .................... 178
16.3 Examining transit areas' summary-LSAs ................ 170
16.4 Calculating AS external routes ....................... 173
16.4.1 External path preferences ............................ 175
16.5 Incremental updates -- summary-LSAs .................. 175
16.6 Incremental updates -- AS-external-LSAs .............. 177
16.7 Events generated as a result of routing table changes 177
16.8 Equal-cost multipath ................................. 178
Footnotes ............................................ 179
References ........................................... 183
A OSPF data formats .................................... 185
A.1 Encapsulation of OSPF packets ........................ 185
A.2 The Options field .................................... 187
A.3 OSPF Packet Formats .................................. 189
A.3.1 The OSPF packet header ............................... 190
A.3.2 The Hello packet ..................................... 193
A.3.3 The Database Description packet ...................... 195
A.3.4 The Link State Request packet ........................ 197
A.3.5 The Link State Update packet ......................... 199
A.3.6 The Link State Acknowledgment packet ................. 201
Moy Standards Track [Page 4]
RFC 2328 OSPF Version 2 April 1998
A.4 LSA formats .......................................... 203
A.4.1 The LSA header ....................................... 204
A.4.2 Router-LSAs .......................................... 206
A.4.3 Network-LSAs ......................................... 210
A.4.4 Summary-LSAs ......................................... 212
A.4.5 AS-external-LSAs ..................................... 214
B Architectural Constants .............................. 217
C Configurable Constants ............................... 219
C.1 Global parameters .................................... 219
C.2 Area parameters ...................................... 220
C.3 Router interface parameters .......................... 221
C.4 Virtual link parameters .............................. 224
C.5 NBMA network parameters .............................. 224
C.6 Point-to-MultiPoint network parameters ............... 225
C.7 Host route parameters ................................ 226
D Authentication ....................................... 227
D.1 Null authentication .................................. 227
D.2 Simple password authentication ....................... 228
D.3 Cryptographic authentication ......................... 228
D.4 Message generation ................................... 231
D.4.1 Generating Null authentication ....................... 231
D.4.2 Generating Simple password authentication ............ 232
D.4.3 Generating Cryptographic authentication .............. 232
D.5 Message verification ................................. 234
D.5.1 Verifying Null authentication ........................ 234
D.5.2 Verifying Simple password authentication ............. 234
D.5.3 Verifying Cryptographic authentication ............... 235
E An algorithm for assigning Link State IDs ............ 236
F Multiple interfaces to the same network/subnet ....... 239
G Differences from RFC 2178 ............................ 240
G.1 Flooding modifications ............................... 240
G.2 Changes to external path preferences ................. 241
G.3 Incomplete resolution of virtual next hops ........... 241
G.4 Routing table lookup ................................. 241
Security Considerations .............................. 243
Author's Address ..................................... 243
Full Copyright Statement ............................. 244
Moy Standards Track [Page 5]
RFC 2328 OSPF Version 2 April 1998
1.
This document is a specification of the Open Shortest Path
(OSPF) TCP/IP internet routing protocol. OSPF is classified as
Interior Gateway Protocol (IGP). This means that it
routing information between routers belonging to a single
System. The OSPF protocol is based on link-state or SPF technology
This is a departure from the Bellman-Ford base used by
TCP/IP internet routing protocols
The OSPF protocol was developed by the OSPF working group of
Internet Engineering Task Force. It has been designed expressly
the TCP/IP internet environment, including explicit support for
and the tagging of externally-derived routing information.
also provides for the authentication of routing updates,
utilizes IP multicast when sending/receiving the updates.
addition, much work has been done to produce a protocol
responds quickly to topology changes, yet involves small amounts
routing protocol traffic
1.1. Protocol
OSPF routes IP packets based solely on the destination
address found in the IP packet header. IP packets are
"as is" -- they are not encapsulated in any further
headers as they transit the Autonomous System. OSPF is
dynamic routing protocol. It quickly detects
changes in the AS (such as router interface failures)
calculates new loop-free routes after a period of convergence
This period of convergence is short and involves a minimum
routing traffic
In a link-state routing protocol, each router maintains
database describing the Autonomous System's topology.
database is referred to as the link-state database.
participating router has an identical database. Each
piece of this database is a particular router's local
(e.g., the router's usable interfaces and reachable neighbors).
The router distributes its local state throughout the
System by flooding
Moy Standards Track [Page 6]
RFC 2328 OSPF Version 2 April 1998
All routers run the exact same algorithm, in parallel. From
link-state database, each router constructs a tree of
paths with itself as root. This shortest-path tree gives
route to each destination in the Autonomous System.
derived routing information appears on the tree as leaves
When several equal-cost routes to a destination exist,
is distributed equally among them. The cost of a route
described by a single dimensionless metric
OSPF allows sets of networks to be grouped together. Such
grouping is called an area. The topology of an area is
from the rest of the Autonomous System. This information
enables a significant reduction in routing traffic. Also
routing within the area is determined only by the area's
topology, lending the area protection from bad routing data.
area is a generalization of an IP subnetted network
OSPF enables the flexible configuration of IP subnets.
route distributed by OSPF has a destination and mask.
different subnets of the same IP network number may
different sizes (i.e., different masks). This is
referred to as variable length subnetting. A packet is
to the best (i.e., longest or most specific) match. Host
are considered to be subnets whose masks are "all ones
(0xffffffff).
All OSPF protocol exchanges are authenticated. This means
only trusted routers can participate in the Autonomous System'
routing. A variety of authentication schemes can be used;
fact, separate authentication schemes can be configured for
IP subnet
Externally derived routing data (e.g., routes learned from
Exterior Gateway Protocol such as BGP; see [Ref23])
advertised throughout the Autonomous System. This
derived data is kept separate from the OSPF protocol's
state data. Each external route can also be tagged by
advertising router, enabling the passing of
information between routers on the boundary of the
System
Moy Standards Track [Page 7]
RFC 2328 OSPF Version 2 April 1998
1.2. Definitions of commonly used
This section provides definitions for terms that have a
meaning to the OSPF protocol and that are used throughout
text. The reader unfamiliar with the Internet Protocol Suite
referred to [Ref13] for an introduction to IP
A level three Internet Protocol packet switch.
called a gateway in much of the IP literature
Autonomous
A group of routers exchanging routing information via
common routing protocol. Abbreviated as AS
Interior Gateway
The routing protocol spoken by the routers belonging to
Autonomous system. Abbreviated as IGP. Each
System has a single IGP. Separate Autonomous Systems may
running different IGPs
Router
A 32-bit number assigned to each router running the
protocol. This number uniquely identifies the router
an Autonomous System
In this memo, an IP network/subnet/supernet. It is
for one physical network to be assigned multiple
network/subnet numbers. We consider these to be
networks. Point-to-point physical networks are an
- they are considered a single network no matter how
(if any at all) IP network/subnet numbers are assigned
them
Network
A 32-bit number indicating the range of IP
residing on a single IP network/subnet/supernet.
specification displays network masks as hexadecimal numbers
Moy Standards Track [Page 8]
RFC 2328 OSPF Version 2 April 1998
For example, the network mask for a class C IP network
displayed as 0xffffff00. Such a mask is often
elsewhere in the literature as 255.255.255.0.
Point-to-point
A network that joins a single pair of routers. A 56
serial line is an example of a point-to-point network
Broadcast
Networks supporting many (more than two) attached routers
together with the capability to address a single
message to all of the attached routers (broadcast).
Neighboring routers are discovered dynamically on these
using OSPF's Hello Protocol. The Hello Protocol
takes advantage of the broadcast capability. The
protocol makes further use of multicast capabilities,
they exist. Each pair of routers on a broadcast network
assumed to be able to communicate directly. An ethernet
an example of a broadcast network
Non-broadcast
Networks supporting many (more than two) routers, but
no broadcast capability. Neighboring routers are
on these nets using OSPF's Hello Protocol. However, due
the lack of broadcast capability, some
information may be necessary to aid in the discovery
neighbors. On non-broadcast networks, OSPF protocol
that are normally multicast need to be sent to
neighboring router, in turn. An X.25 Public Data
(PDN) is an example of a non-broadcast network
OSPF runs in one of two modes over non-broadcast networks
The first mode, called non-broadcast multi-access or NBMA
simulates the operation of OSPF on a broadcast network.
second mode, called Point-to-MultiPoint, treats the non
broadcast network as a collection of point-to-point links
Non-broadcast networks are referred to as NBMA networks
Point-to-MultiPoint networks, depending on OSPF's mode
operation over the network
Moy Standards Track [Page 9]
RFC 2328 OSPF Version 2 April 1998
The connection between a router and one of its
networks. An interface has state information
with it, which is obtained from the underlying lower
protocols and the routing protocol itself. An interface
a network has associated with it a single IP address
mask (unless the network is an unnumbered point-to-
network). An interface is sometimes also referred to as
link
Neighboring
Two routers that have interfaces to a common network
Neighbor relationships are maintained by, and
dynamically discovered by, OSPF's Hello Protocol
A relationship formed between selected neighboring
for the purpose of exchanging routing information.
every pair of neighboring routers become adjacent
Link state
Unit of data describing the local state of a router
network. For a router, this includes the state of
router's interfaces and adjacencies. Each link
advertisement is flooded throughout the routing domain.
collected link state advertisements of all routers
networks forms the protocol's link state database
Throughout this memo, link state advertisement
abbreviated as LSA
Hello
The part of the OSPF protocol used to establish and
neighbor relationships. On broadcast networks the
Protocol can also dynamically discover neighboring routers
The part of the OSPF protocol that distributes
synchronizes the link-state database between OSPF routers
Designated
Each broadcast and NBMA network that has at least
attached routers has a Designated Router. The
Moy Standards Track [Page 10]
RFC 2328 OSPF Version 2 April 1998
Router generates an LSA for the network and has
special responsibilities in the running of the protocol
The Designated Router is elected by the Hello Protocol
The Designated Router concept enables a reduction in
number of adjacencies required on a broadcast or
network. This in turn reduces the amount of
protocol traffic and the size of the link-state database
Lower-level
The underlying network access protocols that
services to the Internet Protocol and in turn the
protocol. Examples of these are the X.25 packet and
levels for X.25 PDNs, and the ethernet data link layer
ethernets
1.3. Brief history of link-state routing
OSPF is a link state routing protocol. Such protocols are
referred to in the literature as SPF-based or distributed
database protocols. This section gives a brief description
the developments in link-state technology that have
the OSPF protocol
The first link-state routing protocol was developed for use
the ARPANET packet switching network. This protocol
described in [Ref3]. It has formed the starting point for
other link-state protocols. The homogeneous
environment, i.e., single-vendor packet switches connected
synchronous serial lines, simplified the design
implementation of the original protocol
Modifications to this protocol were proposed in [Ref4].
modifications dealt with increasing the fault tolerance of
routing protocol through, among other things, adding a
to the LSAs (thereby detecting database corruption). The
also included means for reducing the routing traffic overhead
a link-state protocol. This was accomplished by
mechanisms which enabled the interval between LSA
to be increased by an order of magnitude
Moy Standards Track [Page 11]
RFC 2328 OSPF Version 2 April 1998
A link-state algorithm has also been proposed for use as an
IS-IS routing protocol. This protocol is described in [Ref2].
The protocol includes methods for data and routing
reduction when operating over broadcast networks. This
accomplished by election of a Designated Router for
broadcast network, which then originates an LSA for the network
The OSPF Working Group of the IETF has extended this work
developing the OSPF protocol. The Designated Router concept
been greatly enhanced to further reduce the amount of
traffic required. Multicast capabilities are utilized
additional routing bandwidth reduction. An area routing
has been developed enabling
hiding/protection/reduction. Finally, the algorithms have
tailored for efficient operation in TCP/IP internets
1.4. Organization of this
The first three sections of this specification give a
overview of the protocol's capabilities and functions.
4-16 explain the protocol's mechanisms in detail.
formats, protocol constants and configuration items
specified in the appendices
Labels such as HelloInterval encountered in the text refer
protocol constants. They may or may not be configurable
Architectural constants are summarized in Appendix B
Configurable constants are summarized in Appendix C
The detailed specification of the protocol is presented in
of data structures. This is done in order to make
explanation more precise. Implementations of the protocol
required to support the functionality described, but need
use the precise data structures that appear in this memo
1.5.
The author would like to thank Ran Atkinson, Fred Baker,
Burgan, Rob Coltun, Dino Farinacci, Vince Fuller,
Jujjavarapu, Milo Medin, Tom Pusateri, Kannan Varadhan,
Moy Standards Track [Page 12]
RFC 2328 OSPF Version 2 April 1998
Zhang and the rest of the OSPF Working Group for the ideas
support they have given to this project
The OSPF Point-to-MultiPoint interface is based on work done
Fred Baker
The OSPF Cryptographic Authentication option was developed
Fred Baker and Ran Atkinson
2. The Link-state Database: organization and
The following subsections describe the organization of OSPF's link
state database, and the routing calculations that are performed
the database in order to produce a router's routing table
2.1. Representation of routers and
The Autonomous System's link-state database describes a
graph. The vertices of the graph consist of routers
networks. A graph edge connects two routers when they
attached via a physical point-to-point network. An
connecting a router to a network indicates that the router
an interface on the network. Networks can be either transit
stub networks. Transit networks are those capable of
data traffic that is neither locally originated nor
destined. A transit network is represented by a graph
having both incoming and outgoing edges. A stub network's
has only incoming edges
The neighborhood of each network node in the graph depends
the network's type (point-to-point, broadcast, NBMA or Point
to-MultiPoint) and the number of routers having an interface
the network. Three cases are depicted in Figure 1a.
indicate routers. Circles and oblongs indicate networks
Router names are prefixed with the letters RT and network
with the letter N. Router interface names are prefixed by
letter I. Lines between routers indicate point-to-
networks. The left side of the figure shows networks with
connected routers, with the resulting graphs shown on the right
Moy Standards Track [Page 13]
RFC 2328 OSPF Version 2 April 1998
**FROM**
* |RT1|RT2|
+---+Ia +---+ * ------------
|RT1|------|RT2| T RT1| | X |
+---+ Ib+---+ O RT2| X | |
* Ia| | X |
* Ib| X | |
Physical point-to-point
**FROM**
+---+ *
|RT7| * |RT7| N3|
+---+ T ------------
| O RT7| | |
+----------------------+ * N3| X | |
N3 *
Stub
**FROM**
+---+ +---+
|RT3| |RT4| |RT3|RT4|RT5|RT6|N2 |
+---+ +---+ * ------------------------
| N2 | * RT3| | | | | X |
+----------------------+ T RT4| | | | | X |
| | O RT5| | | | | X |
+---+ +---+ * RT6| | | | | X |
|RT5| |RT6| * N2| X | X | X | X | |
+---+ +---+
Broadcast or NBMA
Figure 1a: Network map
Moy Standards Track [Page 14]
RFC 2328 OSPF Version 2 April 1998
Networks and routers are represented by vertices
An edge connects Vertex A to Vertex B iff
intersection of Column A and Row B is marked
an X
The top of Figure 1a shows two routers connected by a point-to
point link. In the resulting link-state database graph, the
router vertices are directly connected by a pair of edges,
in each direction. Interfaces to point-to-point networks
not be assigned IP addresses. When interface addresses
assigned, they are modelled as stub links, with each
advertising a stub connection to the other router's
address. Optionally, an IP subnet can be assigned to the point
to-point network. In this case, both routers advertise a
link to the IP subnet, instead of advertising each others'
interface addresses
The middle of Figure 1a shows a network with only one
router (i.e., a stub network). In this case, the network
on the end of a stub connection in the link-state database'
graph
When multiple routers are attached to a broadcast network,
link-state database graph shows all routers
connected to the network vertex. This is pictured at the
of Figure 1a
Each network (stub or transit) in the graph has an IP
and associated network mask. The mask indicates the number
nodes on the network. Hosts attached directly to
(referred to as host routes) appear on the graph as
networks. The network mask for a host route is
0xffffffff, which indicates the presence of a single node
2.1.1. Representation of non-broadcast
As mentioned previously, OSPF can run over non-
networks in one of two modes: NBMA or Point-to-MultiPoint
The choice of mode determines the way that the
Moy Standards Track [Page 15]
RFC 2328 OSPF Version 2 April 1998
protocol and flooding work over the non-broadcast network
and the way that the network is represented in the link
state database
In NBMA mode, OSPF emulates operation over a
network: a Designated Router is elected for the
network, and the Designated Router originates an LSA for
network. The graph representation for broadcast networks
NBMA networks is identical. This representation is
in the middle of Figure 1a
NBMA mode is the most efficient way to run OSPF over non
broadcast networks, both in terms of link-state
size and in terms of the amount of routing protocol traffic
However, it has one significant restriction: it requires
routers attached to the NBMA network to be able
communicate directly. This restriction may be met on
non-broadcast networks, such as an ATM subnet
SVCs. But it is often not met on other non-
networks, such as PVC-only Frame Relay networks. On non
broadcast networks where not all routers can
directly you can break the non-broadcast network
logical subnets, with the routers on each subnet being
to communicate directly, and then run each separate
as an NBMA network (see [Ref15]). This however
quite a bit of administrative overhead, and is prone
misconfiguration. It is probably better to run such a non
broadcast network in Point-to-Multipoint mode
In Point-to-MultiPoint mode, OSPF treats all router-to
router connections over the non-broadcast network as if
were point-to-point links. No Designated Router is
for the network, nor is there an LSA generated for
network. In fact, a vertex for the Point-to-
network does not appear in the graph of the link-
database
Figure 1b illustrates the link-state database
of a Point-to-MultiPoint network. On the left side of
figure, a Point-to-MultiPoint network is pictured. It
assumed that all routers can communicate directly,
for routers RT4 and RT5. I3 though I6 indicate the routers
Moy Standards Track [Page 16]
RFC 2328 OSPF Version 2 April 1998
IP interface addresses on the Point-to-MultiPoint network
In the graphical representation of the link-state database
routers that can communicate directly over the Point-to
MultiPoint network are joined by bidirectional edges,
each router also has a stub connection to its own
interface address (which is in contrast to
representation of real point-to-point links; see Figure 1a).
On some non-broadcast networks, use of Point-to-
mode and data-link protocols such as Inverse ARP (
[Ref14]) will allow autodiscovery of OSPF neighbors
though broadcast support is not available
**FROM**
+---+ +---+
|RT3| |RT4| |RT3|RT4|RT5|RT6|
+---+ +---+ * --------------------
I3| N2 |I4 * RT3| | X | X | X |
+----------------------+ T RT4| X | | | X |
I5| |I6 O RT5| X | | | X |
+---+ +---+ * RT6| X | X | X | |
|RT5| |RT6| * I3| X | | | |
+---+ +---+ I4| | X | | |
I5| | | X | |
I6| | | | X |
Figure 1b: Network map
Point-to-MultiPoint
All routers can communicate directly over N2,
routers RT4 and RT5. I3 through I6 indicate
interface
Moy Standards Track [Page 17]
RFC 2328 OSPF Version 2 April 1998
2.1.2. An example link-state
Figure 2 shows a sample map of an Autonomous System.
rectangle labelled H1 indicates a host, which has a
connection to Router RT12. Router RT12 is
advertising a host route. Lines between routers
physical point-to-point networks. The only point-to-
network that has been assigned interface addresses is
one joining Routers RT6 and RT10. Routers RT5 and RT7
BGP connections to other Autonomous Systems. A set of BGP
learned routes have been displayed for both of
routers
A cost is associated with the output side of each
interface. This cost is configurable by the
administrator. The lower the cost, the more likely
interface is to be used to forward data traffic. Costs
also associated with the externally derived routing
(e.g., the BGP-learned routes).
The directed graph resulting from the map in Figure 2
depicted in Figure 3. Arcs are labelled with the cost
the corresponding router output interface. Arcs having
labelled cost have a cost of 0. Note that arcs leading
networks to routers always have cost 0; they are
nonetheless. Note also that the externally derived
data appears on the graph as stubs
The link-state database is pieced together from
generated by the routers. In the associated
representation, the neighborhood of each router or
network is represented in a single, separate LSA. Figure 4
shows these LSAs graphically. Router RT12 has an
to two broadcast networks and a SLIP line to a host
Network N6 is a broadcast network with three
routers. The cost of all links from Network N6 to
attached routers is 0. Note that the LSA for Network N6
actually generated by one of the network's attached routers
the router that has been elected Designated Router for
network
Moy Standards Track [Page 18]
RFC 2328 OSPF Version 2 April 1998
+
| 3+---+ N12 N14
N1|--|RT1|\ 1 \ N13 /
| +---+ \ 8\ |8/8
+ \ ____ \|/
/ \ 1+---+8 8+---+6
* N3 *---|RT4|------|RT5|--------+
\____/ +---+ +---+ |
+ / | |7 |
| 3+---+ / | | |
N2|--|RT2|/1 |1 |6 |
| +---+ +---+8 6+---+ |
+ |RT3|--------------|RT6| |
+---+ +---+ |
|2 Ia|7 |
| | |
+---------+ | |
N4 | |
| |
| |
N11 | |
+---------+ | |
| | | N12
|3 | |6 2/
+---+ | +---+/
|RT9| | |RT7|---N15
+---+ | +---+ 9
|1 + | |1
_|__ | Ib|5 __|_
/ \ 1+----+2 | 3+----+1 / \
* N9 *------|RT11|----|---|RT10|---* N6 *
\____/ +----+ | +----+ \____/
| | |
|1 + |1
+--+ 10+----+ N8 +---+
|H1|-----|RT12| |RT8|
+--+SLIP +----+ +---+
|2 |4
| |
+---------+ +--------+
N10 N
Moy Standards Track [Page 19]
RFC 2328 OSPF Version 2 April 1998
Figure 2: A sample Autonomous
**FROM**
|RT|RT|RT|RT|RT|RT|RT|RT|RT|RT|RT|RT
|1 |2 |3 |4 |5 |6 |7 |8 |9 |10|11|12|N3|N6|N8|N9|
----- ---------------------------------------------
RT1| | | | | | | | | | | | |0 | | | |
RT2| | | | | | | | | | | | |0 | | | |
RT3| | | | | |6 | | | | | | |0 | | | |
RT4| | | | |8 | | | | | | | |0 | | | |
RT5| | | |8 | |6 |6 | | | | | | | | | |
RT6| | |8 | |7 | | | | |5 | | | | | | |
RT7| | | | |6 | | | | | | | | |0 | | |
* RT8| | | | | | | | | | | | | |0 | | |
* RT9| | | | | | | | | | | | | | | |0 |
T RT10| | | | | |7 | | | | | | | |0 |0 | |
O RT11| | | | | | | | | | | | | | |0 |0 |
* RT12| | | | | | | | | | | | | | | |0 |
* N1|3 | | | | | | | | | | | | | | | |
N2| |3 | | | | | | | | | | | | | | |
N3|1 |1 |1 |1 | | | | | | | | | | | | |
N4| | |2 | | | | | | | | | | | | | |
N6| | | | | | |1 |1 | |1 | | | | | | |
N7| | | | | | | |4 | | | | | | | | |
N8| | | | | | | | | |3 |2 | | | | | |
N9| | | | | | | | |1 | |1 |1 | | | | |
N10| | | | | | | | | | | |2 | | | | |
N11| | | | | | | | |3 | | | | | | | |
N12| | | | |8 | |2 | | | | | | | | | |
N13| | | | |8 | | | | | | | | | | | |
N14| | | | |8 | | | | | | | | | | | |
N15| | | | | | |9 | | | | | | | | | |
H1| | | | | | | | | | | |10| | | | |
Figure 3: The resulting directed
Networks and routers are represented by vertices
An edge of cost X connects Vertex A to Vertex B
the intersection of Column A and Row B is
with an X
Moy Standards Track [Page 20]
RFC 2328 OSPF Version 2 April 1998
**FROM** **FROM**
|RT12|N9|N10|H1| |RT9|RT11|RT12|N9|
* -------------------- * ----------------------
* RT12| | | | | * RT9| | | |0 |
T N9|1 | | | | T RT11| | | |0 |
O N10|2 | | | | O RT12| | | |0 |
* H1|10 | | | | * N9| | | | |
* *
RT12's router-LSA N9's network-
Figure 4: Individual link state
Networks and routers are represented by vertices
An edge of cost X connects Vertex A to Vertex B
the intersection of Column A and Row B is
with an X
2.2. The shortest-path
When no OSPF areas are configured, each router in the
System has an identical link-state database, leading to
identical graphical representation. A router generates
routing table from this graph by calculating a tree of
paths with the router itself as root. Obviously, the shortest
path tree depends on the router doing the calculation.
shortest-path tree for Router RT6 in our example is depicted
Figure 5.
The tree gives the entire path to any destination network
host. However, only the next hop to the destination is used
the forwarding process. Note also that the best route to
router has also been calculated. For the processing of
data, we note the next hop and distance to any
advertising external routes. The resulting routing table
Router RT6 is pictured in Table 2. Note that there is
separate route for each end of a numbered point-to-point
(in this case, the serial line between Routers RT6 and RT10).
Routes to networks belonging to other AS'es (such as N12)
as dashed lines on the shortest path tree in Figure 5. Use
Moy Standards Track [Page 21]
RFC 2328 OSPF Version 2 April 1998
RT6(origin
RT5 o------------o-----------o
/|\ 6 |\ 7
8/8|8\ | \
/ | \ 6| \
o | o | \7
N12 o N14 | \
N13 2 | \
N4 o-----o RT3 \
/ \ 5
1/ RT10 o-------o
/ |\
RT4 o-----o N3 3| \1
/| | \ N6 RT
/ | N8 o o---------
/ | | | /|
RT2 o o RT1 | | 2/ |9
/ | | |RT8 / |
/3 |3 RT11 o o o
/ | | | N12 N15
N2 o o N1 1| |4
| |
N9 o o N
/|
/ |
N11 RT9 / |RT12
o--------o-------o o--------o H
3 | 10
|2
|
o N10
Figure 5: The SPF tree for Router RT
Edges that are not marked with a cost have a cost
of zero (these are network-to-router links).
to networks N12-N15 are external information that
considered in Section 2.3
Moy Standards Track [Page 22]
RFC 2328 OSPF Version 2 April 1998
Destination Next Hop
__________________________________
N1 RT3 10
N2 RT3 10
N3 RT3 7
N4 RT3 8
Ib * 7
Ia RT10 12
N6 RT10 8
N7 RT10 12
N8 RT10 10
N9 RT10 11
N10 RT10 13
N11 RT10 14
H1 RT10 21
__________________________________
RT5 RT5 6
RT7 RT10 8
Table 2: The portion of Router RT6's routing table listing
destinations
this externally derived routing information is considered in
next section
2.3. Use of external routing
After the tree is created the external routing information
examined. This external routing information may originate
another routing protocol such as BGP, or be
configured (static routes). Default routes can also be
as part of the Autonomous System's external routing information
External routing information is flooded unaltered throughout
AS. In our example, all the routers in the Autonomous
know that Router RT7 has two external routes, with metrics 2
9.
OSPF supports two types of external metrics. Type 1
metrics are expressed in the same units as OSPF interface
Moy Standards Track [Page 23]
RFC 2328 OSPF Version 2 April 1998
(i.e., in terms of the link state metric). Type 2
metrics are an order of magnitude larger; any Type 2 metric
considered greater than the cost of any path internal to the AS
Use of Type 2 external metrics assumes that routing
AS'es is the major cost of routing a packet, and eliminates
need for conversion of external costs to internal link
metrics
As an example of Type 1 external metric processing, suppose
the Routers RT7 and RT5 in Figure 2 are advertising Type 1
external metrics. For each advertised external route, the
cost from Router RT6 is calculated as the sum of the
route's advertised cost and the distance from Router RT6 to
advertising router. When two routers are advertising the
external destination, RT6 picks the advertising router
the minimum total cost. RT6 then sets the next hop to
external destination equal to the next hop that would be
when routing packets to the chosen advertising router
In Figure 2, both Router RT5 and RT7 are advertising an
route to destination Network N12. Router RT7 is preferred
it is advertising N12 at a distance of 10 (8+2) to Router RT6,
which is better than Router RT5's 14 (6+8). Table 3 shows
entries that are added to the routing table when external
are examined
Destination Next Hop
__________________________________
N12 RT10 10
N13 RT5 14
N14 RT5 14
N15 RT10 17
Table 3: The portion of Router RT6's routing
listing external destinations
Processing of Type 2 external metrics is simpler. The
boundary router advertising the smallest external metric
Moy Standards Track [Page 24]
RFC 2328 OSPF Version 2 April 1998
chosen, regardless of the internal distance to the AS
router. Suppose in our example both Router RT5 and Router RT
were advertising Type 2 external routes. Then all
destined for Network N12 would be forwarded to Router RT7,
2 < 8. When several equal-cost Type 2 routes exist,
internal distance to the advertising routers is used to
the tie
Both Type 1 and Type 2 external metrics can be present in the
at the same time. In that event, Type 1 external metrics
take precedence
This section has assumed that packets destined for
destinations are always routed through the advertising
boundary router. This is not always desirable. For example
suppose in Figure 2 there is an additional router attached
Network N6, called Router RTX. Suppose further that RTX
not participate in OSPF routing, but does exchange
information with the AS boundary router RT7. Then, Router RT
would end up advertising OSPF external routes for
destinations that should be routed to RTX. An extra hop
sometimes be introduced if packets for these destinations
always be routed first to Router RT7 (the advertising router).
To deal with this situation, the OSPF protocol allows an
boundary router to specify a "forwarding address" in its AS
external-LSAs. In the above example, Router RT7 would
RTX's IP address as the "forwarding address" for all
destinations whose packets should be routed directly to RTX
The "forwarding address" has one other application. It
routers in the Autonomous System's interior to function
"route servers". For example, in Figure 2 the router RT6
become a route server, gaining external routing
through a combination of static configuration and
routing protocols. RT6 would then start advertising itself
an AS boundary router, and would originate a collection of
AS-external-LSAs. In each AS-external-LSA, Router RT6
specify the correct Autonomous System exit point to use for
destination through appropriate setting of the LSA's "
address" field
Moy Standards Track [Page 25]
RFC 2328 OSPF Version 2 April 1998
2.4. Equal-cost
The above discussion has been simplified by considering only
single route to any destination. In reality, if
equal-cost routes to a destination exist, they are
discovered and used. This requires no conceptual changes to
algorithm, and its discussion is postponed until we consider
tree-building process in more detail
With equal cost multipath, a router potentially has
available next hops towards any given destination
3. Splitting the AS into
OSPF allows collections of contiguous networks and hosts to
grouped together. Such a group, together with the routers
interfaces to any one of the included networks, is called an area
Each area runs a separate copy of the basic link-state
algorithm. This means that each area has its own link-
database and corresponding graph, as explained in the
section
The topology of an area is invisible from the outside of the area
Conversely, routers internal to a given area know nothing of
detailed topology external to the area. This isolation of
enables the protocol to effect a marked reduction in routing
as compared to treating the entire Autonomous System as a
link-state domain
With the introduction of areas, it is no longer true that
routers in the AS have an identical link-state database. A
actually has a separate link-state database for each area it
connected to. (Routers connected to multiple areas are called
border routers). Two routers belonging to the same area have,
that area, identical area link-state databases
Routing in the Autonomous System takes place on two levels
depending on whether the source and destination of a packet
in the same area (intra-area routing is used) or different
(inter-area routing is used). In intra-area routing, the packet
routed solely on information obtained within the area; no
Moy Standards Track [Page 26]
RFC 2328 OSPF Version 2 April 1998
information obtained from outside the area can be used.
protects intra-area routing from the injection of bad
information. We discuss inter-area routing in Section 3.2.
3.1. The backbone of the Autonomous
The OSPF backbone is the special OSPF Area 0 (often written
Area 0.0.0.0, since OSPF Area ID's are typically formatted as
addresses). The OSPF backbone always contains all area
routers. The backbone is responsible for distributing
information between non-backbone areas. The backbone must
contiguous. However, it need not be physically contiguous
backbone connectivity can be established/maintained through
configuration of virtual links
Virtual links can be configured between any two backbone
that have an interface to a common non-backbone area.
links belong to the backbone. The protocol treats two
joined by a virtual link as if they were connected by
unnumbered point-to-point backbone network. On the graph of
backbone, two such routers are joined by arcs whose costs
the intra-area distances between the two routers. The
protocol traffic that flows along the virtual link uses intra
area routing only
3.2. Inter-area
When routing a packet between two non-backbone areas
backbone is used. The path that the packet will travel can
broken up into three contiguous pieces: an intra-area path
the source to an area border router, a backbone path between
source and destination areas, and then another intra-area
to the destination. The algorithm finds the set of such
that have the smallest cost
Looking at this another way, inter-area routing can be
as forcing a star configuration on the Autonomous System,
the backbone as hub and each of the non-backbone areas
spokes
Moy Standards Track [Page 27]
RFC 2328 OSPF Version 2 April 1998
The topology of the backbone dictates the backbone paths
between areas. The topology of the backbone can be enhanced
adding virtual links. This gives the system administrator
control over the routes taken by inter-area traffic
The correct area border router to use as the packet exits
source area is chosen in exactly the same way
advertising external routes are chosen. Each area border
in an area summarizes for the area its cost to all
external to the area. After the SPF tree is calculated for
area, routes to all inter-area destinations are calculated
examining the summaries of the area border routers
3.3. Classification of
Before the introduction of areas, the only OSPF routers having
specialized function were those advertising external
information, such as Router RT5 in Figure 2. When the AS
split into OSPF areas, the routers are further divided
to function into the following four overlapping categories
Internal
A router with all directly connected networks belonging
the same area. These routers run a single copy of the
routing algorithm
Area border
A router that attaches to multiple areas. Area
routers run multiple copies of the basic algorithm, one
for each attached area. Area border routers condense
topological information of their attached areas
distribution to the backbone. The backbone in
distributes the information to the other areas
Backbone
A router that has an interface to the backbone area.
includes all routers that interface to more than one
(i.e., area border routers). However, backbone routers
not have to be area border routers. Routers with
interfaces connecting to the backbone area are supported
Moy Standards Track [Page 28]
RFC 2328 OSPF Version 2 April 1998
AS boundary
A router that exchanges routing information with
belonging to other Autonomous Systems. Such a
advertises AS external routing information throughout
Autonomous System. The paths to each AS boundary router
known by every router in the AS. This classification
completely independent of the previous classifications:
boundary routers may be internal or area border routers,
may or may not participate in the backbone
3.4. A sample area
Figure 6 shows a sample area configuration. The first
consists of networks N1-N4, along with their attached
RT1-RT4. The second area consists of networks N6-N8, along
their attached routers RT7, RT8, RT10 and RT11. The third
consists of networks N9-N11 and Host H1, along with
attached routers RT9, RT11 and RT12. The third area has
configured so that networks N9-N11 and Host H1 will all
grouped into a single route, when advertised external to
area (see Section 3.5 for more details).
In Figure 6, Routers RT1, RT2, RT5, RT6, RT8, RT9 and RT12
internal routers. Routers RT3, RT4, RT7, RT10 and RT11 are
border routers. Finally, as before, Routers RT5 and RT7 are
boundary routers
Figure 7 shows the resulting link-state database for the Area 1.
The figure completely describes that area's intra-area routing
It also shows the complete view of the internet for the
internal routers RT1 and RT2. It is the job of the area
routers, RT3 and RT4, to advertise into Area 1 the distances
all destinations external to the area. These are indicated
Figure 7 by the dashed stub routes. Also, RT3 and RT4
advertise into Area 1 the location of the AS boundary
RT5 and RT7. Finally, AS-external-LSAs from RT5 and RT7
flooded throughout the entire AS, and in particular
Area 1. These LSAs are included in Area 1's database, and
routes to Networks N12-N15.
Routers RT3 and RT4 must also summarize Area 1's topology
Moy Standards Track [Page 29]
RFC 2328 OSPF Version 2 April 1998
...........................
. + .
. | 3+---+ . N12 N14
. N1|--|RT1|\ 1 . \ N13 /
. | +---+ \ . 8\ |8/8
. + \ ____ . \|/
. / \ 1+---+8 8+---+6
. * N3 *---|RT4|------|RT5|--------+
. \____/ +---+ +---+ |
. + / \ . |7 |
. | 3+---+ / \ . | |
. N2|--|RT2|/1 1\ . |6 |
. | +---+ +---+8 6+---+ |
. + |RT3|------|RT6| |
. +---+ +---+ |
. 2/ . Ia|7 |
. / . | |
. +---------+ . | |
.Area 1 N4 . | |
........................... | |
.......................... | |
. N11 . | |
. +---------+ . | |
. | . | | N12
. |3 . Ib|5 |6 2/
. +---+ . +----+ +---+/
. |RT9| . .........|RT10|.....|RT7|---N15.
. +---+ . . +----+ +---+ 9 .
. |1 . . + /3 1\ |1 .
. _|__ . . | / \ __|_ .
. / \ 1+----+2 |/ \ / \ .
. * N9 *------|RT11|----| * N6 * .
. \____/ +----+ | \____/ .
. | . . | | .
. |1 . . + |1 .
. +--+ 10+----+ . . N8 +---+ .
. |H1|-----|RT12| . . |RT8| .
. +--+SLIP +----+ . . +---+ .
. |2 . . |4 .
. | . . | .
. +---------+ . . +--------+ .
Moy Standards Track [Page 30]
RFC 2328 OSPF Version 2 April 1998
. N10 . . N7 .
. . .Area 2 .
.Area 3 . ................................
..........................
Figure 6: A sample OSPF area
distribution to the backbone. Their backbone LSAs are shown
Table 4. These summaries show which networks are contained
Area 1 (i.e., Networks N1-N4), and the distance to
networks from the routers RT3 and RT4 respectively
The link-state database for the backbone is shown in Figure 8.
The set of routers pictured are the backbone routers.
RT11 is a backbone router because it belongs to two areas.
order to make the backbone connected, a virtual link has
configured between Routers R10 and R11.
The area border routers RT3, RT4, RT7, RT10 and RT11
the routing information of their attached non-backbone areas
distribution via the backbone; these are the dashed stubs
appear in Figure 8. Remember that the third area has
configured to condense Networks N9-N11 and Host H1 into a
route. This yields a single dashed line for networks N9-N11
Host H1 in Figure 8. Routers RT5 and RT7 are AS
routers; their externally derived information also appears
the graph in Figure 8 as stubs
Network RT3 adv. RT4 adv
____________________