关于 clns mtu

网络工程 思科-ios 奥西 mtu 伊斯兰国
2022-02-01 11:37:00

我理解以下几点,请确认我的理解是否正确。

  1. MTU > MSS

例如,如果我的 MSS 为 1460 字节,那么 MTU 应至少为1500 字节(IP 标头为 20 字节,TCP 标头为 20 字节)。

我也明白,由于上层(MSS)最终将被封装在下层(以太网MTU)中,因此MTU必须大于MSS。

2.我理解CLNS相当于ISO提出的OSI模型的网络层。clns mtu 在哪里运行——在哪一层(我知道它不是任何 osi 层,因为 ISIS 是在 OSI 层之前开发的)——那么clns mtumtu的关系是什么?它应该大于/小于以太网 mtu 吗?

3.在运行 isis 的一些配置片段中,我看到以下配置

clns mtu 1500

为什么我们需要上面的命令?如果我删除上面的命令怎么办?

  1. 以下配置是否有效(只是想在我的实验室中测试/理解)

    mtu 1400

    clns mtu 1500

在这里,我使 mtu 小于 clns mtu。这会失败吗?

2个回答

那将失败。MTU 设置 L2 MTU,而 IP MTU 设置 L3 MTU。

CLNS MTU 确定 LSP 的最大大小和填充时的 hello 大小。

如果您尝试通过 1500 MTU L2 链路发送 2000 字节 LSP,它将被丢弃

只是为了澄清一些术语,这实际上可能会使水有点混浊。@mellowd 的回答是一个很好的简短回答。

CLNS 是 OSI 无连接网络服务定义:它指定服务用户(传输层)用来与其对等传输层通信的接口。CLNP 是提供该服务的 OSI 协议,现在很少使用了。

ISIS 并不早于 CLNS,但这无关紧要,因为 ISIS 可以在没有 CLNS 的情况下使用。它是 OSI 网络层的一部分,因为它用于帮助 CLNP(或者在我们的例子中是 IP,另一个网络层协议)完成它的工作。ISIS 不会在 CLNS 或 CLNP 上运行;它直接在链路层上运行。(这与通过 IP 运行的 OSPF 形成对比。ISIS 在学术上更正确,但 OSPF 更快地启动并运行在一种新的链路上。哇。)

尽管出于合理的原因,术语“clns mtu”有点误导。Cisco 使用“clns”来配置很多关于以前的 OSI 网络层的东西,包括 ISIS 的某些方面。因此,在思科捆绑在“clns”下的一堆东西中,它们有“mtu”,这意味着“OSI 网络层中的任何东西都应该假设这是底层的 MSDU(最大服务数据单元)”。这将决定任何网络层 PDU 的最大大小,不包括 L2 开销。

所以,这个“clns mtu”实际上在 OSI 网络层的底部运行,就在它和它运行的任何链路层之间。但这不是官方术语。这正是思科所说的(毫无疑问,现在许多其他实现都使用类似的配置模型。)

MSS 是 TCP 的最大分段大小。由于 TCP 很少在 CLNP 上运行(希望 rfc-1006 和 TUBA 已死),我们永远不会谈论 MSS 和 CLNS MTU 之间的关系。如果我们这样做,它会很复杂,因为 CLNP 标头大小是可变的,并且取决于地址 (NSAP) 长度,最多可以是 20 字节,加上选项,最大标头为 254 字节。我们不要去那里。

那么,重要的是什么?那么 ISIS LSP(链路状态 PDU)的大小必须与任何 L1 或 L2 区域相同,以便该区域中任何路由器发出的 LSP 可以通过任何链路泛洪到所有其他路由器。因此,找到 MTU 减去 L2 开销的最小值的链路,并在所有路由器上使用该值。

最好保守一点,在大多数情况下,尽可能挤出每个字节并不重要。ISIS 将对其 LSP 进行分段,并在传播链路状态信息方面相对有效。随时为 dot1q 标签或其他任何东西留出空间,以防您在 ISIS 路由器之间使用隧道。