International Journal of Signal Processing, Image Processing and Pattern Recognition
Vol.8, No.8 (2015)
52 Copyright ⓒ 2015 SERSC
2. Simulation Environments
Simulations are based on the integrated platform of ns-2 [11] and Evalvid [12],
implemented by C. H. Ke [13].
2.1. Evalvid in ns-2
Evalvid is a framework for real or simulated video transmission evaluation. It provides
a tool-set which supports video packet encapsulation before transmission, packet
receiving recording during transmission and video decoding after transmission. The
original metric of video decoded quality is the frame-by-frame PSNR, which can be
extended.
To enable the functions of Evalvid in ns-2, C. H. Ke wrote an extended version of
Evalvid named myEvalvid. Thus researchers can easily evaluate the novel video codecs or
network designs in ns-2 simulator.
2.2. DiffServ in ns-2
When employing DiffServ in NS-2, traffic is classified into different categories at first.
Secondly, each packet is marked with a corresponding code point to indicate its category.
Finally, packet is scheduled accordingly. There are four traffic classes supported in NS-2
DiffServ module (refer to four physical queues), each of which has three dropping
precedences (refer to three virtual queues). Consequently, there are twelve treatments of
traffic. Each packet is enqueued into a physical RED queue and assigned a dropping
precedence.
Each virtual queue is assigned a code point and regarded as a RED queue, which has
three parameters: (1) the lower queue length threshold; (2) the higher queue length
threshold; (3) the dropping probability. Different priorities could be achieved by setting
distinct parameters for different virtual queues. As a result, the packet in the virtual queue
with higher priority will receive better treatment when congestion occurs.
There are three major components in NS-2 DiffServ module. The first one is Policy,
defining the service level that a traffic class should receive. Several policy models are
defined, and each model could be bound with different parameters. The second one is
Edge router, answering for code point marking on packets according to the specified
policy. The last one is Core router, answering for examining packets’ code points and
forwarding them according to predefined virtual queue parameters. In addition, there is a
PHB table. Both edge router and core router use this table to perform mapping between
code points and physical/virtual queues.
There are six policy models defined in NS-2 DiffServ module: (1) Time Sliding
Window with 2 Color Marking (TSW2CMPolicer); (2) Time Sliding Window with 3
Color Marking (TSW2CMPolicer); (3) Token Bucket (tokenBucketPolicer); (4) Single
Rate Three Color Marker (srTCMPolicer); (5) Two Rate Three Color Marker
(trTCMPolicer) and (6) NullPolicer. The numbers of dropping priorities of the six policies
are 2, 3, 2, 3, 3 and 1 respectively.
NS-2 DiffServ module provides Round Robin (RR), Weighted Round Robin (WRR),
Weighted Interleaved Round Robin (WIRR), and Priority (PRI) as scheduling mode
among different physical queues. And RR is the default scheduling mode.
In addition, NS-2 DiffServ module provides four dropping modes: (1) RIO-C (RIO
Coupled), the default dropping mode; (2) RIO-D (RIO De-coupled); (3) WRED
(Weighted RED); and (4) DROP, similar to the drop tail queue.