Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jun 2007 16:49:04 -0700
From:      Chuck Swiger <cswiger@mac.com>
To:        Lubomir Georgiev <0shady0recs0@gmail.com>
Cc:        freebsd-ipfw@freebsd.org
Subject:   Re: ipfw, pipes, queues, weights and managing an Internet connection
Message-ID:  <49236B54-3235-4F8F-A79A-C023EF0E54A4@mac.com>
In-Reply-To: <937e203f0706121636q35b53d30x408b6caa080ecff6@mail.gmail.com>
References:  <937e203f0706121636q35b53d30x408b6caa080ecff6@mail.gmail.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Jun 12, 2007, at 4:36 PM, Lubomir Georgiev wrote:
>  OK, so that answers my question.... I'm just stupid :D

You just need to read the fine manual.  :-)

>  Just one question - you're saying that it is possible to shape / 
> delay,
> drop etc./ the packets so quickly so that when a pipe is fully  
> utilized
> someone hits a queue with a higher weight /for example port 80  
> would be
> prioritized over p2p traffic/ it would be like as if the pipe was  
> not used
> at all?

I don't believe that I can answer this better than the existing  
description:

  Packets belonging to the same flow are then passed to either of two
  different objects, which implement the traffic regulation:

      pipe    A pipe emulates a link with given bandwidth, propagation
              delay, queue size and packet loss rate.  Packets are  
queued
              in front of the pipe as they come out from the classifier,
              and then transferred to the pipe according to the pipe's
              parameters.

      queue   A queue is an abstraction used to implement the WF2Q+  
(Worst-
              case Fair Weighted Fair Queueing) policy, which is an  
effi-
              cient variant of the WFQ policy.
              The queue associates a weight and a reference pipe to each
              flow, and then all backlogged (i.e., with packets queued)
              flows linked to the same pipe share the pipe's  
bandwidth pro-
              portionally to their weights.  Note that weights are  
not pri-
              orities; a flow with a lower weight is still guaranteed to
              get its fraction of the bandwidth even if a flow with a
              higher weight is permanently backlogged.

  In practice, pipes can be used to set hard limits to the bandwidth  
that a
  flow can use, whereas queues can be used to determine how different  
flows
  share the available bandwidth.

-- 
-Chuck




Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?49236B54-3235-4F8F-A79A-C023EF0E54A4>