
ヌルモデムとは、 RS-232シリアルケーブルを用いて2台のDTE(コンピュータ、端末、プリンタなど)を直接接続する通信方式です。この名称は、歴史的にRS-232ケーブルを用いて2台のテレプリンタまたは2台のモデムを接続し、相互通信を行っていたことに由来しています。ヌルモデム通信とは、クロスオーバーRS-232ケーブルを用いてモデムを介さずにテレプリンタ同士を直接接続することを指します。また、コンピュータとプリンタはどちらもDTEであるため、これらをシリアル接続するためにも使用され、プリンタケーブルとも呼ばれています。
RS-232規格は、通信リンクの両端の定義に関して非対称であり、一方の端がDTE 、もう一方の端がDCE(例えばモデム)であると想定しています。ヌルモデム接続では、送信回線と受信回線がクロスリンクされます。目的に応じて、1つまたは複数のハンドシェイク回線もクロスリンクされることがあります。ヌルモデム接続はRS-232規格では規定されていないため、複数の配線レイアウトが使用されています。
起源
RS-232規格は、もともと電話回線を介して相互に通信できるテレタイプライター機器向けに開発・使用されていました。各テレタイプライター機器はRS-232接続を介してモデムに物理的に接続され、モデム同士が相互に呼び出しを行うことで、テレタイプライター機器間のリモート接続を確立していました。ユーザーがモデムを使わずに2台のテレタイプライター機器を直接接続したい場合(ヌルモデム)、接続をクロスリンクします。「ヌルモデム」という用語は、接続方法だけでなく、ケーブルやアダプタ自体を指す場合もあります。[ 1 ]ヌルモデムケーブルは、1980年代から1990年代初頭にかけて、初期のパーソナルコンピュータ間でデータを転送するための一般的な方法でした。
ケーブルとアダプター

ヌルモデムケーブルは、送信線と受信線がクロスリンクされたRS-232シリアルケーブルです。ケーブルによっては、ハンドシェイク線もクロスリンクされています。多くの場合、ストレートシリアルケーブルとヌルモデムアダプタが併用されます。このアダプタには、信号間の必要なクロスリンクが含まれています。[ 2 ] [ 3 ]
配線図


