So let's begin with some fundamentals we're getting OSPF.
We'll get into the areas here in just a moment.
So let's imagine we have these two routers right here
and they are both configured for OSPF process ID1, for example,
on each of them.
And all the interfaces have been associated with area 0.
Now, that also is one of the concepts I didn't really grasp on to
when I was first learning OSPF like 30 years ago.
I thought, "Oh, a router belongs to an OSPF area."
But in reality, when we configure OSPF on a router,
what we're doing is we're assigning interfaces to the areas. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
what we're doing is we're assigning interfaces to the areas.
And that's what makes that router, for example, belong to area 0.
Every single interface on that router that's running OSPF
is enabled in associated with area 0, also known as the backbone area.
That's what makes this router an OSPF backbone router
because all of its interfaces are in the backbone in area 0.
And we'll break that into larger areas here in just a moment.
But let's imagine that router 1 and router 2 have both been configured.
All of their interfaces have been enabled for OSPF and associated with area 0.
And they want to go ahead and start neighboring up. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And they want to go ahead and start neighboring up.
They want to build an OSPF full of Jocency.
Now, what is going to stop that from happening?
There's a lot that could go wrong.
And so I had an acronym that's going to help us remember
at Jocencies and what's needed to make it happen.
And it's STTAMP, like Stamp, with two T's in it.
So if you're ever wondering, "Oh, OK, what has to match for those two devices
to neighbor up?" think of Stamp.
And then we spell them out.
The first S is the subnet.
They have to agree on what is the network they're both connected to. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
They have to agree on what is the network they're both connected to.
So if router 1 believes on gig 1, 0, that is directly connected to the 10, 0,
12, 0/24 network,
which it is, and R2, believes that gig 2, 0 is connected to the 10, 0, 12, 0/25
,
even though it kind of looks like the same network, it's not the exact same
network.
If they have to agree on what that common network is between them,
if we want to have an OSPF adjacency.
The next T is for timers.
So in OSPF, they're going to be sending hello messages back and forth. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And there are some timers associated with that.
And if the timers for the hello interval and the dead interval, if they don't
match,
they will not neighbor up.
And that's true for IPv4 and IPv6 as well.
In fact, all of these apply to both IPv4 and IPv6.
And here in the topology, let me give you a lay of the land.
I've documented the IP subnets in IPv4, but I'm also using that same number
that little x represents the IPv6 subnet address as well.
For example, here'd be 2001, DBA6783, 12, and over here'd be 2001, DBA6783, 34, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
For example, here'd be 2001, DBA6783, 12, and over here'd be 2001, DBA6783, 34,
etc.
So for two neighbors to become fully adjacent in OSPF, they need to agree on
the subnet.
They need to agree on the timers.
Another thing they need to agree on is the type.
And that is the network type.
And let's talk about that here for a moment.
On Ethernet, the default network type for OSPF is broadcast.
Now, it's funny, I think it's kind of funny, that they don't really use
broadcast
to find each other.
They're using multicast.
And those multicast, for IPv4, would be 224.0.0.5. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And those multicast, for IPv4, would be 224.0.0.5.
That's an IP address used to reach any OSPF router on that local segment.
And 224.0.0.6 is the IP address we'd used to reach and forward information
on that local segment to ADR, which also includes a backup designated router.
But it's called broadcast with the idea that they can dynamically find each
other
without specifically pointing in the config to a neighbor's IP address.
Other options we're here on the network type would be non-broadcast, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Other options we're here on the network type would be non-broadcast,
where it would require additional config.
Another option would be point to point, which doesn't use ADR at all on the
segment.
Another option would be point to multi-point, which also does not use ADR.
So in addition to having the timers match, we also need to make sure they agree
on,
first of all, whether they're expecting to have a DR in the case of broadcast
or not have a DR in the case of point to point.
So the best practice is to make sure we're using the correct network type.
And when we do that, the defaults for the network type is also going to drive WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
for the hello and dead intervals.
Alright, so we'll make that up a little bit.
The A is for area.
So they need to agree on a couple of things.
They need to agree on the area ID.
They also need to agree on the type, the area type.
So this is a good chance for us to discuss different area types in OSPF.
So let's talk about this topology right here.
In fact, let's back it off just a second.
Let me clean this up a little bit.
And I'm going to go ahead and draw one giant area zero.
Another interesting note here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So instead of area one, it was called the whole thing area zero.
So all the interfaces on all the routers are associated with area zero.
The challenge here, it will actually, with just eight routers, not a big deal.
But let's imagine we had 80 routers.
If we had 80 routers, there's little LSAs, link state advertisements
that are being generated by these routers.
So an LSA type one is called a router LSA.
Think of it like a little advertisement that tells all about the router.
So our ones jittering at its own LSA type one. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And that's being propagated to all the other routers in the area.
Router twos, jittering and LSA type ones.
And those LSA type ones are describing which network we're connected to.
And the benefit is, is that if every other router in the area
sees every other LSA type one, they'll have a perfect picture,
like a big puzzle of all the interfaces, how they're connected.
And a router can then use that to build this best path information
for forwarding packets and add that route then to the routing table.
Now if R7 was at a branch office or something,
we probably don't want all the LSAs from every single other router WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
we probably don't want all the LSAs from every single other router
to be forwarded down to R7 because we might be using up some bandwidth.
We don't need to use also R7 may not need all that detail about every single
other router.
So in larger environments where we have dozens or hundreds of routers,
instead of using one giant backbone area,
we're going to carve it up into multiple different areas.
And that would look something like this to pause you right here.
Where we have the area zero, the backbone area.
So the backbone area on our one, we've associated gig zero zero, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So the backbone area on our one, we've associated gig zero zero,
one zero two zero, and our two gig two zero, one zero, and our four gig two
zero,
FA four slash one, and our three FA four slash zero, and gig one zero.
And we've associated all those with area zero.
Now one of the rules, if you want to have multiple areas,
for example, area one here and area two here,
we need to have at least one router that's connecting the non backbone areas to
the backbone.
So let's start here with area one.
Router three has two interfaces associated with area zero, and if we associate WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Router three has two interfaces associated with area zero, and if we associate
this interface right here,
FA four slash one with area one, boom!
The begin of our three act as a gateway between all the networks here,
and forwarding traffic either to the backbone area or on two area two.
So here on our five, this interface, we assign to area one, area one there two,
area one, and area one.
And again, as the interfaces are associated with the area,
not the actual router itself, because our one is a backbone router,
because all of its interfaces are in area zero.
Our seven and our five have all their interfaces in area one, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Our seven and our five have all their interfaces in area one,
but this guy, R three, acting as the border router between the backbone area
and area one,
it has a special name, as a result of having interfaces in the backbone,
and also in area one, and it's called an area border router.
And with an area border router, what it does is going to generate LSA type
threes.
And the name for the LSA type three coming from the ABR is a summary LSA.
And the benefit of a summary LSA is that it has information, for example,
about the 10 zero 13 network and 10 zero 12 and 10 zero 24 and 10 zero 34, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
about the 10 zero 13 network and 10 zero 12 and 10 zero 24 and 10 zero 34,
and also information about the network 10246, etc.
And it can forward all those individual routes down into area one.
So our seven and our five can know about those routes,
but it's kind of a summary in the sense that it doesn't have to know,
these routers don't have to know all the details about the LSA type ones,
and all the other details about those routers.
All they know is that those routes are reachable through the area border router
.
So in this case, our seven, if we had, for example, 80 routers
and most of those routers were in different areas, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and most of those routers were in different areas,
our seven would not have to see or have propagated the LSA type ones
from any of these backbone routers like R1, R2, R4,
or any of the other dozens or hundreds of routers,
because it's in a different area.
That's one of the benefits of chopping up OSPF into logical areas or sub areas.
Also, we're talking about LSAs. Let's also add an LSA type two.
And an LSA type two is referred to as a network LSA.
And that's generated by a designated router on a segment. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And that's generated by a designated router on a segment.
So for example, let's go over here to R2 and R4.
One of these two routers is going to be the designated router
for the 10024 network for the segment.
So I'm going to put in parentheses, DR,
generates that network LSA that describes that network.
So this is the type right here.
So the LSA type one is generated by each router.
By setting up multiple areas, we're controlling the reach and span of those LSA
type ones.
So for example, the LSA type ones from R6 are never going to be advertised here
in area one, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
because they're completely different area.
And that frees up CPU and resources on R5 and other routers in this area,
because they don't have to process it or look at that information.
Same thing about the DRs coming from a different area.
So for an LSA type two, for example,
the great is the designated router is generating an LSA type two describing
that network.
That LSA type two is never going to be propagated over into area one,
because area one doesn't need that information.
Because it's getting summary route information from the ABR
that describes how to get to all those given networks WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that describes how to get to all those given networks
without the additional burden of processing the individual LSAs.
Think of it like less information is more.
So the summary route are advertised by area border routers.
And those are advertised for example, R3 would be advertising summaries.
Think of it like the information in the routes for a 13, 12, 24, 34, etc.
And it would be advertising those routes,
but it wouldn't be forwarding down the LSA type ones and type twos into area
one
from any of those other areas.
Because these routers here don't need that information, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
because they have the summary routes.
So that leads me to the area type.
And as we've described it so far,
area zero here would be a normal area, the backbone area,
area one would be a normal area, area two would be a normal area.
So what exactly is an unnormal area?
So as far as areas go, we'll jot down normal.
What normal means is that we could take an external route.
For example, EIGRP or BGP or Static Route.
And we could redistribute it into OSPF in that area.
That's an example of what we could do in a normal area. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
That's an example of what we could do in a normal area.
And so we might have that feature and that ability and need
to do that in the backbone area.
However, let's imagine that area one and area two are being used
in two separate geographical locations.
And we don't need to do redistribution in those areas.
We want to simplify it.
What we could do is we can make those areas a stub area.
So a stub area says, okay, we're not allowing the redistribution
of other routes into OSPF.
For example, from BGP or from EIGRP or from Static Route.
Which is great.
And there's also an option of something called a totally stubby area. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And there's also an option of something called a totally stubby area.
So let's imagine we made these areas a totally stubby area.
Both of them.
What that means is these two routers are three and are four,
which are the area border routers for area one and two respectively.
With a totally stubby area, they are not going to forward
in even the summary routes.
So area one here and the routers here wouldn't learn about 10-012 and 10-034.
Anything else?
Because the ABR and a totally stubby area is not sending those routes.
Now the problem with a totally stubby area is that if we are not receiving
a far-fired has no idea about the 10-012 and 10-024 network and other networks. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
a far-fired has no idea about the 10-012 and 10-024 network and other networks.
How in the world of these routers going to know how to forward if they need to
forward a packet to any of those networks.
And the answer is in a totally stubby area, we can also advertise a default
route into OSPF.
So that way, our five and our seven.
Even though they're not getting these summary routes,
we're getting all the individual routes from the other OSPF areas.
They are getting a default route and then they can forward packets using that
default route in the direction of the ABR.
And again, that's going to reduce the number of LSAs here in area one and area WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And again, that's going to reduce the number of LSAs here in area one and area
two through both totally stubby
because they're now not receiving LSA type ones from other areas.
They're not receiving LSA type two's from other areas.
And they're not receiving LSA type three summary LSAs with the exception of the
default route that's being injected into the area by the ABR.
So why the big discussion Keith regarding types? Well the answer is that type
has to match.
If this interface here thinks it's a normal area and this interface here thinks
it's a totally stubby area WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that will prevent them from neighboring up. So that's why the area D, for
example area one, has to match and the type.
In this example, just a stub area or a normal area.
Whatever we set up, it has to match between those two interfaces on that common
segment.
And there's also an option, first thing called a not-so-stubby area, which is
where you want to have this be like a stub area
but you want to make an exception to be able to inject or redistribute routes
into that area.
So for further discussion we're getting configuring and working with and
playing with stub and totally stubby and not-so-stubby areas. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
playing with stub and totally stubby and not-so-stubby areas.
We're going to say those discussions as part of a skill in another course, very
likely an RC.
But I want you to be aware of some of the options here because the type has to
match if we want to neighbor up with another device on that same segment.
So back to our pneumonic of stamp. The M is for M-TU.
Now if you have two routers the same model or similar models, it's very likely
the M-TU for Ethernet is going to be 1500 bytes.
No problem. However, let's say we're peering up with a multi-layer switch and
Cisco catalyst, whatever. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Cisco catalyst, whatever.
And the M-TU on the router is 1500 and the multi-layer switch, the M-TU is 1504
.
That will cause a problem if the M-TU isn't the same size.
And that's kind of frustrating because you can ping and connect back and forth.
However, they won't neighbor up if the M-TU doesn't agree.
So we do their manipulate the M-TU here and make it match 1500 or we can
configure OSPF to ignore the M-TU and simply neighbor up anyway.
And then the P is for password. Now I use password so the pneumonic would work. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then the P is for password. Now I use password so the pneumonic would work.
However, really what that is is authentication.
So the authentication method between two routers on the same segment that has
to match.
So for R1 and R3 to neighbor up, they need to be specifying using the same type
of authentication.
So if one is set for plain text and they're set to M-D5, that's not going to
fly.
And further, if they agree on the type of authentication, we also need to make
sure if we're using a password,
that password matches on both sides or in the case of M-D5, the hash of that
password matches on both sides. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Alright, so let's clean that up and let's take a look at the metrics involved
with OSPF and how it decides on the best path.
For the path selection for OSPF, it uses a metric and that metric is cost.
And just like going to shop at a store, if we had two comparable products, they
were, you know, versatile identical,
except the cost was different. We choose the lowest cost. And that's what OSPF
does.
So each of our interfaces has an associated cost. Now by default, it's
unfortunate, but it's kind of a legacy thing.
There is something called an auto cost reference bandwidth. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
There is something called an auto cost reference bandwidth.
We've talked about that in our CCNAG courses and it's also relevant here
because the default is 100 megabits per second.
And a few decades ago, it wasn't a problem using that value when we had much
slower speed networks.
However, the auto cost reference bandwidth works like this.
We take the reference bandwidth and we take our actual interface bandwidth.
Let's take a fast ethernet, which is 100 megabits per second in the case of
fast ethernet.
So fast ethernet, if we divide 100 into 100 equals 1. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So that would have a cost of 1. Well, let's go ahead and do that same math with
gigabit.
So the reference bandwidth again, if it's 100 and the interface bandwidth is
1000, meaning 1000 megabits per second,
1000 going into 100 is 0.1. However, we're going to round it up.
So for gigabit ethernet by default, if we're using the default reference
bandwidth, the cost of a gigabit link is 1.
So it kind of makes OSPF blind to the difference between fast ethernet and
anything faster.
So ideally, what we want to do is increase the reference bandwidth. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So ideally, what we want to do is increase the reference bandwidth.
So if in this apology, we could set it to 1000 and that would make our gigabit
links look like a cost of 1.
And our fast ethernet looked like a cost of 10.
However, in environments where you have 10 gig, 40 gig, and higher, you may
want to set it to even higher than that.
So in the lab environment, that's what we're going to be doing consistently.
We're going to set the auto cost reference bandwidth to 1000.
And that way, gigabit links will look like a cost of 1.
Fasted it looked like a cost of 10. I document that real quick.
And these serial links, I have set at 64. The bandwidth set to 64 kilobits per WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And these serial links, I have set at 64. The bandwidth set to 64 kilobits per
second.
And so their value for these serial links, actually, we're not using this one.
And we're not using this one. But I do have OSPF enabled on these two.
So the cost of that serial link, I'll put it right here, is 15,625.
And we can see that once OSPF is configured with the show IP, OSPF interface
brief for IPv4.
And so if we are going to calculate, for example, from the perspective of our
eight,
it's cost to get to the 10.01 network, assuming the network's converged. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
it's cost to get to the 10.01 network, assuming the network's converged.
And all our neighborships are set up for this target network.
The OSPF cost should be 11 here. So you 1 plus.
And then 15,625 plus.
And the best path would be, then the cost be 1 here.
And then going through our two, the cost is 1 there.
And then we count the final network, which is 1 here.
So it's all the egress interfaces that we're looking at.
So going out here for 1, out here for 15,625, here for 1, here for 1, and here WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So going out here for 1, out here for 15,625, here for 1, here for 1, and here
for 1.
And that's our final destination.
So if all those values are correct, that would be a cost from our eights
perspective
to get to the 10.01 network using the best or optimized path.
That'd be 15,629.
Now one of the cool things about this set of videos and the skill is that I
also have a hands-on lab for you.
So in addition to predicting like what we think the cost is going to be,
we can also once it's labbed up, validate that that indeed is the case.
And then the event that we have two or more routes with equal cost paths of the WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then the event that we have two or more routes with equal cost paths of the
OSPF,
it can use equal cost load balancing.
Now one more piece of information I like to share in this overview is that
there is more than just one way to configure OSPF.
Meaning we can use the traditional method for setting up OSPF for IPv4.
There's also a traditional method for IPv6.
And we also can use a OSPF V3 option for configuring both IPv4 and IPv6, or
either IPv4 or IPv6 using the concept of address families. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
either IPv4 or IPv6 using the concept of address families.
Not too different from actually how we configured it with eAGRP in a previous
skill.
So we're going to have a separate set of videos on configuring OSPF version 3
and working with it.
So for this set of videos, I'm going to actually walk you through examples of
configuring IPv4 traditionally and IPv6 with OSPF using this topology with the
interface is shown in green here in area 0.
And the interface is shown in blue here in area 1.
And the interface is over here in whatever this color is, kind of a pinkish
thing in area 2. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And as we go through this together as part of this set of videos, you'll have
the opportunity of seeing how it's configured and also doing the configuration
of the hands on lab.
But most importantly, regarding understanding OSPF is we can actually see and
take a look at the results.
We can take a look at the LSAs.
We can practice with the show commands to verify that what we think is
happening is indeed happening with OSPF.
So with that in mind, in the next video, I like to demonstrate for you the
implementation of OSPF with IPv4 using the traditional option and using three WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
implementation of OSPF with IPv4 using the traditional option and using three
areas.
The backbone area, area 0, and then area 1 and area 2 connected to the backbone
through area border routers.