我了解到这种Label Switching (LS)
技术MPLS
确实比经典路由方法更快,在经典路由方法中,每个路由器都需要一些时间来查找其 IP 表以路由到下一跳。如果这是索赔,我想了解为什么标签切换更快?对我来说,两种技术在时间上仍然相似,因为路由器在切换之前仍然需要检查每个数据包上的标签!对?我在这里没有看到任何更少的计算或加速。如果我错了,我想知道正确的推理。
谢谢
我了解到这种Label Switching (LS)
技术MPLS
确实比经典路由方法更快,在经典路由方法中,每个路由器都需要一些时间来查找其 IP 表以路由到下一跳。如果这是索赔,我想了解为什么标签切换更快?对我来说,两种技术在时间上仍然相似,因为路由器在切换之前仍然需要检查每个数据包上的标签!对?我在这里没有看到任何更少的计算或加速。如果我错了,我想知道正确的推理。
谢谢
我同意 - 我不认为标签切换比 IP 路由更快的说法是正确的(不管维基百科上当前的“标签切换”文章说什么)。
也许回到过去在软件中进行转发的平台上,当路由表变大时,IP 路由查找可能既昂贵又耗时,但我看不出今天在标签查找方面会有什么不同与在 ASIC 中实现的 FIB 中的路由查找相比。
您正在混合多种场景。为简化起见,您有三种情况:
IP 路由接口到 IP 路由接口(没有 MPLS,没有任何类型的标签);路由器将在 FIB 中查找最佳路径并将 IP 数据包转发到下一跳;使用当前一代的 FPGA/ASIC,它以非常有效的方式完成,FIB 是通常分层且查找速度非常快的结构。
IP 路由接口到启用 MPLS 的接口,反之亦然;在这里您将进行额外的查找以检查是否需要标签拼版或沉积;
纯 MPLS 到 MPLS 交换 - 您正在查看传入标签并基于它,您正在将标签交换为不同的标签。
路由器将根据 Ethertype 决定输入它接收的数据包类型 - IPv4、IPv6 和 MPLS 都具有不同的值。至于目的地 - FIB 中的目的地 IP 将包含在转发之前将哪个标签推送到数据包的指令。
从表面上看,(3) 是最快的,因为您可以在一次查找中非常有效地搜索单个标签空间。对于 RIB/FIB,您通常处理层次结构/树,因此通常需要多次查找(在过去 10-20 年中,在构建和优化此类搜索树方面做了大量工作)。
然而,仅在理论上——当前一代的 FPGA/ASIC 能够同时进行多个查找,而且更重要的是——无论如何都在这样做。为什么?他们需要检查分配给数据包/FEC 的各种服务,例如 QoS、过滤等。