[ns] DiffServ without Red possible? What is a virtual queue?

Alexander Sayenko sayenko at cc.jyu.fi
Mon Jun 27 04:42:51 PDT 2005


Hi

> 1.) i have now studied some days paper and simulated a little bit with
NS2.
> I still have not understand the sense of DiffServ, I understand it more or
> less that you can mark traffic and now handle this traffic with different
> priorities. But this was also possible with TOS - Ip Precedence?

In IPv4 header, DSCP field overlaps with IP precedence and ToS fields. In
IPv6, there is no ToS
but Traffic Class field. Take a look at appropriate RFC documents, they
explain it in more details. From the marking point of view, DiffServ does
not propose something extraordinarly new. Moreover, structure of the DSCP
value is backward compatible with IP precedence so that the old equipment is
still capable of providing some level of QoS.

>
> 2.)I have take a small example from DiffServ example and looked at it. It
> defines 10 Percents higher traffic as allowed. And as you sayed this
traffic
> is marked as out-of-profile in a virtual queue. How can I drop especially
> this traffic, when I use the DropTail function with RED?

I am not sure that you can use DropTail and RED since you use EITHER
DropTail OR MRED. They are different mechanisms used to control a queue. If
you want to drop all the out-profile packets, set the queue mode to DROP and
the maximum virtual queue size for the out-profile packets to -1.

>
> I mean among virtual queue works no scheduler, but what happened after
with
> the out-of-profile traffic? Maybe it is dropped at a core router, because
I
> can put this marked traffic after in a physical queue for its own and drop
> it?

The idea of the AF class is that if the network has some unutilized
bandwidth, it can transmit more data as the out-profile packets. However, if
at some point, either edge or core router, there is bandwidth available only
for the in-profile packets, the virtual queue size of the out-profile
packets will grow, RED or DropTail will punish it, and the source
applications will have to slow down data transmission.

