[Ns-developers] 802.11 10Mhz Channel

Nicola Baldo nbaldo at cttc.es
Fri Jul 17 02:01:45 PDT 2009


I filed a bug report about this so that we don't forget this issue.
http://www.nsnam.org/bugzilla/show_bug.cgi?id=641

Nicola


Mathieu Lacage wrote:
> 1) you can't add a SetCwMin method on WifiMac because there can be more
> than one DcaTxop per WifiMac and they should not have the same CwMin.
> 
> 2) The DcaTxop parameters are initialized in the associated helpers in
> src/helper. See QosWifiMacHelper::Default for example.
> 
> I don't have any bright idea right now of how this should be dealt with
> and what we could do to make this both 'automatic' and flexible to do
> something different. Ideas welcome.
> 
> Mathieu
> 
> On Thu, 2009-07-16 at 16:59 -0700, Pei, Guangyu wrote:
>> Hi,
>> Here is what I see in DcaTxop:
>>  
>>  98 TypeId
>>  99 DcaTxop::GetTypeId (void)
>> 100 {
>> 101   static TypeId tid = TypeId ("ns3::DcaTxop")
>> 102     .SetParent<Object> ()
>> 103     .AddConstructor<DcaTxop> ()
>> 104     .AddAttribute ("MinCw", "The minimum value of the contention
>> window.",
>> 105                    UintegerValue (15),
>> 106                    MakeUintegerAccessor (&DcaTxop::SetMinCw,
>> 107                                          &DcaTxop::GetMinCw),
>> 108                    MakeUintegerChecker<uint32_t> ())
>> 109     .AddAttribute ("MaxCw", "The maximum value of the contention
>> window.",
>> 110                    UintegerValue (1023),
>> 111                    MakeUintegerAccessor (&DcaTxop::SetMaxCw,
>> 112                                          &DcaTxop::GetMaxCw),
>> 113                    MakeUintegerChecker<uint32_t> ())
>> 114     .AddAttribute ("Aifsn", "The AIFSN: the default value conforms
>> to simple DCA.",
>> 115                    UintegerValue (2),
>> 116                    MakeUintegerAccessor (&DcaTxop::SetAifsn,
>> 117                                          &DcaTxop::GetAifsn),
>> 118                    MakeUintegerChecker<uint32_t> ())
>> 119     ;
>> 120   return tid;
>> 121 }
>> 122 
>>
>> The default value of 15 was set at line 105. Why do you think that CwWin
>> has nothing to do with DcaTxop?
>>  
>> Gary
>>
>>  
>>
>>
>> ________________________________
>>
>> 	From: Basim Javed [mailto:basimjaved at gmail.com] 
>> 	Sent: Thursday, July 16, 2009 3:17 PM
>> 	To: Pei, Guangyu
>> 	Cc: Nicola Baldo; ns-developers
>> 	Subject: Re: [Ns-developers] 802.11 10Mhz Channel
>> 	
>> 	
>> 	hi all
>> 	
>> 	CwMin parameter has to do nothing with DcaTxop. In QoS enabled
>> MAC, each queue handles its own DcaTxop independently. 
>> 	
>> 	regards
>> 	B
>> 	
>> 	
>> 	On Thu, Jul 16, 2009 at 11:23 PM, Pei, Guangyu
>> <Guangyu.Pei at boeing.com> wrote:
>> 	
>>
>> 		It seems to me that CwMin parameter is controlled by
>> DcaTxop. Each MAC
>> 		handles its own DcaTxop.  Should we add a virtual
>> function SetCwMin may
>> 		be added in WifiMac class? For non-QoS MACs, it seems
>> that each mac has
>> 		only one DcaTxop and it is straightforward to add one.
>> For QoS  MAC, it
>> 		seems that only beacon Dca needs to be set. Does this
>> sound ok?
>> 		
>> 		Gary
>> 		
>>
>>
>> 		> -----Original Message-----
>> 		> From: Nicola Baldo [mailto:nbaldo at cttc.es]
>> 		> Sent: Thursday, July 16, 2009 9:03 AM
>> 		> To: ns-developers
>> 		> Subject: Re: [Ns-developers] 802.11 10Mhz Channel
>> 		>
>> 		> Also CwMin should be set to 31 (instead of 15) when
>> using 802.11b.
>> 		> See IEEE Std. 802.11-2007, section 15.3.3 "DS PHY
>> characteristics".
>> 		>
>> 		> Nicola
>> 		>
>> 		> Pei, Guangyu wrote:
>> 		> > Hi,
>> 		> >
>> 		> > I double-checked the standard. I believe the
>> following
>> 		> settings are correct.
>> 		> >
>> 		> > +WifiMac::Configure80211b (void)
>> 		> > +{
>> 		> > +  SetSifs(MicroSeconds(10));
>> 		> > +  SetSlot(MicroSeconds(20));
>> 		> > +  SetEifsNoDifs(MicroSeconds(10+304));
>> 		> > +  SetPifs(MicroSeconds(10+20));
>> 		> > +
>> 		> >
>> 		>
>> +SetCtsTimeout(MicroSeconds(10+304+20+GetDefaultMaxPropagationDelay().
>> 		> > +GetMicroSeconds ()*2));
>> 		> > +
>> 		> >
>> 		>
>> +SetAckTimeout(MicroSeconds(10+304+20+GetDefaultMaxPropagationDelay().
>> 		> > +GetMicroSeconds ()*2)); }
>> 		> >
>> 		> > In particular, I believe 304 is the Ack Tx time =
>> AckSize + PLCP
>> 		> > Preamble + PCLP Header = 8*14 + 144 + 48 = 304
>> 		> >
>> 		> > Thanks,
>> 		> >
>> 		> > Gary
>> 		> >
>> 		> >> -----Original Message-----
>> 		> >> From: Ramon Bauza [mailto:monbauza at gmail.com]
>> 		> >> Sent: Monday, July 13, 2009 3:22 AM
>> 		> >> To: Mathieu Lacage
>> 		> >> Cc: ns-developers at ISI.EDU
>> 		> >> Subject: Re: [Ns-developers] 802.11 10Mhz Channel
>> 		> >>
>> 		> >> Hi,
>> 		> >>
>> 		> >> Thank you for your comments. Please find the new
>> patch modified
>> 		> >> accordingly to your suggestions. Now,
>> WifiMacHelpers
>> 		> remain the same
>> 		> >> way as in ns-3-dev.
>> 		> >> I have also added the Configure80211b method to
>> configure MAC
>> 		> >> parameters.
>> 		> >> However, I would like someone to review the
>> parameters, since I am
>> 		> >> not very familiar with the 802.11b specification.
>> As Std
>> 		> 802.11-2007
>> 		> >> states (page 654), I have considered:
>> 		> >>
>> 		> >> - SlotTime = 20us
>> 		> >> - SIFS = 10us
>> 		> >>
>> 		> >> Ramon.
>> 		> >>
>> 		>
>> 		
>> 		
>>
>>


More information about the Ns-developers mailing list