Skip to main content

Appendix D. Authentication

C. Configurable Constants

The OSPF protocol has quite a few configurable parameters.  These
parameters are listed below. They are grouped into general
functional categories (area parameters, interface parameters, etc.).
Sample values are given for some of the parameters.

Some parameter settings need to be consistent among groups of
routers. For example, all routers in an area must agree on that
area's parameters, and all routers attached to a network must agree
on that network's IP network number and mask.

Some parameters may be determined by router algorithms outside of
this specification (e.g., the address of a host connected to the
router via a SLIP line). From OSPF's point of view, these items are
still configurable.

C.1 Global parameters

In general, a separate copy of the OSPF protocol is run for each
area. Because of this, most configuration parameters are
defined on a per-area basis. The few global configuration
parameters are listed below.


Router ID
This is a 32-bit number that uniquely identifies the router
in the Autonomous System. One algorithm for Router ID
assignment is to choose the largest or smallest IP address
assigned to the router. If a router's OSPF Router ID is
changed, the router's OSPF software should be restarted
before the new Router ID takes effect. Before restarting in
order to change its Router ID, the router should flush its
self-originated LSAs from the routing domain (see Section
14.1), or they will persist for up to MaxAge minutes.

RFC1583Compatibility
Controls the preference rules used in Section 16.4 when
choosing among multiple AS-external-LSAs advertising the
same destination. When set to "enabled", the preference
rules remain those specified by RFC 1583 ([Ref9]). When set
to "disabled", the preference rules are those stated in






Section 16.4.1, which prevent routing loops when AS-
external-LSAs for the same destination have been originated
from different areas. Set to "enabled" by default.

In order to minimize the chance of routing loops, all OSPF
routers in an OSPF routing domain should have
RFC1583Compatibility set identically. When there are routers
present that have not been updated with the functionality
specified in Section 16.4.1 of this memo, all routers should
have RFC1583Compatibility set to "enabled". Otherwise, all
routers should have RFC1583Compatibility set to "disabled",
preventing all routing loops.

C.2 Area parameters

All routers belonging to an area must agree on that area's
configuration. Disagreements between two routers will lead to
an inability for adjacencies to form between them, with a
resulting hindrance to the flow of routing protocol and data
traffic. The following items must be configured for an area:


Area ID
This is a 32-bit number that identifies the area. The Area
ID of 0.0.0.0 is reserved for the backbone. If the area
represents a subnetted network, the IP network number of the
subnetted network may be used for the Area ID.

List of address ranges
An OSPF area is defined as a list of address ranges. Each
address range consists of the following items:

[IP address, mask]
Describes the collection of IP addresses contained
in the address range. Networks and hosts are
assigned to an area depending on whether their
addresses fall into one of the area's defining
address ranges. Routers are viewed as belonging to
multiple areas, depending on their attached
networks' area membership.








Status Set to either Advertise or DoNotAdvertise. Routing
information is condensed at area boundaries.
External to the area, at most a single route is
advertised (via a summary-LSA) for each address
range. The route is advertised if and only if the
address range's Status is set to Advertise.
Unadvertised ranges allow the existence of certain
networks to be intentionally hidden from other
areas. Status is set to Advertise by default.

As an example, suppose an IP subnetted network is to be its
own OSPF area. The area would be configured as a single
address range, whose IP address is the address of the
subnetted network, and whose mask is the natural class A, B,
or C address mask. A single route would be advertised
external to the area, describing the entire subnetted
network.

ExternalRoutingCapability
Whether AS-external-LSAs will be flooded into/throughout the
area. If AS-external-LSAs are excluded from the area, the
area is called a "stub". Internal to stub areas, routing to
external destinations will be based solely on a default
summary route. The backbone cannot be configured as a stub
area. Also, virtual links cannot be configured through stub
areas. For more information, see Section 3.6.

StubDefaultCost
If the area has been configured as a stub area, and the
router itself is an area border router, then the
StubDefaultCost indicates the cost of the default summary-
LSA that the router should advertise into the area.

C.3 Router interface parameters

Some of the configurable router interface parameters (such as IP
interface address and subnet mask) actually imply properties of
the attached networks, and therefore must be consistent across
all the routers attached to that network. The parameters that
must be configured for a router interface are:








IP interface address
The IP protocol address for this interface. This uniquely
identifies the router over the entire internet. An IP
address is not required on point-to-point networks. Such a
point-to-point network is called "unnumbered".

