如何计算 L2 VPN 中的 MTU?

如何计算 L2 VPN 中的 MTU?

L2 VPN 的 mtu 计算如何进行?示例拓扑如下:

CE---PE---MPLS---PE---CE

您将在哪里以及如何实施 MTU 计算?什么将决定 MTU 应该为多少?我在 MPLS 网络中运行不同的 LSP。LSP 是否有自己的 MTU,如果有,那么它们从哪里获得此 MTU 值?

如果我在物理接口上创建了逻辑 L2 接口,我将在哪里设置 mtu?在物理上还是逻辑上?

mtu 计算是否也根据我所拥有的端口类型(如 Sonet/Ethernet/DS3)而不同?

请分享您对此的知识。

普拉卡什

答案1

我过去曾尝试过计算,但说实话,这些天我使用 ping -f -l 并不断增加直到它返回碎片错误。这通常非常可靠,尽管我怀疑有时中间路由器会忽略 DF 标志。

JR

答案2

根据我使用站点到站点 VPN 连接的经验,最重要的是两个隧道对等体具有相同的 MTU。根据供应商的不同,这往往会导致一些意外行为。

维基百科的 MTU 页面对 MTU 进行了很好的解释

  1. 数据包最初以发送方 MTU 发送
  2. 如果路径上的任何节点具有较低的 MTU,它将发送回 ICMP 包,指出数据报太大,并礼貌地请求拆分数据包。
  3. 如果 ICMP 被阻止(由防火墙阻止),则数据包大小不会改变,并且数据可能会被丢弃。

Ping 是检查 MTU 大小的一个非常有用的工具。

ping -M do -s 1500 <host/ip>

这将向主机发送一个具有特定大小的数据包并禁止任何碎片。如果整个过程中 MTU 都是 1500,您将得到响应。如果某处的值较低,则不会得到响应。然后只需降低“-s”变量,直到找到可接受的值。

作为 VPN 情况下的解决方法,您可以将 MTU 降低到此值,看看是否有帮助。

答案3

  1. 如果 CE 到 PE 链路是 dot1Q 中继,假设 L3 有效载荷为 X 字节,则到达 PE 的 L2 帧的大小为

X + 6 + 6 + 2 + 4 + 4 = X + 22

如果 CE-PE 链路是接入端口,则

x + 6 + 6 + 2 + 4 = X + 18

分手了

S-MAC - 6 D-MAC- 6 类型 - 2 FCS -4 Dot1q 标签 4

现在对于 MPLS l2 VPN,如果 PE 不是背靠背的,则需要 2 个标签,即增加 4 + 4 字节(在背靠背 PE 中只需要一个标签)

VC 标签 - 4 字节 IGP-PE 标签 4 字节

因此,在 MPLS 云中添加到原始数据包 x(x 字节)的总开销为 X + 30(dot1Q CE-PE,双标签场景)

答案4

我同意 JR...

请注意,如果您稍后实施加密,数据包可能会增长并导致碎片化,而碎片化在加密下不起作用。然后您将看到数据包消失在虚无之地。找到断点,然后给自己留一点空间。

相关内容