>
> Greetz
>
> Martin Goth
>
>
>
> > --- Ursprüngliche Nachricht ---
> > Von: "Alexander Sayenko" <sayenko at cc.jyu.fi>
> > An: "Dorian Frodalin" <ice123 at gmx.net>
> > Kopie: "ns-users at isi.edu" <ns-users at ISI.EDU>
> > Betreff: Re: [ns] DiffServ without Red possible? What is a virtual
queue?
> > Datum: Thu, 23 Jun 2005 17:35:42 +0300
> >
> > Hi
> >
> > You are absolutely right. If you just need two queues and a scheduler,
> > forget about the DiffServ framework. But sooner or later you will
realize
> > that to provide more or less sophisticated QoS in the multiservice
> > networks
> > you need metering and policing.
> >
> > Once again, everything depends on what you want to simulate.
> >
> > Sincerely,
> > Sayenko Alexander
> > PhD student
> > Telecommunication laboratory, MIT department
> > University of Jyvaskyla, Finland
> >
> >
> > > >Then the simplest solution is to define two physical queues, send all
> > the
> > > >voice data to the first queue and the remaining data to the second
one.
> > By
> > > >setting up the priority scheduling you will always prefer the voice
> > data.
> > >
> > > Yes, this sounds ok, but ,therefore, i dont need DiffServ?
> > >
> > > Greetz Martin
> > >
> > >
> > > > Hi
> > > >
> > > > >
> > > > > thanks a lot. I will have a look today for the Drafts.
> > > > > What is the difference between in- and out-profile?
> > > >
> > > > If the incoming traffic matches its profile, then it is in-profile.
> > If,
> > > > for
> > > > instance, rate is bigger than one specified in a profile, then some
> > > > packets
> > > > will be out-profile.
> > > >
> > > > >
> > > > > > Everything depends on what you want to simulate. As I mentioned
> > > > earlier,
> > > > > > you
> > > > > > need several virtual queues, i.e. drop precedences, if you meter
> > and
> > > > > > classify you traffic into in- and out-profile. Note that you can
> > put
> > > > > > traffic
> > > > > > >from two sources into one physical queue, but you can also put
> > voice
> > > > data
> > > > > > into the first physical queue, while all the remaining data into
> > the
> > > > > > second
> > > > > > one. By setting up a scheduler, it is possible to share
bandwidth
> > and
> > > > > > provide appropriate QoS.
> > > > > >
> > > > >
> > > > > Thats exactly I want to show - how to realise QOS with Diffserv
with
> > an
> > > > > example :). You mean after realising DiffServ setting up for
example
> > a
> > > > > Priority Based Scheduler and prove that Voice is prefered.
> > > >
> > > > Then the simplest solution is to define two physical queues, send
all
> > the
> > > > voice data to the first queue and the remaining data to the second
> > one.
> > By
> > > > setting up the priority scheduling you will always prefer the voice
> > data.
> > > >
> > > > >
> > > > > The last question, before I dive into the world wide web: Do I
> > > > understand
> > > > > right that Diffserv marks traffic that they can be put in
different
> > > > queues
> > > > > and the scheduler can work?
> > > >
> > > > Yes and no. By labeling packets we put significantly less burden on
> > the
> > > > core
> > > > routers that will match every packet's label against some value, not
> > IP
> > > > source/destination addresses + ports. But the same labels are used
> > while
> > > > making a decision to which physical queue a packet must be
forwarded.
> > So,
> > > > >from this point of view, it is also necessary by schedulers.
> > > >
> > > > > For Diffserv they mention often the word traffic
> > > > > shaping by admission control. Is this an additional feature?
Because
> > the
> > > > > priorization is done by the Scheduler and the marked traffic and
> > dont
> > > > have
> > > > > to be shaped?
> > > >
> > > > I would say that the admission control is a separate function of the
> > whole
> > > > domain that can help us to answer a question "Do we have enough
> > resources
> > > > for this new flow if we want to provide the required level of QoS
for
> > all
> > > > the flows ?". Shaping is used to restore the traffic profile by
> > delaying
> > > > some packets. For instance when the upstream provider send data to
the
> > > > downstream domain. Note that the shaping is not implemented in the
> > > > DiffServ
> > > > framework in NS-2 at the moment.
> > > >
> > > > >
> > > > > Thanks a lot, you will named in my sources ;).
> > > > >
> > > > > Martin Goth
> > > > >
> > > > >
> > > > > > --- Ursprüngliche Nachricht ---
> > > > > > Von: "Alexander Sayenko" <sayenko at cc.jyu.fi>
> > > > > > An: <ice123 at gmx.net>
> > > > > > Kopie: "ns-users at isi.edu" <ns-users at ISI.EDU>
> > > > > > Betreff: Re: [ns] DiffServ without Red possible? What is a
virtual
> > > > queue?
> > > > > > Datum: Tue, 21 Jun 2005 11:03:49 +0300
> > > > > >
> > > > > >
> > > > > > Hi
> > > > > >
> > > > > > >
> > > > > > > thanks for your fast answer again.
> > > > > > > Maybe I have not understand the meaning of a virtual queue.
> > First
> > I
> > > > > > thought
> > > > > > > it is something for RED, but after your mail it seemed to be
> > sth.
> > > > > > connected
> > > > > > > with DiffServ.
> > > > > > > 1.) I understand it in this way that DiffServ meters the
traffic
> > and
> > > > put
> > > > > > it
> > > > > > > into different precedences. I thought  that different
> > precedences
> > > > are
> > > > > > > represented by different physical queues I can create in ns2.
1
> > > > physical
> > > > > > > queue = 1 precedence.
> > > > > >
> > > > > > No, it is not so. Different precedences correspond to different
> > > > virtual
> > > > > > queues within one
> > > > > > physical queue. Suppose, you have a flow, which is metered at
the
> > edge
> > > > > > router of the DiffServ domain. All packets belonging to this
flow
> > are
> > > > put
> > > > > > into one physical queue, but since some of those packets are
> > > > in-profile,
> > > > > > and
> > > > > > some maybe out-profile, they are marked appropriately and are
put
> > into
> > > > > > different virtual queues. Why do virtual queues correspond to
one
> > > > physical
> > > > > > queue ? This is done to preserve the order of packets.
> > > > > >
> > > > > > > 2.) Do I have to create a virual queue to simulate only 2
Source
> > (1
> > > > > > Voice,
> > > > > > 1
> > > > > > > Date), where Data will be downgraded and dropped if not
> > ressources
> > > > are
> > > > > > > available or are 2 physical queues enough.
> > > > > >
> > > > > > Everything depends on what you want to simulate. As I mentioned
> > > > earlier,
> > > > > > you
> > > > > > need several virtual queues, i.e. drop precedences, if you meter
> > and
> > > > > > classify you traffic into in- and out-profile. Note that you can
> > put
> > > > > > traffic
> > > > > > >from two sources into one physical queue, but you can also put
> > voice
> > > > data
> > > > > > into the first physical queue, while all the remaining data into
> > the
> > > > > > second
> > > > > > one. By setting up a scheduler, it is possible to share
bandwidth
> > and
> > > > > > provide appropriate QoS.
> > > > > >
> > > > > > >
> > > > > > > 3.)The problem is that the NS2 Manual is a little bit poor
about
> > > > this
> > > > > > topic.
> > > > > > > It says only...well...define virtual queues, but why and how?
> > Also
> > > > the
> > > > > > > parameters are only named, but not explained. So I dont know
if
> > they
> > > > are
> > > > > > > important or default and Ressources explaining DiffServ often
> > > > explaining
> > > > > > > only the thing with precedences and the possibilities.
> > > > > >
> > > > > > I would recommend to read IETF RFC documents concerning
DiffServ.
> > > > > >
> > > > > > >
> > > > > > > 4.)Null.tcl does not run with my NS2 (2.28). It says sth like
> > > > > > > "Floatpoint-Exception".
> > > > > >
> > > > > > Hm.... I will check it. It worked in 2.27
> > > > > >
> > > > > > >
> > > > > > > 5.)Last Question ;)...The 5 Policies available for DiffServ
are
> > only
> > > > > > named.
> > > > > > > Which is one policy called Time Sliding Windows and the other
is
> > > > called
> > > > > > > Single Rate or Double Rate. What is the different? Time
Sliding
> > > > seemed
> > > > > > to
> > > > > > be
> > > > > > > from TCP. I guess the difference is that Single Rate considers
> > more
> > > > > > > parameters?
> > > > > >
> > > > > > See the following documents for more details:
> > > > > >
> > > > > > RFC 2859 - TSW2CM and TSW3CM
> > > > > > RFC 2697 - srTCM
> > > > > > RFC 2698 - trTCM
> > > > > >
> > > > > > Information concerning the TokenBucket meter can be found in
> > Google,
> > > > it
> > > > is
> > > > > > well studied. Unfortunately, I cannot recommend good links about
> > other
> > > > > > meters, such as SFD and EW.
> > > > > >
> > > > > > >
> > > > > > > 5b)How is the marking connected after with Queuing? I miss a
> > little
> > > > bit
> > > > > > the
> > > > > > > connection to RR, PQ, FQ and so on..
> > > > > >
> > > > > > Well, queuing (or various types of schedulers) determines the
> > > > bandwidth
> > > > > > allocation between the PHYSICAL queues. While the DSCP label
> > (marking)
> > > > > > determines physical queue + vitual queue. In other words, label
is
> > an
> > > > > > identifier based on which a router puts a packet into
appropriate
> > > > physical
> > > > > > queue, updates virtual queue counters and makes a dropping
> > decision
> > > > (MRED
> > > > > > or
> > > > > > DropTail).
> > > > > >
> > > > > > Sincerely,
> > > > > > Sayenko Alexander
> > > > > > PhD student
> > > > > > Telecommunication laboratory, MIT department
> > > > > > University of Jyvaskyla, Finland
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > Hm...thanks in advance...I think I miss a lot, but the source
> > > > internet
> > > > > > is
> > > > > > > not so helpful
> > > > > > >
> > > > > > > Greetz Martin
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > # Time Sliding Window with 2 Color Marking (TSW2CMPolicer):
uses
> > a
> > > > CIR
> > > > > > and
> > > > > > > two drop precedences. The lower precedence is used
> > probabilistically
> > > > > > when
> > > > > > > the CIR is exceeded.
> > > > > > > # Time Sliding Window with 3 Color Marking (TSW3CMPolicer):
uses
> > a
> > > > CIR,
> > > > > > a
> > > > > > > PIR, and three drop precedences. The medium drop precedence is
> > used
> > > > > > > probabilistically when the CIR is exceeded and the lowest drop
> > > > > > precedence
> > > > > > is
> > > > > > > used probabilistic ally when the PIR is exceeded.
> > > > > > > # Token Bucket (tokenBucketPolicer): uses a CIR and a CBS and
> > two
> > > > drop
> > > > > > > precedences. An arriving packet is marked with the lower
> > precedence
> > > > if
> > > > > > and
> > > > > > > only if it is larger than the token bucket.
> > > > > > > # Single Rate Three Color Marker (srTCMPolicer): uses a CIR,
> > CBS,
> > > > and
> > > > an
> > > > > > EBS
> > > > > > > to choose from three drop precedences.
> > > > > > > # Two Rate Three Color Marker (trTCMPolicer): uses a CIR, CBS,
> > PIR,
> > > > and
> > > > > > a
> > > > > > > PBS to choose from three drop precedences.
> > > > > > > # NullPolicer: does not downgrade any packets
> > > > > > >
> > > > > > > >
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > thanks for your really fast response. I have some other
> > > > questions
> > > > > > and
> > > > > > > > maybe
> > > > > > > > > I am too confused to see the solution or I had too less
C++
> > > > > > Programming
> > > > > > > > in
> > > > > > > > > my University.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > --- Ursprüngliche Nachricht ---
> > > > > > > > > > Von: "Alexander Sayenko" <sayenko at cc.jyu.fi>
> > > > > > > > > > An: <ice123 at gmx.net>, <ns-users at ISI.EDU>
> > > > > > > > > > Betreff: Re: [ns] DiffServ without Red possible? What is
a
> > > > virtual
> > > > > > > > queue?
> > > > > > > > > > Datum: Mon, 20 Jun 2005 11:41:28 +0300
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Hi
> > > > > > > > > >
> > > > > > > > > > > 1.)Is there a possibility to simulate DiffServ without
> > using
> > > > > > RED?
> > > > > > In
> > > > > > > > the
> > > > > > > > > > > ns2-manual DiffServ is everytime connected with RED. I
> > read
> > > > that
> > > > > > RED
> > > > > > > > is
> > > > > > > > > > not
> > > > > > > > > > > normally used in Routers on the Internet. How can I
use
> > a
> > > > normal
> > > > > > > > model?
> > > > > > > > > >
> > > > > > > > > > Yes it is. Use the setMREDMode function of the DS queue
to
> > > > active
> > > > > > the
> > > > > > > > DROP
> > > > > > > > > > mode. It uses a simple DropTail method, no RED. Make
sure
> > you
> > > > use
> > > > > > the
> > > > > > > > > > latest
> > > > > > > > > > version of NS since the previous versions had a serious
> > bug
> > in
> > > > the
> > > > > > > > DROP
> > > > > > > > > > method.
> > > > > > > > >
> > > > > > > > > Hm, I am sorry, but I dont understand too much.
> > > > > > > > > I define a connection
> > > > > > > > > $ns simplex-link $border $core 10Mb 2ms dsRED/edge
> > > > > > > > > set qBC [[$ns link $border $core] queue]
> > > > > > > > > $qBC set NumQueues_ 1
> > > > > > > > >
> > > > > > > > > $qBC setNumPrec 2
> > > > > > > > > and after?
> > > > > > > > >
> > > > > > > > > Maybe "$qBC setMREDMode"
> > > > > > > > > Do I have to use this virtual Queues? Because in the
> > examples
> > > > they
> > > > > > are
> > > > > > > > > everytime used? But I dont want, I want only normal
> > > > DropTail-Queues
> > > > > > with
> > > > > > > > > Diffserv
> > > > > > > >
> > > > > > > > $qBC setMREDMode DROP 0
> > > > > > > >
> > > > > > > > It will tell the DiffServ router to use the DropTail on the
> > first
> > > > > > physical
> > > > > > > > queue
> > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > 2.)What is exactly this Virtual-Queue-Model? I have
not
> > > > found
> > > > > > this
> > > > > > > > model
> > > > > > > > > > in
> > > > > > > > > > > my books or on the Internet. Connected with DiffServ i
> > found
> > > > > > only
> > > > > > > > normal
> > > > > > > > > > > physical queues and I dont want to use too much
> > complicated
> > > > > > Models.
> > > > > > > > Is
> > > > > > > > > > it
> > > > > > > > > > > connected with RED?
> > > > > > > > > >
> > > > > > > > > > Virtual queues are used with MRED algorithms. In a few
> > words,
> > > > > > virtual
> > > > > > > > > > queue
> > > > > > > > > > is just a counter that keeps the number of packets of
> > > > particular
> > > > > > type
> > > > > > > > > > within
> > > > > > > > > > a physical queue. If you use DropTail, there is nothing
to
> > > > worry
> > > > > > > > about.
> > > > > > > > > > Moreover, even if you use MRED, things are done
> > automatically
> > > > > > unless
> > > > > > > > you
> > > > > > > > > > want to know the way it works.
> > > > > > > > >
> > > > > > > > > If I use MRED-Queue do you think I should simply not
define
> > a
> > > > > > Virtual
> > > > > > > > Queue
> > > > > > > > > at all. Because in the example everytime a virtual queue
is
> > > > defined.
> > > > > > > > > $dsredq set numQueues_ 1
> > > > > > > > > $dsredq setNumPrec 2
> > > > > > > > > Maybe only physical Queues?
> > > > > > > >
> > > > > > > > In most cases, you have to define 2 virtual queues as the
> > power
> > of
> > > > > > > > DiffServ
> > > > > > > > is that it is capable of metering the incoming traffic,
> > > > classifying
> > > > it
> > > > > > > > into
> > > > > > > > in- and out-profile, and putting it into the appropriate
drop
> > > > > > precedence
> > > > > > > > level. Now, having one or more virtual queues, you can
define
> > the
> > > > AQM
> > > > > > > > mechanism that will handle them or just specify DropTail.
But
> > > > DropTail
> > > > > > > > will
> > > > > > > > be applied to each virtual queue individually. I suppose,
what
> > you
> > > > > > want
> > > > > > to
> > > > > > > > do is to put all the incoming traffic into one physical
queue
> > > > without
> > > > > > > > metering and policing and use a simple DropTail. Is it right
?
> > If
> > > > so,
> > > > > > you
> > > > > > > > have to use the Null meter.  You can still have more than
one
> > drop
> > > > > > > > precedence levels, i.e. virtual queues, but all packets will
> > be
> > > > put
> > > > > > into
> > > > > > > > the
> > > > > > > > first one. You can take a look at the null.tcl example
written
> > by
> > > > me.
> > > > > > > >
> > > > > > > > I know, the interface for handling it is quite confusing but
> > > > that's
> > > > > > the
> > > > > > > > open-source implementation created by people who have not
even
> > > > seen
> > > > > > each
> > > > > > > > other :-).
> > > > > > > >
> > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > 3.)Is there a easy way to simulate DiffServ. Only to
see
> > if
> > > > it
> > > > > > > > works,
> > > > > > > > to
> > > > > > > > > > > create 2 Sources, one voice and one data and then to
see
> > the
> > > > > > > > > > prioritization
> > > > > > > > > > > >from Voice?
> > > > > > > > > >
> > > > > > > > > > See examples that come with NS-2. Most of them are quite
> > > > simple.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > Quite simple? Hm I dont know. So many parameters.
> > > > > > > > > $qBC addPolicyEntry [$client id] [$server id] TokenBucket
10
> > > > $cir
> > > > > > 500
> > > > > > > > >
> > > > > > > > > $qBC addPolicerEntry TokenBucket 10 11
> > > > > > > > > $qCS configQ 0 0 4 10 0.1
> > > > > > > > >
> > > > > > > > > and such things.
> > > > > > > >
> > > > > > > > The complexity came from the complexity of DiffServ and from
> > the
> > > > fact
> > > > > > that
> > > > > > > > it should be as flexible as possible. As you understand all
> > the
> > > > > > features
> > > > > > > > of
> > > > > > > > DiffServ, it won't be so difficult.
> > > > > > > >
> > > > > > > > Feel free to contact me in case of questions.
> > > > > > > >
> > > > > > > > Sincerely,
> > > > > > > > Sayenko Alexander
> > > > > > > > PhD student
> > > > > > > > Telecommunication laboratory, MIT department
> > > > > > > > University of Jyvaskyla, Finland
> > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -- 
> > > > > > > > > Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
> > > > > > > > > Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -- 
> > > > > > > > > No virus found in this incoming message.
> > > > > > > > > Checked by AVG Anti-Virus.
> > > > > > > > > Version: 7.0.323 / Virus Database: 267.7.8/22 - Release
> > Date:
> > > > > > 17.06.2005
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > > -- 
> > > > > > > Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
> > > > > > > Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl
> > > > > > >
> > > > > > >
> > > > > > > -- 
> > > > > > > No virus found in this incoming message.
> > > > > > > Checked by AVG Anti-Virus.
> > > > > > > Version: 7.0.323 / Virus Database: 267.7.9/23 - Release Date:
> > > > 20.06.2005
> > > > > > >
> > > > > >
> > > > >
> > > > > -- 
> > > > > Geschenkt: 3 Monate GMX ProMail gratis + 3 Ausgaben stern gratis
> > > > > ++ Jetzt anmelden & testen ++ http://www.gmx.net/de/go/promail ++
> > > > >
> > > > >
> > > > > -- 
> > > > > No virus found in this incoming message.
> > > > > Checked by AVG Anti-Virus.
> > > > > Version: 7.0.323 / Virus Database: 267.7.9/23 - Release Date:
> > 20.06.2005
> > > > >
> > > > >
> > > >
> > >
> > > -- 
> > > Geschenkt: 3 Monate GMX ProMail gratis + 3 Ausgaben stern gratis
> > > ++ Jetzt anmelden & testen ++ http://www.gmx.net/de/go/promail ++
> > >
> > >
> > > -- 
> > > No virus found in this incoming message.
> > > Checked by AVG Anti-Virus.
> > > Version: 7.0.323 / Virus Database: 267.7.11/26 - Release Date:
> > 22.06.2005
> > >
> > >
> >
>
> -- 
> Geschenkt: 3 Monate GMX ProMail gratis + 3 Ausgaben stern gratis
> ++ Jetzt anmelden & testen ++ http://www.gmx.net/de/go/promail ++
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.8.1/28 - Release Date: 24.06.2005
>
>



More information about the Ns-users mailing list