タグVLAN

概要

物理的な接続形態に依存せず仮想的にグループを形成してひとつのLANとみなすものが、VLAN(Virtual LAN)です。VLANには、スイッチの物理ポート単位でVLANを形成するポートベースVLANと、パケットにタグと呼ばれるヘッダを付加してVLAN情報を格納するタグVLANとがありますが、本機能はタグVLANに対応するものです。

イーサネットヘッダに付加されるタグのフォーマットはIEEE802.1Qで下記のように定められています。

        Ethernat Frame:
        +-------+-------+==========+----------+--------------+---+
        |dst_mac|src_mac|tag header|frame_type|     data     |FCS|
        +-------+-------+==========+----------+--------------+---+
                             |
                +------------+
                |
                v
        IEEE802.1Q Tag header: 4octets
        ・Frame type (2octets): 0x8100 
        ・TCI (Tag Control Information, 2octets):
                                                |                   
        +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
        |user_priority |CFI |                       V I D                               |   
        +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
        Class of Service                        |                   
        (CoS, IEEE802.1p)
        user_priority ... CoS値とも呼ばれ、8段階の優先度を示します
        CFI ............. Canonical Format Indicator; 本機では 0 として扱います
        VID ............. VLAN Identifier; VLANを識別するための番号を格納します

user_priorityフィールドにはパケットの優先度を格納できます。任意の値を設定できるほか、IPヘッダのToSフィールドの値を反映させることも可能です。

VIDはVLANを識別するものであり、VLAN毎に設定される値が格納されます。VLANインタフェースに設定されたVIDを持つタグ付きパケットを受信した場合、そのVLANインタフェースからパケットを受信したものとして扱います。VIDが0であるパケット及び設定されていないVIDを持つタグ付きパケットを受信した場合は、破棄されます。

本機能は、スイッチングハブで設定されたタグVLAN間でのルーティングを行なう場合や、タグVLANを扱う閉域網サービスを利用する場合などに使用できます。

設定のポイント

VLANインタフェースの指定

物理的なLANインタフェース(以下、実LAN)ひとつあたり最大8VLANまでの設定が可能です。例えばlan1についてはlan1/1~lan1/8までの設定が可能です。

VIDの設定

VLAN毎に設定するVIDはVLANを識別するものであるため、異なるVLANに同一のVIDを設定することはできません。

CoS値の設定

queue lan class filterコマンドのフィルタに一致するパケットを対象に、CoS値の設定やToS値からCoS値への変換を行ないます。CoS値にToS値の値を用いる場合には、precedenceフィールドの3bitの値がそのまま反映されます。

制約事項

  • VLANを使用するLANインタフェースでは、LAN分割機能やPPPoE機能は使用できません。
  • VLANインタフェースでQoSのクラス分けは可能ですが、キュータイプの設定はできません。キューイング処理はそのVLANが属する実LANインタフェースで行われますのでそちらで設定します。
  • パケットのカウントは実LAN単位となります。

その他

VLANインタフェースにおいても、NATやフィルタは実LANインタフェースと同等に機能させることができます。

show status vlanコマンドでVLANインタフェース毎の設定や状態が表示されます。
show status lanコマンドでは通過パケット数などが表示されます。

show arpコマンドでVLANインタフェースを指定することができます。指定したVLANインタフェースで通信が行なわれたホストとその数が表示されます。

設定例

例1.VLAN間のルーティング

[構成図]

       +---------+
       |   RTX   |
       +-+-------+
         |
   タグ付きパケット
     トランクリンク
         |
       +-+--------------+
       |    スイッチ    |
       +-+---+---+---+--+
         |   |   |   |
         VLAN1   VLAN2
  • スイッチで分離されているVLAN1とVLAN2間のルーティングを行ないます。スイッチとのトランクリンクにはlan1を使用するものとします。
  • VLAN1上のホストからVLAN2上のホストへのIPパケットが発生した場合を例にとります。
  • スイッチはVLAN1のVIDが格納されたタグを付加してトランクリンク経由でRTXへ送信します。
  • RTXではタグを外してルーティングを行い、VLAN2宛であるのでVLAN2のVIDを格納したタグを付加してトランクリンクに送出します。
  • それを受けるスイッチではVLAN2宛のフレームであることをVIDから知り、タグを外してVLAN2に属するポートに送出します。
  • ここでは、
    VLAN1 --- VID 10, 192.168.10.0/24
    VLAN2 --- VID 20, 192.168.20.0/24
    とします。

[設定手順]

# vlan lan1/1 802.1q vid=10
# vlan lan1/2 802.1q vid=20
# ip lan1/1 address 192.168.10.1/24
# ip lan1/2 address 192.168.20.1/24
# save

[解説]

# vlan lan1/1 802.1q vid=10
# vlan lan1/2 802.1q vid=20

実LANインタフェースlan1のサブインタフェースを定義し、VIDを設定します。

# ip lan1/1 address 192.168.10.1/24
# ip lan1/2 address 192.168.20.1/24

各VLANインタフェースにIPアドレスを設定します。
これでVLAN間の通信が可能です。

