Connected: An Internet Encyclopedia
RFC 1583

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments

Search: |  | Search Depth: |
Search Type: | String RegEx | Search Options: | NoCase WholeWord

Next: 1. Introduction

Network Working Group
Request for Comments: 1583
Obsoletes: 1247
Category: Standards Track

J. Moy
Proteon, Inc.
March 1994

### OSPF Version 2

#### Status of this Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

#### Abstract

This memo documents version 2 of the OSPF protocol. OSPF is a link-state routing protocol. It is designed to be run internal to a single Autonomous System. Each OSPF router maintains an identical database describing the Autonomous System's topology. From this 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 provides support for equal-cost multipath. Separate routes can be calculated for each IP Type of Service. An area routing capability is provided, enabling an additional level of routing protection and a reduction in routing protocol traffic. In addition, all OSPF routing protocol exchanges are authenticated.

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

Please send comments to ospf@gated.cornell.edu.

#### Table of Contents

1. Introduction

1.1. Protocol overview
1.2. Definitions of commonly used terms
1.3. Brief history of link-state routing technology
1.4. Organization of this document

2. The Topological Database

2.1. The shortest-path tree
2.2. Use of external routing information
2.3. Equal-cost multipath
2.4. TOS-based routing

3. Splitting the AS into Areas

3.1. The backbone of the Autonomous System
3.2. Inter-area routing
3.3. Classification of routers
3.4. A sample area configuration
3.5. IP subnetting support
3.6. Supporting stub areas
3.7. Partitions of areas

4. Functional Summary

4.1. Inter-area routing
4.2. AS external routes
4.3. Routing protocol packets
4.4. Basic implementation requirements
4.5. Optional OSPF capabilities

5. Protocol Data Structures
6. The Area Data Structure
7. Bringing Up Adjacencies

7.1. The Hello Protocol
7.2. The Synchronization of Databases
7.3. The Designated Router
7.4. The Backup Designated Router
7.5. The graph of adjacencies

8. Protocol Packet Processing

8.1. Sending protocol packets
8.2. Receiving protocol packets

9. The Interface Data Structure

9.1. Interface states
9.2. Events causing interface state changes
9.3. The Interface state machine
9.4. Electing the Designated Router
9.5. Sending Hello packets

9.5.1. Sending Hello packets on non-broadcast networks

10. The Neighbor Data Structure

10.1. Neighbor states
10.2. Events causing neighbor state changes
10.3. The Neighbor state machine
10.4. Whether to become adjacent
10.5. Receiving Hello Packets
10.6. Receiving Database Description Packets
10.7. Receiving Link State Request Packets
10.8. Sending Database Description Packets
10.9. Sending Link State Request Packets
10.10. An Example

11. The Routing Table Structure

11.1. Routing table lookup
11.2. Sample routing table, without areas
11.3. Sample routing table, with areas

12. Link State Advertisements

12.1. The Link State Advertisement Header

12.1.1. LS age
12.1.2. Options
12.1.3. LS type
12.1.4. Link State ID
12.1.5. Advertising Router
12.1.6. LS sequence number
12.1.7. LS checksum

12.2. The link state database
12.3. Representation of TOS
12.4. Originating link state advertisements

12.4.1. Router links
12.4.2. Network links
12.4.3. Summary links
12.4.4. Originating summary links into stub areas
12.4.5. AS external links

13. The Flooding Procedure

13.1. Determining which link state is newer
13.2. Installing link state advertisements in the database
13.3. Next step in the flooding procedure
13.4. Receiving self-originated link state
13.5. Sending Link State Acknowledgment packets
13.6. Retransmitting link state advertisements
13.7. Receiving link state acknowledgments

14. Aging The Link State Database

14.1. Premature aging of advertisements

15. Virtual Links
16. Calculation Of The Routing Table

16.1. Calculating the shortest-path tree for an area

16.1.1. The next hop calculation

16.2. Calculating the inter-area routes
16.3. Examining transit areas' summary links
16.4. Calculating AS external routes
16.5. Incremental updates -- summary link advertisements
16.6. Incremental updates -- AS external link advertisements
16.7. Events generated as a result of routing table changes
16.8. Equal-cost multipath
16.9. Building the non-zero-TOS portion of the routing table

Footnotes
References
A. OSPF data formats

A.1 Encapsulation of OSPF packets
A.2 The Options field
A.3 OSPF Packet Formats

A.3.1 The OSPF packet header
A.3.2 The Hello packet
A.3.3 The Database Description packet
A.3.4 The Link State Request packet
A.3.5 The Link State Update packet
A.3.6 The Link State Acknowledgment packet

A.4 Link state advertisement formats

A.4.1 The Link State Advertisement header
A.4.2 Router links advertisements
A.4.3 Network links advertisements
A.4.4 Summary link advertisements
A.4.5 AS external link advertisements

B. Architectural Constants
C. Configurable Constants

C.1 Global parameters
C.2 Area parameters
C.3 Router interface parameters
C.4 Virtual link parameters
C.5 Non-broadcast, multi-access network parameters
C.6 Host route parameters

D. Authentication

D.1 AuType 0 -- No authentication
D.2 AuType 1 -- Simple password

E. Differences from RFC 1247

E.1 A fix for a problem with OSPF Virtual links
E.2 Supporting supernetting and subnet 0
E.3 Obsoleting LSInfinity in router links advertisements
E.4 TOS encoding updated
E.5 Summarizing routes into transit areas
E.6 Summarizing routes into stub areas
E.7 Flushing anomalous network links advertisements
E.8 Required Statistics appendix deleted
E.9 Other changes

F. An algorithm for assigning Link State IDs
Security Considerations
Author's Address

Original text document

Next: 1. Introduction

Connected: An Internet Encyclopedia
RFC 1583