最近是我一直在处理MTU的问题。这一切似乎都源于以下事实:新计算机上的以太网适配器默认帧大小为1504字节:
>netsh interface ipv4 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
------ --------------- --------- --------- -------------
1504 1 3954161316 804790885 Local Area Connection现在,根据NetworkEngineering.stackexchange.com上的随机人员,任何太大的数据包都将被任何接收网络接口卡(NIC)丢弃,因为以太网数据包太大:
...any帧的MTU大于802.3规格1500 A帧大于设置最大值将被NIC删除-这是一个错误,操作系统永远不会知道它。(超大帧计数器将单击向上,但仅此而已。)
当计算机试图向网关计算机发送数据包时,会产生问题。理想情况下,我将依靠路径MTU的发现。但是,由于正在生成的以太网数据包太大,任何其他机器都无法接收,因此将返回没有IP的机会包太大碎片消息:
根本不会有“碎片化”。第二层(以太网)如果表示“所需的碎片”,则没有办法。这是在第三层(IP)的路由器发送ICMP消息时,它必须丢弃数据包,因为它将不适合下一跳接口。
这就引出了我的第二个问题:
这就引出了我的第一个问题第二。这是以前有人问过的-很多。
如果我们退后一步,我们有一个更大的问题:
我们该怎么办?
一定有人设计了这个标准。他们期望人们对那些产生这些太大数据包的设备做些什么?
我真的在问你。我想,我们不应该去每一个硬件设备,撤销MTU 1504的增长,并将其恢复到1500:
netsh interface ipv4>set subinterface "Local Area Connection" mtu=1500 store=persistent
Ok.这将是(而且正在)一个配置噩梦。
是否关闭VLAN标签的想法?除了配置噩梦之外,它根本不起作用:

1504 1 238125 245855局域网连接
如果解决这一问题的方法是手动强制所有网卡返回到1500的MTU,那么为什么首先要将其提高到1504字节,并创建无效的数据包呢?
我漏掉了一块拼图。
Without 802.1Q tagging Without 802.1Q tagging
+------------------------+ +------------------------+
|Destination MAC: 6 bytes| |Destination MAC: 6 bytes|
|Source MAC: 6 bytes | |Source MAC: 6 bytes |
|Ethertype: 2 bytes | |802.1Q tag: 4 bytes |
+------------------------+ |Ethertype: 2 bytes |
| | +------------------------+
| | | |
/ Payload: 1500 bytes / / Payload: 1500 bytes /
| | | |
| | | |
+------------------------+ | |
| Frame Check Sequence: | +------------------------+
| 4 bytes| | Frame Check Sequence: |
+------------------------+ | 4 bytes|
+------------------------++------------------+ +----------------+ +------------------+
| Realtek PCIe GBe | | NetGear 10/100 | | Realtek 10/100 |
| (on-board) | | Switch | | (on-board) |
| | +----------------+ | |
| Windows 7 | ^ ^ | |
| | | | | |
| 192.168.1.98/24 |-----------+ +------------| 192.168.1.10/24 |
| MTU = 1504 bytes | | MTU = 1500 bytes |
+------------------+ +------------------+您还可以替换任何您喜欢的配置,生成大于允许的最大1500字节的数据包:
+------------------+ +----------------+ +------------------+
| Realtek PCIe GBe | | NetGear 10/100 | | Realtek 10/100 |
| (on-board) | | Switch | | (on-board) |
| | +----------------+ | |
| Windows 7 | ^ ^ | MTU = 1500 bytes |
| MTU = 16384bytes | | | | |
| |-----------+ +------------| |
+------------------+ +------------------+我试图找到一个网站,可以解决我的技术,概念,逻辑,基本的理论问题,当一些设备故意生成无效的数据包时,以太网如何工作。
当我试图将无效的以太网数据包发送到另一个以太网设备时,就会担心:
此数据包无效,因为它太大,无法被目标802.3u设备接收。因为目标的主机操作系统从未看到数据包,而且由于以太网没有向发送方报告无效数据包的功能,“大”数据包就丢失了。
来自思科的交换机间链路和IEEE802.1Q帧格式:
帧大小接口的默认最大传输单元(MTU)是1500字节。将外部VLAN标记附加到以太网帧后,数据包大小将增加4个字节。因此,建议您适当地增加提供商网络上每个接口的MTU。建议的最小MTU为1504字节。
同时:
IEEE 802.3以太网标准只要求支持1500字节的MTU帧.
发布于 2014-04-09 00:38:55
我可以试着回答你的概念问题。
我找不到一个真正的报价,但似乎很清楚,.1ad和.1q从来没有打算被个人电脑或其他终端主机处理。它们(通常)仅由基础设施设备处理。我不知道设计师们在想些什么,但是很难想象QinQ包会在现实生活中进入个人电脑。基础设施设备(路由、交换机等)上的以太网接口可以处理较大的数据包。
因此,数据包只对个人电脑无效,在理论上是不应该看到它们的。
https://networkengineering.stackexchange.com/questions/7260
复制相似问题