以下は、データキャリア検出(DCD)信号の適切なアサーションに依存するソフトウェアで動作する完全なハンドシェイクを提供する2つのDTE(例えば2台のPC)を接続するヌルモデムケーブルの非常に一般的な配線図です。[ 2 ]
| 片側 | 信号方向 | 反対側 | |||||
|---|---|---|---|---|---|---|---|
| 信号と略語 | DB-25ピン | DE-9ピン | DE-9ピン | DB-25ピン | 信号 | ||
| フレームグラウンド | FG | 1 | 該当なし | 一般 | 該当なし | 1 | FG |
| 送信データ | TxD、TD | 2 | 3 | → | 2 | 3 | 処方箋医薬品 |
| 受信データ | 処方箋医薬品、RD | 3 | 2 | ← | 3 | 2 | 翻訳 |
| 送信リクエスト | RTS | 4 | 7 | → | 8 | 5 | CTS |
| 送信完了 | CTS | 5 | 8 | ← | 7 | 4 | RTS |
| 信号グランド | SG | 7 | 5 | 一般 | 5 | 7 | SG |
| データセット準備完了 | DSR | 6 | 6 | ← | 4 | 20 | DTR |
| データキャリア検出 | DCD、CD | 8 | 1 | ||||
| データ端末対応 | DTR | 20 | 4 | → | 1 | 8 | DCD |
| 6 | 6 | DSR | |||||
アプリケーション
ヌルモデムの本来の用途は、モデムを使わずに2台のテレタイプ端末を直接接続することでした。RS-232規格が他の機器にも採用されるにつれ、設計者は自社の機器がDTE型かDCE型のどちらのインターフェースを持つかを決定する必要が生じました。2台のDTE(または2台のDCE)が相互に通信する必要があるアプリケーションでは、ヌルモデムが必要でした。[ 4 ]
ヌルモデムは、コンピュータ間のファイル転送やリモート操作によく使用されていました。Microsoft Windowsオペレーティングシステムでは、ヌルモデム接続を介して直接ケーブル接続を使用できます。MS -DOSの後期バージョンには、 InterLnkプログラムが付属していました。どちらのソフトウェアも、一方のコンピュータのハードディスクをもう一方のコンピュータのネットワークドライブとしてマッピングすることを可能にします。これには、イーサネットハードウェア(ネットワークインターフェースカードやモデムなど)は必要ありません。[ 5 ] Amigaコンピュータでは、ヌルモデム接続は2台のマシン間でマルチプレイヤーゲームをプレイするための一般的な方法でした。
イーサネットなどのより高速な情報交換システムが普及し、利用できるようになったことで、ヌル モデム ケーブルはあまり使用されなくなりました。しかし、最近のシステムでは、このようなケーブルはカーネルモードの開発に依然として役立ちます。最小限のデバイス ドライバとコード (シリアル ドライバは主に 2 つのFIFOバッファと1 つの割り込みサービス ルーチンから構成されます) でカーネルをリモート デバッグできるためです。たとえば、LinuxのKGDB 、 BSDの ddb 、 Windows のWinDbg または KDを使用してシステムをリモート デバッグできます。これにより、カーネル パニックの際にカーネル内デバッガに切り替えることができるシリアル コンソールも提供されます。カーネル パニックが発生すると、ローカル モニタとキーボードが使用できなくなる可能性があります (GUI がこれらのリソースを予約しており、パニック時にデバッガに切り替えることでこれらのリソースが解放されるわけではありません)。
これらのケーブルが役立つもう一つの状況は、シリアル管理コンソールを提供する「ヘッドレス」デバイス(マネージドスイッチ、ラックマウントサーバーユニット、およびさまざまな組み込みシステムなど)を管理する場合です。リモート監視にヌルモデムを広く使用している組み込みシステムの例としては、RTU、デバイスコントローラー、スマートセンシングデバイスなどがあります。これらのデバイスは近接して設置されることが多く、DNP3、Modbus、その他のIECバリアントなどのプロトコルを介した短距離シリアル通信に適しています。電力、石油、ガス、水道などの公共事業は、耐用年数が数十年と長い設備投資に多額の投資を行っているため、新しいネットワーク技術への対応が遅れている可能性があります。シリアルポートとヌルモデムケーブルはこれらの業界で依然として広く使用されており、イーサネットは徐々に普及しつつあります。
ヌルモデムの種類
2台のDTEデバイスを接続するには、対応する信号(TD-RD、DTR-DSR、およびRTS-CTS)を交換することでデバイス間のDCEとして機能するヌルモデムが必要です。これは、別のデバイスと2本のケーブル、または有線ケーブルを使用して行うことができます。デバイスがキャリア検出を必要とする場合は、コネクタ内部でDSRとDCDを接続することでシミュレートし、リモートDTR信号からCDを取得できます。Yost規格の特徴の1つは、ヌルモデムケーブルが「ロールオーバーケーブル」であり、片方の端のピン1から8を、もう一方の端のピン8から1に反転させるだけであることです。[ 1 ]
ハードウェアハンドシェイクなし
最も単純なタイプのシリアルケーブルには、ハードウェアハンドシェイクがありません。このケーブルでは、データ線と信号グランド線のみが接続されています。その他のピンは接続されていません。このタイプのケーブルでは、フロー制御はソフトウェアで実装する必要があります。このケーブルの使用は、交差接続されたRx線とTx線上のデータトラフィックのみに制限されます。このケーブルは、モデム制御信号を必要としない、あるいは使用しないデバイスにも使用できます。[ 1 ]
ループバックハンドシェイク
単純なヌルモデムケーブルには互換性の問題と潜在的な問題が発生する可能性があるため、ソフトウェアにハンドシェイクが利用可能であると思わせる解決策が開発されました。しかし、ケーブルのピン配置は単にループバックするだけであり、ハードウェアフロー制御を物理的にサポートしていません。[ 1 ]
このケーブルはより多くのソフトウェアと連携できましたが、前モデルと比べて実質的な機能強化はありませんでした。ソフトウェアはハードウェアフロー制御に対応していると認識して動作していましたが、速度が上昇すると突然停止することがあり、原因は特定できませんでした。
部分的なハンドシェイク
このケーブルでは、フロー制御線は依然としてデバイスにループバックされます。ただし、これは送信要求(RTS)と送信可(CTS)フロー制御を許可する方法で行われますが、実際の機能はありません。フロー制御信号が相手側デバイスに届く唯一の方法は、相手側デバイスがキャリア検出(CD)信号(DE-9ケーブルではピン1、DB-25ケーブルではピン8)をチェックすることです。その結果、この部分的なハンドシェイクを利用できるのは、特別に設計されたソフトウェアのみでした。ソフトウェアフロー制御は、このケーブルでも依然として機能していました。[ 1 ]
フルハンドシェイク
このケーブルは、RTS/CTSピンが交差しているため、従来のケーブルのハードウェアフロー制御とは互換性がありません。適切なソフトウェアを使用することで、従来品よりもはるかに高速な通信が可能になります。また、ソフトウェアフロー制御もサポートしています。[ 1 ]
仮想ヌルモデム
仮想ヌルモデムは、仮想シリアルポートを用いて2つのコンピュータアプリケーションを直接接続する通信方法です。ヌルモデムケーブルとは異なり、仮想ヌルモデムはコンピュータ内でハードウェアヌルモデムをエミュレートするソフトウェアソリューションです。 [ 6 ] [ 7 ]ハードウェアヌルモデムのすべての機能は、仮想ヌルモデムでも利用できます。これにはいくつかの利点があります。
- シリアルデータの高速伝送速度は、コンピュータの性能とネットワーク速度によってのみ制限されます。
- ローカルネットワークまたはインターネットを介した仮想接続により、ケーブルの長さ制限が緩和されます。
- 仮想接続の数は事実上無制限
- シリアルケーブルは不要
- コンピュータの物理的なシリアルポートは空いている
たとえば、DOSBox では、古いDOSゲームで仮想ヌル モデムを使用できるようになりました。
もう一つの一般的な例として、Unix擬似端末(pty)が挙げられます。これは、仮想シリアル制御を含む標準的なttyインターフェースをユーザーアプリケーションに提供します。このようなptyを2つアプリケーションで簡単にリンクすることで、仮想ヌルモデム通信パスを形成できます。
参照
参考文献
- ^ a b c d e f Lammert Bies. 「RS232シリアルヌルモデムケーブルの配線とチュートリアル」 lammertbies.nl . 2013年12月26日閲覧。
- ^ a b「ヌルモデム」 . nullmodem.com. 2008年11月7日. 2013年12月26日閲覧。
- ^ “ヌルモデム (9-9) - HwB” .ハードウェアブック.info。 2006 年 12 月 27 日。2013 年 12 月 26 日に取得。
- ^ 「ADTPro - ADTProシリアルケーブル接続」 sourceforge.net. 2011年1月25日. 2013年12月26日閲覧。
- ^ 「MS-DOS 外部コマンド - INTERLNK」Angelfire . 2013年12月26日閲覧。
- ^ 「ヌルモデムエミュレータ | ヌルモデムエミュレータソフトウェアを無料でダウンロード」。sourceforge.net 。 2013年12月26日閲覧。
- ^ 「BerliOS開発者:プロジェクト概要 - N8VB_vCOM仮想ヌルモデムケーブル」 berlios.de、2005年7月15日。2013年12月26日時点のオリジナルよりアーカイブ。 2013年12月26日閲覧。
外部リンク
ウィキメディア・コモンズのヌルモデム関連メディア