As per Relevance of the word designated, we have this rfc below:









Network Working Group J.
Request for Comments: 1583 Proteon, Inc
Obsoletes: 1247 March 1994
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



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. Separate routes can be
for each IP Type of Service. 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

OSPF Version 2 was originally documented in RFC 1247.
differences between RFC 1247 and this memo are explained in
E. The differences consist of bug fixes and clarifications, and
backward-compatible in nature. Implementations of RFC 1247 and
this memo will interoperate

Please send comments to ospf@gated.cornell.edu








Moy [Page 1]

RFC 1583 OSPF Version 2 March 1994


Table of

1 Introduction ........................................... 5
1.1 Protocol Overview ...................................... 5
1.2 Definitions of commonly used terms ..................... 6
1.3 Brief history of link-state routing technology ......... 9
1.4 Organization of this document .......................... 9
2 The Topological Database .............................. 10
2.1 The shortest-path tree ................................ 13
2.2 Use of external routing information ................... 16
2.3 Equal-cost multipath .................................. 20
2.4 TOS-based routing ..................................... 20
3 Splitting the AS into Areas ........................... 21
3.1 The backbone of the Autonomous System ................. 22
3.2 Inter-area routing .................................... 22
3.3 Classification of routers ............................. 23
3.4 A sample area configuration ........................... 24
3.5 IP subnetting support ................................. 30
3.6 Supporting stub areas ................................. 31
3.7 Partitions of areas ................................... 32
4 Functional Summary .................................... 34
4.1 Inter-area routing .................................... 35
4.2 AS external routes .................................... 35
4.3 Routing protocol packets .............................. 35
4.4 Basic implementation requirements ..................... 38
4.5 Optional OSPF capabilities ............................ 39
5 Protocol data structures .............................. 41
6 The Area Data Structure ............................... 42
7 Bringing Up Adjacencies ............................... 45
7.1 The Hello Protocol .................................... 45
7.2 The Synchronization of Databases ...................... 46
7.3 The Designated Router ................................. 47
7.4 The Backup Designated Router .......................... 48
7.5 The graph of adjacencies .............................. 49
8 Protocol Packet Processing ............................ 50
8.1 Sending protocol packets .............................. 51
8.2 Receiving protocol packets ............................ 53
9 The Interface Data Structure .......................... 55
9.1 Interface states ...................................... 58
9.2 Events causing interface state changes ................ 61
9.3 The Interface state machine ........................... 62
9.4 Electing the Designated Router ........................ 65
9.5 Sending Hello packets ................................. 67
9.5.1 Sending Hello packets on non-broadcast networks ....... 68
10 The Neighbor Data Structure ........................... 69
10.1 Neighbor states ....................................... 72
10.2 Events causing neighbor state changes ................. 75
10.3 The Neighbor state machine ............................ 77



Moy [Page 2]

RFC 1583 OSPF Version 2 March 1994


