sumikko.tokyo

presents "用語とかんたん情報学"

ビットストリームとパケット

お知らせ: たぶん古い記事です。

🐦「こんにちは。記事メンテナンスサービスです。」

🐦「この記事は大雑把に 940 日以上は経過しているようです。内容の賞味期限にご注意ください。」

通信業界では 0 と 1 の羅列、つまりビットの流れを重視します。

それを「ビットストリーム」と呼びます。

Note

この章はマニアックなので、読み飛ばしか最後のまとめだけで大丈夫です。

Attention!

インターネットに関する大半の通信は「オクテット単位」が大半です。

ややこしくなるのでこの章をはじめとして「ビットストリーム」にしてます。

ビットストリーム (通信用語として)

どのようにビットストリームに信号を載せて通信を実現するのか、 その方法や手順は「プロトコル」と呼ぶことが多いです。

  • ある程度の 0 と 1 のまとまりとその識別情報のセットを「パケット」と呼びます。
    • 識別情報などを使って送受信の開始・終了や、順番の確認などを確認します。
    • 識別情報はだいたい「パケットのヘッダー(最初の部位)」にあります。
    • 「パケット」自体も曖昧な用語で、技術的な意味は様々です。
  • プロトコル次第ですが、
    • パケットにはノイズの混入による破損の検知と修復の機能もあります。
    • パケットは必要に応じて再送されることもあります。余計に時間がかかります。

ビットストリームと物理

ビットストリームの物理的表現はいろいろです。

  • 単純なのは光の点滅だったり、2種類の音だったり。
  • 電線を通した電圧や電流の変化でもいいです。回路によります。

異なる 2 つの状態を「ノイズが少ない」環境で「流れ」で表現できればよいわけです。

パケットとペイロード

パケット内の本来の送受信対象のビットストリームを「ペイロード」と呼びます。

ペイロード (payload)

Pay (=払って)して Load (=載せてもらう)するので "payload" です。

もともとはロケットの多額の費用のかかる積載量を意味しましたが、 「お金のかかるなにかの移動手段」という意味で多用されています。

モバイルネットワークなどの課金では、ペイロードというより送受信パケット単位で 課金されることがあります。

つまり実転送量(ペイロード) ≠ 課金対象通信量(ヘッダー + ペイロードなど)です。

体感としては、使っているペイロードの送受信容量よりも パケット総量の送受信量として多く請求されている感じになります。

大きなデータを一度にまとめて送受信する場合は効率はそこそこですが、 極端な話、1 バイト単位 (キーボード操作とか)の送受信では 小さなパケットが大量に発生します。 その場合のパケットヘッダー量はペイロードよりかなり多いので非効率的です。

ストリーミング「サービス」と「サブスクリプション」

現代のビットストリームの典型例として音楽のストリーミングサービスが挙がります。

  • いわゆる「サブスクリプション」ビジネスです。
    • つまり「ストリーミング」は技術用語とビジネス用語の 2 つの意味があります。
    • もともとの "stream" の意味はさておき。
  • もはや CD を基本に買って聞くというライフスタイルではない方も多いでしょう。
    • それに CD の音声は今となってはそんなに高音質でもありません。
    • ただしすべてのストリーミングサービスが高音質というわけでもありません。

Attention!

あえてサービスとつけるのは技術用語としてのストリーミングと区別するためです。

ストリーミングサービスの概要