IP interface mask
Also referred to as the subnet/network mask, this indicates
the portion of the IP interface address that identifies the
attached network. Masking the IP interface address with the
IP interface mask yields the IP network number of the
attached network. On point-to-point networks and virtual
links, the IP interface mask is not defined. On these
networks, the link itself is not assigned an IP network
number, and so the addresses of each side of the link are
assigned independently, if they are assigned at all.

Area ID
The OSPF area to which the attached network belongs.

Interface output cost
The cost of sending a packet on the interface, expressed in
the link state metric. This is advertised as the link cost
for this interface in the router's router-LSA. The interface
output cost must always be greater than 0.

RxmtInterval
The number of seconds between LSA retransmissions, for
adjacencies belonging to this interface. Also used when
retransmitting Database Description and Link State Request
Packets. This should be well over the expected round-trip
delay between any two routers on the attached network. The
setting of this value should be conservative or needless
retransmissions will result. Sample value for a local area
network: 5 seconds.

InfTransDelay
The estimated number of seconds it takes to transmit a Link
State Update Packet over this interface. LSAs contained in
the update packet must have their age incremented by this
amount before transmission. This value should take into
account the transmission and propagation delays of the






interface. It must be greater than 0. Sample value for a
local area network: 1 second.

Router Priority
An 8-bit unsigned integer. When two routers attached to a
network both attempt to become Designated Router, the one
with the highest Router Priority takes precedence. If there
is still a tie, the router with the highest Router ID takes
precedence. A router whose Router Priority is set to 0 is
ineligible to become Designated Router on the attached
network. Router Priority is only configured for interfaces
to broadcast and NBMA networks.

HelloInterval
The length of time, in seconds, between the Hello Packets
that the router sends on the interface. This value is
advertised in the router's Hello Packets. It must be the
same for all routers attached to a common network. The
smaller the HelloInterval, the faster topological changes
will be detected; however, more OSPF routing protocol
traffic will ensue. Sample value for a X.25 PDN network: 30
seconds. Sample value for a local area network: 10 seconds.

RouterDeadInterval
After ceasing to hear a router's Hello Packets, the number
of seconds before its neighbors declare the router down.
This is also advertised in the router's Hello Packets in
their RouterDeadInterval field. This should be some
multiple of the HelloInterval (say 4). This value again
must be the same for all routers attached to a common
network.

AuType
Identifies the authentication procedure to be used on the
attached network. This value must be the same for all
routers attached to the network. See Appendix D for a
discussion of the defined authentication types.

Authentication key
This configured data allows the authentication procedure to
verify OSPF protocol packets received over the interface.
For example, if the AuType indicates simple password, the






Authentication key would be a clear 64-bit password.
Authentication keys associated with the other OSPF
authentication types are discussed in Appendix D.

C.4 Virtual link parameters

Virtual links are used to restore/increase connectivity of the
backbone. Virtual links may be configured between any pair of
area border routers having interfaces to a common (non-backbone)
area. The virtual link appears as an unnumbered point-to-point
link in the graph for the backbone. The virtual link must be
configured in both of the area border routers.

A virtual link appears in router-LSAs (for the backbone) as if
it were a separate router interface to the backbone. As such,
it has all of the parameters associated with a router interface
(see Section C.3). Although a virtual link acts like an
unnumbered point-to-point link, it does have an associated IP
interface address. This address is used as the IP source in
OSPF protocol packets it sends along the virtual link, and is
set dynamically during the routing table build process.
Interface output cost is also set dynamically on virtual links
to be the cost of the intra-area path between the two routers.
The parameter RxmtInterval must be configured, and should be
well over the expected round-trip delay between the two routers.
This may be hard to estimate for a virtual link; it is better to
err on the side of making it too large. Router Priority is not
used on virtual links.