10.4 Whether to become adjacent ............................ 83
10.5 Receiving Hello Packets ............................... 83
10.6 Receiving Database Description Packets ................ 86
10.7 Receiving Link State Request Packets .................. 89
10.8 Sending Database Description Packets .................. 89
10.9 Sending Link State Request Packets .................... 90
10.10 An Example ............................................ 91
11 The Routing Table Structure ........................... 93
11.1 Routing table lookup .................................. 96
11.2 Sample routing table, without areas ................... 97
11.3 Sample routing table, with areas ...................... 98
12 Link State Advertisements ............................ 100
12.1 The Link State Advertisement Header .................. 101
12.1.1 LS age ............................................... 102
12.1.2 Options .............................................. 102
12.1.3 LS type .............................................. 103
12.1.4 Link State ID ........................................ 103
12.1.5 Advertising Router ................................... 105
12.1.6 LS sequence number ................................... 105
12.1.7 LS checksum .......................................... 106
12.2 The link state database .............................. 107
12.3 Representation of TOS ................................ 108
12.4 Originating link state advertisements ................ 109
12.4.1 Router links ......................................... 112
12.4.2 Network links ........................................ 118
12.4.3 Summary links ........................................ 120
12.4.4 Originating summary links into stub areas ............ 123
12.4.5 AS external links .................................... 124
13 The Flooding Procedure ............................... 126
13.1 Determining which link state is newer ................ 130
13.2 Installing link state advertisements in the database . 130
13.3 Next step in the flooding procedure .................. 131
13.4 Receiving self-originated link state ................. 134
13.5 Sending Link State Acknowledgment packets ............ 135
13.6 Retransmitting link state advertisements ............. 136
13.7 Receiving link state acknowledgments ................. 138
14 Aging The Link State Database ........................ 139
14.1 Premature aging of advertisements .................... 139
15 Virtual Links ........................................ 140
16 Calculation Of The Routing Table ..................... 142
16.1 Calculating the shortest-path tree for an area ....... 143
16.1.1 The next hop calculation ............................. 149
16.2 Calculating the inter-area routes .................... 150
16.3 Examining transit areas' summary links ............... 152
16.4 Calculating AS external routes ....................... 154
16.5 Incremental updates -- summary link advertisements ... 156
16.6 Incremental updates -- AS external link advertisements 157
16.7 Events generated as a result of routing table changes 157



Moy [Page 3]

RFC 1583 OSPF Version 2 March 1994


16.8 Equal-cost multipath ................................. 158
16.9 Building the non-zero-TOS portion of the routing table 158
Footnotes ............................................ 161
References ........................................... 164
A OSPF data formats .................................... 166
A.1 Encapsulation of OSPF packets ........................ 166
A.2 The Options field .................................... 168
A.3 OSPF Packet Formats .................................. 170
A.3.1 The OSPF packet header ............................... 171
A.3.2 The Hello packet ..................................... 173
A.3.3 The Database Description packet ...................... 175
A.3.4 The Link State Request packet ........................ 177
A.3.5 The Link State Update packet ......................... 179
A.3.6 The Link State Acknowledgment packet ................. 181
A.4 Link state advertisement formats ..................... 183
A.4.1 The Link State Advertisement header .................. 184
A.4.2 Router links advertisements .......................... 186
A.4.3 Network links advertisements ......................... 190
A.4.4 Summary link advertisements .......................... 192
A.4.5 AS external link advertisements ...................... 194
B Architectural Constants .............................. 196
C Configurable Constants ............................... 198
C.1 Global parameters .................................... 198
C.2 Area parameters ...................................... 198
C.3 Router interface parameters .......................... 200
C.4 Virtual link parameters .............................. 202
C.5 Non-broadcast, multi-access network parameters ....... 203
C.6 Host route parameters ................................ 203
D Authentication ....................................... 205
D.1 AuType 0 -- No authentication ........................ 205
D.2 AuType 1 -- Simple password .......................... 205
E Differences from RFC 1247 ............................ 207
E.1 A fix for a problem with OSPF Virtual links .......... 207
E.2 Supporting supernetting and subnet 0 ................. 208
E.3 Obsoleting LSInfinity in router links advertisements . 209
E.4 TOS encoding updated ................................. 209
E.5 Summarizing routes into transit areas ................ 210
E.6 Summarizing routes into stub areas ................... 210
E.7 Flushing anomalous network links advertisements ...... 210
E.8 Required Statistics appendix deleted ................. 211
E.9 Other changes ........................................ 211
F. An algorithm for assigning Link State IDs ............ 213
Security Considerations .............................. 216
Author's Address ..................................... 216







Moy [Page 4]

RFC 1583 OSPF Version 2 March 1994


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
subnetting, TOS-based routing and the tagging of externally-
routing information. OSPF also provides for the authentication
routing updates, and utilizes IP multicast when sending/
the updates. In addition, much work has been done to produce
protocol that responds quickly to topology changes, yet
small amounts of routing protocol traffic

The author would like to thank Fred Baker, Jeffrey Burgan,
Coltun, Dino Farinacci, Vince Fuller, Phanindra Jujjavarapu,
Medin, Kannan Varadhan and the rest of the OSPF working group
the ideas and support they have given to this project

