ISIS is simple to operate normally while everything is working, most common deployments are flat network based on L2, however when there is a problem and we need to start troubleshooting then people start to get lost.
So I would like to provide some tools on how to read ISIS database.
From the database each router build a topology using SPF (dijkstra algorithm), if I would like to understand how to get from one router to another I can look into the ISIS database detail and understand that:
For the example, I would like to see only with the database, how to get from my self
to PE_telaviv without looking into the topology or routing table (just for fun):
Notice that according to my LSP I can see the neighbors I am connected to, and the net address
for each link along with metric.
P_london_someisp.net#$atabase level-2 det P_london_someisp.net.00-00
IS-IS Level-2 LSP P_london_somei.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
P_london_somei.00-00* 0x00000006 0x63C6 409 0/0/0
Area Address: 49.0001
NLPID: 0xCC
Hostname: P_london_someisp.net
IP Address: 1.1.1.1
Metric: 10 IS-Extended P_dublin_somei.00
Metric: 10 IS-Extended P_cyprus_somei.00
Metric: 10 IS-Extended P_LA_someisp.n.00
Metric: 10 IS-Extended PE_newyork_som.00
Metric: 10 IP 1.1.1.1/32
Metric: 10 IP 10.100.1.4/30
Metric: 10 IP 10.100.1.16/30
Metric: 10 IP 10.100.1.20/30
Metric: 10 IP 10.100.1.24/30
P_london_someisp.net#
now if I take the first neighbor from my LSP P_dublin and look into his LSP:
notice that one of his neighbors is PE_telaviv.
So 10 to reach dublin + 10 to reach telaviv = 20 total cost from london to telaviv
I have taken the next neighbor cyprus and it looks like we have also 20 metric path using
cyprus, so we will have load sharing between them.
notice that P_LA and PE_newyork does not have direct link to PE_telaviv, that mean we do not
need to explorer more in that direction as any route using them will have higher cost.
P_london_someisp.net#$atabase level-2 det P_dublin_someisp.net.00-00
IS-IS Level-2 LSP P_dublin_somei.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
P_dublin_somei.00-00 0x00000006 0x7F48 1077 0/0/0
Area Address: 49.0001
NLPID: 0xCC
Hostname: P_dublin_someisp.net
IP Address: 2.2.2.2
Metric: 10 IS-Extended P_london_somei.00
Metric: 10 IS-Extended P_cyprus_somei.00
Metric: 10 IS-Extended P_LA_someisp.n.00
Metric: 10 IS-Extended PE_telaviv_som.00
Metric: 10 IP 2.2.2.2/32
Metric: 10 IP 10.100.1.0/30
Metric: 10 IP 10.100.1.12/30
Metric: 10 IP 10.100.1.16/30
Metric: 10 IP 10.100.1.36/30
P_london_someisp.net#$atabase level-2 det P_cyprus_someisp.net.00-00
IS-IS Level-2 LSP P_cyprus_somei.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
P_cyprus_somei.00-00 0x00000007 0x5236 854 0/0/0
Area Address: 49.0001
NLPID: 0xCC
Hostname: P_cyprus_someisp.net
IP Address: 3.3.3.3
Metric: 10 IS-Extended P_london_somei.00
Metric: 10 IS-Extended P_dublin_somei.00
Metric: 10 IS-Extended P_LA_someisp.n.00
Metric: 10 IS-Extended PE_telaviv_som.00
Metric: 10 IS-Extended PE_Jerusalem_s.02
Metric: 10 IP 3.3.3.3/32
Metric: 10 IP 10.100.1.0/30
Metric: 10 IP 10.100.1.4/30
Metric: 10 IP 10.100.1.8/30
Metric: 10 IP 10.100.1.32/30
Metric: 10 IP 20.0.0.0/24
P_london_someisp.net#$atabase level-2 det P_LA_someisp.net.00-00
IS-IS Level-2 LSP P_LA_someisp.n.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
P_LA_someisp.n.00-00 0x00000007 0xDA35 690 0/0/0
Area Address: 49.0001
NLPID: 0xCC
Hostname: P_LA_someisp.net
IP Address: 4.4.4.4
Metric: 10 IS-Extended P_london_somei.00
Metric: 10 IS-Extended P_dublin_somei.00
Metric: 10 IS-Extended P_cyprus_somei.00
Metric: 10 IS-Extended PE_newyork_som.00
Metric: 10 IP 4.4.4.4/32
Metric: 10 IP 10.100.1.8/30
Metric: 10 IP 10.100.1.12/30
Metric: 10 IP 10.100.1.20/30
Metric: 10 IP 10.100.1.28/30
P_london_someisp.net#show isis database level-2 det PE_newyork_someisp.net.00$
IS-IS Level-2 LSP PE_newyork_som.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
PE_newyork_som.00-00 0x00000005 0x2AF2 499 0/0/0
Area Address: 49.0001
NLPID: 0xCC
Hostname: PE_newyork_someisp.net
IP Address: 5.5.5.5
Metric: 10 IS P_london_somei.00
Metric: 10 IS P_LA_someisp.n.00
Metric: 10 IS-Extended P_london_somei.00
Metric: 10 IS-Extended P_LA_someisp.n.00
Metric: 10 IP 5.5.5.5/32
Metric: 10 IP 10.100.1.24/30
Metric: 10 IP 10.100.1.28/30
Metric: 10 IP 5.5.5.5 255.255.255.255
Metric: 10 IP 10.100.1.24 255.255.255.252
Metric: 10 IP 10.100.1.28 255.255.255.252
To see the topology now and see if we are on the right track, notice that we are correct 20 metric
one with dublin and the other trough cyprus with 20 metric doing load sharing.
P_london_someisp.net#show isis topology
IS-IS paths to level-2 routers
System Id Metric Next-Hop Interface SNPA
P_london_someisp.net --
P_dublin_someisp.net 10 P_dublin_someisp.net Se1/2 *HDLC*
P_cyprus_someisp.net 10 P_cyprus_someisp.net Se1/1 *HDLC*
P_LA_someisp.net 10 P_LA_someisp.net Se1/0 *HDLC*
PE_newyork_someisp.ne10 PE_newyork_someisp.neMu1 *PPP*
PE_telaviv_someisp.ne20 P_dublin_someisp.net Se1/2 *HDLC*
P_cyprus_someisp.net Se1/1 *HDLC*
PE_Jerusalem_someisp.20 P_cyprus_someisp.net Se1/1 *HDLC*