LDP/LDP/howto/docbook/Traffic-Control-HOWTO/intro.xml

193 lines
7.0 KiB
XML

<!-- start of file -->
<!-- This .xml file is part of the Traffic-Control-HOWTO document -->
<!-- $Id$ -->
<!--
The article was authored by Martin A. Brown <martin@linux-ip.net>
for the linux community, and has been released under the GNU Free
Documentation License (GFDL) through The Linux Documentation
Project (TLDP).
This was initially authored while Martin A. Brown worked for
SecurePipe, Inc. (acquired by TrustWave in 2006, which itself
was acquired by Singapore Telecom in 2015).
This HOWTO is likely available at the following address:
http://tldp.org/HOWTO/Traffic-Control-HOWTO/
-->
<!-- conventions used in this documentation....
- each section is a separate file
-->
<section id="intro">
<title>Introduction to Linux Traffic Control</title>
<para>
Linux offers a very rich set of tools for managing and manipulating the
transmission of packets. The larger Linux community is very familiar with
the tools available under Linux for packet mangling and firewalling
(netfilter, and before that, ipchains) as well as hundreds of network
services which can run on the operating system. Few inside the community
and fewer outside the Linux community are aware of the tremendous power of
the traffic control subsystem which has grown and matured under kernels
2.2 and 2.4.
</para>
<para>
This HOWTO purports to introduce the
<link linkend="overview">concepts of traffic control</link>,
<link linkend="elements">the traditional elements (in general)</link>,
<link linkend="components">the components of the Linux traffic control
implementation</link> and provide some
<link linkend="rules">guidelines</link>
<!-- and <link linkend="examples">examples</link> -->.
This HOWTO represents the collection, amalgamation and synthesis of the
&url-lartc-howto;, documentation from individual projects and importantly
the &url-lartc-mailinglist; over a period of study.
</para>
<para>
The impatient soul, who simply wishes to experiment right now, is
recommended to the &url-tcng-htb-howto; and &url-lartc-howto; for
immediate satisfaction.
</para>
<para>
</para>
<section id="i-assumptions">
<title>Target audience and assumptions about the reader</title>
<para>
The target audience for this HOWTO is the network administrator or savvy
home user who desires an introduction to the field of traffic control
and an overview of the tools available under Linux for implementing
traffic control.
</para>
<para>
I assume that the reader is comfortable with UNIX concepts and the
command line and has a basic knowledge of IP networking. Users who wish
to implement traffic control may require the ability to patch, compile
and install a kernel or software package
<footnote>
<para>
See <xref linkend="software"/> for more details on the use or
installation of a particular traffic control mechanism, kernel or
command line utility.
</para>
</footnote>. For users with newer kernels
(2.4.20+, see also
<xref linkend="s-kernel"/>), however, the ability to install and use
software may be all that is required.
</para>
<para>
Broadly speaking, this HOWTO was written with a sophisticated user in
mind, perhaps one who has already had experience with traffic control
under Linux. I assume that the reader may have
no prior traffic control experience.
</para>
</section>
<section id="i-conventions">
<title>Conventions</title>
<para>
This text was written in
<ulink url="http://www.docbook.org/">DocBook</ulink>
(<ulink url="http://www.docbook.org/xml/4.2/index.html">version 4.2</ulink>)
with
<ulink url="http://vim.sourceforge.net/"><command>vim</command></ulink>.
All formatting has been applied by
<ulink url="http://xmlsoft.org/XSLT/">xsltproc</ulink> based on
<ulink url="http://docbook.sourceforge.net/projects/xsl/">DocBook
XSL</ulink> and
<ulink url="http://www.tldp.org/LDP/LDP-Author-Guide/usingldpxsl.html">LDP
XSL</ulink> stylesheets. Typeface formatting and display conventions
are similar to most printed and electronically distributed technical
documentation.
</para>
</section>
<section id="i-recommendation">
<title>Recommended approach</title>
<para>
I strongly recommend to the eager reader making a first foray into the
discipline of traffic control, to become only casually familiar with the
&link-tc; command line utility, before concentrating on &link-tcng;. The
&tcng; software package defines an entire language for describing
traffic control structures.
At first, this language may seem daunting, but mastery of these basics
will quickly provide the user with a much wider ability to employ (and
deploy) traffic control configurations than the direct use of &tc;
would afford.
</para>
<para>
Where possible, I'll try to prefer describing the behaviour of
the Linux traffic control system in an abstract manner, although in
many cases I'll need to supply the syntax of one or the other common
systems for defining these structures. I may not supply examples in
both the &tcng; language and the &tc; command line, so the wise user
will have some familiarity with both.
</para>
<para>
</para>
</section>
<section id="i-missing">
<title>Missing content, corrections and feedback</title>
<para>
There is content yet missing from this HOWTO. In particular, the
following items will be added at some point to this documentation.
</para>
<itemizedlist>
<listitem>
<para>
A section of examples.
</para>
</listitem>
<listitem>
<para>
A section detailing the classifiers.
</para>
</listitem>
<listitem>
<para>
A section discussing the techniques for measuring traffic.
</para>
</listitem>
<listitem>
<para>
A section covering meters.
</para>
</listitem>
<listitem>
<para>
More details on &tcng;.
</para>
</listitem>
<listitem>
<para>
Descriptions of newer qdiscs, specifically, Controlled Delay
(codel), Fair Queue Controlled Delay (fq_codel), Proportional
Integrated controller Enhanced (pie), Stochastic Fair Blue (sfb),
Heavy Hitter Filter (hhf), Choke (choke).
</para>
</listitem>
</itemizedlist>
<para>
I welcome suggestions, corrections and feedback at &email;. All errors
and omissions are strictly my fault. Although I have made every effort
to verify the factual correctness of the content presented herein, I
cannot accept any responsibility for actions taken under the influence
of this documentation.
</para>
<para>
</para>
</section>
</section>
<!-- end of file -->