Pinging with Fping and Collecting Ping Performance Data
Fping is a command line application that allows for data collection and recording of the ping command data. It is basically like Ping but is better, and has more features and functions. The most important feature is to log pings with time and date stamps to a file. In addition it provides an accurate millisecond calculation on the ping command. FPING also support 64 bit operating systems.
- Download the file here http://www.kwakkelflap.com/downloads.html
- From the drop down menu, select fping. Download the files and install in a directory, usually I put it in c:\fping.
Limitations of Windows Based PC's for reliable Ping testing
Windows based PC's do not guarantee proccessor queues for any specific ping applications. Lost packets either on the send or the return of ping packets is common and to be expected on all windows PCs. In addition high ping times on windows PC's is common occassionally. Pings take into account the cycle time through all routers and PC's. You will never obtain 100% low ping times on routers or PC's, because they are often doing other things. Average is what is important.
We are in process of testing fping compared to ping, and seeing if there is a way to make sure the buffer queues are adequate to guarantee processing of all low priority packets.
Therefore all data should be consider suspect on Windows Based PC's.
What we know does provide accurate testing via packet loss is Cisco IOS Router, and dedicated linux testing.
In general reliable ping testing should primarily be performed on Cisco IOS capable routers.
In command prompt type: cd C:\fping\x86 (32 bit) or cd C:\fping\x64 (64 bit) based on what processor you have.
The command structure that should be used:
- fping xxx.xxx.xxx.xxx -D -c -s 1500 -L name-of-log-file.txt
- Where xxx.xxx.xxx.xxx is the ip address of the device you are pinging.
- This will create a timestamped file.
- -s 1500 sends 1500 byte pings, which is the maximum normal size. If you cannot send 1500 byte pings, there is something wrong somewhere on the network you are using.
How to use Ping testing
- In general you should open multiple ping windows to various hosts simultaneously. What matters most, is a consistent pattern of traffic issues to multiple devices THAT OCCUR AT THE SAME TIME. For example if there are dropped or delayed packets all at the same time between pinging multiple different hosts this is more likely to show that there is a problem.
- What matters most is not that one host dropped or delayed a packet, what does matter is when multiple hosts dropped or delayed a packet from your PC or site at the same time, this is why having timestamps is critical. For this reason you must have multiple pings going at once to be able to correlate any data.
- Pinging ACD routers, or ACD gateways will not result good testable data. This is simply is the case because our routers are busy doing other more important things than responding the customer requested pings. They are programmed to focus on shipping data and are programmed to delay or ignore your ping traffic when they are busy. It is common to see spikes in the responsiveness of pings in the range of 200-300ms for periods of time because these routers are running tasks and their responsiveness to ping requests is lower.
- Pinging websites like www.yahoo.com and www.google.com will also generally not produce good data. They don't want to waste all their precious CPU cycles returning pings.
What to Ping
On ACD systems you can ping these ip addresses. The platform is listed below as of the time of this writing.
- iperf.acd.net (Linux Platform)
- voip.acd.net (Phone Switch)
- switch.core.metroix.net (Cisco IOS 6509, SUP720-3B, max memory)
- switch2.core.metroix.net (Cisco IOS 6509, SUP720-3B, max memory)