1.1. Protocol

OSPF routes IP packets based solely on the destination
address and IP Type of Service found in the IP packet header
IP packets are routed "as is" -- they are not encapsulated
any further protocol headers as they transit the
System. OSPF is a dynamic routing protocol. It quickly
topological changes in the AS (such as router
failures) and calculates new loop-free routes after a period
convergence. This period of convergence is short and involves
minimum of routing traffic

In a link-state routing protocol, each router maintains
database describing the Autonomous System's topology.
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

All routers run the exact same algorithm, in parallel. From
topological database, each router constructs a tree of
paths with itself as root. This shortest-path tree gives



Moy [Page 5]

RFC 1583 OSPF Version 2 March 1994


route to each destination in the Autonomous System.
derived routing information appears on the tree as leaves

OSPF calculates separate routes for each Type of Service (TOS).
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;
single authentication scheme is configured for each area.
enables some areas to use much stricter authentication
others

Externally derived routing data (e.g., routes learned from
Exterior Gateway Protocol (EGP)) is passed
throughout the Autonomous System. This externally derived
is kept separate from the OSPF protocol's link state data.
external route can also be tagged by the advertising router
enabling the passing of additional information between
on the boundaries of the Autonomous System


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 [RS-85-153] for an introduction to IP




Moy [Page 6]

RFC 1583 OSPF Version 2 March 1994



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
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.

Multi-access
Those physical networks that support the attachment
multiple (more than two) routers. Each pair of routers
such a network is assumed to be able to communicate
(e.g., multi-drop networks are excluded).


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



Moy [Page 7]

RFC 1583 OSPF Version 2 March 1994


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.
multi-access networks, neighbors are dynamically
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
Describes the local state of a router or network.
includes the state of the router's interfaces
adjacencies. Each link state advertisement is
throughout the routing domain. The collected link
advertisements of all routers and networks forms
protocol's topological database

Hello
The part of the OSPF protocol used to establish and
neighbor relationships. On multi-access networks the
Protocol can also dynamically discover neighboring routers

Designated
Each multi-access network that has at least two
routers has a Designated Router. The Designated
generates a link state advertisement for the multi-
network and has other special responsibilities in
running of the protocol. The Designated Router is
by the Hello Protocol

The Designated Router concept enables a reduction in
number of adjacencies required on a multi-access network
This in turn reduces the amount of routing protocol
and the size of the topological 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





Moy [Page 8]

RFC 1583 OSPF Version 2 March 1994


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 [McQuillan]. It has formed the starting point
all 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 [Perlman].
These modifications dealt with increasing the fault tolerance
the routing protocol through, among other things, adding
checksum to the link state advertisements (thereby
database corruption). The paper also included means
reducing the routing traffic overhead in a link-state protocol
This was accomplished by introducing mechanisms which
the interval between link state advertisement originations to
increased by an order of magnitude

A link-state algorithm has also been proposed for use as an
IS-IS routing protocol. This protocol is described in [DEC].
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 a link
advertisement for the network

The OSPF subcommittee 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 algorithm has
modified 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.



Moy [Page 9]

RFC 1583 OSPF Version 2 March 1994


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 explained in Appendix B.
configurable constants are explained 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


2. The Topological

The Autonomous System's topological database describes a
graph. The vertices of the graph consist of routers and networks
A graph edge connects two routers when they are attached via
physical point-to-point network. An edge connecting a router to
network indicates that the router has an interface on the network

The vertices of the graph can be further typed according
function. Only some of these types carry transit data traffic;
is, traffic that is neither locally originated nor locally destined
Vertices that can carry transit traffic are indicated on the
by having both incoming and outgoing edges



Vertex type Vertex name Transit
_____________________________________
1 Router
2 Network
3 Stub network


Table 1: OSPF vertex types


OSPF supports the following types of physical networks


Point-to-point
A network that joins a single pair of routers. A 56Kb
line is an example of a point-to-point network



Moy [Page 10]

