今回は普及が始まった2.5GbEをUbuntuで使用するために選択するハードウェアや替えた場合の効果を見ていきます。
GbEと2.5GbE
有線LANの速度といえば長らく1ギガビットイーサネット(以下GbE)でした。しかし最近は理論値で2.5倍高速な2.5GbEが普及してきています。マザーボードに2.5GbEコントローラーを搭載したモデルも増えてきました。その例は第691回 で紹介したMSI H510I PRO WIFI です。Ubuntu 20.04.3 LTSのカーネル5.11で認識しています。
ただ2.5GbEの恩恵に預かるためにマザーボードないしPCを買い換えるのは非現実的です。PCI-Express接続の拡張カード(NIC)やUSB接続のアダプターも使用したいところです。しかし、Ubuntuで使用できるか不安です。
もちろんハブも2.5GbEに対応していないといけませんし、せっかくなのでGbEと比較してどのぐらい速くなるかも知りたいところです。
というわけで、2.5GbE環境を見ていきましょう。
今回使用するハードウェア
今回使用するハードウェアは、PCに関しては2台です。うち1台は第691回で使用したものです。スペック表を再掲します。
CPU
Intel
Core i3-10105
マザーボード
MSI
H510I PRO WIFI
メモリー
ADATA
AD4U266638G19-B
SSD
Western Digital
WDS250G2X0C
ケース
In Win
IW-BP671/300B
lspciコマンドで確認すると、「 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)」と表示されました。
もう1台のPCは検証用PCです。OSはやはりUbuntu 20.04.3 LTSです。
CPU
AMD
Ryzen 5 3600
マザーボード
ASRock
B450M Steel Legend
メモリー
CFD
W4U3600BME-8G
SSD
Western Digital
CT250MX500SSD1
ケース
In Win
IW-BL057B/300B
ハブはTP-Link TL-SG108-M2 ですが、8ポートも必要なければPlanex FX2G-05EM がいいでしょう。TL-SG108-M2の約半額で買えます。
今回使用するネットワークコントローラーは次のとおりです。
MSI
H510I PRO WIFI
オンボード
RTL8125B
ASROCK
B450M Steel Legend
オンボード
RTL81111H
Planex
GPE-2500T
PCI-Express x1
RTL8125B
ASUSTOR
AS-U2.5G2
USB 3.1タイプC
RTL8156B
速度の基準とするため、B450M Steel LegendオンボードのGbEも使用します。
GPE-2500T はRTL8125Bを採用していることを明言しているNICで、国内サポートも受けられるモデルでオススメです。実のところどこぞのOEMモデルで、筆者はすでに同型モデルを所有 していました。選択のポイントはやはり「RTL8125B」であること、また「RTL8125」と比較して発熱が少なくまた安定していることです。多少の価格差があったとしても「RTL8125B」を採用したボードにしておくのがいいでしょう。
USB接続の2.5GbEアダプターはいろいろなモデルが発売されています。AS-U2.5G2 は割高でしたが、「 RTL8156B」を採用していることを明言しているので選択しました。これも「B」のあるなしで発熱や性能が違うらしいので、安価なモデルに飛びつくと頭を抱えることになるかもしれません。またAS-U2.5G2はNAS用であるためかUSB Type-A変換コネクターが付属していますが、今回は使用していません。そもそもUSBの仕様に違反しているので、使用しないほうがいいに越したことはありませんが、専用品なので特に問題が起きないことは期待できます。
筆者も驚いたのですが、「 RTL8156B」もカーネル5.11で普通に認識しました。
ここでとあることに気づくかもしれません。あれ、Intelどうしたと。
Intelのネットワークコントローラーは絶大な信頼性があり、少なくともGbE時代とその前である100MbE時代はIntelにあらざるはネットワークコントローラーにあらずという感じでした。さらに前時代については筆者は知りません。Realtekは避けろと言われていた時代もありましたが、GbE時代には全く避ける理由はなく、極めて安定して動作していました。多数のマザーボードに採用されていることもその証左でしょう。安価なマザーボードはRealtek、高価なマザーボードにはIntel製のネットワークコントローラーを採用しているという棲み分けでした。
もちろんIntelも「I225-V 」というコントローラーを販売しているのですが、採用モデルをあまり見かけません。NUCの一部モデル やGIGABYTE B560I AORUS PRO AX など採用モデルもなくはないのですが、今回は予算の都合で入手を見送りました。IntelなのでUbuntuでも認識はするでしょうし、あまり普及していないのはそれなりの理由もあるのでしょう。
ベンチマーク
では簡単にベンチマークを行います。使用するツールは、よく使われるiPerf3 です。
まずは「H510I PRO WIFI」と「B450M Steel Legend」で検証します。結果は次のとおりです。最初は前者がクライアント側、次は後者がクライアント側です。
$ iperf3 -c myoko-focal.local -b 1000M -u
Connecting to host myoko-focal.local, port 5201
[ 5] local 192.168.12.110 port 33610 connected to 192.168.12.122 port 5201
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 114 MBytes 957 Mbits/sec 82600
[ 5] 1.00-2.00 sec 114 MBytes 956 Mbits/sec 82556
[ 5] 2.00-3.00 sec 114 MBytes 956 Mbits/sec 82571
[ 5] 3.00-4.00 sec 114 MBytes 956 Mbits/sec 82559
[ 5] 4.00-5.00 sec 114 MBytes 957 Mbits/sec 82571
[ 5] 5.00-6.00 sec 114 MBytes 956 Mbits/sec 82556
[ 5] 6.00-7.00 sec 114 MBytes 956 Mbits/sec 82565
[ 5] 7.00-8.00 sec 114 MBytes 956 Mbits/sec 82564
[ 5] 8.00-9.00 sec 114 MBytes 956 Mbits/sec 82564
[ 5] 9.00-10.00 sec 114 MBytes 956 Mbits/sec 82564
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 1.11 GBytes 956 Mbits/sec 0.000 ms 0/825670 (0%) sender
[ 5] 0.00-10.00 sec 15.9 MBytes 13.3 Mbits/sec 1.123 ms 807285/818808 (99%) receiver
iperf Done.
$ iperf3 -c myoko-focal.local -b 1000M -u -R
Connecting to host myoko-focal.local, port 5201
Reverse mode, remote host myoko-focal.local is sending
[ 5] local 192.168.12.110 port 48638 connected to 192.168.12.122 port 5201
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 114 MBytes 954 Mbits/sec 0.008 ms 0/82375 (0%)
[ 5] 1.00-2.00 sec 114 MBytes 956 Mbits/sec 0.008 ms 0/82536 (0%)
[ 5] 2.00-3.00 sec 114 MBytes 956 Mbits/sec 0.009 ms 0/82533 (0%)
[ 5] 3.00-4.00 sec 114 MBytes 956 Mbits/sec 0.007 ms 0/82559 (0%)
[ 5] 4.00-5.00 sec 114 MBytes 956 Mbits/sec 0.008 ms 0/82549 (0%)
[ 5] 5.00-6.00 sec 114 MBytes 956 Mbits/sec 0.006 ms 0/82551 (0%)
[ 5] 6.00-7.00 sec 114 MBytes 956 Mbits/sec 0.008 ms 0/82562 (0%)
[ 5] 7.00-8.00 sec 114 MBytes 956 Mbits/sec 0.008 ms 0/82553 (0%)
[ 5] 8.00-9.00 sec 114 MBytes 956 Mbits/sec 0.009 ms 0/82531 (0%)
[ 5] 9.00-10.00 sec 114 MBytes 956 Mbits/sec 0.007 ms 0/82551 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 1.11 GBytes 956 Mbits/sec 0.000 ms 0/825353 (0%) sender
[ 5] 0.00-10.00 sec 1.11 GBytes 956 Mbits/sec 0.007 ms 0/825300 (0%) receiver
iperf Done.
GbEだとこんな感じでしょうか。
続けて「H510I PRO WIFI」と「GPE-2500T」での結果です。
$ iperf3 -c myoko-focal.local -b 2500M -u
Connecting to host myoko-focal.local, port 5201
[ 5] local 192.168.12.110 port 42517 connected to 192.168.12.121 port 5201
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 285 MBytes 2.39 Gbits/sec 206206
[ 5] 1.00-2.00 sec 285 MBytes 2.39 Gbits/sec 206403
[ 5] 2.00-3.00 sec 285 MBytes 2.39 Gbits/sec 206404
[ 5] 3.00-4.00 sec 285 MBytes 2.39 Gbits/sec 206404
[ 5] 4.00-5.00 sec 285 MBytes 2.39 Gbits/sec 206405
[ 5] 5.00-6.00 sec 285 MBytes 2.39 Gbits/sec 206394
[ 5] 6.00-7.00 sec 285 MBytes 2.39 Gbits/sec 206404
[ 5] 7.00-8.00 sec 285 MBytes 2.39 Gbits/sec 206405
[ 5] 8.00-9.00 sec 285 MBytes 2.39 Gbits/sec 206305
[ 5] 9.00-10.00 sec 285 MBytes 2.39 Gbits/sec 206405
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 2.78 GBytes 2.39 Gbits/sec 0.000 ms 0/2063735 (0%) sender
[ 5] 0.00-10.00 sec 15.8 MBytes 13.2 Mbits/sec 1.864 ms 2037928/2049360 (99%) receiver
iperf Done.
$ iperf3 -c myoko-focal.local -b 2500M -u -R
Connecting to host myoko-focal.local, port 5201
Reverse mode, remote host myoko-focal.local is sending
[ 5] local 192.168.12.110 port 52276 connected to 192.168.12.121 port 5201
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 281 MBytes 2.36 Gbits/sec 0.004 ms 0/203300 (0%)
[ 5] 1.00-2.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206404 (0%)
[ 5] 2.00-3.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206381 (0%)
[ 5] 3.00-4.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206405 (0%)
[ 5] 4.00-5.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206404 (0%)
[ 5] 5.00-6.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206405 (0%)
[ 5] 6.00-7.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206404 (0%)
[ 5] 7.00-8.00 sec 285 MBytes 2.39 Gbits/sec 0.005 ms 10/206404 (0.0048%)
[ 5] 8.00-9.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206405 (0%)
[ 5] 9.00-10.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206403 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 2.78 GBytes 2.39 Gbits/sec 0.000 ms 0/2060966 (0%) sender
[ 5] 0.00-10.00 sec 2.78 GBytes 2.39 Gbits/sec 0.004 ms 10/2060915 (0.00049%) receiver
iperf Done.
最後に「H510I PRO WIFI」と「AS-U2.5G2」の結果です。
$ iperf3 -c myoko-focal.local -b 2500M -u
Connecting to host myoko-focal.local, port 5201
[ 5] local 192.168.12.110 port 34540 connected to 192.168.12.123 port 5201
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 284 MBytes 2.39 Gbits/sec 205985
[ 5] 1.00-2.00 sec 285 MBytes 2.39 Gbits/sec 206406
[ 5] 2.00-3.00 sec 285 MBytes 2.39 Gbits/sec 206228
[ 5] 3.00-4.00 sec 285 MBytes 2.39 Gbits/sec 206406
[ 5] 4.00-5.00 sec 285 MBytes 2.39 Gbits/sec 206404
[ 5] 5.00-6.00 sec 285 MBytes 2.39 Gbits/sec 206406
[ 5] 6.00-7.00 sec 285 MBytes 2.39 Gbits/sec 206407
[ 5] 7.00-8.00 sec 285 MBytes 2.39 Gbits/sec 206406
[ 5] 8.00-9.00 sec 284 MBytes 2.39 Gbits/sec 205972
[ 5] 9.00-10.00 sec 285 MBytes 2.39 Gbits/sec 206399
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 2.78 GBytes 2.39 Gbits/sec 0.000 ms 0/2063019 (0%) sender
[ 5] 0.00-10.00 sec 15.7 MBytes 13.2 Mbits/sec 2.170 ms 2037301/2048665 (99%) receiver
iperf Done.
$ iperf3 -c myoko-focal.local -b 2500M -u -R
Connecting to host myoko-focal.local, port 5201
Reverse mode, remote host myoko-focal.local is sending
[ 5] local 192.168.12.110 port 37440 connected to 192.168.12.123 port 5201
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 281 MBytes 2.36 Gbits/sec 0.005 ms 0/203426 (0%)
[ 5] 1.00-2.00 sec 285 MBytes 2.39 Gbits/sec 0.005 ms 0/206404 (0%)
[ 5] 2.00-3.00 sec 285 MBytes 2.39 Gbits/sec 0.004 ms 0/206404 (0%)
[ 5] 3.00-4.00 sec 285 MBytes 2.39 Gbits/sec 0.007 ms 0/206404 (0%)
[ 5] 4.00-5.00 sec 285 MBytes 2.39 Gbits/sec 0.006 ms 0/206404 (0%)
[ 5] 5.00-6.00 sec 285 MBytes 2.39 Gbits/sec 0.005 ms 0/206403 (0%)
[ 5] 6.00-7.00 sec 285 MBytes 2.39 Gbits/sec 0.005 ms 0/206405 (0%)
[ 5] 7.00-8.00 sec 285 MBytes 2.39 Gbits/sec 0.006 ms 0/206403 (0%)
[ 5] 8.00-9.00 sec 285 MBytes 2.39 Gbits/sec 0.007 ms 0/206404 (0%)
[ 5] 9.00-10.00 sec 285 MBytes 2.39 Gbits/sec 0.006 ms 0/206404 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 2.78 GBytes 2.39 Gbits/sec 0.000 ms 0/2061405 (0%) sender
[ 5] 0.00-10.00 sec 2.78 GBytes 2.39 Gbits/sec 0.006 ms 0/2061061 (0%) receiver
iperf Done.
総評
今回ベンチマークは極めて理想的な環境で実行されたもので、実環境となるとここまでの数値は出ないでしょうが、それでも期待どおり2.5GbEはGbEの2.5倍の速度は出そうであるとはいってもよさそうです。
「RTL8125B」に関しては多数のマザーボードやNICに採用されているので信頼性は折り紙つきということでいいでしょうが、「 RTL8156B」も同様の速度が出たのは驚きです。もっともUSBのスペック的に速度にはかなりの余裕がありますし、5GbEくらいまではUSB 3.2 Gen1でいけそうです。10分ほどiprf3コマンドを実行してみましたが、速度は安定しており、発熱もほとんどなく(少し暖かいかなくらい) 、CPU負荷もさほどではないので、「 RTL8156B」は優秀であることがよくわかりました。
2.5GbEがさらなる普及を図るためには全体的にもう少し値段が下がらないと厳しいとは思いますが、普段からLAN内で大きなファイルをやり取りしている筆者のような人にとっては、今すぐに2.5GbE環境を用意することでその効果をUbuntuで無事得られることでしょう。