フロー制御とハンドシェイク
高速モデムの多くは、依然として古くて低速なモデムに接続する可能性があります。その場合、高速モデムはコンピュータから情報を高速で受信し、データを低速で送信します。このため、これらのモデムは周期的に速度を落とすようコンピュータに指示する必要があります。
フロー制御は、コンピュータがモデムに送信するデータ量を制御するためにモデムが使用する手法です。フロー制御によって、モデムがデータを受信できる速度よりも高速でモデムにデータが送信された場合でも、データが失われません。
フロー制御には広く認知されている2つの標準方式があります。ソフトウェアハンドシェイク(XON/XOFFを使用)とハードウェアハンドシェイク(RTS/CTSを使用)です。
ソフトウェアハンドシェイク(XON/XOFF)
FirstClassではソフトウェアハンドシェイクは使用できません。ただし、ほとんどの高速モデムは、他の多くのプログラムと同様、RTS/CTSハンドシェイクがデフォルトになります。このため、作成するモデム設定文字列でXON/XOFFハンドシェイクが有効になっていないことを確認する必要があります。
ハードウェアハンドシェイク(RTS/CTS)
高速モデム、またはエラー訂正やデータ圧縮を装備したモデムを使用する場合は、ハードウェアハンドシェイクを有効にする必要があります。ハードウェアハンドシェイクはモデムケーブル上でCTS(Clear to Send)およびRTS(Request to Send)ピンを使用してデータフローを制御します。
ハードウェアハンドシェイクを使用するには、ハードウェアハンドシェイクケーブルが必要になります(送信側と受信側の双方で有効なRTSおよびCTSラインを有するケーブル)。
ボーレート
モデムのデータ転送速度を示す単位です。ボーレートが高速になれば、それに応じてデータの転送速度も速くなります。ボーレートを10で割ることにより、秒単位で転送されるバイト(または文字)数の概算を得ることができます。 これにより、ファイル転送に要するおおよその時間を知ることができます。
例えば、2400bpsモデムでは約240バイト/秒(4秒ごとに約1キロバイト(KB))でのデータ転送が可能です。したがって、25キロバイト(KB)のファイルの転送時間は約100(25×4)秒になります。
フォールバック
最初に2台のモデムが接続すると、モデム間でネゴシエーションを行い、接続で利用できる最適な通信速度を決定します。通常、この速度はいずれかのモデムで対応している最高速度よりも低く設定されます。この場合、高速なモデムの方が低速に「フォールバック」します。
例えば、速度が9600bpsのモデムと速度が14400bpsのモデムが接続したと仮定すると、モデム間のネゴシエーションにより使用される通信速度は9600bpsになります。この場合、速度が14400bpsのモデムは9600bpsにフォールバックします。
ハードウェアキャリア検出
FirstClassは、サーバとの接続が切断されたことを次のいずれかの方法を使って検出します。
・サーバから応答を受け取るまでの時間を監視する。
・モデムケーブル上でキャリア検出ピンの状態を監視する。
2つ目の方法は、切断された接続を最も正確に識別するものです。この方法を使用するには、モデム接続の設定時にハードウェアキャリア検出を有効にする必要があります。モデムはリモートのモデムからキャリアと呼ばれる特別なトーンを受信したときにこのピンをオンにします。モデムがこのトーンの受信を停止すると、このピンはオフになり、FirstClassは接続が切断されたこと報告します。
DTRハングアップ
コンピュータは、次に示す方法で呼び出しをハングアップするようにモデムに指示することができます。
・アテンション文字列の後にハングアップ文字列を送信します。
・DTR(Data Terminal Ready)ピンを監視するようにモデムを設定し、DTRピンをオフにします。
アテンション文字列を使った方法はお勧めできません。モデム速度とコンピュータ速度とが一致しない場合、アテンション文字列は正常に受け取られず、モデムがハングアップしない可能性があります。ネゴシエーションの間に速度が同期しなくなる可能性が高いため、DTRラインの方がより信頼性が高くなります。
DTRピンの方法を選択した場合、FirstClassはDTR回線をオフにし、OKを待機し、ハングアップコマンドを送ることによってモデムのハングアップを試みます。
モデムの標準
ここで解説する標準は次の3つに分類されます。
・変調(速度)
・エラー訂正
・データ圧縮
ほとんどのモデム標準は、国際電信電話諮問委員会(CCITT)により割り当てられたコードにより参照されます。
注意
高速通信、エラー訂正、またはデータ圧縮のために独自の標準を持つモデムを選択する時には注意が必要です。これらの機能が正常に動作するのは受信側と送信側の双方が同じ標準に対応するモデムを使用している場合に限られるからです。
変調(速度)の標準
変調(または速度)の標準には、モデムが互いに通信する速度と方法、そして両方のモデムで接続に使用できる最適な通信速度を決めるためのネゴシエーションの方法が含まれます。一般的な変調標準は次のとおりです。
V.22 |
最高2400bpsの速度でのデータ転送のためのCCITT標準。 |
HST |
9600bpsから16800bpsまでの速度(モデルに依存)でのデータ転送のためのUSR独自標準。 リバースチャネルはより低速です。別の種類のモデムに接続する場合、期待できる最善の速度は2400bpsです。 |
Hayes Vシリーズ |
最高9600bpsの速度でのデータ転送のためのHayes標準。 リバースチャネルはより低速です。別の種類のモデムに接続する場合、期待できる最善の速度は2400bpsです。 |
V.32 |
最高9600bpsの速度でのデータ転送のためのCCITT標準。 |
V.32bis |
最高14400bpsの速度でのデータ転送のためのCCITT標準。 |
V.32terbo |
最高19200bpsの速度でのデータ転送のためのAT&T標準。 |
V.fc |
最高28800bpsの速度でのデータ転送のためのRockwellチップセット独自標準。 |
V.34 |
最高28800bpsの速度でのデータ転送のためのCCITT標準。 |
K56flex |
56KモデムのためのLucentとRockwellの独自標準。 |
x.2 |
56KモデムのためのUS Robotics独自標準。 |
V.90 |
56KモデムのためのCCITT標準。 |
エラー訂正標準
エラー訂正標準は、電話回線のノイズなどの外部干渉に起因するエラーを訂正するものです。エラー訂正により、受信側のモデムから送出されるデータが送信側のモデムに入ってくるデータと全く同じになることが保証されます。
エラー訂正標準は2つのモデム間で生じるエラーだけを訂正します。この標準はモデムとコンピュータ間で生じるエラーの訂正はできません(このような接続は適切なケーブルが使用され、接続がセキュアな場合、より信頼性が高くなります)。
一般的なエラー訂正標準は次のとおりです。
V.42 |
CCITTエラー訂正標準。 V.42標準は一部MNPに基づきます。 |
MNPエラー制御。 |
Microcom Networking Protocol(早期のエラー訂正標準) |
データ圧縮標準
データ圧縮標準は、送信側のモデムのデータを圧縮し、そのデータを圧縮形式でモデムリンク経由で送り、受信側のモデムでそのデータを展開するものです。
データ圧縮が可能な場合は、データ圧縮によってスループットがより効率的になります。データ圧縮が不可能な場合(例えば、データがすでにStuffitやPKZipなどのユーティリティによって圧縮されている場合)、データ圧縮機能付きのモデムを使用しても十分な効果は得られません。
一般的なデータ圧縮標準は次のとおりです。
V.42 bis |
CCITTデータ圧縮標準。 この標準の理論上の最大圧縮比は4:1です。 |
MNPレベル5圧縮 |
Microcomデータ圧縮標準。 この標準(V.42bis標準の一部)の最大圧縮比は2:1です。MNP5では圧縮済みファイルの転送速度は実際には低下します。 |
FirstClassとモデムの連携
サーバへの接続時にFirstClassとモデムの連携が始まります。FirstClassは、接続ファイルに保存された接続設定を使用してログイン処理の段階を自動化します。
処理の各段階で、[FirstClassにログイン]フォームには2つのステータス行が表示されます。最初の行には進行中のアクションが表示されます。2行目には、モデムに送信されたコマンドとモデムからの応答が表示されます。
ログイン中に発生する各段階は次のとおりです。
段階1 |
FirstClassは、接続ファイルで指定されたCOMポート経由でReset文字列をモデムに送信し、モデムがOK応答を返すのを待ちます。ステータス行には「モデムをリセット中」と表示され、その後にモデムに送信されたReset文字列が続きます。 |
段階2 |
サーバはOK応答を受信すると、Setup文字列を送信し、OKを待ちます。ステータス行には「モデムを設定中」と表示され、その後にモデムに送信されたSetup文字列が続きます。 それぞれのモデムで異なるSetup文字列が必要になるため、[接続]フォームで適切なモデムの種類を選択する必要があります。 |
段階3 |
いくつかのオプションの設定(スピーカー、H/Wハンドシェイク、DTRハングアップ、キャリア検出など)がMODEM.FCPファイルに設定されている場合、FirstClassはOption列をモデムに送ります。ステータス行には「モデム オプションを送信中」と表示され、その後にモデムに送信されたオプションのコマンドが続きます。 |
段階4 |
FirstClassはDial文字列をモデムに送り、モデムからCONNECT応答を待ちます。Dial文字列には設定ファイルで定義された電話番号が含まれます。状態行には「ダイヤル中」と表示され、その後にモデムに送信されたDial文字列が続きます。Dial文字列が送信されると、最初のステータス行には「接続を待っています。」と表示されます。 ステータス行に表示された電話番号が市内局番(9や1など)と市外局番を含んだ正しいものかどうかを確認してください。 |
段階5 |
モデムが接続のネゴシエーションを行える場合、ステータス行には「接続中」と「接続完了」というメッセージが表示されます。接続が確立するとユーザIDとパスワードがサーバに送信されます。それらが正しい場合はFirstClassデスクトップが開きます。 すべてのサーバモデムがビジー状態の場合、モデムはBUSY応答を返し、ログインは失敗します。モデムは接続に失敗すると、NO CARRIER応答を返し、ログインは失敗します。 |
ログイン処理のいずれかの段階が失敗すると、ログインは停止します。
|