【入門編】 PCPマッピングとDSCP(Differentiated Services Code Point)の相互連携 – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

こんにちは!ネットワークの世界へようこそ。インフラアーキテクトの視点から、日々のネットワークを支える熱い技術をお届けしている筆者です。

ネットワークの世界に足を踏み入れたばかりの頃、「なんだか通信が遅いな」「重要な音声通話が途切れるな」と感じたことはありませんか?実は、スイッチやルーターの中では、すべてのデータが平等に扱われているわけではありません。限られたネットワークの回線(道路)を上手に交通整理して、緊急車両(音声や映像データ)を優先させる仕組みが隠されています。

今回は、その交通整理の主役である「レイヤ2のPCP(Priority Code Point)」と「レイヤ3のDSCP(Differentiated Services Code Point)」の仲良しコンビ、つまり「相互連携マッピング」について、一歩ずつ優しく紐解いていきましょう!

—

1. 郵便配達の仕組みでイメージする「優先順位」

難解な専門用語に入る前に、私たちの身近にある「郵便配達」に例えて考えてみましょう。

想像してみてください。あなたは今、郵便局の窓口にいます。
手元には、以下の2通の荷物があります。

1. 「明日届くことが命運を分ける、一刻を争う特急の医療用サンプル(音声データ)」
2. 「来月でいいや、のんびり届く通信販売のカタログ(通常のファイル転送)」

もし、窓口の係員さんが「届いた順番に処理しますね」と、のんびりカタログからトラックに積み込んでいたらどうでしょう?医療用サンプルがトラックに乗る頃には、大変なことになってしまいますよね。

そこで、荷物には「赤色の特急シール(優先度の高いマーク)」が貼られます。配達員はこのシールを見るだけで、「あ、これは一番先にトラックの積み口へ回さなきゃ!」と瞬時に判断できます。

ネットワークの世界でも全く同じことが起きているんです。

  • レイヤ2の世界(スイッチ同士の直接のやり取り):「赤色シール」に相当するのが、Ethernetフレームのなかにこっそり書き込まれる PCP(Priority Code Point) という3ビットの目印です。
  • レイヤ3の世界(国をまたぐような、ルーターを経由した遠くの通信):「送り状の宛先と一緒に書かれた特別な特急指定コード」に相当するのが、IPパケットのなかの DSCP(Differentiated Services Code Point) という6ビットの目印です。

通信がスイッチやルーターを通過するとき、「L2のシール」から「L3の送り状」へ、あるいはその逆へと、お互いの目印を翻訳し合う必要があります。これが今回のお題である「PCPとDSCPの相互連携マッピング」の正体なのです!

—

2. なぜマッピング(翻訳)が必要なの?

「ねえ、なんでわざわざL2とL3の両方に目印をつけるの?どっちか一つじゃダメなの?」という疑問が湧いてきますよね。とても素晴らしい着眼点です!

ネットワークは、次のような旅をして目的地に届きます。

[パソコン] 
   ↓ (L2のスイッチング:社内LAN)
[フロアのスイッチ] 
   ↓ (L3のルーティング:本社と支社を繋ぐルーター)
[ルーター] 
   ↓ (L2のスイッチング:支社の社内LAN)
[サーバー]

旅の途中には、「L2の世界(スイッチ)」と「L3の世界(ルーター)」の両方が登場します。
社内のスイッチは、基本的にL2の言葉(PCP)しか見ていません。一方、遠く離れたネットワークへパケットを送り出すルーターは、L3の言葉(DSCP)を基準に優先制御を行います。

そのため、社内から飛び立ったデータがルーターを通るときに、「L2のPCP値」を「L3のDSCP値」に翻訳(マッピング)してあげたり、逆にルーターから社内に戻ってきたときに「L3のDSCP値」を「L2のPCP値」に戻してあげたりする必要があるのです。この翻訳作業を行わないと、社内では優先されていたはずの音声通話が、ルーターを超えた瞬間に「普通のデータ」扱いに格下げされてしまう……なんて悲劇が起きてしまうわけです。

—

3. 具体的な設定の世界をのぞいてみよう!

