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: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49236B54-3235-4F8F-A79A-C023EF0E54A4>