KUSONEKOの見る世界

RTX810で050 plusとLINEのQoS制御をする

我が家では、IPv6のIPoE接続のために、以前からヤマハのRTX810を使用しています。
RTX810は、企業で使うレベルのルータのため、色々な機能が備わっています。


今回は、QoS関連の設定を変更し、050 plusで効果が得られるか試してみましたので、その結果を記載致します。

QoS対象の確認

我が家では、Wi-Fi接続で050 plusをよく使用していますが、音声品質には不満があり、音が稀に途切れたり、音がこもったりすることがありました。
音声通話には、UDPのRTPが使われるので、劣化が起こるのは仕方ないとは思いつつ、QoSの設定で軽減できればと思い、やってみました。
ついでに、LINEの無料通話も調べてみました。

調べ方は、 RTX810で、無線LAN APが繋がるポートをミラーリングし、キャプチャします。

ミラーポートの設定例

以下のコマンドは、APが4番ポート、PCが1番ポートの例です。PCでWiresharkを使用しキャプチャします。
# lan port-mirror lan1 1 in 4 out 4

キャプチャ結果

UDPポート番号の確認

050 plusもLine無料通話もUDPを使用していますが、ポート番号の何番を使うかはキャプチャして調べる必要があります。
何度かキャプチャしましたが、050 plusは50000~65000、LINE無料通話は10000~60000の範囲を確認できました。
結局使用する範囲が分からないので、無難に1024~65535と考えた方が良いかもしれません。(IPsecの4500も引っ掛かってしまうが…)

IP Precedence値(DSCP値)の確認

IP Precedenceは、IPヘッダ内に存在するパケットの優先度を表すフィールドです。
キャプチャしたところ、050 plus も LINEもIP Precedence値は、0であることが分かりました。
0は、通常のデータパケットの値となり、音声パケットとして扱われません。

音声パケットは、IP Precedence 5やDSCP 46(EF)で設定されるべきと考えますので、
RTX810でこの値を書き換える(マーキングする)必要があります。

RTXのQoS機能

QoSと一言で言っても、以下の機能に分かれています。
  • マーキング
  • 分類(Classify)
  • 優先制御
  • 帯域制御
今回帯域制御は必要ありませんので、上の3つを使用します。

マーキング

音声パケットに、IP PrecedenceやDSCP値を設定します。
方針は以下です。
  • インターネットに向かう音声パケットに、DSCP46(EF)を設定する
  • 無線LAN APに向かう音声パケットに、IP Precedence 6 を設定する
インターネット方向にマーキングをするのは、意味がないと思いますが、自己満足でDSCP46を設定します。

逆に無線LAN AP方向には、IP Precedence 6 を指定します。(重要)
これはWMMという無線区間のQoSがあり、WMMでは有線側のIP Precedence 6か7を音声パケットとし、無線区間に流します。
そのため、IP Precedence 6を設定することにします。

分類(Classify)

マーキングしたパケットを分類します。
RTX810では、IP Precedence毎にクラスを分けられるので、その機能を使用します。

優先制御

RTX810のキューイング方式をPriorityにします。
前述の分類で行ったクラス分けの優先度の高い方から順に送信されます。
つまり音声が最優先で送信されるようになります。

RTX810の設定

マーキング

RTXでは、TOSの書き換えはルーティングする際に行われます。
以下の設定例では、ローカルのIPアドレス帯が、192.168.0.0/24の場合です。
UDPのポート番号は、1024番から65535番を指定しています。

無線LAN→インターネット

RTX810では、DSCPの指定は出来ません。
なので、TOSを12、IP Precedenceを5にすることで、パケット上でDSCP46となるようにしています。
# ip filter 10001 pass 192.168.0.0/24 * udp 1024-65535 1024-65535
# ip tos supersede 20001 12 precedence=5 10001

インターネット→無線LAN

TOSは、normal (0) で、IP Precedence 6を指定します。
# ip filter 10002 pass * 192.168.0.0/24 udp 1024-65535 1024-65535
# ip tos supersede 20002 normal precedence=6 10002

分類(Classify)

これだけです。IP Precedence値でクラス分けが行われます。
queue class filter 100 precedence ip * * * * *

優先制御

分類のフィルター番号をlan1(ローカル側)とpp(IPv4インターネット)に割り当てます。
IPv6で音声パケットは使用していませんが、念のためlan2(IPv6インターネット)にもclass filterを割り当てます。
また、lan1とlan2のキューイングアルゴリズムタイプをpriority(優先制御)にします。
(pppはlan2でキューイングされます。)

# queue lan1 type priority
# queue lan1 class filter list 100
# queue lan2 type priority
# queue lan2 class filter list 100
# pp select 1
pp1# queue pp class filter list 100

Aterm(無線LAN AP)の設定

RTX810でマーキングをしても、無線LAN側でWMMやIEEE802.11eが有効でなければ、無線区間で音声パケットが優先されません。

TVモード

Atermでは、TVモードを『使用する』にすれば、WMM準拠の制御になるそうです。
どのIP Precedence値がどのAccess Categoryになるかは以下の表の通りです。
IP PrecedenceAccess Category
1, 2 Background (AC_BK)
0, 3 Best Effort (AC_BE)
4, 5 Video (AC_VI)
6, 7 Voice (AC_VO)
RTX810でマーキング設定を変えながら、無線キャプチャをして確認しています。
ちなみに、DSCP46はVideoになっていました。

