larku / RakNet

RakNet is a cross platform, open source, C++ networking engine for game programmers.
Other
60 stars 27 forks source link

Improved MTU detection to work in both direction. #12

Closed larku closed 9 years ago

larku commented 9 years ago

Since a connection's MTU is not guaranteed to be the same in both directions, fragmentation at the IP layer might still occur. This can be simply fixed by responding the MTU-sized connection request message with an MTU-sized connection reply message (and setting the DoNotFragment flag).

It's easy to test this by connecting to a Windows machine with a lower MTU (e.g. netsh interface ipv4 set subinterface "Local Area Connection" mtu=1200). The configured MTU will only be enforced on outgoing messages causing the wrong MTU to be detected, which will cause outgoing messages to be fragmented at the IP layer.