それでは、実際のネットワーク機器(ここではCisco系のスイッチを例にします)で、どのようにこのマッピングが設定されているのか、実用的なコード例を見てみましょう。

難しく見えるかもしれませんが、要は「このL2の目印が来たら、L3ではこの目印に書き換えてね(またはその逆)」という辞書(マップ)を作ってあげる作業です。

マッピング設定のサンプルコード

以下の設定は、QoS(Quality of Service)のポリシーを定義する際の典型的な例です。日本語のコメントを参考にしながら読んでみてくださいね。

! --- 1. ルーターやスイッチでQoS機能を全体的に有効化します ---
mls qos

! --- 2. レイヤ2のPCP値(CoS)から、レイヤ3のDSCP値への変換マップを作成します ---
! 「社内スイッチから受け取ったPCP値」を「ルーターが理解するDSCP値」に翻訳する辞書です。
mls qos map cos-dscp 0 8 16 24 32 46 48 56

! 【解説:上記の数字の並びはどういう意味?】
! 左から順に、PCP値「0, 1, 2, 3, 4, 5, 6, 7」に対応するDSCPの値を割り当てています。
! - PCP 0 (通常のデータ) -> DSCP 0 (Best Effort: 通常の優先度)
! - PCP 5 (音声データなど) -> DSCP 46 (EF: 最も優先されるクラス)

! --- 3. インターフェースごとに、QoSの信頼モードを設定します ---
! ここでは「受信したパケットに書かれているPCPの値を信頼して読み取ります」と宣言しています。
interface GigabitEthernet0/1
 description 従業員のPCやIP電話機が接続されるポート
 mls qos trust cos

! --- 4. 出力側のポートで、優先度に基づいたキューイング(順番待ちの列整理)を有効化します ---
interface GigabitEthernet0/2
 description 上流のルーターやコアスイッチへ繋がるポート
 mls qos queue-set output 1

このように、ネットワーク機器に対して「どの目印を信じて、どうやって別の目印に翻訳するのか」を優しく教えてあげることで、パケットたちは迷うことなく適切な優先レーンを進むことができるようになります。

—

4. 現場でありがちなトラブルと知恵

最後に、現場のエンジニアがよく直面する「ちょっとした罠」についてお話しします。

実務でQoSを設計・実装していると、「設定は完璧なはずなのに、なぜか音声が途切れる……」という壁にぶつかることがあります。その原因の多くは、途中のどこかの機器で「信頼モード(Trust Mode)」が設定されておらず、勝手に目印(PCPやDSCP)をリセット(ゼロクリア)されてしまっているケースです。

郵便物に例えるなら、途中の郵便局の係員さんが「なんだこの赤いシールは!うちのルールでは認めん!」と、勝手にシールを剥がして普通の荷物にしちゃったような状態です。

トラブルシューティングのチェックリスト

1. エンド端末から出口のルーターまで、すべての経由機器でQoSが有効になっているか?
2. 「mls qos trust」などのコマンドが、パケットを受け取るポートごとに正しく入っているか?
3. 通信事業者のWAN回線(プロバイダ)をまたぐ際、事業者が独自のDSCP書き換え(リマーキング)を行っていないか?(ここが一番の曲者で、事業者側のポリシーでせっかくの優先設定が書き換えられてしまうことがよくあります)

通信が通るすべてのルートで「共通の翻訳辞書」が共有されているかを確認することが、安定したネットワークインフラを作る秘訣です。

—

まとめ

いかがでしたでしょうか?
今回は、PCPマッピングとDSCPの相互連携について、郵便配達の例えを交えながら解説しました。

  • PCP はレイヤ2(スイッチ間)の「赤色特急シール」。
  • DSCP はレイヤ3(ルーターを含む広範囲な旅)の「特急指定コード」。
  • ネットワークの境界で、この2つの目印を「翻訳(マッピング)」してあげることで、大切な通信データがスムーズに目的地へ辿り着く。

一見すると複雑なQoSやマッピングの仕組みも、基本の役割とデータの流れさえ分かれば怖くありません。ぜひ実際の機器やシミュレータに触れる際の参考にしてみてくださいね。

それでは、また次のネットワークの深淵でお会いしましょう!

コメント

タイトルとURLをコピーしました