2012-02-08 25 views
2

私は、ローカルネットワークで使用されるUDPプロトコルを開発中です。ソースと宛先の両方のスイッチ(cisco、3comなど)、両方のLinuxシステム、同じMTUが存在します。 この場合、宛先でudpパケットが複製される頻度はどれくらいですか(明らかに私ではなく、スイッチまたはおそらくサーバーによって)自分のコードに重複チェックを実装するかどうかを知るために必要です。udpパケットの重複:発生頻度

+0

おそらくあまり頻繁ではありませんが、私はこの仮定に基づいてプログラムを作成しませんでした。 TCPだけを使ってみませんか? –

+0

TCPが遅いため – Nulik

+0

ローカルスイッチでUDPパケットをスイッチする理由は何ですか? – Vyktor

答えて

5

スイッチは、ブロードキャストを使用する場合、または極端な状況(完全なMACアドレステーブル)でパケットをすべてのインターフェイスに送信します。 2つ以上のスイッチの間にループが存在し、スパニングツリープロトコルが使用されていない場合は、重複が発生する可能性があります。だから答えはめったにありません。私が読んだ物語のメモリから

0

宛先ホストで重複したUDPパケットを受信する可能性は、送信元ホストからパケットを受信する宛先インターフェイスの数によって異なります。 3つのインターフェイス(eth1、eth2、eth_int)が同時に送信元からパケットをフェッチできる場合、宛先は3つの重複したUDPパケットを受信します。

+0

しかし、これらのすべてのインターフェース(eth1、eth2など)は同じIPアドレスを使用できないため、記述している場合は重複してはいけません。 – Nulik

+0

宛先ホストのソケットがINADDR_ANYにバインドされていて、ソースがUDPパケットをブロードキャストする場合、重複パケットを受信する可能性があります。 –

+0

しかし、私はこの種の重複について話していません。私はスイッチ/ルータまたはカーネルがパケットを送信していることについて懸念することなく話しています。パケットが多くのルータを通過すると、これは簡単に起きるかもしれませんが、私はローカルネットワーク – Nulik

2

〜20年前...

は、UDPパケットを複製し、故障ルータがありました。短期間で、割り込みが頻繁に頻繁に発生することが判明しました。ルータが発信パケットに行ってきました

  1. が送られたとして、それをマークする前に
  2. は、それがパケットを送信し、キュー...割り込みが発生した
  3. :それは次のような状況を引き起こしました。
  4. 何らかの理由で、ルータは、パケットを送信済みとマークするのではなく、発信パケットキューをチェックするために戻ってきました(無関係のバグですか?)、割り込みの間に同じパケットが再送信されますステップ2を完了するのに十分な長さでした。
関連する問題