A virtual link is defined by the following two configurable
parameters: the Router ID of the virtual link's other endpoint,
and the (non-backbone) area through which the virtual link runs
(referred to as the virtual link's Transit area). Virtual links
cannot be configured through stub areas.

C.5 NBMA network parameters

OSPF treats an NBMA network much like it treats a broadcast
network. Since there may be many routers attached to the
network, a Designated Router is selected for the network. This
Designated Router then originates a network-LSA, which lists all
routers attached to the NBMA network.






However, due to the lack of broadcast capabilities, it may be
necessary to use configuration parameters in the Designated
Router selection. These parameters will only need to be
configured in those routers that are themselves eligible to
become Designated Router (i.e., those router's whose Router
Priority for the network is non-zero), and then only if no
automatic procedure for discovering neighbors exists:


List of all other attached routers
The list of all other routers attached to the NBMA network.
Each router is listed by its IP interface address on the
network. Also, for each router listed, that router's
eligibility to become Designated Router must be defined.
When an interface to a NBMA network comes up, the router
sends Hello Packets only to those neighbors eligible to
become Designated Router, until the identity of the
Designated Router is discovered.

PollInterval
If a neighboring router has become inactive (Hello Packets
have not been seen for RouterDeadInterval seconds), it may
still be necessary to send Hello Packets to the dead
neighbor. These Hello Packets will be sent at the reduced
rate PollInterval, which should be much larger than
HelloInterval. Sample value for a PDN X.25 network: 2
minutes.

C.6 Point-to-MultiPoint network parameters

On Point-to-MultiPoint networks, it may be necessary to
configure the set of neighbors that are directly reachable over
the Point-to-MultiPoint network. Each neighbor is identified by
its IP address on the Point-to-MultiPoint network. Designated
Routers are not elected on Point-to-MultiPoint networks, so the
Designated Router eligibility of configured neighbors is
undefined.

Alternatively, neighbors on Point-to-MultiPoint networks may be
dynamically discovered by lower-level protocols such as Inverse
ARP ([Ref14]).







C.7 Host route parameters

Host routes are advertised in router-LSAs as stub networks with
mask 0xffffffff. They indicate either router interfaces to
point-to-point networks, looped router interfaces, or IP hosts
that are directly connected to the router (e.g., via a SLIP
line). For each host directly connected to the router, the
following items must be configured:


Host IP address
The IP address of the host.

Cost of link to host
The cost of sending a packet to the host, in terms of the
link state metric. However, since the host probably has
only a single connection to the internet, the actual
configured cost in many cases is unimportant (i.e., will
have no effect on routing).

Area ID
The OSPF area to which the host belongs.

D. Authentication

All OSPF protocol exchanges are authenticated.  The OSPF packet
header (see Section A.3.1) includes an authentication type field,
and 64-bits of data for use by the appropriate authentication scheme
(determined by the type field).

The authentication type is configurable on a per-interface (or
equivalently, on a per-network/subnet) basis. Additional
authentication data is also configurable on a per-interface basis.

Authentication types 0, 1 and 2 are defined by this specification.
All other authentication types are reserved for definition by the
IANA ([email protected]). The current list of authentication types is
described below in Table 20.



AuType Description
___________________________________________
0 Null authentication
1 Simple password
2 Cryptographic authentication
All others Reserved for assignment by the
IANA ([email protected])


Table 20: OSPF authentication types.



D.1 Null authentication

Use of this authentication type means that routing exchanges
over the network/subnet are not authenticated. The 64-bit
authentication field in the OSPF header can contain anything; it
is not examined on packet reception. When employing Null
authentication, the entire contents of each OSPF packet (other
than the 64-bit authentication field) are checksummed in order
to detect data corruption.








D.2 Simple password authentication

Using this authentication type, a 64-bit field is configured on
a per-network basis. All packets sent on a particular network
must have this configured value in their OSPF header 64-bit
authentication field. This essentially serves as a "clear" 64-
bit password. In addition, the entire contents of each OSPF
packet (other than the 64-bit authentication field) are
checksummed in order to detect data corruption.

Simple password authentication guards against routers
inadvertently joining the routing domain; each router must first
be configured with its attached networks' passwords before it
can participate in routing. However, simple password
authentication is vulnerable to passive attacks currently
widespread in the Internet (see [Ref16]). Anyone with physical
access to the network can learn the password and compromise the
security of the OSPF routing domain.

D.3 Cryptographic authentication

Using this authentication type, a shared secret key is
configured in all routers attached to a common network/subnet.
For each OSPF protocol packet, the key is used to
generate/verify a "message digest" that is appended to the end
of the OSPF packet. The message digest is a one-way function of
the OSPF protocol packet and the secret key. Since the secret
key is never sent over the network in the clear, protection is
provided against passive attacks.

The algorithms used to generate and verify the message digest
are specified implicitly by the secret key. This specification
completely defines the use of OSPF Cryptographic authentication
when the MD5 algorithm is used.

In addition, a non-decreasing sequence number is included in
each OSPF protocol packet to protect against replay attacks.
This provides long term protection; however, it is still
possible to replay an OSPF packet until the sequence number
changes. To implement this feature, each neighbor data structure
contains a new field called the "cryptographic sequence number".
This field is initialized to zero, and is also set to zero