概要

YAMAHA SWX2320-16MTでタグVLANのルーティングとDSCPによるQoS設定をしました。

その際の設定方法について説明します。

やりたいこと

自宅のネットワーク強化を目的として、YAMAHA SWX2320-16MT(以降、SWX2320)を導入しました。

せっかくYAMAHA RTX1300を使っているので、今後のことを見据えて10Gbps環境を整えたいと思ったからです。

SWX2320は、インテリジェントL2スイッチという名前で売られているスイッチです。L2スイッチなので、通常L3で行われるIPルーティング等はできないと思っていたのですが、実はIPルーティングに関しては可能です。 そのため、ルーターで設定しているタグVLANのルーティングをSWX2320で行うことにしました。

VLANのルーティングを行う理由は、ルーターの負荷を下げるためです。 通常、同じVLAN内の通信はL2スイッチ内で完結しますが、別VLANへの通信はルーターでVLANを確認してルーティングされます。 もし、SWX2320でIPルーティングができれば、ルーターの負荷が軽減されネットワークのパフォーマンスが向上します。

さらに、DSCPによるQoS設定もスイッチで行うことにしました。 DSCPは、IPパケットに付与される優先度を示すフィールドです。 このフィールドをスイッチで設定することで、パケットの優先順位を変更できます。 これにより重要度の高いパケットを優先して転送し、ネットワークの遅延やパケットドロップを最小限に抑えられます。

ルーティングの設定

最初に、ルーティングの設定を行います。

SWX2320では、GUIの画面からルーティングの設定ができました。

やることとして、SWX2320に設定しているVLANの設定でSVIを作成します。

screenshot1.png

次に、ルーティングの設定を有効化します。

Layer 3機能のルーティングから「ルーティング機能を使用する」を選択して保存します。

screenshot2.png

最後に、そのSVIをデフォルトゲートウェイとするDHCPの設定を行います。

DHCPは、ルーターで設定しているのでルーターの設定を変更しました。

例えば、SWX2320のSVIのIPアドレスが192.168.0.1、ルーター側のIPアドレスを192.168.0.240とした場合は、ルーター(RTX1300)の設定は次のようにします。

# タグVLANの設定
vlan lan1/1 802.1q vid=2 name=VLAN2
ip lan1/1 address 192.168.0.240/24

# DHCPの設定
dhcp scope 2 192.168.0.10-192.168.0.200/24 gateway 192.168.0.1
dhcp scope option 2 dns=192.168.0.240

これで、ルーティングの設定は終わりです。

今回このような設定をしたのですが、直接ルーター側のIPアドレスをゲートウェイとして設定した際に、SWX2320に設定したフィルター設定を無視しないか気になっていました。 色々と試してみたところ、直接ゲートウェイをルーターのIPアドレスに変更したとしても、必ずSWX2320に設定したフィルターが使われているようでした。

DSCPによるQoS設定

DSCPによるQoSの設定自体は、GUIの画面から設定できます。 しかし、できるのはQoSの設定を有効化するだけで、DSCPの書き換えはできませんでした。 DSCPの書き換えを行う場合、CLIで設定します。

そのため、あらかじめtelnet等でスイッチへアクセスできるようにします。

DSCPの書き換え作業の流れは次の通りです。

  1. アクセスリストの作成
  2. クラスマップの作成
  3. ポリシーマップの作成
  4. インターフェースへのアタッチ

順番に作業していきます。

アクセスリストの作成

アクセスリスト自体はGUIからでも作成可能なのですが、それ以外の作業はGUIでは不可能なので、アクセスリストの作成もCLIから行います。

192.168.0.0/24を宛先、もしくは送信元とするパケットが該当するアクセスリストを作成する例です。

access-list 101 10 permit any 192.168.0.0 0.0.0.255 any
access-list 101 20 permit any any 192.168.0.0 0.0.0.255

SWX2320だけのものだと思うのですが、注意点としてポート範囲を指定する際に条件があります。 最終的にポリシーマップを作成してそれぞれのインターフェースへアタッチするのですが、ポート範囲を指定したDSCPの書き換えができるのは1つのインターフェースだけです。 今回私が利用しているスイッチは16個のポートがあるのですが、これらのうち1つのポートにしか設定できないということです。 そのため、今回はポートによるアクセスリストは使わないようにしています。

クラスマップの作成

クラスマップの作成をします。 あらかじめ作成したアクセスリストを指定して、クラスマップを作成します。

class-map CM_REMARK
 match access-list 101

ポリシーマップの作成

ポリシーマップの作成をします。 今回は、DSCPの値を32へ変更するようにしました。

policy-map PM_REMARK
 class CM_REMARK
  set ip-dscp 32

インターフェースへのアタッチ

インターフェースへポリシーマップをアタッチします。 さらに、qos trust dscpというコマンドを実行してDSCPによるQoSを有効化しています。

interface port1.1
 qos trust dscp
 service-policy input PM_REMARK

ひとつひとつのインターフェースに対して設定をする必要があるので、少し面倒です。

これで設定は終わりです。

さいごに

ちゃんとデータをとっているわけではないので感覚的なものですが、ルーティングをルーターではなくスイッチで行うようにしたので、全体的にネットワークのパフォーマンスが上がったように感じました。 また、これまでQoSの設定もルーターでやっていたのですが、それをスイッチ側で行うようにしたので、それもパフォーマンスの向上に一役買っているような気がします。

DSCPの書き換えの設定だけは、CLIを使う必要があったので面倒でした。 いずれはこの設定もGUIでできるようになると嬉しいです。