SlideShare a Scribd company logo
1
Open Shortest Path First Protocol
1. Terminology
It is an IGP standardized by the IETF and commonly used in large Enterprise networks. OSPF
is a link-state routing protocol providing fast convergence and excellent scalability. Like all link-
state protocols, OSPF is very efficient in its use of network bandwidth. OSPF uses link-state
information to make routing decisions, making route calculations using the SPF algorithm
(Dijkstra algorithm). Each router running OSPF floods link-state advertisements (LSA) throughout
the AS or area that contain information about that router’s attached interfaces and routing metrics.
Each router uses the information in these link-state advertisements to calculate the least cost path
to each network and create a routing table for the protocol. OSPF also has the following operational
characteristics:
▪ Dynamically adjust to changes in network topology.
▪ Support VLSM and CIDR
▪ Provides for the authentication of routing updates.
▪ It uses the cost as the route metric. The cost of an OSPF route is the sum of the cost
values of all incoming interfaces from the source router to the destination router.
▪ Determines routing by computing a graph, abstracting the topology of the network by
using the SPF algorithm.
▪ It support four kinds of connections or networks:
❖ Broadcast
❖ P2P
❖ P2MP
❖ NMBA
▪ The concept of area division is proposed. After the autonomous system is divided into
different regions, the summary of routing information between the regions is adopted,
which greatly reduces the quantity of routing information to be transmitted. It also
makes routing information not expand rapidly as the network scale increases.
▪ Also the protocol itself minimizes the operation overhead:
❖ For the discovery and maintenance of neighbor relationships, the hello
messages that do not contain routing information are sent regularly and are very
short.
❖ In broadcast networks, multicast addresses are used instead of broadcast to
reduce the interference to other network devices
❖ In various types of networks that can be accessed multiple times (broadcast,
NBMA), by electing DR, the number of route exchanges (synchronizations)
between routers on the same network segment is reduced
❖ Supports route aggregation on ABRs (Area Border Routers) to further reduce
routing information transfer between regions.
❖ In the P2P interface type, OSPF over On Demand Circuits is configured so that
it no longer sends hello packets periodically and updates routing information
regularly.
2
Below table summarizes the similarities and differences of these two protocols in detail:
Design Requirement OSPFv2 OSPFv3
Scalability Good
Better, since Type 1-2 LSA does
not contain prefix information,
but only topology information
Fast Reroute Support IP FRR IP FRR, but limited plartform
support
Suitable on WAN Yes Yes
Suitable on Datacenter DCs are Full Mesh, therefore,
not well
Same as OSPv2
Suitable on Internet Edge No, it is designed as an IGP Same as OSPv2
LSA Type Type 1-2-3-4-5-7 Type 1-2-3-4-5-7-8-9
Transport Multicast Multicast
Reachability Info Handling
Inside an area and Type-2 LSA
carries the reachability
information between areas
reachability info is carried in
Type-3 LSA.
Inside an area, reachability
information is carried in Type-9
LSA. Inter area prefixes are still
carried in Type-3 LSA.
Topology Info Handling
Inside an area Type 1-2 LSA
carries the topology information.
Topology information is not
carried beyond an area.
Same as OSPv2
Security MD5
Authentication is removed, since
it runs on IPv6. It supports IPsec
and Authentication, this
simplifies OSPF header.
Suitable as Interprise IGP Yes Yes
Suitable as ISP IGP Yes Definitely
Complexity Easy Moderate
Resource Requirement Full SPF runs on prefix or
topology change as it is worsee
than OSPFv3
If topology does not change, full
SPF is not needed. Prefix
information is carried in new
LSA, not in Type-1 LSA now.
IPv4 Support Yes Yes
IPv6 Support No Yes
Default Convergence Slow Even slower, if multiple address
families are used
Troubleshooting Easy
Harder, because requires
understanding of IPv6
addressing, after that, it is the
same packet types, LSA, LSU,
DBD.
Rooting Loop
Inter area prefixes should be
received from ABR. All non
backbone areas should be
connected to the backbone.
Same as OSPFv2
3
2. Neighbor Adjacency
OSPF considers two routers that have an interface located an a common network as
“Neighbor”. When OSPF discovers its neighbors, this is the first step of discovering the network
and building a routing table. This process begins with the router learning the Router-ID of its
neighbors via mulicast “Hello Message”.
A neighbor relationship begins when the routers exchanging Hello packetss see their own
Router-ID in the other router’s Hello packet and they agree upon the follow:
▪ Differenet Router-ID value
▪ Same Hello and Dead transmission intervals
▪ Same Area ID
▪ Same subnet mask – Just for multiaccess network
▪ Stub Area Flag
▪ Authentication type and password
▪ Same MTU – If you see like a this condition, this is not true. Because two routers will
become a neighbor, and send each other to DBD packet. But there is no adjanceny will
form between them. I will show you the debug output in detail below.
For adjacencies to form, OSPF must first have discovered its neighbors. Adjancencies are
formed for the purpose of exchanging routing information. NOT every neighboring router forms
an adjacency. A router’s neighbors or peers, are those routers, which is describe below, will
directly exchange routing information. The conditions under which OSPF forms adjancecies are
as follow:
▪ Network connectivity, and also it is achieved by through a virtual link
▪ The router is the DR
▪ The neighboring router is the DR
▪ The router is the BDR
▪ The neighboring router is the BDR
4
After this stage, let's examine the process of forming a neighbor and adjanceny in the following
images.
As seen in the debug output above, the flow diagram on the previous page is actually applied.
The important thing for us is that Master/Slave selection is made before the DBD packages are
sent. This is part of the clacical TCP communication.
Here, on the previous page, I have shown that the article that MTU must comply with to
establish a neighbor is actually unfounded. I especially wanted to mention this as it is shown in
many sources. MTU is a situation that we may encounter only during the Master/Slave selection
process, which is you can clearly see on below picture or above debug output:
5
As long as database remains sychronized, a link state protocols routing calculations ensure
correct and loop-free routing. Database sychronization takes two forms in a link state protocol:
▪ When a two neighbors start communicating, they must sychronize theirs databases
before forwarding data traffic over their shared link.
▪ There is the continual database resychronization that must occur as new LSAs are
introduced and distributed among routers.
The mechanism that achieves this resychronization is called “Reliable Flooding”. When the
connection between two neighboring routers first comes up, reliable flooding began over the
connection, but the connection was not used for data traffic until eneugh time had elopsed the
guarantee that the entrie database had been either updated or refreshed. The reason it is called
reliable flooding is because the use of the sequence number allow nodes to identify the most recent
copy of the information and prevent them from retransmitting old information.
The flooding procedure starts when a router wishes to update one of its self-originated LSAs.
The router then floods the LSA, packaging the LSA within a LSU packet, which may or may not
contain other LSAs, and then sending the LSU packet out all of its interfaces.
When one of the router’s neighbors receives the LSU packet, the neighbor examines each of
the LSAs contained within the update. For each LSA that is uncorrupted, and more recent than the
neighbors own database copy, the neighbor installs that LSA in its LSDB, sends and
acknowledgment back to the router, repackages the LSA within a new LSU packet, and sends it
out all interfaces expect the one that receives the LSA in the first place.
6
OSPF reliable flooding scheme is robust in the face of errors. Even when transmission erros,
link and/or router failures occur, the network continues is function correctly. LSDBs continue to
be synchronized and the amount of routing traffic remains at an acceptable level. OSPF flooding
achieves this robustness because of the following features:
▪ Flooding cloud be restricted to a minimal collection of links interconnectting all routers
(calling a spaning tree). However, OSPF does not use a spaning tree; it floods over all
links. AS a result, the failure of any link does not significantly distrupt database
synchronization.
▪ Software erroes, a router might accidentally delete one or more LSAs from its database.
To ensure that the router eventually regains database synchronization with the rest of
the OSPF routing domain.
▪ To detect corruption of LSAs as they are flooed, each LSA contains a “Checksum”
field. Corrupted LSAs are discarded and not acknowledged.
▪ Errors in implemantation might lead to situations in which the routers disagree on
which LSA instance is more recent, possibly causing flooding loops.
▪ To guard against a rapidly chancing network causing an excessive amount of control
traffic, OSPF imposes rate limits on LSA origination, which is MinLSInterval value.
▪ To guard against routers that are updating their LSAs at too high a rate on OSPF router
will refuse to accept a flooed LSA, if the current database copy has received less than
1 secons ago.
NOTE: So if a new node comes up on OSPF domain, it could build the database from regular LSA updates, rather
than exchange of DBD. What role do the DBD packets play in this scnerio?
3. Network Types
In the OSI reference model, differences subnet technologies would be called “Subnet work-
Dependent convergence” functions. The differences in the way that OSPF runs over the various
subnet technologies can be groupped as follows:
1. Neighbor Disvocery and Maintance: Hello protocols run differently an different
subnet types.
2. Database Synchronization: How does one synchnorize the LSDB over the subnet?
Which routers become adjacent, and how does reliable flooding take advantage of any
special properties that the subnet might provide?
3. Abstraction: In the OSPF LSDB, how does one represent the subnet and router
connectivity over the subnet?
Two OSPF routers will never form a neighbor relationship and hence will never forward
packets directly between each other unless they share a common prefix.
7
3.1.Broadcast
Data link whereby on attached node can send a single paclet that will be received by all other
nodes attached the subnet. Broadcast is very useful for autoconfiguration and replicating
information.
Now let's perform our examination in the following items over 3 main topics on the previous
page:
1. Each OSPF routers periodically multicasts its Hello packets to the IP address 224.0.0.5
or 224.0.0.6. The advantages of over broadcast subnets are floows:
❖ Automatic discovery of neighbors
❖ Efficiency when N router are on a broadcast segment, there are [N(N-1)]/2
neighbor relationship and are maintened by sending only N Hello packets.
❖ Isolation
2. On a broadcast subnet with N routers, there are [N(N-1)]/2 neighbor pairs. If you try to
synchronize databases between every pair of routers, you end up with a large number
of LSU and LSAck being sent over the subnet. Therefore, OSPF solves this problem
by electing a DR, BDR for the broadcast subnet. Using the normal procedures of the
database exchange and reliable flooding.
3. The obvious way to do this is for each router to include links to all other routers in its
“Router LSA”. But this would introduce N(N-1) links into the OSPF database, so
instead OSPF creates a new LSA type, which is called “Network LSA”.
3.2.Point to Point
A network that joins a single pair of routers. Here’s what you need to know about OSPF point-
to-point:
▪ Automatic neighbor discovery so no need to configure OSPF neighbors yourself.
▪ No DR/BDR election since OSPF sees the network as a collection of P2P links.
▪ Normally uses for point-to-point sub-interfaces with an IP subnet per link.
▪ Can also be used with multiple PVCs using only one subnet.
8
3.3.NBMA
Support more than two routers and allow any two routers to communicate directly over them
but do not support data link broadcast capability. A single IP subnet will be assigned to the NBMA
segment, with all routers having IP interface addresses on the segment. Now let's perform our
examination in the following items over 3 main topics on the previous page:
1. Neighbors must be discovered initially through configuration. Configuration is
restricted to routers eligible to beacome DR. Therefore, if you want to reduce the Hello
traffic you must be assigned priority value of 0 on every router in NMBA segment.
2. Database synchronization works the same as on broadcast networks.
3. Network LSA works the same on broadcast networks. There is a common issue in here,
that is many nonbroadcast subnets cannot support a large number of routers, with each
router pair being able to communicate directly. For example; to connect 100 routers in
a full mesh over a NBMA segment would require 4.950 neighbor relationships.
3.4.Point to Multipoint
OSPF treats all router-to- router connections over the non-broadcast network as if they were
point-to-point links. No Designated Router is elected for the network, nor is there an LSA
generated for the network.
Now let's perform our examination in the following items over 3 main topics on the previous
page:
1. Each router becomes adjacent to all other routers with which it can communicate
directly, performing initial database synchronization through database exchange then
participating in reliable flooding with its negihbors.
2. A router an a P2MP subnet includes the following links in its Router LSA, a P2P
connection for each of its neighbors on the P2MP subnet and a single stub network
connection to its own IP interface address.
3.5.Point to Multipoint NonBroadcast
In this case you have a network type very similar to RFC point-to-multipoint network type but
you can manually configure neighbor's IP address and OSPF will send hello packet using you
neighbor unicast address instead of 224.0.0.5.
9
Depending on the network types, it has different meanings in the information of some areas
carried by LSAs. You can take the table below as a reference for an example of this issue:
NOTE: Therefore can neighbor relationship be created between different types of networks? In this regard, I suggest
you to make the necessary examinations among the following network types in order to understand the details of the
subject.
▪ Broadcast – Non-Broadcast
▪ P2MP – P2P
▪ P2P – Non-Broadcast
▪ P2MP – Non-Broadcast
4. Link State Advertisement
Each OSPF router in the AS originates one or more LSAs to describe its local part of the
routing domain. In order to provide organization to the database and to enable the orderly updating
and removal of LSAs, each LSA must provide some bookkeeping information as well as
topological information.
Instead, OSPF routers keep track of the status of links within their respective areas. A link is
simply a router interface. From these lists of links and their respective statuses, the topology
database is created. OSPF routers forward link state advertisements (LSAs) to ensure the topology
database is consistent on each router within an area. LSA also has the following characteristics:
▪ A link is any type of connection between OSPF routers
▪ The state is the condition of the link, whether the link is available for use
10
▪ An advertisement is to method that OSPF uses to provide information to other OSPF
routers
▪ LSAs are a special type of packet that OSPF uses to advertise changes in the state of a
specific link to other OSPF routers
Whenever a new instance of an LSA is originated, its LS Sequence number is increment LS
Age is set to 0, LS Checksum is calculated, and the LSA is added to the LSDB and flooded out
the appropriate interfaces. The nine events that can cause a new instance of LSA to be originated
are:
▪ The LS Age field of one of the router’s self originated LSAs reaches the value
LSRefreshTime. This guarantees periodic originations of all LSAs.
The following events may cause the concepts of an LSA to change. These events should cause
new originations if and only if the contects of the new LSA would have different:
▪ An interface’s state changes, which is occurs the Router LSA
▪ An attached networks DR changes, which is occurs the Network LSA
▪ One of the neighboring routers changes to/from the Full state, which is occurs the both
of them
▪ An intra-area or inter-area route has been added, deleted, or modified in the routing
table on ABR
▪ The router becomes newly attached to an area
▪ When the state of one of the rotuer’s configured virtual links changes
▪ An external route gained through direct experience with an external routing protocol
changes on ASBR
▪ A router ceases to be an ASBR, perhaps after restarting. In this situation the router
should flush all AS External LSas that it had previously originated.
The list that follows describes the fields in the LSA header:
▪ LS Age: After LSAs originating router has failed, it can therefore take as long as on
hour for the LSA to be removed from other router’s LSDB. Such as an LSA is certainly
advertising out of date information. However, OSPF guarantees that the LSA will not
interface with the routing table calculation. By requiring that a link be advertised by
the routers at both ends of the link before using the link in the routing calculation.
OSPF also has a procedure, which is called “Premature Aging”, for deleting an LSA
from the routing domain without waiting for its LSA Age to reach Max Age. Represents
the parameters of Age Field, and as shows below:
11
❖ MinLSArrival
✓ Default value 1 sec
✓ Maximum rate of which router will accept updates of any given LSA
via flooding
❖ MinLSInterval
✓ Default value 5 sec
✓ Maximum rate of which router will can update on LSA
❖ CheckAge
✓ Default value 5 min
✓ Rate of which router verifies the checksum of an LSA contained inits
database
❖ MaxAgeDiff
✓ Default value 15 min
✓ When two LSA instances differ by more than 15 min, they are
considered to be separate instances, and the one with the smaller LS Age
Field is accepted as more recent
❖ LSRefreshTime
✓ Default value 30 min
✓ A router must refresh any self originated LSA whose age reaches the
value of 30 min
❖ MaxAge
✓ Default value 1 hour
✓ When the age of an LSA reaches 1 hour, the LSA is removed from the
database
▪ Options: It specifies the optional capabilities supported by the portion of the OSPF
domain described by the LSA.
▪ LS Type: Represents the types of LSA, and as shows below:
❖ Router LSA – Type 1
✓ Describes the states of the router’s links within the area and are flooded
only within an area for which that router is a member
✓ Link State ID = Originating Router ID
❖ Network LSA – Type 2
✓ Generated only by DR and describe the set of routers attached to a
particular NMBA or broadcast netowrk. The purpose of network LSA
is to ensure that only one LSA is generated for these network types.
✓ This is a form of internal OSPF summarization
✓ Specially, it describe all roters that are attached to a multiaccess network
✓ Link State ID = IP Address of DR
❖ ABR Summary LSA – Type 3
✓ Generated only by ABR and describe inter area routes to various
networks
✓ Specially, it deescribes networks that are within the OSPF AS but
outside of the particular OSPF area that is receiveng the LSDB
12
✓ Summary LSA has a flooding scope of being transmitted only into the
area where the network or subnet is not found
✓ These LSA can also be used for aggregating routes
✓ Link State ID = Destination Network
❖ ASBR Summary LSA – Type 4
✓ Each summary LSA describes a route to a destination outside the OSPF
area yet still inside the AS. It describe routes to ASBR and are also
generated by ABR
✓ Therefore, it enables other routers to find and reach the ASBR
✓ Link State ID = Router ID of the ASBR
❖ External LSA – Type 5
✓ Generated by the ASBR
✓ These LSA describe routes to destinations that are external to the AS
✓ Flooded everywhere, with the expection of Stub Area
✓ Link State ID = External Network
❖ Multicast Group LSA – Type 6
❖ NSSA External – Type 7
✓ Generated by the ASBR
✓ These LSA describe routes within a NSSA
✓ Can be summarized and converted into Type-5 LSA by the ABR for the
transmission into other OSPF area
❖ Opaeuq LSA – Type 9-10-11
▪ Link-State ID: Identifies the portion of the network that is being described by the LSA.
This field changes according to the LS type, which is mentioned above pages.
▪ Advertising Router: Represents the router ID of the router originating the LSA.
▪ LS Sequence Number: When a router has two instances of a particular LSA, it detects
which instance is more recent by comparing the instance LS Sequnce Numbers. The
instance with the larger is the more recent. Of course, the meaning of larger depends
on the organization of the sequence number space. There are three possible scnerio here
as below:
❖ Circular: This scheme was not robust in the face of erros. Bit errors in switch
memory caused the accidental introduction of three instance of an LSA having
sequence numbers that were not constrained to a semicircle
✓ S1 < S2 < S3 < S1
13
❖ Lollipop-Shaped: Each LSA is initially originated with the smallest sequence
number, so the sequence space then increments until it enters the circular part
of the space. It provides better protection against the “Arpanet Sequence Bug”,
but three sequences number still cause a problem:
✓ S1 < S2 < S3 < S1
❖ Linear: The first time OPSF router originates a given LSA. It sets the 𝑆0.
Subsequently each time the router updates the LSA, it increment by 1. Guard
against problems similar to the bug:
✓ All OSPF LSAs contain a checksum
✓ OSPF requires the LSA Age Field incrementing at each hop
▪ LS Checksum: An LSA become corrupted during flooding or while being held in a
router’s memory. Corrupted LSAs can created havoc, possibily leading to incorrect
routing calculations, black holes or looping data packets.
The checksum is calculated originally by the router that originates the LSA and then is
carried with the LSA as it is flooed throughout the routing domain and stored within
the LSDB. A router periodically verifes the checksums of all the LSA in its LSDB,
guarding against its own hardware or software errors. Detection of such internal errors
will generally cause the rotuer’s OSPF processing to reinitialize.
Also, after an LSA instance is originated, its checksum is never altered. For this reason,
the checksum excludes the LSAs LS Age Field, which is modified in flooding.
▪ Length: Length of the LSA including the LSA header.
When a router receives an LSA, it checks its LSDB. If the LSA is new, the router floods the
LSA out the its neighbors. After the new LSA is added to the LSDB, the router reruns SPF
14
algorithm. This recalculation by the SPF is essential to preversing occurate routing tables. The SPF
is responsible for calculating the routing table, and any LSA change might also cause a change in
the routing table.
OSPF routers in the same area all have the same LSDB and run same SPF algorithm with
themselves as the root. The characteristics of the LSDB are as follows:
▪ All router belonging to the same area have the idendical LSDB
▪ Calculating routes by using the SPF is performed separately by each router in area
▪ LSA flooding is contained within the area that experienced the change
▪ The LSDB is comprised of LSA entries
▪ A router has a separate LSDB for each area to which it belongs
Flooding in OSPF is responsible for validating and distributing LSU to the LSDB, whenever
a change or update occurs to a link. Flooding is part of the LSDB synchronization mechanism. The
goal of this mechanism is to kepp the LSDBs of the routers in an OSPF domain synchronized
within time in the presence of topological changes. Also, the primary goal of flooding is to ensure
that every router receives the changed or updated LSA within the flooding scope. Flooding occurs
diffrently between neighbors in OSPF depending on a the following factor:
▪ LSA Type 1-2-3-4-7 are flooded within an area
▪ LSA Type 5 is flooded throughout the OSPF domain, with expection of Stub area
▪ When a DR is present, only non-DRs flood to the DR. The DR then floods to everyone
as required
▪ When two OSPF routers have not established an adjancency, they do not flood each
other
15
5. Area Type
OSPF supports a two level hierarchical routing scheme through the use of areas. Each OSPF
area is identified by a 32-bit Area ID and consist of a collection of network segments
interconnected by routers. Areas are contiguous logical segments of the network that have been
grouped together. Each area has its own LSDB, consisting of LSA Type 1-2 describing how the
area’s routers and network segments are interconnected. Routing within the area is flat, which each
router knowing exactly which network segments are contained within the area. In addition to
allowing one to build much larger OSPF networks, OSPF areas provide the following functionally:
▪ Increased Robutness: The effects of router and/or link failures within a single area
dampened external to the area.
▪ Routing Protection: OSPF always prefers path within an area over paths that cross
area boundaries. This means that routing within an area is protected from routing
instabilities or misconfiguration in other area.
▪ Hiden Prefixes: one can configure prefixes so that they will not be advertised to other
area
The following list provides general characteristics of an OPSF area:
▪ Area contain a group of contigous hosts and networks
▪ Routers have a per area topological database and run the same SPF
▪ Each are must be connected to the backbone area known as Area 0
▪ Virtual links can be used to connect to Area 0 in emergencies
▪ Intra area routes are used for routes within to destination within the area
5.1.Standart Area
It is a carry a default, static, intra area, and external routes. The use of standart area is more
resource intensive within an OSPF network. The following list provides general characteristics:
▪ It contains a router that uses both OSPF and any other routing protocols
▪ A virtual link is configured across the area
▪ It has an ABR
▪ Summarize whenever and as often as possible
5.2.Backbone Area
If more than one area is configured in an OSPF network, one of these areas must be Area 0.
To summarize the OSPF backbone is the part of the OSPF network that acts as the primary path
for traffic that is destined to other areas or networks. Use the following guidelines when designing
an OSPF backbone:
▪ It is a transit area, not a destination for traffic
▪ Ensure that the stability of the backbone area is maintained
▪ Ensure that redundancy is built into the design whenever possible
▪ Keep this are simple, and fewer routers are better
16
▪ Keep the BW symmetrical, so that OSPF can maintain load balancing
▪ Ensure that all other areas connect directly to Area 0
The backbone area must be at the center of all other areas, so all areas must be connected to
the backbone.This is because OSPF expects all areas inject routing information into the backbone,
and it turns, the backbone disseminates that routing information into other areas.
5.3.Stub Area
This area carries a default route and inter area routes but does not carry external routes. Stub
areas are essentially dead end areas. This reduces the routes being advertising across the network.
Therefore, stub areas allow for reduction in LSA traffic and can make OSPF make stable.
Stub area summarize all external LSAs into a default route, which provides a path to external
routes for all traffic inside the stub area. The stub ABR forwards LSAs for inter area routes but not
external routes and floods them to other Area 0 routers. The stub ABR keeps the LSDB for the
stub area with this additional information and the default external route. Stub areas following
functional and design characteristic:
▪ The stub ABR stops the LSA Type 4-5. Therefore, no router inside a stub area has any
external routes, so ASBR cannot be internal to a stub area.
▪ Reduces the LSDB size and memory requirements of the routers inside a stub area
▪ Routing from these areas to the outside based on a default route. Stub area only have two
type of route, such as O and O IA.
▪ Stub areas typically have one ABR, this is the best design. If there is more than one ABR,
accept the nonoptimal routing paths because you have more than one existing point.
▪ All OSPF routers inside a stub area must be configured as a stub routers, because all OSPF
interfaces that belong to the area start exhanging Hello packets with a flag that indicates
that the interface is part of a stub area (E bit).
▪ Bacbkbone area cannot be a stub area
▪ Stub area cannot be used as a transit area for virtual links
5.4.Totally Stubby Area
The purpose of Totally Stubby areas is to limit the number of LSAs flooded into the area, to
conserve bandwidth and router CPUs. The stub area ABR will instead automatically inject a
default route into the Totally Stubby area, so that those routers can reach both inter area networks
and external networks. The ABR will be the next-hop for the default route. Totally Stubby areas
following functional and design characteristic:
▪ The ABR advertise only a defualt router into the rest of the stub area. This results in an
even further reduction in the size of the LSDB and routing table.
▪ TSA forwards default external route and blocks the LSA Type 3-4-5-7.
▪ Also share the same design criteria with Stub area.
17
5.5.NSSA
Although most of the stub area restrictions, such as preventing the flooding of LSA Type-5
into the area and not allowing configuration of virtual links through the area. The ability to import
a small amount of external routing informaiton into the NSSA for later distributionb into the rest
of the OSPF routing domain.
The advent of this new type of hybrid stub area also introduced a new LSA Type-7, which is
responsible for carrying external route information. NSSA does not flood LSA Type-5 external
LSAs from the core into the NSSA, on NSSA has the capability to import AS external routes in a
limited fashion within the area, which is what makes it on NSAA.
With NSSA you can extend OSPF to cover the remote connection by defining the are between
the corparate router and the remoute router as on NSSA. The operation of an NSSA is rather
straightforward. NSSA following functional characteristic:
▪ NSSA area routers will share LSA Type 1-2 to build their topology tables
▪ NSSA areas will also accept LSA Type-3, which contain the routes to reach networks
in all other areas
▪ NSSA areas will not accept LSA Type 4-5, detailing routes to external networks
▪ If an ASBR exists within the NSSA area, that ASBR will generate LSA Type-7
NOTE: It does not suspend all Type-3 LSA, because it must have access to the prefixes in the OSPF domain. To do
this, one default Type-3 LSA is kept on the database.
After the above detailed descriptions, you can take the table below as a reference for
yourself. A general observation was made on the topology together with the table.
6. Path Selection
OSPF will use cost as the metric to choose the shortest path for each destination, this is true
but it’s not entirely correct. OSPF will first look at the “type of path” to make a decision and
secondly look at the metric. This is the prefered path list that OSPF uses:
18
▪ Intra-Area [O]: Routes originated within an area, are known by the routers in the same
area as Intra-Area routes. These routes are flagged as O. Also called OSPF Internal
routes, as they are generated by OSPF itself, when an interface is covered with the
OSPF network command.
▪ Inter-Area [O IA]: When a route crosses an ABR, the route is known as an OSPF
Inter-Area route. These routes are flagged as O IA. Also called OSPF Internal routes,
as they are generated by OSPF itself, when an interface is covered with the OSPF
network command.
▪ NSSA Type 1 [N1]: When an area is configured as a NSSA, and routes are redistributed
into OSPF, the routes are known as NSSA External Type-1. These routes are flagged
as O N1.
▪ External Type 1 [E1]: Routes which were redistributed into OSPF, such as connected,
static, or other routing protocol, are known External Type-1. These routes are flagged
as O E1. A cost is the addition of the external cost and the internal cost used to reach
that route.
▪ NSSA Type 2 [N2]: The definition for type O N1 is valid for this route type. Also,
these routes are flagged as O N2.
▪ External Type 2 [E2]: The definition for type E1 is valid for this route type, with one
difference, which is the cost is always the external cost, irrespective of the interior cost
to reach that route. Also, these routes are flagged as O E2.
There is a common question in here, which is better E1 or E2 routes? This preference comes
from the root belief that OSPF as a routing protocol, which is uses cost as it metric, shoul never
disregard cost from making routing decisions. Therefore, E1 routes are preferred by many because
they take into account the cost of the links to the external network ehenever you are in the OSPF
AS. Consider using E1 routes under the following circumstances:
▪ Your network has multiple exit points, from your OSPF AS to the same external AS
▪ Your network has multiple paths to a single external network from mant destinations
Some defining characteristics and needs of E2 routes are as folow:
▪ The default route generated by a stub Abr is on E2 route into the stub are because a
stub network is usually simple in its topology. So, there is just one way out!!
▪ Your ntwork is not very large, and thus you do not need E1 routes
19
7. Summarization
ABRs send summary link advertisements to describe the routes to other areas. Depending on
the number of destinations, an area can get flooded with a large number of link state records, which
can utilize routing device resources. To minimize the number of advertisements that are flooded
into an area, you can configure the ABR to summarize, a range of IP addresses and send
reachability information about these addresses in a single LSA. You can summarize one or more
ranges of IP addresses, where all routes that match the specified area range are filtered at the area
boundary, and the summary is advertised in their place.
Summarization of Type-3 LSAs means we are creating a summary of all the inter area routes.
This is why we call it inter area route summarization. If you don’t use summarization (which is
the default) there will be a LSA for every specific prefix. If you have a link failure in any area then
related ABR will flood a new Type-3 LSA and this change has to be propagated throughout all o
ur OSPF areas. Since the LSDB will change our OSPF routers they will have to re-run the SPF
algorithm which takes time and CPU power. There are a couple of things to be aware of:
▪ A summary route will only be advertised if you have at least one subnet that falls within
the summary range
▪ A summary route will have the cost of the subnet with the lowest cost that falls within
the summary range
▪ ABR that creates the summary route will create a null0 interface to prevent loops
▪ OSPF is a classless routing protocol so you pick any subnet mask you like for prefixes
7.1.Example#1
OSPF is a classless routing protocol, which carries subnet mask information along with route
information. Therefore, OSPF supports multiple subnet masks for the same major network, which
is known as VLSM. OSPF supports discontiguous subnets because the subnet masks are part of
the LSDB. Network numbers in areas should be assigned contiguously to ensure that these
addresses can be summarized into a minimal number of summary addresses. Let’s consider the
below topology:
This summarization was succesful because you have the following distint and contiguous
ranges of subnets:
▪ 128.213.96.X to 128.218.99.X – Area 1
▪ 128.213.100.X to 128.218.103.X – Area 2
20
As can be seen in the output above, the information of Type-3 LSA transmitted via R2 is
reflected in the routing table.
NULL 0 is a fictitious interface that causes the router to drop into the bit bucket any
information that is destined to it. These entries are placed into the routing table to prevent routing
loops. Also, if one or more of the summarized networks are inaccessible, the other routers within
the OSPF domain are not interested this issue, because in their routing tables there is a summarized
route outlined as shown in the area marked in red above.
Only Type-3 LSAs propagate into the backbone. This is important because it prevents every
router from having to rerun the SPF algorithm. This is helps increase the networks stability and
reduces uncessary traffic.
If we take the example I made as reference, even if only one of the four prefixes for Area 1
remains, the summarized route will still be announced via OSPF. However, the traffic of the other
three prefixes, which no longer have access, are transferred up to the relevant ABR. Whether or
not there is access to prefixes on ABR as seen above is known through Type-1-2 LSAs. If there is
no access to the relevant prefix, a possible routing loop is avoided by transmitting packets to the
NULL 0 interface.
21
8. Prefix Suppression
In large OSPF networks, a lot of space is wasted in the LSDB and routing tables because of
prefixes on transit links. OSPF prefix suppression is a feature to get rid of these unnecessary
prefixes.
The colored entries describe the Transit links, which need to be processes for the SPF algorithm
but really do not need in the routing tables of endpoint routers. Thus, this is the moment where it
is very important to realize that an SPF tree could consist entirely of unnumbered links and still
function as before.
22
The routing table of R1 still shows the entry for the loopback IP however it has removed the
prefix of the transit link 10.10.23.0/30 from the routing table. To test it, let’s re-configured the
link between R2 and R3 as P2P network.
NOTE: The source IP must be of the loopback as the routers have no information for the transit IPs to send the echo-
replies.
23
9. Stub Router Feature
OSPF has a stub router feature (don’t confuse this with stub areas) that lets you prevent a router
from being a transit router. In some situations, it may be advantageous to inform routers in a
network not to use a specific router as a transit point, but still route to it. Possible situations include
the following:
▪ The router is in a critical condition (for example, has very high CPU load or does not
have enough memory to store all LSAs or build the routing table)
▪ Graceful introduction and removal of the router to/from the network
▪ Other (administrative or traffic engineering) reasons
Note that the proposed solution does not remove the router from the topology view of the
network (as could be done by just flushing that router's router-LSA), but prevents other routers
from using it for transit routing, while still routing packets to router's own IP addresses, i.e., the
router is announced as stub.
It must be emphasized that the proposed solution provides real benefits in networks designed
with at least some level of redundancy so that traffic can be routed around the stub router.
Otherwise, traffic destined for the networks reachable through such a stub router will be still routed
through it.
In the description below, router X is the router announcing itself as a stub.
1. Making other routers prefer routes around router X while performing the Dijkstra
calculation.
2. Allowing other routers to reach IP prefixes directly connected to router X.
NOTE: That it would be easy to address issue 1) alone by just flushing router X's router-LSA from the domain.
However, it does not solve problem 2), since other routers will not be able to use links to router X in Dijkstra (no back
link), and because router X will not have links to its neighbors.
To address both problems, router X announces its router-LSA to the neighbors as follows.
▪ Costs of all non-stub links (links of the types other than 3) are set to LSInfinity (16-bit
value 0xFFFF, rather than 24-bit value 0xFFFFFF used in summary and AS-external
LSAs)
▪ Costs of stub links (Type-3) are set to the interface output cost
9.1.OSPF-BGP Interaction
OSPF is running as an IGP protocol in the below network. There is no MPLS in the core and
all routers run BGP, which is called BGP Free Core. For scaling purposes, there is BGP Route
Reflector design. The design requirements to perform maintanance on R2, but there is no tolerance
against the downtime or recovery after the failure. So what would suggest to design
recommendations for this network?
24
BGP as an overlay protocol needs next hop reachability. Static or dynamic routing protocol is
used to create an underlay network infrastructure for the overlay protocols such as BGP, LDP, and
PIM. In this case, on of the routers in the path towards BGP next hop will be reloaded on R2. So
there might be two problems here:
1. When R2 is reloaded or failure, traffic going through R2 should not be dropped. R2
should signal other OSPF routers and inform that it should be going down. Traffic
should not be sent to R2 during reload.
▪ This is done with OSPF Stub Router Advertisement
▪ max-metric router-lsa
▪ Used by OSPF for graceful restart purpose
▪ OSPF routers are not used a Transit anymore
▪ Routers loopback is still sent with the regular metric, not with the max-metric.
Otherwise BGP neighborship with the reloaded router would not come up
2. When R2 comes back, BGP traffic towards the R2 will be blackholed, because the IGP
process of R2 will convergence faster than its BGP process. So, IGP should wait until
BGP converge. R2 should take the BGP traffic once BGP prefixes are installed in the
routing table.
▪ This is done with OSPF Stub Router Advertisement
▪ max-metric router-lsa on-startup wait-for-bgp
▪ Until the BGP process is converged, OSPF process does not use the R2 as its
path towards any destinations
9.2.Example#1
R4 interface facing R3 has been configured with a cost of 20 so that the path via R2 is preferred.
Simply reloading the router will cause a number of packet drops before OSPF reconverges and
begins forwarding traffic out via R3. Instead, stub router advertisement can be used in this situation
to force a graceful failover before reloading the router. Lets examine the below topology:
25
R2 is currently the primary path for all traffic destined for the 192.168.1.0/24 subnet and R4
normally sees R2 Type-1LSA:
Simply reloading the router will cause a number of packet drops before OSPF reconverges and
begins forwarding traffic out via R3. Instead, stub router advertisement can be used in this situation
to force a graceful failover before reloading the router. Stub routing can be turned on temporarily
on below:
The metrics for R2 advertised routes have increased from 10 to 65535, the maximum value.
Consequently, R4 now sees R3 as the better path to R1. After this configuration, I shutdown the
interface facing to R4 on R2. You can clearly see the ping output, there is no data packet loss in
the whole traffic flow:
26
10. Virtual Link
The backbone should never be intentionally partitioned, but if partitioaning occurs consider
using a virtual link to temporarily repair the backbone area. Virtual links are logical connections
that are vaguely anologous to a tunnel. The two backbone routers establish a virtual adjaceny so
that LSAs and other OSPF packets are exchanged as if no other internal OSPF router were
involved. A virtual link can connect on ABR to the backbone, even though the virtual link is not
directly connected.
27
Some of the characteristics and suggested uses for virtual links:
▪ Stability is determined by the stability of the area that the virtual transit
▪ Can only be configured on ABRs
▪ Cannot run across stub areas
✓ In order to avoiding routing loops, transit area should have full knowledge of
routing information giving by LSAs
✓ Other thing Stub areas have only one point of entry, think about the only one
way out or in. So, if you create a virtual link by using Stub area you create
another way out Stub area. In this situation, we can receiving Type-3-5 LSAs
through the virtual link, ending whole concept of Stub area and the usefulness
of Stub default route.
▪ Assist in solving network connectivity problems
▪ Can assist in providing logical redundancy
▪ OSPF treats two routers joined by a virtual link as if they were connected by an P2P
network
11. Forwarding Address
The concept of the OSPF forwarding address was introduced to avoid extra hops when traffic
is routed to an external AS. An OSPF router cab set the forwarding address of a route to something
other than itself to indicate an alternate next hop. In most cases, the forwarding address is left
“Null”, suggesting that the route is reachable only via the advertising router.
The value of the forwarding address specified by the ASBR can be either 0.0.0.0 or non-zero.
The 0.0.0.0 adress indicates that the originating router, which is ASBR, is the next hop. The
forwarding address is determined by these conditions:
▪ It is set to 0.0.0.0 if the ASBR redistributes routes and OSPF is not enabled on the next
hop interface for these routes.
▪ These following conditions set the forwarding address field to a non-zero address:
❖ OSPF is enabled on the ASBR’s next hop interface
❖ ASBR’s next hop interface is non passive under OSPF
❖ ASBR’s next hop interface is not P2P
❖ ASBR’s next hop interface is not P2MP
❖ ASBR’s next hop interface address falls under the network range specified in
the router ospf command
▪ Any other conditions besides these set the forwarding address to 0.0.0.0
Let's test the conditions I have said regarding the determination of the forwarding address
above through a few sample topologies below.
28
11.1.Example #1
First thing first, R3 and R4 do not include a part of R5 interface on the OSPF process.
Therefore, the LSA Type-5 generated by both routers have the forwarding address set to 0.0.0.0.
In this example, R1 or R2 can be used to view the external LSAs. To view external LSAs, issue
the below output:
The forwarding addresses for the Type-5 generated by both R3 and R4 are set to 0.0.0.0.
In this case, the LSA to be installed in the R1 routing table is determined by comparing the metrics
to the ASBRs generating the LSAs. You can see the metrics that R1 has for the ASBRs on above.
Therefore, R1 chooses the LSA generated by ASBR 3.3.3.3, which is R3, to place in its routing
table that is shown below:
29
After that, R3 has changed to include network 192.168.1.0/29 in area 0 of the OSPF process.
The result of the configuration change is that the Type-5 LSA generated by R3 now has the
forwarding address set to the IP address of R5 which is point of next hop for static route, as shown
in the database output taken from R1 below:
LSA to be installed in the R1 routing table is determined by comparing the R1 metric to the
ASBR R4 that generated the LSA with a forwarding address of 0.0.0.0 to the R1 metric to reach
the forwarding address of 192.168.1.5, which was set for the LSA generated by the ASBR R3.
In the above output, the metric to R4 is 120. This is compared to the R1 metric to reach the
forwarding address of 192.168.1.5, which can be seen using the show ip route 192.168.1.5
command. The output of this command is below:
30
So, the metric to reach the ASBR R4, which is 74, is compared to the metric to reach the
forwarding address of 192.168.1.5 generated by R3, which is . Therefore, the LSA installed in the
routing table is the LSA generated by R4, as shown in the R1 output below:
When the metric of the redistributed route from multiple ASBRs are equal as illustrated in the
document, the forwarding address changes the behavior of the Type-5 LSA path selection. When
a router receives two Type-5 LSAs to the same destination with the forwarding addresses set on
both LSAs, the router makes a comparison based on the metric to the forwarding addresses. The
LSA with a forwarding address that offers the smaller metric is placed into the routing table. If the
metric of the redistributed routes are different, the routers prefer the route with the lowest metric
and not the lowest metric to the forwarding address.
11.2.Example #2
In this scnerios where we have multiple ABRs converting/translating same network from
Type-7 to Type-5 LSA, then OSPF LSDB need to act on only one of them. The other must
withdraw its LSA. This is one of many loop avoidance techniques adapted in OSPF. So, who sets
the forwarding address ABRs or ASBR, of course answer is NSSA ASBR which is R4.
31
We can see R3 converts Type-7 to Type-5, because it has higher Router-ID to compared R2
value, and retaing the forwarding address value 4.4.4.4. Lets show the related output below:
As all the path costs are default, in R1 we can see two equal cost paths available for the
destination of 55.55.55.55, because R1 gets the external LSA for 55.55.55.55 as forwarding
address set to 4.4.4.4. Now R1 checks its LSDB to reach 4.4.4.4 and finds two equal cost paths.
Hence it installss both to reach 55.55.55.55. Lets show the related output below:
32
When a router is forced to pick a forwarding address for a Type-7 LSA, preference is should
be given first to the router’s internal addresses. If internal addresses are not available, preference
should be given to the ortuer’s active OSPF Stub network addresses. These choices avoid the
possible extra hop that may happen when a transit network’s address is used. When the interface
whose IP address is the LSA’s forwarding address transitions to a Down State, which case this is
the R4. The router must select a new forwarding address for the LSA and then re-originate it. IF
one is not availabl the LSA should be flushed.
Now in this example the internal address is the loopback address 4.4.4.4. If this interface goes
down, that force the router to choose another interface as forwarding address how that affects the
route selection process.
According to the above output, we encounter a new question, which is why the R4 pick
10.34.34.4 against 10.24.24.4? This selection process wil examine the ordered in below:
▪ Loopback IP address
▪ Non-loopback IP address that is connected to a transit Stub network
▪ Non-loopback IP address that is connected to a non-transit Stub network
33
I want to mentioned one more thing, which is Type-5 LSA is generated by R3 Loopback IP
address but the traffic with related to external destination will follow via R4 interface. You can
clearly see this sitiuation on below output:
Also now you see R1 does not multi pathing and only sends the traffic towards the R3, but
what changed the routing decision of R1? We neither changed any path cost nor anything in the
redistribution to influence the path cost, because the forwarding address is set to 10.34.34.4, R1
has the shortest path via R3 (20) against via R2 (30).
12. Transit Capability
This is a special property of a non-backbone area that allow this area to transport traffic for
other areas. Per the OPSF definition, a transit area is the area that has a virtual link connecting two
or more ABRs attached to this area. Thus, having a virtual link provisioned across the area is the
necessary thing to make the area transit. In fact, it a just an alternate definition of a transit area.
The idea of a virtual link is to extend area 0 across non-backbone area. There are two main
sitiuations when you may want to do this:
1. Due to design considerations, where you have an area not directly connected to the
backbone area. This could be a result of two networks merging together.
2. Using a non-backbone area to reach destinations in other areas. The main idea of OSPF
inter area routing is that all areas should be communicating across the backbone. The
backbone area is used to exchange information the rouitng in a distance vector manner,
requiring the star topology to avoid routing loops. For the RFC, the router is only
considered on ABR, if it has an interface in area 0 and ignores Type-3 LSAs delivered
across the non-backbone areas. This is ensure the simple “Loop Free” star topology,
34
which means that the star is all non bakcbone areas must be connected to backbone
area.
Virtual links are only used to flood specific LSAs, which are Type 1-2-3 found in area 0.
Type-5 LSAs are not flood across the virtual links, because Type 1-2-3-4 LSAs have the flooding
scope of a single area. Thus, if you have a virtual link connecting two ABRs you cannot floods
LSAs across the transit area, since this area is different from area 0. However, Type-5 LSA have
the flooding scope of OSPF AS domain, and thus they are flooded across the area anyways (unless
it’s Stub area). So, there is no need to duplicate information across the virtual link, obviously, a
Stub area cannot be a transit area due to this reasons.
12.1.Examining Transit Areas Type-3 LSA
Search for TransitCapability and read Chapter 16.3 in the OSPFv2 RFC 2328. You should read
it again after finishing this article, but this time take it slowly, powering through RFCs does not
work. The main ideas are:
1. TransitCapability is the flag that tells you an area carries traffic that neither originates
nor terminates in the area itself.
▪ This only happens when you are using Virtual-Links to connect isolated areas
to the backbone or to reconnect a partitioned backbone.
2. The additional checks are done after Inter- and Intra-Area routes have been calculated
and they look only at backbone prefixes that are
▪ Native to Area 0
▪ Inter-area summaries (come from other areas via Area 0)
3. If there is a better path to reach such prefixes than the one through the Virtual-Link
ABR, then use it.
4. If there's any summarization configured on the ABR, ignore it when originating
summary-LSAs into the transit area to prevent loops. This sounds a bit weird, but don't
worry it's covered in example#3.
Number 3 there might seem to only prevent sub-optimal routing, but as you've seen in the
example#1 , it also prevents routing-loops. And remember, all cases in below exapmles assume
that transit area capability is not enabled.
12.2.Example#1
Area 400 becomes isolated from the backbone and because R4 is not an ABR, no LSAs from
Area 400 make it into the backbone (and vice-versa). With a virtual link configured between R3
and R4, connectivity is restored between Area 400 and the backbone.
35
Because R4 is now part of the backbone area, it has the Type-1 LSA for R1. Therefore, it
knows it can reach Vlan 100 without leaving the area (which is preferred over any inter-area
option). So it tries to route via R3-R1 (its only Area 0 neighbor) and ends up with R4-R5-R3-R1.
But R5, has two options to get to Vlan 100:
▪ Type-3 from R2 (cost 10+10+10+10)
▪ R3 (cost 100+10+10)
So it chooses R2 as its exit point: R5-R4-R2-R1. So R5 goes through R4 and R4 goes through
R5? Routing loop. Remember, R4 cannot choose R2 as its exit because now both of them are
ABRs and one of the loop prevention rules makes it ignore any Type-3 LSAs coming from other
ABRs when it runs SPF. Transit Capability is the saves this sititions because if there's a lower-cost
LSA which allows you to get to Vlan 100 (and R2 is sending one) then you are allowed to use it
instead of your current best path.
36
That means R4 is allowed to choose a better path: R4-R2-R1. Now we have a loop free
topology.
12.3.Example#2
It would be amusing if I introduced two equal-cost paths to make matters even more chaotic.
Basically, I wanted R5 to load balance towards Vlan 100, so I changed the cost on the R5-R4 link
to 90 - the result you can see below:
37
Remember, R4 has to use R3 as its only exit point, so nothing much changes (apart from the
overall cost). R5 has two options, only they're both as desirable. Now getting to Vlan 100 through
R3 or R2 costs the samei which is 120. It installs both routes in its routing table and the result
pretty much looks like this:
We still have a routing loop, but only half of the time. When R4 routes a packet through R5, if
R5 decides to forward it to R3, all's well. But there's a %50 percent chance it will forward the
packet back to R4. Obviously, the same solution applies, which is just let capability transit enable
and R4 will choose R2 as its exit towards Area 0, thereby avoiding this %50 percent loop change.
12.4.Example#3
This case is a bit different, there's a partitioned backbone area now. But the most important
difference here is that I haven't touched the transit area costs. The problem is hidden by an
asymmetric cost out in the backbone. Quite harder to notice:
Now let's look what happens after the virtual link is configured. This time R1 was already an
ABR, but now, as it has an Area 0 adjacency with R4, it can stop ignoring its LSAs and calculate
some paths as internal routes. Therefore, it calculates the Vlan 600 path as R1-R2-R4-R6 with a
cost 130 instead of 10+10+100+10. But R2 and R3, the routers internal to Area 100, have two
choices again.
38
▪ Type-3 LSAs from both R4 and R5 with a cost of 110 and 20, respectively
So R2, in order to get to Vlan 600, chooses the R2-R1-R3-R5-R6 path with a cost 50 instead
of 10+10+10+10+10. For the return path R6-Vlan 100, I'll leave it to you to answer the following
questions:
1. Is it reachable?
2. How many paths does it have?
3. Are they a loop, sub-optimal or what you'd expect?
In order to fix this loop, capability transit makes sure that R1 uses R5 as the ABR to reach
Vlan 600 due to its lower cost. Another solution that works is to bring up another virtual link
between R1 and R5.
12.5.Example#4
ABRs are not allowed to summarize backbone prefixes nor filter them in any way when
advertising them into the transit area. While all of the previous cases could be proven in a lab, this
one is purely theoretical, because we can't disable this very important loop prevention mechanism.
So let's assume this limitation is not in place and ABRs are free to summarize as they please.
The setup is pretty straight-forward and clean, as there's no need for any special effects in this
example. Both R3 and R2 are configured to summarize to 100.100.0.0/16 - which they do, as Area
0 contains 100.100.100.0/24.
It all works fine, apart from the fact that Area 600 prefixes are not advertised anywhere due to
R6 not being an ABR. We fix this with not one, but two virtual-links (so everything is nice and
symmetric) from R6 to R2 and R3 respectively.
39
Once the virtual links are up, R6 becomes an ABR and starts changing out Type-3 LSAs,
including 100.100.100.0/24. This prefix is internal to the backbone, so R6 dutifully sends Type-3
LSAs into Area 100 and Area 600. How does the network look from R4's eyes? If it wants to get
to a host in 100.100.100.0, it has three options:
▪ 100.100.0.0/16 via R2, cost 30
▪ 100.100.0.0/16 via R3, cost 50
▪ 100.100.100.0/24 via R6, cost 50
R4's routing table is going to have both option installed, but, for routing, it will use the longest-
match, which is 100.100.100.0/24 via R6. R5 is going to be in the same situation and will choose
to route via R6's more specific /24.
How does R6 route to 100.100.100.0/24? It is a backbone prefix, so it calculates two equal-
cost (40) paths through R2 and R3 (its only Area 0 neighbors). It needs to route via either R4 or
R5 because they are transit routers towards the backbone. Predictably, a routing loop occurs. R6
sends packets to R4 or R5 and they, deeply confused but totally innocent, send the packets back to
R6 on the most specific route they have.
The fix is simply to stop R2 and R3 from summarizing prefixes into the transit area 100. When
R2 and R3 summarize to 100.100.0.0/16, they stop sending the component routes.
Let's reference the topology below to practice the theoretical information mentioned above:
After performing all configurations and disabling “Tansit Capability” feature, let's view the
database information of 100.100.100.0/24 prefix on R4.
40
As it can be seen in the outputs, we can observe that it has learned the prefixes as follows
from 3 different routers:
▪ 100.100.100.1/32 – R6 – Cost 40
▪ 100.100.0.0/16 – R2 – Cost 20
▪ 100.100.0.0/16 – R3 – Cost 20
R4's routing table is going to have both option installed, but it will use the longest-match,
which is 100.100.100.1/32 via R6.
41
From the R6’s perspective, 100.100.100.1 prefix is a backbone prefix, and it finds two equal routes of
this prefix. One of them is R4 and the other is R5. Therefore, R6 sends packets to R4 or R5 and they
send the packets back to R6 on the most specific route they have. This is why we facing the routing
loop if we have no transit capability feature. Also some situation occurs on R7, you can see clearly
in below:
42
13.References
While creating this document, I took the articles and books below as a reference:
▪ https://blog.ine.com/2009/12/31/tuning-ospf-performance
▪ https://networklessons.com/ospf
▪ https://www.juniper.net/documentation/en_US/junos/topics/topic-map/ospf-
overview.html#id-ospf-overview
▪ https://www.cisco.com/c/en/us/support/docs/ip/open-shortest-path-first-ospf/7039-1.html
▪ https://www.trueneutral.eu/2014/ -- Chapter 12 in particular was created with the resources
from this website, thanks for the special effort to Cristian.
▪ https://blog.ine.com
▪ https://tools.ietf.org/html/rfc2328
▪ Advanced Junos Enterprise Routing – Juniper Networks
▪ Day One: Routing the Internet Protocol – Juniper Networks
▪ OSPF Network Design Solutions – Thomas M.Thomas II.
▪ OSPF: Anatomy of an Internet Routing Protocol – John T. Moy
▪ Internet Routing Architectures, Second Edition – Sam Halabi, Danny McPherson
▪ Advanced IP Network Design – Alvaro Retana, Don Slice, Russ White
▪ CCDE In-Depth – Orhan Ergun

