次の内容は、ブログの記事です。 おかしなところがないか、推敲してください。 また、おかしなところ等あれば、その箇所を教えてください。

概要

YAMAHAのルーターRTX1300を自宅のルーターとして利用しています。

このルーターでQoSの設定を行ってみました。

現在はルーター以外の場所でQoSの設定をしているため、設定を削除しているのですが、今後また使う可能性があるため、設定方法について残しておきます。

環境

  • YAMAHA RTX1300
    • Rev 23.00.17
  • フレッツ光 クロス v6プラス

何をしたのか

自宅のネットワークについて、低遅延が求められるVoIPやゲームの通信について、QoS(Quality of Service)の設定を行い、なるべく低遅延になるようにルーティングをするようにしました。

QoSとして、ここでは優先制御を行います。他にも帯域制御がありますが、あくまでも低遅延を目指しているため優先制御のみを行うことにしました。

どのパケットについて優先度を上げるのかは、今回DSCPを使うことにしました。Microsoft TeamsやZoom等では、通信するパケットにDSCPの設定があり、それを適切に扱うことで優先度を変更できます。 欠点として、そもそもDSCPを適切に設定しないソフトウェアもあります。しっかり調査したわけではないですが、必ずDSCPの設定があるからそれを信用して優先制御を行えば良いというわけではないと思います。 そのため、ルーターでDSCPの書き換えを行い、適切にDSCPの値が設定されるようにします。

設定方法

少なくとも、私が試したRTX1300のファームウェアではQoSの細かな設定をGUIで行うことはできないようです。そのため、コマンドを利用して設定を行います。

最初に、優先制御の有効化を行います。 私の環境では、v6プラスを利用しているため、IPv4の通信についてはIPIPによるIPv6パケットへの変換が行われ、LAN3からNTTのNGN網へ出ていきます。 そのため、優先制御の設定はLAN3のインターフェースに対して実施しています。

queue lan3 type priority

次にDSCPの値を利用して、パケットの送信キューを利用するように設定します。 IPIP変換はtunnel 1で行っているため、tunnel 1に対して設定しています。

queue class filter 1 dscp ip * *
queue class filter 2 dscp ipv6 * *

queue lan3 class filter list 2

tunnel select 1
 queue tunnel class filter list 1
tunnel select none

これで、DSCPによる優先制御の設定は終わりました。

ここからは、ソフトウェアやアプリ側でDSCPの値を設定しない通信について、ルーター側でDSCP値を上書きする設定について説明します。 DSCP値を上書きする場合、あらかじめ該当するパケットのip filterを作成します。 今回は、UDP10000番からUDP65536番までの通信について、優先度をあげて処理するようにします。

ip filter 1001 pass * * udp 10000-65535
ipv6 filter 2001 pass * * udp 10000-65535

最後に、このip filterに該当するパケットのDSCP値を上書きするコマンドを実行します。

ip dscp supersede 1 ef 1001
ipv6 dscp supersede 10001 ef 2001

これでDSCP値が適切に設定されていないパケットの優先制御の設定ができました。

さいごに

このようなQoSの設定をしておきながら、現在はこの設定を消しています。 その理由は、別にスイッチを購入したため、そちらでQoSの設定を行っているためです。

ルーターとやりとりするパケットについて、あらかじめスイッチ側でQoSによるパケットの優先制御が行われているのであれば、そもそもルーターでパケットを並べ替えるような優先制御をする必要はありません。 そのため、現在は設定をしていません。

ただし、今後やっぱり設定したいということがあるかもしれないので、メモ書き程度ですがコマンド等を残しておきたいと思います。

もし、同じようなことをやりたい方の参考になれば嬉しいです。