ISIS如何为ISIS学习到的前缀找到下一跳地址?

网络工程 杜松 伊斯兰国
2021-07-26 02:16:48

我有两个这样连接的瞻博网络路由器:

r1[ge-0/0/2] <-> [ge-0/0/3]r2

无论ge-0/0/2r1ge-0/0/3r2没有家庭inet配置:

root@r1> show interfaces ge-0/0/2 terse
Interface               Admin Link Proto    Local                 Remote
ge-0/0/2                up    up
ge-0/0/2.0              up    up   iso
                                   multiservice

root@r1>

root@r2> show interfaces ge-0/0/3 terse
Interface               Admin Link Proto    Local                 Remote
ge-0/0/3                up    up
ge-0/0/3.0              up    up   iso
                                   multiservice

root@r2>

但是,两台路由器之间的 ISIS 邻接关系仍然建立。这是意料之中的。r1通告路由192.168.1.1/32172.18.1.0/24r2

在此处输入图片说明

那些没有安装到 RIB 中r2

root@r2> show route protocol isis

inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)

iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

root@r2>

我猜这是因为这两条路由没有下一跳 IP 地址?如果是,那么在配置IP地址时,ISIS如何为ISIS学习到的前缀找到下一跳地址?例如,172.26.1.1/30to ge-0/0/2.0inr1172.26.1.2/30to ge-0/0/3.0in r2下一跳 IP 地址是否有单独的 TLV?

1个回答

我猜这是因为这两条路由没有下一跳 IP 地址?

正确,但让我们明确一点,不是有人在那里而路由器找不到它,而是因为不存在下一跳IP地址仅仅因为您在有效邻接上发布和接收 IP TLV(瞻博网络默认情况下会这样做)并不意味着底层可达性机制 (IP) 不必存在。

例如,如果您具有有效的 IPv4 可达性,但在没有 的接口上通告 IPv6 TLV family inet6,您会看到类似的行为。

如果是,那么在配置IP地址时,ISIS如何为ISIS学习到的前缀找到下一跳地址?

没有什么特别的,它是从 SPF 计算结果得出的。请记住,它与 OSPF 的算法相同。

下一跳 IP 地址是否有单独的 TLV?

不,没有明确说明。IS-IS“数据包”实际上是通过 L2 交换的。TLV 132 在 IIH 和 LSP 中都携带接口 IP 地址,基于此路由器将为接口 IP 地址进行 ARP 解析以解析 L2 下一跳。SPF 将针对相邻路由器通告的前缀运行,结果将通过我们刚刚通过 ARP 解析的来自 TLV 132 的接口 IP 地址解析。

...
15:56:55.826054  In 50:00:00:04:00:02 > 09:00:2b:00:00:05, 802.3, length 125: LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI NLPID IS-IS (0x83): L2 LSP, lsp-id 0001.0001.0002.00-00, seq 0x00000002, lifetime  1198s, length 57
15:56:55.826709 Out 50:00:00:03:00:02 > 09:00:2b:00:00:05, 802.3, length 125: LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI NLPID IS-IS (0x83): L2 LSP, lsp-id 0001.0001.0001.00-00, seq 0x00000003, lifetime  1198s, length 57
15:56:56.009717 Out 50:00:00:03:00:02 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: arp who-has 20.0.0.1 tell 20.0.0.0
15:56:56.033784  In 50:00:00:04:00:02 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: arp who-has 20.0.0.0 tell 20.0.0.1
...