皆さん、こんにちは!技術メディアの主筆ライターとして、日々ネットワークの奥深い世界を冒険している私です。
「家族がリビングで高画質な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)になっているかをぜひ確認してみてください。
ネットワークの世界は、こうした「お互いに譲り合う、優しいルール」によって支えられています。
今回の記事で、少しでも「ネットワークって面白いな」「意外と身近な仕組みなんだな」と感じていただけたら嬉しいです。
それでは、また次回の記事でお会いしましょう!快適なネットライフを!
コメント