はじめに
NTTの10Gbps回線、「フレッツ光クロス」が普及し、一般家庭でもギガビット超えの通信環境が手に入る時代になりました。しかし、回線を引いただけではその性能はフルに発揮されません。多くの場合、ボトルネックはホームルーターのCPU処理能力にあります。
この記事では、ヤマハの10ギガアクセスVPNルーターRTX1300」を用い、回線の物理的限界に迫るチューニングを実施した全記録を共有します。
極限までルーターのCPU負荷を下げる工夫を施した結果、10GbEフル稼働の環境(スピテス時のみ)でありながら冷却ファンが低速回転のまま安定しており、なんと「ルーターと添い寝できるレベルの静かさ」で常用できています(笑)。
単なる設定例だけでなく、物理層へのこだわりや、「ルーターのCPUを死なせない(=ファンを回さない)」ためのMTU/MSS設計、NTT NGN網独自のハマりポイント(罠)、そして 「MAP-Eのカプセル化処理がいかにルーターの限界を試すか」 というリアルな検証結果をまとめました。
達成したスコア(MAP-Eの限界と、IPv6の真の力)
まず結論から。RTX1300のチューニングを極限まで詰めた結果、プロトコルによって明確な限界値の違いが出ました。
① ネイティブIPv6での測定結果(実測7.8 Gbps)
IPv4を無効化し、純粋なIPv6のみで測定した結果です。ルーターのカプセル化処理が不要で、ハードウェア処理(ファストパス)がフル稼働するため、事実上の回線上限(カンスト)に到達しました。
測定環境: macOS (Native 10GbE), IPA CyberLab 400G サーバー
※Speedtestのプロバイダ表記が「au」になっていますが、これはv6プラスのVNE事業者であるJPIXがKDDIグループ企業であり、MAP-Eで割り当てられたIPv4アドレスの保有・管理元がKDDIとして判定されるためです。
② IPv4 MAP-E (v6プラス) での測定結果(実測4.4 Gbps)
IPv6を無効化し、強制的にMAP-Eのトンネルを通した結果です。
「遅い」と思うかもしれませんが、これはRTX1300の圧倒的な処理能力の証明です。10GbE環境でのMAP-Eは、「IPv4パケットをIPv6にカプセル化し、さらにNAPT処理を行う」というルーターのCPUを最も酷使する激重プロセスです。市販の家庭用ルーターが1〜2Gbpsで息絶える中、ルーター単体で4.4Gbpsをルーティングできるのは、まさに業務機のパワーと言えます。
1. ネットワーク構成(トポロジー)
ルーター単体だけでなく、スイッチからクライアントまでを10GbEで統一し、一切の妥協がない「極太の土管」を構築しました。
| 役割 | 機器・サービス | 備考 |
|---|---|---|
| WAN (回線) | NTTフレッツ光クロス | 物理インフラ (NGN) |
| VNE (接続事業者) | JPIX | サービス名: v6プラス (MAP-E方式) |
| ISP (プロバイダ) | 各種プロバイダ | v6プラスの提供窓口として契約 |
| ONU | NTT提供 10G ONU | RTX1300のLAN2(10Gポート)へ接続 |
| ルーター | Yamaha RTX1300 | 本記事の主役。Rev.23.00.17 |
| L3スイッチ | Ubiquiti Pro XG 10 PoE | フル10GbE SFP+ / 10GBASE-T スイッチ |
| AP | Ubiquiti U6 Enterprise | Wi-Fi 6E対応(※本記事の測定には不使用。自慢&ロマン枠) |
| クライアント | M4 Mac mini | 10ギガビットEthernet搭載モデル |
物理層(レイヤー1)へのこだわり
RTX1300とPro XG 10 PoEスイッチ間の接続には、RJ45(10GBASE-T)ではなく光ファイバーを採用しています。
- SFP+モジュール: Ubiquiti UACC-OM-MM-10G-D-2
- 光ファイバーケーブル: StarTech.com OM4 マルチモード (LC-LC, Uniboot, 3m)
光トランシーバーを採用した最大の理由は「発熱対策」です。 以前、RTX1300のRJ45ポートとMac miniを直接接続していたこともあるのですが、スピードテストのたびに「空でも飛ぶのか(笑)」と言わんばかりにルーターのファンがブン回っていました。光接続によって発熱と遅延を極限まで抑えることが、前述の「ルーターと添い寝できる静音環境」を実現するための必須条件になっています。
ちなみに、Pro XG 10 PoEとMac miniとの接続はRJ45を使っていますが、こちらのL3スイッチはとっても静かです(今のところはね)。
2. 限界を叩き出すための必須チューニング
ヤマハ公式サイトの「フレッツ 光クロス」対応設定例をそのまま流し込んだだけでは、このスピードは出ません。公式のコンフィグは「誰でも安全に繋がる」ことを優先しているため、10GbEのハードウェアポテンシャルを最大限に活用するには、自らの手でボトルネックを潰すチューニングが必要です。
① LAN側ジャンボフレーム(MTU 9000)の貫通
WAN(インターネット)側はMTU 1460で固定ですが、LAN側(ルーター〜スイッチ〜Mac)のMTUを9000(Jumbo Frame)に引き上げることで、同一LAN内のパケット分割・結合処理を劇的に減らし、ルーターとMacのCPU負荷を下げます。
RTX1300設定:
ip lan1 mtu 9000
(※M4 Mac mini側もハードウェア設定からMTUを9000に変更し、UbiquitiスイッチでもJumbo Framesをオンにします)
② 【超重要】TCP MSSの最適化(フラグメンテーション防止)
「LAN側をMTU 9000にしたら、インターネット(MTU 1460)へ出る時にルーターがパケットを分割処理してしまい、CPUが死ぬのでは?」と疑問に思うかもしれません。それを防ぐのが、公式設定例には記載されていないこの魔法の1行です。
tunnel select 1
ip tunnel tcp mss limit auto
MacからインターネットへのTCPセッション確立時、RTX1300が自動的にMSSを最適化します。これにより、Macはインターネット宛のTCP通信のみ最初から1460バイトに収まるサイズでパケットを生成するようになり、ルーターの重い分割処理(フラグメンテーション)を完全に回避できます。
③ L3スイッチの「フローコントロール」有効化
10GbpsのMacと、2.5GbpsのAP(U6 Enterprise)が同じスイッチに同居している場合、「速度の段差」でスイッチのバッファが溢れ、パケットドロップが発生します。
Ubiquitiスイッチ側で 「Flow Control (IEEE 802.3x)」 をオンにすることで、マイクロバーストによるロスを防ぎ、アップロード速度の頭打ちを解消しました。
3. 【罠】スループットを激しく低下させる設定
ヤマハルーターを運用する上で、トラブルシューティングのために良かれと思って入れた設定が、10G環境では致命的なボトルネックになります。
# 速度重視ならこれらは 'off' にする
statistics traffic off
statistics nat off
on になっていると、数Gbpsクラスの通信においてルーターがトラフィックグラフの描画記録にメモリとCPUを奪われ、速度が大幅に低下します。最高速を狙うならオフ必須です。
4. NGN独自のハマりポイント:SIP機能はオフにできない
インフラエンジニアであれば、「ひかり電話を契約していないなら、SIP機能はオフにしてCPUプロセスを軽くしたい」と考えるはずです。
sip use on
これを sip use off や no ngn type lan2 に変更したところ、IPv6のプレフィックス取得が失敗し、インターネット通信が完全に停止しました。
原因:NTT NGN網とヤマハルーターの仕様
ヤマハルーターの ngn type lan2 ntt は、NTTフレッツ網(NGN)から DHCPv6-PD で確実にIPアドレスを取得するための専用マクロです。
ヤマハルーター内部では、このNGNの回線状態監視プロセスが SIP機能と連動して動く 仕様になっているようです。そのため、手動でSIPをオフにすると、内部のステートマシンが崩れてDHCPv6-PDのシーケンスごと停止してしまいます。
結論:NTTフレッツ網においては、ngn type ntt と sip use on はブラックボックスとして素直に受け入れるのが最適解です。
5. RTX1300 光クロス + v6プラス(MAP-E)コンフィグ例
ここまでのチューニングをすべて盛り込んだ、本環境の全設定です。各設定が「なぜ必要なのか」を詳細にコメントアウトで記載しています。ご自身の環境に合わせてIPアドレス等を調整する際の参考にしてください。
# RTX1300 Rev.23.00.17
# Memory 1024Mbytes, 8LAN
administrator password *
login user LOGIN_USER *
user attribute LOGIN_USER administrator=2
console character ja.utf8
# 複数LANポートの負荷分散を有効化し、ルーティング性能を向上させる
system packet-scheduling load-balance
# ---------------------------------------------------------
# ポートアサインメント (LAN Flexible機能)
# ---------------------------------------------------------
# RTX1300の最大の武器である10Gポート(9, 10)をLAN1とLAN2に分割します。
# これにより、WAN側もLAN側も10GbEでリンクアップします。
lan flexible-port lan1=1-8,10 lan2=9
# ---------------------------------------------------------
# LAN1 (ローカルネットワーク側: Mac, L3スイッチなど) の設定
# ---------------------------------------------------------
ip lan1 address 192.168.100.1/24
# 【最重要チューニング①】
# LAN内のパケット分割・結合処理を減らし、ルーターとMacのCPU負荷を激減させる
ip lan1 mtu 9000
# IPv6アドレスの割り当て (DHCPv6-PDで受け取ったプレフィックスを配下へ展開)
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
# ---------------------------------------------------------
# LAN2 (WAN側: NTT ONU) の設定
# ---------------------------------------------------------
ipv6 lan2 address dhcp
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 lan2 dhcp service client
# 【罠回避】NTT網からDHCPv6-PDで確実にIPを取得するための専用マクロ。絶対に消さない。
ngn type lan2 ntt
# ---------------------------------------------------------
# IPv6 ルーティング設定
# ---------------------------------------------------------
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
# ---------------------------------------------------------
# IPv4 MAP-E (v6プラス) トンネル設定
# ---------------------------------------------------------
tunnel select 1
tunnel encapsulation map-e
tunnel map-e type v6plus
ip tunnel mtu 1460
ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200099 dynamic 200080 200082 200083 200084 200098 200099
ip tunnel nat descriptor 1000
# 【最重要チューニング②】
# LAN側をMTU 9000に設定したことによる、WAN側(1460)へのフラグメンテーション発生を防ぐ。
# インターネット宛てのTCPセッション確立時にMSSを自動調整し、パケットをハードウェアで高速処理させる。
ip tunnel tcp mss limit auto
tunnel enable 1
# IPv4のデフォルトゲートウェイをMAP-Eトンネルに向ける
ip route default gateway tunnel 1
# ---------------------------------------------------------
# NAT設定
# ---------------------------------------------------------
nat descriptor type 1000 masquerade
nat descriptor address outer 1000 map-e
# ---------------------------------------------------------
# パケットフィルター設定 (セキュリティ)
# ---------------------------------------------------------
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject * *
ip filter 200099 pass * * * * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject * *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp
# ---------------------------------------------------------
# サービス設定
# ---------------------------------------------------------
telnetd service off
sip use on
sshd service on
sshd host key generate *
sshd auth method publickey
# ---------------------------------------------------------
# DHCPサーバー・DNS設定
# ---------------------------------------------------------
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
dns host lan1
dns service recursive
dns service fallback on
dns cache use on
dns server dhcp lan2
# ---------------------------------------------------------
# 最適化設定
# ---------------------------------------------------------
statistics traffic off
statistics nat off
おわりに
RTX1300という強力なハードウェアに、物理層からネットワーク層に至るまでの緻密なチューニングを施すことで、IPv6で7.8Gbps、激重のMAP-E処理でも4.4Gbpsという、家庭用ルーターとは一線を画す圧倒的なパフォーマンスを引き出すことができました。
一般家庭でここまでの設備を投じるのはロマンの領域ですが、遅延ゼロのローカルネットワーク環境を手に入れられる喜びは計り知れません。
この記事が、光クロスを引いたものの速度が出ずに悩んでいるすべてのRTXユーザーの参考になれば幸いです。
付録:コピペ用 実働コンフィグ(コメントなし)
解説を省いた、そのまま流し込めるプレーンなコンフィグです。
※ユーザー名やパスワード、IPアドレス体系はご自身の環境に合わせて変更してください。
administrator password *
login user LOGIN_USER *
user attribute LOGIN_USER administrator=2
console character ja.utf8
system packet-scheduling load-balance
ip route default gateway tunnel 1
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
lan flexible-port lan1=1-8,10 lan2=9
ip lan1 address 192.168.100.1/24
ip lan1 mtu 9000
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 address dhcp
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
tunnel encapsulation map-e
tunnel map-e type v6plus
ip tunnel mtu 1460
ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200099 dynamic 200080 200082 200083 200084 200098 200099
ip tunnel nat descriptor 1000
ip tunnel tcp mss limit auto
tunnel enable 1
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject * *
ip filter 200099 pass * * * * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
nat descriptor type 1000 masquerade
nat descriptor address outer 1000 map-e
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject * *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp
telnetd service off
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
dns host lan1
dns service recursive
dns service fallback on
dns cache use on
dns server dhcp lan2
sip use on
sshd service on
sshd host key generate *
sshd auth method publickey
statistics traffic off
statistics nat off


