こんにちは!ネットワークプロトコルの深淵へようこそ。
日々、ルーターやスイッチが休むことなくパケットを転送し続ける「ネットワーク」という広大な宇宙。その中を流れるデータたちは、実はただ無秩序に走っているわけではありません。
例えば、あなたが大事なWEB会議をしているとき、隣で誰かが巨大なファイルをダウンロードし始めたとしましょう。もしネットワークが「早い者勝ち」のルールしかなかったら、あなたの声は途切れ途切れになり、会議は台無しになってしまいますよね。
そうならないために、パケットには「優先順位」という特別な印がつけられています。今回は、VLAN(802.1Q)という仕組みの中に隠された、「PCP(Priority Code Point)」というわずか3ビットの魔法のフィールドについて、郵便配達の仕組みに例えながら、優しく、かつ深く紐解いていきましょう!
—
1. ネットワークの「優先席」を決めるスタンプ
私たちが普段使っているイーサネットのパケット(フレーム)には、VLANというグループ分けをするための「タグ(802.1Q)」を付けることができます。
このタグの中には、単なるグループ番号(VLAN ID)だけでなく、実は「この荷物はどれくらい急ぎか?」を示すスタンプ台が存在します。それが、今回主役となるPCP(Priority Code Point)です。
郵便配達で例えてみると?
想像してみてください。あなたは郵便局の仕分けスタッフです。
毎日大量の荷物が届きますが、すべての荷物を同じスピードで運ぶのは不可能です。そこで、荷物のラベルの隅っこに「優先度」を書き込む小さな欄を作りました。
- 「0」と書かれた荷物:普通のハガキ。急がないから空いた時間に運ぼう。
- 「5」と書かれた荷物:特急便。他の荷物を差し置いてでも、すぐにトラックに載せよう!
この「0〜7」までの数字を書き込む欄こそが、ネットワークの世界におけるPCPフィールドなのです。
—
2. PCPフィールドの正体:わずか「3ビット」の力
技術的な仕様書を覗くと、PCPは「3ビット」で構成されていると書かれています。
「たった3ビット?」と思うかもしれません。しかし、コンピュータの世界では、3ビットあれば 2の3乗 = 8段階 (0から7まで)の状態を表現できます。この8段階の優先度制御の仕組みを、IEEE 802.1pに基づいたCoS(Class of Service)と呼びます。
8段階のランク表(CoSの値)
一般的に、以下のような使い分けがなされることが多いです。
| CoS値 (PCP) | 用途(例) | イメージ |
| :— | :— | :— |
| 7 | ネットワーク制御 | 最優先!これが届かないとネットワークが崩壊する。 |
| 6 | ネットワーク制御 | 非常に重要。 |
| 5 | 音声(VoIP) | 1ミリ秒の遅れも許されない「電話」のパケット。 |
| 4 | ビデオ会議 | 映像データなど、リアルタイム性が求められるもの。 |
| 3 | 重要業務データ | 会社の基幹システムなど。 |
| 0 | ベストエフォート | 標準。特に指定がない「普通のパケット」。 |
| 1 | 低優先度 | バックアップなど、時間がかかっても良いもの。 |
※2番は予備やビデオ用に使われることが多いです。
ここで面白いのは、「0」が一番下ではないという点です。「1」の方が「0」よりも優先度が低く設定されることがよくあります。これは、何も設定していないパケット(0)よりも、明示的に「後回しでいいよ」と言われたパケット(1)を低く扱う、という設計思想ですね。
—
3. パケットがスイッチを通る瞬間のドラマ
トランクポート(802.1Q)を通過するパケットには、このPCPが含まれたタグが付与されています。スイッチはこのタグを見て、心の中でこう叫びます。
「おっと、このパケットは PCP=5 だな!電話の音声だ。後ろに並んでいる普通のWEB閲覧パケット(PCP=0)を追い抜かして、一番足の速い出口のキュー(行列)に入れてあげよう!」
これが、インフラエンジニアが設計する「QoS(Quality of Service)」の正体です。
—
4. 実務で役立つ!スイッチの設定例
では、実際にCiscoなどのネットワーク機器で、このPCP(CoS値)をどのように扱うのか、設定イメージを見てみましょう。
ここでは、「届いたパケットのCoS値を見て、それに応じた優先処理をする」という設定の断片をご紹介します。
! --- 1. トラフィックの分類(クラスマップ)の定義 ---
! 音声パケット(CoS 5)を識別するための設定です
class-map match-all VOICE-TRAFFIC
match cos 5
! --- 2. 優先度に基づいたポリシー(ポリシーマップ)の定義 ---
! 特定のクラス(音声)に対して、優先的に帯域を割り当てる指示を出します
policy-map QOS-POLICY-EXAMPLE
class VOICE-TRAFFIC
priority percent 30 ! 全体の30%の帯域をこの音声パケット専用に確保(最優先)
class class-default
fair-queue ! 残りのパケットは公平に分け合います
! --- 3. インターフェースへの適用 ---
! トランクポートなどの物理ポートに、作成したポリシーを適用します
interface GigabitEthernet0/1
description TRUNK-TO-OTHER-SWITCH
switchport mode trunk
service-policy output QOS-POLICY-EXAMPLE ! 出ていくパケットに優先制御をかける
このように、ネットワーク機器はタグの中のPCP値を読み取り、あらかじめ決められた「ルール(ポリシー)」に従って、パケットをどの行列に並べるかを瞬時に判断しています。
—
5. まとめ:PCPが支える快適な通信
ネットワークの構築において、ただ「つながる」だけでなく「快適に、安定してつながる」ために、PCPによる優先度制御は欠かせない技術です。
- PCPは、VLANタグ(802.1Q)の中にある3ビットの領域。
- 0〜7の8段階で、パケットの「偉さ(優先度)」を決める。
- VoIP(音声)は「5」に設定するのがネットワーク界の鉄則。
- スイッチはこの値を見て、混雑時にどのパケットを先に通すかを判断する。
次にあなたがオンライン会議をスムーズに行えたとき、ふと思い出してみてください。「今、私の声のパケットには、PCP=5という特急券が貼られて、スイッチの中を爆走しているんだな」と。
インフラの世界は、こうした小さなビットの積み重ねで、私たちの便利な生活を支えています。一歩ずつ、その仕組みを理解していくのはとても楽しいことですよね。
これからも一緒に、プロトコルの深い世界を探検していきましょう!
—
執筆後記:
PCPの3ビットは、まさに「ネットワークの良心」とも言えるフィールドです。リソースが限られているからこそ、譲り合いの精神をプロトコルとして実装する。そんな設計思想に、私はいつも感動を覚えます。皆さんの設計するネットワークが、この3ビットでより素晴らしいものになりますように。
コメント