え~、最初にお断りしておきますが、うまくいきませんでした。結論から言うと、どうやら Windows 11 の PC で Intel の NIC を使ったリンクアグリゲーションを利用するのは無理っぽい・・・。
Intel の NIC が 2基搭載された ASRock の「Z390 Taichi」というマザーボードが発売されたのは 2018年。既に 6年も前のマザーボードの話なので今更記事としての需要があるかは甚だ疑問ですが、誰かの役に立つこともあるかも知れないので失敗談として記録しておくことにします。ということなので、興味の無い方は ” そっ閉じ ” しちゃって下さい(笑)。ちなみに今回使ったマザーボードは ⬇
「リンクアグリゲーション」というのは、複数の LAN回線を束ねて仮想的な 1つの回線として扱うことで冗長性の確保や帯域幅を増加させることで通信速度を上げたりする技術で、「Link Aggregation Group」の頭文字を取って「LAG」と表記されたりもします。実質的な上位互換技術の「LACP」など、書き出すと色々あるのですが、ここでは割愛!またいつか機会があれば?
「Z390 Taichi」の製品紹介ページ には以下の様な記述がありました。
2 本の LAN ケーブルをこのマザーボードの背面出入力に接続できます。このマザーボードのチーミング機能付きデュアル LAN を有効にすれば、2 つの単一接続を 1 つの単一接続のように動作させて、転送帯域幅を 2 倍に増やし、データをより効果的に転送できます。
* Windows® 10 RS2 およびそれ以上でチーミングに対応
この「チーミング(Teaming)」というのは、複数の NIC(ネットワークアダプタ)を 1つの仮想的な NIC として束ねる技術のことで、Linux の世界では「ボンディング(Bonding)」という言い方がされるようです。「Windows 10 RS2 以上で対応」と書かれているので、当然 Windows 11 でも利用出来るものだと思っていました。
また、この「チーミング」なり「リンクアグリゲーション」なりを利用するためには、PC(今回の場合)の方だけでなく接続する相手方(ルーターであったりスイッチであったり)の方もこの技術に対応している必要があります。この点については現在使用しているスイッチ(Yamaha SWX2300-16G)の方で対応可能でした。
■ 「Z390 Taichi」でリンクアグリゲーションを試してみる
何はともあれ、やってみないことにはどういうものなのかよく分からないということで、ASRock のサイトにあった FAQ を参照しながら設定してみることに。過去に Intel の「PROSet ソフトウェア」はインストール済みだったので、「Windows PowerShell」を使ってコマンドを入力することろから。
ちなみに Windows 11 では「ターミナル」というアプリに置き換わっているので、Windows のスタートボタン右クリックから「ターミナル(管理者)」を実行します。
PS C:\Users\(ユーザー名)>Import-Module –Name "C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets.dll"
まずは上記のコマンド「Import-Module –Name "C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets.dll"」を投入。何も確認のメッセージが表示されたりしませんが、気にせず次に進みます。
PS C:\Users\(ユーザー名)>Get-IntelNetAdapter
Location Name ConnectionName LinkStatus
-------- ---- -------------- ----------
0:31:6:0 Intel(R) Ethernet Connection (7) I219-V イーサネット 2 1.00 Gbps ...
10:0:0:0 Intel(R) I211 Gigabit Network Connection イーサネット 使用できま...
次に「 Get-IntelNetAdapter」というコマンドで利用可能な LANアダプタの情報を取得しておきます。
PS C:\Users\(ユーザー名)>New-IntelNetTeam コマンド パイプライン位置 1 のコマンドレット New-IntelNetTeam 次のパラメーターに値を指定してください: TeamMemberNames[0]: Intel(R) Ethernet Connection (7) I219-V TeamMemberNames[1]: Intel(R) I211 Gigabit Network Connection TeamMemberNames[2]:
次に、「New-IntelNetTeam」と入力してチーミングを開始。チーミングする LANアダプタを聞かれるので、先程取得しておいた LANアダプタの名称をコピー&ペーストで入力。この場合は 2つ入力し終えたら「Enter」を押下します。
PS C:\Users\(ユーザー名)>New-IntelNetTeam コマンド パイプライン位置 1 のコマンドレット New-IntelNetTeam 次のパラメーターに値を指定してください: TeamMemberNames[0]: Intel(R) Ethernet Connection (7) I219-V TeamMemberNames[1]: Intel(R) I211 Gigabit Network Connection TeamMemberNames[2]: TeamMode: StaticLinkAggregation
「TeamMode」では「StaticLinkAggregation」を設定。ちなみに「TeamMode」は以下の中から指定することが出来るらしい。
- AdapterFaultTolerance
- SwitchFaultTolerance
- AdaptiveLoadBalancing
- VirtualMachineLoadBalancing
- StaticLinkAggregation
- IEEE802_3adDynamicLinkAggregation
- MultiVendorTeaming
「IEEE802_3adDynamicLinkAggregation」というのは一般に「LACP(動的リンクアグリゲーション)」と呼ばれているもので、「静的リンクアグリゲーション」の上位互換と考えていいらしい。当然対向側の機器も対応している必要あり。
PS C:\Users\(ユーザー名)>New-IntelNetTeam コマンド パイプライン位置 1 のコマンドレット New-IntelNetTeam 次のパラメーターに値を指定してください: TeamMemberNames[0]: Intel(R) Ethernet Connection (7) I219-V TeamMemberNames[1]: Intel(R) I211 Gigabit Network Connection TeamMemberNames[2]: TeamMode: StaticLinkAggregation TeamName: Z390TaichiLAG
最後に「TeamName」を入力。これはなんでも自分が分かりやすい名前を付けておけばいいそうです。
TeamName : チーム: Z390TaichiLAG TeamMembers : {Intel(R) I211 Gigabit Network Connection, Intel(R) Ethernet Connection (7) I219-V} TeamMode : StaticLinkAggregation PrimaryAdapter : NotSet SecondaryAdapter : NotSet
名前を入力してしばらく待つとチーミングが完成したことが表示されます。
PS C:\Users\(ユーザー名)>Get-IntelNetTeam
TeamName : チーム: Z390TaichiLAG
TeamMembers : {Intel(R) I211 Gigabit Network Connection, Intel(R) Ethernet Connection (7) I219-V}
TeamMode : StaticLinkAggregation
PrimaryAdapter : NotSet
SecondaryAdapter : NotSet
チーミング完了後は「Get-IntelNetTeam」と入力すると作成された Team の情報が表示されます。チームを解散させたいけどどんなチーム名付けたっけ?といったときに確認可能。
ちなみにチーミングを解散させたい場合は、「Remove-IntelNetTeam」コマンドを入力するとチーム名を尋ねられるので、先程確認したチーム名を入力すれば即座に解除されます。
デバイスマネージャー上でも確かに 2つの NIC がチーミングされていることが確認出来ました。
ところが・・・。
ネットワークが切断されたままでインターネット通信が出来ません。チーミングした PC の方からルーターに向けて ping を打ってみても全く疎通していないようです。これはおかしいと調べてみたところ、IPv4/IPv6 共に「切断済み」となっていました。そして・・・どうやらこれらのプロトコルを有効化する術が無いようです💧ちなみに「インテル® PROSet Adapter Configuration Utility」というソフトを使ってチーミングしてみても状況は同じ。
どうにもならないのでチーミングを解散し、調べ直す事しばし・・・。インテルのサイトで以下の様な記述を見つけました。
インテル® アドバンスト ネットワーク サービス は Windows 11 ではサポートされていません。Microsoft Windows® 10 が、インテル® アドバンスト ネットワーク サービス をサポートする最後の Windows クライアント・オペレーティング・システムのバージョンです。
この「インテル アドバンスト ネットワーク サービス」というのがインテルの NIC を使ってチーミングさせるためのキモとなっていた部分です。なんと機能が削除されてしまっていたとは・・・。チームの作成までは出来るものの動作しないという状態になるようです。なんだよ・・・費やした時間返してくれよ・・・(苦笑)。ということで、Widows 11 の PC で Intel の NIC をチーミングさせてリンクアグリゲーションを使うというのはどうやら無理っぽいという結論に達しました。
■ Windows 11 では OS 標準の機能でチーミングが可能?
この件に関して色々と調べている中で、Windows 11 には OS 標準でネットワークのチーミング機能が実装されているという情報を見掛けましたので、こちらについても検証してみることにしました。どうやら「NetSwitchTeam」という機能を使うらしい。
Window のスタートメニュー右クリックから「ターミナル(管理者)」を起動します。
PS C:\Users\(ユーザー名)> Get-NetAdapter Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- Bluetooth ネットワーク... Bluetooth Device (Personal Area Netw... 13 Disconnected **-**-**-**-**-** 3 Mbps イーサネット 2 Intel(R) Ethernet Connection (7) I219-V 12 Up **-**-**-**-**-** 1 Gbps イーサネット Intel(R) I211 Gigabit Network Connec... 11 Up **-**-**-**-**-** 1 Gbps Wi-Fi Intel(R) Dual Band Wireless-AC 3168 9 Disconnected **-**-**-**-**-** 0 bps イーサネット 3 TAP-Windows Adapter V9 (for PixNSM) 6 Disconnected **-**-**-**-**-** 100 Mbps
まず、「Get-NetAdapter」コマンドで使用可能な NIC を確認しておきます。
PS C:\Users\(ユーザー名)>New-NetSwitchTeam
コマンド パイプライン位置 1 のコマンドレット New-NetSwitchTeam
次のパラメーターに値を指定してください:
Name: TeamingTest
TeamMembers[0]: イーサネット 2
TeamMembers[1]: イーサネット
TeamMembers[2]:
続いて「New-NetSwitchTeam」コマンドを叩いてチーミングを開始。任意のチーム名を入力し、「TeamMembers」に「イーサネット」と「イーサネット 2」を指定するとすぐにチーミングが完了。
PS C:\Users\(ユーザー名)>Get-NetAdapter Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- TeamingTest Microsoft Network Adapter Multiplexo... 26 Up **-**-**-**-**-** 2 Gbps Bluetooth ネットワーク... Bluetooth Device (Personal Area Netw... 13 Disconnected **-**-**-**-**-** 3 Mbps イーサネット 2 Intel(R) Ethernet Connection (7) I219-V 12 Up **-**-**-**-**-** 1 Gbps イーサネット Intel(R) I211 Gigabit Network Connec... 11 Up **-**-**-**-**-** 1 Gbps Wi-Fi Intel(R) Dual Band Wireless-AC 3168 9 Disconnected **-**-**-**-**-** 0 bps イーサネット 3 TAP-Windows Adapter V9 (for PixNSM) 6 Disconnected **-**-**-**-**-** 100 Mbps
再び「Get-NetAdapter」で利用可能なネットワークアダプタを確認してみたところ、先程作成したチームが登録されていて、リンクスピードも ” 2 Gbps ” と表示されています。
デバイスマネージャーなどでも確かに「Microsoft Network Adapter Muliplexor Driver」が作成され、2 Gbps でリンクアップしていることが確認出来ました。インターネットとの通信も問題ないようです。ちなみに「Remove-NetSwitchTeam -Name “(チーム名)"」でチーミングを解除可能。
これでええやん!となりそうな所ですが、この Windows 11 標準のチーミング機能では「スイッチに依存しない」チーミングしか行えないらしい・・・。つまり、今回の場合では、PC から物理スイッチへ送信する際には負荷分散などが行われますが、逆に物理スイッチから PC への受信時にはチーミングされていない 1本の回線としてデータが送られてくるということ。全く意味ないということは無いと思いますが、「リンクアグリゲーション」や「LACP」のように送受信時共に帯域幅を増加させたりするということは出来ないようです。
どうしても Windows 11 の PC で「リンクアグリゲーション」や「LACP」を使いたければ、きちんと専用のドライバが用意されたプラネックスの「GPE-2500-2T2」のような拡張カードを導入するしか無さそうですね・・・。