[ns] DiffServ without Red possible? What is a virtual queue?
Alexander Sayenko
sayenko at cc.jyu.fi
Thu Jun 23 07:35:42 PDT 2005
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
>
>
More information about the Ns-users
mailing list