やさぐれオペレーター日記

雰囲気でやってる元ネットワークエンジニアの日記

Windowsの無線NICでDSCP値を付与して通信させる方法

無線NICからの通信にDSCP値を付与しようとし、よくあるポリシーベースのQoSで設定したところ、何度やってもうまく付与されなかった。

 

そこで、googleサジェストに引っかかったレジストリというキーワードを付けて検索した結果、下記ページにあたり解決した。

Windows 7 または Windows 8 で実行しているクライアントのサービス品質 (QoS) ポリシーの構成 | Microsoft Docs

 

複数のネットワーク アダプターを持つコンピューターがある場合、DSCP 値が、構成した値ではなく 0x00 と表示される場合があります。通常、このような表示になるのは、1 つ以上のネットワーク アダプターが Active Directory ドメインにアクセスできないコンピューターです (たとえば、アダプターがプライベート ネットワークに使用されている場合)。そのような場合、ドメインへアクセスできるアダプターには DSCP の値がマークされますが、ドメインへアクセスできないアダプターにはマークされません。

active directoryに参加していないPCで、NICが2つ以上あるPC(ノートパソコンなら無線と有線NICでよくあるのでは?)は、この条件にあてはまるようで、下記の手順の実施が必要らしい。

レジストリ エディターで、[HKEY_LOCAL_MACHINE]、[SYSTEM]、[CurrentControlSet]、[services]、[Tcpip] の順に展開します。
QoS」というレジストリ キーがない場合は、 [Tcpip] 右クリックし、[新規] をポイントして、[キー] をクリックします。新しいキーを作成した後で、「QoS」と入力し、Enter キーを押してキーの名前を変更します。
[QoS] を右クリックし、[新規] をポイントして、[文字列値] をクリックします。新しいレジストリ値を作成した後で、「Do not use NLA」と入力し、Enter キーを押して値の名前を変更します。
[Do no use NLA] をダブルクリックします。[文字列の編集] ダイアログ ボックスで、[値のデータ] ボックスに「1」と入力し、[OK] をクリックします。

設定後、PCを再起動する。

 

再起動後、実際にDSCP値が付与されているか、wiresharkなどのパケットキャプチャソフトで確認する。

 

ネットワーク機器によってはQoSが有効になっているかqueueで確認できない為、結構QoSは面倒。