自宅のLAN環境を部分的に10Gbpsに対応させようと思った話です。
動機
具体的には、我が家のリビングにはNAS代わりにしているPCがあり、HDDを8台突っ込んでWindowsの記憶域プールの機能を使って大きなボリュームとして使っています。写真やら動画やら音楽やらいろいろがそこに入っているのですが、それらのデータにアクセスするのは主にメインPCからなので、その間の通信を速くしてみたいというのが動機です。
それぞれに10Gbps対応のNICを取り付けて直結…で使えるのか使えないのかよく分からなかった(ネットワーク何もわからん)ので、スイッチングハブを噛ませることにしました。
家庭で一般的に使われるLANと言えばRJ45コネクタによる接続になりますが、どうやら現行の10Gbpsに対応したRJ45のLANカードは発熱が多いらしく(今年新しいの出るらしいけど)、今回はSFP+という主にサーバなどで用いられているものを使おうと思いました。
買ったもの

種類 | 名前 | 金額 | 備考 |
---|---|---|---|
スイッチングハブ | MikroTik CRS305-1G-4S+IN | 約22,000円 | 10Gbps SFP+ 4ポート 1Gbps RJ45 1ポート |
ネットワークカード | Mellanox ConnectX-4 MCX4111A | 約4,800円x2 (実際は割引などあり 合計約7,600円) | 10Gbps SFP+ 1ポート |
ダイレクトアタッチケーブル | OPTFOCUS 10G SFP+ DAC Cable | 2m: 約1,200円 7m: 約2,700円 (実際は割引などあり 合計約3,300円) | |
トランシーバーモジュール | Go-Fibereasy 10G SFP+ to RJ45 Copper Module 80m | 約6,800円 (実際は割引などあり 約5,300円) | 80m対応 |
スイッチングハブはSFP+対応で安くポート数も手頃で安いということで話題になっていたらしいもの。搭載しているOSの機能が多くルータとしても使えるそうですが、詳しいことは分からないので普通にスイッチングハブとして使います。1Gbpsのみの対応ですがRJ45のポートが一つあるのでここを上流側としてONUに接続します。

ネットワークカードはSFP+対応で個人でも手が出そうなものだとIntelかMellanox(今はNvidiaに買収されたらしい)が選択肢になる模様。世代が古いほうが当然安いがサポートが終了していたりOSに標準ドライバが用意されてないとか色々あるらしく、調べた結果Mellanox ConnectX-4がWindows 11にも対応していて良さそうだったのでチョイス。2ポートあっても使わないと判断して1ポートのモデル。

ダイレクトアタッチケーブルはそれぞれのPCをスイッチングハブに接続するための、いわゆるLANケーブル的なもの。SFP+では接続する端子の部分(モジュール)とケーブルの部分が別々に扱えるようになっていて、例えばケーブル部分を光ファイバーにすることで伝送距離を稼げたりします。ただ我が家の場合ロボット掃除機くんがガンガンケーブルを攻撃するおそれがあり、断線の可能性があると判断してケーブル部分が銅線かつモジュールと一体型のダイレクトアタッチケーブルを採用しました。

RJ45用のトランシーバーモジュールはSFP+の端子にRJ45のケーブルが刺さるアダプターのようなものです。例えばインターネット回線の契約が10GbpsでONU等が対応していたとしても端子はRJ45であることがほとんどだと思います。そういったときにSFP+接続のスイッチングハブに接続するときなどにモジュールが役立ちます。我が家はNURO光の2Gbps契約な上にONUは1Gbpsのポートしかないため今回必須ではなかったのですが、もしかしたら今後使うかもということでついでに10Gbps対応のものを買っておきました。ちなみにRJ45用のモジュールは一般的に発熱量が多いとされていますが、80mに対応している製品に使われているチップは比較的発熱量が少ないという情報があり、今回はちょっと値段は高いですがそちらを購入しました。

結果
まずはiperf3を使っての計測。NAS用PCでサーバを立てて、メインPCから計測しました。
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 7.09 GBytes 6.09 Gbits/sec sender
[ 5] 0.00-10.00 sec 7.08 GBytes 6.08 Gbits/sec receiver
あれ、出てない…?と思って調べたらコネクション数を増やさないと遅いことがあるらしい…ということで変えてみたのがこちら。
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 1.84 GBytes 1.58 Gbits/sec sender
[ 5] 0.00-10.00 sec 1.84 GBytes 1.58 Gbits/sec receiver
[ 7] 0.00-10.00 sec 2.05 GBytes 1.77 Gbits/sec sender
[ 7] 0.00-10.00 sec 2.05 GBytes 1.76 Gbits/sec receiver
[ 9] 0.00-10.00 sec 1.58 GBytes 1.36 Gbits/sec sender
[ 9] 0.00-10.00 sec 1.58 GBytes 1.36 Gbits/sec receiver
[ 11] 0.00-10.00 sec 1.50 GBytes 1.29 Gbits/sec sender
[ 11] 0.00-10.00 sec 1.50 GBytes 1.28 Gbits/sec receiver
[ 13] 0.00-10.00 sec 814 MBytes 683 Mbits/sec sender
[ 13] 0.00-10.00 sec 814 MBytes 683 Mbits/sec receiver
[ 15] 0.00-10.00 sec 610 MBytes 511 Mbits/sec sender
[ 15] 0.00-10.00 sec 610 MBytes 511 Mbits/sec receiver
[ 17] 0.00-10.00 sec 1.15 GBytes 988 Mbits/sec sender
[ 17] 0.00-10.00 sec 1.15 GBytes 988 Mbits/sec receiver
[ 19] 0.00-10.00 sec 1.26 GBytes 1.08 Gbits/sec sender
[ 19] 0.00-10.00 sec 1.26 GBytes 1.08 Gbits/sec receiver
[SUM] 0.00-10.00 sec 10.8 GBytes 9.25 Gbits/sec sender
[SUM] 0.00-10.00 sec 10.8 GBytes 9.25 Gbits/sec receiver
うん、10Gbps近く出ているんでいい感じ、なのかな。よくわかんないけど。
詰まったところ
まずメインPCでネットワークカードを認識しなかった。UEFI画面で確認しても認識していない。PCIeのレーン数が足りない?とか考えてNVMe接続のM.2 SSDを取り外してみても変わらなかったり。グラフィックボードを一旦PCIe x4接続のスロットに挿し替えてPCIe x16スロットにネットワークカードを挿したら認識して、そのまま2つのカードを入れ替えたら何故か今は認識しています。
まああと地味に、今まではONUに2台のPCを直結していたのでそれぞれが最大1Gbps出せていたけど、今はONUから1Gbps接続のスイッチングハブを経由することになったので、2台のPC合計で1Gbpsしか出せなくなりましたね。もっとも2台同時にフルで通信したいことはそうそう無いので大丈夫だと思うけど…。
コメント