この設定では、lan1/lan2インタフェースにはタグ付きパケットだけが送出されますが、ip lan1 address/ip lan2 adddressの設定により、タグのないパケットとの併用も可能です。

# save

例2.CoS値を含むタグの付加

[構成図]

広域イーサネット閉域網(網内ではCoS値によるQoS制御が行なわれる)

         |
         |
  ↑  +--+------+
 cos  |  RTX    |
    +--+------+
         |
         |
  ↑  ---+--+------------+----
 tos        |            |
            |            |
         +--+------+  +--+------+
         | ホスト  |  |         |
         +---------+  +---------+
  • ToS値を反映したCoS値のタグを付加して広域イーサネット網へ送出します。
  • ホストはToSフィールドに値を格納してIPパケットを送出します。
  • RTXでToSフィールドの値をCoS値に反映させたタグを付加して網に送出します。
  • 閉域網内でCoS値に応じたQoS制御が行なわれます。
  • ここでは、
    lan1から受けたパケットにタグを付加してlan2へ送出する
    lan1 --- 192.168.100.0/24
    192.168.100.101からのパケットにはToS値に対応するCoS値を入れたタグを付加
    192.168.100.102からのパケットにはCoS値7を入れたタグを付加
    VLAN --- VID 10, 172.16.10.0/24
    とします。

[設定手順]

# ip lan1 address 192.168.100.1/24
# vlan lan2/1 802.1q vid=10
# ip lan2/1 address 172.16.10.2/24
# queue class filter 1 4 cos=precedence ip 192.168.100.101 * * * *
# queue class filter 2 4 cos=7 ip 192.168.100.102 * * * *
# queue lan2/1 class filter list 1 2
# save

[解説]

# ip lan1 address 192.168.100.1/24
# vlan lan2/1 802.1q vid=10
# ip lan2/1 address 172.16.10.2/24

実LANインタフェースlan2のサブインタフェース定義し、VIDを設定します。
各インタフェースにIPアドレスを設定します。
lan2に対してはタグ付きパケットだけが送出されます。

# queue class filter 1 4 cos=precedence ip 192.168.100.101 * * * *

192.168.100.101から送出されるパケットに対する設定です。CoS値をIPヘッダのprecedenceフィールドの値から決定します。

# queue class filter 2 4 cos=7 ip 192.168.100.102 * * * *

同様に、192.168.100.102から送出されるパケットに対する設定です。CoS値を7とします。

# queue lan2/1 class filter list 1 2

class filterの定義をVLANインタフェースに適用します。

# save

コマンド仕様

VLAN IDの設定

[書式]

vlan INTERFACE/SUB_INTERFACE 802.1q vid=VID OPTION
no vlan INTERFACE/SUB_INTERFACE 802.1q

[設定値]

  • INTERFACE ... LANインタフェース名
  • SUB_INTERFACE ... 1 - 8
  • VID ... VLAN ID(IEEE802.1QタグのVIDフィールド格納値)(2 - 4094)
  • OPTION
    • name=NAME
      NAME ... VLANに付ける任意の名前(最大127文字)

[説明]

LANインタフェースで使用するVLANのVLAN IDを設定する。
設定されたVIDを格納したIEEE802.1Qタグ付きパケットを扱うことができる。
ひとつのLANインタフェースあたり最大8VLANの設定ができる。

[ノート]

タグ付きパケットを受信した場合、そのタグのVIDが受信LANインタフェースに設定されていなければパケットを破棄する。
同一LANインタフェースでLAN分割機能(lan typeコマンドのport-based-ks8995m=on)との併用はできない。
両者のうち先に入力されたものが有効となり、後から入力されるものはコマンドエラーになる。

[初期値]

VID設定なし

VLAN状態の表示

[書式]

show status vlan [INTERFACE/SUB_INTERFACE]

[設定値]

  • INTERFACE ... LANインタフェース名
  • SUB_INTERFACE ... 1 - 8

[説明]

VLANインタフェースの情報を表示する。
VLANインタフェース名を指定した場合はそのインタフェースの情報だけを表示する。

クラス分けのためのフィルタ設定

[書式]

queue class filter ID CLASS [cos=COS] ip ...

[設定値]

  • CLASS ... 1-16 クラス値
        precedence ToSベースQoS
  • COS ... 0-7 CoS値
        precedence ToS-CoS変換

[説明]

CLASSにprecedenceを指定した場合、フィルタに合致したパケットは、そのパケットのIPヘッダのprecedence値に応じたクラスに分けられる。
cos=COS指定を行なうと、フィルタに合致したパケットに付加されるIEEE802.1Qタグのuser_priorityフィールドには、指定したCoS値が格納される。
COSにprecedenceを指定した場合、そのパケットのIPヘッダのprecedence値に対応する値がuser_priorityフィールドに格納される。

ARPテーブルの表示

[書式]

show arp [INTERFACE[/SUB_INTERFACE]]

[設定値]

  • INTERFACE ... LANインタフェース名
  • SUB_INTERFACE ... 1 - 8

[説明]

インタフェース名を指定した場合、そのインタフェース経由で得られたARPテーブル情報だけを表示する。

ページトップへ戻る