1

セットアップはGlassfish2.1.1とJavaスタンドアロンクライアントです。接続はIIOP経由です。私たちのクライアントはネットワーク上で膨大な量のトラフィックを生成しており、私はこれがどこから来ているのかを調べようとしています。

私の理解では、プロトコル階層は次のようになります。

Ethernet -> IP -> TCP -> GIOP -> CDR

GIOPまでは、これはWiresharkで見られるものですが、GIOPメッセージのペイロードは不明です。

残念ながら、WiresharkはGIOPメッセージのペイロードを分析しません。GIOPメッセージには、CORBAシリアル化であるため、CORBACDRでシリアル化されたJavaオブジェクトが含まれている必要があると思いました。(結局のところ、Java以外のクライアントの場合、IDLを生成する必要があったので、CDRはどこでも使用する必要があります)。

Wiresharkで見たものは、たくさんあります

XRMI:java.util.Collections\U0024SynchronizedCollection:

その後に16進文字列と数バイトのバイナリデータが続き、次にXRMI:....。

このことから、これはRMIであり、IIOPよりもRMIが高いと思います。

Ethernet -> IP -> TCP -> GIOP -> RMI -> Java Serialization

ただし、GIOPペイロードがRMIの場合、CDRはどこに適合しますか。

GIOPメッセージのペイロードをどのように解釈できますか?また、IIOPを介したRMIの仕様はどこにありますか?

4

1 に答える 1

2

上記のように、RMIoverIIOPはCDRoverGIOPです。これは別のプロトコルではなく、Javaシリアル化を使用しません。その全体の目的は、CORBAとの互換性を保つことです。

于 2012-07-27T22:04:32.223 に答える