I am learning ping command and its options.

In that the -l option is provided, it sends that many packets to the destination without waiting for a reply. And for normal users the preload limit is 3. Normal user cannot send more than three packets using preload.

My questions are:

  1. What is the use of sending more than one packet without waiting for reply ?
  2. Why the preload limit is limited to 3 for normal users ?
  3. Why not 4 or 5 ?

Note: I already searched in google, but I didn't get the answer.

  • "What is the use of sending more than one packet without waiting for reply" To go faster? The number three was probably just a low number they picked just to put a cap on it so you couldn't compromise a single regular account and flood another host with ICMP echo requests. They probably could have gone with 4 or 5 but then people would be asking why "4" or "5"
    – Bratchley
    May 9, 2016 at 12:49
  • If we need to picked the low number, then we can also select 2. Why they selecting 3 ?
    – user152030
    May 9, 2016 at 12:56
  • 1
    Like I said, they had to pick some number and you can always say "why that number?" no matter which number they did pick. Three is probably just the lowest number that establishes a pattern. For instance, if they did two request and you got wildly different values for TTL on each then you wouldn't know which one was the fluke without running the ping again. Adding a third lets you know what the "normal" value is since it's not likely for the fluke to happen twice in the same period of time.
    – Bratchley
    May 9, 2016 at 12:59
  • No. The TTL is not about the how many packets transferring. We can find the TTL for each packet sending.
    – user152030
    May 9, 2016 at 13:01
  • 1
    I never said TTL was about how many packets are being sent. I was just using TTL as an example metric. The important bit is that if the metrics of two ECHO requests vary wildly, you need a third to establish the norm, otherwise you have two ICMP packets from a period of time with two different values and it's hard to discern which is the normal value and which is an aberration.
    – Bratchley
    May 9, 2016 at 13:04

2 Answers 2


Using -l makes the ping utility "shotgun" all the tested packets out at once, rather than at one second intervals. This can be useful if you're testing things more sensitive to bursts of data than basic connectivity.

  • Why that is limited to 3 for normal users ? Why not 4 or 2 ? I need the reason for why the limit as 3.
    – user152030
    May 10, 2016 at 4:07
  • Because, as others mentioned, some number had to be chosen. If it were 4, or 2, or 532, the same question could be asked.
    – DopeGhoti
    May 10, 2016 at 4:11
  • Yes. I understand. But without any reason they didn't choose any number as a limit ?
    – user152030
    May 10, 2016 at 4:38
  • The source code repository for iputils is located at sourceforge.net/p/iputils/code/ci/HEAD/tree . Feel free to check it out and review the commit logs yourself, or email the developers to ask after their thought processes vis-a-vis selecting 3 as a limit.
    – DopeGhoti
    May 10, 2016 at 4:49

Why the preload limit is limited to 3 for normal users ?

So that normal users can't take down the network with ping. Nowadays it's harder to take the network down with pings but before with slower networks you had to limit users on how they could use pings.

  • Why that is limited for 3 ? why not 4 or 2 ? If they set one limit they have the reason why they setting that as a limit. Like that I need the reason why the three is limited ?
    – user152030
    May 10, 2016 at 3:44
  • Because it's believed that 3 would be the threshold where you couldn't do any harm or take the network down as I mentioned before. 4 might start to get bad, so that's why the number.
    – VaTo
    May 10, 2016 at 5:00

You must log in to answer this question.