802_11e
所属分类:通讯编程
开发工具:Unix_Linux
文件大小:103KB
下载次数:122
上传日期:2009-03-18 11:19:59
上 传 者:
beibeijerry
说明: 802.11e协议,在ns仿真中使用,包括使用方法
(802.11e protocol)
文件列表:
802_11e修改 (0, 2009-03-04)
802_11e修改\CHANGELOG (731, 2008-05-22)
802_11e修改\cmu-trace.cc (43663, 2009-02-25)
802_11e修改\d-tail.cc (4705, 2008-05-22)
802_11e修改\d-tail.h (3496, 2008-05-22)
802_11e修改\mac-802_11e.cc (47804, 2008-12-29)
802_11e修改\mac-802_11e.h (12310, 2008-05-22)
802_11e修改\mac-timers_802_11e.cc (21043, 2008-05-22)
802_11e修改\mac-timers_802_11e.h (5320, 2008-05-22)
802_11e修改\Makefile.in (18187, 2009-03-02)
802_11e修改\ns-default.tcl (47654, 2009-02-22)
802_11e修改\ns-lib.tcl (62075, 2009-02-23)
802_11e修改\ns-mac.tcl (4392, 2009-02-22)
802_11e修改\ns-mobilenode_EDCA.tcl (22062, 2008-05-22)
802_11e修改\packet.h (17782, 2009-02-22)
802_11e修改\priority.tcl (1422, 2008-05-22)
802_11e修改\priq.cc (6460, 2008-05-22)
802_11e修改\priq.h (3254, 2008-05-22)
802_11e修改\wireless-phy.cc (15118, 2009-02-22)
802_11e修改\wireless-phy.h (5255, 2009-02-22)
Note:
*****
The model lacks the HCCA, any management
mechanisms like Association/Reassociation, Authentication /
Deauthentication. In addition, no superframe structure with Beacon
frames and no power-saving methods are supported (as in the original
ns-2 model).
The RTS/CTS mechanism, which is included in the legacy ns-802.11
model, has never been tested and verified. Therefore we do not
recommend to use RTS/CTS without reviewing the code in detail.
This model only works with ns-2.28. Several changes might be needed to
use it in combination with other ns versions.
Installation of MAC 802.11e EDCA-Code:
**************************************
1. please change into the directory ns-whatever/ns-x.y/mac/
2. copy the tgz file into this directory and extract it with:
tar -xvzf filename.tgz
3. changes to your Makefile.in in ns-whatever/ns-x.y/:
- add to INCLUDES:
-I./mac/802_11e #Nagl-ln67
- add to OBJ_CC:
mac/802_11e/mac-802_11e.o mac/802_11e/priq.o #Nagl-ln227
mac/802_11e/d-tail.o mac/802_11e/mac-timers_802_11e.o
- exclude in NS_TCL_LIB:
tcl/lib/ns-mobilenode.tcl \
- add to NS_TCL_LIB: #Nagl-ln396,397
mac/802_11e/ns-mobilenode_EDCA.tcl \
mac/802_11e/priority.tcl \
4. changes to your ns-whatever/ns-x.y/tcl/lib/ns-lib.tcl:
- exclude from the source list: #Nagl-ln139,140,141
source ns-mobilenode.tcl
- add to the source list:
source ../../mac/802_11e/ns-mobilenode_EDCA.tcl
source ../../mac/802_11e/priority.tcl
5. changes to your ns-whatever/ns-x.y/tcl/lib/ns-default.tcl:
- add: #Nagl-ln 106,686
Queue/DTail set drop_front_ false
Queue/DTail set summarystats_ false
Queue/DTail set queue_in_bytes_ false
Queue/DTail set mean_pktsize_ 500
Queue/DTail/PriQ set Prefer_Routing_Protocols 1
Queue/DTail/PriQ set Max_Levels 4
Queue/DTail/PriQ set Levels 4
Mac/802_11e set SlotTime_ 0.000020 ;# 20us
Mac/802_11e set SIFS_ 0.000010 ;# 10us
Mac/802_11e set PreambleLength_ 144 ;# 144 bit
Mac/802_11e set PLCPHeaderLength_ 48 ;# 48 bits
Mac/802_11e set PLCPDataRate_ 1.0e6 ;# 1Mbps
Mac/802_11e set RTSThreshold_ 3000 ;# bytes
Mac/802_11e set ShortRetryLimit_ 7 ;# retransmittions
Mac/802_11e set LongRetryLimit_ 4 ;# retransmissions
6. add to tcl/lan/ns-mac.tcl: #Nagl-ln65
if [TclObject is-class Mac/802_11e] {
...
copy settings of MAC/802.11
(which are contained in this file) into this section
and at an "e" at the end of the "Mac/802_11" terms
...
Mac/802_11e set cfb_ 0 ;# disables CFB
}
7. mac/wireless-phy.h:
change
enum ChannelStatus {IDLE, RECV, SEND};
to
enum ChannelStatus {IDLE, RECVING, SENDING};
mac/wireless-phy.cc:
replace all occurences of RECV and SEND (by RECVING and SENDING).
8. common/packet.h:#Nagl-ln57
add
#define HDR_MAC802_11E(p) ((hdr_mac802_11e *)hdr_mac::access(p))
9. run ./configure; make clean; make depend; make in your ns directory
10. happy simulating :o) (e.g with the example script ../ns-x/mac/802.11e/multi_udpflows.tcl)
Simulations with 802.11e EDCA
*****************************
- in your simulation script: After defining your transport_agent
% set transport_agent [new Agent/UDP]
,just add
% $your_transport_agent prio_ x
to give a certain flow a specific priority
(x between 0 and 3, 0 being the highest, 3 being the lowest priority).
- changes to 802.11e parameters (CW_MIN, CW_MAX, AIFS, TXOPLimit, PF) should be
made in ../ns-x/mac/802_11e/priority.tcl for each queue. Please rerun make afterwards.
- please set Mac/802_11e cfb_ to 1 (in tcl/lan/ns-mac.tcl) if you want to enable CFB in
your simulations. Rerun make afterwards.
近期下载者:
相关文件:
收藏者: