tracepath
最初のホップが常に2回表示されるのはなぜですか?
$ tracepath -n X.Y.Z.T
1?: [LOCALHOST] pmtu 1500
1: 172.16.5.2 0.586ms
1: 172.16.5.2 0.420ms
2: no reply
3: X.Y.Z.T 6.199ms reached
Resume: pmtu 1500 hops 3 back 3
そしてtraceroute
以下ではありません:
$ traceroute -n X.Y.Z.T
traceroute to X.Y.Z.T (X.Y.Z.T), 30 hops max, 60 byte packets
1 172.16.5.2 0.672 ms 0.705 ms 0.723 ms
2 * * *
3 X.Y.Z.T 1.192 ms 1.220 ms 1.218 ms
ただし、172.16.5.2
ゲートウェイグループ内の2つの物理ルーターの1つである論理ゲートウェイルーターは次のとおりです172.16.5.1
。
$ ip route get X.Y.Z.T
X.Y.Z.T via 172.16.5.1 dev ens160 src 172.16.5.X uid 1000
cache
EDIT0: MTU=1500 使用:
$ tracepath -n X.Y.Z.T -l 1500
1: 172.16.5.2 0.598ms
2: no reply
3: X.Y.Z.T 6.368ms reached
Resume: pmtu 1500 hops 3 back 3
MTU=1501 使用:
$ tracepath -n X.Y.Z.T -l 1501
1?: [LOCALHOST] pmtu 1500
1: 172.16.5.2 0.600ms
1: 172.16.5.2 0.394ms
2: no reply
3: X.Y.Z.T 6.139ms reached
Resume: pmtu 1500 hops 3 back 3
MTU=3*1500+1 使用:
$ tracepath -n X.Y.Z.T -l $((3*1500+1))
1?: [LOCALHOST] pmtu 1500
1: 172.16.5.2 0.653ms
1: 172.16.5.2 1.239ms
2: no reply
3: X.Y.Z.T 6.098ms reached
Resume: pmtu 1500 hops 3 back 3
答え1
これは、初期パケット長が大きすぎるためです。オプションを使用して-l
パケットサイズを最大値に設定してみてください。あなたのMTU。 mtuが1500なら-l 1500
大丈夫-l 1501
ですが、2桁の数字になります。
編集:トレースパスがpmtu検出と一致しません。ここは1460時もあり、1500時もあります。いずれにしても、より低い値が機能し、実際には100ほど小さくなければなりません。
答え2
man tracepath
出力部分によると
最初の列にはプローブのTTLが表示され、その後にコロンが表示されます。通常、TTLの値はネットワークの応答から取得されますが、時には応答に必要な情報が含まれていないため、これを推測する必要があります。この場合、数字の後には?が付きます。