HOME

TheInfoList



OR:

Open Shortest Path First (OSPF) is a
routing protocol A routing protocol specifies how routers communicate with each other to distribute information that enables them to select routes between nodes on a computer network. Routers perform the traffic directing functions on the Internet; data packet ...
for
Internet Protocol The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. ...
(IP) networks. It uses a
link state routing Link-state routing protocols are one of the two main classes of routing protocols used in packet switching networks for computer communications, the others being distance-vector routing protocols. Examples of link-state routing protocols includ ...
(LSR) algorithm and falls into the group of
interior gateway protocol An interior gateway protocol (IGP) or Interior routing protocol is a type of routing protocol used for exchanging routing table information between gateways (commonly routers) ''within'' an autonomous system (for example, a system of corpora ...
s (IGPs), operating within a single autonomous system (AS). OSPF gathers link state information from available routers and constructs a topology map of the network. The topology is presented as a routing table to the
Internet Layer The internet layer is a group of internetworking methods, protocols, and specifications in the Internet protocol suite that are used to transport network packets from the originating host across network boundaries; if necessary, to the destinat ...
for routing packets by their destination
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
. OSPF supports
Internet Protocol Version 4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
(IPv4) and
Internet Protocol Version 6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IP ...
(IPv6) networks and supports the
Classless Inter-Domain Routing Classless Inter-Domain Routing (CIDR ) is a method for allocating IP addresses and for IP routing. The Internet Engineering Task Force introduced CIDR in 1993 to replace the previous classful network addressing architecture on the Internet. I ...
(CIDR) addressing model. OSPF is widely used in large
enterprise network Enterprise (or the archaic spelling Enterprize) may refer to: Business and economics Brands and enterprises * Enterprise GP Holdings, an energy holding company * Enterprise plc, a UK civil engineering and maintenance company * Enterprise ...
s.
IS-IS Intermediate System to Intermediate System (IS-IS, also written ISIS) is a routing protocol designed to move information efficiently within a computer network, a group of physically connected computers or similar devices. It accomplishes this b ...
, another LSR-based protocol, is more common in large
service provider A service provider (SP) is an organization that provides services, such as consulting, legal, real estate, communications, storage, and processing services, to other organizations. Although a service provider can be a sub-unit of the organization t ...
networks. Originally designed in the 1980s, OSPF is defined for
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version d ...
in protocol version 2 by RFC 2328 (1998)., Updated by RFC 5709, RFC 6549, RFC 6845, RFC 6860, RFC 7474, RFC 8042. The updates for
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. I ...
are specified as OSPF Version 3 in RFC 5340 (2008). Updated by RFC 6845, RFC 6860, RFC 7503, RFC 8362. OSPF supports the
Classless Inter-Domain Routing Classless Inter-Domain Routing (CIDR ) is a method for allocating IP addresses and for IP routing. The Internet Engineering Task Force introduced CIDR in 1993 to replace the previous classful network addressing architecture on the Internet. I ...
(CIDR) addressing model.


Concepts

OSPF is an
interior gateway protocol An interior gateway protocol (IGP) or Interior routing protocol is a type of routing protocol used for exchanging routing table information between gateways (commonly routers) ''within'' an autonomous system (for example, a system of corpora ...
(IGP) for routing
Internet Protocol The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. ...
(IP) packets within a single routing domain, such as an autonomous system. It gathers link state information from available routers and constructs a topology map of the network. The topology is presented as a routing table to the
Internet Layer The internet layer is a group of internetworking methods, protocols, and specifications in the Internet protocol suite that are used to transport network packets from the originating host across network boundaries; if necessary, to the destinat ...
which routes packets based solely on their destination
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
. OSPF detects changes in the topology, such as link failures, and converges on a new loop-free routing structure within seconds. It computes the shortest-path tree for each route using a method based on
Dijkstra's algorithm Dijkstra's algorithm ( ) is an algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks. It was conceived by computer scientist Edsger W. Dijkstra in 1956 and published three years ...
. The OSPF routing policies for constructing a route table are governed by link metrics associated with each routing interface. Cost factors may be the distance of a router (
round-trip time In telecommunications, round-trip delay (RTD) or round-trip time (RTT) is the amount of time it takes for a signal to be sent ''plus'' the amount of time it takes for acknowledgement of that signal having been received. This time delay includes pr ...
), data throughput of a link, or link availability and reliability, expressed as simple unitless numbers. This provides a dynamic process of traffic load balancing between routes of equal cost. OSPF divides the network into routing ''areas'' to simplify administration and optimize traffic and resource utilization. Areas are identified by 32-bit numbers, expressed either simply in decimal, or often in the same octet-based
dot-decimal notation Dot-decimal notation is a presentation format for numerical data. It consists of a string of decimal numbers, using the full stop (''dot'') as a separation character. A common use of dot-decimal notation is in information technology where it is ...
used for IPv4 addresses. By convention, area 0 (zero), or 0.0.0.0, represents the core or ''backbone'' area of an OSPF network. While the identifications of other areas may be chosen at will, administrators often select the IP address of a main router in an area as the area identifier. Each additional area must have a connection to the OSPF backbone area. Such connections are maintained by an interconnecting router, known as an area border router (ABR). An ABR maintains separate link-state databases for each area it serves and maintains summarized routes for all areas in the network. OSPF runs over
Internet Protocol Version 4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
(IPv4) and
Internet Protocol Version 6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IP ...
(IPv6), but does not use a
transport protocol Transport (in British English), or transportation (in American English), is the intentional movement of humans, animals, and goods from one location to another. Modes of transport include air, land (rail and road), water, cable, pipeline ...
, such as UDP or TCP. It encapsulates its data directly in IP packets with protocol number 89. This is in contrast to other routing protocols, such as the Routing Information Protocol (RIP) and the Border Gateway Protocol (BGP). OSPF implements its own transport error detection and correction functions. OSPF uses
multicast In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused wi ...
addressing for distributing route information within a broadcast domain. It reserves the
multicast address A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service. Multicast addressing can be used in the link l ...
es 224.0.0.5 (IPv4) and FF02::5 (IPv6) for all SPF/link state routers (AllSPFRouters) and 224.0.0.6 (IPv4) and FF02::6 (IPv6) for all Designated Routers (AllDRouters). For non-broadcast networks, special provisions for configuration facilitate neighbor discovery. OSPF multicast IP packets never traverse IP routers, they never travel more than one hop. The protocol may therefore be considered a link layer protocol, but is often also attributed to the application layer in the TCP/IP model. It has a virtual link feature that can be used to create an adjacency tunnel across multiple hops. OSPF over IPv4 can operate securely between routers, optionally using a variety of authentication methods to allow only trusted routers to participate in routing. OSPFv3 (IPv6) relies on standard IPv6 protocol security (
IPsec In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in ...
), and has no internal authentication methods. For routing
IP multicast IP multicast is a method of sending Internet Protocol (IP) datagrams to a group of interested receivers in a single transmission. It is the IP-specific form of multicast and is used for streaming media and other network applications. It uses speci ...
traffic, OSPF supports the
Multicast Open Shortest Path First Open Shortest Path First (OSPF) is a routing protocol for Internet Protocol (IP) networks. It uses a link state routing (LSR) algorithm and falls into the group of interior gateway protocols (IGPs), operating within a single autonomous sys ...
(MOSPF) protocol. Cisco does not include MOSPF in their OSPF implementations. Protocol Independent Multicast (PIM) in conjunction with OSPF or other IGPs, is widely deployed. OSPF version 3 introduces modifications to the IPv4 implementation of the protocol. Except for virtual links, all neighbor exchanges use IPv6 link-local addressing exclusively. The IPv6 protocol runs per link, rather than based on the
subnet A subnetwork or subnet is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting. Computers that belong to the same subnet are addressed with an identical ...
. All IP prefix information has been removed from the link-state advertisements and from the ''hello'' discovery packet making OSPFv3 essentially protocol-independent. Despite the expanded IP addressing to 128 bits in IPv6, area and router Identifications are still based on 32-bit numbers.


Router relationships

OSPF supports complex networks with multiple routers, including backup routers, to balance traffic load on multiple links to other subnets. Neighboring routers in the same
broadcast domain A broadcast domain is a logical division of a computer network, in which all nodes can reach each other by broadcast at the data link layer. A broadcast domain can be within the same LAN segment or it can be bridged to other LAN segments. In ...
or at each end of a
point-to-point link In telecommunications, a point-to-point connection refers to a communications connection between two communication endpoints or nodes. An example is a telephone call, in which one telephone is connected with one other, and what is said by one c ...
communicate with each other via the OSPF protocol. Routers form ''adjacencies'' when they have detected each other. This detection is initiated when a router identifies itself in a ''hello'' protocol packet. Upon acknowledgment, this establishes a ''two-way state'' and the most basic relationship. The routers in an Ethernet or Frame Relay network select a ''designated router'' (DR) and a ''backup designated router'' (BDR) which act as a hub to reduce traffic between routers. OSPF uses both
unicast Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication. In computer networking, unicast is a one-to-one transmission from one point in ...
and multicast transmission modes to send "hello" packets and link-state updates. As a link-state routing protocol, OSPF establishes and maintains neighbor relationships for exchanging routing updates with other routers. The neighbor relationship table is called an ''adjacency database''. Two OSPF routers are neighbors if they are members of the same subnet and share the same area ID, subnet mask, timers and authentication. In essence, OSPF neighborship is a relationship between two routers that allow them to see and understand each other but nothing more. OSPF neighbors do not exchange any routing information – the only packets they exchange are hello packets. OSPF adjacencies are formed between selected neighbors and allow them to exchange routing information. Two routers must first be neighbors and only then, can they become adjacent. Two routers become adjacent if at least one of them is designated router or backup designated router (on multiaccess-type networks), or they are interconnected by a point-to-point or point-to-multipoint network type. For forming a neighbor relationship between, the interfaces used to form the relationship must be in the same OSPF area. While an interface may be configured to belong to multiple areas, this is generally not practiced. When configured in a second area, an interface must be configured as a secondary interface.


Operation modes

The OSPF can have different operation modes on the following setups on an interface or network: * Point-to-point. Each router advertises itself by periodically multicasting hello packets. No designated router is elected. The interface can be IP unnumbered (without a unique IP address assigned to it). *
Broadcast Broadcasting is the distribution of audio or video content to a dispersed audience via any electronic mass communications medium, but typically one using the electromagnetic spectrum (radio waves), in a one-to-many model. Broadcasting began wi ...
(default), each router advertises itself by periodically multicasting hello packets. * Non-broadcast multi-access, with the use of designated routers. May need static configuration. Packets are sent as
unicast Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication. In computer networking, unicast is a one-to-one transmission from one point in ...
. * Point-to-multipoint, where OSPF treats neighbours as a collection of point-to-point links. No designated router is elected. Separate hello packets are sent to each neighbor. * Point to Multipoint Non Broadcast (P2MP-NB), No designated router is elected. Separate hello packets are sent to each neighbor, Packets are sent as
unicast Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication. In computer networking, unicast is a one-to-one transmission from one point in ...
. * Passive, Only advertised to other neighbours. No adjacency is advertised on network.


Indirect connections

Virtual link over Virtual links, Tunneling and shamelinks, are a form of connections, that goes over the routing engine. And is not a direct connection to the remote host. * Virtual links, the packets are sent as
unicast Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication. In computer networking, unicast is a one-to-one transmission from one point in ...
. Can only be configured on a non-backbone area (but not stub-area). Endpoints need to be ABR, the virtual links behave as unnumbered point-to-point connections. The cost of an intra-area path between the two routers is added to the link. * Virtual link over Tunneling (like GRE, and WireGuard) . Since OSPF does not support virtual links for other areas then the backbone. A workaround is to use of Tunneling. Note if the same IP or router ID is used the link creates two equal-cost routes to the destination. * Sham link A link that connects sites that belong to the same OSPF area and share an OSPF backdoor link via MPLS VPN backbone.


Adjacency state machine

Each OSPF router within a network communicates with other neighboring routers on each connecting interface to establish the states of all adjacencies. Every such communication sequence is a separate ''conversation'' identified by the pair of router IDs of the communicating neighbors. RFC 2328 specifies the protocol for initiating these conversations (''Hello Protocol'') and for establishing full adjacencies (''database description packets'', ''link-state request packets''). During its course, each router conversation transitions through a maximum of eight conditions defined by a state machine:


Neighbor state changes

#Down: The state ''down'' represents the initial state of a conversation when no information has been exchanged and retained between routers with the Hello Protocol. #Attempt: The ''attempt'' state is similar to the ''down'' state, except that a router is in the process of efforts to establish a conversation with another router, but is only used on
non-broadcast multiple-access network A non-broadcast multiple access network (NBMA) is a computer network to which multiple hosts are attached, but data is transmitted only directly from one computer to another single host over a virtual circuit or across a switched fabric. Example ...
s (NBMAs). #Init: The ''init'' state indicates that a hello packet has been received from a neighbor, but the router has not established a two-way conversation. #Two-way: The ''two-way'' state indicates the establishment of a bidirectional conversation between two routers. This state immediately precedes the establishment of adjacency. This is the lowest state of a router that may be considered as a DR.


Database Exchange

#Exchange start (exstart): The ''exstart'' state is the first step of adjacency of two routers. #Exchange: In the ''exchange'' state, a router is sending its link-state database information to the adjacent neighbor. At this state, a router can exchange all OSPF routing protocol packets. #Loading: In the ''loading'' state, a router requests the most recent link-state advertisements (LSAs) from its neighbor discovered in the previous state. #Full: The ''full'' state concludes the conversation when the routers are fully adjacent, and the state appears in all router- and network-LSAs. The link-state databases of the neighbors are fully synchronized.


Broadcast networks

In broadcast multiple-access networks, neighbor adjacency is formed dynamically using multicast hello packets to . IP 192.0.2.1 > 224.0.0.5: OSPFv2, Hello IP 192.0.2.2 > 224.0.0.5: OSPFv2, Hello IP 192.0.2.1 > 192.0.2.2: OSPFv2, Database Description IP 192.0.2.2 > 192.0.2.1: OSPFv2, Database Description


Passive network

A network where OSPF adverts the network, but the OSPF will not start neighbour adjacency.


Non-broadcast networks

In
non-broadcast multiple-access network A non-broadcast multiple access network (NBMA) is a computer network to which multiple hosts are attached, but data is transmitted only directly from one computer to another single host over a virtual circuit or across a switched fabric. Example ...
(NBMA), neighbor adjacency is formed with
unicast Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication. In computer networking, unicast is a one-to-one transmission from one point in ...
packets to remote host. A network may have more than two routers, but is no broadcast support. IP 192.0.2.1 > 192.0.2.2: OSPFv2, Hello IP 192.0.2.2 > 192.0.2.1: OSPFv2, Hello IP 192.0.2.1 > 192.0.2.2: OSPFv2, Database Description IP 192.0.2.2 > 192.0.2.1: OSPFv2, Database Description Types of Non-broadcast networks: *
X.25 X.25 is an ITU-T standard protocol suite for packet-switched data communication in wide area networks (WAN). It was originally defined by the International Telegraph and Telephone Consultative Committee (CCITT, now ITU-T) in a series of drafts a ...
Public Data Network * Wireguard *
Serial interface In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in paralle ...
* Requires all routers to be able to communicate directly, on the same network. * Designated Router is elected for the network. * LSA is generated for the network.


OSPF areas

A network is divided into OSPF ''areas'' that are logical groupings of hosts and networks. An area includes its connecting router having an interface for each connected network link. Each router maintains a separate link-state database for the area whose information may be summarized towards the rest of the network by the connecting router. Thus, the topology of an area is unknown outside the area. This reduces the routing traffic between parts of an autonomous system. OSPF can handle thousands of routers with more a concern of reaching capacity of the forwarding information base (FIB) table when the network contains lots of routes and lower-end devices. Modern low-end routers have a full gigabyte of RAM, which allows them to handle many routers in an area 0. Many resources refer to OSPF guides from over 20 years ago where it was impressive to have 64 MB of RAM. Areas are uniquely identified with 32-bit numbers. The area identifiers are commonly written in the dot-decimal notation, familiar from IPv4 addressing. However, they are not IP addresses and may duplicate, without conflict, any IPv4 address. The area identifiers for IPv6 implementations (OSPFv3) also use 32-bit identifiers written in the same notation. When dotted formatting is omitted, most implementations expand area ''1'' to the area identifier ''0.0.0.1'', but some have been known to expand it as ''1.0.0.0''. Several vendors (Cisco, Allied Telesis, Juniper, Alcatel-Lucent, Huawei, Quagga), implement ''totally stubby'' and ''NSSA totally stubby area'' for stub and not-so-stubby areas. Although not covered by RFC standards, they are considered by many to be standard features in OSPF implementations. OSPF defines several area types: * Backbone * Non-backbone/regular * Stub * Totally stubby * Not-so-stubby * Totally not-so-stubby * Transit


Backbone area

The backbone area (also known as ''area 0'' or ''area 0.0.0.0'') forms the core of an OSPF network. All other areas are connected to it, either directly or through other routers. OSPF requires this to prevent
routing loop A routing loop is a common problem with various types of networks, particularly computer networks. They are formed when an error occurs in the operation of the routing algorithm, and as a result, in a group of nodes, the path to a particular des ...
s. Inter-area routing happens via routers connected to the backbone area and to their own associated areas. It is the logical and physical structure for the 'OSPF domain' and is attached to all nonzero areas in the OSPF domain. In OSPF the term ''autonomous system boundary router'' (ASBR) is historic, in the sense that many OSPF domains can coexist in the same Internet-visible autonomous system, RFC 1996. All OSPF areas must connect to the backbone area. This connection, however, can be through a virtual link. For example, assume area 0.0.0.1 has a physical connection to area 0.0.0.0. Further assume that area 0.0.0.2 has no direct connection to the backbone, but this area does have a connection to area 0.0.0.1. Area 0.0.0.2 can use a virtual link through the ''transit area'' 0.0.0.1 to reach the backbone. To be a transit area, an area has to have the transit attribute, so it cannot be stubby in any way.


Regular area

A regular area is just a non-backbone (nonzero) area without specific feature, generating and receiving summary and external LSAs. The backbone area is a special type of such area.


Stub area

:In hello packets the E-flag is not
high High may refer to: Science and technology * Height * High (atmospheric), a high-pressure area * High (computability), a quality of a Turing degree, in computability theory * High (tectonics), in geology an area where relative tectonic uplift t ...
, indicating "External routing: not capable" A stub area is an area that does not receive route advertisements external to the AS and routing from within the area is based entirely on a default route. An ABR deletes type 4 and 5 LSAs from internal routers, sends them a default route of 0.0.0.0 and turns itself into a default gateway. This reduces LSDB and routing table size for internal routers. Modifications to the basic concept of stub area have been implemented by systems vendors, such as the ''totally stubby area'' (TSA) and the ''not-so-stubby area'' (NSSA), both an extension in
Cisco Systems Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational digital communications technology conglomerate corporation headquartered in San Jose, California. Cisco develops, manufactures, and sells networking hardware, ...
routing equipment.


Totally stubby area

A ''totally stubby area'' is similar to a stub area. However, this area does not allow ''summary'' routes in addition to not having ''external'' routes, that is, ''inter-area'' (IA) routes are not summarized into totally stubby areas. The only way for traffic to get routed outside the area is a default route which is the only Type-3 LSA advertised into the area. When there is only one route out of the area, fewer routing decisions have to be made by the route processor, which lowers system resource utilization. :Occasionally, it is said that a TSA can have only one ABR.


Not-so-stubby area

:In hello packets the N-flag is set
high High may refer to: Science and technology * Height * High (atmospheric), a high-pressure area * High (computability), a quality of a Turing degree, in computability theory * High (tectonics), in geology an area where relative tectonic uplift t ...
, indicating "NSSA: supported" A ''not-so-stubby area'' (NSSA) is a type of stub area that can import autonomous system external routes and send them to other areas, but still cannot receive AS-external routes from other areas. NSSA is an extension of the stub area feature that allows the injection of external routes in a limited fashion into the stub area. A case study simulates an NSSA getting around the stub-area problem of not being able to import external addresses. It visualizes the following activities: the ASBR imports external addresses with a type 7 LSA, the ABR converts a type 7 LSA to type 5 and floods it to other areas, the ABR acts as an "ASBR" for other areas. The ASBRs do not take type 5 LSAs and then convert to type 7 LSAs for the area.


Totally not-so-stubby area

An addition to the standard functionality of an NSSA, the ''totally stubby NSSA'' is an NSSA that takes on the attributes of a TSA, meaning that type 3 and 4 summary routes are not flooded into this type of area. It is also possible to declare an area both totally stubby and not-so-stubby, which means that the area will receive only the default route from area 0.0.0.0, but can also contain an autonomous system boundary router (ASBR) that accepts external routing information and injects it into the local area, and from the local area into area 0.0.0.0. :Redistribution into an NSSA area creates a special type of LSA known as type 7, which can exist only in an NSSA area. An NSSA ASBR generates this LSA, and an NSSA ABR router translates it into a type 5 LSA, which gets propagated into the OSPF domain. A newly acquired subsidiary is one example of where it might be suitable for an area to be simultaneously not-so-stubby and totally stubby if the practical place to put an ASBR is on the edge of a totally stubby area. In such a case, the ASBR does send externals into the totally stubby area, and they are available to OSPF speakers within that area. In Cisco's implementation, the external routes can be summarized before injecting them into the totally stubby area. In general, the ASBR should not advertise default into the TSA-NSSA, although this can work with extremely careful design and operation, for the limited special cases in which such an advertisement makes sense. By declaring the totally stubby area as NSSA, no external routes from the backbone, except the default route, enter the area being discussed. The externals do reach area 0.0.0.0 via the TSA-NSSA, but no routes other than the default route enter the TSA-NSSA. Routers in the TSA-NSSA send all traffic to the ABR, except to routes advertised by the ASBR.


Router types

OSPF defines the following overlapping categories of routers: ;Internal router (IR): An ''internal router'' has all its interfaces belonging to the same area. ;Area border router (ABR): An ''area border router'' is a router that connects one or more areas to the main backbone network. It is considered a member of all areas it is connected to. An ABR keeps multiple instances of the link-state database in memory, one for each area to which that router is connected. ;Backbone router (BR): A ''backbone router'' has an interface to the backbone area. Backbone routers may also be area routers, but do not have to be. ;Autonomous system boundary router (ASBR): An ''autonomous system boundary router'' is a router that is connected by using more than one routing protocol and that exchanges routing information with routers autonomous systems. ASBRs typically also run an exterior routing protocol (e.g.,
BGP Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routing and reachability information among autonomous systems (AS) on the Internet. BGP is classified as a path-vector routing protocol, and it makes ...
), or use static routes, or both. An ASBR is used to distribute routes received from other, external ASs throughout its own autonomous system. An ASBR creates External LSAs for external addresses and floods them to all areas via ABR. Routers in other areas use ABRs as next hops to access external addresses. Then ABRs forward packets to the ASBR that announces the external addresses. The router type is an attribute of an OSPF process. A given physical router may have one or more OSPF processes. For example, a router that is connected to more than one area, and which receives routes from a BGP process connected to another AS, is both an area border router and an autonomous system boundary router. Each router has an identifier, customarily written in the dotted-decimal format (e.g., 1.2.3.4) of an IP address. This identifier must be established in every OSPF instance. If not explicitly configured, the highest logical IP address will be duplicated as the router identifier. However, since the router identifier is not an IP address, it does not have to be a part of any routable subnet in the network, and often isn't to avoid confusion.


Non-point-to-point network

On networks (same subnet) with networks type of: * Broadcast * Non-Broadcast Multi-Access (NBMA) A system of ''designated router'' (DR) and ''backup designated router'' (BDR), is used to reducing network traffic by providing a source for routing updates. This is done using multicast addresses: * , all routers in the topology will listen on that multicast address. * , DR and BDR will listen on that multicast address. The DR and BDR maintains a complete topology table of the network and sends the updates to the other routers via multicast. All routers in a multi-access network segment will form a slave/master relationship with the DR and BDR. They will form adjacencies with the DR and BDR only. Every time a router sends an update, it sends it to the DR and BDR on the multicast address . The DR will then send the update out to all other routers in the area, to the multicast address . This way all the routers do not have to constantly update each other, and can rather get all their updates from a single source. The use of multicasting further reduces the network load. DRs and BDRs are always setup/elected on OSPF broadcast networks. DR's can also be elected on NBMA (Non-Broadcast Multi-Access) networks such as Frame Relay or ATM. DRs or BDRs are not elected on point-to-point links (such as a point-to-point WAN connection) because the two routers on either side of the link must become fully adjacent and the bandwidth between them cannot be further optimized. DR and non-DR routers evolve from 2-way to full adjacency relationships by exchanging DD, Request, and Update.


Designated router

A ''designated router'' (DR) is the router interface elected among all routers on a particular multiaccess network segment, generally assumed to be broadcast multiaccess. Special techniques, often vendor-dependent, may be needed to support the DR function on non-broadcast multiaccess (NBMA) media. It is usually wise to configure the individual virtual circuits of an NBMA subnet as individual point-to-point lines; the techniques used are implementation-dependent.


Backup designated router

A ''backup designated router'' (BDR) is a router that becomes the designated router if the current designated router has a problem or fails. The BDR is the OSPF router with the second-highest priority at the time of the last election. A given router can have some interfaces that are designated (DR) and others that are backup designated (BDR), and others that are non-designated. If no router is a DR or a BDR on a given subnet, the BDR is first elected, and then a second election is held for the DR.


DR Other

A router that has not been selected to be ''designated router'' (DR) or ''backup designated router'' (BDR). Router forms adjacency to both the ''designated router'' (DR) and the ''backup designated router'' (BDR). For other non (B)DR, the adjacency stops at ''2-ways'' State.


Designated router election

The DR is elected based on the following default criteria: * If the priority setting on an OSPF router is set to 0, that means it can NEVER become a DR or BDR. * If no DR exists on the network, routes will wait until ''Wait Timer'' runs out. * When a DR fails and the BDR takes over, there is another election to see who becomes the replacement BDR. * The router sending the Hello packets with the highest priority wins the election. * If two or more routers tie with the highest priority setting, the router sending the Hello with the highest RID (Router ID) wins. NOTE: a RID is the highest logical (loopback) IP address configured on a router, if no logical/loopback IP address is set then the router uses the highest IP address configured on its active interfaces (e.g. would be higher than ). * Usually the router with the second-highest priority number becomes the BDR. * The priority values range between 0 – 255, with a higher value increasing its chances of becoming DR or BDR. * If a higher priority OSPF router comes online after the election has taken place, it will not become DR or BDR until (at least) the DR and BDR fail. * If the current DR 'goes down' the current BDR becomes the new DR and a new election takes place to find another BDR. If the new DR then 'goes down' and the original DR is now available, still previously chosen BDR will become DR.


Routing update flow


When has Routing update

# sends LSU to # sends LSUAck to # sends LSUAck to


When has Routing update

# sends LSU to # sends LSUAck to # sends LSUAck to


When has Routing update

# sends LSU to # sends LSA to # sends LSUAck to # Non-source routers, sends LSUAck to


Protocol messages

Unlike other routing protocols, OSPF does not carry data via a transport protocol, such as the
User Datagram Protocol In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) netwo ...
(UDP) or the
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonl ...
(TCP). Instead, OSPF forms IP datagrams directly, packaging them using protocol number 89 for the IP Protocol field. OSPF defines five different message types, for various types of communication. Multiple packets can be sent per frame. OSPF uses the following packets 5 type: * Hello * Database description * Link State Request * Link State Update * Link State Acknowledgement


Hello Packet

OSPF's Hello messages are used as a form of greeting, to allow a router to discover other adjacent routers on its local links and networks. The messages establish relationships between neighboring devices (called adjacencies) and communicate key parameters about how OSPF is to be used in the autonomous system or area. During normal operation, routers send hello messages to their neighbors at regular intervals (the ''hello interval''); if a router stops receiving hello messages from a neighbor, after a set period (the ''dead interval'') the router will assume the neighbor has gone down.


Database description DBD

''Database description'' messages contain descriptions of the topology of the autonomous system or area. They convey the contents of the link-state database (LSDB) for the area from one router to another. Communicating a large LSDB may require several messages to be sent by having the sending device designated as a master device and sending messages in sequence, with the slave (recipient of the LSDB information) responding with acknowledgments.


Link state packets

;Link state request (''LSR''): ''Link state request'' messages are used by one router to request updated information about a portion of the LSDB from another router. The message specifies the link(s) for which the requesting device wants more current information. ;Link state update (''LSU''): ''Link-state update'' messages contain updated information about the state of certain links on the LSDB. They are sent in response to a link state request message, and also broadcast or multicast by routers on a regular basis. Their contents are used to update the information in the LSDBs of routers that receive them. ;Link state acknowledgment (''LSAck''): ''Link-state acknowledgment'' messages provide reliability to the link-state exchange process, by explicitly acknowledging receipt of a Link State Update message.


OSPF v2 area types and accepted LSAs

Not all area types use all LSA. Below is a matrix of accepted LSAs.


Routing metrics

OSPF uses ''path cost'' as its basic routing metric, which was defined by the standard not to equate to any standard value such as speed, so the network designer could pick a metric important to the design. In practice, it is determined by comparing the speed of the interface to a reference-bandwidth for the OSPF process. The cost is determined by dividing the reference bandwidth by the interface speed (although the cost for any interface can be manually overridden). If a reference bandwidth is set to '10000', then a 10 Gbit/s link will have a cost of 1. Any speeds less than 1 are rounded up to 1. Here is an example table that shows the routing metric or 'cost calculation' on an interface. * Type-1 LSA has a size of 16-bit field (65,535 in decimal) * Type-3 LSA has a size of 24-bit field (16,777,216 in decimal) OSPF is a layer 3 protocol: if a layer 2 switch is between the two devices running OSPF, one side may negotiate a speed different from the other side. This can create an asymmetric routing on the link (Router 1 to Router 2 could cost '1' and the return path could cost '10'), which may lead to unintended consequences. Metrics, however, are only directly comparable when of the same type. Four types of metrics are recognized. In decreasing preference, these types are (for example, an intra-area route is always preferred to an external route regardless of metric): # Intra-area # Inter-area # External Type 1, which includes both the external path cost and the sum of internal path costs to the ASBR that advertises the route, # External Type 2, the value of which is solely that of the external path cost,


OSPF v3

OSPF version 3 introduces modifications to the IPv4 implementation of the protocol. Despite the expansion of addresses to 128 bits in IPv6, area and router identifications are still 32-bit numbers.


High-level changes

* Except for virtual links, all neighbor exchanges use IPv6 link-local addressing exclusively. The IPv6 protocol runs per link, rather than based on the
subnet A subnetwork or subnet is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting. Computers that belong to the same subnet are addressed with an identical ...
. * All IP prefix information has been removed from the link-state advertisements and from the ''hello'' discovery packet, making OSPFv3 essentially protocol-independent. * Three separate flooding scopes for LSAs: ** Link-local scope: LSA is flooded only on the local link and no further. ** Area scope: LSA is flooded throughout a single OSPF area. ** AS scope: LSA is flooded throughout the routing domain. * Use of IPv6 link-local addresses, for neighbor discovery, auto-configuration. * Authentication has been moved to the IP Authentication Header


Changes introduced in OSPF v3, then backported by vendors to v2

* Explicit support for multiple instances per link


Packet format changes

* OSPF version number changed to 3 * From the LSA header, the options field has been removed. * In hello packets and database description, the options field is changed from 16 to 24 bits. * In hello packet, the address information has been removed. The interface ID has been added. * In router-LSAs, two options bits, the "R-bit" and the "V6-bit", have been added. ** "R-bit": allows for multi-homed hosts to participate in the routing protocol. ** "V6-bit": specializes the R-bit. * Add "instance ID", which allows multiple OSPF protocol instances on the same logical interface.


LSA format changes

* The LSA type field is changed to 16 bits. ** Add support for handling unknown LSA types ** Three bits are used for encoding flooding scope. * With IPv6, addresses in LSAs are expressed as
prefix A prefix is an affix which is placed before the stem of a word. Adding it to the beginning of one word changes it into another word. For example, when the prefix ''un-'' is added to the word ''happy'', it creates the word ''unhappy''. Particul ...
and prefix length. * In router-LSAs and network-LSAs, the address information is removed. * Router-LSAs and network-LSAs are made network-protocol independent. * A new LSA type is added, link-LSA, which provides the router's link-local address to all other routers attached to the logical interface, provides a list of IPv6 prefixes to associate with the link, and can send information that reflect the router's capabilities. * LSA Type-3 summary-LSAs have been renamed "inter-area-prefix-LSAs". * LSA Type-4 summary LSAs have been renamed "inter-area-router-LSAs". * Intra-area-prefix-LSA is added, an LSA that carries all IPv6 prefix information.


OSPF over MPLS-VPN

A customer can use OSPF over a MPLS-VPN, where the
service provider A service provider (SP) is an organization that provides services, such as consulting, legal, real estate, communications, storage, and processing services, to other organizations. Although a service provider can be a sub-unit of the organization t ...
uses BGP or RIP as their
interior gateway protocol An interior gateway protocol (IGP) or Interior routing protocol is a type of routing protocol used for exchanging routing table information between gateways (commonly routers) ''within'' an autonomous system (for example, a system of corpora ...
. When using OSPF over MPLS-VPN, the VPN backbone becomes part of the OSPF backbone area 0. In all areas, isolated copies of the IGP are run. Advantages: * The MPLS-VPN is transparent to the customer's OSPF standard routing. * Customer's equipment only needs to support OSPF. * Reduce the need for tunnels (
Generic Routing Encapsulation Generic Routing Encapsulation (GRE) is a tunneling protocol developed by Cisco Systems that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links or point-to-multipoint links over an Internet Protocol ne ...
,
IPsec In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in ...
, wireguard) to use OSPF. To achieve this, a non-standard OSPF-BGP redistribution is used. All OSPF routes retain the source LSA type and metric. To prevent loops, an optional DN bit is used in LSAs to indicate that a route has already been sent from the provider edge to the customer's equipment.


OSPF extensions


Traffic engineering

OSPF-TE is an extension to OSPF extending the expressivity to allow for traffic engineering and use on non-IP networks. Using OSPF-TE, more information about the topology can be exchanged using opaque LSA carrying
type–length–value Within communication protocols, TLV (type-length-value or tag-length-value) is an encoding scheme used for optional informational elements in a certain protocol. A TLV-encoded data stream contains code related to the record type, the record val ...
elements. These extensions allow OSPF-TE to run completely out of band of the data plane network. This means that it can also be used on non-IP networks, such as optical networks. OSPF-TE is used in GMPLS networks as a means to describe the topology over which GMPLS paths can be established. GMPLS uses its own path setup and forwarding protocols, once it has the full network map. In the Resource Reservation Protocol (RSVP), OSPF-TE is used for recording and flooding RSVP signaled bandwidth reservations for label switched paths within the link-state database.


Optical routing

documents work in optical routing for IP based on extensions to OSPF and IS-IS.


Multicast Open Shortest Path First

The Multicast Open Shortest Path First (MOSPF) protocol is an extension to OSPF to support multicast routing. MOSPF allows routers to share information about group memberships.


Notable implementations

*
Allied Telesis is a network infrastructure/telecommunications company, formerly Allied Telesyn. Headquartered in Japan, their North American headquarters are in San Jose, California. Founded in 1987, the company is a global provider of secure Ethernet & I ...
implements OSPFv2 & OSPFv3 in Allied Ware Plus (AW+) *
Arista Networks Arista Networks (formerly Arastra) is an American computer networking company headquartered in Santa Clara, California. The company designs and sells multilayer network switches to deliver software-defined networking (SDN) for large datacen ...
implements OSPFv2 and OSPFv3 *
BIRD Birds are a group of warm-blooded vertebrates constituting the class Aves (), characterised by feathers, toothless beaked jaws, the laying of hard-shelled eggs, a high metabolic rate, a four-chambered heart, and a strong yet lightweig ...
implements both OSPFv2 and OSPFv3 * Cisco IOS and NX-OS * Cisco Meraki *
D-Link D-Link Corporation is a Taiwanese multinational networking equipment manufacturing corporation headquartered in Taipei, Taiwan. It was founded in March 1986 in Taipei as ''Datex Systems Inc.'' History D-Link Corporation changed its name fr ...
implements OSPFv2 on Unified Services Router. * Dell's FTOS implements OSPFv2 and OSPFv3 * ExtremeXOS *
GNU Zebra Zebra is a routing software package that provides TCP/IP based routing services with routing protocols support such as RIP, OSPF and BGP. Zebra also supports special BGP Route Reflector and Route Server behavior. In addition to traditional I ...
, a GPL routing suite for
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems supporting OSPF * Juniper Junos *
NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in ...
implements OSPF in its Multi Protocol Routing module. *
OpenBSD OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project e ...
includes OpenOSPFD, an OSPFv2 implementation. * Quagga, a fork of
GNU Zebra Zebra is a routing software package that provides TCP/IP based routing services with routing protocols support such as RIP, OSPF and BGP. Zebra also supports special BGP Route Reflector and Route Server behavior. In addition to traditional I ...
for
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems *
FRRouting Free Range Routing or FRRouting or FRR is a network routing software suite running on Unix-like platforms, particularly Linux, Solaris, OpenBSD, FreeBSD and NetBSD. It was created as a fork from Quagga. FRRouting is distributed under the terms ...
, the successor of Quagga * XORP, a routing suite implementing RFC2328 (OSPFv2) and RFC2740 (OSPFv3) for both IPv4 and IPv6 *
Windows NT 4.0 Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the direct successor to Windows NT 3.51, which was released to manufacturing on July 31, 1996, and then to retail ...
Server,
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was offici ...
Server and
Windows Server 2003 Windows Server 2003 is the sixth version of Windows Server operating system produced by Microsoft. It is part of the Windows NT family of operating systems and was released to manufacturing on March 28, 2003 and generally available on April 24, 2 ...
implemented OSPFv2 in the
Routing and Remote Access Service Routing and Remote Access Service (RRAS) is a Microsoft API and server software that makes it possible to create applications to administer the routing and remote access service capabilities of the operating system, to function as a network router ...
, although the functionality was removed in
Windows Server 2008 Windows Server 2008 is the fourth release of the Windows Server operating system produced by Microsoft as part of the Windows NT family of the operating systems. It was released to manufacturing on February 4, 2008, and generally to retail on F ...
.


Applications

OSPF is a widely deployed routing protocol that can converge a network in a few seconds and guarantee loop-free paths. It has many features that allow the imposition of policies about the propagation of routes that it may be appropriate to keep local, for load sharing, and for selective route importing. IS-IS, in contrast, can be tuned for lower overhead in a stable network, the sort more common in ISP than enterprise networks. There are some historical accidents that made IS-IS the preferred IGP for ISPs, but ISPs today may well choose to use the features of the now-efficient implementations of OSPF, after first considering the pros and cons of IS-IS in service provider environments. OSPF can provide better load-sharing on external links than other IGPs. When the default route to an ISP is injected into OSPF from multiple ASBRs as a Type I external route and the same external cost specified, other routers will go to the ASBR with the least path cost from its location. This can be tuned further by adjusting the external cost. If the default route from different ISPs is injected with different external costs, as a Type II external route, the lower-cost default becomes the primary exit and the higher-cost becomes the backup only.


See also

* Fabric Shortest Path First *
Mesh networking A mesh network is a local area network topology in which the infrastructure nodes (i.e. bridges, switches, and other infrastructure devices) connect directly, dynamically and non-hierarchically to as many other nodes as possible and cooperate wit ...
*
Route analytics Network monitoring is the use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator (via email, SMS or other alarms) in case of outages or other trouble. Network monitori ...
*
Routing Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone netw ...
*
Shortest path problem In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized. The problem of finding the shortest path between ...


References


Further reading

* * * * * *


External links


IETF OSPF Working Group






{{Authority control Internet protocols Internet Standards Routing protocols Application layer protocols