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,它将发送回 ICMP 包,指出数据报太大,并礼貌地请求拆分数据包。
- 如果 ICMP 被阻止(由防火墙阻止),则数据包大小不会改变,并且数据可能会被丢弃。
Ping 是检查 MTU 大小的一个非常有用的工具。
ping -M do -s 1500 <host/ip>
这将向主机发送一个具有特定大小的数据包并禁止任何碎片。如果整个过程中 MTU 都是 1500,您将得到响应。如果某处的值较低,则不会得到响应。然后只需降低“-s”变量,直到找到可接受的值。
作为 VPN 情况下的解决方法,您可以将 MTU 降低到此值,看看是否有帮助。
答案3
- 如果 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...
请注意,如果您稍后实施加密,数据包可能会增长并导致碎片化,而碎片化在加密下不起作用。然后您将看到数据包消失在虚无之地。找到断点,然后给自己留一点空间。