>> And we do, however,
get better scalability, because you can get that aggregation at layer three.
Still however, with some scalability problems as you grow larger and larger.
You're still flooding information about the whole topology everywhere.
So that brings us to a more hierarchical version of OSPF.
>> That's right.
Another disadvantage of OSPF
is the lack of freedom in terms of traffic engineering.
Even though you have these multiple paths and
you can use simple protocols like ECMP, to use those paths.
There's very little you can do to manipulate which routes are being used
between which sources and destinations.
So you can only, for example, meddle with link costs.
So if you're using the link-state protocol the link-state protocol essentially
calculates the least cost path and costs are based on edge costs, right?
For example, this might be a notion of distance in the network.
If far everyone has a higher cost range.
So, you can meddle with the link cost in manipulating OSPF.
But that's all you have freedom to do, more or less.
>> So, having mentioned OSPF.
There's another natural question, which is.
Well, what about all of the other routing protocols we use in Enterprises and
on the Internet.
Namely BGP.
So let's review what BGP is.
BGP is the border gateway protocol.
So this is the standard global scale Internet routing protocol.
And what BGP does is it allows us to essentially, do something very simple.
If I'm a router in part of 1AS, and you're a router in another AS.
I can offer you routes to certain destinations,
along with some metadata like the sequence of AS's along the path and
maybe some tags and community information.
And then, you will collect a series of routes.
A bunch of options at the various destinations and you got to pick one of
them, which of your neighbors you'd like to forward the information to.
So this is called a path vector protocol because you get
a vector which is the encoding of the path for each destination.
You have these options.
And the path being recorded there in the announcement
allows us to make sure that there aren't any loops in it.
>> Precisely.
Let's walk through the simple example to see how BGP works in practice.
This is a very high level discussion, we'll be omitting factors that are not
going to be relevant to the data center for example.
On the internet, if I must say one of the most important
features BGP is being able to use policy that's economic policy.
We have relationships with other ISPs that you're connected to, use that
policy to distinguish who you are going to forward or expose routing information too.
So that's something that we'll ignore here.
We'll just focus on BGP's path vector protocol measure,
te very basics of how it propagates routes.
So in this example we have a few different autonomous systems,
AS's, which are connected to each other in this network.
And this AS's that we are going to look at AS1 is going to propagate some
announcements for this IP prefix to other nodes, to other neighboring AS's.
So it sends out these announcements to its neighbors.
The neighbors then further might choose to propagate those announcements
as shown here.
Now AS2 has already seen a shorter path
to this IP prefix because its connected directly to S1.
So it'll ignore the announcement from AS5.