(比較的)安価に10Gネットワークを組む

# はじめに
最近自室のLANを10G化したのでその時の記録です。中古品を買い集めて構築したので，(個人で)あんまりお金をかけずに10Gネットワーク構築したい！という人の参考になれば幸いです。

# 前提知識
10GbEを調べていると一般人には馴染みのない規格や単語が出てきて苦労したので調べたことをまとめておきます。知ってる人は飛ばして下さい。
<details><summary>前提知識</summary>
 
## ポート形状
我々が普段LANポートとして使っている台形のポートはRJ45と呼ばれています。
10Gでは，SFP+という細長いコネクタが広く使われています。
もともとSFPという規格で1.25Gbps,SFP+で10Gbpsです。SFP+では，ポートに光トランシーバーモジュールを挿して，更に光ファイバーケーブルを挿して通信します。短距離であれば，DACケーブルという光ファイバを使わず電気的に直接通信するケーブルを使うことができ，これはモジュールと光ファイバーケーブルを買う値段に比べると安く購入することができます。また，光ファイバケーブルは曲げに弱く扱いに気を使いますが，DACケーブルであればそこまで気を使う必要がないので楽です。

## モジュールの種類
SFP+モジュールにはいくつか種類があります。違いとしては，使う光の波長，伝達可能な距離，用いられる光ファイバーケーブルの種類です。MMFはマルチモードファイバー，SMFはシングルモードファイバーです。光ファイバでつなぐモジュール同士は同じ規格である必要があります。LANの場合にはSRが多いかと思います。

|規格|波長|ケーブル|伝送距離|
|:--|:--|:--|:--|
|10Gbase-SR|850nm|MMF|300m|
|10Gbase-LR|1310nm|SMF|10km|
|10Gbase-ER|1550nm|SMF|40km|

RJ45で10Gだと10Gbase-Tという規格になります。一般的なPCについている10Gポートはほぼこっちです。


## 光ファイバーケーブルの種類
光ファイバーケーブルには
* マルチモードファイバ(MMF)
* シングルモードファイバ(SMF)

の2種類があります。
マルチモードは同時に複数の光信号を使い，シングルモードは一つのみ使います。
特徴として，マルチモードは伝送距離が短く損失も大きいが，曲げに強く，安価です。
シングルモードは伝送距離が長く損失も少ないが，曲げに弱く，MMFより高価です。

MMF，SMFにもそれぞれいくつかのカテゴリが存在します。数字が大きいほうが長い距離伝送可能です。あと色が違います。MMFの場合はOM1から4まであります。10G向けにはOM3が多いみたいです。

|カテゴリ|10G-SRでの伝送距離|色|
|:--|--:|:--|
|OM1|33m|オレンジ|
|OM2|82m|オレンジ|
|OM3|300m|水色|
|OM4|400m|紫|

また，光ケーブルのコネクタも種類が別れていますが，SFP+モジュールに刺さるのはLCコネクタです。

</details>

# 要件
10G化にあたって求めていたものはこんな感じです。
* とりあえずローカルのみを10G化する。回線とかそれ以外のものは今後検討
* RJ45ではなくSFP+で揃える
* Wifiも1Gbps超えしたい

10G化の目的の1つにローカルにあるファイルサーバ(owncloudを使用)に早くアクセスしたい！というのがあり，それならローカルのみ早くなれば十分です。10Gbase-TでRJ45で揃えることもできそうでしたし，そっちのほうが買う必要があるケーブルは少なそうでしたが，なんかかっこいいというだけの理由で10Gbase-SRにすることにしました。また，どうせならWifiも早いものに刷新することにしました。


# 構成
PCはメインPC，ファイルサーバー，仮想化サーバーの計3台で，これを10G化しました。ルータにはNECのIX2215を使用しています。これは10G非対応なので，10Gスイッチをつないで1Gで接続します。APも10GとWifi6に対応したものにして高速化を狙います。

