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