web-dev-qa-db-ja.com

RS232 /イーサネットポートサーバー-関連するプロトコル?

まず、私は機器の責任を負わないので、そのような基本的な質問をしていることに慌てないでください:)

職場には複数のRS232 /イーサネットポートサーバーがあります(これの16ポートバージョンと言ってください http://www.digi.com/products/serialservers/portserverts

OSIモデルと、さまざまな層のプロトコルがどのように相互作用するかについての基本的な理解があります。たとえば、httpはIPを使用してTCPパケットにカプセル化され、IPはMACなどを使用してルーター層のイーサネットフレームにカプセル化されます。

ただし、これらのポートサーバーのcat5ケーブルで実際に送信されているプロトコルを理解するのに問題があります。ワイヤーをイーサネットケーブルに再マッピングしただけのストレートRS232ですか?それはいくつかのイーサネットプロトコルにカプセル化されたRS232プロトコルですか(イーサネットはLLC/MACですよね?)?プロトコルが混同されていますか?つまり、RS232とLLCは同じレベルですか?

質問の動機は、現在、シリアルアナライザーに2、3の大金を払っている私の仕事に由来しています。基本的に、それはcat5とインラインで接続し、物理的なRS232プラグに変換され、USB出力を備えたタップを備えており、逆にcat5が再び継続します。単純なパッシブイーサネットネットワークタップのようなものを作成できず、2つのイーサネットNICを結合して使用し、wiresharkでアプリケーションプロトコルを監視できないのはなぜだろうかと思います。これをさらに調査するために、ポートサーバーで送信されるプロトコルを正確に見つけようとしています。

乾杯。

2
Peleus

実際、これは本当に非常に簡単です。私はおそらくRS232をTCP異なるジョブで3〜4回作成しました。

最も単純な形式での動作は、ソフトウェアがシリアルポートからデータを読み取り、接続されたTCPソケットに直接書き込むことです。逆のことも行います。ソケットから読み取られたデータは、シリアルポートに直接書き込まれます。IP/ RS232リンクを介したプロトコルカプセル化はありません。単に一方から他方にルーティングします。

それがほとんどすべてです。ただし、多くの場合、仮想シリアルポートを提供するソフトウェアをPCにインストールします。そのシリアルポートは、ポートサーバー上で実際のRS232と通信することになります。フロー制御を制御するために、データストリームにいくつかのヘッダーが挿入されている場合があります。シリアルポートと対話するアプリケーションが実際のRS232ポートと直接通信していると見なすように、すべてが両端で取り除かれます。

このデータをスニッフィングする場合は、wiresharkを使用してシリアルポートサーバーのIPに向かうすべてのトラフィックをスニッフィングする必要があります。次に、アプリがデータを送信するときにデータが変更されずに通過するのか、フロー制御用のヘッダーが含まれるのかを確認します。

3
Matt H

CAT5ケーブルや8P8C(別名RJ45)モジュラーコネクタがシリアル通信に使用される場合があるという事実は、何の意味もありません。 RS232とイーサネットはまったく異なる信号を使用します。シリアルアナライザをNICに置き換えることはできません。ただし、RS232アナライザのより安価なバージョンを見つけることができます。

0
Alex P.

一言で言えば、RS232セッションがTCPセッションにラップされていることに気付くでしょう。

私にできることは、特定のデバイスがどのように機能しているかについての知識に基づいた推測を提供することだけですが、メモリと経験が役立つ場合、ボックスはtelnet(または場合によってはssh)セッションをターミナルセッションに効果的に変換します。

つまり、TCPと通信する一方の側で何らかのネットワークスタックを実行し、これをセッションに必要なビットに変換します。

ターミナルサーバーのMACアドレスなどを気にする必要はありません(少なくともそれを使用する限りでは)。

あなたの質問のいくつかに具体的に答えるために-

  • Cat5ケーブルはイーサネットフレームを送信しています。 TCPセッションのパケットは、イーサネットフレームに組み込まれます。

  • シリアルインターフェイスのRJ45ポートは、イーサネットのRJ45ポートとは「異なります」。ポートは物理的には同じですが、電気的にはまったく異なります。 (誰かがシリアルケーブルを2つに切断し、片側をRJ45ケーブルに圧着すると考えてください。これは、そのケーブルを作成するために実行できます)正確な配線は、入手するデバイスによって異なりますが、ほとんどはかなり標準的です。 (ピンを希望の順序で差し込むことができるシリアルケーブルは非常に一般的で、どこを見ればよいかわかっていれば安価です)

  • RS232はカプセル化ではなく、生のバイトストリームです。それは実際にはLLCと比較されません(LLCの私の理解が正しい場合)。特定の速度で送信されるワイヤー上のその生のビット。

  • イーサネットデバイスと類似または比較できないため、イーサネットタップを作成することはできません。 USBは実際にはシリアルインターフェース(ユニバーサルシリアルバス)です。

  • 試したことはありませんが、シリアルケーブル(メモリのピン2と3)でTXラインとRXラインを見つけて、信号のコピーをタップすることができるはずです[私は電気技師ではないので、ここではよくわかりませんが、抵抗を使って入力に高いインピーダンスを提供し、それを別のシリアルポートにフィードします[シリアルポートがない場合は、USBからシリアルインターフェイスを介して]、プラグを差し込みますminicomのようなターミナルプログラムを実行しているコンピュータに-ボーレートと他の設定が一致していることを確認する必要がありますが、「読み取り専用」で実行できるはずです-txラインとrxラインに別々の出力が必要な場合があります最も単純なケースでは、トランザクションの両側を確認します。

0
davidgo