#20009 closed defect (duplicate)
MSS unexpected increase by VirtualBox
回報者: | Johan Mazel | 負責人: | |
---|---|---|---|
元件: | network | 版本: | VirtualBox 6.1.14 |
關鍵字: | MSS | 副本: | |
Guest type: | Linux | Host type: | Linux |
描述 (由 作最後更新)
I setup Debian Buster64 guest OS using the VirtualBox provider in Vagrant on a Debian Testing. My VirtualBox version is 6.1.14_Debian r140239.
According to my tests, the MSS set in the SYN packet of the TCP handshake that leaves the host is the host's MTU, and not the guest's MTU. This happens even if the latter is set lower than the host MTU.
I run the following tests: 1) Guest and host default MTU
- Settings:
- Guest eth0 MTU: 1500
- Host eth0 MTU: 1500
- Network traffic capture results:
- Guest eth0 SYN MSS: 1460
- Host eth0 SYN MSS: 1460
2) Guest and host modified MTU
- Settings:
- Guest eth0 MTU: 1400
- Host eth0 MTU: 1400
- Network traffic capture results:
- Guest eth0 SYN MSS: 1360
- Host eth0 SYN MSS: 1360
3) Guest modified MTU and host default MTU
- Settings:
- Guest eth0 MTU: 1400
- Host eth0 MTU: 1500
- Network traffic capture results:
- Guest eth0 SYN MSS: 1360
- Host eth0 SYN MSS: 1460
4) Guest default MTU and host modified MTU
- Settings:
- Guest eth0 MTU: 1500
- Host eth0 MTU: 1400
- Network traffic capture results:
- Guest eth0 SYN MSS: 1460
- Host eth0 SYN MSS: 1360
For both tests 1 and 2, MTU and MSS are the same and there is no ambiguity to solve. So the observed behavior is the expected one. The MSS clamping behavior for test 4 is expected because the host cannot provide the MSS that the guest expects. I however think that the behavior of test 3 is incorrect because it increases the packet size received by the guest which may cause problems on the guest itself or in a virtualized network.
This problem seems to be related to: #15256.
I made an error for the VirtualBox version. The observed behavior is for VirtualBox 6.1.14 (as i wrote in the text) and not in 6.1.16 (as I mistakenly selected). Is there any way to change this?