【入門編】 無線LANルーターにおけるQoS(Quality of Service)とWMM(Wi-Fi Multimedia)の優先制御 – 家庭用ネットワーク・IoT・モバイル通信実践ガイド

皆さん、こんにちは!技術メディアの主筆ライターとして、日々ネットワークの奥深い世界を冒険している私です。

「家族がリビングで高画質な4K動画を見始めた瞬間、自分のオンラインゲームの画面がカクついた……」
「大事なオンライン会議の最中に、家族がファイルのダウンロードを始めて音声がブツブツ途切れてしまった……」

こんな経験はありませんか?

実は、目に見えない空気中(Wi-Fi)では、日々たくさんのデータが激しい「道路の渋滞」を引き起こしているのです。この渋滞をスマートに解決し、特定の通信を「最優先」で通してくれるお巡りさんのような技術が存在します。

それが、今回ご紹介する「QoS(Quality of Service)」と、Wi-Fiに特化した優先制御ルールである「WMM(Wi-Fi Multimedia)」です。

「ネットワークの仕組みって難しそう……」と思った方も大丈夫。今回は、難しい専門用語や小難しい数式は一切使いません!郵便配達や道路の交通整理に例えながら、一歩ずつ一緒に理解していきましょう!

—

そもそも「QoS」ってなに?(道路の優先道路と救急車)

まずは全体像からお話ししますね。

ネットワークにおけるQoS(Quality of Service:サービス品質)とは、一言でいうと「データの重要度に応じて、通信の順番待ちを並び替える仕組み」のことです。

インターネットのデータは、すべて「パケット」という小さな荷物に小分けされて運ばれています。
QoSがない世界は、すべての荷物が同じトラックで、同じ一般道路を走っている状態です。

  • 大切なオンライン会議の音声(1ミリ秒でも早く届いてほしい!)
  • スマホアプリの自動アップデート(明日までに終わっていればいいや)

この2つが、まったく同じ道路で渋滞に巻き込まれていたら困りますよね。音声が途中で止まってしまい、仕事になりません。

そこで登場するのがQoSです。
「この荷物は命に関わる救急車(音声)だから最優先!」「こっちは急がない郵便物(アップデート)だから、後からゆっくり走ってね」と、荷物の種類に応じて走るレーンを分けてあげる仕組みなのです。

—

Wi-Fiの世界の交通整理リーダー「WMM」

このQoSのアイデアを、ワイヤレス(Wi-Fi)の世界に持ち込んだのがWMM(Wi-Fi Multimedia)という規格です。

Wi-Fiは、1つの周波数(電波)をみんなで分け合って使っています。誰か1人が電波を独占している間、他の人は「お先にどうぞ」と順番を待たなければなりません。

WMMは、Wi-Fiのデータを以下の4つの優先席(アクセスカテゴリ:AC)に分類し、電波を優先的に使えるようにコントロールしています。

高い優先度から順に、それぞれのキャラクターを見ていきましょう!

【優先度:高】
  ▲  1. AC_VO (音声:Voice)        <-- 超特急(最優先!)
  │  2. AC_VI (ビデオ:Video)       <-- 急行
  │  3. AC_BE (ベストエフォート)    <-- 普通列車
  ▼  4. AC_BK (バックグラウンド)    <-- 各駅停車・貨物
【優先度:低】

1. AC_VO (Voice:音声) — 「最優先の救急車」

  • 主なメンバー: IP電話、ZoomやDiscordの音声通話
  • 特徴: 音声データはサイズこそ小さいですが、少しでも遅れると「もしも〜し?」と会話が途切れてしまいます。そのため、WMMの世界では最も優先される「救急車」枠です。

2. AC_VI (Video:ビデオ) — 「急行列車」

  • 主なメンバー: YouTube、Netflixなどの動画配信、オンラインゲームの操作データ
  • 特徴: 動画はたくさんのデータを途切れなく送り続ける必要があります。音声の次に優先される「急行列車」として、スムーズに運ばれます。

3. AC_BE (Best Effort:ベストエフォート) — 「一般道路のマイカー」

  • 主なメンバー: Webサイトの閲覧(ホームページを見る)、メールの送受信
  • 特徴: 「できる限り頑張って届けるよ!」という、インターネットの基本となるクラスです。多少の遅れ(1〜2秒程度)があっても、画面の表示が少し遅れるくらいで、実用上は問題ありませんよね。

4. AC_BK (Background:バックグラウンド) — 「深夜のトラック便」

  • 主なメンバー: OSのアップデート、クラウドへの写真バックアップ
  • 特徴: 「裏側(バックグラウンド)でひっそりやっておいてね」という急ぎではないデータです。他の通信が混雑しているときは静かに待ち、道路が空いた隙を狙って運ばれます。

—

どうやって順番を決めているの?(「お先にどうぞ」の待ち時間)

ここでちょっとだけ不思議に思いませんか?
「無線LANルーターは、どうやってこの4つを優先させているんだろう?」と。

実は、Wi-Fi機器がデータを送信するとき、「データを送信する前に、ランダムな時間だけ『お先にどうぞ』と待つ」という可愛いルール(バックオフ)があります。

