Comments (9)
What version are you using?
Simplifying a bit, mtr sends out (in your case) about 14 packets per second, and in report mode does this for 10 seconds and then reports the results.
In more recent versions it will listen another three seconds after sending for 10 seconds before finishing the report.
It is entirely possible that the "about 14 packets per second" comes out to 138 packets, or not having sent the last two you might have expected to hop 13 and 14.
This can be seen in your output: the last two hops have only 9 pakcets sent to them.
This means that the last packet from hop 13 and 14 have had about 1 second longer to come back than the others. So it's funny that you'd see one of them be reported as "missing".
$ mtr -r -n 193.8.25.3
Start: Mon Oct 5 11:08:03 2015
HOST: getafix Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.x.y 0.0% 10 0.1 0.1 0.1 0.2 0.0
2.|-- 192.168.z.254 0.0% 10 0.3 0.3 0.2 0.3 0.0
3.|-- 95.128.94.126 0.0% 10 0.7 4.4 0.6 36.3 11.2
4.|-- 94.228.128.57 0.0% 10 2.0 2.3 1.9 3.5 0.3
5.|-- 94.228.128.126 0.0% 10 2.2 6.8 1.9 31.2 10.1
6.|-- 82.150.158.186 0.0% 10 2.3 2.5 2.3 3.3 0.0
7.|-- 217.170.0.244 0.0% 10 2.5 2.5 2.2 3.2 0.0
8.|-- 80.249.208.52 0.0% 10 5.3 5.1 3.9 6.9 0.9
9.|-- 212.23.238.197 0.0% 10 21.6 22.4 21.1 23.5 0.5
10.|-- 212.23.238.198 0.0% 10 19.9 20.3 19.5 21.5 0.3
11.|-- 193.8.25.3 0.0% 10 19.8 20.2 19.8 20.6 0.0
$ mtr --version
mtr 0.85
And I'm not running the most recent version. So here already I'm seeing that the last two packets are actually SENT, and the returns are counted....
from mtr.
I also use mtr 0.85. Here is maybe a way to reproduce it:
- Try out mtr -n bad.horse
- Notice the packet loss reported by this command: mtr -r -c5 -n bad.horse
I get 20% loss reported from hop 26.
from mtr.
OK. I get exactly the same results as you... with the released version installed on several of my computers.
But the development version (git) has this fixed.
from mtr.
getafix:/mtr> sudo ./mtr -r -c5 -n bad.horse -o "LSD NBAWR" |tail/mtr>
21.|-- 162.252.205.137 0.0% 5 0 158.4 158.1 158.8 160.0 5
22.|-- 162.252.205.138 0.0% 5 0 164.5 164.3 164.5 164.6 5
23.|-- 162.252.205.139 0.0% 5 0 169.6 169.5 169.7 169.8 5
24.|-- 162.252.205.140 0.0% 5 0 174.4 174.4 174.5 174.5 5
25.|-- 162.252.205.141 0.0% 5 0 179.4 179.4 179.4 179.5 5
26.|-- 162.252.205.142 0.0% 5 0 184.7 181.5 184.0 184.7 5
27.|-- 162.252.205.143 0.0% 5 0 189.3 189.3 189.6 189.9 5
28.|-- 162.252.205.144 0.0% 5 0 191.6 191.5 192.3 194.4 5
29.|-- 162.252.205.145 0.0% 5 0 199.5 197.9 199.3 199.9 5
30.|-- 162.252.205.146 0.0% 5 0 204.5 204.4 204.5 204.8 5
getafix:
from mtr.
Great, thanks for letting me know! I will also test it on my side.
from mtr.
I can reproduce it on latest git version (compiled yesterday).
lion [ mtr@master ] $ sudo ./mtr -r -c5 -n bad.horse -o "LSD NBAWR"
Start: Wed Aug 3 11:05:48 2016
HOST: Lion-Laptop Loss% Snt Drop Last Best Avg Wrst Rcv
1.|-- 192.168.1.1 0.0% 5 0 29.5 29.5 394.5 918.9 5
2.|-- ??? 100.0 5 5 0.0 0.0 0.0 0.0 0
3.|-- ***.***.**.** 0.0% 5 0 25.3 15.1 290.6 729.4 5
4.|-- ***.***.**.*** 0.0% 5 0 94.0 14.4 273.4 630.5 5
5.|-- ***.***.**.** 0.0% 5 0 59.4 28.6 417.2 996.9 5
6.|-- ***.***.**.*** 20.0% 5 1 55.0 55.0 467.3 882.9 4
7.|-- ***.***.**.*** 20.0% 5 1 423.8 367.3 478.8 740.5 4
8.|-- ***.***.**.*** 25.0% 4 1 378.5 350.6 453.1 630.2 3
9.|-- ??? 100.0 4 4 0.0 0.0 0.0 0.0 0
10.|-- ***.***.**.** 0.0% 4 0 284.3 284.3 438.7 515.0 4
11.|-- 38.88.224.121 0.0% 4 0 216.8 216.8 328.2 416.1 4
12.|-- 154.54.6.105 0.0% 4 0 1168. 212.2 514.0 1168. 4
13.|-- 154.54.28.33 0.0% 4 0 1139. 216.1 486.8 1139. 4
14.|-- 154.54.3.186 0.0% 4 0 1112. 238.3 602.5 1112. 4
15.|-- 66.28.4.46 0.0% 4 0 1080. 225.6 571.0 1080. 4
16.|-- 154.24.0.234 25.0% 4 1 1049. 494.7 734.7 1049. 3
17.|-- 38.122.98.38 0.0% 4 0 1006. 443.4 766.3 1014. 4
18.|-- 166.70.1.5 0.0% 4 0 967.8 399.8 695.7 967.8 4
19.|-- 162.252.204.163 50.0% 4 2 1010. 793.0 901.9 1010. 2
20.|-- 208.68.168.214 50.0% 4 2 975.2 653.3 814.3 975.2 2
21.|-- 162.252.205.130 0.0% 3 0 948.4 367.9 599.9 948.4 3
22.|-- 162.252.205.131 33.3% 3 1 909.0 425.1 667.0 909.0 2
23.|-- 162.252.205.132 0.0% 3 0 889.5 388.9 560.0 889.5 3
24.|-- 162.252.205.133 0.0% 3 0 861.4 347.7 524.8 861.4 3
25.|-- 162.252.205.134 50.0% 2 1 825.8 825.8 825.8 825.8 1
26.|-- 162.252.205.135 0.0% 2 0 793.3 438.4 615.9 793.3 2
27.|-- 162.252.205.136 0.0% 2 0 768.9 428.3 598.6 768.9 2
28.|-- 162.252.205.137 0.0% 2 0 734.8 392.0 563.4 734.8 2
29.|-- 162.252.205.138 0.0% 2 0 702.0 357.5 529.8 702.0 2
30.|-- 162.252.205.139 0.0% 1 0 685.1 685.1 685.1 685.1 1
lion [ mtr@master ] $
and sometimes it even sent 0 packet...
lion [ mtr@master ] $ sudo ./mtr -r -c5 -n bad.horse -o "LSD NBAWR" | tail
19.|-- 162.252.204.163 66.7% 3 2 363.6 363.6 363.6 363.6 1
20.|-- 208.68.168.214 33.3% 3 1 338.9 338.9 720.9 1102. 2
21.|-- 162.252.205.130 0.0% 2 0 307.9 307.9 314.1 320.3 2
22.|-- 162.252.205.131 0.0% 2 0 298.1 298.1 302.7 307.4 2
23.|-- 162.252.205.132 0.0% 2 0 314.6 314.6 785.6 1256. 2
24.|-- 162.252.205.133 0.0% 2 0 312.9 312.9 762.6 1212. 2
25.|-- 162.252.205.134 0.0% 2 0 319.2 319.2 743.6 1168. 2
26.|-- 162.252.205.135 0.0% 1 0 496.4 496.4 496.4 496.4 1
27.|-- 162.252.205.136 0.0% 1 0 460.4 460.4 460.4 460.4 1
28.|-- ??? 0.0% 0 0 0.0 0.0 0.0 0.0 0
lion [ mtr@master ] $
Fortunate, there is no zero division error.
from mtr.
For a trace to "bad horse" here I get five pings all the way down to the 30th hop. I think that what you're seeing is expected behaviour.
To prevent sending out pings to 30 hops even when the target is only 5 hops away, mtr starts out sending packets to at most 5 hosts past the last reply. With such long pingtimes it takes a few rounds (seconds) before the whole route is discovered.
Think of it this way: mtr sends out five packets to the first five hops. Then it waits for the replies. When it gets back responses from all five hosts, it will set the probe limit to 10 and the next round it will send out pings to hops 1-10. Now if routers at hop 9 and 10 don't reply the next round the limit will only be set to 13 (got a reply from 8, add five). Now if hosts 12 and 13 take more than 1s to respond, then when the next round starts they have not answered yet, so the limit is only set to 16 (got a reply from 11, add five).
This explanation is "discrete" as if mtr sends probes at the whole second marks, and evaluates the situation at the next whole second. In reality mtr spreads the probes, adjusts the probe limit and increases the probe speed all in real-time.
I'm not sure you have the latest version.
sudo ./mtr --version
from mtr.
Wait... yes, you are right. I compiled it before 0.87 release. It was an old version.
I compiled a new git version just now.
lion [ mtr@master ] $ sudo ./mtr --version
mtr 0.87+git:c26968b7
lion [ mtr@master ] $ sudo ./mtr -r -c5 -n bad.horse -o "LSD NBAWR" | tail
22.|-- 162.252.205.131 0.0% 4 0 299.9 299.9 434.6 571.9 4
23.|-- 162.252.205.132 0.0% 4 0 311.2 311.2 417.4 549.3 4
24.|-- 162.252.205.133 0.0% 4 0 315.3 315.3 392.4 521.1 4
25.|-- 162.252.205.134 50.0% 4 2 319.3 319.3 406.5 493.7 2
26.|-- 162.252.205.135 0.0% 4 0 319.5 319.5 480.5 695.3 4
27.|-- 162.252.205.136 0.0% 3 0 324.2 324.2 473.1 660.7 3
28.|-- 162.252.205.137 0.0% 3 0 328.9 328.9 453.2 629.4 3
29.|-- 162.252.205.138 0.0% 3 0 337.0 337.0 434.5 594.6 3
30.|-- 162.252.205.139 0.0% 3 0 345.4 345.4 420.7 566.8 3
Start: Thu Aug 4 18:13:43 2016
lion [ mtr@master ] $ sudo ./mtr -r -c5 -n bad.horse -o "LSD NBAWR" | tail
21.|-- 162.252.205.130 0.0% 2 0 519.1 300.1 409.6 519.1 2
22.|-- 162.252.205.131 0.0% 2 0 475.5 300.6 388.0 475.5 2
23.|-- 162.252.205.132 0.0% 2 0 446.2 310.6 378.4 446.2 2
24.|-- 162.252.205.133 0.0% 1 0 403.7 403.7 403.7 403.7 1
25.|-- 162.252.205.134 0.0% 1 0 364.7 364.7 364.7 364.7 1
26.|-- ??? 100.0 1 1 0.0 0.0 0.0 0.0 0
27.|-- 162.252.205.136 0.0% 1 0 1328. 1328. 1328. 1328. 1
28.|-- 162.252.205.137 0.0% 1 0 1324. 1324. 1324. 1324. 1
29.|-- ??? 0.0% 0 0 0.0 0.0 0.0 0.0 0
Start: Thu Aug 4 18:13:59 2016
lion [ mtr@master ] $ git pull
Already up-to-date.
lion [ mtr@master ] $
from mtr.
Maybe, I think, the only solution to this issue is increase the -c option manually? which means to ping with more rounds.
For example:
ion [ mtr@master ] $ sudo ./mtr -r -c20 -n bad.horse -o "LSD NBAWR" | tail
22.|-- 162.252.205.131 5.3% 19 1 1296. 296.3 493.0 1296. 18
23.|-- 162.252.205.132 0.0% 19 0 1307. 307.3 531.0 1307. 19
24.|-- 162.252.205.133 0.0% 19 0 1308. 311.9 519.5 1308. 19
25.|-- 162.252.205.134 5.3% 19 1 1316. 316.4 519.4 1316. 18
26.|-- 162.252.205.135 10.5% 19 2 1315. 316.7 539.2 1315. 17
27.|-- 162.252.205.136 5.3% 19 1 1315. 320.8 535.5 1315. 18
28.|-- 162.252.205.137 0.0% 18 0 1315. 326.4 579.4 1329. 18
29.|-- 162.252.205.138 5.6% 18 1 1285. 331.7 579.3 1306. 17
30.|-- 162.252.205.139 0.0% 18 0 1263. 341.9 566.6 1287. 18
Start: Thu Aug 4 18:18:49 2016
lion [ mtr@master ] $
from mtr.
Related Issues (20)
- Running 'mtr -r www.google.com -c 1' leads to segmentation fault HOT 2
- Issue for `mtr-packet` while building customized version of mtr
- mtr with unspecified destination HOT 2
- Windows 11 x64 installation HOT 4
- --psize option to randomize packet size
- on cygwin build error HOT 1
- Using the -f option changes the packet rate. HOT 1
- Next release
- Show whether ICMP, UDP, or TCP is currently used HOT 1
- Show target ip when use -r or -j HOT 1
- BUG: Interface-specific binding and packet marking broken HOT 13
- Show source address when use -r HOT 1
- Proposal: Refactor Address Selection Logic for Enhanced Compatibility and Testability HOT 5
- MaxMind DB for Location HOT 9
- where can i get mtr 0.95? HOT 2
- traceroute does not stop on subnet router anycast addresses on linux routers HOT 2
- Implement DNF flag to set/clear Do Not Fragment bit
- Problems running on Ubuntu 22.04, routing information is displayed incompletely, only part of it is displayed, can't get to the final destination HOT 6
- Two host lines for each hop (regression between 0.92 and 0.95?)
- What is the meaning of 'Received error response' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mtr.