<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
  "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<!-- conversion to man: 
  xsltproc  /usr/apps/docbook/xsl/1.67.2/manpages/docbook.xsl ping.8.dbk
-->
<refentry id="tracepath">
    <refentryinfo>
        <productname>Linux</productname>
        <title>System Administration</title>
        <date>27 September 2002</date>
    </refentryinfo>
	<refmeta>
		<refentrytitle>tracepath</refentrytitle>
		<manvolnum>8</manvolnum>
	</refmeta>
	<refnamediv>
		<refname>tracepath</refname>
		<refname>tracepath6</refname>
		<refpurpose>traces path to a network host discovering MTU along 
		this path</refpurpose>
	</refnamediv>
	<refsynopsisdiv>
		<cmdsynopsis>
			<command>tracepath</command>
			<arg choice="plain"><replaceable>destination</replaceable>
			</arg>
			<arg choice="opt"><replaceable>port</replaceable></arg>
		</cmdsynopsis>
	</refsynopsisdiv>
	
	<refsection>
		
		<title>DESCRIPTION</title>
		
<para>It traces path to <replaceable>destination</replaceable> discovering 
MTU along this path. It uses UDP port <replaceable>port</replaceable> or 
some random port. It is similar to <command>traceroute</command>, only does 
not require superuser privileges and has no fancy options.</para>

<para><command>tracepath6</command> is good replacement 
for <command>traceroute6</command> and classic example of application of 
Linux error queues.
The situation with <command>tracepath</command> is worse, because
commercial IP routers do not return enough information
in icmp error messages. Probably, it will change, when
they will be updated. For now it uses Van Jacobson's
trick, sweeping a range of UDP ports to maintain trace history.</para>
	</refsection>
	
	<refsection>
		
		<title>OUTPUT</title>
		
<screen>
    root@mops:~ # tracepath6 3ffe:2400:0:109::2
    1?: [LOCALHOST] pmtu 1500 
    1: dust.inr.ac.ru 0.411ms 
    2: dust.inr.ac.ru asymm 1 0.390ms pmtu 1480
    2: 3ffe:2400:0:109::2 463.514ms reached
       Resume: pmtu 1480 hops 2 back 2
</screen>

<para>The first column shows <literal>TTL</literal> of the probe, followed 
by colon. Usually value of <literal>TTL</literal> is obtained from reply
from network, but sometimes reply does not contain necessary
information and we have to guess it. In this case the number
is followed by ?.</para>

<para>The second column shows the network hop, which replied to the
probe. It is either address of router or 
word <literal>[LOCALHOST]</literal>, if the probe was not sent to the 
network.</para>

<para>The rest of line shows miscellaneous information about path to
the correspinding hetwork hop. As rule it contains value of RTT.
Additionally, it can show Path MTU, when it changes. If the path is
asymmetric or the probe finishes before it reach prescribed hop,
difference between number of hops in forward and backward direction
is shown following keyword <constant>async</constant>. This information is 
notreliable. F.e. the third line shows asymmetry of 1, it is
because the first probe with TTL of 2 was rejected at the first
hop due to Path MTU Discovery.</para>

<para>The last line summarizes information about all the path to the
destination, it shows detected Path MTU, amount of hops to the
destination and our guess about amount of hops from the destination
to us, which can be different when the path is asymmetric.</para>
	</refsection>

	<refsection>
		
		<title>SEE ALSO</title>

<para><citerefentry>
	<refentrytitle>traceroute</refentrytitle>
	<manvolnum>8</manvolnum>
</citerefentry>, <citerefentry>
	<refentrytitle>traceroute6</refentrytitle>
	<manvolnum>8</manvolnum>
</citerefentry>, <citerefentry>
	<refentrytitle>ping</refentrytitle>
	<manvolnum>8</manvolnum>
</citerefentry>.</para>
	</refsection>

	<refsection>
		
		<title>AUTHOR</title>
		
<para><command>tracepath</command> was written by <address>
<firstname>Alexey</firstname> <surname>Kuznetsov</surname><email
>kuznet@ms2.inr.ac.ru</email></address>.</para>
	</refsection>
	
	<refsection>
		
		<title>SECURITY</title>
		
<para>No security issues.</para>

<para>This lapidary deserves to be 
elaborated. <command>tracepath</command> is
not a privileged program, unlike <command>traceroute</command>,
<command>ping</command> and other beasts of this 
kind. <command>tracepath</command> may be executed by everyone
who has some access to network, enough to send UDP
datagrams to investigated destination using given port.</para>
	</refsection>

	<refsection>
		
		<title>AVAILABILITY</title>
		
<para><command>tracepath</command> is part 
of <application>iputils</application> package and the
latest versions are available in source form from anonymous via <ulink
url="ftp://ftp.inr.ac.ru/ip-routing/iputils-current.tar.gz"/>.</para>
	</refsection>
</refentry>

