Basic usages of netest-1 and pipechar

Both netest-1 and pipechar have a several options that may make users thinking them hard to understand and use. These options are designed for special case study and intensive testing, but not for the general purpose. Furthermore, these tools all have a certain level adaptive control mechanism that will let users use as few options as possible. Some crucial information can be found in note . Below are common usages:

Section 1: pipechar

In this section, let's briefly preview the basic usage for these tools. make simple start: pipechar [-l] destination or pipechar [-l] [-hop 0 | -bot] destination
The second form tells pipechar to only report the available bandwidth to the destination. "-hop 0" option instructs pipechar only probing the last hop to see what is the available bandwidth, and "-bot" option instructs pipechar probing all links, but report only the bottleneck link.
"-l" option is for bypassing non responsive router and passing through firewall.
If you see a warning message like this:

	pipechar [Mar25-2K1] : can't reach the host6[xxx.yyy.zz.hhh] with
	max_ttl(9)
	try to analyze partial path instead

Please try to use "-l" option to eliminate the problem.
Be ware that if the destination is not reachable,

	Warning: Host [foo] is not alive.
	Reduce TTL [-max] if probing takes long time
	pipechar [Mar25-2K1] : can't reach the host2[131.243.128.40] with max_ttl(3)
	try to analyze partial path instead

using "-l" option may cause long delay. So, following the advice in above
message to use "-max #" with "-l" option. The # should be 3 to 5 in this example.

This is the basic approach of network bandwidth analysis.
How to read the output is explained in the following examples:

iss-p10.lbl.gov: pipechar ux5
0: localhost [3 hops]			     min forward time, min RTT, avg RTT
1: ir100gw-r2.lbl.gov			(131.243.2.1)	  0.19	-0.13	0.98ms
2: ir30gw.lbl.gov			(131.243.128.30)  0.77	 0.81	2.52ms
3: ux5.lbl.gov				(128.3.7.103)	  1.02	 1.53	3.42ms

PipeCharacter statistic: 1.05% reliable
From localhost:
|	387.097 Mbps GigE (1000.3 Mbps)

1: ir100gw-r2.lbl.gov		(131.243.2.1 )
|
|	100.716 Mbps	100BT	<24.1413% BW used>
2: ir30gw.lbl.gov		(131.243.128.30)
|	70.658 Mbps 100BT (100.7303 Mbps)

3: ux5.lbl.gov			(128.3.7.103 )

re-testing

iss-p10.lbl.gov: pipechar ux5 -v
Warning: Host [ux5] is not alive.
Reduce TTL [-max] if takes long time to probe
0:	localhost [3 hops]		     min forward time, min RTT, avg RTT
1: 6.9s ir100gw-r2.lbl.gov		(131.243.2.1)	  0.22	 0.19	1.02ms
2: 7.8s ir30gw.lbl.gov			(131.243.128.30)  0.75	 0.79	2.42ms
3: 8.8s ux5.lbl.gov			(128.3.7.103)	  0.74	 0.98	2.79ms

PipeCharacter statistic: 94.05% reliable
From localhost:
|	774.194 Mbps GigE (981.7362 Mbps)

1: ir100gw-r2.lbl.gov		(131.243.2.1 )
|
|	100.716 Mbps	100BT	<0.2678% BW used>
2: ir30gw.lbl.gov		(131.243.128.30)
|	96.644 Mbps 100BT (100.7303 Mbps)

3: ux5.lbl.gov			(128.3.7.103 )

