AccessポートとTrunkポートの違いとは?VLAN・802.1Qの仕組みを図解

  • URLをコピーしました!

前の記事では、 VLANを使うと1台の物理スイッチを論理的に複数のLANへ分割できる ことを学びました。

たとえば、1台のL2スイッチに VLAN 10とVLAN 20を作成するとします。

VLAN 10 営業部
💻 PC-A
L2 SWITCH VLAN 10 / VLAN 20
VLAN 20 開発部
💻 PC-B

ここで、次の疑問が出てきます。

PC-Aを接続したポートをVLAN 10へ所属させるには、
どのような設定をするのでしょうか?

さらに、スイッチが2台になった場合、 VLAN 10とVLAN 20の両方を 1本のスイッチ間リンクで運ぶにはどうすればよいのでしょうか。

そこで登場するのが、 Access(アクセスポート)Trunk(トランクポート)です。

🌐 NETWORK INTERMEDIATE

この記事はネットワーク中級講座の一部です。 学習順を確認したい場合は講座一覧から確認できます。

ネットワーク中級講座を見る →
LESSON GOAL この記事のゴール

AccessポートとTrunkポートの違いを暗記するのではなく、 「Accessは端末を1つのVLANへ所属させる」 「Trunkは1本のリンクで複数VLANを運ぶ」 という役割の違いを理解することが目標です。

目次

AccessポートとTrunkポートの違い

まずは2つの違いを大まかに理解しましょう。

ACCESS Accessポート
💻

基本的に1つのVLANに所属するポート

PC・プリンターなどの接続で利用
TRUNK Trunkポート
▣ ━━━ ▣

1本のリンクで複数VLANを運ぶポート

スイッチ間などで利用
まずはこの2つを覚えよう

Access=基本的に1 VLAN
Trunk=複数 VLAN

Accessポートとは?

Accessポートとは、 基本的に1つのVLANに所属させるポートです。

PCやプリンターなどの一般的な端末を スイッチへ接続するときによく利用します。

💻 PC-A 通常のEthernetフレーム
Gi0/1 ACCESS VLAN 10
L2 SWITCH VLAN 10として処理

たとえばGi0/1を Access VLAN 10として設定すると、 Gi0/1から入ってきた通常のフレームは VLAN 10に所属する通信として扱われます。

STEP 1 PC-A フレーム送信
STEP 2 Gi0/1 Access VLAN 10
STEP 3 Switch VLAN 10として処理

PCが「VLAN 10」と指定して送信するわけではない

ここは初学者が混乱しやすいポイントです。

一般的なPCをAccessポートへ接続している場合、 PCは通常、 「これはVLAN 10のフレームです」と指定して送信しているわけではありません。

PCから送信 Ethernet Frame
DST MAC | SRC MAC | DATA
Access Port Gi0/1
VLAN 10
Switch内部 VLAN 10
VLAN 10の通信として処理

どのVLANとして扱うかは、 スイッチ側のAccessポート設定 によって決まります。

Accessポートの重要ポイント

一般的な端末とのAccessリンクでは、 端末側は通常VLANタグを意識しません。 スイッチが 「このポートから入った通信はVLAN 10」 のように判断します。

CiscoスイッチでAccessポートを設定する

Cisco IOSでは、たとえばGi0/1を VLAN 10のAccessポートにする場合、 次のように設定します。

Cisco IOS
Switch> enable
Switch# configure terminal

Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10

重要なのは次の2行です。

switchport mode access ポートをAccessモードにする
switchport access vlan 10 AccessポートをVLAN 10へ所属させる

これにより、 Gi0/1へ接続した端末の通信は VLAN 10として扱われます。

なぜTrunkポートが必要なの?

次に、2台のスイッチを接続するケースを考えます。

Switch-A
💻 PC-A
VLAN 10
💻 PC-B
VLAN 20
1本のケーブル
Switch-B
💻 PC-C
VLAN 10
💻 PC-D
VLAN 20

PC-AとPC-CはVLAN 10、 PC-BとPC-DはVLAN 20です。

Switch-AとSwitch-Bの間では、 VLAN 10とVLAN 20の両方の通信 を運ぶ必要があります。

しかし、1本のケーブルを流れるフレームを見ただけで、
VLAN 10なのかVLAN 20なのかどうやって区別するのでしょうか?

