- Defined in RFC 2328
- Supports VLSM and CIDR
- Is a link state protocol
- Uses a link state database (LSDB) for topology information, identical within area
- Reliable flooding of LSAs
- Uses hello protocol to build adjacencies
- Runs directly over IP, protocol 89
- Uses the Dijkstra algorithm
Packet types
OSPF uses five different packet types, do not confuse this with the different LSA types. The packet types are:
Type 1: Hello packet – The hello packet is used to discover/mantain neighbors
Type 2: Database description – Summarize database contents, sent when establishing adjacency.
Type 3: Link State Request – Database download
Type 4: Link State Update – Database update
Type 5: Link State ACK – Flooding acknowledgement
Type 2: Database description – Summarize database contents, sent when establishing adjacency.
Type 3: Link State Request – Database download
Type 4: Link State Update – Database update
Type 5: Link State ACK – Flooding acknowledgement
LSA types
These are the most common LSAs:
LS type 1: Router-LSA
Originated by all routers. Describes the collected states of the routers
interfaces to an area. Flooded throughout a single area only.
LS type 2: Network-LSA
Originated for broadcast and NBMA networks by the designated router. Contains a list
of routers connected to the network. Flooded throughout a single area only.
of routers connected to the network. Flooded throughout a single area only.
LS type 3: Summary-LSA
Originated by area border routers. Describes a route to a destination
outside the area(Inter-area route) but still inside the AS.
LS type 4: Summary-LSA
Originated by area border routers. Describes routes to Autonomous System Border Routers.
LS type 5: AS-external-LSA
Originated by Autonomous System Border Routers, flooded throughout the
AS. Describes routes external to the AS. Defaults routes for the AS can
be described by this LSA.
LS type 7: NSSA-LSA
Originated by Autonomous System Border Routers. Used to flood AS
external routes through a stub area. The ABR connected to the backbone
will then convert it to a type five LSA.
Designated Router (DR)
On broadcast and NBMA networks a Designated Router (DR) is elected. The
router with the highest priority will be elected the DR. The priority
can range from 0 to 255 where 255 is the most preferred and where 0 is
ineligible to become the DR. A Backup DR (BDR) will also be elected and
it will be the router with the second highest priority. The election is
not preemptive which means if a router is setup later with a higher
priority it will not become the DR unless clearing the OSPF process. The
DR has two main functions. Generate a network LSA that lists the set of
routers connected to the network. It is also responsible for
maintaining adjacencies. The DR and BDR uses the AllDRRouters address of
224.0.0.6. They send updates to the 224.0.0.5 AllSPFRouters address.
Timers used by OSPF
HelloInterval – Length in seconds between hello packets sent on
interface, defaults to ten seconds on broadcast networks and thirty on
NBMA.
RouterDeadInterval – Number of seconds before neighbor is declared dead, 40 on broadcast and 120 on NBMA (4x missed hello packets)
Wait Timer – Number of seconds before router leaves Wait state and elects designated router. If a router joins later than this it will not have a chance to be elected as DR. Same value as RouterDeadInterval.
RxmtInterval – Number of seconds between LSA restransmissions, also used for DBD and LSR packets.
RouterDeadInterval – Number of seconds before neighbor is declared dead, 40 on broadcast and 120 on NBMA (4x missed hello packets)
Wait Timer – Number of seconds before router leaves Wait state and elects designated router. If a router joins later than this it will not have a chance to be elected as DR. Same value as RouterDeadInterval.
RxmtInterval – Number of seconds between LSA restransmissions, also used for DBD and LSR packets.
Interface states
Down – The initial state of an interface, lower level protocols have
indicated that the interface is not ready for use. No protocol traffic
can be sent or received and no adjacencies can form.
Loopback – The interface is looped back to the network either in
hardware or in software. By default will be announced as host routes
(/32). To announce with another mask on loopback interface use ip ospf
network point-to-point.
Wait – Router is trying to determine the DR and BDR of the network. The
router monitors the hello packets it receives. The router is not allowed
to elect a DR or BDR until the wait timer has expired.
Point-to-point – In this state the interface is operational and
connected to either a physical point-to-point network or to a virtual
link. Upon entering this state the router attempts to form an adjacency
and sends hello packets every HelloInterval.
DR Other – All routers except for DR and BDR will be in this state and will form adjacencies with the DR and BDR.
Backup – The backup designated router, will be promoted to DR if/when the DR fails. Forms adjacencies with all other routers.
DR – The designated router, forms adjacencies with all other routers.
Responsible for building network LSA for attached network containing
links to all routers.
Neighbor states
Attempt – Only seen on NBMA networks. No recent information has been
received by the neighbor, send hello packets every HelloInterval.
Init – A hello packet has recently been seen from the neighbor, 2-way
communication has not yet beeen established. All neighbors in this state
or higher are listed in hello packets sent from the interface.
2-way – Bidirectional communication has been assured through the hello
protocol. The BDR is chosen from neighbors in state 2-way or greater.
ExStart – The first step in creating an adjacency between neighboring
routers. The goal is to decide which router is the master and the
initial DD sequence number.
Exchange – The router is describing its entire link state database with
DBD packets. Every DBD packet has a sequence number and there can’t be
more than one DBD packet outstanding unacknowledged at a time. LSR
packets may also be sent requesting newer LSAs.
Loading – In this state LSR packets are sent asking the neighboring router for LSAs described in the DBD packets earlier.
Full – In this state the routers are now fully adjacent.
The hello protocol
Used to build and mantain neighbor adjacencies. Used to insure there is
bidirectional communication between neighbors. Hello packets are sent
out periodically on all OSPF interfaces unless passive interface is
used. On broadcast and NMBA networks OSPF elects a Designated Router
(DR) and a Backup Designated Router (BDR). If there is no support for
multicast neighbors might need to be statically configured.
Synchronization of link state databases
When using link state protocols it is critical that the link state
databases are syncrhonized. In OSPF this is done when building the
adjacency by sending DataBase Description packets (DBD). The DBD packets
describe the LSAs in the link state database, they are a summary only
showing necessary information to request the whole LSA if needed. When
exchanging LSAs there is a master/slave relationship. The router with
the highest IP will become the master. This is indicated through the MS
bit (Master/Slave). If the DBD packet is the first in sequence it will
also have the I (Init) bit set. All DBD packets except for the last one
will have the M bit set (More). After describing the database with DBD
packets the routers can exchange the full LSAs through LSR (Link State
Request) and LSU (Link State Update) packets.
Optional capabilities
ExternalRoutingCapability – indicates if the area supports external
(type five) LSAs. Also known as the E-bit. Set to one if supporting
external routes. Must be set to zero in stub areas.
Identifiers used by OSPF
Router-ID:
A 32-bit number that uniquely identifies a router in the AS. In Ciscos
implementation OSPF will choose a loopback interface with the highest IP
configured as Router-ID, if no loopback is available it will pick the
highest IP of normal interfaces. Recommended to set this manually. If
Router-ID has changed, a restart of the OSPF process is necessary.This can be done with the clear ip ospf process command.
Area ID:
A 32-bit number identifying the area. The number 0.0.0.0 is reserved for
the backbone, also written as 0. All areas must connect to the backbone
but note that if running a single area only this area doesn’t need to
be area zero.
OSPF design and router roles
Topology divided into areas, often not necessary with modern routers, scales to hundreds of routers in one area.
Depending on where router resides it can have different roles:
Depending on where router resides it can have different roles:
Internal router: Router with interfaces in only one area.
Backbone router: Router with an interface in the backbone (area zero).
Area border router (ABR): Router with interfaces in at least two areas.
Autonomous System Boundary Router (ASBR): Router which injects routing information external to the AS. Will often do redistribution.
Backbone router: Router with an interface in the backbone (area zero).
Area border router (ABR): Router with interfaces in at least two areas.
Autonomous System Boundary Router (ASBR): Router which injects routing information external to the AS. Will often do redistribution.
Route preference in OSPF
1. Intra-area routes
2. Inter-area routes
3. Type 1 external
4. Type 2 external
2. Inter-area routes
3. Type 1 external
4. Type 2 external
External routing information
Can either be of type one or type two, E1 or E2. If using an E1 metric
the metric will be the external cost and the cost internally to reach
the router advertising the external route (ASBR). If the external metric
is 100 and the internal metric is 150 then the E1 metric will be 250
but if using E2 metric it would be 100. If a route is advertised as both
E1 and E2 then E1 is preferred.
The backbone
Area zero is called the backbone, most often written as area 0 but can
also be expressed as 0.0.0.0. The backbone area must be contigious.
Doesn’t have to be physically contigious, can use virtual links to
connect areas which are not directly connected to area zero.
Stub area
Area where no external routing information is allowed (type five). To
reach external routes a default route is used, the default route is sent
by the ABR. The stub area can not contain an ASBR, since type five LSAs
are not allowed. All routers in a stub area must agree that the area is
in fact a stub. A stub area usually has only one exit point but note
that a stub can have both several exit points and several ABRs in the
area.
No comments:
Post a Comment