WMMはこの「待つ時間」のルールを不公平に設定しているのです。

  • AC_VO(音声)の待ち時間: めちゃくちゃ短い(すぐに送信ボタンを押せる!)
  • AC_BK(バックグラウンド)の待ち時間: すごく長い(みんなが使い終わるまで、じーっと待つ)

スタートの合図が鳴ったとき、AC_VOはフライング気味にすぐ走り出せるのに対し、AC_BKはしばらくその場で足踏みをさせられます。この「待ち時間の差」によって、空気中を飛び交うデータの優先度が綺麗にコントロールされているのですね。

—

実践編:ルーターやシステムでQoSを触ってみよう!

ここからは、インフラエンジニアやネットワーク構築に興味がある方向けに、実際の現場でこの優先制御(QoS)がどのように設定されているか、具体的な例を見てみましょう!

一般的に、ルーターの内部やLinuxサーバーでは、パケットのヘッダーにあるDSCP(Differentiated Services Code Point)という「優先度スタンプ」を見て、WMMの各カテゴリ(AC_VOなど)にマッピングしています。

例1:Linux(Ubuntuなど)で特定の通信を最優先にする設定

例えば、あなたがオンライン会議アプリ(ポート番号:5060番のVoIP通信など)をLinuxサーバー上で動かしており、そのパケットの優先度を「最優先(音声クラス)」に設定したい場合のコマンド例です。

Linuxでは iptables というツールを使って、パケットに優先度のスタンプ(DSCP)をペタッと貼り付けることができます。

# ------------------------------------------------------------------
# Linuxのiptablesを使って、特定の通信(音声通話等)に優先スタンプを押す
# ------------------------------------------------------------------

# ポート番号 5060(一般的なIP電話のシグナル)の送信パケットに対して、
# DSCP値を「EF (Expedited Forwarding:最優先)」に設定します。
# これにより、Wi-Fiルーターに届いた時に自動的に「AC_VO」として処理されます。

sudo iptables -t mangle -A OUTPUT -p udp --dport 5060 -j DSCP --set-dscp-class EF

# ポート番号 80/443(一般的なWeb閲覧)の送信パケットに対して、
# DSCP値を「CS1 (クラス1:低優先度)」に設定します。
# これにより、急がない通信として処理されます。

sudo iptables -t mangle -A OUTPUT -p tcp --dport 443 -j DSCP --set-dscp-class CS1

例2:Cisco製ルーターでのQoS(優先制御)設定テンプレート

企業のオフィスや、少しリッチな自宅ラボで使われるネットワーク機器(Cisco)の設定例です。
「音声データを最速で通し、他はそこそこにする」という交通整理のルールを定義しています。

! ------------------------------------------------------------------
! Ciscoルーターにおける音声QoS(優先制御)の設定例
! ------------------------------------------------------------------

! 1. 優先したい「音声データ(Voice)」の条件を定義します(クラスマップの作成)
class-map match-any VOICE_TRAFFIC
  match ip dscp ef                  ! DSCP値が「EF(最優先)」のパケットを対象にする
  match ip precedence 5             ! または優先度5のパケットを対象にする

! 2. 定義した条件に対して、どのような扱いをするか(ポリシー)を決めます
policy-map MY_QOS_POLICY
  class VOICE_TRAFFIC
    priority percent 30             ! 帯域(回線の太さ)の最大30%を「音声専用の超特急レーン」として絶対優先確保!
  
  class class-default
    fair-queue                      ! その他の一般データは、みんなで平等に分け合って使ってね

! 3. 作成したポリシーを、インターネットに繋がる外側のインターフェースに適用します
interface GigabitEthernet0/1
  service-policy output MY_QOS_POLICY

家庭用のWi-Fiルーター(ASUSやTP-Link、BUFFALOなど)であれば、このような難しいコマンドを打たなくても、管理画面の「QoS」や「WMM」のチェックボックスを「有効」にするだけで、内部でこれと同じような処理を自動で行ってくれます。テクノロジーの進化って本当にありがたいですね!

—

まとめ:QoSとWMMは「みんなで仲良く使うため」の優しさ

最後に、今回のポイントを振り返ってみましょう!

1. QoSは、データの重要度に合わせてパケットの順番を並び替える「交通整理」の仕組み。
2. WMMは、Wi-Fi電波に特化したQoSの規格で、データを4つのクラス(AC_VO, AC_VI, AC_BE, AC_BK)に分類する。
3. 優先度が高いデータ(音声など)ほど、送信前の待ち時間が短く設定されているため、電波を優先的に使える。
4. Linuxやルーターの設定でDSCPなどのスタンプを押すことで、狙ったパケットを意図的に最優先にできる。

もし自宅のWi-Fiで「誰かが動画を見ると自分のゲームが遅くなる……」と悩んでいるなら、ルーターの設定画面を開いて「WMM」や「QoS」が有効(ON)になっているかをぜひ確認してみてください。

ネットワークの世界は、こうした「お互いに譲り合う、優しいルール」によって支えられています。

今回の記事で、少しでも「ネットワークって面白いな」「意外と身近な仕組みなんだな」と感じていただけたら嬉しいです。

それでは、また次回の記事でお会いしましょう!快適なネットライフを!

コメント

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