Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Dec 2002 01:59:29 +0900
From:      Takashi Okumura <taka@wide.ad.jp>
To:        freebsd-net <freebsd-net@FreeBSD.ORG>
Subject:   [Netnice version 2 (For FreeBSD 4.7)]
Message-ID:  <3DFF57F1.AA2E7CD9@wide.ad.jp>

next in thread | raw e-mail | index | archive | help
Dear Hackers,

i would like to introduce my traffic control package for FreeBSD 4.7,
netnice version 2, and recruit some alpha testers.


============================================================
       Netnice Version 2: Alpha Release (Dec 10, 2002)
============================================================


Netnice is a traffic management package for FreeBSD.
It comes with useful traffic control applications;

 o Bandwidth control of running network applications: netnice

        % ps -aux | grep netscape
        taka    1234    ... snip ...    9:14AM  0:00.10 netscape
        % netnice 1234 1024Kbps

 o Easy specification of network I/O at startup: sh

        $ ftp ftp.freebsd.org @512Kbps

 o Bandwidth specification in /etc/inetd.conf: inetd

        % cat /etc/inetd.conf
        ftp     stream  nowait  ...snip...      @ 512Kbps
        telnetd stream  nowait  ...snip...      @ 64Kbps

 o Network QoS daemon with flexible scripting feature: netniced

        % netniced -d


 * Overview *

In FreeBSD community, we already have some implementations for traffic
control. Most of them have parallel queues in network subsystem of the
operating system, and basically, follow traditional traffic control
model where we configure queue parameters and packet classification
rules.

Netnice differs from them in that it utilizes a new traffic control
primitive, Virtual network interface (VIF). Traffic control with a VIF
works as follows.  First, we create a VIF connected to an existing
physical network interface. Then, we set parameters of the VIF, such
as bandwidth and priority. Lastly, we attach it to network I/O of
target process, or sockets.


 * Features *

The primitive has following notable features.

The attached virtual network interface will be inherited to its child
processes, and thus, the network resource would be protected from
excess use.

Virtual network interfaces can be hierarchically structured, and
attachable to sockets and process groups, as well as to process
network I/O. This model provides flexible control granularity.

The virtual network interface has various parameters, such as
bandwidth, queuing discipline, weight and priority. Hence, users can
enjoy various traffic control service, such as software packet shaping
and premium service, in a single framework.

Lastly, we note that the virtual network interfaces are accessible as
files, under /proc/network, and thus, any programming environment with
file access API can make use of the primitive.


 * Needs alpha testers!! *

If you got interested in the implementation, please join the alpha
testing, working towards beta-version release in near future. If there
were requests for for an Apache module to control Web traffic, i think
i can provide an experimental version shortly. Detailed information,
documents, and the package is available at the project homepage.

        Project Homepage        http://www.netnice.org


thanks!


-- taka

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DFF57F1.AA2E7CD9>