モデムエラー修正プロトコルとは何ですか?
モデムエラー修正プロトコルは、データ送信エラーを検出および修正する方法です。 ハードウェアベースのプロトコルとソフトウェアベースのプロトコルの両方が存在し、しばしば一緒に使用されます。 通常、個々のモデムは、組み込みのハードウェアベースのプロトコルを使用して、通信リンクのノイズを補正します。 リンクの両端のシステムは、ソフトウェアベースのプロトコルを使用して、モデムの制御を超えた問題に対処することがよくあります。
伝送エラーの修正は、通常、複数のステップからなるプロセスです。 各データパケットがリンクを介して送信される前に、送信モデムはチェックサムを計算し、パケットに含めます。 巡回冗長検査(CRC)アルゴリズムは、多くの場合、チェックサムを決定するために適用されます。 パケットが到着すると、受信モデムはデータのチェックサムも計算し、パケット内の既存のチェックサムと比較します。 2つが一致しない場合、受信機は送信機に不良データパケットを再送信する必要があることを通知します。
1980年代、Microcom、Inc.は、ハードウェアベースのモデムエラー修正プロトコルのファミリを導入しました。 Microcom Networking Protocol(MNP)と呼ばれる、10の番号付きクラスで構成され、時間の経過とともにパフォーマンスが向上しました。 MNPクラス3は、たとえば、個々のデータバイトから不要なフレーミングビットを排除します。 MNPクラス5は、送信する前にデータを圧縮し、クラス1〜4の改善に基づいて構築します。MNPクラス6は、必要に応じてデータ帯域幅を変更し、必要に応じて一方向を優先し、接続の起動時間を短縮します。
MNPは広く採用されており、ほとんどの電話ベースのモデムに組み込まれています。 より高度なハードウェアベースのモデムエラー修正プロトコルの1つが1990年代初頭に導入されました。 国際電気通信連合の電気通信標準化部門(ITU-T)V.42標準は、MNPとともにモデムにすぐに組み込まれました。 モデムのリンクアクセス手順(LAPM)には、MNPと比較して優れたデータ圧縮が含まれています。 また、送信データのオーバーヘッドが小さくなり、フロー制御と同期送信のサポートが向上します。
ハードウェアベースのモデムエラー修正プロトコルは、各データパケットがそのまま到着することを保証するのに非常に優れています。 ただし、ソフトウェアとハードウェアの両方のプロトコルを併用することで、多くのファイル転送をより効率的に処理できます。 非常に大きなファイルの送信中に接続が失われた場合、多くのシステムではファイルの最初からやり直す必要があります。 対照的に、一部のソフトウェアベースのエラー修正プロトコルは、送信が中断した場所を記憶し、そこから続行します。 ソフトウェアプロトコルは、モデム接続自体を超えて、システムのフロー制御をより適切に管理することもできます。
XMODEMは、1970年代後半に作成された初期のソフトウェアベースのモデムエラー修正プロトコルの1つでした。 ブロック番号、プリミティブチェックサム、各パケット内のいくつかのマーカーバイトなど、非常に簡単でした。 そのチェックサムアルゴリズムには問題があり、多くの人がすぐに追加機能を備えたバリエーションを実装しました。 これらには、より大きなブロックサイズ、複数のファイルの転送、および前のパケットが検証される前に新しいパケットを開始することが含まれます。 1980年代半ばのXMODEMの後継であるYMODEMは、これらの多くをオプションの拡張機能としてリストしました。
ZMODEMとその変種は、大幅に改善されたソフトウェアベースのモデムエラー修正プロトコルです。 1986年にYMODEMの作者によって開発されたZMODEMには、32ビットを使用したより優れたCRCアルゴリズムが含まれています。 現在のパケットが確認されるのを待たずに次のパケットに移動し、スループットまたはメッセージ配信を改善できます。 ZMODEMは、接続が切断された場合に、中断したところから大きなファイル転送を再開することもできます。 その後のバリエーションには、さらに大きなブロックサイズとパケットデータの自動圧縮が含まれていました。