More Related Content

What's hot

OSPF (Open Shortest Path First) Case Study: Anil Nembang
OSPF (Open Shortest Path First) Case Study: Anil NembangOSPF (Open Shortest Path First) Case Study: Anil Nembang
OSPF (Open Shortest Path First) Case Study: Anil NembangAnil Nembang
 
Layer3protocols
Layer3protocolsLayer3protocols
Layer3protocols
assinha
 
OSPF Fundamental
OSPF FundamentalOSPF Fundamental
OSPF Fundamental
Reza Farahani
 
network convergence problem and solutions
network convergence  problem and solutionsnetwork convergence  problem and solutions
network convergence problem and solutions
Siddhi Viradiya
 
Open shortest path first (ospf)
Open shortest path first (ospf)Open shortest path first (ospf)
Open shortest path first (ospf)
Respa Peter
 
Routing protocols
Routing protocolsRouting protocols
Routing protocols
Sourabh Goyal
 
Ospf
OspfOspf
Olsr protocol ppt
Olsr protocol pptOlsr protocol ppt
Olsr protocol ppt
sharat sajjan
 
Chapter 06 - Routing
Chapter 06 - RoutingChapter 06 - Routing
Chapter 06 - Routingphanleson
 
OSPF Overview
OSPF OverviewOSPF Overview
OSPF Overview
NetProtocol Xpert
 
