パケット遅延は変動しますか?


回答:


9

その上にTCPとUDPが構築されているIPプロトコルは、データグラムが順序どおりに到着することも、同じルートを経由することも、まったく関係ないことも指定していません(通知についてはTrevorに感謝します)。したがって、TCPとUDPのどちらを使用しているかに関係なく、遅延は変動します。遅延は、一部にはパスが変更された場合に変化する移動距離に起因し、一部には選択されたパスに沿ったルーティングデバイスのプロトコルスタック変換に起因します -これは、パスが変更された場合にも変化します。

これはインターネットの自己修復機能の一部であり、毎日何をするかを可能にします。途中のさまざまなルーティングデバイスにプログラムされたヒューリスティックに従って1つのルートが適切でなくなった場合、代わりに別のルートが選択されます。これは一時的なものでも長期的なものでもかまいません。それがインターネットになる前は、ARPANET-たとえば、ネットワーク全体が停止することなく、ネットワークの広大なセクションを即座に削除する(核戦争を考える)。損傷した、または理想的ではない領域を迂回することにより、より大きなネットワークが機能し続けます(ただし、おそらく最適とは言えません)。


1
データグラムが到着することが保証されていないことを付け加える価値があります。彼らは旅の途中で静かに落とすことができます。ネットワーク通信に信頼性の錯覚を与えるのは、IPの上に構築されたTCPのトランスポートだけです。
Trevor Powell

また、Danny Pflughoeftの回答も参照してください。彼は、TCPが動作する方法により、追加の遅延が発生することを正しく付け加えています。パケットが失われた場合、パケットは再要求されて再送信され、メッセージの待ち時間に完全な往復時間が追加されます。そして、それは恣意的に何度も起こり得る。UDPは、更新の継続的なストリームを送信することでこれを克服し、パケット損失にもかかわらずシミュレーションを進めることができます(ただし、この種のシステムでは、さらに多くのことを検討して計画する必要があります)。
エンジニア

5

これはおそらくゲーム開発の問題ではありませんが、そうです。通常のIP接続では、各パケットが異なる中間「ホップ」を通過する場合があり、異なる「ホップ」ごとに異なる待ち時間が発生する場合があります。

TCPを使用してデータを転送している場合、プロトコルはそれを抽象化し、パケットを並べ替えて、最初に送信された順序でパケットを配信します。ただし、UDPを使用している場合、個々のパケットの遅延に応じて、パケットが順不同で到着する可能性があります。


特に、UDPパケットとTCPパケットが同じ方法でルーティングされ、UDPパケットが順不同で定期的に到着する場合、これは、代わりにTCPを使用して同じ接続で「ラグスパイク」に変換されます。
マーティンSojka


1

すでに述べたことを除いて、ルーターは任意にパケットをドロップすることが許可されていることを忘れないでください。つまり、TCPでは理論上、パケットが宛先に到達するまでに任意の時間がかかる可能性があります(UDPでは宛先に到達しない可能性があります!)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.