ヌルモデム

ヌルモデムとは



ヌルモデムは、RS-232シリアルケーブルを用いて2つのDTE(Data Terminal Equipment、コンピュータ端末など)を直接接続するための通信方式です。通常、RS-232はDTEとDCE(Data Communication Equipment、モデムなど)を接続するために用いられますが、ヌルモデムではモデムを介さずにDTE同士を接続します。

ヌルモデムの起源



RS-232規格は、もともとテレタイプ端末モデム経由で接続するために開発されました。しかし、モデムを使わずに2台のテレタイプ端末を直接接続したいというニーズから、ケーブルの配線をクロスさせることでDTE同士を接続する方法が生まれました。これがヌルモデムの始まりです。

ヌルモデムという用語は、接続方法だけでなく、使用するケーブルやアダプター自体を指すこともあります。1980年代から1990年代初頭にかけて、初期のパソコン間でデータをやり取りするための一般的な手段として広く利用されました。

ケーブルとアダプター



ヌルモデムケーブルは、送信線と受信線がクロス結線されたRS-232シリアルケーブルです。ハンドシェイク線もクロス結線されている場合があります。ストレート結線のシリアルケーブルとヌルモデムアダプターを組み合わせて使用することもできます。アダプターには、必要なクロス結線が組み込まれています。

配線図



以下は、2つのDTE(例:2台のPC)を相互接続するための一般的なヌルモデムケーブルの配線例です。

ピン DTE 1 DTE 2
------
1 DCD DSR
2 TXD RXD
3 RXD TXD
4 DTR DTR
5 GND GND
6 DSR DCD
7 RTS CTS
8 CTS RTS
9 RI RI

この配線は、DCD(データキャリア検出)信号を適切にアサートするソフトウェアで機能します。

用途



ヌルモデムの主な用途は、モデムを使わずに2台のテレタイプ端末を直接接続することでした。しかし、RS-232規格が他の機器にも採用されるようになると、DTEのようなインターフェースを持つ機器とDCEのようなインターフェースを持つ機器を接続する必要が生じました。2つのDTE(または2つのDCE)を接続するためには、ヌルモデムが不可欠でした。

一般的には、コンピューター間でファイル転送や遠隔操作を行うために使われました。Windowsでは、ヌルモデム接続で直接ケーブル接続機能が利用でき、MS-DOS後期にはInterLnkプログラムが付属していました。これらのソフトウェアを使うと、一方のコンピュータのハードディスクをもう一方のネットワークドライブとしてマッピングできました。

コモドールのAmigaシステムでは、ヌルモデム接続は2台のマシンでマルチプレイヤーゲームをプレイする一般的な方法でした。

ヌルモデムの衰退と復活



イーサネットなどのより高速な通信技術が普及したことで、ヌルモデムケーブルの利用は一般的には少なくなりました。しかし、カーネルモード開発では、依然としてヌルモデムケーブルが役立つ場合があります。最小限のデバイスドライバとコードでカーネルのリモートデバッグが可能になるためです。LinuxのKGDB、BSDのddb、WindowsのWinDbg/KDなどのデバッガーで使用できます。

また、シリアル管理コンソールを備えたヘッドレスデバイス(マネージドスイッチ、ラックマウントサーバー、組み込みシステムなど)の管理にも、ヌルモデムケーブルが活用されています。公共サービス分野では、DNP3、Modbusなどのプロトコルを使用した短距離のシリアル通信に利用され、新しいネットワーク技術への移行が遅れている分野で、依然として広く使われています。

ヌルモデムの種類



2つのDTEを接続するには、対応する信号(TD-RD、DTR-DSR、RTS-CTS)を入れ替える必要があります。これには、個別のデバイスを使用するか、専用のクロス結線ケーブルを使用します。キャリア検出が必要な場合は、DSRとDCDを接続してDTR信号からCDをシミュレートすることができます。

ハードウェアハンドシェイクがない例


最もシンプルなシリアルケーブルには、データ線と信号接地線しか接続されていません。フロー制御ソフトウェアで実装する必要があります。クロス接続されたRx線とTx線でのみデータ通信が可能です。

ループバックハンドシェイク


ケーブルのピン配列がループバックしているだけで、ハードウェアフロー制御は実際には利用できません。ソフトウェアがハードウェアフロー制御があると誤認識する可能性があります。

パーシャルハンドシェイク


フロー制御線は同一のデバイスにループバックされますが、RTSとCTSのフロー制御が可能になっています。CD(キャリア検出)信号をチェックする場合のみ機能します。

フルハンドシェイク


RTSとCTSがクロスしているため、従来のケーブルのハードウェアフロー制御とは互換性がありません。適切なソフトウェアがあれば、より高速な通信が可能です。

仮想ヌルモデム



仮想ヌルモデムは、仮想シリアルポートを使用して2つのアプリケーションを直接接続するソフトウェアソリューションです。ハードウェアヌルモデムをエミュレートし、より高速なデータ送信やネットワーク経由の接続が可能です。また、物理的なシリアルポートやケーブルが不要です。

[DOSBox]]などのエミュレーターで仮想ヌルモデムを使用し、昔のDOSゲームをオンラインでプレイできます。Unixの擬似端末]も仮想[[モデム通信路として利用可能です。

まとめ



ヌルモデムは、モデムを介さずに2つのDTEを直接接続するための歴史的な通信手段です。初期のパソコン通信や組み込みシステムの分野で活躍し、現在でも特定の用途で活用されています。また、仮想ヌルモデムは、ソフトウェアで物理的なヌルモデムをエミュレートし、より柔軟な接続環境を提供します。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。