politicnewsbusterinsiderpostreview

Wednesday, 30 November 2022

[New post] Understanding traceroute (or tracerte)

Site logo image Colin Paice posted: " I was trying to use traceroute to find the route between two nodes and I did not understand the output. Like many things, once you understand it, is obvious. This is another of the little topics which I thought I understood, and found I did not. F" ColinPaice

Understanding traceroute (or tracerte)

Colin Paice

Nov 30

I was trying to use traceroute to find the route between two nodes and I did not understand the output. Like many things, once you understand it, is obvious.

This is another of the little topics which I thought I understood, and found I did not.

For example

traceroute ibm.com

produces

traceroute to ibm.com (23.39.199.16), 30 hops max, 60 byte packets  1  bthub.home (192.168.1.254)  4.139 ms  7.528 ms  10.629 ms  2  * * *  3  * * * 

What does the "*" mean - and why are there 3 "*"?

Traceroute logic

At a conceptual level, the logic of traceroute is:

At the origin

  • Send a UDP packet over a link towards the remote node, with hop limit = 1.
  • Set a timer
  • Wait for the reply (with time out)

At an intermediate node

  • Set hop limit = hop limit -1
  • If hop limit = 0
    • then send a UDP packet back to the originator, giving the IP address of the intermediate node, and information like "Destination unreachable (Port unreachable)", or "request timed out".
    • else send the packet over a link towards the remote destination.

Back at the origin

  • Wait for the response. When the response arrives, stop the timer and calculate the duration.
  • Lookup the IP address of the intermediate node, to find the node name.
  • Display original hop count, the name of the intermediate node, IP address of the intermediate node, and duration of the request.

For example

1 colin.Linux.Server (2001:db8::2) 0.988 ms

This gives you information on the first hop in the chain.

Go to the next level.

You can take this further.

  • Repeat the operation multiple times. This allows you to get multiple response times, so you can see the range of responses times, and get an idea of the variation (or consistency) of the response time.
  • Repeat it with hop count = 2,3,4,5... . When the hop count is 1, you get information about the first hop, when the hop count is 2, you get information about the next hop etc.

For example for Linux

traceroute to 2001:db8:1::9 (2001:db8:1::9), 30 hops max, 80 byte packets 1 colin.Linux.Server (2001:db8::2)0.267 ms 0.207 ms 0.140 ms 2 Colin.zOS (2001:db8:1::9) 3.794 ms 6.215 ms 6.920 ms

It gets more interesting.

If you send multiple request, a node may decide to route the request down a different link, so you may get multiple IP addresses for each hop.

What if there is a problem?

Unknown address

Traceroute will report as much as it can. For example 2001:db8:1::10 does not exist.

traceroute to 2001:db8:1::10 (2001:db8:1::10), 30 hops max, 80 byte packets
1 colinpaice (2001:db8::7) 3053.091 ms !H 3052.807 ms !H

This reports as far as it got (colinpaice 2001:db8::7); and !H. On Linux you can have additional information (!H)

  • !H host unreachable
  • !N network unreachable
  • !P protocol unreachable
  • !S source route failed
  • !F fragmentation needed
  • !X communication administratively prohibited
  • !V host precedence violation
  • !C precedence cutoff in effect
  • !<num> ICMP unreachable code <num>

Lost or dropped packets

A intermediate node may not be able to send the response back, for example, a firewall may block (and drop) any UPD packets. The originator times-out waiting for the reply. In this case it reports "*" as the IP address, and cannot provide the duration of the requests. This can occur if the router does not support traceroute, there is no link back to the originator, or there is a firewall which drops packets (going out, or coming back).

More advanced requests

Specify a different home

By default traceroute uses the IP address of the connection it will use to send the packet.

For example I have a system with two interfaces

  • tap1,my end of the connection is 2001:db8:1::3 with the remote end having 2001:db8:1::9 (my z/OS)
  • eno1, my end of the connection is 2001:db8::2 with the remote end having 2001:db8::7 (my laptop)

If I use traceroute to my laptop, I can issue

traceroute 2001:db8::7

by default traceroute uses 2001:db8::2 as its starting point (the IP adddess of the direct connection). I can see this in the wireshark trace.

I can use traceroute to my laptop , and say start from the IP address of the connection to z/OS

