12.07.2015 Views

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.3 Different types of Queue objectsA queue object is a general class of object capable of holding <strong>and</strong> possibly marking or discarding packets as they travelthrough the simul<strong>at</strong>ed topology. Configur<strong>at</strong>ion Parameters used for queue objects are:limit_ <strong>The</strong> queue size in packets.blocked_ Set to false by default, this is true if the queue is blocked (unable to send a packet to its dow<strong>ns</strong>tream neighbor).unblock_on_resume_ Set to true by default, indic<strong>at</strong>es a queue should unblock itself <strong>at</strong> the time the last packet packet senthas been tra<strong>ns</strong>mitted (but not necessarily received).Other queue objects derived from the base class Queue are drop-tail, FQ, SFQ, DRR, RED <strong>and</strong> CBQ queue objects. Each aredescribed as follows:• Drop-tail objects: Drop-tail objects are a subclass of Queue objects th<strong>at</strong> implement simple FIFO queue. <strong>The</strong>re are nomethods, configur<strong>at</strong>ion parameter, or st<strong>at</strong>e variables th<strong>at</strong> are specific to drop-tail objects.• FQ objects: FQ objects are a subclass of Queue objects th<strong>at</strong> implement Fair queuing. <strong>The</strong>re are no methods th<strong>at</strong> arespecific to FQ objects. Configur<strong>at</strong>ion Parameters are:secsPerByte_<strong>The</strong>re are no st<strong>at</strong>e variables associ<strong>at</strong>ed with this object.• SFQ objects: SFQ objects are a subclass of Queue objects th<strong>at</strong> implement Stochastic Fair queuing. <strong>The</strong>re are nomethods th<strong>at</strong> are specific to SFQ objects. Configur<strong>at</strong>ion Parameters are:maxqueue_buckets_<strong>The</strong>re are no st<strong>at</strong>e variables associ<strong>at</strong>ed with this object.• DRR objects: DRR objects are a subclass of Queue objects th<strong>at</strong> implement deficit round robin scheduling. <strong>The</strong>seobjects implement deficit round robin scheduling amongst different flows ( A particular flow is one which has packetswith the same node <strong>and</strong> port id OR packets which have the same node id alone). Also unlike other multi-queue objects,this queue object implements a single shared buffer space for its different flows. Configur<strong>at</strong>ion Parameters are:buckets_ Indic<strong>at</strong>es the total number of buckets to be used for hashing each of the flows.blimit_ Indic<strong>at</strong>es the shared buffer size in bytes.quantum_ Indic<strong>at</strong>es (in bytes) how much each flow can send during its turn.mask_ mask_, when set to 1, mea<strong>ns</strong> th<strong>at</strong> a particular flow co<strong>ns</strong>ists of packets having the same node id (<strong>and</strong> possiblydifferent port ids), otherwise a flow co<strong>ns</strong>ists of packets having the same node <strong>and</strong> port ids.• RED objects: RED objects are a subclass of Queue objects th<strong>at</strong> implement r<strong>and</strong>om early-detection g<strong>at</strong>eways. <strong>The</strong>object can be configured to either drop or “mark” packets. <strong>The</strong>re are no methods th<strong>at</strong> are specific to RED objects.Configur<strong>at</strong>ion Parameters are:bytes_ Set to "true" to enable “byte-mode” RED, where the size of arriving packets affect the likelihood of marking(dropping) packets.queue-in-bytes_ Set to "true" to measure the average queue size in bytes r<strong>at</strong>her than packets. Enabling this option alsocauses thresh_ <strong>and</strong> maxthresh_ to be autom<strong>at</strong>ically scaled by mean_pktsize_ (see below).thresh_ <strong>The</strong> minimum threshold for the average queue size in packets.74

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!