![Untitled presentation (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/837f5711-82eb-3c5e-9a4c-8636eedaee83.jpeg)


# 買ったもの
10G化するにあたり購入したものと価格は以下の通りです。
|分類|品番|価格|
|:--|:--|--:|
|スイッチ|TP-Link TL-ST1008F |10,000|
|NIC|Intel x520-da2 x 4個|18,000|
|トランシーバー|cisco SFP-10G-SR x 10個|6,000|
||addon SFP-10GBASE-T-AO||
||proline GLC-T-TAA|4,000|
|ケーブル|光ファイバー(OM3) x 4本|3,000|
|AP(アクセスポイント)|Buffalo WXR-6000AX12P|15,000|
||計|56,000円|

全部ネットで中古品なり未使用品なりを買いました。あんまりお金掛かってないと思っていましたが，いざ足し合わせてみるとまぁまぁな金額になってしまいました。ただ新品でやろうとするともっとかかると思うのでこれでも比較的安価な方じゃないかな思います。

以下でそれぞれについて解説します。

### スイッチ
スイッチはTP-LinkのTL-ST1008FというアンマネージドのL2スイッチを買いました。SFP+が8個もついています。フリマサイトにて中古品を購入。約10k。新品だとAliexpressで18kくらいで売っています。中国でのみ投入されているモデルらしく，新品で購入しようとすると中国からの個人輸入しかないようです。あと情報があまり見つかりません。
![DSC04661.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/50ce4e9f-3529-d913-f691-dd539bda351d.jpeg)
![DSC04654.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/d3294adf-d983-616d-bd69-27b278f44d24.jpeg)

ポート数も多く値段も安くて良いのですが，10G,2.5G，1Gの混在には少し制限があります。2枚目の写真にあるM1,M2,M3のスイッチでモードを切り替えます。説明書によると
|Mode|説明|
|:--|:--|
|M1|全ポートが10Gか1Gのみでリンク|
|M2|端子1〜4は10Gか1G，5〜8は10Gか2.5G|
|M2|全ポート10Gか2．5Gでのみリンク|

ということみたいです。
また，DACケーブルで認識しないものがあったので相性が多少存在する可能性があります。ドキュメントを読む限り純正のモジュールのみ動作確認済っぽいです。
今回買ったものはL2でアンマネージドなので，vlan切ったりしたい人は違うものを探したほうが良いかと思います。RJ45で10Gのスイッチも探せばありますが(最近そっちのほうが多いかも)，10Gは2ポートのみ対応みたいな感じが多く，値段もちょっと高い印象があります。(あとNICの消費電力が高く熱々になるらしい)

### NIC
NICにはIntelのx520-da2を4枚購入しました。
![DSC04630.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/45856b9f-9fa4-e4f8-605b-083f4d3b5edf.jpeg)

SFP+が2つついたNICです。某オクで購入。送料含め1枚あたり5k弱でした。たまたま安いものを見つけたのでこれにしましたが，他にも比較的安価なNICは選択肢が多くあります。こちらのサイトがとても参考になりました。

https://note.com/you21979/n/ne57eef3997c0#b37c5bf6-0899-4479-b8ad-476a98bbaacf

ちなみに，X520-da{1,2}は初期状態ではDACケーブルかIntel純正のSFP+モジュール以外使えないようにベンダーロックがかかっており，それを解除するためにEEPROMを書き換える必要があります。やり方さえわかってしまえば簡単に出来ます。

https://qiita.com/hkaomua/items/63989a89549b1248c4f1

ロック解除した後は何種類か試したモジュール，DACケーブルはすべて認識しています。

あとこのNICはSR-IOVという機能が使えます。SR-IOVはNICの仮想化機能で，VirtualFunctionというものを作って仮想マシンに渡すことでCPUを介さずに仮想マシンからNICを触れるようになります。仮想化を良くする場合にはあったほうがいいと思います。ただ，注意点としてマザーボードが対応している必要があり，コンシューマ向けの製品だと対応していない可能性があるので事前に調べておく必要があります。(サーバー，WS用の製品はほとんど対応，ASUS,Asrockのマザーは割と対応しているイメージがあります[独自研究])

### SFPモジュール
これも某オクで安かったCiscoの10G-SRのものを買いました。送料込みで10個6kくらいだったと思います。前提知識のところでも書きましたが，調べた限りだとマルチモードケーブルのほうが取り回しが楽そうなのでSRのものにしました。NICやスイッチとSFPモジュールの相性問題は割とあるようなのでできる限り調べてから買いましょう。
![DSC04621.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/5f697555-f1b6-fa6a-5adf-3a2602bbf83f.jpeg)


加えて，スイッチとAP,スイッチとルーターを接続するためにSFP+->RJ45に変換する必要があるので，そのモジュールも購入しました。こちらも某オクです。2つで4k程度。Switch-AP間は10G，Switch-router間は1Gで繋ぎます。SFP+からRJ45の10Gbase-Tへのモジュールはかなり熱を持ちます。ずっと触ってられないくらい。
![DSC04626.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/a6febdc6-2f94-fae0-cef5-75fd31d8eef0.jpeg)
![DSC04625.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/751dc42c-03b0-9c70-dba0-05b775ab4d38.jpeg)



### ケーブル
前述の通り2種類あり，その中にもカテゴリがあります。今回はOM3を選択。クラスによって色が別れており，OM3は水色です。伝達可能距離は短くなりますが，オレンジ色のOM2でも使用できます。ただケーブル自体の値段はそんなに変わらないのでOM2買う意味はあまりないかと，どうしてもオレンジが良いとか？

余談ですが，フリマアプリで服とかスマホグッズを幅広く取り扱ってる人が光ファイバーケーブルを売ってるのはなぜなんでしょうか。安いので助かっていますがそんなに売れるものだとも思えないので不思議に思っています...

### アクセスポイント(AP)
この際せっかくなのでAPも10G対応のものにしました。BuffaloのWXR 6000AX12PというクソでかいフラッグシップのWifiルーターが秋葉原で安かったので購入しました。15kくらいでした。新品だと4万前後です。WanとLanの各1つが10G対応のRJ45ポートがついています。もったいないような気もしますがルータ機能は使わずにAPとして使っています。(写真の隣のは13インチMacBook Airです。)
![IMG_3220.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662012/5fb3b676-fe19-b9a4-18fe-19a0642f5230.jpeg)

Wifi6なので理論値でも2.4Gbpsしか出ない上に実測値だと良くても1.6Gpbsくらいにしかならないのでそんなにお金をかける価値は無かったかなと思っています。Wifi7が出てきたら話は変わるかもしれませんが。

# 結果
メインPCとファイルサーバーでiperf3にて速度を計測した結果，9.41Gという値が出ました。
```
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.10 GBytes  9.43 Gbits/sec    0   1.37 MBytes       
[  5]   1.00-2.00   sec  1.10 GBytes  9.42 Gbits/sec    0   1.44 MBytes       
[  5]   2.00-3.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.54 MBytes       
[  5]   3.00-4.00   sec  1.09 GBytes  9.37 Gbits/sec    0   1.75 MBytes       
[  5]   4.00-5.00   sec  1.10 GBytes  9.41 Gbits/sec    0   1.75 MBytes       
[  5]   5.00-6.00   sec  1.10 GBytes  9.42 Gbits/sec    0   1.75 MBytes       
[  5]   6.00-7.00   sec  1.10 GBytes  9.41 Gbits/sec    0   1.75 MBytes       
[  5]   7.00-8.00   sec  1.09 GBytes  9.40 Gbits/sec   88   1.30 MBytes       
[  5]   8.00-9.00   sec  1.10 GBytes  9.42 Gbits/sec    0   1.41 MBytes       
[  5]   9.00-10.00  sec  1.10 GBytes  9.41 Gbits/sec    0   1.45 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  11.0 GBytes  9.41 Gbits/sec   88             sender
[  5]   0.00-10.00  sec  11.0 GBytes  9.41 Gbits/sec                  receiver

```
Owncloudだと大体6Gpbsくらいの速度が出ます。満足。

Wifi6で接続したノートPCからiperfすると，最大で1.5~1.6Gbpsくらい出ました。子機側のストリーム数が2なので理論値だと2.4Gbpsで，まぁこのくらいかなと思います。

# おわりに
頑張って中古品で揃えたので比較的安く揃えられたのではないかと思います。NASと他のPCを1対1でつなぐような場合であればNICとトランシーバー，ケーブルだけで良いのでもっと安くできます。(その場合だとInfinibandで40Gのほうが良いかも？)
問題として，10G化して最初は満足していましたが，だんだんルーターと回線も10Gにしたい気持ちが増してきています。遠くないうちに真の10G化を実施するかもしれません。