1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
|
PCHAR: A TOOL FOR MEASURING NETWORK PATH CHARACTERISTICS
Bruce A. Mah
<bmah@kitchenlab.org>
$Id: CHANGES 1086 2005-02-12 20:31:40Z bmah $
---------------------------------------------------------
This file lists changes to pchar, in reverse chronological order
(i.e. most recent entries at the top of the file).
pchar-1.5: Compile fixes, minor bug fixes. Last planned release of pchar.
(12 February 2005)
Source code moved from CVS to Subversion. Although generally
not user-visible, the version control strings now use
Subversion's format.
Builds on recent (RH 9.0-vintage) Linux systems seem to work
now.
Some off-by-one errors have been fixed, based on
patches submitted by Anil Madhavapeddy <anil@recoil.org>.
pchar with SNMP enabled now has at least a chance of working
correctly.
pchar no longer incorrectly aborts after a hop with 100%
packet loss.
pchar now does a better job of linking libraries using
--with-snmp on machines where libsnmp depends on libcrypto,
thanks to Matt Zimmerman <mdz@debian.org>.
Some problems using --with-pcap on RedHat 7.0/7.1 (possibly
other Linux distributions as well) were found thanks to a
debugging session with Fran Boon <flavour@partyvibe.com>.
pchar-1.4: Multi-packet probes, TCP probes, kernel-level timestamps.
(13 June 2001)
pchar now has some limited compatability with the NRL IPv6
implementation in BSDI 4.1, thanks to some patches originally
submitted by Antonio Querubin <tony@lava.net>.
pchar now supports TCP over IPv4 and TCP over IPv6 probes.
pchar now will use the pcap packet capture library if given
the --with-pcap flag at configure time (the motivation for
this is to enable TCP probes, as well as to give potentially
more accurate timestamps). It is enabled at
run-time with the new -C flag. The selection of which network
interface to snoop is now controlled by the -i flag (in the
same way as tcpdump(1)).
The packet-size increment is now controlled by the -I flag
(it used to be controlled by -i).
Add -b burst parameter for measuring store-and-forward
switched subnets, inspired by LBL's pipechar. It works for
most, but not all, protocol types (so far, it is supported by
everything except UDP over IPv4; note that raw UDP over IPv4
supports -b just fine).
Add a time_t cast to fix building on OpenBSD, submitted by
"Angelos D. Keromytis" <angelos@keromytis.org>.
pchar-1.3.2: Solaris and IRIX compatability, a few bugfixes, SUID root
installation as an option. (9 April 2001)
Compatability with IRIX has been improved, thanks to
Ayamura KIKUCHI <ayamura@ayamura.org>. A related
compatability fix was provided by Jeffrey Mogul
<mogul@pa.dec.com>.
pchar should now use less memory to hold its results, due to a
change in the way memory is allocated and managed.
Henk Langeveld <Henk.Langeveld@holland.sun.com> discovered
some alignment bugs that were breaking on the Sun compiler.
These have been fixed.
pchar now prints the start and end times at the end of each
run (in local time).
When reading from tracefiles, the origin address in printed
output used to be taken from the local machine. This was a bug.
The origin address is now properly taken from the tracefile.
Handle route changes more gracefully, and keep track of up to
ten alternative routes for a hop. Asked for by many folks.
Providing an invalid argument to the -m argument no longer
produces a core dump. Submitted by Pete Wyckoff <pw@osc.edu>.
pchar now has a compile-time option to build and install
as SUID root (--with-suid). It's off by default, and needs to
be explicitly enabled.
pchar-1.3.1: Compatability release, as noted below. (29 January 2001)
Fixed a typo that broke SNMP support. Reported by "Soren
S. Jorvang" <soren@wasabisystems.com> and
Karl Auerbach <karl@CaveBear.com>.
Version 5.0 of the Sun C++ compiler defines some slightly
different preprocessor variables; account for this. Pointed
out by Erik Nordmark <Erik.Nordmark@eng.sun.com>.
The Sun compiler doesn't like arrays whose sizes are
determined at runtime; this has been fixed. Pointed out
by Henk Langeveld <Henk.Langeveld@holland.sun.com>.
Added a prototype for srandom(3) to support Linux
compilation on more recent gcc versions. This requirement
pointed out by Jaiwant Mulik <jmulik@unix.temple.edu> and
Karl Auerbach <karl@CaveBear.com>.
pchar-1.3 ("Year of the Snake" release): New analysis types, support
for ICMP and ICMPv6 probe packets, "tiny traceroute" mode, outgoing
interface selection, bugfixes. (24 January 2001)
Added -M option for operational mode. This controls whether
pchar retains its original behavior or collects "trouts"
(tiny traceroutes).
Added ICMPv6 over IPv6 probes.
pchar will no longer try output negative RTT or BW estimates.
They don't have any physical meaning, and they generate the most
frequent FAQ. There were a few more cosmetic changes made to
the output.
pchar's analysis methods now take into account the size of the
response packet when computing bandwidth and delay estimates.
This makes it possible for to use probes which may return
non-constant-sized responses (such as the ICMP probes below).
As a consequence of considering response packet sizes, the UDP
over IPv6 probes will now return more sane values on the last
hop (they were too low by about 50%).
Added ICMP over IPv4 and TCP over IPv4 probes. (TCP over IPv4
is not completely functional as of this writing.)
As a consequence of supporting multiple probe types,
tracefiles for pchar-1.3 and later are not compatible with
pchar-1.2 and earlier. The new tracefiles are smaller than
the old tracefiles due to less redundant information being
included.
Added -l flag to set the source address of outgoing probe
packets. If this flag is not specified, attempt to use the
target address to figure out what the correct source address
should be. This is a change in behavior from prior versions,
but it should behave the same on most sanely-configured hosts.
"Angelos D. Keromytis" <angelos@keromytis.org> gave some
useful suggestions for implementing this, over a prior, less
reliable, implementation.
Added lmsint analysis type, which is the same algorithm as
LMS, but implemented using integers only.
Multiple build directories are supported properly, thanks to
a patch from Paul Southworth <pws@cisco.com>.
Add least median of squares (LMS) analysis. This is work
completed at Sandia/CA, but not committed until now.
pchar-1.2: Miscellaneous bugfixes, some SNMP support, better use of
IPv6. (5 June 2000)
SNMP query feature (-S flag) from Karl Auerbach
<karl@cisco.com>. This feature requires the UCD SNMP library,
and is enabled with --with-snmp at configure time. This
feature works only with IPv4, and has not been extensively
tested in its current integration.
Better portability with glibc2 and gcc-2.95. Originally
found on Linux by Lutz Sammer <johns98@gmx.net> and
"Aaron Seelye" <aseelye@dynacom.net>.
Handle more gracefully the case where we read in a tracefile
with a target host who can't be resolved. (We don't care
in this case because we're not going to use the resolved
addresses for anything but printing.)
Fix a problem with CMSG_* macros on FreeBSD 4.0-STABLE and
5.0-CURRENT.
If no protocol is specified with -p, pchar automatically
selects between IPv4/UDP and IPv6/UDP by doing a DNS query and
using the address family of the first returned response.
Enhancement suggested by Erik Nordmark
<Erik.Nordmark@eng.sun.com>.
Fix off-by-one handling of filenames which could have caused
tracefiles to break again.
Use <sys/socket.h> to determine IPv6 status at configure time,
and let --with-ipv6 and --without-ipv6 override the test.
Suggested by "Angelos D. Keromytis"
<angelos@dsl.cis.upenn.edu> and Erik Nordmark
<Erik.Nordmark@eng.sun.com>. Also cache the results of the
IPv6 test between configure runs.
Changes for better compatability with Solaris 8 native IPv6,
from Erik Nordmark <Erik.Nordmark@eng.sun.com>.
pchar 1.1.1: Fixed a bug which caused reading back of tracefiles
to be broken. (24 January 2000)
Tracefiles were temporarily broken.
pchar 1.1: Better compatability with more OSs (in particular, IRIX and
OSF). Better IPv6 compatability (on BSDs and glibc systems with
integrated IPv6). Numerous small bugfixes and usability enhancements.
(24 January 2000)
Remove a KAME assumption as to where IPv6 support lives. Note
that KAME users will now need to explicitly configure
--with-ipv6=/usr/local/v6 on systems that don't have KAME
integrated into the base OS. Patch from
<sumikawa@ebina.hitachi.co.jp>.
Incorporate patches from "Angelos D. Keromytis"
<angelos@dsl.cis.upenn.edu> for compilation under the IPv6
support included in OpenBSD-current. As a side effect, all
getipnodename(3), et al. calls were changed to getaddrinfo(3),
et al.
Incorporate patches from "Jeffrey R. Hay (CIC-5)"
<jrhay@lanl.gov> for SGI IRIX and the SGI vendor compiler.
Incorporate patches from Jeffrey Mogul <mogul@pa.dec.com> for
Tru64/Digital Unix/OSF compatability. These patches also
attempt to alleviate problems caused by the fact that the
default clock resolution is 1024 Hz under Tru64 (which is
too coarse to measure nearby or fast links).
Try three probes before running the entire measurement
algorithm to find out if the destination host is really alive.
Inspired by a comment by Jeffrey Mogul <mogul@pa.dec.com>.
Move manual page to section 8 from section 1.
Minor fixes for IPv6 from <sumikawa@ebina.hitachi.co.jp>.
bcopy, et al. changed to memcpy, et al.
Handle more gracefully the case where all packets on a link
are dropped, based on a patch from Pete Wyckoff
<pw@dancer.ca.sandia.gov>.
Fixed calculation of total queueing along the path.
Fixed buglet in install of manpage, patch from
SUMIKAWA Munechika <sumikawa@ebina.hitachi.co.jp>.
Fixed FAQ Q1 to handle configure-time shared library problems
on Solaris.
"make pristine" really does now. Omissions pointed out by
Pete Wyckoff <pw@dancer.ca.sandia.gov>.
pchar 1.0: First externally announced version. Lots of changes,
including IPv6 support, better Linux compatability, more useful
tracefiles, bugfixes, etc. (3 November 1999)
Limited IPv6 functionality (./configure --with-ipv6 to enable).
Portability mods for the Sun SparcWorks compiler.
Repetitions flag is now -R, to free up -r for...
-r flag to read in a previously collected set of measurements.
Inspired by clink, a very similar pathchar reimplementation,
written by Allen Downey <downey@cs.colby.edu>.
Measurements written to -w data files are now written
immediately after each probe measurement, rather than at the
completion of each hop. The data file format has changed
somewhat as well to provide more information, although it
is still line-oriented.
More Linux compatability from Pete Wyckoff
<pw@dancer.ca.sandia.gov>. Also, try to detect firewalls
that might be blocking our packets and quit if we find one.
Add -G gaptype flag to select between fixed inter-probe gaps and
exponentially-distributed inter-probe gaps.
Change parameter estimation to perform linear regressions of
min-filtered datapoints, then a subtraction of parameters.
Previous behavior was to difference the min-filtered datapoints, then
perform a simple linear regression.
Add functionality (and -a command-line option) to select a
linear regression based on Kendall's test statistic T.
Fix a problem with -q disabling the bottleneck bandwidth
computation.
Add aclocal.m4 to distribution (omitted by mistake).
Support for multiple/separate build directories contributed
by Assar Westerlund <assar@sics.se>.
pchar 0.3: Bugfixes, some internal code rearrangement, and raw IPv4
support (13 August 1999).
Minor documentation cleanups suggested by Rose Tsang
<rtsang@ca.sandia.gov>.
"make install" now works, reported and fixed by Pete Wyckoff
<pw@dancer.ca.sandia.gov>, along with sundry other embarassing
bugs.
-c option now works, problem reported by Linda Winkler
<winkler@mcs.anl.gov>.
Multi-protocol support...pchar now supports both
normal UDP/IPv4 and raw IPv4 (constructing UDP packets
internally). -p option is now enabled.
Cleanup Makefile.in so that installs use more of the autoconf
variables and now correctly install the manpage.
Default install directory moved from ${prefix}/bin
to ${prefix}/sbin.
pchar 0.2: First externally-available release (23 February 1999).
Fix Makefile typos which broke non-GNU make builds.
Portability for IRIX 6.X builds.
Use tcpdump tests in aclocal.m4 for sa_len and network library
checks at configure time.
Add some sanity checking of command-line options, motivated by
BUGTRAQ posting
<Pine.LNX.3.96.990213013035.1224A-100000@server.speedcom.it>
regarding the use of traceroute as a packet flooder.
pchar 0.2pre1: Software release for Sandia review and approval (4 February
1999).
New name: pc has been renamed pchar.
Import fresh versions of autoconf files from autoconf-2.13.
Add -T option to set IPv4 TOS bits, based on discussions with
Joe Burrescia <joeb@es.net>, Mike Collins <collins@es.net>,
and Rebecca Nitzan <nitzan@es.net>.
pc 0.1: Semi-release, internal to SNL/CA (15 January 1999).
Add -P flag to set an initial UDP port number.
Corrected interpretation of partial path SLR slope results
(was formerly being misinterpreted as partial path bandwidth).
Fixed computation of path pipe.
Improved Linux compatability, thanks to a patch by Pete
Wyckoff <pw@dancer.ca.sandia.gov>.
Fix divide-by-zero problems when no packets come back from the
far end of a hop. Noted by Pete Wyckoff
<pw@dancer.ca.sandia.gov>.
pc 0.0: Semi-release, internal to SNL/CA (12 January 1999).
|