そこで利用されるのが TrunkポートとIEEE 802.1Q です。

Trunkポートとは?

Trunkポートとは、 1本のリンクで複数のVLANの通信を運ぶためのポート です。

Switch-A VLAN 10 VLAN 20 VLAN 30
TRUNK LINK
10 20 30 ━━━━━━━━━
複数VLANを1本で運ぶ
Switch-B VLAN 10 VLAN 20 VLAN 30

たとえばTrunkリンクであれば、 VLAN 10、20、30など 複数のVLANを1本の物理リンク上で運ぶ ことができます。

802.1QタグでVLANを識別する

Trunkリンクで複数VLANを運ぶ場合、 どのフレームがどのVLANに所属しているのかを 識別する必要があります。

そこで代表的に利用されるのが IEEE 802.1Q(dot1q)です。

DEST MAC SOURCE MAC 802.1Q TAG TYPE DATA FCS

802.1Qでは、 EthernetフレームへVLANを識別するための 4バイトのタグ情報 を挿入します。

TPID 16 bit 802.1Qを示す情報
PCP 3 bit 優先度
DEI 1 bit 輻輳時の扱い
VLAN ID 12 bit 所属VLANを識別

前の記事で、 VLAN IDは12ビットで表現されると学びました。

このVLAN IDを利用することで、 Trunkリンクを流れるフレームが VLAN 10なのかVLAN 20なのか を識別できます。

AccessからTrunkへフレームが流れる仕組み

ここまでを一連の通信として確認してみましょう。

PC-Aから、別のスイッチに接続された 同じVLAN 10のPC-Cへ通信するとします。

💻 PC-A タグなし
ACCESS VLAN 10 Switch-A
TRUNK 802.1Q VLAN 10を識別
ACCESS VLAN 10 Switch-B
💻 PC-C タグなし
01

PC-Aが通常のEthernetフレームを Accessポートへ送信

02

Switch-Aは受信ポートの設定から VLAN 10の通信として扱う

03

Trunkリンクを通過するとき、 802.1Qによって VLAN 10を識別できる状態で転送

04

Switch-BはVLAN情報をもとに VLAN 10の転送先を判断

05

PC-C側のAccessポートから 通常のEthernetフレームとして端末へ転送

IMPORTANT 「VLANを使う=すべてのフレームに802.1Qタグが付く」 ではありません

一般的なAccessポートに接続されたPCとの通信では、 端末が通常802.1Qタグを意識する必要はありません。

複数VLANを同じ物理リンクで識別して運ぶ Trunkリンクで802.1Qタグが重要になります。

Native VLANとは?

802.1QのTrunkを学習すると、 Native VLANという言葉も登場します。

Native VLANとは、 802.1Q Trunkにおいて 通常タグなしで送受信されるVLAN です。

VLAN 10 TAGGED 802.1Q VLAN 10
VLAN 20 TAGGED 802.1Q VLAN 20
Native VLAN UNTAGGED 通常タグなし
Native VLANはまず概念だけ理解すればOK

この段階では、 「Trunkでも例外的にタグなしで扱うVLANが存在する」 と理解しておけば十分です。

CiscoスイッチでTrunkポートを設定する

たとえばGi0/24をTrunkポートにする場合、 次のように設定します。

Cisco IOS
Switch> enable
Switch# configure terminal

Switch(config)# interface GigabitEthernet0/24
Switch(config-if)# switchport mode trunk

さらに、Trunkリンクで通過を許可するVLANを 制限することもできます。

Cisco IOS
Switch(config-if)# switchport trunk allowed vlan 10,20

この場合、 Trunkリンクで許可されるVLANは VLAN 10とVLAN 20です。

switchport mode trunk ポートをTrunkモードにする
switchport trunk allowed vlan 10,20 TrunkでVLAN 10・20を許可する

AccessポートとTrunkポートを比較

項目 Access Trunk
主な用途 端末接続 スイッチ間など
扱うVLAN 基本的に1つ 複数
802.1Qタグ 一般的な端末側では通常意識しない VLAN識別に利用
代表的な接続 PC ─ Switch Switch ─ Switch
Cisco設定 switchport mode access switchport mode trunk

ここで実際に試してみよう:Access / Trunk判定シミュレーター

