【入門編】 DEI(Drop Eligible Indicator)フィールドの機能と輻輳制御 – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

こんにちは!ネットワークの世界へようこそ。インフラ・ネットワークスペシャリストの私です。

日々の業務や学習で、ルーターやスイッチが織りなすパケットのやり取りを見ていると、「データってまるで生き物みたいに動くなあ」と感動しませんか?今回は、そんなイーサネットの世界をさらに深く、そして身近に感じてもらうために、ちょっと通なキーワードを取り上げます。

その名も「DEI(Drop Eligible Indicator)」です!

「ディー・イー・アイ? なんか難しそうな英語が出てきたぞ……」と思いましたよね。安心してください。一歩ずつ、私たちの身近な世界に置き換えて優しく紐解いていきますので、コーヒーでも飲みながらリラックスして読んでいってくださいね。

—

郵便配達のピンチ!「どうしても急ぐ手荷物」と「後回しでもいい荷物」

突然ですが、あなたが街の郵便配達員だと思って想像してみてください。

ある日、配達バイクに荷物をこれでもかと積み込みました。中身は様々です。「今日中に絶対に届けなければならない病院の重要書類」もあれば、「来週でもいい通販の分厚いカタログ冊子」もありますよね。

ここで、ものすごい大雨が降ってきて、道路が大渋滞(=ネットワークの輻輳(ふくそう))を起こしてしまいました! バイクの荷台はもうパンパンで、これ以上重くなるとバイクが転倒してしまいます。

さあ、あなたならどうしますか? 全部の荷物を死守しようとしてバイクごと動けなくなりますか? それとも、万が一のときは「カタログ冊子」を一旦トラックの荷台から下ろし(=破棄)、重要書類だけでも時間通りに届けようと判断しますか?

もちろん、後者ですよね。「最悪、あとで再配達すればいいや」という荷物(Drop Eligibleな荷物)をあらかじめ決めておけば、大渋滞が起きたときでも、本当に大切な通信を死守することができます。

この「万が一のときには破棄してもいいですよ」という目印を、イーサネットの世界(正確にはVLANタグの世界)でスマートに実現しているのが、今回主役の DEI なんです。

—

DEIって、もともとは何だったの?

実はこのDEI、昔は CFI(Canonical Format Indicator) という、ちょっと呪文のような名前で呼ばれていました。

昔のネットワークの世界では、トークンリングという別の規格とイーサネットの間でデータをやり取りする際、「データの並び順(エンディアン)」を変換する必要があって、そのフラグとして使われていたんです。

時代が進み、トークンリングが主役から退いていくと、「この1ビットの空きスペース、もったいないよね。別のことに使えないか?」となりました。そこで、「おっ、それならネットワークが混雑したときに、優先度を下げて捨てもいいよというフラグ(目印)として使おう!」と生まれ変わったのが、今の DEI なんです。

DEIはたったの 1ビット(0か1か)しかありません。

  • 0 のときは:「できればこのフレームも捨てないで大切に運んでね!」(通常)
  • 1 のときは:「ごめん、道がすごく混んできたら、このフレームは捨てちゃっても構わないよ!」(破棄許容)

たった1ビットの小さな目印ですが、これが大規模な企業ネットワークやデータセンターの安定稼働を裏で支えている主役級の機能なんですよ。

—

現場のスイッチは、どうやってDEIを見ているの?

では、実際のネットワーク機器(L2スイッチなど)は、このDEIをどう扱っているのでしょうか? 現場のエンジニアがよく使うCiscoやLinuxの環境を例に、少しだけ実務的な設定や挙動を覗いてみましょう。

ネットワークの世界では、通常このDEIは、QoS(Quality of Service)と呼ばれる通信の優先制御の仕組みとセットで動きます。

例えば、Ciscoのスイッチなどでトランクポート(複数のVLANを流すポート)を設定する際、優先度を決める仕組み(CoS: Class of Service)と一緒に、DEI(旧CFI)がどのように扱われるかを意識します。

実務での設定・確認イメージ(Cisco IOSの例)

実際のCisco機器のコンフィグレーションでは、トラフィックの分類(Classification)やマーキングの際に、次のようなポリシーマップを書くことがあります。

! QoSのポリシーマップ定義:音声などの重要データは優先し、ベストエフォートのデータにはDEIを立てる準備をする
policy-map QOS_TRAFFIC_POLICY
 class CLASS_VOICE
   set pcp 5              ! 音声データには高い優先度(PCP=5)を付与
 class CLASS_BULK_DATA
   set pcp 1              ! バルクデータには低い優先度を付与
   ! 必要に応じて、ここでDEIを有効(1)にするマークングを行うこともあります

※実務では、CiscoのQoS用語としてPCP(Priority Code Point)やCoS値という言葉とセットで語られることが多いですが、IEEE 802.1Qのフレーム構造の中には、しっかりこのDEIの1ビットが存在しています。

また、Linuxサーバーのネットワークインターフェース(iproute2など)を使って、VLANインターフェースにタグや優先度を付与してテストを行うことも可能です。

Linux環境でのVLANインターフェース作成例

# 物理インターフェース eth0 に対して、VLAN ID 100 の仮想インターフェースを作成する
sudo ip link add link eth0 name eth0.100 type vlan id 100

# 作成したVLANインターフェースの状態を有効化する
sudo ip link set up dev eth0.100

# ※実際のパケット送受信時には、kernelのQoSサブシステム(tcコマンド等)と連携し、
#   パケットのCoS値やDEIビットを制御してスイッチへ送り出すことができます。

このように、パケットに「DEI = 1」というスタンプ(目印)をあらかじめ押しておくことで、途中のスイッチのバッファ(一時的な荷物置き場)が溢れそうになったとき、スイッチは迷わず DEI = 1 のフレームを優しく(あるいは強制的に)ドロップし、重要な DEI = 0 のトラフィックを守り抜くことができるのです。

—

まとめ:小さな1ビットが支えるインターネットの優しさ

いかがでしたでしょうか? 今回はDEIという、ちょっと地味だけどとっても重要な1ビットのフィールドについて解説しました。

  • DEI(Drop Eligible Indicator) は、VLANタグの中にあるたった1ビットのフラグ。
  • ネットワークが渋滞(輻輳)したときに、「このデータは捨ててもいいよ」という目印を教える役割を持つ。
  • この仕組みがあるおかげで、重要度の低い大量のデータ(ファイルのバックアップなど)が原因で、重要度の高いデータ(音声通話やリアルタイムの会議システムなど)がプツプツ途切れるのを防ぐことができる。

ネットワーク技術の面白いところは、こうした「人間社会の知恵」や「宅配便の仕組み」によく似たロジックが、ミリ秒以下の世界で泥臭く、かつ美しく動いているところです。

これからも、難しい仕様書や用語に出会ったら、「これって現実の世界のどんな仕組みに似ているだろう?」と優しく置き換えてみてくださいね。きっと、ネットワークの勉強がもっと楽しく、血肉になっていくはずです。

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

コメント

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