Link state routing protocol
Link state routing protocolLink state routing protocol
Link state routing protocol
Aung Thu Rha Hein
 
Performance Analysis and Simulation of OLSR Routing Protocol in MANET
Performance Analysis and Simulation of  OLSR Routing Protocol in MANET Performance Analysis and Simulation of  OLSR Routing Protocol in MANET
Performance Analysis and Simulation of OLSR Routing Protocol in MANET
ijcnac
 
Day 4 LAYER 2 SWITCHING
Day 4 LAYER 2 SWITCHINGDay 4 LAYER 2 SWITCHING
Day 4 LAYER 2 SWITCHING
anilinvns
 
Routing Techniques
Routing TechniquesRouting Techniques
Routing Techniques
Nishant Munjal
 
BASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKSBASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKS
KABILESH RAMAR
 
Design and Implementation of Dynamic Routing in Wireless Networks
Design and Implementation of Dynamic Routing in Wireless NetworksDesign and Implementation of Dynamic Routing in Wireless Networks
Design and Implementation of Dynamic Routing in Wireless Networks
Satish Reddy
 

What's hot (20)

Layer 3
Layer 3Layer 3
Layer 3
 
OSPF (Open Shortest Path First) Case Study: Anil Nembang
OSPF (Open Shortest Path First) Case Study: Anil NembangOSPF (Open Shortest Path First) Case Study: Anil Nembang
OSPF (Open Shortest Path First) Case Study: Anil Nembang
 
