2つの異なる(信頼できない)インターネット接続を介してRTPストリームを複製する必要があります。
受信者側では、バッファを使用してそれを使用する前にストリームを再構成するカスタムプログラムを実行することもできます。
しかし、両方の接続を介してトラフィックを分散するのに問題があります。私はいくつかの調査を行い、おそらくtc
(部分的にiproute2
)それが私に必要なものかもしれないことを発見しました。
答え1
Linuxカーネルバージョン2.6.35では、新しい設定オプションが導入されましたCONFIG_NETFILTER_XT_TARGET_TEE
。
このオプションは、パケットを複製し、複製を別のネクストホップに再ルーティングできる「TEE」宛先を追加します。
iptablesこのターゲットは1.4.8からサポートされています-j TEE
。
早期サポートは以下から可能です。xtablesプラグイン、カーネルモジュールとユーザースペースツールが含まれています。ディストリビューションのカーネルを使い続けたい場合や、使用するには古すぎる場合でも、このオプションを好むことができますTEE
。
一つあるbjouが提供するチュートリアル(この機能が公式カーネルとiptablesに含まれる前に書かれています。)
答え2
ネットワークプロトコルスタックは冗長性を制限するように設計されています。
TCP経由でトンネリングする方が良いかもしれません。それ以外の場合は、出力を複製するために独自のプログラムを作成する必要があります。あなたの関係はどの位信頼できないか。私のいつもの信頼性は99.9%以上である。
答え3
パケットスニッフィングパケットでもあります。オームあなたを助けることができます。私は最近パケットを傍受し、ヘッダーを修正するためにこれを使用しました。これは本質的にBillThorが提案したように新しいプログラムを作成するのと同じですが、scapyは非常に使いやすいと思います。これは同種の最高のバッグではないかもしれませんが、おそらく同様のものがあなたのニーズに合うでしょう。