中间系统-SPF计算
SPF计算
isis如何计算路由:以自己为根构建SPF树,之后填充叶子。
<R1>display isis lsdb 0000.0000.0001.00-00 verbose //查看lsp的详细信息
SOURCE 0000.0000.0001.00 //源节点系统,用于标识产生该LSP的路由器。
NLPID IPV4 //协议支持,LSP中携带为IPv4信息。
AREA ADDR 49 //产生该LSP路由器的区域。
INTF ADDR 1.1.1.1 //标识产生LSP路由器启用ISIS接口的IP地址。
INTF ADDR 12.1.1.1
NBR ID 0000.0000.0002.00 COST: 10
//伪节点标识为00,代表连接了一个p2p邻居,到达邻居的cost值为10。因为isis网络中只有p2p和广播,所以只要连接的是实结点,就说明接口的网络类型为p2p
IP-Internal 1.1.1.0 255.255.255.0 COST: 0
//用于描述自身的直连网络、掩码信息及自身到达目的网络的cost
IP-Internal 12.1.1.0 255.255.255.0 COST: 10
//看完0001的之后看邻居0002的LSP相关信息,计算路由
[R1]display isis lsdb 0000.0000.0002.00-00 verbose
SOURCE 0000.0000.0002.00
NLPID IPV4
AREA ADDR 49
INTF ADDR 12.1.1.2
INTF ADDR 2.2.2.2
INTF ADDR 22.1.1.2
NBR ID 0000.0000.0001.00 COST: 10
//伪节点标识为00,代表连接了一个p2p邻居,到达邻居的cost值为10。
NBR ID 0000.0000.0002.01 COST: 10
//伪节点标识为非00,代表连接了一个伪节点,System id取值为DIS的系统ID。
IP-Internal 12.1.1.0 255.255.255.0 COST: 10
//用于描述自身的直连网络、掩码信息及自身到达目的网络的cost
IP-Internal 2.2.2.0 255.255.255.0 COST: 0
IP-Internal 22.1.1.0 255.255.255.0 COST: 10
//查看伪节点的LSP详细信息
[R1]display isis lsdb 0000.0000.0002.01-00 verbose
SOURCE 0000.0000.0002.01
//伪节点标识为非00,代表为伪节点LSP,System id取值为DIS系统ID
NLPID IPV4
NBR ID 0000.0000.0002.00 COST: 0 //用于描述伪节点上的邻居信息
NBR ID 0000.0000.0003.00 COST: 0
NBR ID 0000.0000.0004.00 COST: 0
//之后在查看3、4的LSP的详细信息,就能完成路由的计算了。
多区域SPF计算
1、L1的路由器只维护L1的链路状态信息。
2、L2的路由器只维护L2的链路状态信息。
3、L1/2的路由器即维护L1的链路状态数据,也维护L2的链路状态信息。
L2的路由器使用L2的LSP描述自身所有的链路状态,无论链路级别。
L2的路由器使用L1的LSP描述自身所有的链路状态,无论链路级别。
L1/2的路由器链路状态的描述和链路级别有关,取交集处。
骨干区域如何访问非骨干区域:
默认情况下,L1/2的路由器会将L1的路由以叶子的形式放入到自身产生的L2的LSP中即L2的路由器来说计算出的L1的路由就认为是L1/2路由器上的叶子信息。
针对OSPF来说:区域间路由计算使用的是链路状态算法和距离矢量计算。
针对ISIS来说:ISIS的路由计算是一个区域的链路状态计算。
非骨干区域如何访问骨干区域:非骨干区域内部的路由器通过缺省路由访问骨干区域。
非骨干区域的缺省如何产生?
L1/2的路由器在产生L1的LSP中将ATT bit置位为1,此时只建立L1邻居的路由器将会根据ATT bit置位为1的LSP产生一条指向该L1/2路由器的缺省路由。
ATT(骨干区域连接符):表面L1/2的路由器与骨干区域连接着,用于指导非骨干区域访问骨干区域。
ATT bit的特点:
1、L1/2的路由器至少存在一个不在相同区域的L2的邻居,ATT bit才会置位为1。
2、ATT bit只在L1的LSP中才会置位为1。
3、如果在骨干区域没用L2的邻居将不会产生ATT bit置位为1,此ATT bit也不具备指导报文访问骨干区域。
非骨干区域缺省路由的特点:
1、L1的路由器可以通过ATT bit置位为1的LSP,发现本区域的L1/2的路由器存在。
2、缺省路由是L1的路由器自己产生的,而不是L1/2的路由器通过给L1的路由。
3、缺省路由的下一跳地址是自身去往该LSP产生者的最短路径的下一跳。
4、缺省路由的Cost值是自身去往该LSP产生着的最短路径树的Cost。
ATT bit控制
[R3-isis-1]attached-bit advertise always //配置ISIS路由器总是将ATT bit置位为1(仅在L1/2的路由器上生效)
[R3-isis-1]attached-bit advertise never //配置ISIS路由器总是将ATT bit置位为0(仅在L1/2的路由器上生效)
[R1-isis-1]attached-bit avoid-learning //配置ISIS路由器不计算ATT bit(仅在L1的路由器上配置生效)
通过缺省路由访问骨干区域有什么样的优点和缺点?
优点:
1、节省设备资源,不需要维护明细路由。
2、当骨干区域明细路由出现震荡之后,不会影响非骨干区域,更加稳定。
缺点:
1、可能带来次优路径。如上图R2、R3到SW1的Cost可能不同,但是AR1无法计算。
2、不满足明细路由的报文都发送给ATT bit置位为1的L1/2的路由器,但是L1/2的路由器可能不能将这些报文转发,导致路由黑洞。
如何解决次优路径?
1、手动调整缺省路由的Cost,同时修改链路开销。
2、针对不同的下一跳设置权值。
3、在L1/2的路由器上将L2的路由泄露到L1的LSP中。
[R2-isis-1]import-route isis level-2 into level-1 //将从L2的路由泄露到L1的LSP中,但是可能会导致环路
ISIS区域间防环机制:
1、L1/2的路由器忽略对ATT bit的计算。
2、无论任何Cost值,L1的路由总是优先于L2的路由。
3、无论任何Cost值,L2的路由总是优先于L1*的路由。(up/down置位为1,当路由泄露时会产生)
L1/2的路由器的直连路由被泄露到L1的LSP中不会将DU bit置位为1。