Layer3protocols
Layer3protocolsLayer3protocols
Layer3protocols
 
OSPF Fundamental
OSPF FundamentalOSPF Fundamental
OSPF Fundamental
 
Rip ospf and bgp
Rip ospf and bgpRip ospf and bgp
Rip ospf and bgp
 
network convergence problem and solutions
network convergence  problem and solutionsnetwork convergence  problem and solutions
network convergence problem and solutions
 
Open shortest path first (ospf)
Open shortest path first (ospf)Open shortest path first (ospf)
Open shortest path first (ospf)
 
Routing protocols
Routing protocolsRouting protocols
Routing protocols
 
Ppt of routing protocols
Ppt of routing protocolsPpt of routing protocols
Ppt of routing protocols
 
Ospf
OspfOspf
Ospf
 
Ospf
 Ospf Ospf
Ospf
 
Olsr protocol ppt
Olsr protocol pptOlsr protocol ppt
Olsr protocol ppt
 
Chapter 06 - Routing
Chapter 06 - RoutingChapter 06 - Routing
Chapter 06 - Routing
 
OSPF Overview
OSPF OverviewOSPF Overview
OSPF Overview
 
Link state routing protocol
Link state routing protocolLink state routing protocol
Link state routing protocol
 
Performance Analysis and Simulation of OLSR Routing Protocol in MANET
Performance Analysis and Simulation of  OLSR Routing Protocol in MANET Performance Analysis and Simulation of  OLSR Routing Protocol in MANET
Performance Analysis and Simulation of OLSR Routing Protocol in MANET
 
Day 4 LAYER 2 SWITCHING
Day 4 LAYER 2 SWITCHINGDay 4 LAYER 2 SWITCHING
Day 4 LAYER 2 SWITCHING
 
Routing Techniques
Routing TechniquesRouting Techniques
Routing Techniques
 
BASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKSBASICS OF ROUTING IN NETWORKS
BASICS OF ROUTING IN NETWORKS
 
Design and Implementation of Dynamic Routing in Wireless Networks
Design and Implementation of Dynamic Routing in Wireless NetworksDesign and Implementation of Dynamic Routing in Wireless Networks
Design and Implementation of Dynamic Routing in Wireless Networks
 

Similar to Open Shortest Path First

C C N A Day3
C C N A  Day3C C N A  Day3
C C N A Day3
darulquthni
 
OSPF.pptx
OSPF.pptxOSPF.pptx
OSPF.pptx
Atakan ATAK
 
Osp fv3 cs
Osp fv3 csOsp fv3 cs
Osp fv3 cs
Fred Bovy
 
CSC427_Week_11.pdf
CSC427_Week_11.pdfCSC427_Week_11.pdf
CSC427_Week_11.pdf
muazumuhammad6
 
Ccna day3
Ccna day3Ccna day3
Ccna day3
Reetesh Gupta
 
Ccna ppt1
Ccna ppt1Ccna ppt1
Ccna ppt1
AIRTEL
 
Benchmarking Failure Recovery Time in MPLS FRR with Link Protection
Benchmarking Failure Recovery Time in MPLS FRR with Link ProtectionBenchmarking Failure Recovery Time in MPLS FRR with Link Protection
Benchmarking Failure Recovery Time in MPLS FRR with Link Protection
Vaideesh Ravi Shankar
 
Ccna day3-140715152337-phpapp01
Ccna day3-140715152337-phpapp01Ccna day3-140715152337-phpapp01
Ccna day3-140715152337-phpapp01
Sachin Morya
 
Ospf infinite skills
Ospf infinite skillsOspf infinite skills
Ospf infinite skills
ssarachman1
 
OSPF Open Shortest Path First protocol full details
OSPF Open Shortest Path First  protocol full detailsOSPF Open Shortest Path First  protocol full details
OSPF Open Shortest Path First protocol full details
Vignesh kumar
 
Cisco ospf
Cisco ospf Cisco ospf
Cisco ospf
sarasanandam
 
Single-Area OSPFv2 Concepts.pdf
Single-Area OSPFv2 Concepts.pdfSingle-Area OSPFv2 Concepts.pdf
Single-Area OSPFv2 Concepts.pdf
Zulkarman Syafrin
 
Cisco ospf
Cisco ospf Cisco ospf
Cisco ospf
sarasanandam
 
Routing and OSPF
Routing and OSPFRouting and OSPF
Routing and OSPFarpit
 
OSPFv3_Technology_White_Paper.pdf
OSPFv3_Technology_White_Paper.pdfOSPFv3_Technology_White_Paper.pdf
OSPFv3_Technology_White_Paper.pdf
Denis Rasskazov
 

Similar to Open Shortest Path First (20)

C C N A Day3
C C N A  Day3C C N A  Day3
C C N A Day3
 
OSPF.pptx
OSPF.pptxOSPF.pptx
OSPF.pptx
 
Osp fv3 cs
Osp fv3 csOsp fv3 cs
Osp fv3 cs
 
Ospf
OspfOspf
Ospf
 
CSC427_Week_11.pdf
CSC427_Week_11.pdfCSC427_Week_11.pdf
CSC427_Week_11.pdf
 
Ccna day3
Ccna day3Ccna day3
Ccna day3
 
Ccna ppt1
Ccna ppt1Ccna ppt1
Ccna ppt1
 
Benchmarking Failure Recovery Time in MPLS FRR with Link Protection
Benchmarking Failure Recovery Time in MPLS FRR with Link ProtectionBenchmarking Failure Recovery Time in MPLS FRR with Link Protection
Benchmarking Failure Recovery Time in MPLS FRR with Link Protection
 
Ccna day3
Ccna day3Ccna day3
Ccna day3
 
Ccna day3
Ccna day3Ccna day3
Ccna day3
 
Ccna day3
Ccna day3Ccna day3
Ccna day3
 
Ccna day3-140715152337-phpapp01
Ccna day3-140715152337-phpapp01Ccna day3-140715152337-phpapp01
Ccna day3-140715152337-phpapp01
 
Ospf infinite skills
Ospf infinite skillsOspf infinite skills
Ospf infinite skills
 
OSPF Open Shortest Path First protocol full details
OSPF Open Shortest Path First  protocol full detailsOSPF Open Shortest Path First  protocol full details
OSPF Open Shortest Path First protocol full details
 
Cisco ospf
Cisco ospf Cisco ospf
Cisco ospf
 
Single-Area OSPFv2 Concepts.pdf
Single-Area OSPFv2 Concepts.pdfSingle-Area OSPFv2 Concepts.pdf
Single-Area OSPFv2 Concepts.pdf
 
Cisco ospf
Cisco ospf Cisco ospf
Cisco ospf
 
Routing and OSPF
Routing and OSPFRouting and OSPF
Routing and OSPF
 
Arun project-Final
Arun project-FinalArun project-Final
Arun project-Final
 
OSPFv3_Technology_White_Paper.pdf
OSPFv3_Technology_White_Paper.pdfOSPFv3_Technology_White_Paper.pdf
OSPFv3_Technology_White_Paper.pdf
 

Recently uploaded

This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
ShahulHameed54211
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
TristanJasperRamos
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
Himani415946
 

Recently uploaded (16)

This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 