他のメーカーではTVモードという呼び名ではないと思います。
無線優先制御機能、無線QoS、WMM-ECDA、IEEE802.11eなど。

結果

上記の設定後、050 plusの音声品質は若干良くなったような気がします。
途切れたり、音がこもったりする回数が減ったような気がします。

…結局よく分かりませんでした…。
もっと無線LANの電波が飛び交っている環境だと効果を感じるのかもしれません。

RTX810のようにマーキングできる機器をお持ちの方は、試してみると良いかもしれません。

テスト

QoSが効いているかテストしました。
と言っても音声に意味があるかはよく分かりませんでした。

音声品質

ip tos supersede ~を消してみる

→音質は悪くなった気がする。

TVモードを『使用しない』にしてみる

→変わらない気がします。
『使用しない』にしても、無線ではVoiceで飛んできていました。仕様は謎。

queue lan1 type priority を消してみる

→変化はありませんでした。

RTX810 キューイング

キューイングが効いているかテストしました。
コマンド上での確認となります。

音声パケットを流していない状態

> show status qos all
LAN1
キューイングタイプ:             priority
インタフェース速度:             1g
[帯域]
クラス  設定帯域               使用帯域 (%)   ピーク  記録日時
------- ---------------------- ------------   ------  -------------------
  1     -                      1.03k (< 1%)    187m   2018/10/16 07:35:12
  2     -                      5.91k (< 1%)   90.6m   2018/10/16 07:57:13
  3     -                         0  (  0%)   6.46k   2018/10/16 07:23:51
  4     -                         0  (  0%)   36.3k   2018/10/16 18:46:56
  5     -                         0  (  0%)    126k   2018/10/13 23:37:22
  6     -                         0  (  0%)   3.29k   2018/10/16 08:42:45
  7     -                         0  (  0%)   12.6k   2018/10/13 21:29:15
------- ---------------------- ------------   ------  -------------------
クラス数:                       7
保証帯域合計:                   -

(略)

LAN2
キューイングタイプ:             priority
インタフェース速度:             1g
[帯域]
クラス  設定帯域               使用帯域 (%)   ピーク  記録日時
------- ---------------------- ------------   ------  -------------------
  1     -                      1.11k (< 1%)   2.32m   2018/10/11 22:58:19
  2     -                       225  (< 1%)   2.27m   2018/10/07 20:48:20
  3     -                         0  (  0%)      0    ----/--/-- --:--:--
  4     -                         0  (  0%)      0    ----/--/-- --:--:--
  5     -                         0  (  0%)    158    2018/10/05 21:50:58
  6     -                         0  (  0%)   4.20m   2018/10/15 09:48:11
  7     -                         0  (  0%)   4.79k   2018/10/14 07:41:31
  8     -                         0  (  0%)    105    2018/10/09 13:11:03
------- ---------------------- ------------   ------  -------------------
クラス数:                       8
保証帯域合計:                   -

(略)

音声パケットを流している状態

> show status qos all
LAN1
キューイングタイプ:             priority
インタフェース速度:             1g
[帯域]
クラス  設定帯域               使用帯域 (%)   ピーク  記録日時
------- ---------------------- ------------   ------  -------------------
  1     -                      6.58k (< 1%)    187m   2018/10/16 07:35:12
  2     -                       384  (< 1%)   90.6m   2018/10/16 07:57:13
  3     -                         0  (  0%)   6.46k   2018/10/16 07:23:51
  4     -                        56  (< 1%)   36.3k   2018/10/16 18:46:56
  5     -                         0  (  0%)    126k   2018/10/13 23:37:22
  6     -                         0  (  0%)   3.29k   2018/10/16 08:42:45
  7     -                      21.6k (< 1%)   21.6k   2018/10/16 20:33:31
------- ---------------------- ------------   ------  -------------------
クラス数:                       7
保証帯域合計:                   -

(略)

LAN2
キューイングタイプ:             priority
インタフェース速度:             1g
[帯域]
クラス  設定帯域               使用帯域 (%)   ピーク  記録日時
------- ---------------------- ------------   ------  -------------------
  1     -                       127  (< 1%)   2.32m   2018/10/11 22:58:19
  2     -                       148  (< 1%)   2.27m   2018/10/07 20:48:20
  3     -                         0  (  0%)      0    ----/--/-- --:--:--
  4     -                         0  (  0%)      0    ----/--/-- --:--:--
  5     -                         0  (  0%)    158    2018/10/05 21:50:58
  6     -                      14.7k (< 1%)   4.20m   2018/10/15 09:48:11
  7     -                         0  (  0%)   4.79k   2018/10/14 07:41:31
  8     -                         0  (  0%)    105    2018/10/09 13:11:03
------- ---------------------- ------------   ------  -------------------
クラス数:                       8
保証帯域合計:                   -

(略)
LAN1(無線LAN)方向へは、IP Precedence 6なのでクラス7、
LAN2(インターネット)方向へは、IP Precedence 5相当なので、クラス6が使用されていることが分かります。
プライオリティキューイングも出来ているようです。

参考資料

https://manualzz.com/doc/4888620/%E3%82%A4%E3%83%BC%E3%82%B5%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9vpn%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC-rtx1500%EF%BD%9E%E9%96%8B%E7%99%BA%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%EF%BD%9E

http://www.rtpro.yamaha.co.jp/RT/docs/fastpath/