For each transmission MAC waits for its "ack" if ack did not receive on 
time...it retransmit at time assigned by backoff time... in ns-2.34, MAC tries 
7 times before declaring link break.

"
I don't know that why is the following highlight line used in *
Mac802_11::RetransmitDATA()* function?

"


It is the function responsible for that retransmission...I m talknig about 
ns-2.34...I hope mechanism is similar for ns-2.35.


________________________________
 From: M Falahati <md.falah...@gmail.com>
To: ns-users@ISI.EDU 
Sent: Thursday, 6 December 2012 2:55 AM
Subject: [ns] Schedule the backoff timer in mac-802_11
 

Dear All,

I'm studying on implementation of mac-802_11 in ns-2.35.

I don't know that why is the following highlight line used in *
Mac802_11::RetransmitDATA()* function?

======================================================================
*if((u_int32_t)ETHER_ADDR(mh->dh_ra) == MAC_BROADCAST)
{
        Packet::free(pktTx_);
        pktTx_ = 0;
        rst_cw();
        mhBackoff_.start(cw_, is_idle());
        return;
}*
======================================================================

I think that line runs following steps:
1- it invokes *BackoffTimer::start()* that because of *idle* parameter is
zero, then *pause*_ parameter will set to one.
2- *tx_resume()* in the *Mac802_11::send_timer()* invokes
*setTxState()*and changes
*tx_state*  to  *MAC_IDLE* , then invokes *checkBackoffTimer()*.
3- *checkBackoffTimer()* invokes *mhBackoff_.resume()* and backoff timer
will schedule with [0-CWMin] + DIFS value.

Are above steps true?
If answer is true,is it necessary to start backoff timer (with value
between [0-CWMin] + DIFS) after sending a broadcast packet?

Sincerely Yours.

Reply via email to