Open Shortest Path First

  • 1. 1 Open Shortest Path First Protocol 1. Terminology It is an IGP standardized by the IETF and commonly used in large Enterprise networks. OSPF is a link-state routing protocol providing fast convergence and excellent scalability. Like all link- state protocols, OSPF is very efficient in its use of network bandwidth. OSPF uses link-state information to make routing decisions, making route calculations using the SPF algorithm (Dijkstra algorithm). Each router running OSPF floods link-state advertisements (LSA) throughout the AS or area that contain information about that router’s attached interfaces and routing metrics. Each router uses the information in these link-state advertisements to calculate the least cost path to each network and create a routing table for the protocol. OSPF also has the following operational characteristics: ▪ Dynamically adjust to changes in network topology. ▪ Support VLSM and CIDR ▪ Provides for the authentication of routing updates. ▪ It uses the cost as the route metric. The cost of an OSPF route is the sum of the cost values of all incoming interfaces from the source router to the destination router. ▪ Determines routing by computing a graph, abstracting the topology of the network by using the SPF algorithm. ▪ It support four kinds of connections or networks: ❖ Broadcast ❖ P2P ❖ P2MP ❖ NMBA ▪ The concept of area division is proposed. After the autonomous system is divided into different regions, the summary of routing information between the regions is adopted, which greatly reduces the quantity of routing information to be transmitted. It also makes routing information not expand rapidly as the network scale increases. ▪ Also the protocol itself minimizes the operation overhead: ❖ For the discovery and maintenance of neighbor relationships, the hello messages that do not contain routing information are sent regularly and are very short. ❖ In broadcast networks, multicast addresses are used instead of broadcast to reduce the interference to other network devices ❖ In various types of networks that can be accessed multiple times (broadcast, NBMA), by electing DR, the number of route exchanges (synchronizations) between routers on the same network segment is reduced ❖ Supports route aggregation on ABRs (Area Border Routers) to further reduce routing information transfer between regions. ❖ In the P2P interface type, OSPF over On Demand Circuits is configured so that it no longer sends hello packets periodically and updates routing information regularly.
  • 2. 2 Below table summarizes the similarities and differences of these two protocols in detail: Design Requirement OSPFv2 OSPFv3 Scalability Good Better, since Type 1-2 LSA does not contain prefix information, but only topology information Fast Reroute Support IP FRR IP FRR, but limited plartform support Suitable on WAN Yes Yes Suitable on Datacenter DCs are Full Mesh, therefore, not well Same as OSPv2 Suitable on Internet Edge No, it is designed as an IGP Same as OSPv2 LSA Type Type 1-2-3-4-5-7 Type 1-2-3-4-5-7-8-9 Transport Multicast Multicast Reachability Info Handling Inside an area and Type-2 LSA carries the reachability information between areas reachability info is carried in Type-3 LSA. Inside an area, reachability information is carried in Type-9 LSA. Inter area prefixes are still carried in Type-3 LSA. Topology Info Handling Inside an area Type 1-2 LSA carries the topology information. Topology information is not carried beyond an area. Same as OSPv2 Security MD5 Authentication is removed, since it runs on IPv6. It supports IPsec and Authentication, this simplifies OSPF header. Suitable as Interprise IGP Yes Yes Suitable as ISP IGP Yes Definitely Complexity Easy Moderate Resource Requirement Full SPF runs on prefix or topology change as it is worsee than OSPFv3 If topology does not change, full SPF is not needed. Prefix information is carried in new LSA, not in Type-1 LSA now. IPv4 Support Yes Yes IPv6 Support No Yes Default Convergence Slow Even slower, if multiple address families are used Troubleshooting Easy Harder, because requires understanding of IPv6 addressing, after that, it is the same packet types, LSA, LSU, DBD. Rooting Loop Inter area prefixes should be received from ABR. All non backbone areas should be connected to the backbone. Same as OSPFv2
  • 3. 3 2. Neighbor Adjacency OSPF considers two routers that have an interface located an a common network as “Neighbor”. When OSPF discovers its neighbors, this is the first step of discovering the network and building a routing table. This process begins with the router learning the Router-ID of its neighbors via mulicast “Hello Message”. A neighbor relationship begins when the routers exchanging Hello packetss see their own Router-ID in the other router’s Hello packet and they agree upon the follow: ▪ Differenet Router-ID value ▪ Same Hello and Dead transmission intervals ▪ Same Area ID ▪ Same subnet mask – Just for multiaccess network ▪ Stub Area Flag ▪ Authentication type and password ▪ Same MTU – If you see like a this condition, this is not true. Because two routers will become a neighbor, and send each other to DBD packet. But there is no adjanceny will form between them. I will show you the debug output in detail below. For adjacencies to form, OSPF must first have discovered its neighbors. Adjancencies are formed for the purpose of exchanging routing information. NOT every neighboring router forms an adjacency. A router’s neighbors or peers, are those routers, which is describe below, will directly exchange routing information. The conditions under which OSPF forms adjancecies are as follow: ▪ Network connectivity, and also it is achieved by through a virtual link ▪ The router is the DR ▪ The neighboring router is the DR ▪ The router is the BDR ▪ The neighboring router is the BDR
  • 4. 4 After this stage, let's examine the process of forming a neighbor and adjanceny in the following images. As seen in the debug output above, the flow diagram on the previous page is actually applied. The important thing for us is that Master/Slave selection is made before the DBD packages are sent. This is part of the clacical TCP communication. Here, on the previous page, I have shown that the article that MTU must comply with to establish a neighbor is actually unfounded. I especially wanted to mention this as it is shown in many sources. MTU is a situation that we may encounter only during the Master/Slave selection process, which is you can clearly see on below picture or above debug output:
  • 5. 5 As long as database remains sychronized, a link state protocols routing calculations ensure correct and loop-free routing. Database sychronization takes two forms in a link state protocol: ▪ When a two neighbors start communicating, they must sychronize theirs databases before forwarding data traffic over their shared link. ▪ There is the continual database resychronization that must occur as new LSAs are introduced and distributed among routers. The mechanism that achieves this resychronization is called “Reliable Flooding”. When the connection between two neighboring routers first comes up, reliable flooding began over the connection, but the connection was not used for data traffic until eneugh time had elopsed the guarantee that the entrie database had been either updated or refreshed. The reason it is called reliable flooding is because the use of the sequence number allow nodes to identify the most recent copy of the information and prevent them from retransmitting old information. The flooding procedure starts when a router wishes to update one of its self-originated LSAs. The router then floods the LSA, packaging the LSA within a LSU packet, which may or may not contain other LSAs, and then sending the LSU packet out all of its interfaces. When one of the router’s neighbors receives the LSU packet, the neighbor examines each of the LSAs contained within the update. For each LSA that is uncorrupted, and more recent than the neighbors own database copy, the neighbor installs that LSA in its LSDB, sends and acknowledgment back to the router, repackages the LSA within a new LSU packet, and sends it out all interfaces expect the one that receives the LSA in the first place.
  • 6. 6 OSPF reliable flooding scheme is robust in the face of errors. Even when transmission erros, link and/or router failures occur, the network continues is function correctly. LSDBs continue to be synchronized and the amount of routing traffic remains at an acceptable level. OSPF flooding achieves this robustness because of the following features: ▪ Flooding cloud be restricted to a minimal collection of links interconnectting all routers (calling a spaning tree). However, OSPF does not use a spaning tree; it floods over all links. AS a result, the failure of any link does not significantly distrupt database synchronization. ▪ Software erroes, a router might accidentally delete one or more LSAs from its database. To ensure that the router eventually regains database synchronization with the rest of the OSPF routing domain. ▪ To detect corruption of LSAs as they are flooed, each LSA contains a “Checksum” field. Corrupted LSAs are discarded and not acknowledged. ▪ Errors in implemantation might lead to situations in which the routers disagree on which LSA instance is more recent, possibly causing flooding loops. ▪ To guard against a rapidly chancing network causing an excessive amount of control traffic, OSPF imposes rate limits on LSA origination, which is MinLSInterval value. ▪ To guard against routers that are updating their LSAs at too high a rate on OSPF router will refuse to accept a flooed LSA, if the current database copy has received less than 1 secons ago. NOTE: So if a new node comes up on OSPF domain, it could build the database from regular LSA updates, rather than exchange of DBD. What role do the DBD packets play in this scnerio? 3. Network Types In the OSI reference model, differences subnet technologies would be called “Subnet work- Dependent convergence” functions. The differences in the way that OSPF runs over the various subnet technologies can be groupped as follows: 1. Neighbor Disvocery and Maintance: Hello protocols run differently an different subnet types. 2. Database Synchronization: How does one synchnorize the LSDB over the subnet? Which routers become adjacent, and how does reliable flooding take advantage of any special properties that the subnet might provide? 3. Abstraction: In the OSPF LSDB, how does one represent the subnet and router connectivity over the subnet? Two OSPF routers will never form a neighbor relationship and hence will never forward packets directly between each other unless they share a common prefix.
  • 7. 7 3.1.Broadcast Data link whereby on attached node can send a single paclet that will be received by all other nodes attached the subnet. Broadcast is very useful for autoconfiguration and replicating information. Now let's perform our examination in the following items over 3 main topics on the previous page: 1. Each OSPF routers periodically multicasts its Hello packets to the IP address 224.0.0.5 or 224.0.0.6. The advantages of over broadcast subnets are floows: ❖ Automatic discovery of neighbors ❖ Efficiency when N router are on a broadcast segment, there are [N(N-1)]/2 neighbor relationship and are maintened by sending only N Hello packets. ❖ Isolation 2. On a broadcast subnet with N routers, there are [N(N-1)]/2 neighbor pairs. If you try to synchronize databases between every pair of routers, you end up with a large number of LSU and LSAck being sent over the subnet. Therefore, OSPF solves this problem by electing a DR, BDR for the broadcast subnet. Using the normal procedures of the database exchange and reliable flooding. 3. The obvious way to do this is for each router to include links to all other routers in its “Router LSA”. But this would introduce N(N-1) links into the OSPF database, so instead OSPF creates a new LSA type, which is called “Network LSA”. 3.2.Point to Point A network that joins a single pair of routers. Here’s what you need to know about OSPF point- to-point: ▪ Automatic neighbor discovery so no need to configure OSPF neighbors yourself. ▪ No DR/BDR election since OSPF sees the network as a collection of P2P links. ▪ Normally uses for point-to-point sub-interfaces with an IP subnet per link. ▪ Can also be used with multiple PVCs using only one subnet.
  • 8. 8 3.3.NBMA Support more than two routers and allow any two routers to communicate directly over them but do not support data link broadcast capability. A single IP subnet will be assigned to the NBMA segment, with all routers having IP interface addresses on the segment. Now let's perform our examination in the following items over 3 main topics on the previous page: 1. Neighbors must be discovered initially through configuration. Configuration is restricted to routers eligible to beacome DR. Therefore, if you want to reduce the Hello traffic you must be assigned priority value of 0 on every router in NMBA segment. 2. Database synchronization works the same as on broadcast networks. 3. Network LSA works the same on broadcast networks. There is a common issue in here, that is many nonbroadcast subnets cannot support a large number of routers, with each router pair being able to communicate directly. For example; to connect 100 routers in a full mesh over a NBMA segment would require 4.950 neighbor relationships. 3.4.Point to Multipoint OSPF treats all router-to- router connections over the non-broadcast network as if they were point-to-point links. No Designated Router is elected for the network, nor is there an LSA generated for the network. Now let's perform our examination in the following items over 3 main topics on the previous page: 1. Each router becomes adjacent to all other routers with which it can communicate directly, performing initial database synchronization through database exchange then participating in reliable flooding with its negihbors. 2. A router an a P2MP subnet includes the following links in its Router LSA, a P2P connection for each of its neighbors on the P2MP subnet and a single stub network connection to its own IP interface address. 3.5.Point to Multipoint NonBroadcast In this case you have a network type very similar to RFC point-to-multipoint network type but you can manually configure neighbor's IP address and OSPF will send hello packet using you neighbor unicast address instead of 224.0.0.5.
  • 9. 9 Depending on the network types, it has different meanings in the information of some areas carried by LSAs. You can take the table below as a reference for an example of this issue: NOTE: Therefore can neighbor relationship be created between different types of networks? In this regard, I suggest you to make the necessary examinations among the following network types in order to understand the details of the subject. ▪ Broadcast – Non-Broadcast ▪ P2MP – P2P ▪ P2P – Non-Broadcast ▪ P2MP – Non-Broadcast 4. Link State Advertisement Each OSPF router in the AS originates one or more LSAs to describe its local part of the routing domain. In order to provide organization to the database and to enable the orderly updating and removal of LSAs, each LSA must provide some bookkeeping information as well as topological information. Instead, OSPF routers keep track of the status of links within their respective areas. A link is simply a router interface. From these lists of links and their respective statuses, the topology database is created. OSPF routers forward link state advertisements (LSAs) to ensure the topology database is consistent on each router within an area. LSA also has the following characteristics: ▪ A link is any type of connection between OSPF routers ▪ The state is the condition of the link, whether the link is available for use
  • 10. 10 ▪ An advertisement is to method that OSPF uses to provide information to other OSPF routers ▪ LSAs are a special type of packet that OSPF uses to advertise changes in the state of a specific link to other OSPF routers Whenever a new instance of an LSA is originated, its LS Sequence number is increment LS Age is set to 0, LS Checksum is calculated, and the LSA is added to the LSDB and flooded out the appropriate interfaces. The nine events that can cause a new instance of LSA to be originated are: ▪ The LS Age field of one of the router’s self originated LSAs reaches the value LSRefreshTime. This guarantees periodic originations of all LSAs. The following events may cause the concepts of an LSA to change. These events should cause new originations if and only if the contects of the new LSA would have different: ▪ An interface’s state changes, which is occurs the Router LSA ▪ An attached networks DR changes, which is occurs the Network LSA ▪ One of the neighboring routers changes to/from the Full state, which is occurs the both of them ▪ An intra-area or inter-area route has been added, deleted, or modified in the routing table on ABR ▪ The router becomes newly attached to an area ▪ When the state of one of the rotuer’s configured virtual links changes ▪ An external route gained through direct experience with an external routing protocol changes on ASBR ▪ A router ceases to be an ASBR, perhaps after restarting. In this situation the router should flush all AS External LSas that it had previously originated. The list that follows describes the fields in the LSA header: ▪ LS Age: After LSAs originating router has failed, it can therefore take as long as on hour for the LSA to be removed from other router’s LSDB. Such as an LSA is certainly advertising out of date information. However, OSPF guarantees that the LSA will not interface with the routing table calculation. By requiring that a link be advertised by the routers at both ends of the link before using the link in the routing calculation. OSPF also has a procedure, which is called “Premature Aging”, for deleting an LSA from the routing domain without waiting for its LSA Age to reach Max Age. Represents the parameters of Age Field, and as shows below:
  • 11. 11 ❖ MinLSArrival ✓ Default value 1 sec ✓ Maximum rate of which router will accept updates of any given LSA via flooding ❖ MinLSInterval ✓ Default value 5 sec ✓ Maximum rate of which router will can update on LSA ❖ CheckAge ✓ Default value 5 min ✓ Rate of which router verifies the checksum of an LSA contained inits database ❖ MaxAgeDiff ✓ Default value 15 min ✓ When two LSA instances differ by more than 15 min, they are considered to be separate instances, and the one with the smaller LS Age Field is accepted as more recent ❖ LSRefreshTime ✓ Default value 30 min ✓ A router must refresh any self originated LSA whose age reaches the value of 30 min ❖ MaxAge ✓ Default value 1 hour ✓ When the age of an LSA reaches 1 hour, the LSA is removed from the database ▪ Options: It specifies the optional capabilities supported by the portion of the OSPF domain described by the LSA. ▪ LS Type: Represents the types of LSA, and as shows below: ❖ Router LSA – Type 1 ✓ Describes the states of the router’s links within the area and are flooded only within an area for which that router is a member ✓ Link State ID = Originating Router ID ❖ Network LSA – Type 2 ✓ Generated only by DR and describe the set of routers attached to a particular NMBA or broadcast netowrk. The purpose of network LSA is to ensure that only one LSA is generated for these network types. ✓ This is a form of internal OSPF summarization ✓ Specially, it describe all roters that are attached to a multiaccess network ✓ Link State ID = IP Address of DR ❖ ABR Summary LSA – Type 3 ✓ Generated only by ABR and describe inter area routes to various networks ✓ Specially, it deescribes networks that are within the OSPF AS but outside of the particular OSPF area that is receiveng the LSDB
  • 12. 12 ✓ Summary LSA has a flooding scope of being transmitted only into the area where the network or subnet is not found ✓ These LSA can also be used for aggregating routes ✓ Link State ID = Destination Network ❖ ASBR Summary LSA – Type 4 ✓ Each summary LSA describes a route to a destination outside the OSPF area yet still inside the AS. It describe routes to ASBR and are also generated by ABR ✓ Therefore, it enables other routers to find and reach the ASBR ✓ Link State ID = Router ID of the ASBR ❖ External LSA – Type 5 ✓ Generated by the ASBR ✓ These LSA describe routes to destinations that are external to the AS ✓ Flooded everywhere, with the expection of Stub Area ✓ Link State ID = External Network ❖ Multicast Group LSA – Type 6 ❖ NSSA External – Type 7 ✓ Generated by the ASBR ✓ These LSA describe routes within a NSSA ✓ Can be summarized and converted into Type-5 LSA by the ABR for the transmission into other OSPF area ❖ Opaeuq LSA – Type 9-10-11 ▪ Link-State ID: Identifies the portion of the network that is being described by the LSA. This field changes according to the LS type, which is mentioned above pages. ▪ Advertising Router: Represents the router ID of the router originating the LSA. ▪ LS Sequence Number: When a router has two instances of a particular LSA, it detects which instance is more recent by comparing the instance LS Sequnce Numbers. The instance with the larger is the more recent. Of course, the meaning of larger depends on the organization of the sequence number space. There are three possible scnerio here as below: ❖ Circular: This scheme was not robust in the face of erros. Bit errors in switch memory caused the accidental introduction of three instance of an LSA having sequence numbers that were not constrained to a semicircle ✓ S1 < S2 < S3 < S1
  • 13. 13 ❖ Lollipop-Shaped: Each LSA is initially originated with the smallest sequence number, so the sequence space then increments until it enters the circular part of the space. It provides better protection against the “Arpanet Sequence Bug”, but three sequences number still cause a problem: ✓ S1 < S2 < S3 < S1 ❖ Linear: The first time OPSF router originates a given LSA. It sets the 𝑆0. Subsequently each time the router updates the LSA, it increment by 1. Guard against problems similar to the bug: ✓ All OSPF LSAs contain a checksum ✓ OSPF requires the LSA Age Field incrementing at each hop ▪ LS Checksum: An LSA become corrupted during flooding or while being held in a router’s memory. Corrupted LSAs can created havoc, possibily leading to incorrect routing calculations, black holes or looping data packets. The checksum is calculated originally by the router that originates the LSA and then is carried with the LSA as it is flooed throughout the routing domain and stored within the LSDB. A router periodically verifes the checksums of all the LSA in its LSDB, guarding against its own hardware or software errors. Detection of such internal errors will generally cause the rotuer’s OSPF processing to reinitialize. Also, after an LSA instance is originated, its checksum is never altered. For this reason, the checksum excludes the LSAs LS Age Field, which is modified in flooding. ▪ Length: Length of the LSA including the LSA header. When a router receives an LSA, it checks its LSDB. If the LSA is new, the router floods the LSA out the its neighbors. After the new LSA is added to the LSDB, the router reruns SPF
  • 14. 14 algorithm. This recalculation by the SPF is essential to preversing occurate routing tables. The SPF is responsible for calculating the routing table, and any LSA change might also cause a change in the routing table. OSPF routers in the same area all have the same LSDB and run same SPF algorithm with themselves as the root. The characteristics of the LSDB are as follows: ▪ All router belonging to the same area have the idendical LSDB ▪ Calculating routes by using the SPF is performed separately by each router in area ▪ LSA flooding is contained within the area that experienced the change ▪ The LSDB is comprised of LSA entries ▪ A router has a separate LSDB for each area to which it belongs Flooding in OSPF is responsible for validating and distributing LSU to the LSDB, whenever a change or update occurs to a link. Flooding is part of the LSDB synchronization mechanism. The goal of this mechanism is to kepp the LSDBs of the routers in an OSPF domain synchronized within time in the presence of topological changes. Also, the primary goal of flooding is to ensure that every router receives the changed or updated LSA within the flooding scope. Flooding occurs diffrently between neighbors in OSPF depending on a the following factor: ▪ LSA Type 1-2-3-4-7 are flooded within an area ▪ LSA Type 5 is flooded throughout the OSPF domain, with expection of Stub area ▪ When a DR is present, only non-DRs flood to the DR. The DR then floods to everyone as required ▪ When two OSPF routers have not established an adjancency, they do not flood each other
  • 15. 15 5. Area Type OSPF supports a two level hierarchical routing scheme through the use of areas. Each OSPF area is identified by a 32-bit Area ID and consist of a collection of network segments interconnected by routers. Areas are contiguous logical segments of the network that have been grouped together. Each area has its own LSDB, consisting of LSA Type 1-2 describing how the area’s routers and network segments are interconnected. Routing within the area is flat, which each router knowing exactly which network segments are contained within the area. In addition to allowing one to build much larger OSPF networks, OSPF areas provide the following functionally: ▪ Increased Robutness: The effects of router and/or link failures within a single area dampened external to the area. ▪ Routing Protection: OSPF always prefers path within an area over paths that cross area boundaries. This means that routing within an area is protected from routing instabilities or misconfiguration in other area. ▪ Hiden Prefixes: one can configure prefixes so that they will not be advertised to other area The following list provides general characteristics of an OPSF area: ▪ Area contain a group of contigous hosts and networks ▪ Routers have a per area topological database and run the same SPF ▪ Each are must be connected to the backbone area known as Area 0 ▪ Virtual links can be used to connect to Area 0 in emergencies ▪ Intra area routes are used for routes within to destination within the area 5.1.Standart Area It is a carry a default, static, intra area, and external routes. The use of standart area is more resource intensive within an OSPF network. The following list provides general characteristics: ▪ It contains a router that uses both OSPF and any other routing protocols ▪ A virtual link is configured across the area ▪ It has an ABR ▪ Summarize whenever and as often as possible 5.2.Backbone Area If more than one area is configured in an OSPF network, one of these areas must be Area 0. To summarize the OSPF backbone is the part of the OSPF network that acts as the primary path for traffic that is destined to other areas or networks. Use the following guidelines when designing an OSPF backbone: ▪ It is a transit area, not a destination for traffic ▪ Ensure that the stability of the backbone area is maintained ▪ Ensure that redundancy is built into the design whenever possible ▪ Keep this are simple, and fewer routers are better
  • 16. 16 ▪ Keep the BW symmetrical, so that OSPF can maintain load balancing ▪ Ensure that all other areas connect directly to Area 0 The backbone area must be at the center of all other areas, so all areas must be connected to the backbone.This is because OSPF expects all areas inject routing information into the backbone, and it turns, the backbone disseminates that routing information into other areas. 5.3.Stub Area This area carries a default route and inter area routes but does not carry external routes. Stub areas are essentially dead end areas. This reduces the routes being advertising across the network. Therefore, stub areas allow for reduction in LSA traffic and can make OSPF make stable. Stub area summarize all external LSAs into a default route, which provides a path to external routes for all traffic inside the stub area. The stub ABR forwards LSAs for inter area routes but not external routes and floods them to other Area 0 routers. The stub ABR keeps the LSDB for the stub area with this additional information and the default external route. Stub areas following functional and design characteristic: ▪ The stub ABR stops the LSA Type 4-5. Therefore, no router inside a stub area has any external routes, so ASBR cannot be internal to a stub area. ▪ Reduces the LSDB size and memory requirements of the routers inside a stub area ▪ Routing from these areas to the outside based on a default route. Stub area only have two type of route, such as O and O IA. ▪ Stub areas typically have one ABR, this is the best design. If there is more than one ABR, accept the nonoptimal routing paths because you have more than one existing point. ▪ All OSPF routers inside a stub area must be configured as a stub routers, because all OSPF interfaces that belong to the area start exhanging Hello packets with a flag that indicates that the interface is part of a stub area (E bit). ▪ Bacbkbone area cannot be a stub area ▪ Stub area cannot be used as a transit area for virtual links 5.4.Totally Stubby Area The purpose of Totally Stubby areas is to limit the number of LSAs flooded into the area, to conserve bandwidth and router CPUs. The stub area ABR will instead automatically inject a default route into the Totally Stubby area, so that those routers can reach both inter area networks and external networks. The ABR will be the next-hop for the default route. Totally Stubby areas following functional and design characteristic: ▪ The ABR advertise only a defualt router into the rest of the stub area. This results in an even further reduction in the size of the LSDB and routing table. ▪ TSA forwards default external route and blocks the LSA Type 3-4-5-7. ▪ Also share the same design criteria with Stub area.
  • 17. 17 5.5.NSSA Although most of the stub area restrictions, such as preventing the flooding of LSA Type-5 into the area and not allowing configuration of virtual links through the area. The ability to import a small amount of external routing informaiton into the NSSA for later distributionb into the rest of the OSPF routing domain. The advent of this new type of hybrid stub area also introduced a new LSA Type-7, which is responsible for carrying external route information. NSSA does not flood LSA Type-5 external LSAs from the core into the NSSA, on NSSA has the capability to import AS external routes in a limited fashion within the area, which is what makes it on NSAA. With NSSA you can extend OSPF to cover the remote connection by defining the are between the corparate router and the remoute router as on NSSA. The operation of an NSSA is rather straightforward. NSSA following functional characteristic: ▪ NSSA area routers will share LSA Type 1-2 to build their topology tables ▪ NSSA areas will also accept LSA Type-3, which contain the routes to reach networks in all other areas ▪ NSSA areas will not accept LSA Type 4-5, detailing routes to external networks ▪ If an ASBR exists within the NSSA area, that ASBR will generate LSA Type-7 NOTE: It does not suspend all Type-3 LSA, because it must have access to the prefixes in the OSPF domain. To do this, one default Type-3 LSA is kept on the database. After the above detailed descriptions, you can take the table below as a reference for yourself. A general observation was made on the topology together with the table. 6. Path Selection OSPF will use cost as the metric to choose the shortest path for each destination, this is true but it’s not entirely correct. OSPF will first look at the “type of path” to make a decision and secondly look at the metric. This is the prefered path list that OSPF uses:
  • 18. 18 ▪ Intra-Area [O]: Routes originated within an area, are known by the routers in the same area as Intra-Area routes. These routes are flagged as O. Also called OSPF Internal routes, as they are generated by OSPF itself, when an interface is covered with the OSPF network command. ▪ Inter-Area [O IA]: When a route crosses an ABR, the route is known as an OSPF Inter-Area route. These routes are flagged as O IA. Also called OSPF Internal routes, as they are generated by OSPF itself, when an interface is covered with the OSPF network command. ▪ NSSA Type 1 [N1]: When an area is configured as a NSSA, and routes are redistributed into OSPF, the routes are known as NSSA External Type-1. These routes are flagged as O N1. ▪ External Type 1 [E1]: Routes which were redistributed into OSPF, such as connected, static, or other routing protocol, are known External Type-1. These routes are flagged as O E1. A cost is the addition of the external cost and the internal cost used to reach that route. ▪ NSSA Type 2 [N2]: The definition for type O N1 is valid for this route type. Also, these routes are flagged as O N2. ▪ External Type 2 [E2]: The definition for type E1 is valid for this route type, with one difference, which is the cost is always the external cost, irrespective of the interior cost to reach that route. Also, these routes are flagged as O E2. There is a common question in here, which is better E1 or E2 routes? This preference comes from the root belief that OSPF as a routing protocol, which is uses cost as it metric, shoul never disregard cost from making routing decisions. Therefore, E1 routes are preferred by many because they take into account the cost of the links to the external network ehenever you are in the OSPF AS. Consider using E1 routes under the following circumstances: ▪ Your network has multiple exit points, from your OSPF AS to the same external AS ▪ Your network has multiple paths to a single external network from mant destinations Some defining characteristics and needs of E2 routes are as folow: ▪ The default route generated by a stub Abr is on E2 route into the stub are because a stub network is usually simple in its topology. So, there is just one way out!! ▪ Your ntwork is not very large, and thus you do not need E1 routes
  • 19. 19 7. Summarization ABRs send summary link advertisements to describe the routes to other areas. Depending on the number of destinations, an area can get flooded with a large number of link state records, which can utilize routing device resources. To minimize the number of advertisements that are flooded into an area, you can configure the ABR to summarize, a range of IP addresses and send reachability information about these addresses in a single LSA. You can summarize one or more ranges of IP addresses, where all routes that match the specified area range are filtered at the area boundary, and the summary is advertised in their place. Summarization of Type-3 LSAs means we are creating a summary of all the inter area routes. This is why we call it inter area route summarization. If you don’t use summarization (which is the default) there will be a LSA for every specific prefix. If you have a link failure in any area then related ABR will flood a new Type-3 LSA and this change has to be propagated throughout all o ur OSPF areas. Since the LSDB will change our OSPF routers they will have to re-run the SPF algorithm which takes time and CPU power. There are a couple of things to be aware of: ▪ A summary route will only be advertised if you have at least one subnet that falls within the summary range ▪ A summary route will have the cost of the subnet with the lowest cost that falls within the summary range ▪ ABR that creates the summary route will create a null0 interface to prevent loops ▪ OSPF is a classless routing protocol so you pick any subnet mask you like for prefixes 7.1.Example#1 OSPF is a classless routing protocol, which carries subnet mask information along with route information. Therefore, OSPF supports multiple subnet masks for the same major network, which is known as VLSM. OSPF supports discontiguous subnets because the subnet masks are part of the LSDB. Network numbers in areas should be assigned contiguously to ensure that these addresses can be summarized into a minimal number of summary addresses. Let’s consider the below topology: This summarization was succesful because you have the following distint and contiguous ranges of subnets: ▪ 128.213.96.X to 128.218.99.X – Area 1 ▪ 128.213.100.X to 128.218.103.X – Area 2
  • 20. 20 As can be seen in the output above, the information of Type-3 LSA transmitted via R2 is reflected in the routing table. NULL 0 is a fictitious interface that causes the router to drop into the bit bucket any information that is destined to it. These entries are placed into the routing table to prevent routing loops. Also, if one or more of the summarized networks are inaccessible, the other routers within the OSPF domain are not interested this issue, because in their routing tables there is a summarized route outlined as shown in the area marked in red above. Only Type-3 LSAs propagate into the backbone. This is important because it prevents every router from having to rerun the SPF algorithm. This is helps increase the networks stability and reduces uncessary traffic. If we take the example I made as reference, even if only one of the four prefixes for Area 1 remains, the summarized route will still be announced via OSPF. However, the traffic of the other three prefixes, which no longer have access, are transferred up to the relevant ABR. Whether or not there is access to prefixes on ABR as seen above is known through Type-1-2 LSAs. If there is no access to the relevant prefix, a possible routing loop is avoided by transmitting packets to the NULL 0 interface.
  • 21. 21 8. Prefix Suppression In large OSPF networks, a lot of space is wasted in the LSDB and routing tables because of prefixes on transit links. OSPF prefix suppression is a feature to get rid of these unnecessary prefixes. The colored entries describe the Transit links, which need to be processes for the SPF algorithm but really do not need in the routing tables of endpoint routers. Thus, this is the moment where it is very important to realize that an SPF tree could consist entirely of unnumbered links and still function as before.
  • 22. 22 The routing table of R1 still shows the entry for the loopback IP however it has removed the prefix of the transit link 10.10.23.0/30 from the routing table. To test it, let’s re-configured the link between R2 and R3 as P2P network. NOTE: The source IP must be of the loopback as the routers have no information for the transit IPs to send the echo- replies.
  • 23. 23 9. Stub Router Feature OSPF has a stub router feature (don’t confuse this with stub areas) that lets you prevent a router from being a transit router. In some situations, it may be advantageous to inform routers in a network not to use a specific router as a transit point, but still route to it. Possible situations include the following: ▪ The router is in a critical condition (for example, has very high CPU load or does not have enough memory to store all LSAs or build the routing table) ▪ Graceful introduction and removal of the router to/from the network ▪ Other (administrative or traffic engineering) reasons Note that the proposed solution does not remove the router from the topology view of the network (as could be done by just flushing that router's router-LSA), but prevents other routers from using it for transit routing, while still routing packets to router's own IP addresses, i.e., the router is announced as stub. It must be emphasized that the proposed solution provides real benefits in networks designed with at least some level of redundancy so that traffic can be routed around the stub router. Otherwise, traffic destined for the networks reachable through such a stub router will be still routed through it. In the description below, router X is the router announcing itself as a stub. 1. Making other routers prefer routes around router X while performing the Dijkstra calculation. 2. Allowing other routers to reach IP prefixes directly connected to router X. NOTE: That it would be easy to address issue 1) alone by just flushing router X's router-LSA from the domain. However, it does not solve problem 2), since other routers will not be able to use links to router X in Dijkstra (no back link), and because router X will not have links to its neighbors. To address both problems, router X announces its router-LSA to the neighbors as follows. ▪ Costs of all non-stub links (links of the types other than 3) are set to LSInfinity (16-bit value 0xFFFF, rather than 24-bit value 0xFFFFFF used in summary and AS-external LSAs) ▪ Costs of stub links (Type-3) are set to the interface output cost 9.1.OSPF-BGP Interaction OSPF is running as an IGP protocol in the below network. There is no MPLS in the core and all routers run BGP, which is called BGP Free Core. For scaling purposes, there is BGP Route Reflector design. The design requirements to perform maintanance on R2, but there is no tolerance against the downtime or recovery after the failure. So what would suggest to design recommendations for this network?
  • 24. 24 BGP as an overlay protocol needs next hop reachability. Static or dynamic routing protocol is used to create an underlay network infrastructure for the overlay protocols such as BGP, LDP, and PIM. In this case, on of the routers in the path towards BGP next hop will be reloaded on R2. So there might be two problems here: 1. When R2 is reloaded or failure, traffic going through R2 should not be dropped. R2 should signal other OSPF routers and inform that it should be going down. Traffic should not be sent to R2 during reload. ▪ This is done with OSPF Stub Router Advertisement ▪ max-metric router-lsa ▪ Used by OSPF for graceful restart purpose ▪ OSPF routers are not used a Transit anymore ▪ Routers loopback is still sent with the regular metric, not with the max-metric. Otherwise BGP neighborship with the reloaded router would not come up 2. When R2 comes back, BGP traffic towards the R2 will be blackholed, because the IGP process of R2 will convergence faster than its BGP process. So, IGP should wait until BGP converge. R2 should take the BGP traffic once BGP prefixes are installed in the routing table. ▪ This is done with OSPF Stub Router Advertisement ▪ max-metric router-lsa on-startup wait-for-bgp ▪ Until the BGP process is converged, OSPF process does not use the R2 as its path towards any destinations 9.2.Example#1 R4 interface facing R3 has been configured with a cost of 20 so that the path via R2 is preferred. Simply reloading the router will cause a number of packet drops before OSPF reconverges and begins forwarding traffic out via R3. Instead, stub router advertisement can be used in this situation to force a graceful failover before reloading the router. Lets examine the below topology:
  • 25. 25 R2 is currently the primary path for all traffic destined for the 192.168.1.0/24 subnet and R4 normally sees R2 Type-1LSA: Simply reloading the router will cause a number of packet drops before OSPF reconverges and begins forwarding traffic out via R3. Instead, stub router advertisement can be used in this situation to force a graceful failover before reloading the router. Stub routing can be turned on temporarily on below: The metrics for R2 advertised routes have increased from 10 to 65535, the maximum value. Consequently, R4 now sees R3 as the better path to R1. After this configuration, I shutdown the interface facing to R4 on R2. You can clearly see the ping output, there is no data packet loss in the whole traffic flow:
  • 26. 26 10. Virtual Link The backbone should never be intentionally partitioned, but if partitioaning occurs consider using a virtual link to temporarily repair the backbone area. Virtual links are logical connections that are vaguely anologous to a tunnel. The two backbone routers establish a virtual adjaceny so that LSAs and other OSPF packets are exchanged as if no other internal OSPF router were involved. A virtual link can connect on ABR to the backbone, even though the virtual link is not directly connected.
  • 27. 27 Some of the characteristics and suggested uses for virtual links: ▪ Stability is determined by the stability of the area that the virtual transit ▪ Can only be configured on ABRs ▪ Cannot run across stub areas ✓ In order to avoiding routing loops, transit area should have full knowledge of routing information giving by LSAs ✓ Other thing Stub areas have only one point of entry, think about the only one way out or in. So, if you create a virtual link by using Stub area you create another way out Stub area. In this situation, we can receiving Type-3-5 LSAs through the virtual link, ending whole concept of Stub area and the usefulness of Stub default route. ▪ Assist in solving network connectivity problems ▪ Can assist in providing logical redundancy ▪ OSPF treats two routers joined by a virtual link as if they were connected by an P2P network 11. Forwarding Address The concept of the OSPF forwarding address was introduced to avoid extra hops when traffic is routed to an external AS. An OSPF router cab set the forwarding address of a route to something other than itself to indicate an alternate next hop. In most cases, the forwarding address is left “Null”, suggesting that the route is reachable only via the advertising router. The value of the forwarding address specified by the ASBR can be either 0.0.0.0 or non-zero. The 0.0.0.0 adress indicates that the originating router, which is ASBR, is the next hop. The forwarding address is determined by these conditions: ▪ It is set to 0.0.0.0 if the ASBR redistributes routes and OSPF is not enabled on the next hop interface for these routes. ▪ These following conditions set the forwarding address field to a non-zero address: ❖ OSPF is enabled on the ASBR’s next hop interface ❖ ASBR’s next hop interface is non passive under OSPF ❖ ASBR’s next hop interface is not P2P ❖ ASBR’s next hop interface is not P2MP ❖ ASBR’s next hop interface address falls under the network range specified in the router ospf command ▪ Any other conditions besides these set the forwarding address to 0.0.0.0 Let's test the conditions I have said regarding the determination of the forwarding address above through a few sample topologies below.
  • 28. 28 11.1.Example #1 First thing first, R3 and R4 do not include a part of R5 interface on the OSPF process. Therefore, the LSA Type-5 generated by both routers have the forwarding address set to 0.0.0.0. In this example, R1 or R2 can be used to view the external LSAs. To view external LSAs, issue the below output: The forwarding addresses for the Type-5 generated by both R3 and R4 are set to 0.0.0.0. In this case, the LSA to be installed in the R1 routing table is determined by comparing the metrics to the ASBRs generating the LSAs. You can see the metrics that R1 has for the ASBRs on above. Therefore, R1 chooses the LSA generated by ASBR 3.3.3.3, which is R3, to place in its routing table that is shown below:
  • 29. 29 After that, R3 has changed to include network 192.168.1.0/29 in area 0 of the OSPF process. The result of the configuration change is that the Type-5 LSA generated by R3 now has the forwarding address set to the IP address of R5 which is point of next hop for static route, as shown in the database output taken from R1 below: LSA to be installed in the R1 routing table is determined by comparing the R1 metric to the ASBR R4 that generated the LSA with a forwarding address of 0.0.0.0 to the R1 metric to reach the forwarding address of 192.168.1.5, which was set for the LSA generated by the ASBR R3. In the above output, the metric to R4 is 120. This is compared to the R1 metric to reach the forwarding address of 192.168.1.5, which can be seen using the show ip route 192.168.1.5 command. The output of this command is below:
  • 30. 30 So, the metric to reach the ASBR R4, which is 74, is compared to the metric to reach the forwarding address of 192.168.1.5 generated by R3, which is . Therefore, the LSA installed in the routing table is the LSA generated by R4, as shown in the R1 output below: When the metric of the redistributed route from multiple ASBRs are equal as illustrated in the document, the forwarding address changes the behavior of the Type-5 LSA path selection. When a router receives two Type-5 LSAs to the same destination with the forwarding addresses set on both LSAs, the router makes a comparison based on the metric to the forwarding addresses. The LSA with a forwarding address that offers the smaller metric is placed into the routing table. If the metric of the redistributed routes are different, the routers prefer the route with the lowest metric and not the lowest metric to the forwarding address. 11.2.Example #2 In this scnerios where we have multiple ABRs converting/translating same network from Type-7 to Type-5 LSA, then OSPF LSDB need to act on only one of them. The other must withdraw its LSA. This is one of many loop avoidance techniques adapted in OSPF. So, who sets the forwarding address ABRs or ASBR, of course answer is NSSA ASBR which is R4.
  • 31. 31 We can see R3 converts Type-7 to Type-5, because it has higher Router-ID to compared R2 value, and retaing the forwarding address value 4.4.4.4. Lets show the related output below: As all the path costs are default, in R1 we can see two equal cost paths available for the destination of 55.55.55.55, because R1 gets the external LSA for 55.55.55.55 as forwarding address set to 4.4.4.4. Now R1 checks its LSDB to reach 4.4.4.4 and finds two equal cost paths. Hence it installss both to reach 55.55.55.55. Lets show the related output below:
  • 32. 32 When a router is forced to pick a forwarding address for a Type-7 LSA, preference is should be given first to the router’s internal addresses. If internal addresses are not available, preference should be given to the ortuer’s active OSPF Stub network addresses. These choices avoid the possible extra hop that may happen when a transit network’s address is used. When the interface whose IP address is the LSA’s forwarding address transitions to a Down State, which case this is the R4. The router must select a new forwarding address for the LSA and then re-originate it. IF one is not availabl the LSA should be flushed. Now in this example the internal address is the loopback address 4.4.4.4. If this interface goes down, that force the router to choose another interface as forwarding address how that affects the route selection process. According to the above output, we encounter a new question, which is why the R4 pick 10.34.34.4 against 10.24.24.4? This selection process wil examine the ordered in below: ▪ Loopback IP address ▪ Non-loopback IP address that is connected to a transit Stub network ▪ Non-loopback IP address that is connected to a non-transit Stub network
  • 33. 33 I want to mentioned one more thing, which is Type-5 LSA is generated by R3 Loopback IP address but the traffic with related to external destination will follow via R4 interface. You can clearly see this sitiuation on below output: Also now you see R1 does not multi pathing and only sends the traffic towards the R3, but what changed the routing decision of R1? We neither changed any path cost nor anything in the redistribution to influence the path cost, because the forwarding address is set to 10.34.34.4, R1 has the shortest path via R3 (20) against via R2 (30). 12. Transit Capability This is a special property of a non-backbone area that allow this area to transport traffic for other areas. Per the OPSF definition, a transit area is the area that has a virtual link connecting two or more ABRs attached to this area. Thus, having a virtual link provisioned across the area is the necessary thing to make the area transit. In fact, it a just an alternate definition of a transit area. The idea of a virtual link is to extend area 0 across non-backbone area. There are two main sitiuations when you may want to do this: 1. Due to design considerations, where you have an area not directly connected to the backbone area. This could be a result of two networks merging together. 2. Using a non-backbone area to reach destinations in other areas. The main idea of OSPF inter area routing is that all areas should be communicating across the backbone. The backbone area is used to exchange information the rouitng in a distance vector manner, requiring the star topology to avoid routing loops. For the RFC, the router is only considered on ABR, if it has an interface in area 0 and ignores Type-3 LSAs delivered across the non-backbone areas. This is ensure the simple “Loop Free” star topology,
  • 34. 34 which means that the star is all non bakcbone areas must be connected to backbone area. Virtual links are only used to flood specific LSAs, which are Type 1-2-3 found in area 0. Type-5 LSAs are not flood across the virtual links, because Type 1-2-3-4 LSAs have the flooding scope of a single area. Thus, if you have a virtual link connecting two ABRs you cannot floods LSAs across the transit area, since this area is different from area 0. However, Type-5 LSA have the flooding scope of OSPF AS domain, and thus they are flooded across the area anyways (unless it’s Stub area). So, there is no need to duplicate information across the virtual link, obviously, a Stub area cannot be a transit area due to this reasons. 12.1.Examining Transit Areas Type-3 LSA Search for TransitCapability and read Chapter 16.3 in the OSPFv2 RFC 2328. You should read it again after finishing this article, but this time take it slowly, powering through RFCs does not work. The main ideas are: 1. TransitCapability is the flag that tells you an area carries traffic that neither originates nor terminates in the area itself. ▪ This only happens when you are using Virtual-Links to connect isolated areas to the backbone or to reconnect a partitioned backbone. 2. The additional checks are done after Inter- and Intra-Area routes have been calculated and they look only at backbone prefixes that are ▪ Native to Area 0 ▪ Inter-area summaries (come from other areas via Area 0) 3. If there is a better path to reach such prefixes than the one through the Virtual-Link ABR, then use it. 4. If there's any summarization configured on the ABR, ignore it when originating summary-LSAs into the transit area to prevent loops. This sounds a bit weird, but don't worry it's covered in example#3. Number 3 there might seem to only prevent sub-optimal routing, but as you've seen in the example#1 , it also prevents routing-loops. And remember, all cases in below exapmles assume that transit area capability is not enabled. 12.2.Example#1 Area 400 becomes isolated from the backbone and because R4 is not an ABR, no LSAs from Area 400 make it into the backbone (and vice-versa). With a virtual link configured between R3 and R4, connectivity is restored between Area 400 and the backbone.
  • 35. 35 Because R4 is now part of the backbone area, it has the Type-1 LSA for R1. Therefore, it knows it can reach Vlan 100 without leaving the area (which is preferred over any inter-area option). So it tries to route via R3-R1 (its only Area 0 neighbor) and ends up with R4-R5-R3-R1. But R5, has two options to get to Vlan 100: ▪ Type-3 from R2 (cost 10+10+10+10) ▪ R3 (cost 100+10+10) So it chooses R2 as its exit point: R5-R4-R2-R1. So R5 goes through R4 and R4 goes through R5? Routing loop. Remember, R4 cannot choose R2 as its exit because now both of them are ABRs and one of the loop prevention rules makes it ignore any Type-3 LSAs coming from other ABRs when it runs SPF. Transit Capability is the saves this sititions because if there's a lower-cost LSA which allows you to get to Vlan 100 (and R2 is sending one) then you are allowed to use it instead of your current best path.
  • 36. 36 That means R4 is allowed to choose a better path: R4-R2-R1. Now we have a loop free topology. 12.3.Example#2 It would be amusing if I introduced two equal-cost paths to make matters even more chaotic. Basically, I wanted R5 to load balance towards Vlan 100, so I changed the cost on the R5-R4 link to 90 - the result you can see below:
  • 37. 37 Remember, R4 has to use R3 as its only exit point, so nothing much changes (apart from the overall cost). R5 has two options, only they're both as desirable. Now getting to Vlan 100 through R3 or R2 costs the samei which is 120. It installs both routes in its routing table and the result pretty much looks like this: We still have a routing loop, but only half of the time. When R4 routes a packet through R5, if R5 decides to forward it to R3, all's well. But there's a %50 percent chance it will forward the packet back to R4. Obviously, the same solution applies, which is just let capability transit enable and R4 will choose R2 as its exit towards Area 0, thereby avoiding this %50 percent loop change. 12.4.Example#3 This case is a bit different, there's a partitioned backbone area now. But the most important difference here is that I haven't touched the transit area costs. The problem is hidden by an asymmetric cost out in the backbone. Quite harder to notice: Now let's look what happens after the virtual link is configured. This time R1 was already an ABR, but now, as it has an Area 0 adjacency with R4, it can stop ignoring its LSAs and calculate some paths as internal routes. Therefore, it calculates the Vlan 600 path as R1-R2-R4-R6 with a cost 130 instead of 10+10+100+10. But R2 and R3, the routers internal to Area 100, have two choices again.
  • 38. 38 ▪ Type-3 LSAs from both R4 and R5 with a cost of 110 and 20, respectively So R2, in order to get to Vlan 600, chooses the R2-R1-R3-R5-R6 path with a cost 50 instead of 10+10+10+10+10. For the return path R6-Vlan 100, I'll leave it to you to answer the following questions: 1. Is it reachable? 2. How many paths does it have? 3. Are they a loop, sub-optimal or what you'd expect? In order to fix this loop, capability transit makes sure that R1 uses R5 as the ABR to reach Vlan 600 due to its lower cost. Another solution that works is to bring up another virtual link between R1 and R5. 12.5.Example#4 ABRs are not allowed to summarize backbone prefixes nor filter them in any way when advertising them into the transit area. While all of the previous cases could be proven in a lab, this one is purely theoretical, because we can't disable this very important loop prevention mechanism. So let's assume this limitation is not in place and ABRs are free to summarize as they please. The setup is pretty straight-forward and clean, as there's no need for any special effects in this example. Both R3 and R2 are configured to summarize to 100.100.0.0/16 - which they do, as Area 0 contains 100.100.100.0/24. It all works fine, apart from the fact that Area 600 prefixes are not advertised anywhere due to R6 not being an ABR. We fix this with not one, but two virtual-links (so everything is nice and symmetric) from R6 to R2 and R3 respectively.
  • 39. 39 Once the virtual links are up, R6 becomes an ABR and starts changing out Type-3 LSAs, including 100.100.100.0/24. This prefix is internal to the backbone, so R6 dutifully sends Type-3 LSAs into Area 100 and Area 600. How does the network look from R4's eyes? If it wants to get to a host in 100.100.100.0, it has three options: ▪ 100.100.0.0/16 via R2, cost 30 ▪ 100.100.0.0/16 via R3, cost 50 ▪ 100.100.100.0/24 via R6, cost 50 R4's routing table is going to have both option installed, but, for routing, it will use the longest- match, which is 100.100.100.0/24 via R6. R5 is going to be in the same situation and will choose to route via R6's more specific /24. How does R6 route to 100.100.100.0/24? It is a backbone prefix, so it calculates two equal- cost (40) paths through R2 and R3 (its only Area 0 neighbors). It needs to route via either R4 or R5 because they are transit routers towards the backbone. Predictably, a routing loop occurs. R6 sends packets to R4 or R5 and they, deeply confused but totally innocent, send the packets back to R6 on the most specific route they have. The fix is simply to stop R2 and R3 from summarizing prefixes into the transit area 100. When R2 and R3 summarize to 100.100.0.0/16, they stop sending the component routes. Let's reference the topology below to practice the theoretical information mentioned above: After performing all configurations and disabling “Tansit Capability” feature, let's view the database information of 100.100.100.0/24 prefix on R4.
  • 40. 40 As it can be seen in the outputs, we can observe that it has learned the prefixes as follows from 3 different routers: ▪ 100.100.100.1/32 – R6 – Cost 40 ▪ 100.100.0.0/16 – R2 – Cost 20 ▪ 100.100.0.0/16 – R3 – Cost 20 R4's routing table is going to have both option installed, but it will use the longest-match, which is 100.100.100.1/32 via R6.
  • 41. 41 From the R6’s perspective, 100.100.100.1 prefix is a backbone prefix, and it finds two equal routes of this prefix. One of them is R4 and the other is R5. Therefore, R6 sends packets to R4 or R5 and they send the packets back to R6 on the most specific route they have. This is why we facing the routing loop if we have no transit capability feature. Also some situation occurs on R7, you can see clearly in below:
  • 42. 42 13.References While creating this document, I took the articles and books below as a reference: ▪ https://blog.ine.com/2009/12/31/tuning-ospf-performance ▪ https://networklessons.com/ospf ▪ https://www.juniper.net/documentation/en_US/junos/topics/topic-map/ospf- overview.html#id-ospf-overview ▪ https://www.cisco.com/c/en/us/support/docs/ip/open-shortest-path-first-ospf/7039-1.html ▪ https://www.trueneutral.eu/2014/ -- Chapter 12 in particular was created with the resources from this website, thanks for the special effort to Cristian. ▪ https://blog.ine.com ▪ https://tools.ietf.org/html/rfc2328 ▪ Advanced Junos Enterprise Routing – Juniper Networks ▪ Day One: Routing the Internet Protocol – Juniper Networks ▪ OSPF Network Design Solutions – Thomas M.Thomas II. ▪ OSPF: Anatomy of an Internet Routing Protocol – John T. Moy ▪ Internet Routing Architectures, Second Edition – Sam Halabi, Danny McPherson ▪ Advanced IP Network Design – Alvaro Retana, Don Slice, Russ White ▪ CCDE In-Depth – Orhan Ergun