pipechar has two report sections. First, pipechar print out some timing for each hop, tells where the probing is going to. In this section, three times are reported -- minimum packet forwarding time, minimum round trip time (min RTT) or average packet differential time (avg FWT -- when -RFT option specified), and average RTT.
RTT timings represent how fast packets can travel through this hop; and FWT timing gives some error information (it can be negative value frequently).
Another timing information (conditionally shown between hop# and node name -- if the node name is shorter than 32 bytes or -v option is given) tells how much time is spent for probing this node (hop).
In second section, pipechar does hop by hop statistic analysis. The higher reliable percentage indicates the higher quality on the information collected. The low reliable percentage means that more error encountered during the probing, and the network utilization is high at this time. In above example, the reliability is 1.05%, because it takes very long time to finish for just three-(3)-hop probing, there must be some re-probing and/or alternative method used for improving the data accuracy. The result is nearly precise as comparing with the re-testing result. From the re-testing result , we can see that the ux5 is not responding probing correctly (even not alive) sometimes, and the middle router was much busy (24.14% v.s. 0.26%) during the first testing.

In statistic section, the bandwidth utilization is analyzed except for the two ends. If the hop analyzed is not in congested bottleneck, the left number is the maximum bandwidth that can be used for this link, and the currently used bandwidth percentage is on the right side. If this is a congested hop, the bandwidth on the left side means available bandwidth for this hop now. The statistic reports for both end are approximately maximum interface speed and the link bandwidth.

More options for pipechar:

	pipechar [-P < maximum Probes > ] [-S < sleep -time > [-hop #] destination

The default value is 32 for [-P], 234000us for [-S], and 1 for [-hop].
In any situation that needs to slow down the probing process to get more static available bandwidth, please try to use "-S 567000" or even large delay "-S 1234567". Large -P option may increase the probing period if network traffic fluctuates. So, when try to increase the probe times, you may use large delay time -S. This will take longer time to run, reduce network fluctuation effect, and the result will be more static and solid. Specially, if you need to know only a certain segment character, you may jump to that hop directly by using "-hop hop_number [-max hop_number+n]". This will send data to test that several hops only instead of probing every hops.
pipechar output analysis for busy and problematic network will be available after we can recollect these data.

Section 2: netest-1

In this section, we show how the netest-1 is used to analyze the end-to-end bandwidth. Usage: receiver% netest-1 [-p port] [-w receiver-buffer-size] sender% netest-1 -t receiver [-p port] [-w sender-buffer-size] [-n # bursts] [-l burst-size]
Larger # for -n and -l options will give a sustained throughput over a longer period of time. This approach is similar to ttcp and ipref, except netest-1 reports every test results + a lump summary, rather than just a lump summary. See advanced usage in expert page for more usages and options.

Section 3: other simple pipechar options

Here is a couple of examples for other pipechar options: pipechar -PxCHAR destination pipechar -hsw destination

The option "-PxCHAR" instructs pipechar to do modified pathchar/pchar probing after its regular analysis.
The option "-hsw" tells pipechar to find hidden switches in the gateway area.

See advanced usage of these tools for more options.

iss-p10.lbl.gov: pipechar -PxCHAR ux5
0: localhost [3 hops]
1: ir100gw-r2.lbl.gov			(131.243.2.1)	  7.40  11.02	15.70ms
2: ir30gw.lbl.gov			(131.243.128.30)  7.34	 9.74	14.74ms
3: ux5.lbl.gov				(128.3.7.103)	  7.38	14.18	23.09ms

PipeCharacter statistics: 1.05% reliable
From localhost:
|	9.732 Mbps 10BT (10.4437 Mbps)

1: ir100gw-r2.lbl.gov		(131.243.2.1 )
|
|	10.108 Mbps		<0.7434% BW used>
2: ir30gw.lbl.gov		(131.243.128.30)
|	9.749 Mbps 10BT (10.1105 Mbps)

3: ux5.lbl.gov			(128.3.7.103 )
Modified PATHCHAR Method:
0: localhost
% error range= 3.649635 Mbps sending probes...
   56bytes: 0.452(0.466)     417bytes: 0.854(0.854)	778bytes: 1.233(1.234)
   1139bytes: 1.620(1.628)    1500bytes: 1.986(1.992)
preslope= 0.000000;     slope= 0.001062
|	7.533Mbps
% error range= 3.676971 Mbps sending probes...
   56bytes: 0.829(0.942)     417bytes: 1.236(1.276)	778bytes: 1.703(1.715)
   1139bytes: 2.086(2.099)    1500bytes: 2.453(2.473)
preslope= 0.001062;     slope= 0.001135
|	109.393Mbps
% error range= 3.656060 Mbps sending probes...
   56bytes: 0.677(0.681)     417bytes: 1.141(1.161)	778bytes: 1.691(1.697)
   1139bytes: 2.089(2.179)    1500bytes: 2.620(2.637)
preslope= 0.001135;     slope= 0.001339
|	39.239Mbps

Please send any suggestion on how to improve this tutorial to author

Back to the parent page [an error occurred while processing this directive]
Updated Thursday, 04-May-2006 19:32:11 PDT