VLAN

updated at $Date: 2025/08/08 16:14:13 $


概要

物理的な接続形態に依存せず仮想的にグループを形成してひとつの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


コマンド仕様