- When I started working with BGP Connections,
Going out to multiple internet service providers
and having my router hold the entire internet routing table,
this is back in the late 1990s,
it contained about 60 thousand entries,
but now the internet routing table has grown tremendously.
In fact, let's go out and take a look
at the size of the internet routing table
at the time of this recording.
Here we see how things used to be
when I started working with BGP and doing multi-homing,
and we had about 60 thousand routes at that point.
Now, we're approaching, or we've exceeded 800 thousand
route entries,
and it's probably going to be more than that
when you watch this video.
And we can do some route aggregation, but sometimes,
like if we are doing traffic engineering,
we might require that a specific route
be injected into BGP if we are doing multi-homing.
That configuration might require that we have
the full internet routing table.
The bottom line is, we have a problem
with scalability with the internet routing table.
But there is a protocol that can help us out with that.
The protocol is called LISP, L-I-S-P,
and that stands for the Location/ID Separation Protocol.
And by the way, LISP is useful in other environments too
like mobility environments,
or internet of things applications,
but it was originally designed to address
the internet routing tables scalability issue.
Now, as the name suggests,
LISP separates a single IP address into two parts.
An Endpoint Identifier, or an EID,
and a Routing Locator, or an R-LOC.
This would allow, for example, a device to move
from one location on the internet to another location
and keep its Endpoint Identifier, or its EID,
while updating its Routing Locator, its R-LOC.
And when we're trying to locate
a specific Endpoint Identifier,
what we can do is ask a map resolver.
And a Map Resolver is going to give us information
about the current Routing Locator for that EID.
In this case, let's say that Client A want to talk to
Client B.
Client B is currently at LISP site two
and Client A is at LISP site one
and that server at LISP site two,
its got an IP address of 198.51.100.1.
Well that's going to be the address of the Routing Locator.
That's where we need to point traffic
to get to Client B.
And the way the Map Resolver knows
that Client B lives at that address
is that the router at LISP site two
registered that information with a Map Server.
And commonly we'll have
the Map Resolver and the Map Server on the same device,
like a router.
And R-Locks, routers representing different LISP sites,
they register their information with the Map Server
and then somebody that wants to get to
get to one of those devices,
they can request information from the Map Resolver
and the Map Resolver is getting the information
from the Map Server.
We see that commonly written as MS/MR.
For example, let's say that that router
at LISP site two wants to register with its Map Server,
what its going to do is its going to have
information stored locally.
It knows that the network of 192.168.1.0/24 is available
at the R-LOC router of 198.51.100.1.
Well its going to send that information up to the Map Server
and that Map Server's going to make and entry in its table.
So anybody wanting to go to any IP address in that network,
we're going to say "Yeah. Go to this R-LOC Router."
And that Map Server's going to send a confirmation,
by the way, to that registration message,
that's going to go back to our R-LOC Router.
And once we know the R-LOC that we're sending to,
the packet that we want to send to another site,
we're going to add on a LISP header,
and we're going to add on a UDP header,
and that's going to be encapsulated inside of an IP packet
with the R-LOCs acting as the source
and destination IP addresses.
Notice that the source, in that outer header,
is 203.0.113.1.
That's the address of the R-LOC,
that router at LISP site one,
and the destination is R-LOC at LISP site two,
198.51.100.1.
And by the way, in that LISP header,
it can contain information such as a VRF Identifier
or a VPN Identifier.
This is going to give us segmentation and isolation.
And in the UDP header, you might want to make a note
that the UDP port number, that's used by LISP to send data.
Is UDP port 43 41.
And again our goal here is for Client A
to send traffic to Client B.
Well the router at LISP site one, that's going to
do the encapsulation of that traffic,
it's called the Ingress Tunnel Router, or the I-T-R.
It's going to do the encapsulation.
It adds the LISP header.
It encapsulates everything in that new IP packet,
and when the packet reaches the destination,
the router that does the decapsulation,
that unwraps everything, is going to be that router
in our case at LISP site two.
That's going to be the E-T-R, the Egress Tunnel Router.
So in this example, Client A wants to communicate
with Client B.
So the LISP router at LISP site one
is going to query the Map Resolver to say,
"Hey I want to go to this IP address of 192.168.1.100."
and our Map Resolver says,
"Oh yeah I've got and entry for that network
that contains that IP address.
You should go to an R-LOC at an IP address of 198.51.100.1."
So that's what happens.
Client A goes up it's ITR at LISP site one
and it's going to send traffic over to the R-LOC
that it was told to go to by the Map Resolver
that's over at LISP site two.
It's going to decapsulate that packet
and send it on to Client B.
Now in this example, we only had one network
at LISP site two,
but we could have had hundreds at that site
all of which were available using that single route locator
of 198.51.100.1.
This gives us an idea of how LISP can help
address that routing scalability issue.
We didn't have to contain all those networks
that might have been at LISP site two.
We just needed to know how to get to the Routing Locator
and we had another table that said,
"Oh yeah! That R-LOC will get you to all these networks."
And another benefit that we had here,
you might have noticed,
is we were able to send traffic in between
private IP addresses that were separated over the internet.
And that's a look at some of the benefits and the operation
of the Location/ID Separation Protocol.