Implements a route tacing facitity.
TIdTraceRoute = class(TIdCustomICMPClient);
TIdTraceRoute is a TIdCustomICMPClient descendant that implements a trace facility for packet routing to a specific network host.
The Internet is a large and complex aggregation of network hardware, connected together by gateways. Tracking the route one's packets follow (or finding the miscreant gate- way that's discarding your packets) can be difficult. TIdTraceRoute utilizes the IP protocol 'time to live' field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to some host.
TIdTraceRoute uses the Host specified for the client as the destination host name or IP number.
TIdTraceRoute attempts to trace the route an IP packet would follow to some internet host by launching UDP probe packets with a small ttl (time to live) then listening for an ICMP "time exceeded" reply from a gateway. The probe is initialized with a ttl value of one, and increased by one until we get an ICMP "port unreachable" (which means we got to "host") or hit a max (which defaults to 30 hops). If the probe answers come from different gateways, the address of each responding system will be provided using the OnReply event handler.
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.