このすみノート

Webエンジニアが技術や趣味を書くブログです。

ALOHAnet - 有線LANより早く生まれた無線LANの起源と、CSMA/CA方式への発展

2019年秋の情報処理試験で、「ネットワークスペシャリスト」を受験してみることにしました。 そこで毎日少しずつ学習を進めているのですが、データリンク層の学習でハワイの「ALOHAnet(ALOHAネット)」に出会いました。

無線LANの先駆的存在で興味深かったので、学習記録も兼ねて備忘録として残します。

1970年に誕生した先駆的なネットワークシステム

ALOHAnetの目的は、ハワイの島々に点々としている「ハワイ大学」のキャンパスを、コンピューターネットワークで結ぶことです。

アマチュア無線のように電波を共有して通信を行なう仕組みで実現されており、これは1970年のことです。 なんと「無線LANのほうが有線LANより先に実現されている」というのですから驚きです。

ハワイの大学から無線LANの技術へ

Wikipediaには、以下のように書いてあります。 ハワイのアマチュア無線のように大学のキャンパス間を結ぶコンピューターネットワークの仕組みが、今日の無線LANの技術へとつながっています。

ALOHAの特性は、今日の Wi-Fi のそれとそれほど違わない。どちらも本質的な非効率性を有している。

引用: https://ja.wikipedia.org/wiki/ALOHAnet

ALOHAプロトコル

ハワイで誕生した仕組みは「ALOHAプロトコル」と言います。 初期段階のプロトコルは「Pure ALOHA」という単純な仕組みですが、その後の改良で「Slotted ALOHA」へ発展しています。

f:id:konosumi:20190519135940j:plain

CSMA/CA方式への発展

ALOHAにおける送信権は早いもの勝ちで、CSMA方式と同じです。 しかし無線では、2つの送信局が同時に通信しようとすると混信が発生し、データの破壊が起きてしまいます。

当初のALOHAネットでは、混信が発生すると手動で再送していたようです。 しかしこれは大変なので、衝突を避けるために生まれた仕組みが、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)です。 日本語では「搬送波感知多重アクセス/衝突回避」と言います。

これはネットワーク内の搬送波を感知すると、通信が終了するまで待ちます。 しかし通信終了後、すぐに送信を試みると衝突が発生しやすくなります。そこでランダムな長さの待ち時間をとってから、データの送信を開始します。 これをバックオフ制御時間といいます。

なお現在のイーサネットで使われているのは、CSMA/CD(Carrier Sense Multiple Access/Collision Detection)です。日本語では「搬送波感知多重アクセス/衝突検出」です。

つまり衝突を回避する仕組みがALOHAnetを契機に考案され、その後のイーサネットの衝突を検知する仕組みへと繋がっているというわけです。

さいごに

ハワイの島々にある大学のキャンパスを結ぶためのアマチュア無線が、今日の無線LANへつながっていると考えると、とても興味深いです。

ネットワーク関連は5Gをはじめまだまだ進化の激しい分野なので、注視していきたいです。

余談:ネットワークスペシャリストの受験理由など

単純にネットワーク関連の知識に興味があるというのが一番の理由なんですが。

補足しておくと、自分は何かの技術に特化するより、広く知識を身に付けていくタイプだと思ったからです。 今までの経歴も似ていて、「フロントエンド」「モバイルアプリ」「サーバーサイド」「マネージメント」のどれかに特化しているわけではなく、満遍なくやってきました。

でも、自分をWEB関連のエンジニアと考えて振り返ってみたところ、ネットワーク系の知識が足りないと思えてきました。

1日30分を目安にインプレスの教科書を読んでいるのですが、今回のブログに書いた「ALOHAnet」のような発見もあり、意外とおもしろいです。 まあ、おもしろいと感じるのは最初の知識を付けていく段階で、後半の午後問題の演習になると苦労しそうではありますが(遠い目)。

(全文PDF・単語帳アプリ付)徹底攻略 ネットワークスペシャリスト教科書 2019年度

(全文PDF・単語帳アプリ付)徹底攻略 ネットワークスペシャリスト教科書 2019年度

  • 作者: 株式会社わくわくスタディワールド瀬戸美月
  • 出版社/メーカー: インプレス
  • 発売日: 2019/03/15
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る