アクセスポートとトランクポート
アクセスポートとトランクポートは、異なるVLAN間でトラフィックを適切に処理し、ネットワークセグメントを効率的に分離するためのポート設定方法です。
アクセスポート(Access Port)
アクセスポートは、スイッチポートが1つのVLANにのみ所属し、特定のVLANのトラフィックのみを処理するポートです。アクセスポートは通常、エンドデバイス(PC、プリンタなど)に接続され、ポートを介してVLANに所属するすべてのデバイスが通信します。
以下のような特徴があります。
- エンドデバイスが接続されるポートとして使用される。
- 1つのVLANにのみ所属する。
- VLAN間でのタグ付けは行われず、トラフィックは特定のVLANに属するものとして扱われる。
アクセス ポートの設定
アクセスポートを設定するには、スイッチポートを特定のVLANに割り当てる必要があります。
基本構文
アクセスポートを設定するインターフェイスを指定します。
Switch(config)#interface interface-id
レイヤ 2 アクセス ポートを定義します。
Switch(config-if)#switchport mode access
ポートを VLAN に割り当てます。有効な VLAN ID は 1 ~ 4094 です。
Switch(config-if)#switchport access vlan vlan-id
設定例

GigabitEthernet0/2ポートをアクセスポートとして設定し、VLAN 1000に割り当てています。
Switch(config)# interface GigabitEthernet0/2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 1000
Switch1からSwitch2までPINGを実行して、その通信のパケットキャプチャを確認してみます。

特にVLANに関するデータは確認が出来ず、またイーサネットヘッダに付与されているタイプもtype: Ipv4 (0x0800)となっており、通常のIPv4パケットであることを示しています。
トランクポート(Trunk Port)
トランクポートは、複数のVLANのトラフィックを同時に処理できるポートです。主にスイッチ間、またはスイッチとルータ(ルータオンアスティック)間の接続に使用され、異なるVLANのトラフィックを識別するためにIEEE 802.1Qタグを使用します。
以下のような特徴があります。
- スイッチ間のリンクやスイッチとルータ間のリンクで使用される。
- 複数のVLANを通過できる。
- 各フレームにはVLAN識別のためのタグ(802.1Qタグ)が付加される。
トランクポートの設定
トランクポートを設定するには、ポートをトランクモードに設定し、通過させたいVLANを指定します。
基本構文
トランクポートを設定するインターフェイスを指定します。
Switch(config)#interface interface-id
使用するトランクのカプセル化方式(タグ付け方式)を指定します。
Switch(config-if)#switchport trunk encapsulation {isl | dot1q | negotiate }
| コマンド | 内容 |
|---|---|
| isl | Cisco独自のトランクプロトコルで、VLANの識別に使用されます。ISLは各フレームに30バイトのヘッダーを 追加します。古いCiscoスイッチでのみサポートされており、現在はあまり使用されていません。 |
| dot1q | IEEE標準のトランクプロトコルで、他のベンダーのスイッチとも互換性があります。VLAN識別用のタグを フレームに追加しますが、ネイティブVLAN(デフォルトでVLAN 1)にはタグを付加しません。 現在、ほとんどのネットワーク環境で使用されている標準的なカプセル化方式です。 |
| negotiate | DTPを使用して、トランクプロトコルを自動的にネゴシエート(交渉)します。相手側のデバイスと プロトコルが一致するように動作します。両端のスイッチで異なるトランクプロトコルが使用される場合に 便利ですが、セキュリティ上の理由で推奨されないことがあります。 |
ポートをトランク ポートとして設定します。
Switch(config-if)#switchport mode trunk
トランク上で許可される VLAN のリストを設定します。
Switch(config-if)#switchport trunk allowed vlan {add | all | except | remove } vlan-list
| コマンド | 内容 |
|---|---|
| add | 現在の許可リストに新しいVLANを追加します。既存の設定に影響を与えずに、指定されたVLANを追加する場合に使用します。 |
| all | すべてのVLANをトランクポートで許可します。デフォルト設定で、すべてのVLANのトラフィックをトランクポ ートで通過させます。 |
| except | 指定されたVLANを除くすべてのVLANを許可します。特定のVLANのみをブロックし、他のすべてのVLANを許可 したい場合に使用します。 |
| remove | 許可リストから指定されたVLANを削除します。これにより、指定されたVLANのトラフィックがトランクポート を通過しなくなります。 |
| vlan-list | 許可または除外するVLANのリストを指定します。カンマ(,)で区切って複数のVLANを指定できます。また、ハイフン( -)を使用して範囲を指定できます(例: 10,20,30-40)。 |
設定例

GigabitEthernet0/2ポートをトランクポートとして設定し、VLAN 1000, 2000, 3000のトラフィックを許可しています。
Switch(config)# interface GigabitEthernet0/2
Switch(config)#switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 1000,2000,3000
Switch1からSwitch2のインターフェイスVLAN1000にPINGを実行して、実際にその通信のパケットキャプチャを確認してみます。

イーサネットヘッダとデータの間に802.1Q Virtual LANというフレームが格納されていることがが分かります。またイーサネットヘッダの送信元アドレスフレームに801.1Q Virtual LANという情報が格納されています。
それぞれのフィールドの意味は以下のようになります。16ビットのTPIDと16ビットのTCIに分かれて、TCIはPRI,DEI,IDの3種類で構成されています。
| フィールド | ビット数 | 内容 | |
|---|---|---|---|
| TPID | 16 | イーサネットフレームにおいて802.1Q VLANタグが存在することを示すために使用されるフィールドです。 0x8100は802.1Q標準で定義されているTPIDの値で、VLANタグ付きのイーサネットフレームで使用されます。一般的にはこの 数値が広く使用されています。 | |
| TCI | PRI (Priority Code Point) | 3 | フレームの優先度を示す3ビットのフィールドです。値0は最も低い優先度、7は最も高い優先度を示します。 |
| DEI (Drop Eligible Indicator) | 1 | フレームが輻輳時に廃棄可能かどうかを示す1ビットのフィールドです。以前は CFI (Canonical Format Indicator) と呼ばれていましたが、現在はDEIとして使用 されています。値 0はフレームが優先的に保持されるべきことを示し、1はネットワークが混雑している場合にフレームを廃棄しても問題ないことを示します。 | |
| ID (VLAN ID) | 12 | VLAN識別子を示す12ビットのフィールドです。このフィールドはフレームがど のVLANに属するかを示します。実際に使用できるVLAN IDの範囲は1から4094 です。 | |
上記のパケットキャプチャに当てはめると、以下のように情報を読み取ることが出来ます。

→TPIDは0x8100(VLANタグが含まれていることを示している)

→PEIは0(優先度は最も低い)
→DEIは0(優先的に保持される)
→IDは1000(VLAN1000の通信であることを示している)