Edited at

Windows環境でMTUの設定の方法

More than 3 years have passed since last update.


インタフェースを確認します

ターミナルを開き、以下のコマンドを打ちます。



netsh interface ipv4 show interface

このようにインタフェース一覧が出ます。

Loopback以外のconnectedのインターフェースが接続されているインタフェースになります。

C:\Users\takish>netsh interface ipv4 show interface

Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
1 75 4294967295 connected Loopback Pseudo-Interface 1
18 65 1500 disconnected Bluetooth ネットワーク接続
9 50 1500 connected Wi-Fi
15 25 1500 disconnected ローカル エリア接続* 3

ここではIdx 9のWi-Fiが該当するインタフェースでした。


MTUを探索する

C:\Users\takish>ping -f -l 1472 -n 1 www.nic.or.jp

www.g.yahoo.co.jp [183.79.104.226]に ping を送信しています 1472 バイトのデータ:
192.168.1.1 からの応答: パケットの断片化が必要ですが、DF が設定されています。

183.79.104.226 の ping 統計:
パケット数: 送信 = 1、受信 = 1、損失 = 0 (0% の損失)、

C:\Users\takish>ping -f -l 1473 -n 1 www.nic.or.jp

www.g.yahoo.co.jp [182.22.96.241]に ping を送信しています 1473 バイトのデータ:
パケットの断片化が必要ですが、DF が設定されています。

182.22.96.241 の ping 統計:
パケット数: 送信 = 1、受信 = 0、損失 = 1 (100% の損失)、

WindwosのPingは実態としてはUDPパケットが送られているため、

(RFC的に言うとICMPで送るべきなのですが、途中のルーターなどで落とされることが多いためUDPで送ることが多いです)

IPヘッダ:20byteとEtherフレーム8byteを足したものが送出されるパケット長となります。

故にMTUは、1472+20+8=1500byte

となります。


MTUを設定する

以下のコマンドで探索したMTUを設定します。

netsh interface ipv4 set interface 9 mtu=1500