« Windows 11に筆まめVer.22をインストール | トップページ | 埋め込み型RJ45モジュラージャックにAWG28を無理やり取付 »

パソコンのMTU値を変更したが戻した

YouTubeのおすすめに下記が出てきました。
IPv4 over IPv6 DS-Lite MTU不適切問題 1420を1460に改善 : https://youtu.be/YyhIfXoLl50

現状インターネット接続に問題は無いのですが、少し気になったので調べて見ました。

私が使用しているBB.excite光 FitのIPoEの方式は、DS-Lite(transix)らしいです。
https://bbhelp.excite.co.jp/hc/ja/articles/900000218423-BB-excite%E5%85%89-Fit%E3%81%AEIPoE-IPv4-over-IPv6-%E3%81%AE%E6%8E%A5%E7%B6%9A%E6%96%B9%E6%B3%95

下記サイトによるとIPv4(DS-Lite over IPoE)でのMTU値は1460らしいです。
https://www.marbacka.net/blog/router_config_optimization/

下記サイトでMTUを調べたら1460と表示されました。
https://www.speedguide.net/analyzer.php

WindowsのMTU値と断片化を調べる方法が下記サイトに記載されています。
https://qwerty.work/blog/2019/12/mtu-optimize-command-windows10.php
(上記サイトのバッチを左クリックでダウンロードできなかったので作ったバッチです:ダウンロード - mtuwinset.zip
 上記サイトで右クリックし名前を付けてリンク先を保存すればダウンロードできることを作成後に知りました。)

上記サイトに従い管理者としてコマンドプロンプトを実行しました。

C:\Windows\System32>netsh interface ipv4 show interface
Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
1 75 4294967295 connected Loopback Pseudo-Interface 1
14 25 1500 connected イーサネット
4 25 1500 connected VirtualBox Host-Only Network

=> Idx14がインターネットに接続しているI/Fで、MTUは1500でした。1500はWindowsの初期値です。
次に断片化するバイト数を調べました。

C:\Windows\System32>ping /f /l 1432 www.yahoo.co.jp
edge12.g.yimg.jp [183.79.250.123]に ping を送信しています 1432 バイトのデータ:
183.79.250.123 からの応答: バイト数 =1432 時間 =21ms TTL=53
183.79.250.123 からの応答: バイト数 =1432 時間 =21ms TTL=53
183.79.250.123 からの応答: バイト数 =1432 時間 =20ms TTL=53
183.79.250.123 からの応答: バイト数 =1432 時間 =20ms TTL=53
183.79.250.123 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 20ms、最大 = 21ms、平均 = 20ms

=> 1460(MTU)-20(IP)-8(TCP)=1432Byteでは、断片化していないようです。それでは1Byte加えてみます。

C:\Windows\System32>ping /f /l 1433 www.yahoo.co.jp
edge12.g.yimg.jp [183.79.219.252]に ping を送信しています 1433 バイトのデータ:
192.168.10.1 からの応答: パケットの断片化が必要ですが、DF が設定されています。
パケットの断片化が必要ですが、DF が設定されています。
パケットの断片化が必要ですが、DF が設定されています。
パケットの断片化が必要ですが、DF が設定されています。
183.79.219.252 の ping 統計:
パケット数: 送信 = 4、受信 = 1、損失 = 3 (75% の損失)、

=> 1461(MTU)-20(IP)-8(TCP)=1433Byteでは、断片化しているようです。

但し、下記サイトの記事にあるPath MTU Discoveryにより、通信ができているようです。
https://milestone-of-se.nesuke.com/nw-basic/grasp-nw/path-mtu-discovery/

試しにWindowsのMTU値を変えてみました。

C:\Windows\System32>netsh interface ipv4 set interface 14 mtu=1460
OK
C:\Windows\System32>netsh interface ipv4 set interface 4 mtu=1460
OK

C:\Windows\System32>netsh interface ipv4 show interface
Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
1 75 4294967295 connected Loopback Pseudo-Interface 1
14 25 1460 connected イーサネット
4 25 1460 connected VirtualBox Host-Only Network

