📄 node94.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4patched version by: Kenshi Muto, Debian Project.LaTeX2HTML 2002 (1.62),original version by: Nikos Drakos, CBLU, University of Leeds* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan* with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --><HTML><HEAD><TITLE>9.2.1 RED queue in DiffServ module</TITLE><META NAME="description" CONTENT="9.2.1 RED queue in DiffServ module"><META NAME="keywords" CONTENT="everything"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="STYLESHEET" HREF="everything.css" tppabs="http://www.isi.edu/nsnam/ns/doc/everything.css"><LINK REL="next" HREF="node95.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node95.html"><LINK REL="previous" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html"><LINK REL="up" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html"><LINK REL="next" HREF="node95.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node95.html"></HEAD><BODY ><!--Navigation Panel--><A NAME="tex2html2751" HREF="node95.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node95.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html2745" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html2739" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html2747" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html2749" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html2752" HREF="node95.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node95.html">9.2.2 Edge and core</A><B> Up:</B> <A NAME="tex2html2746" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html">9.2 Implementation</A><B> Previous:</B> <A NAME="tex2html2740" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html">9.2 Implementation</A>   <B> <A NAME="tex2html2748" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html2750" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <BR><BR><!--End of Navigation Panel--><H2><A NAME="SECTION03621000000000000000"></A>
<A NAME="sec:dsredq"></A><BR>9.2.1 RED queue in DiffServ module</H2>
A DiffServ queue (in class <TT>dsREDQueue</TT>) derived from
the base class <TT>Queue</TT> is implemented in DiffServ module to
provide the basic DiffServ router functionality,
see <TT>dsred.{h,cc}</TT>).
<TT>dsREDQueue</TT> has the following abilities:<UL><LI>to implement multiple physical RED queues along a single link;
</LI><LI>to implement multiple virtual queues within a physical queue,
with individual set of parameters for each virtual queue;
</LI><LI>to determine in which physical and virtual queue a packet is enqueued
according to its code point;
</LI><LI>to determine in from which physical and virtual queue a packet is dequeued
according to the scheduling scheme chosen.
</LI></UL>
The class <TT>dsREDQueue</TT> consists of four physical RED queues,
each containing three virtual queues.
The number of physical and virtual queues are
defined in <TT>numPrec</TT> and <TT>numQueues_</TT>.
Each combination of physical and virtual queue number is associated with
a code point (or a drop preference),
which specifies a certain level of service.
The physical queue is defined in class <TT>redQueue</TT>,
which enables traffic differentiation by defining virtual queues with
independent configuration and state parameters,
see <TT>dsredq.{h,cc}</TT>.
For example,
the length of each virtual queue is calculated only on packets mapped to
that queue.
Thus, packet dropping decisions can be applied based on
the state and configuration parameters of that virtual queues.
Class <TT>redQueue</TT> is not equivalent to class <TT>REDQueue</TT>,
which was already present in .
Instead, it is a modified version of RED implementation with
the notion of virtual queues and
is only used by class <TT>redQueue</TT> to realize physical queues.
All user interaction with class <TT>redQueue</TT>
is handled through the command interface of class <TT>dsREDQueue</TT>.
Class <TT>dsREDQueue</TT> contains a data structure known as
the Per Hop Behavior (PHB) Table
In DiffServ, edge routers mark packets with code points and
core routers simply respond to existing code points;
both of them use PHB table to map a code point to
a particular physical and virtual queue.
The PHB Table is defined as an array with three fields:
<PRE>
struct phbParam {
int codePt\_; // corresponding code point
int queue\_; // physical queue
int prec\_; // virtual queue (drop precedence)
};</PRE><HR><!--Navigation Panel--><A NAME="tex2html2751" HREF="node95.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node95.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html2745" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html2739" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html2747" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html2749" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html2752" HREF="node95.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node95.html">9.2.2 Edge and core</A><B> Up:</B> <A NAME="tex2html2746" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html">9.2 Implementation</A><B> Previous:</B> <A NAME="tex2html2740" HREF="node93.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node93.html">9.2 Implementation</A>   <B> <A NAME="tex2html2748" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html2750" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <!--End of Navigation Panel--><ADDRESS>2003-09-23</ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -