AirH"@FreeDの構造的違いについて

AirH"@FreeDでは、その接続性、安定性、圏外復帰性能がかなり異なっています。これは、AirH"@FreeDで、そのプロトコルの構造がどのように違うかを見てみることである程度説明が付けられるものです。というわけで、その構造をここで簡単に見てみましょう。

なお、ここに出てくる構造は、基本的に私の想像が多分に含まれています。とはいえ、PHSプロトコルと無線フォーマット、PIAFSプロトコル、ドーマントプロトコルなど、公開された資料とは矛盾のない考察をしているつもりです。というか、Dポのパケットだけが唯一分からない点だったりするんですけどね。

1.基本的な動作

まずは下の図を見てください。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

これが@FreeDAirH"のプロトコルスタックの概観です。左側が実際の端末側に当たります。PSという部分が、実際のPHS移動機そのものであるところのPHSのプロトコルスタックです。@FreeDにはその上位(図中では下)にドーマントプロトコルがかぶせられています(DP)。そしてその上にPPPがあるという構造です。一方のAirH"は、PSのすぐ上にPPPがあり、パケットに関するプロトコル(PKT)はPS(PHSプロトコルスタック)の中に組み込まれたような形です(AirH"は元々PHSのフォーマットとして規定されているUSCCHまたはUSCPHを使っていると推測されます)。

ネットワーク側(右側)は、基地局(CS)があり、その上にネットワークがある、という形ですが、@FreeDについては、ネットワークの方にドーマントプロトコルが挟まっています。一方のAirH"は基地局内にパケットプロトコルが実装されています。これは端末側と同じですね。

その接続の最初ですが、まず、PCなどから接続を開始すると、PPPプロトコルの下位プロトコルとして、PHSが呼び出され、接続開始が指示されます。@FreeDの場合は、まずドーマントプロトコルがその接続指示を受け取り、自らの状態遷移を行ってから下位のPSに接続指示を出します。指示を受け取ったPSは実際に無線区間で接続トライを行います。一方のAirH"は、PPPから直接PSに指示が行きます。受け取ったPSは、PS内のパケットプロトコルに接続を知らせ、そのまま実際に無線区間での接続を開始します。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

無線区間の接続が終わると、実際の接続確立が開始されます。@FreeDでは、まずPIAFS接続がPSレベルのレイヤ上で確立することになります。一方のAirH"では、PSのレイヤでパケット接続が確立します。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

ネゴシエーションが終わり、それぞれPIAFS、パケットの接続が確立したら、今度はそのベアラ上でPPPの接続を確立しなければなりません。

ここで、@FreeDの場合は、PPPに先立って、PIAFSベアラ上でドーマントプロトコルレイヤでの接続の確立も行います。実際のPPP接続は、ドーマントプロトコルの上で為されます。

AirH"では、PSが直接PPPの下地となります。ただ、当然ながらCS内のパケットプロトコルに対するパケットの起動手順などは必要です。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

最終的には、上図のように、PSのレイヤでは、@FreeDはPIAFS、AirH"ではパケットの接続が確立しています。

@FreeDでは、その上に、ドーマント接続(図中論理接続)が存在します。AirH"に関してはこの部分はPSのプロトコルの中に埋まっているためはっきりとは分離できません。

そしてその上にPPP接続が成り立ち、実際のデータ通信が可能となるわけです。


2.圏外時の動作

実際に圏外になったときこれがどういう動作をするのかを今度は見てみましょう。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

何らかの理由で突然基地局(CS)が消えてしまいました。

この時点で、PSが取る行動に、@FreeDAirH"では違いがあります。

@FreeDでは、PS自体は切断、圏外となってしまいます。また当然ですが、上位に対して切断されたことを通知します。これで、PSの役目は終わりです。

一方のAirH"では、PSのプロトコルの中に回線休止の仕組みが組み込まれています(実際はパケットプロトコルの中に、です)。そのため、PS自体が自身の状態を回線休止(圏外)に遷移させます。一方、上位であるPPPには仮想的に接続が繋がったように見せたままです。つまり、パケットに関しては上位に切断を通知しない、というのがAirH"独特のPSプロトコルというわけです。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

さて、PSからの切断通知を受け取ったドーマントプロトコルは、その状態を「回線休止」に遷移させます。これはAirH"のパケットにおける状態遷移と同じです。また、ドーマントプロトコルは、上位に対して切断されたことを通知しません。これも同じです。このような方法で、PPP上のセッションが切断されないよう、無線区間の休止を行うことが出来ます。

ここで、この状態をもう一度おさらいしておきましょう。

@FreeDでは、PS部分は「圏外」です。ドーマントプロトコルが「回線休止」の状態を保持し、PPP上のセッションを維持します。

AirH"では、PS部分が「回線休止」の状態を保持し、PPP上のセッションを保持しています。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

ここで、基地局がまた見えるようになったとしましょう。

@FreeDのPS部分はそれまで圏外状態で、基地局をずっと探していた状態です。基地局が見えるようになったところで、位置登録(または準ずる行為)を行います。

一方のAirH"は、PSは回線休止状態だったので、基地局が見えるようになった時点で再接続(ハンドオーバ)のトライを開始します。このとき、実際に無線区間では再接続が行われますが、PS的には「ハンドオーバ」という扱いになっているようです。そして、実際にネットワーク側には再接続要求のメッセージが飛んでいきます。

@FreeDプロトコルスタック AirHプロトコルスタック
@FreeD AirH"

そして、上記の手続きが終わった時点での最終的な状態図です。

@FreeDでは、PSは無事位置登録に成功し、「待ち受け」状態になります。一方、ドーマントプロトコルは何も変化がないため、回線休止の状態のままです。この状態の時に、PPPからデータ要求が来ると、ようやく回線休止を出てPSに対して接続指示を行う、という、一種の待ち状態です。もしネットワーク側に、未送信データが残っていても、PS側から要求を出さない限りそれは送信はされません。大概はタイムアウトでロストしてしまいます。

AirH"は、PSがパケットの接続に成功して、パケット接続が確立された状態まで戻ってきます。この時点で、いつでもデータ要求を受け付けられる状態です。また、ネットワーク側からPS側への送信キューにたまっているデータはこの時点で再び送信が再開されます。


3.まとめ

こういうわけで、@FreeDは一度ドーマント状態(回線休止状態)に落ち込んでしまうと、その復帰が困難なばかりか、データ通信においてメイントラフィックとも言える、ネットワーク→端末のデータの流れが途絶えてしまい、セッションが失われる可能性が非常に高くなります。一方、AirH"では、何らかの理由で回線休止になってしまっても、再開可能な状態になり次第データが流れられる状態になるため、データが失われにくいという特長があります。もちろん、AirH"にも「一定時間無通信時の回線休止」ではネットワーク側からのデータが流れなくなる場合があります。これはパケットのプロトコルとして、一定時間無通信=端末側からの要求がない、ということだから端末の要求があるまで待ちましょう、という仕組みなので、当然といえば当然なのですが。つまり、この点では@FreeDAirH"の差は無いわけです。

@FreeDAirH"も移動体通信、つまり、電波状況が刻々と変わるわけで、実際、移動に伴って回線のハンドオーバに失敗したり圏外に移動したり、で切断されてしまうことは仕方がありません。が、この不可抗力による切断後、復帰する手順にこれだけの差があるため、実用上の「移動に対する強さ」の大きな差となって体感されるわけです。


戻る