■ MTU変更結果

下記サイトで再確認するとMTU=1420に下がっていました。残念です。
https://www.speedguide.net/analyzer.php

冒頭のYouTubeのMSSの重複減算が発生しているようです。ルーターはNEC Aterm PA-WG2600HP3です。MSSリライト抑止はできないようです。どうせMSSリライトが発生するなら、MSSは大きい方が良いかも知れないと考え、WindowsのMTUを1500に戻しました。

Buffallo AirStation WSR-1166DHPLも試したのですが、これもWG2600HP3と同じでした。

家庭用のルーターとして一般的なAtermやAirStationを使用している人は、WindowsのMTUの設定を変えても意味が無いように思えてきました。

AirStationはInternet側のMTUの設定ができるらしいので、OSではなくルータのMTUを変えると、違った結果になるのかも知れませんが未確認です。

YouTubeで対策として紹介されていたYAMAHA RTX830は、中古でも高いですね。また手に入れても設定できそうにないです。
NECやBuffalloにMSSリライト切り替え設定を実装してもらいたいですね。

■ IPv6

下記記事によればIPv6は、1500のままで良いらしいです。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11259023031

C:\Users\owner>ping /6 /l 1452 ipv6.google.com
ipv6.l.google.com [2404:6800:4004:80c::200e]に ping を送信しています 1452 バイトのデータ:
2404:6800:4004:80c::200e からの応答: 時間 =12ms
2404:6800:4004:80c::200e からの応答: 時間 =9ms
2404:6800:4004:80c::200e からの応答: 時間 =9ms
2404:6800:4004:80c::200e からの応答: 時間 =9ms
2404:6800:4004:80c::200e の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 9ms、最大 = 12ms、平均 = 9ms

=> 1500(MTU)-2(PPP)-6(PPPoE)-20(IP)-20(TCP)=14522Byteでは、通信ができました。それでは1Byte加えてみます。

C:\Users\owner>ping /6 /l 1453 ipv6.google.com
ipv6.l.google.com [2404:6800:4004:823::200e]に ping を送信しています 1453 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
2404:6800:4004:823::200e の ping 統計:
パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、

=> 1501(MTU)-2(PPP)-6(PPPoE)-20(IP)-20(TCP)=1453Byteでは、通信できませんでした。仕様通りです。
よって、IPv6のMTUはWindows初期値の1500のままで良さそうです。

■ VirtualBoxのLinux Mint XfceのMTUの変更

下記の記事に従ったのですが、*.yamlファイルに"enp0s3"が見つかりません。
https://mahori.jp/ubuntu-network-mtu/

owner@G73Sw-VirtualBox:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:1e:9f:e4 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
valid_lft 86300sec preferred_lft 86300sec
inet6 fe80::610e:4aad:f9d1:8e81/64 scope link noprefixroute
valid_lft forever preferred_lft forever
owner@G73Sw-VirtualBox:~$ fgrep enp0s3 /etc/netplan/*.yaml
owner@G73Sw-VirtualBox:~$


下記の「/etc/dhcp/dhclient.confファイルの使用」を参考に/etc/dhcp/dhclient.confを変更しました。
https://ciksiti.com/ja/chapters/3070-how-to-change-mtu-size-in-linux--linux-hint

# Configuration file for /sbin/dhclient.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
# man page for more information about the syntax of this file
# and a more comprehensive list of the parameters understood by
# dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
# not leave anything out (like the domain name, for example), then
# few changes must be made to this file, if any.
#
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name = gethostname();

interface "enp0s3" {
default interface-mtu 1460;
supersede interface-mtu 1460;
}

request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;

これも結局は戻しました。

|

« Windows 11に筆まめVer.22をインストール | トップページ | 埋め込み型RJ45モジュラージャックにAWG28を無理やり取付 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« Windows 11に筆まめVer.22をインストール | トップページ | 埋め込み型RJ45モジュラージャックにAWG28を無理やり取付 »