VLAN

updated at $Date: 2023/07/06 20:30:28 $


概要

物理的な接続形態に依存せず仮想的にグループを形成してひとつの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を扱う閉域網サービスを利用する場合などに使用できます。


設定のポイント


設定例

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

[構成図]

   ┌────┐
   │ RTX  │
   └┬───┘
    │
 タグ付きパケット
  トランクリンク
    │
   ┌┴────────┐
   │  スイッチ   │
   └┬─┬──┬─┬─┘
    │ │  │ │
    VLAN1   VLAN2

[設定手順]

# 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    │    │
        ┌┴──┐┌┴──┐
    │ホスト││   │
    └───┘└───┘

[設定手順]

# 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 - 32 (RTX5000、RTX3510、RTX3500、RTX3000、RTX1300、RTX1220、RTX1210、RTX1200、RTX830、NVR700W、NVR510)、1 - 8 (左記以外の機種)
VID ... VLAN ID(IEEE802.1QタグのVIDフィールド格納値)(2 - 4094)
OPTION
[説明]
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 - 32 (RTX5000、RTX3510、RTX3500、RTX3000、RTX1300、RTX1220、RTX1210、RTX1200、RTX830、NVR700W、NVR510)、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 - 32 (RTX5000、RTX3510、RTX3500、RTX3000、RTX1300、RTX1220、RTX1210、RTX1200、RTX830、NVR700W、NVR510)、1 - 8 (左記以外の機種)
[説明]
インタフェース名を指定した場合、そのインタフェース経由で得られたARPテーブル情報だけを表示する。