VLAN メモ

ステップ

入ってきたフレームは、フレーム本体、どのポートから来たのか、VIDを持っており、スイッチ内部で以下の処理される。

● 1. Ingress Rules(入力)

・1-1 Acceptable Types
・1-2 PVID
・1-3 Ingress Filtering(memberのみ利用して判断)

● 2. Forwarding Process(転送)

・2-1 MACテーブル
・2-2 MemberSet

● 3. Egress Rules(出口)

・3-1 MemberSet(2で絞られた結果という意味)
・3-2 UntaggedSet

MemberSet / UntaggedSet

これらはVLANごとのデータセット。(VLANデータセット)

Port

Member

Untagged

のような構造になっている。

・MemberSet
そのVLANのフレームを通すポート

・UntaggeedSet
そのVLANフレームをタグ無しで出すポートの集合

※分かりづらいのでVID、Portの複合キーのテーブルと考える。

VID

Port

Member

Untagged

Acceptable Types / PVID / Ingress Filtering

これらはポートをキーとしたデータセット。(PORTデータセット)

Port

Acceptable Types

PVID

Ingress Filtering

こちらも実態は表だが、ポートをキーとしている表なので、ポートに属しているイメージでOK

・Acceptable Types

タグなしタグあり、どちらを受け入れるかのパラメータ
admit all / tagged only / untagged and priority-tagged onlyなど

・PVID

VIDがついてないフレームの場合、VLAN番号をフレームに書き込む。

・Ingress Filtering

これがONなら、ここで初めてVLANデータセットのmember列のみ使う。
フレームが持っている、入ったきたポート、VIDがの値が、VLANデータセット上でのmemberの値でどうなっているか判断し、falseなら捨てる。

アクセス / トランクポート

アクセス / トランクポートはパラメータのプリセットと理解する。

・アクセス

IN/OUTにタグなし、VLAN指定は1つだけ。

・トランク

IN/OUTにタグあり、VLAN指定は複数指定できる。
(原則タグあり、ネイティブVLANだけタグなし)

・ネイティブVLAN

トランクポートに指示するもの。
自身が持つVLAN番号をフレームに書き込む(デフォルトではVLAN1)
※ネイティブVLAN=トランクポートにおけるPVIDの呼び名

パラメータプリセット

アクセス/トランクのプリセット定義

アクセス(port1.1) トランク(port1.2)
member=true の数 1つ(VLAN10のみ) 複数(VLAN1,10,20)
untagged=true の数 1つ(VLAN10) 1つ(VLAN1=ネイティブ)
Acceptable Types untagged only admit all
PVID 10(=そのアクセスVLAN) 1(=ネイティブVLAN)
Ingress Filtering 有効 有効

ポートキーの表(1枚だけ存在)

ポート Acceptable Types PVID Ingress Filtering
port1.1 untagged only 10 有効
port1.2 admit all 1 有効

VLANキーの表(VLANの数だけ存在)

VLAN 1

ポート member untagged
port1.1 false false
port1.2 true true

VLAN 10

ポート member untagged
port1.1 true true
port1.2 true false

VLAN 20

ポート member untagged
port1.1 false false
port1.2 true false