2016-09-16 4 views
1

私は現在、私が書いたDDSアプリケーションに関する何かを理解しようとしています。マルチキャストは、OMG DDS標準で信頼性の高いメッセージングとともに使用できますか、またはユニキャストが必要ですか?

私の作者と読者は現在信頼性があります。そのため、読者がメッセージを見逃した場合、作者はメッセージを再発行します。また、デフォルトのマルチキャストを使用していて、パブリッシャとサブスクライバの検出にユニキャストを使用していません。

マルチキャストプロトコルによれば、私はポート70007001を開く必要があります。しかし、wiresharkを使って分析したところ、ポート70107011(ユニキャスト)ポートも開いていることがわかりました。

私はこのlinkを見つけた後、ユニキャストを有効にする必要がある読者とライターに信頼性を使用しているように見えます。なぜユニキャストポートも開いて使用されているのです。

メッセージが確実に配信されるためにはユニキャストが有効になっている必要がありますか?なぜ必要なのでしょうか、なぜこの機能をマルチキャストできないのですか?

+1

私は、信頼できるプロトコルを使用するときのユニキャストの要件は実装の詳細だと思います。信頼性メッセージ(HeartbeatとAckNack)がマルチキャストで伝達されるようにプロトコルを実装することは確かに可能です。これはほとんどのシナリオではおそらく最適な構成ではありません。 –

+1

@CTuckerは言った。 –

答えて

2

この場合、大部分のトラフィックはMC経由で送信されます。場合によっては、信頼性プロトコルは、実際には「NからMまでのシーケンス番号が利用可能です」というメッセージを送信することがあります。

各リーダーは(ユニキャストで)「ok」または「xまたはzを取得しませんでした」と応答します(さまざまな実装で大きく調整可能です)。

xが1つしかない場合は、1つのリーダーしか必要としないので、修復サンプルxには意味がありません。だから、作家はそれを巧みな読者にユニキャストします。

これは一言で言えば、私は設定オプションについて話し、動作を調整する別の10段落を費やすことができました。

しかし、yeah tl; dr:予想される動作。

+0

ありがとう!それは私が思っていたものですが、私は技術的な報告のために言いたいことを推測したくありませんでした。 – jgr208

関連する問題