私はTCPプロトコル自体が接続時にバイトが失われないことを保証すると思います。これについての観点は、以下を参照してください。
https://stackoverflow.com/questions/23841896/will-tcp-connection-lose-packets
私を混乱させることは、mtr(TCPプロトコルを使用して実行)が損失をどのように計算しますか? TCPにはパケットではなくセグメントのみがあります。では、「Snt」とはどういう意味ですか?
[root@ ~]# mtr --report --tcp --port=443 stackoverflow.com
ここで、一部の中間ホストがまったく応答を望んでいないため、Loss%= 100.0、一部のホストがACKで応答するため、Loss%= 0.0の場合、ジャンプ#14 loss%= 25.0%を説明する方法は?
答え1
分析する
mtr
ドキュメントとグーグルで収集した内容によれば、トラフィックを送信してパケット損失自体を追跡し、ネットワーク輻輳によって発生した損失を追跡するようです。
たとえば、Linodeチュートリアルのタイトルは次のとおりです。MTRを使用したネットワーク問題の診断氏名は次のとおりです。
オプション
i
フラグはレポートをより速く実行し、ネットワーク輻輳期間にのみ発生する可能性があるパケット損失を示します。このフラグは、MTRにn秒ごとにパケットを送信するように指示します。デフォルトは1秒なので、1秒未満(0.1、0.2など)に設定すると役に立つことが多いです。
このトラフィックの鍵は、ICMP ECHO 要求です。
-i SECONDS
--interval SECONDS
Use this option to specify the positive number of seconds between ICMP ECHO
requests. The default value for this parameter is one second.
このような損失測定方法により損失が発生する可能性がある。mtr
TCPは損失を測定するために使用されませんが、ICMPが使用され、ICMPではパケットがドロップまたはタイムアウトする可能性があり、実際に発生します。
セントはどうですか?
この列は、Snt
「送信」されたICMP ECHOパケットの数を示します。