2012-03-08 10 views
0

一般に、UDPは送信されたのと同じ順序でパケットが到着することを保証しません。 しかし、1つのLANでは、送信側と受信側が1つのスイッチとルートで接続されていても変更されない場合、UDPパケットの順序が変更される可能性はありますか?どのようにlanのUDPパケットの永続的な順序?

特に、UDPパケットの順序はネットワークカードとアプリケーションの間のどこかで変更できますか?例えばネットワークカードドライバでは?

ちょうどスイッチを介して接続された2台のコンピュータが、UDPパケットの100%の順序で変更されていないとすればいいですか?

答えて

2

おそらくそのテストセットアップでは到着しますが、その事実に頼っているのはです。本当にというのは悪い考えです。単にパケットにシーケンス番号を追加するか、適切な場合はTCPを使用してください。

+0

私はシーケンス番号を持っており、回復アルゴリズムも持っています。私は、単純なアルゴリズムを使用して、間違った順序で到着したパケットを落とし(そして後でtcpでそれらを回復する)必要があるかどうか、あるいはパケットの順序に依存しないより信頼性の高い(そしてより遅い)アルゴリズムを必要とするかどうかを判断する必要があります。私。何が良いかという質問 "パケットの速さが速く、パケットの%が非常に遅い"または "あまり速くない100%パケットを受信する"という問題があります。この質問に答えるには、私は 'a'を知る必要があります:) – javapowered

+0

実際のアプリケーション(2つのホストとスイッチだけでなく)には、ドロップされたパケットの割合が小さいと常に仮定する必要があります。疑問がある場合は、両方のオプションでいくつかのベンチマークを実行してください。おそらくこれの助けを借りて:http://stackoverflow.com/questions/614795/simulate-delayed-and-dropped-packets-on-linux – xato

+0

私の実際のアプリケーション(取引ソフトウェア)は、1つのブリッジを経由して株式取引所に接続されています... – javapowered

関連する問題