RFC 1583 OSPF Version 2 March 1994


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).
routers are discovered dynamically on these nets using OSPF'
Hello Protocol. The Hello Protocol itself takes advantage
the broadcast capability. The protocol makes further use
multicast capabilities, if they exist. An ethernet is
example of a broadcast network

Non-broadcast
Networks supporting many (more than two) routers, but having
broadcast capability. Neighboring routers are also
on these nets using OSPF's Hello Protocol. However, due to
lack of broadcast capability, some configuration information
necessary for the correct operation of the Hello Protocol.
these networks, OSPF protocol packets that are
multicast need to be sent to each neighboring router, in turn
An X.25 Public Data Network (PDN) is an example of a non
broadcast network


The neighborhood of each network node in the graph depends
whether the network has multi-access capabilities (either
or non-broadcast) and, if so, the number of routers having
interface to the network. The three cases are depicted in Figure 1.
Rectangles indicate routers. Circles and oblongs indicate multi
access networks. Router names are prefixed with the letters RT
network names with the letter N. Router interface names
prefixed by the letter I. Lines between routers indicate point-to
point networks. The left side of the figure shows a network
its connected routers, with the resulting graph shown on the right

Two routers joined by a point-to-point network are represented
the directed graph as being directly connected by a pair of edges
one in each direction. Interfaces to physical point-to-
networks need not be assigned IP addresses. Such a point-to-
network is called unnumbered. The graphical representation
point-to-point networks is designed so that unnumbered networks
be supported naturally. When interface addresses exist, they
modelled as stub routes. Note that each router would then have
stub connection to the other router's interface address (see
1).

When multiple routers are attached to a multi-access network,
directed graph shows all routers bidirectionally connected to
network vertex (again, see Figure 1). If only a single router
attached to a multi-access network, the network will appear in



Moy [Page 11]

RFC 1583 OSPF Version 2 March 1994





**FROM**

* |RT1|RT2|
+---+Ia +---+ * ------------
|RT1|------|RT2| T RT1| | X |
+---+ Ib+---+ O RT2| X | |
* Ia| | X |
* Ib| X | |

Physical point-to-point

**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 | |
+---+ +---+

Multi-access

**FROM**
+---+ *
|RT7| * |RT7| N3|
+---+ T ------------
| O RT7| | |
+----------------------+ * N3| X | |
N3 *

Stub multi-access



Figure 1: Network map

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






Moy [Page 12]

RFC 1583 OSPF Version 2 March 1994


directed graph as a stub connection

Each network (stub or transit) in the graph has an IP address
associated network mask. The mask indicates the number of nodes
the network. Hosts attached directly to routers (referred to
host routes) appear on the graph as stub networks. The network
for a host route is always 0xffffffff, which indicates the
of a single node

Figure 2 shows a sample map of an Autonomous System. The
labelled H1 indicates a host, which has a SLIP connection to
RT12. Router RT12 is therefore advertising a host route.
between routers indicate physical point-to-point networks. The
point-to-point network that has been assigned interface addresses
the one joining Routers RT6 and RT10. Routers RT5 and RT7 have
connections to other Autonomous Systems. A set of EGP-
routes have been displayed for both of these routers

A cost is associated with the output side of each router interface
This cost is configurable by the system administrator. The
the cost, the more likely the interface is to be used to
data traffic. Costs are also associated with the externally
routing data (e.g., the EGP-learned routes).

The directed graph resulting from the map in Figure 2 is depicted
Figure 3. Arcs are labelled with the cost of the
router output interface. Arcs having no labelled cost have a
of 0. Note that arcs leading from networks to routers always
cost 0; they are significant nonetheless. Note also that
externally derived routing data appears on the graph as stubs

The topological database (or what has been referred to above as
directed graph) is pieced together from link state
generated by the routers. The neighborhood of each transit
is represented in a single, separate link state advertisement
Figure 4 shows graphically the link state representation of the
kinds of transit vertices: routers and multi-access networks
Router RT12 has an interface to two broadcast networks and a
line to a host. Network N6 is a broadcast network with
attached routers. The cost of all links from Network N6 to
attached routers is 0. Note that the link state advertisement
Network N6 is actually generated by one of the attached routers:
router that has been elected Designated Router for the network

