みなさん、こんにちは!ネットワークプロトコルの深淵をこよなく愛する筆者です。
今日は、インフラやネットワークに初めて触れるエンジニアさんや、もっと深く理解したい初学者のみなさんに向けて、VLAN(仮想LAN)設計の肝となる「トランクポート」と、その裏側で働く「802.1Qタグ」の仕組みを、現場でのリアルな感覚と、身近な例え話で徹底的に紐解いていきたいと思います。
小難しいパケット構造や英語のヘッダー名に怯える必要は一切ありません!パケットがネットワークを駆け巡るリアルな挙動を想像しながら、一歩ずつ理解を深めていきましょう。
—
【初心者向け】VLAN設計の肝!トランクポートと802.1Qタグでネットワークが賢くなる仕組みを徹底解説!
はじめに:なぜVLANが必要だったんだっけ?
ネットワークの世界に足を踏み入れたばかりのみなさんにとって、VLAN(Virtual LAN)という言葉はもうお馴染みかもしれませんね。VLANは、物理的には同じスイッチに接続されていても、論理的にネットワークを分割し、まるで別のスイッチに接続されているかのように扱う技術のことです。
例えば、オフィスで「総務部」「経理部」「開発部」と、部署ごとにネットワークを分けたいとします。
- セキュリティの向上: 経理部の機密情報が、他の部署から簡単に見られないようにする。
- ブロードキャストドメインの分離: 余計な通信が他の部署に流れ込まないようにして、ネットワークのパフォーマンスを向上させる。
- 管理のしやすさ: 部署移動や組織変更があった際に、物理配線を変えずに論理的にネットワークを変更できる。
こんなメリットがあるからこそ、VLANは現代のネットワーク設計には欠かせない技術になっています。
でも、ちょっと考えてみてください。
「スイッチA」に接続された総務部のPCと、「スイッチB」に接続された総務部のPCが、同じVLAN(例えばVLAN10)に属していて、お互いに通信したい場合、どうやって接続すれば良いのでしょうか?
スイッチ間の接続問題:VLANをまたぐ通信の落とし穴
VLANを設定した各ポートは、通常、特定のVLANに「専用」で割り当てられます。これを「アクセスポート」と呼びます。例えば、スイッチのポート1はVLAN10専用、ポート2はVLAN20専用、といった具合です。
では、複数のスイッチを使ってネットワークを構築する場合、どうなるでしょう?
もし、VLANごとに物理的なケーブルを引いて接続するとなると…
- スイッチAのVLAN10とスイッチBのVLAN10をつなぐケーブル
- スイッチAのVLAN20とスイッチBのVLAN20をつなぐケーブル
- スイッチAのVLAN30とスイッチBのVLAN30をつなぐケーブル
…と、VLANの数が増えれば増えるほど、ケーブルの本数も増えて、あっという間に配線がごちゃごちゃになってしまいますよね。これでは、ケーブルコストも、管理の手間も莫大になってしまいます。
想像してみてください。マンションの各フロア(VLAN)から、隣のマンションの同じフロアに郵便物を送るのに、フロアごとに専用の連絡通路を作っていたら、通路だらけになってしまいますよね。
ここで登場するのが、今日の主役「トランクポート」なんです!
救世主「トランクポート」の登場!一本のケーブルで複数のVLANを運ぶ魔法
トランクポートは、複数のVLANのトラフィックを、たった一本の物理ケーブル(リンク)上でまとめて送受信するための、特別なスイッチポートです。まさに、複数のフロアの郵便物を、一つの連絡通路でまとめて送れるようにする魔法の通路、といったイメージですね。
これにより、VLANの数が増えても、スイッチ間の接続に必要なケーブルの本数は一本(または数本)で済み、物理的な配線はすっきり、コストもぐっと抑えられます。
「でも、一本のケーブルで複数のVLANの通信が混ざったら、受信側はどうやってそれぞれのVLANに振り分けるの?」
鋭い疑問ですよね!ここで必要になるのが、通信に「これはどのVLAN宛ての通信ですよ」という目印を付ける仕組みです。その目印こそが、「802.1Qタグ」と呼ばれるものなんです。
802.1Qタグとは?郵便局の「付箋」で理解する多重化の仕組み
IEEE 802.1Qは、複数のVLANトラフィックを単一の物理リンク上で多重化するための標準規格です。この規格で定義されているのが、「VLANタグ」をデータフレーム(パケットのL2版だと思ってください)に付与する仕組みです。
これを郵便配達の例で考えてみましょう。
1. 郵便物(データフレーム): あなたが送りたい手紙や荷物そのものです。
2. 郵便局(スイッチ): 郵便物を集めて、正しい宛先に届ける場所です。
3. 各フロア(VLAN): マンションの各VLAN(VLAN10、VLAN20など)です。
4. 連絡通路(トランクポート): 異なるマンション(スイッチ)同士をつなぐ、特別な通路です。
トランクポートを通って郵便物を送る際、郵便局(スイッチ)は、その郵便物がどのフロア(VLAN)宛てのものなのかを示す「フロア番号が書かれた付箋」を郵便物にペタッと貼り付けます。これがまさに「802.1Qタグ」の役割です。
- タグ付けされたフレーム (Tagged Frame): 付箋(802.1Qタグ)が貼られた郵便物のことです。トランクポートから送出される際、送信元スイッチがこのタグを付与します。
- タグなしフレーム (Untagged Frame): 付箋が貼られていない郵便物のことです。通常、アクセスポートで送受信されるフレームはタグなしです。また、トランクポートでも特定のVLAN(後述のNative VLAN)のフレームはタグなしで送受信されることがあります。
受信側の郵便局(スイッチ)は、この付箋(802.1Qタグ)を見ることで、「ああ、これはVLAN10宛ての郵便物だから、VLAN10に所属するポートに転送しよう」「これはVLAN20宛てだから、VLAN20のポートへ」と、正しく振り分けることができるわけです。
このタグには、どのVLANに属するかを示す「VLAN ID」という情報が含まれています。これにより、たとえ一本のケーブルの中をVLAN10とVLAN20の通信が同時に流れていても、互いに混じり合うことなく、きちんと識別・分離できるのです。賢いですよね!
トランクポートの役割:タグの付け外しをする特別な窓口
トランクポートは、ただケーブルを繋ぐだけのポートではありません。その役割は大きく2つあります。
1. 送信時: 内部のVLANトラフィックをトランクポートから外部へ送出する際、適切な802.1Qタグを付与します。
2. 受信時: トランクポートで外部から受信したフレームに802.1Qタグが付いている場合、そのタグを読み取り、どのVLANに属する通信なのかを識別します。その後、タグを剥がして(またはそのままにして)適切なVLANに転送します。
まさに、郵便局の窓口で、郵便物にフロア番号の付箋を貼ったり、届いた郵便物の付箋を読んで適切なフロアへ配送したりする作業をしている、というイメージです。
Native VLANって何?タグなしフレームの行き先
さて、先ほど「タグなしフレーム」の話が出ましたね。トランクポートは通常、タグ付きフレームを送受信しますが、例外的に「Native VLAN」という設定があります。
これは、「付箋が貼られていない郵便物が届いたら、デフォルトでこのフロア(VLAN)宛てだと見なしてね」という、トランクポート固有のルールです。
例えば、トランクポートのNative VLANがVLAN1に設定されている場合、そのトランクポート経由でタグなしフレームを受信すると、スイッチはそのフレームをVLAN1のトラフィックとして扱います。また、VLAN1のトラフィックをトランクポートから送出する際も、タグを付けずに(Untaggedで)送ることが一般的です。
このNative VLANは、設定を間違えると、セキュリティホールになったり、意図しない通信が発生したりする原因にもなりますので、設定時には注意が必要です。基本的には、特別な理由がない限り、使われていないVLAN IDをNative VLANに設定するか、あえて他のVLAN IDと一致させないようにするなど、慎重に扱うようにしましょう。
実際にパケットはどう流れるの?データ転送の旅
では、具体的なデータ転送の流れを見てみましょう。
1. PC1 (VLAN10) からPC2 (VLAN10) へ通信する場合:
- PC1から送信されたフレームは、まず所属するアクセスポート(VLAN10専用)に到達します。この時点ではフレームにタグは付いていません。
- スイッチAは、このフレームがVLAN10のトラフィックであることを認識します。
- スイッチAは、PC2が別のスイッチBのVLAN10にいることを知っているので、トランクポートを使ってフレームをスイッチBへ転送しようとします。
- スイッチAのトランクポートは、VLAN10のフレームに802.1Qタグ(VLAN ID=10)を付与し、物理リンクへ送出します。
- タグ付きフレームは物理リンクを通り、スイッチBのトランクポートに到着します。
- スイッチBのトランクポートは、フレームに付いている802.1Qタグ(VLAN ID=10)を読み取り、「これはVLAN10宛てのフレームだ」と認識します。
- スイッチBはタグを剥がし、VLAN10に所属するPC2のアクセスポートへフレームを転送します。
- PC2は、タグなしのフレームを受信し、通信が成立します。
このように、トランクポートと802.1Qタグのおかげで、異なるVLANの通信が一本のケーブル上で見事に多重化され、目的地まで届けられるわけです。
実践!スイッチでのトランクポート設定例
それでは、実際にネットワーク機器でトランクポートを設定する際のコマンド例を見てみましょう。ここでは、代表的なCisco社のIOSと、Juniper社のJunos OSを例に挙げます。
Cisco IOS (Catalyst スイッチなど)
Ciscoのスイッチでは、インターフェースモードで switchport mode trunk コマンドを使用します。
! グローバル設定モードに移行
configure terminal
! トランクポートとして設定したいインターフェースを選択(例: FastEthernet 0/1)
interface FastEthernet 0/1
description Link to Switch B # インターフェースの説明
switchport mode trunk # インターフェースをトランクモードに設定
switchport trunk allowed vlan 10,20,30 # このトランクポートで許可するVLANを指定
# カンマ区切りで複数のVLAN IDを指定できます
# 'all' で全てのVLANを許可することも可能ですが、セキュリティ上は推奨されません
switchport trunk native vlan 99 # Native VLANを指定 (例: VLAN 99)
# デフォルトはVLAN 1ですが、セキュリティのため変更を推奨
no shutdown # インターフェースを有効化
end
! 設定の保存
write memory
ポイント:
switchport mode trunk: これが最も重要なコマンドで、ポートをトランクモードにします。switchport trunk allowed vlan: このトランクポートで、どのVLANのトラフィックを流すかを明示的に指定できます。セキュリティのためにも、必要なVLANだけを許可するようにしましょう。switchport trunk native vlan: Native VLANを指定します。両端のスイッチでこの設定が一致していないと、通信に問題が発生するので注意が必要です。
Juniper Junos OS (EXシリーズ スイッチなど)
Juniperのスイッチでは、インターフェースの設定階層で interface-mode trunk を使用します。
! 設定モードに移行
edit
! トランクポートとして設定したいインターフェースを選択(例: GigabitEthernet 0/0/0)
set interfaces ge-0/0/0 description "Link to Switch B" # インターフェースの説明
set interfaces ge-0/0/0 unit 0 family ethernet-switching interface-mode trunk # インターフェースをトランクモードに設定
set interfaces ge-0/0/0 unit 0 family ethernet-switching vlan members [ 10 20 30 ] # このトランクポートで許可するVLANを指定
# 複数のVLAN IDはスペース区切りで指定します
# 'all' で全てのVLANを許可することも可能ですが、セキュリティ上は推奨されません
set interfaces ge-0/0/0 unit 0 family ethernet-switching native-vlan-id 99 # Native VLANを指定 (例: VLAN 99)
# デフォルトはVLAN 1ですが、セキュリティのため変更を推奨
! 設定のコミット(適用)
commit
ポイント:
interface-mode trunk: インターフェースをトランクモードに設定します。vlan members: このトランクポートで、どのVLANのトラフィックを流すかを指定します。native-vlan-id: Native VLANを指定します。Ciscoと同様に、両端のスイッチで一致している必要があります。
現場で役立つトラブルシューティングのヒント
トランクポートは非常に便利な機能ですが、設定ミスがあると通信ができなくなってしまいます。現場でよくあるトラブルシューティングのポイントをいくつかご紹介しますね。
1. Native VLANの不一致:
- 症状: 特定のVLAN(特にVLAN1やNative VLAN)の通信ができない。
- 原因: 接続されている両方のスイッチのトランクポートで、
Native VLANの設定が異なっていると、タグなしフレームの扱いに食い違いが生じ、通信が途絶えてしまいます。 - 対策: 両端のスイッチで
Native VLANが一致しているか、確認しましょう。
2. Allowed VLANの設定漏れ:
- 症状: 特定のVLANの通信ができない。
- 原因:
switchport trunk allowed vlan(Cisco) やvlan members(Juniper) の設定で、必要なVLAN IDが許可リストに含まれていない場合があります。 - 対策: 必要なVLAN IDがすべてリストに含まれているか、確認しましょう。
3. モードの不一致:
- 症状: トランクリンク自体が確立しない、または不安定になる。
- 原因: 片方がトランクモード、もう片方がアクセスモードになっていたり、Auto/Desirableなどのネゴシエーションモードがうまく合致しなかったりする場合。
- 対策: 両端のポートが確実に
trunkモードで動作しているか、確認しましょう。
まとめ:トランクポートと802.1Qタグでネットワークはもっと賢く!
今回は、複数のVLANトラフィックを一本の物理リンク上で多重化する「トランクポート」と、その識別子である「802.1Qタグ」について、郵便配達の例えを交えながら詳しく解説しました。
- VLANを効率的にスイッチ間で繋ぐために、トランクポートが必要。
- トランクポートは、802.1Qタグを使って、複数のVLANの通信を識別し、多重化する。
- 802.1Qタグは、データフレームに「この通信はどのVLAN宛てか」を示す目印(付箋)を貼るようなイメージ。
- Native VLANは、タグなしフレームの行き先を定義する特別な設定。
- 設定ミスはトラブルの元なので、両端のスイッチで設定を一致させることが重要。
これで、VLAN設計におけるトランクポートの重要性と、その裏側で賢く働く802.1Qタグの仕組みが、ぐっと身近に感じられるようになったのではないでしょうか。ネットワークエンジニアとして、この知識はまさに「基礎中の基礎」であり、日々の業務で必ず役立つはずです。
最初は難しく感じるかもしれませんが、パケットの流れを想像しながら、一歩ずつ理解を深めていきましょう!
それでは、また次回の記事でお会いしましょう!
コメント