This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings. Throughput Model of IEEE 802.11e EDCF with Consideration of Delay Bound Constraint Jae-Han Lim Ji-Hoon Yun Seung-Woo Seo Telematics and USN Research Division ETRI 161 Gajeong-dong, Yuseong-gu Daejeon 305-700, Korea Email: ljhar@etri.re.kr School of Electrical Engineering and Computer Science Seoul National University Seoul 151-742, Korea Email: sjeus@ccs.snu.ac.kr School of Electrical Engineering and Computer Science Seoul National University Seoul 151-742, Korea Email: sseo@snu.ac.kr Abstract— In this paper, we present an accurate throughput model of the IEEE 802.11e enhanced distributed coordination function (EDCF). Compared to the previous models, we newly consider a delay bound by predicting an effective retry limit and applying the retry limit to our model. To support this, the accurate description of the performance in a non-saturation condition is necessary, which is achieved by newly considering a queue length and a queue limit in the Markov chain. Simulation results show that our model is accurate in predicting the system throughput. I. I NTRODUCTION In recent years, IEEE 802.11 [1] has been a dominant technology for providing high-speed wireless internet access due to the simplicity in deployment and low cost. However, IEEE 802.11 cannot satisfy the increasing demand of quality-of-service (QoS) which is required for multimedia applications. Consequently, the IEEE 802.11e standard [2] is specified to enhance the legacy IEEE 802.11 medium access control (MAC) protocol. This new standard defines the hybrid coordination function (HCF) in order to support QoS at the MAC layer. The HCF is composed of two access mechanisms, the enhanced distributed coordination function (EDCF) and HCF controlled channel acess (HCCA). The EDCF is the contention-based channel access mechanism, while the HCCA is the polling-based channel access function. In this paper, we aim at proposing the accurate analytical model of the EDCF. Based on the throughput model introduced by Bianchi [3], some previous investigations have been conducted for modeling of the EDCF, the basic MAC protocol of IEEE 802.11e [2]. In [4], Kong and Tsang extended [3] to analyze the saturation throughput performance of the EDCF. In [5], Paal and Olav developed a model which considered a nonsaturation condition. In [6], Tantra and Foh proposed a model to find the throughput and MAC delay under statistical traffic when the maximum queue size is only one. However, the previous models lack the consideration of a delay bound. In this paper, we introduce a new throughput model of EDCF under a non-saturation condition. In our model, the delay bound which is specified in the IEEE 802.11e standard [2], is newly considered. According to the delay bound, an effective retry limit is predicted and applied to the throughput model for accurate analysis. To support this, the accurate description of the performance in a non-saturation condition is necessary, which is achieved by newly considering the followings in Markov chain: (1) queue length (the number of frames in the queue and server of each AC) and (2) queue limit (the maximum number of frames which can be stored in the queue and server of each AC). To the best of our knowledge, this is the first attempt to consider a delay bound, queue length and queue limit in a throughput model. The rest of paper is organized as follows. In the next section, we will briefly describe the DCF and the EDCF. Subsequently, we propose the throughput model of EDCF with consideration of the delay bound constraint. In section IV, we verify the accuracy of our model through ns-2 simulation. Finally, we conclude our paper in section V. II. OVERVIEW OF DCF AND EDCF A. Distributed Coordination Function The basic MAC protocol in IEEE 802.11 is DCF, which decides when to access the channel in a distributed manner. DCF employs the carrier sense multiple access with collision avoidance (CSMA/CA) mechanism. When a station generates a frame for transmission, it should sense if the channel is idle for distributed interframe space (DIFS) time plus backoff time. The backoff time is equal to a unit slot time multiplied by a backoff counter, which is selected randomly between zero and a contention window (CW). If the channel is sensed idle for DIFS time, a backoff countdown is started and the backoff counter decreases by one. If the channel is sensed busy in the middle of the backoff countdown, the countdown process is stopped until the channel is sensed idle for at least DIFS time. When the backoff counter reaches zero, the station initiates a frame transmission. If a destination station successfully receives a frame, the destination station responds with transmitting an acknowledgment frame (ACK) after short interframe space (SIFS) time. If the sender does not receive ACK within ACK timeout due to the transmission failure of ACK or the original frame, the sender regards the frame transmission as a failure and doubles its CW and increments its retry count by one. If the retry count 978-1-4244-2075-9/08/$25.00 ©2008 IEEE This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings. Select backoff number 7 Station 1 7 6 54 3 2 DIFS Busy Channel Busy Channel 2 1 0 DIFS Data Pi,e(K) (From P 0,0,0,0 ) P i(2-k) Pi(0) P i,e(k) Pi(k) ( To queue k ) (To queue k) ∑ L ≥Q Pi,e(L) (From P 0,0,0,0 ) ∑ L≥ Q-k+1 Pi (L) Pi(K-k+1) ( From queue k) (From queue 1 ) ACK SIFS Pi,e(1) (From P 0,0,0,0 ) (From queue k) Pi (0) (From queue k) (To queue Q-1 ) Pi (k-K+1) ∑ L ≥1P i(L) (To queue k) (To queue Q ) Select backoff number 5 Station 2 Busy Channel DIFS 1 Select backoff number 10 1 9 8 0 DIFS 5 4 32 1 0 Data K Q K,0,0,0 0,0,0,0 Busy Channel K,M,0,0 ACK SIFS <IEEE 802.11 DCF channel access procedure > Pi (k-K+1) Pi (K-k+1) (From queue length k (1≤k≤K+1)) Pi,e(K) (From P 0,0,0,0) (To queue length k (K-1≤k≤Q )) AIFS[AC] = SIFS + AIFSN[AC] * aSlotTime 0~15 Select backoff number 6 Station 1 Freeze K,0,0,AIFSN i K,0,0,AIFSN i 6 5 4 3 2 1 AIFS[AC] Freeze AIFS[AC] 1 0 Pb Busy medium 1-Pi 1-P b K,0,0,0 K,0 ,W 0-2,AIFSN i Pb K,0 ,W0 -1,AIFSN i Pb 1-P b K,0,1,0 qi 1-P b K,0,W 0 -2 ,0 1-qi K,0,W 0 -1 ,1 Pi/W 1 0~7 AIFS[AC] = SIFS + AIFSN[AC ] * aSlotTime Station 2 Freeze Select backoff number 5 5 4 3 2 1 0 AIFS[AC] Select backoff number 3 Busy medium AIFS[AC] Pi/W j 3 21 K,j,0,AIFSN i Freeze K,j,1,AIFSN i 1 <IEEE 802.11e EDCF channel access procedure > K,j ,Wj -1,AIFSN i-1 1 qi qi 1 qi qi 1 1 1 Fig. 1. IEEE 802.11 DCF and IEEE 802.11e EDCF channel access procedure K,j ,W j-2,AIFSN i-1 1 1 1 1 K,j,1, AIFSN i-1 K,j,0 ,AIFSN i-1 K ,j,W j-1,AIFSN i K,j ,W j-2,AIFSN i 1 1 qi K,j,1,A i K,j,0,A i Pb 1-qi 1-qi K,j,W j -1,A i K,j,W j -2,A i qi 1-qi 1-qi qi Pb reaches the retry limit which is specified in the IEEE 802.11 standard[1], the frame will be dropped. K,j,0,1 1-qi 1-qi Pb K,j,1,1 1-q i 1-Pi K,j,W j -1,1 K,j,W j -2,1 1-q i 1-qi 1-Pb K,j,0,0 1-q i K,j,1,0 1-Pb 1-Pb K,j,W j -2,0 Pi/W j+ 1 B. Enhanced Distributed Coordination Function Based on the legacy 802.11 DCF, EDCF is devised in order to support QoS. Therefore, the operation of EDCF is similar to that of DCF. For example, both DCF and EDCF use CSMA/CA as a medium access control mechanism. However, there are some differences between DCF and EDCF. Firstly EDCF stations support up to four queues. Each queue is an independent backoff entity which contends for the right to access the channel. In addition, each queue is related to a specific access category (AC). Secondly, different levels of services are provided to each AC by setting different parameters according to AC : arbitration interframe space (AIFS), the minimum CW (CWmin), the maximum CW (CWmax) and transmission opportunity (TXOP) limitation. Each AC can have different AIFS which is calculated by AIF S[AC] = SIF S + AIF SN [AC] × σ 1-qi 1-qi qi (1) where AIFSN[AC] is a AIFS number and σ is a unit slot time. As AC has smaller AIFS, AC can finish their AIFS deferring and backoff countdown earlier. In this sense, the AC of higher priority AIFS has smaller AIFS. The CWmin and CWmax can be set differently for different ACs in order to provide differentiated services. In EDCF, the AC of a higher priority has smaller CWmin and CWmax since the AC with smaller CWmin and CWmax tends to have shorter backoff countdown delay. Each AC can have a different TXOP limit in order to provide differentiated services. The TXOP limit is the maximum time interval during which a particular station has the right to access the channel without contention. As TXOP limit of AC is longer, AC can transmit more frames, which means higher priority. Pi/W M K,M,0,AIFSN i K,M,0 , AIFSN i Pb 1 Fig. 2. K,M,0,0 1-P b Pb K,M ,W M -2,AIFSN i K,M ,W M -1,AIFSN i Pb K,M,1,0 1-P b 1-P b qi K,M, W M -2 ,0 1-qi K,M,W M -1 ,1 Markov chain for the backoff procedure of ACi in 802.11e EDCF Thirdly, the backoff countdown of EDCF is different from that of DCF. The first backoff countdown in EDCF occurs at the last slot of AIFS deferring, while DCF starts the first backoff countdown after DIFS deferring is over. Moreover, a frame transmission in EDCF is initiated after a slot time from the moment when a backoff counter becomes zero, while DCF initiate a frame transmission right after a backoff countdown is over. The above-mentioned difference between the EDCF and DCF backoff countdown procedures is described in Fig.1. Finally, an internal collision can happen among the ACs of the same station in EDCF. We call this internal collision a virtual collision. When a virtual collision happens, the AC with a higher priority can transmit, whereas all the other ACs act as if a collision occurs on the channel. III. M ATHEMATICAL A NALYSIS A. Accurate Description of EDCF Backoff Procedure in NonSaturation Condition In the model, we assume that there are N stations in a network and each station has L access categories (ACs) and a frame arrival follows the Poisson process. We model the backoff procedure of each AC as the finite state 4-dimensional Markov chain under the assumption that pi (the transmission failure probability of the i-th access category ACi ), Pb (the This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings. channel busy probability during backoff countdown) and qi (the channel busy probability of ACi during AIFS deferring) are independent of the backoff procedure, as shown in Fig. 2. Each state of the Markov chain consists of 4 parameters, (k, j, h, l), where k is a queue length, j is a backoff stage, h is a backoff counter, and l is the remaining number of slots in AIFS deferring. When ACi enters a new backoff stage j, (j) (j) h takes its value in [0, Wi − 1] where Wi is the contention (j) window size of a backoff stage j. Wi is expressed as 0 ≤ j ≤ mi 2j ·(CWmin,i + 1), (j) Wi = (2) mi 2 ·(CWmin,i + 1), mi < j ≤ Mi where mi is the maximum number of retransmissions of ACi using different CWs and Mi is the retry limit of ACi . The performance in a non-saturation condition is influenced by the probability of an empty queue. In order to calculate this probability accurately, we should consider the fact that the transition probability to the state where the queue is empty depends on the queue length of the previous state. In the previous model [5], only two queue states, empty or non-empty, are considered implicitly without considering the above-mentioned fact. However, our model considers the point, which [5] misses by adding a new parameter (a queue length) to the state of the Markov chain. Moreover, we newly consider the finite queue limit, which shows the effect of queue overflow. Therefore, our model is more accurate in predicting the performance in a non-saturation condition. All the state transition probabilities of the Markov chain are expressed by pi , qi , Pb , pi (k), and pi,e (k), which we obtain in the following. A transmission failure happens due to either real or virtual collision, and pi is expressed as L L pi = 1 − (1 − τl )N −1 · (1 − τl ) l=1 L (1 − l>i Ai − Al N ) , Ul 1 ≤ i ≤ L. (4) Ui = pji · (1 − pi ) · (j) Wi + i pM i · (M ) Wi i . (5) j=0 During the backoff countdown of ACi , all the other ACs can access the channel if their backoff counter becomes zero earlier 1 We 2A i assume that the priority of AC becomes higher as i increases. is defined as AIF SNi − AIF SNL . L (1 − τl )N . (6) l=1 We assume that frames arrive every service interval. The service interval is defined as an expected service time when the queue is not empty, or as an expected slot time when the queue is empty. The above assumption does not have an effect on the system throughput due to the Chapman-Kolmogorov equation [7], which is valid for all processes having a Markov ian property.3 pi (k) and pi,e (k) are the probabilities which k frames arrive during the expected service time and the expected slot time, respectively. They are expressed as pi (k) = (λi · E[Service])k · e−(λi ·E[Service]) /k! pi,e (k) = (λi · E[ST ])k · e−(λi ·E[ST ]) /k! (7) where E[Service] and E[ST ] are the expected service time and the slot time, respectively and are expressed by Ui · (E[ST ] + Pb σ) + Tbusy 2 L E[ST ] = (1 − Pb ) · σ + Ps,l · Ts,l + Pc · Tc,i E[Service] = (8) l=1 where Pb σ means that ACi experiences an additional unit time slot σ for every busy slot in a backoff countdown. Ps,i and Pc are the probabilities of the successful transmission of ACi and collision, respectively. They are expressed as Ps,i = N · τi · (1 − pi ) P c = Pb − L Ps,l . (9) l=1 l>i where Ui is the average contention window size and is calculated as M i −1 Pb = 1 − (3) where τl is the transmission probability of ACl in a slot. During the AIFS deferring of ACi , the other ACs of higher priority1 can finish their backoff countdown and start transmission. This situation happens when the ACs of higher priority select their backoff counter less than Ai − Al . 2 Then, qi is expressed as qi = 1 − than ACi ’s, and we have Pb as Tbusy is the expected busy time regardless of a reason and Ts,i , Tc,i are the channel busy times due to successful transmission and collision, respectively. They are expressed as Tbusy = Ts,i = Tc,i = Tdata,i + SIFS + Tack,i + AIFSi (10) where Tdata,i and Tack,i are the transmission times of a data frame and an ACK frame, respectively, in ACi . 4 Let bk,j,h,l be the steady probability of state (k, j, h, l). Since the transmission attempt of ACi happens at state (k, j, 0, 0), τi is described as τi = Qi Qi Mi Mi ( bk,j,0,0 ) = ( pji · bk,0,0,0 ) j=0 k=1 (11) j=0 k=1 where Qi is the maximum queue size of ACi . 3 The arrival process of our model is assumed to be Poisson process which has a Markovian property. 4 We only consider the basic mode throughput in this paper. However, we can easily extend the model to the RTS/CTS mode by adding RTS/CTS overhead to Te , Ts and Tc . This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings. TABLE I PARAMETER SETTINGS FOR NUMERICAL RESULTS Parameters AC1 CWmin 31 15 CWmax 255 127 AIFSN 3 2 1000 The total delay St,i (Mi , Di ) required for a successful transmission from the frame arrival to the (Mi + 1 )-th transmission attempt in ACi is obtained by AC2 Payload(byte) 1000 BasicRate(Mbps) 1 1 DataRate(Mbps) 11 11 Queue limit 15 15 Delay bound(ms) none 20 St,i (Mi , Di ) = Sm,i (Mi ) + Sq,i (Mi , Di ) (13) where Sm,i (Mi ) is the medium access delay required for a successful transmission after Mi unsuccessful transmission attempts in ACi , and is obtained by Sm,i (Mi ) = M i −1 (j) (j) (Mi) [Ci + Fi ] + Ci + Ts,i (14) j=0 (j) Since the maximum number of frames that can be served during the service interval is one, the previous queue length5 should be equal to or less than the current queue length plus one. Moreover, we should consider the number of frames arriving and leaving during the service interval in order to calculate the current queue length from the previous queue length. To be specific, when the previous queue length is not zero, the current queue length is less by one than the sum of the previous queue length and the number of frame arrivals, since a frame leaves the queue every service interval. On the other hand, when the previous queue length is zero, the current queue length is equal to the sum of the previous queue length and the number of frame arrivals, since no frame leaves the queue. Therefore, bk,0,0,0 can be obtained by using the following equation and the normalization condition. bk,0,0,0 = = w 0 −1 h=0 k+1 M i −1 ·[ c=1 + pi,e (k) · b0,0,0,0 , (j) Wi (15) 2 Sq,i (Mi , Di ) is the queueing delay of the frame which is not dropped before a backoff process and is expressed as ri (Di ) [(k − 1) · a b c bk,a,b,c ] (16) Sq,i (Mi , Di ) = k=1 r (D ) i i λi · k=1 [ a b c bk,a,b,c ] (j) Ci = (E[ST ] + Pb σ) where ri (Di ) is the maximum number of frames which are not dropped before a backoff process in the queue of ACi and expressed as (17) ri (Di ) = Di · λi We obtain Mi∗ for each AC so that the below conditions are satisfied: bk,0,h,AIF SNi (k+1−c) pi where Ci is the channel access delay due to backoff and (j) AIFS deferring in a backoff stage j, Fi is the busy time due (j) to the j-th unsuccessful transmission attempt. Fi is equal to (j) Tbusy and Ci is expressed as (1 − pi ) · bc,j,0,0 + bc,Mi ,0,0 ] j=0 Mi∗ = arg(M in L |Di − St,i (Mi , Di )|) l=1 0 ≤ k ≤ (Qi − 1). (12) where b0,0,0,0 is the probability of an empty queue. B. Effect of Delay Bound Constraint on Markov Chain If a data frame is not successfully transmitted within its delay bound, the data frame is discarded since it is already outof-date. In other words, the transmission attempt which does not satisfy the delay bound of the data frame never happens. Therefore, we can show the effect of the delay bound of ACs, which is the main contribution in our model, to the system throughput in the following manner: (1) find the maximum number of transmission attempts Mi∗ for ACi (i=1,· · · ,L), with which the medium access and queueing delay of a data frame does not exceed the delay bound Di , (2) substitute Mi∗ for the retry limit value of the throughput model. 5 The queue length is changed every service interval since we assume that frames arrive every service interval. Therefore, we define the previous queue length as the queue length in the previous service interval. Mi ≤ dot11Long(Short)RetryLimit St,i (Mi∗ , Di ) ≤ Di . (18) Finally, we substitute Mi∗ for the retry limit value of the backoff process which is explained in the previous section, in order to obtain the accurate value of the non-saturation throughput T hi Ps,i E[Pi ] (19) T hi = E[ST ] where E[Pi ] is the expected frame length of the ACi . IV. N UMERICAL R ESULTS AND M ODEL VALIDATION To validate the model, we compare the numerical results of the model with the simulation results using ns-2 [8]. We use the parameters of IEEE 802.11b. In the validation, ten stations which have two ACs are considered: AC2 with a higher priority and AC1 with a lower priority. The effect of channel errors is not considered and RTS/CTS mechanism is not employed. The parameter settings for each AC are listed in Table. I. This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings. 5 Simulation Proposed model 3 20ms delay bound for AC2 2 5.0 Throughput (Mbps) 4.5 4.0 3.5 AC1 0 0 2 4 6 8 10 Traffic load per AC (Mbps) Fig. 4. Comparison of the system throughput from the analytical model and the simulation according to traffic load when the delay bound of 20ms is considered for AC2 4.5 Simulation Proposed model 4.0 Throughput (Mbps) Simulation Proposed model Paal&Olav model AC2 1 3.5 5.5 No delay bound for AC2 4 Throughput (Mbps) Fig. 3 shows the comparison of the system throughput between our model and the model of [5] when the effect of a delay bound is not considered6 . As depicted in Fig. 3, we concentrate on the traffic load of each AC from 1Mbps to 5Mbps in order to show the results in the non-saturation condition. In this figure, we can observe that our model is more accurate in predicting the system throughput than the model of [5]. This is because our model reflects the effect of queue length and queue limit which the model of [5] misses. In Fig.4 and Fig.5, a delay bound is not considered for AC1 and the delay bound of 20ms is considered for AC2 . In these two figures, analytical and simulation results are added when delay bounds are not considered for AC1 and AC2 . Fig.4 shows the system throughput when the traffic load of each AC varies from 1Mbps to 10Mbps. On the other hand, Fig.5 shows the system throughput according to the number of stations. In Fig.5, we fix the traffic load of each AC to 3Mbps at a different number of stations in order to validate our model in the nonsaturation condition. As can be seen in Fig.4 and Fig.5, our analytic model shows accurate throughput results compared to the simulation. Fig.6 shows the system throughput when the delay bound of AC2 varies from 20ms to 140ms and the delay bound of AC1 is not considered. In Fig.6, we can observe that throughput prediction of our model closely follows the simulation results. No delay bound for AC2 20ms delay bound for AC2 AC2 3.0 2.5 2.0 1.5 3.0 AC2 2.5 1.0 AC1 2.0 AC1 0.5 4 1.5 6 8 10 12 14 16 18 20 22 Number of stations 1.0 0.5 0.0 0 1 2 3 4 5 Traffic load per AC (Mbps) Fig. 3. Comparison of the system throughput of the various models according to traffic load when there is not the effect of delay bound V. C ONCLUSION In this paper, we propose an accurate throughput model of the IEEE 802.11e enhanced distributed coordination function. Compared to the previous models, we newly consider a delay bound by predicting an effective retry limit and applying the 6 We only consider the model of [5] for comparing with our model in non-saturation condition, since [4] considered saturation condition and [6] considered the queue whose size is only one. Fig. 5. Comparison of the system throughput from the analytical model and the simulation according to number of stations when the delay bound of 20ms is considered for AC2 and the traffic load of each AC remained 3Mbps at a different number of stations. retry limit to our model. The consideration of a delay bound is based on the accurate description of a non-saturation condition, which is achieved by newly considering a queue length and a queue limit in the Markov chain. The model is validated through ns-2 simulation. Simulation results show that our model is accurate in predicting the system throughput when a delay bound is considered. Moreover, even when the effect of a delay bound is absent, simulation results show that our model is more accurate in predicting the system throughput than the other model [5] which considers a nonsaturation condition. This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings. 3.4 Simulation 3.2 Proposed model Throughput (Mbps) 3.0 2.8 2.6 AC2 2.4 2.2 AC1 2.0 1.8 1.6 20 40 60 80 100 120 140 Delay bound of AC2 (ms) Fig. 6. Comparison of the system throughput from the analytical model and the simulation when the delay bound of AC2 varies from 20 to 140 and the delay bound of AC1 is not considered. ACKNOWLEDGMENT This work was supported by the IT R&D program of MIC/IITA. [2006-S024-02, Development of Telematics Application Service Technology based on USN Infrastructure] R EFERENCES [1] IEEE 802.11 WG, Part 11: Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) Specification, Aug. 1999. [2] IEEE 802.11 WG, ”Draft Supplement to part 11: Wireless Medium Access Control (MAC) and physical layer(PHY) specifications : Medium Access Control (MAC) Enhancements for Quality of Service (QoS)”, IEEE 802.11e/D13.0 Nov. 2005. [3] G. Bianchi, ”Performance Analysis of the IEEE 802.11 Distributed Coordination Fucntion”, IEEE JSAC Vol.18, Mar. 2000, pp. 535-547. [4] Zhen-ning Kong, Danny H. K. Tsang, and Brahim Bensaou, ”Performance Analysis of IEEE 802.11e Contention-Based Channel Access,” in Proc. IEEE JSAC’04, vol. 22, pp. 2095-2106, Dec. 2004. [5] Enhelstad, P.E. and Osterbo O.N., ”Delay and Throughput Analysis of IEEE 802.11e EDCA with Starvation Prediction,” Proceedings of the IEEE Conference on Local Computer Networks(LCN’05), May 2005. [6] Juki Wirawan Tantra, Chuan Heng Foh, Ilenia Tinnirello, and Giuseppe Bianchi, ”Analysis of the IEEE 802.11e EDCA Under Statistical Traffic,” IEEE Communication Society ICC’06, June 2006. [7] Kleinrock,L., ”Queueing Systems Vol. I”, John Wiley, 1975. [8] (2006) The Network Simulator, ns-2. [Online]. Available: http://www.isi.edu/nsnam/ns