非永続CSMAプロトコルとは?仕組み・メリット・デメリットを解説
非永続CSMA(Non-persistent CSMA)は、MAC(Medium Access Control:媒体アクセス制御)層で動作するCSMA(Carrier Sense Multiple Access:搬送波感知多重アクセス)プロトコルの一種であり、チャネルを積極的に奪い合わない控えめな方式です。CSMAプロトコルでは、複数のユーザーやノードが、複数のノードを接続する1本のケーブルや光ファイバー、あるいは無線スペクトラムの一部といった共有メディアを介してデータの送受信を行います。
非永続CSMAでは、送信ステーションがフレームを送りたいタイミングでチャネルがビジー状態であることを検知すると、その間はチャネルの状態を一切確認せずにランダムな時間だけ待機し、その後アルゴリズムを再度実行します。
非永続CSMAのアルゴリズム
非永続CSMAの動作手順は以下の通りです。
フレームの送信準備が整うと、送信ステーションはチャネルがアイドル状態かビジー状態かを確認します。
チャネルがアイドル状態であれば、直ちにフレームを送信します。
チャネルがビジー状態の場合、ステーションはランダムな時間待機します。この間、チャネルの状態は確認しません。
待機時間が経過した後、再びチャネルの状態を確認し、アルゴリズムを最初からやり直します。
非永続CSMAのメリット
最大の利点は、1-永続CSMA(1-persistent CSMA)と比べて衝突(コリジョン)の発生率が大幅に低下することです。これは、各ステーションが再送を試みる前にランダムな時間待機するためです。複数のステーションが偶然同じ時間だけ待機する確率は極めて低いため、競合するステーション同士の衝突が大幅に減少します。
非永続CSMAのデメリット
一方で、ネットワークの帯域利用効率が低下するという欠点があります。送信したいフレームを持つステーションが存在していても、各ステーションが再送前にランダムな時間待機するため、チャネルがアイドル状態のままになることがあるからです。つまり、チャネルが空いているにもかかわらず、複数のステーションが待機を続けている状況が発生し得ます。
スループットの比較
ネットワークシステムのスループットは、1フレーム時間あたりの成功送信数として定義されます。次のグラフは、非永続CSMAのスループットと他のMACプロトコルのスループットを比較したものです。

-
P-永続CSMAプロトコルとは?仕組み・利点・スループットを解説
P-persistent CSMA(p永続CSMA)は、搬送波感知多重アクセス(CSMA)プロトコルの一種で、1-persistent CSMAとnon-persistent CSMAの両方の利点を組み合わせた方式です。CSMAプロトコルでは、複数のユーザーやノードが、複数のノードを接続する単一のケーブルや光ファイバー、あるいは無線スペクトラムの一部といった共有メディアを通じてデータを送受信します。p-persistent CSMAでは、送信ステーションがフレームを送信しようとした際にチャネルがビジー状態(使用中)であることを検知すると、送信の終了を待ち、その後確率pで送信を行います。この「確
-
Pythonでのベクトル化とは?NumPyによる高速な配列演算の基礎を解説
本記事では、Python 3.xにおける「ベクトル化(Vectorization)」の概念と、その実装に用いられるさまざまなテクニックについて解説します。ループ処理を排除した効率的なコードの書き方を、具体例とともに見ていきましょう。 ベクトル化とは何か? ベクトル化とは、ループを使用せずに配列操作を実装するテクニックです。関数を活用することで、コードの実行時間や計算時間を大幅に短縮できます。 ベクトル化では、配列に対して個別に処理を行うのではなく、ベクトル全体に対して一括で演算を実行します。代表的な演算には以下のようなものがあります。 ドット積(内積・スカラー積):2つのベクトルから単一のス