2.1. The shortest-path

When no OSPF areas are configured, each router in the
System has an identical topological database, leading to



Moy [Page 13]

RFC 1583 OSPF Version 2 March 1994



+
| 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

Figure 2: A sample Autonomous







Moy [Page 14]

RFC 1583 OSPF Version 2 March 1994


**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 [Page 15]

RFC 1583 OSPF Version 2 March 1994


**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 links N9's network
advertisement

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

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 route 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 serial line (in
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
this externally derived routing information is considered in
next section


2.2. 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 EGP, or be



Moy [Page 16]

RFC 1583 OSPF Version 2 March 1994



RT6(origin
RT5 o------------o-----------o
/|\ 6 |\ 7
8/8|8\ | \
/ | \ | \
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.2











Moy [Page 17]

RFC 1583 OSPF Version 2 March 1994


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

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 equivalent to the link state metric. Type 2
external metrics are greater than the cost of any path
to the AS. Use of Type 2 external metrics assumes that
between AS'es is the major cost of routing a packet,
eliminates the need for conversion of external costs to
link state 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 external route, the distance
Router RT6 is calculated as the sum of the external route's
and the distance from Router RT6 to the advertising router.
every external destination, the router advertising the
route is discovered, and the next hop to the advertising
becomes the next hop to the destination




Moy [Page 18]

RFC 1583 OSPF Version 2 March 1994


Both Router RT5 and RT7 are advertising an external route
destination Network N12. Router RT7 is preferred since it
advertising N12 at a distance of 10 (8+2) to Router RT6,
is better than Router RT5's 14 (6+8). Table 3 shows the
that are added to the routing table when external routes
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
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



Moy [Page 19]

RFC 1583 OSPF Version 2 March 1994


boundary router to specify a "forwarding address" in
external advertisements. In the above example, Router RT7
specify RTX's IP address as the "forwarding address" for
those destinations whose packets should be routed directly
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
external advertisements. In each external advertisement,
RT6 would specify the correct Autonomous System exit point
use for the destination through appropriate setting of
advertisement's "forwarding address" field


2.3. 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


2.4. TOS-based

OSPF can calculate a separate set of routes for each IP Type
Service. This means that, for any destination, there
potentially be multiple routing table entries, one for each
TOS. The IP TOS values are represented in OSPF exactly as
appear in the IP packet header

Up to this point, all examples shown have assumed that routes
not vary on TOS. In order to differentiate routes based on TOS
separate interface costs can be configured for each TOS.
example, in Figure 2 there could be multiple costs (one for
TOS) listed for each interface. A cost for TOS 0 must always
specified

When interface costs vary based on TOS, a separate shortest



Moy [Page 20]

RFC 1583 OSPF Version 2 March 1994


tree is calculated for each TOS (see Section 2.1). In addition
external costs can vary based on TOS. For example, in Figure 2
Router RT7 could advertise a separate type 1 external metric
each TOS. Then, when calculating the TOS X distance to
N15 the cost of the shortest TOS X path to RT7 would be added
the TOS X cost advertised by RT7 for Network N15 (see
2.2).

All OSPF implementations must be capable of calculating
based on TOS. However, OSPF routers can be configured to
all packets on the TOS 0 path (see Appendix C), eliminating
need to calculate non-zero TOS paths. This can be used
conserve routing table space and processing resources in
router. These TOS-0-only routers can be mixed with routers
do route based on TOS. TOS-0-only routers will be avoided
much as possible when forwarding traffic requesting a non-
TOS

It may be the case that no path exists for some non-zero TOS
even if the router is calculating non-zero TOS paths. In
case, packets requesting that non-zero TOS are routed along
TOS 0 path (see Section 11.1).


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
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 topological database. A
actually has a separate topological 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 topological databases




Moy [Page 21]

RFC 1583 OSPF Version 2 March 1994


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
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 backbone consists of those networks not contained in
area, their attached routers, and those routers that belong
multiple areas. The backbone must be contiguous

It is possible to define areas in such a way that the
is no longer contiguous. In this case the system
must restore backbone connectivity by configuring 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 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

The backbone is responsible for distributing routing
between areas. The backbone itself has all of the properties
an area. The topology of the backbone is invisible to each
the areas, while the backbone itself knows nothing of
topology of the areas


3.2. Inter-area

When routing a packet between two areas the backbone is used
The path that the packet will travel can be broken up into
contiguous pieces: an intra-area path from the source to an
border router, a backbone path between the source
destination areas, and then another intra-area path to
destination. The algorithm finds the set of such paths
have the smallest cost

Looking at this another way, inter-area routing can be



Moy [Page 22]

RFC 1583 OSPF Version 2 March 1994


as forcing a star configuration on the Autonomous System,
the backbone as hub and each of the areas as spokes

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 other networks are calculated by
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. Routers with only backbone interfaces
belong to this category. These routers run a single copy
the basic 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 and an additional copy for
backbone. Area border routers condense the
information of their attached areas for distribution to
backbone. The backbone in turn distributes the
to the other areas

Backbone
A router that has an interface to the backbone.
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 connected to the backbone are considered to
internal routers



Moy [Page 23]

RFC 1583 OSPF Version 2 March 1994


AS boundary
A router that exchanges routing information with
belonging to other Autonomous Systems. Such a router has
external routes that are advertised throughout
Autonomous System. The path 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 topological database for the
1. The figure completely describes that area's intra-
routing. It also shows the complete view of the internet
the two internal routers RT1 and RT2. It is the job of the
border routers, RT3 and RT4, to advertise into Area 1
distances to all destinations external to the area. These
indicated in Figure 7 by the dashed stub routes. Also, RT3
RT4 must advertise into Area 1 the location of the AS
routers RT5 and RT7. Finally, external advertisements from RT
and RT7 are flooded throughout the entire AS, and in
throughout Area 1. These advertisements are included in
1's database, and yield routes to Networks N12-N15.

Routers RT3 and RT4 must also summarize Area 1's topology
distribution to the backbone. Their backbone advertisements
shown in Table 4. These summaries show which networks
contained in Area 1 (i.e., Networks N1-N4), and the distance
these networks from the routers RT3 and RT4 respectively





Moy [Page 24]

RFC 1583 OSPF Version 2 March 1994



...........................
. + .
. | 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 .
. | . . | .
. +---------+ . . +--------+ .
. N10 . . N7 .
. . .Area 2 .
.Area 3 . ................................
..........................

Figure 6: A sample OSPF area



Moy [Page 25]

RFC 1583 OSPF Version 2 March 1994


Network RT3 adv. RT4 adv
_____________________________
N1 4 4
N2 4 4
N3 1 1
N4 2 3


Table 4: Networks advertised to the
by Routers RT3 and RT4.

The topological 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.

Again, Routers RT3, RT4, RT7, RT10 and RT11 are area
routers. As Routers RT3 and RT4 did above, they have
the routing information of their attached areas for
via the backbone; these are the dashed stubs that appear
Figure 8. Remember that the third area has been configured
condense Networks N9-N11 and Host H1 into a single route.
yields a single dashed line for networks N9-N11 and Host H1
Figure 8. Routers RT5 and RT7 are AS boundary routers;
externally derived information also appears on the graph
Figure 8 as stubs

The backbone enables the exchange of summary information
area border routers. Every area border router hears the
summaries from all other area border routers. It then forms
picture of the distance to all networks outside of its area
examining the collected advertisements, and adding in
backbone distance to each advertising router

Again using Routers RT3 and RT4 as an example, the
goes as follows: They first calculate the SPF tree for
backbone. This gives the distances to all other area
routers. Also noted are the distances to networks (Ia and Ib
and AS boundary routers (RT5 and RT7) that belong to
backbone. This calculation is shown in Table 5.


Next, by looking at the area summaries from these area
routers, RT3 and RT4 can determine the distance to all
outside their area. These distances are then
internally to the area by RT3 and RT4. The advertisements
Router RT3 and RT4 will make into Area 1 are shown in Table 6.



Moy [Page 26]

RFC 1583 OSPF Version 2 March 1994



**FROM**

|RT|RT|RT|RT|RT|RT
|1 |2 |3 |4 |5 |7 |N3|
----- -------------------
RT1| | | | | | |0 |
RT2| | | | | | |0 |
RT3| | | | | | |0 |
* RT4| | | | | | |0 |
* RT5| | |14|8 | | | |
T RT7| | |20|14| | | |
O N1|3 | | | | | | |
* N2| |3 | | | | | |
* N3|1 |1 |1 |1 | | | |
N4| | |2 | | | | |
Ia,Ib| | |15|22| | | |
N6| | |16|15| | | |
N7| | |20|19| | | |
N8| | |18|18| | | |
N9-N11,H1| | |19|16| | | |
N12| | | | |8 |2 | |
N13| | | | |8 | | |
N14| | | | |8 | | |
N15| | | | | |9 | |

Figure 7: Area 1's Database

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 [Page 27]

RFC 1583 OSPF Version 2 March 1994


**FROM**

|RT|RT|RT|RT|RT|RT|
|3 |4 |5 |6 |7 |10|11|
------------------------
RT3| | | |6 | | | |
RT4| | |8 | | | | |
RT5| |8 | |6 |6 | | |
RT6|8 | |7 | | |5 | |
RT7| | |6 | | | | |
* RT10| | | |7 | | |2 |
* RT11| | | | | |3 | |
T N1|4 |4 | | | | | |
O N2|4 |4 | | | | | |
* N3|1 |1 | | | | | |
* N4|2 |3 | | | | | |
Ia| | | | | |5 | |
Ib| | | |7 | | | |
N6| | | | |1 |1 |3 |
N7| | | | |5 |5 |7 |
N8| | | | |4 |3 |2 |
N9-N11,H1| | | | | | |1 |
N12| | |8 | |2 | | |
N13| | |8 | | | | |
N14| | |8 | | | | |
N15| | | | |9 | | |


Figure 8: The backbone's database

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 [Page 28]

RFC 1583 OSPF Version 2 March 1994


Area border dist from dist
router RT3 RT
______________________________________
to RT3 * 21
to RT4 22 *
to RT7 20 14
to RT10 15 22
to RT11 18 25
______________________________________
to Ia 20 27
to Ib 15 22
______________________________________
to RT5 14 8
to RT7 20 14


Table 5: Backbone distances
by Routers RT3 and RT4.

Note that Table 6 assumes that an area range has been
for the backbone which groups Ia and Ib into a
advertisement


The information imported into Area 1 by Routers RT3 and RT
enables an internal router, such as RT1, to choose an
border router intelligently. Router RT1 would use RT4
traffic to Network N6, RT3 for traffic to Network N10, and
load share between the two for traffic to Network N8.



Destination RT3 adv. RT4 adv
_________________________________
Ia,Ib 15 22
N6 16 15
N7 20 19
N8 18 18
N9-N11,H1 19 26
_________________________________
RT5 14 8
RT7 20 14


Table 6: Destinations advertised into Area 1
by Routers RT3 and RT4.





Moy [Page 29]

RFC 1583 OSPF Version 2 March 1994


Router RT1 can also determine in this manner the shortest
to the AS boundary routers RT5 and RT7. Then, by looking at RT
and RT7's external advertisements, Router RT1 can decide
RT5 or RT7 when sending to a destination in another
System (one of the networks N12-N15).

Note that a failure of the line between Routers RT6 and RT10
will cause the backbone to become disconnected. Configuring
virtual link between Routers RT7 and RT10 will give the
more connectivity and more resistance to such failures. Also,
virtual link between RT7 and RT10 would allow a much
path between the third area (containing N9) and the router RT7,
which is advertising a good route to external network N12.


3.5. IP subnetting

OSPF attaches an IP address mask to each advertised route.
mask indicates the range of addresses being described by
particular route. For example, a summary advertisement for
destination 128.185.0.0 with a mask of 0xffff0000 actually
describing a single route to the collection