ネットワーク構成を選択して、 AccessとTrunkのどちらを利用するべきか考えてみましょう。

INTERACTIVE LAB

Port Mode Simulator

VLAN
💻 PC
Switch

この接続ではどちらのポートを利用する?

SELECT

AccessまたはTrunkを選択してください

接続する機器と、リンク上で扱うVLAN数を考えてみましょう。

理解度チェック:フレームはどう変化する?

PC-AからSwitch-Aへ入り、 Trunkリンクを通ってSwitch-BのPC-Cへ届くまでを 順番に確認してみましょう。

PC-A
Access
Trunk
PC-C
PC-A → Access Port
DEST MAC SRC MAC DATA
端末側では通常のEthernetフレーム

AccessとTrunkでよくある勘違い

01 Trunkなら異なるVLAN同士を通信させられる?

いいえ。 Trunkは複数VLANを運ぶ仕組みです。 VLAN 10とVLAN 20を相互通信させる機能ではありません。

02 AccessポートはVLANを使っていない?

いいえ。 AccessポートもVLANに所属します。 たとえば Access VLAN 10 として設定します。

03 Trunkは必ずすべてのVLANを通す?

いいえ。 Allowed VLANを設定して、 通過を許可するVLANを制限 できます。

Trunkでも異なるVLAN同士は通信できない

ここは次の記事につながる非常に重要なポイントです。

たとえばVLAN 10とVLAN 20を Trunkリンクで運べるようにしたとします。

VLAN 10 192.168.10.0/24 💻 PC-A
TRUNK VLAN 10
VLAN 20
複数VLANを転送
VLAN 20 192.168.20.0/24 💻 PC-B

Trunkは、 VLAN 10とVLAN 20のフレームを それぞれのVLANとして運ぶだけです。

VLAN 10の端末からVLAN 20の端末へ通信するには、 L2スイッチの機能だけでは足りません。

では、異なるIPネットワークへパケットを届けるには、
ネットワーク機器はどのように転送先を判断するのでしょうか?

ここから必要になるのが、 ルーティングというL3の仕組みです。

確認問題:AccessとTrunkを理解できたか確認しよう

QUESTION 01

一般的なPCをVLAN 10へ接続するとき、 スイッチ側で利用する代表的なポートはどれですか?

正解:A

一般的なPCなどを特定のVLANへ所属させる場合、 Accessポートを利用するのが代表的です。

QUESTION 02

Switch-AとSwitch-Bの1本のリンクで VLAN 10・20・30を運びたい場合、 適切なのはどれですか?

正解:B

1本の物理リンクで複数VLANを運ぶ場合は Trunkポートを利用します。

QUESTION 03

Trunkポートを設定すれば、 VLAN 10とVLAN 20は自動的に相互通信できますか?

正解:C

Trunkは複数VLANを識別して運ぶ仕組みです。 異なるVLAN間を通信させるには、 ルーターやL3スイッチによるルーティングが必要です。

YOUR SCORE 0 / 3

3問に挑戦してみましょう。

まとめ

01

Accessポートは 基本的に1つのVLANへ端末を所属させる ポート

02

Trunkポートは 1本のリンクで複数VLANを運ぶ ポート

03

Trunkリンクでは IEEE 802.1Q によりVLANを識別する

04

一般的なAccess接続の端末は、 通常VLANタグを意識する必要がない

05

TrunkはVLANを運ぶ仕組みであり、 異なるVLAN間をルーティングする機能ではない

NEXT LESSON

次は「ルーティングとは?パケット転送の基本を理解する」を学びましょう

ここまでで、 L2スイッチ、MACアドレステーブル、VLAN、 Accessポート、Trunkポートと、 L2ネットワークの基本的な仕組み を学習しました。

しかし、VLAN 10とVLAN 20のような 異なるIPネットワーク同士を通信させる にはL2の知識だけでは足りません。

次はL3へ進み、 ルーターが 宛先IPアドレスとルーティングテーブルを使って、 パケットの転送先を決める仕組み を学習します。

ルーティングとは?パケット転送の基本を理解する
NETWORK INTERMEDIATE

ネットワーク中級講座の一覧へ戻る

学習順を確認したい場合は、 ネットワーク中級講座の一覧ページへ戻れます。

← ネットワーク中級講座へ戻る
目次