ともあれ、たとえ話として「音楽」という信号の 「ストリーミング」技術を利用した「ストリーミングサービス」は 大雑把にこんな感じです。

  1. 音楽という信号は物理学的には空気の振動です。音波です。
    • 音波のうちヒトが聴覚として知覚するものの「一部」が「音楽」です。
    • 別の例) 「音声 (会話目的などの他のヒトの声)」、「環境音 (川のせせらぎ)」、「雑音」。
  2. 音波をどのように 0 と 1 で表すのかは、いろいろなフォーマットで決められてます。
    • この段階はストリーミングサービス提供側の「どこかのコンピューターの中」です。
  3. フォーマットされた音波信号は 0 と 1 のビットストリームに還元され、送信されます。
    • この段階が「インターネット上のどこかを流れている信号」であり「ストリーム」です。
  4. 端末はビットストリームを受信します。パケットを認識し、ノイズも除去・訂正します。
    • 「ストリーム」を信号に再構築し、順番や間違いを正すわけです。
    • 問題がなければその信号は「音楽向けのフォーマット」として処理されます。
  5. 端末で処理された音楽の電気信号が端末内の音声出力機器に「流れ」ます。
    • 厳密にはここでも「ストリーム」に再形成されます。
    • 必要に応じて調整されます (周波数やチャンネル数など)。
  6. 音楽信号の電気的なビットストリームは最終的にはスピーカーで音波に再構築されます。
    • ここでも厳密には DA コンバーターやアンプなどの機材が関与します。

これでもかなり大雑把に記載したつもりです。実際はもっと複雑です。

まとめ

  • 特にデータ転送において「ビットストリーム」や「パケット」が重要になります。
    • 普通は意識しないでいい分野です。
    • 要は「転送の単位」と「内容が壊れてないか」の問題です。
    • 話をかんたんにするため「ビット」で書きましたが「オクテット単位」が多いです。
  • 「ペイロード」は「パケット」の一部です。
    • パケットにはヘッダーという識別情報の部位があり、ペイロード量にかかわらず 一定の通信量を占めます。
    • パケット再送や多量の小さなパケット通信では効率が悪くなります。
  • 信号は大雑把に言えば「プロトコル(決まりごと)の階層構造」を経て「0 と 1」に対応します。

モバイルネットワークにおける課金単位の注意点

多くのモバイルネットワークではパケット単位で課金されます。

ただし実際にデータ通信に利用できているのはその一部の「ペイロード」です。

端的に言えば 1GB ダウンロードしたら大体 1.5〜2 GB程度の通信になります。

おまけ

ブラウジングと通信量とバッテリー

ウェブブラウザで見るいろいろなサイトは見た目も賑やかですが、 悪い意味で「裏でも賑わって」います。

広告に関する各種通信です (トラッキングは後に触れます)。

  • 広告本体がまず画像、場合によっては動画で大きい。
  • 広告を各種業者が「最適化」するためのコードが大量にある。
    • それら自体は「小さい容量」ですが「ブラウザへの負荷は大」です。
    • 要するにバッテリーの持ちを悪くします。
  • (Cookie などによる) 小さな書き込みが多い。
    • ストレージアクセスが多いので書き込みの消費電力がでる。
  • 広告もどきのマルウェアもある。

デジタル広告の問題

多量の広告が出るサイトをよく閲覧するなら、 通信量もバッテリーの減りも多くなります。

広告自体を否定したいわけではないのですが、 サイトによっては「広告を大量に掲載することが目的」になっています。

広告を利用したマルウェアの存在も検討に入れると、 セキュリティの面からはデジタル広告は懸念材料になります。

「控えめな広告 (コンテンツより目立たない)」が 好ましいと業界自体が議論しているのですが、 あまり劇的に改善しているという印象もありません。

Note

デジタル広告と配信者と皆様の関係については、 総論なり各論なりで別記します。

蛇足

ビットストリームから私たちが耳にする音楽になるまで、 あるいは逆に音楽をビットストリームにするには、 多彩なフォーマットと複数階層のプロトコル群が活用されています。

完全に専門分野の話なので細かいことは気にしないで大丈夫です。

ネットワークに関しては「OSI参照モデル」と称される専門用語を挙げておきます。 興味がある方は調べてみるとよいですが、 極めて広範で専門的なので全てを知るする必要は 技術者であっても ありません。

Published: (Modified: )