IPv6経路のネットワーク速度低下調査と解決までの流れ

Tips

ある日、Ubuntuサーバでネットワーク速度を測定したところ、ダウンロードが0.6 Mbit/s前後と異常に遅い状態を確認しました。調査の結果、IPv6経路にボトルネックがあり、IPv6を無効化することで200 Mbit/s以上に改善できたため、その手順をまとめます。


調査手順

  1. 初期速度測定
    • speedtest(Ookla公式CLI)で実効下り/上り速度を把握
  2. 経路確認 (MTR)
    • IPv6とIPv4ルートでのパケットロス・遅延を比較
  3. Python版 Speedtest CLI
    • JSON出力でビットレートを定量的に取得
  4. DNS設定見直し
    • 名前解決障害がないかチェック
  5. IPv6無効化テスト
    • IPv6経路の影響を切り分け

1. 初期速度測定 (Speedtest CLI)

$ speedtest
Retrieving speedtest.net configuration...
Testing from example-net (xx.xx.xx.xx)...
Hosted by xTom (Osaka) [482.56 km]: 21.071 ms
Testing download speed........................................
Download: 0.60 Mbit/s
Testing upload speed.......................................... 
Upload: 9.98 Mbit/s

結果: 下り0.60 Mbit/s、上り9.98 Mbit/s
→ ダウンロードだけ極端に遅い


2. 経路確認 (MTR)

IPv6経路

$ mtr --report google.com
                              Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 240d:1e:...             0.0%    10    2.7   9.6   2.2  67.3  20.3
  2.|-- ???                   100.0%    10    0.0   0.0   0.0   0.0   0.0
  …
  9.|-- 2001:4860:0:1::1653     90.0%    10  414.9 414.9 414.9 414.9   0.0
 10.|-- kix07s03-in-x0e.1e100.net 10.0% 10   13.2  48.6  12.5 330.1 105.6

中間ノードのICMPロス多数、最終ホップでも約10%パケットロス

IPv4経路

$ mtr -4 --report google.com
                              Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway               0.0%    10    3.3   3.5   1.7  15.1   4.1
  …
 10.|-- kix07s03-in-f14.1e100.net 0.0% 10   12.4  13.1  12.3  14.1   0.5

IPv4経路はパケットロスなし、遅延も安定


3. Python版 Speedtest CLI (JSON)

$ curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py \
    | python3 - --json
{
  "download": 453433.86787653127,   # bps
  "upload":   2836708.055666347,
  "ping":     24.861
}

結果: 下り 0.45 Mbit/s、上り 2.8 Mbit/s
→ 数値でも同様の異常値


4. DNS設定見直し

# 一時的にGoogle/Cloudflare DNSを指定
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
echo -e "nameserver 8.8.8.8\nnameserver 1.1.1.1" | sudo tee /etc/resolv.conf
ping -c4 google.com   # 成功
dig google.com +short # 成功

DNS障害なし


5. IPv6無効化テスト

# IPv6を即時無効化
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

# 再度Python版Speedtest
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py \
  | python3 - --json
{
  "download": 200752466.40910456,
  "upload":   56384049.026036695,
  "ping":     36.471
}

結果: 下り 200 Mbit/s、上り 56 Mbit/s
→ IPv6経路を無効化したことで速度が劇的改善


調査結果まとめ

  • IPv6経路: 下り 約0.45 Mbit/s、パケットロス・遅延多数
  • IPv4経路: 下り 約200 Mbit/s、安定

原因はIPv6経路の品質劣化によるものと特定


解決策

  1. IPv6の恒久的無効化
    /etc/sysctl.conf に追記して再起動/sysctl -pnet.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6= 1 net.ipv6.conf.lo.disable_ipv6 = 1
  2. ルーター・ISP対応依頼
    • ルーターのファーム更新・再起動
    • So-netへIPv6回線品質低下の報告
  3. DNS設定の復元sudo cp /etc/resolv.conf.bak /etc/resolv.conf

まとめ

IPv6経路にボトルネックが存在し、ダウンロード速度が大幅に低下していました。IPv6を一時的に無効化することで速度が200 Mbit/s以上に回復。恒久的にはISP側およびルーター側の修正を進め、再度IPv6を有効化して安定動作を確認するのがおすすめです。

コメント

タイトルとURLをコピーしました