traceroute6 -s 2001:db8:1::3 2001:db8::7

-s says use a different starting address 2001:db8:1::3 - corresponding to the link to z/OS as its starting point.

When I used this command, my request was blocked, as my firewall was configured to accept traffic from 2001:db8:2, and not from 2001:db8:1::3.

Make traceroute fail quicker

The traceroute defaults are to try a maximum of 30 hops and wait 5 seconds so you could wait for over 2 minutes if there was a problem). If you know your network is small (at most 3 hops) and responds in under a second, you can use

traceroute -6 -w 2 -q 5 -m 3 2001:db8::7

  • -6 for IP V6 (or just use traceroute6)
  • -w 2 wait for up to 2 seconds
  • -q 1 send out 1 UPD request on each hop
  • -m 3 a maximum of 3 hops.

On z/OS use the tracerte command

tso tracerte 2001:db8::7 (try 1 wait 1 max 2

Comment
Like
Tip icon image You can also reply to this email to leave a comment.

Unsubscribe to no longer receive posts from ColinPaice.
Change your email settings at manage subscriptions.

Trouble clicking? Copy and paste this URL into your browser:
http://colinpaice.blog/2022/11/30/understanding-traceroute-or-tracerte/

Powered by WordPress.com
Download on the App Store Get it on Google Play
at November 30, 2022
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

BREAKING: North Carolina automotive group acquires 7 Upstate dealerships

Breaking news from GSA Business Report Click here to view this message in a browser window. ...

  • Search Engine Watch
    Search Engine Watch Seven Google alerts SEOs need to stay on top of everything! Posted: 25 Jan 2022...
  • Search Engine Watch
    Search Engine Watch ...
  • Search Engine Watch
    Search Engine Watch ...
  • https://paxorex.blogspot.com
  • https://acciyo.blogspot.com
  • https://sunbrew.blogspot.com
  • https://readingvox.blogspot.com
  • https://neextdraft.blogspot.com
  • https://udimy.blogspot.com
  • https://arcieve.blogspot.com
  • https://diabetesmail.blogspot.com
  • https://quiltingmail.blogspot.com
  • https://downloadallyouwanttutorials.blogspot.com
  • https://increasingmarketingsystem.blogspot.com
  • https://skysportingnewsnationspinquirer.blogspot.com
  • https://politicnewsbusterinsiderpostreview.blogspot.com
  • https://javascripttrendlist.blogspot.com
  • https://teraqiitatail.blogspot.com
  • https://bigpalacenews.blogspot.com
  • https://executivetowernews.blogspot.com
  • https://magnificentplannews.blogspot.com
  • https://businessinboard.blogspot.com
  • https://patriotsscience.blogspot.com
  • https://allinonequantumleap.blogspot.com
  • https://foodandrecipefusion.blogspot.com
  • https://newsletterforeveryone.blogspot.com
  • https://snacksrobinhood.blogspot.com
  • https://dailynewslettersph.blogspot.com
  • https://rankedrama.blogspot.com
  • https://oschinanet.blogspot.com
  • https://nourich.blogspot.com
  • https://phnewsnet.blogspot.com
  • https://structuresusingc.blogspot.com
  • https://foodubers.blogspot.com
  • https://genuinequality.blogspot.com
  • https://techdigitalmedia.blogspot.com
  • https://entertainmenhubtbiz.blogspot.com
  • https://sportsbookwire.blogspot.com
  • https://societycast.blogspot.com
  • https://lifestylesportsreturn.blogspot.com
  • https://natureimpactfactor.blogspot.com
  • https://artnetworth.blogspot.com
  • https://entrepreneurexamples.blogspot.com
  • https://cryptomarketbase.blogspot.com
  • https://btsbiot.blogspot.com
  • https://sexybinikis.blogspot.com
  • https://foreignexchangecurrency.blogspot.com
  • https://classifiedexample.blogspot.com
  • https://bookboons.blogspot.com
  • https://writingdate.blogspot.com
  • https://wamios.blogspot.com
  • https://justmightdiy.blogspot.com
  • https://playfreeonlinegamesmore.blogspot.com
  • https://healthlinefitnessfirst.blogspot.com
  • https://snaptikvideodownloader.blogspot.com
  • https://pokemonunitepc.blogspot.com
  • https://neverthelesskdrama.blogspot.com
  • https://coolantioniq.blogspot.com
  • https://hackerploit.blogspot.com
  • https://ballbreakdown.blogspot.com
  • https://flixsterio.blogspot.com
  • https://fortnitebattleroyaletrack.blogspot.com
  • https://manilaplus.blogspot.com
  • https://davaoplus.blogspot.com
  • https://tutorialsfiles.blogspot.com
  • https://mondaymorningcookingclub.blogspot.com
  • https://gymnearmee.blogspot.com
  • https://windows26.blogspot.com
  • https://millionaireinvest.blogspot.com
  • https://latestkhmernews.blogspot.com
  • https://latestisraelnews.blogspot.com
  • https://latestaustralianews.blogspot.com
  • https://latestirannews.blogspot.com
  • https://latestjapannews.blogspot.com
  • https://latestsaudinews.blogspot.com
  • https://latestfreecourse.blogspot.com
  • https://ikeafurnitureaccessories.blogspot.com
  • https://makeupandbeautyproduct.blogspot.com
  • https://latestpets.blogspot.com
  • https://topecommerceniches.blogspot.com
  • https://latesttexasnews.blogspot.com
  • https://latestufcgame.blogspot.com
  • https://tipweightlossfast.blogspot.com
  • https://latestcancercure.blogspot.com
  • https://philsys.blogspot.com
  • https://phoramensoba.blogspot.com
  • https://latestcupcakes.blogspot.com
  • https://latestgivex.blogspot.com
  • https://latestlottoresult.blogspot.com
  • https://downloadarchived.blogspot.com
  • https://doesports.blogspot.com

Search This Blog

  • Home

About Me

politicnewsbusterinsiderpostreview
View my complete profile

Report Abuse

Labels

  • 【ANDROID STUDIO】ViewModel Two Way Data Binding
  • 【FLUTTER ANDROID STUDIO and IOS】 Cupertino TabScaffold
  • 【FLUTTER ANDROID STUDIO and IOS】 Expenses App
  • 【FLUTTER ANDROID STUDIO and IOS】 Explicit Animations
  • 【FLUTTER ANDROID STUDIO and IOS】 PDF Viewer
  • 【FLUTTER ANDROID STUDIO and IOS】 productivity timer
  • 【FLUTTER ANDROID STUDIO and IOS】 SimpleDialog
  • 【FLUTTER ANDROID STUDIO and IOS】bidirectional swipable or slidable sqflite with remote http using dio
  • 【FLUTTER ANDROID STUDIO and IOS】bloc design pattern
  • 【FLUTTER ANDROID STUDIO and IOS】bluetooth
  • 【FLUTTER ANDROID STUDIO and IOS】Call Android Java Code
  • 【FLUTTER ANDROID STUDIO and IOS】card selector
  • 【FLUTTER ANDROID STUDIO and IOS】change the chart dynamically using provider state management
  • 【FLUTTER ANDROID STUDIO and IOS】chip
  • 【FLUTTER ANDROID STUDIO and IOS】CircularProgressIndicator
  • 【FLUTTER ANDROID STUDIO and IOS】credit card view
  • 【FLUTTER ANDROID STUDIO and IOS】CRUD Streams
  • 【FLUTTER ANDROID STUDIO and IOS】DropdownButton
  • 【FLUTTER ANDROID STUDIO and IOS】dynamic event calendar management
  • 【FLUTTER ANDROID STUDIO and IOS】Endless ListView
  • 【FLUTTER ANDROID STUDIO and IOS】face detection and recognition using machine learning vision
  • 【FLUTTER ANDROID STUDIO and IOS】Fetch Data From The Internet
  • 【FLUTTER ANDROID STUDIO and IOS】Firebase Firestore Realtime CRUD operation
  • 【FLUTTER ANDROID STUDIO and IOS】folding cell
  • 【FLUTTER ANDROID STUDIO and IOS】Fuzzy search list initially translated from Fusejs
  • 【FLUTTER ANDROID STUDIO and IOS】GETX State Management
  • 【FLUTTER ANDROID STUDIO and IOS】giffy dialog
  • 【FLUTTER ANDROID STUDIO and IOS】IconButton
  • 【FLUTTER ANDROID STUDIO and IOS】leaflet map with marker popup
  • 【FLUTTER ANDROID STUDIO and IOS】load csv
  • 【FLUTTER ANDROID STUDIO and IOS】Measures Converter
  • 【FLUTTER ANDROID STUDIO and IOS】Multiple Files For Each Screen
  • 【FLUTTER ANDROID STUDIO and IOS】Navigate With Named Routes
  • 【FLUTTER ANDROID STUDIO and IOS】Nesting Rows and Columns
  • 【FLUTTER ANDROID STUDIO and IOS】notifications in background handling with Workmanager
  • 【FLUTTER ANDROID STUDIO and IOS】Packing Widgets
  • 【FLUTTER ANDROID STUDIO and IOS】Parsin JSON In The Background
  • 【FLUTTER ANDROID STUDIO and IOS】Parsing Blogger or Blogspot RSS Feeds in Flutter
  • 【FLUTTER ANDROID STUDIO and IOS】rating dialog
  • 【FLUTTER ANDROID STUDIO and IOS】restful calls with ajax
  • 【FLUTTER ANDROID STUDIO and IOS】Reverse and Stop Animations
  • 【FLUTTER ANDROID STUDIO and IOS】reviews slider
  • 【FLUTTER ANDROID STUDIO and IOS】RxDart BloC
  • 【FLUTTER ANDROID STUDIO and IOS】Scan Text and Barcodes Recognition and Detection with ML Kit
  • 【FLUTTER ANDROID STUDIO and IOS】scratch card
  • 【FLUTTER ANDROID STUDIO and IOS】SQflite and mobx with Cache log
  • 【FLUTTER ANDROID STUDIO and IOS】sqlite task manager Any Task Any Goal Get Things Done
  • 【FLUTTER ANDROID STUDIO and IOS】Staggered Animation
  • 【FLUTTER ANDROID STUDIO and IOS】staggered grid view
  • 【FLUTTER ANDROID STUDIO and IOS】Stateful Send Data To A New Screen
  • 【FLUTTER ANDROID STUDIO and IOS】text to speech
  • 【FLUTTER ANDROID STUDIO and IOS】Tween Animation
  • 【FLUTTER ANDROID STUDIO and IOS】Typehead autocompletion textfield library
  • 【FLUTTER ANDROID STUDIO and IOS】video recorder and picker and image picker
  • 【GAMEMAKER】 Enemy Path Finding
  • 【GAMEMAKER】Allowing a Player to Get In or Out of the Drivable Vehicle
  • 【GAMEMAKER】Card battle
  • 【GAMEMAKER】Character Stats Progression Upgrade
  • 【GAMEMAKER】Destructable Terrain
  • 【GAMEMAKER】Dice Roll
  • 【GAMEMAKER】Fishing_Mini_Game
  • 【GAMEMAKER】HUD show spells
  • 【GAMEMAKER】Lives
  • 【GAMEMAKER】Pong Retro Game Remake
  • 【GAMEMAKER】Positional Audio
  • 【GAMEMAKER】Retro Brick and Ball Game Remake
  • 【GAMEMAKER】Simple Battle System
  • 【GAMEMAKER】Simple Game Quest
  • 【GAMEMAKER】sokoban Designing Levels a room with string or text gamemaker with http get
  • 【GAMEMAKER】sokoban pushable object
  • 【GAMEMAKER】Speech bubble typewriter alert text effect
  • 【GAMEMAKER】Tank Trax with wind simulation remake
  • 【GAMEMAKER】write text files that can be downloaded and processed
  • 【LARAVEL and FLUTTER ANDROID STUDIO and IOS】Authentication System in Flutter with Laravel Passport
  • 【LARAVEL and FLUTTER ANDROID STUDIO and IOS】GETX and Dio CRUD Create Read Update Delete
  • 【LARAVEL and FLUTTER ANDROID STUDIO and IOS】GETX and GETX STORAGE CRUD Create Read Update Delete
  • 【LARAVEL and FLUTTER ANDROID STUDIO and IOS】IndexedStack Keep State(Avoid to Rebuild)
  • 【LARAVEL and FLUTTER ANDROID STUDIO and IOS】Laravel Pagination infinite scroll load more
  • 【LARAVEL and FLUTTER ANDROID STUDIO and IOS】Uploading a File to a Server from Flutter Using a Multi-Part (form-data) POST Request
  • 【LARAVEL PHP and FLUTTER ANDROID STUDIO and IOS】dynamic multiple text field
  • 【PYTHON OPENCV】 Face detection using dlib frontal face detector
  • 【PYTHON OPENCV】Cat face detection using haar feature-based cascade classifiers
  • 【PYTHON OPENCV】Face detection using cvlib face detector (uses DNN OpenCV face detector)
  • 【PYTHON OPENCV】Face detection using dlib CNN face detector using a pre-trained model
  • 【PYTHON OPENCV】Face detection using dlib frontal face detector
  • 【PYTHON OPENCV】Face detection using haar feature-based cascade classifiers
  • 【PYTHON OPENCV】Face detection using OpenCV DNN face detector
  • 【PYTHON OPENCV】Image classification using OpenCV CNN module SqueezeNet and caffe pre trained models
  • 【PYTHON OPENCV】This script makes used of dlib library to calculate the 128D descriptor to be used for face recognition and compare the faces using some distance metrics
  • 【PYTHON OPENCV】Training a linear regression model using Keras
  • 【PYTHON】Cross Validation Regression R2
  • 【REDUX and VANILLA JS】 CRUD
  • 【Visual Studio vbnet】 Delete All
  • 【Visual Studio Visual Csharp】Item Color
  • 【VISUAL VB NET】Enumerate Windows
  • 【VISUAL VB NET】Export HTML table to excel any format xls
  • 【VISUAL VB NET】File Properties
  • 【VISUAL VB NET】Monitor StandBy
  • 【VISUAL VB NET】Mouse Position
  • 【VISUAL VB NET】MS Word
  • 【VISUAL VB NET】Mutex
  • 【VISUAL VB NET】Panel Gradient
  • 【VISUAL VB NET】Print
  • 【VISUAL VB.NET】Admin Check
  • 【VISUAL VB.NET】Calendar
  • 【VISUAL VB.NET】Convert To Hex
  • 【VISUAL VB.NET】Create Desktop Shortcut
  • 【VISUAL VB.NET】Create File and Write File
  • 【VISUAL VB.NET】Enumerate_network_resources
  • 【VISUAL VB.NET】File Dates Info
  • 【VISUAL VB.NET】Firewall Enable or Disable
  • 【VISUAL VB.NET】Get DiskFreeSpace
  • 【VISUAL VB.NET】Get_computer_name
  • 【VISUAL VB.NET】Get_processor_type
  • 【Vuejs】 bind the values ​​of parent and child components in two directions
  • 【Vuejs】 book management (use directive and filter)
  • 【VUEJS】 seamless carousel effect
  • 【Vuejs】 Weekly Expenses app with chart js
  • 【VUEJS】element ui audio player functions
  • 【VUEJS】photo-sphere-viewer 360°×180° panoramic plug-in to simulate VR viewing and room switching
  • 【Vuejs】realtime geolocation tracking with leaflets and firebase database
  • 【Vuejs】Response speed test tool
  • and SQLite
  • and weapon
  • BLoCs
  • change HP
  • Face detection using face_recognition CNN face detector (internally calls dlib CNN face detector)
  • Gold
  • inventory
  • which is based on Histogram of Oriented Gradients (HOG) features and a linear classifier in a sliding window detection approach
  • xlsx
  • xml
  • XP

Blog Archive

  • August 2023 (1890)
  • July 2023 (2818)
  • June 2023 (2887)
  • May 2023 (3025)
  • April 2023 (2803)
  • March 2023 (2973)
  • February 2023 (2644)
  • January 2023 (2760)
  • December 2022 (2650)
  • November 2022 (2615)
  • October 2022 (2585)
  • September 2022 (2497)
  • August 2022 (2502)
  • July 2022 (2522)
  • June 2022 (2639)
  • May 2022 (2318)
  • April 2022 (2361)
  • March 2022 (2365)
  • February 2022 (2208)
  • January 2022 (2359)
  • December 2021 (2475)
  • November 2021 (3152)
  • October 2021 (3245)
  • September 2021 (3145)
  • August 2021 (3261)
  • July 2021 (3191)
  • June 2021 (3123)
  • May 2021 (3027)
  • April 2021 (2578)
  • March 2021 (1895)
  • February 2021 (1363)
  • January 2021 (1524)
  • December 2020 (916)
Powered by Blogger.