UDP の最大パケットサイズ
IPv4 の理論値
(65535 - UDP ヘッダ - IP ヘッダ) バイト
いろいろなサービスの制限 (DNS とか)
500 バイトくらい
Google QUIC
1350 バイト
IETF QUIC
最低 1200, 最大 65527
メモ
UDP は再送とかないので、フラグメントになったあと、フラグメントのうち1つでもドロップしたら UDP のパケットは届かない
IPv4 はルータが経路の MTU を見て、適当にフラグメンテーションしたりする
IPv6 はルータはフラグメンテーションできない
なので、どこからフラグメンテーションするか
IPv6 は 1280 バイトまでならフラグメンテーションせずに送信できるとしている
Ethernet の MTU は最大1500バイト
最小は、参照するページによって書いてることが違う
500くらいだったり数十バイトだったり
ジャンボフレームとかはまた別
PMTU
調べた背景
Rust で UDPSocket#recv_from を使うとき、バッファにスライスしか指定できなかった スライスはサイズが固定 (のはず)
溢れた分は捨てると書いてあるので、十分にバッファのサイズを大きくしておかなければいけない