ns2安装802.11p补丁包
来源:互联网 发布:喜马拉雅英语软件下载 编辑:程序博客网 时间:2024/05/07 03:30
通过NS2对802.11p协议进行仿真,在网上下载802.11p的补丁包后,覆盖原有的包后在终端下make后总是报错,经过大量尝试终于发现原因。主要是gcc和g++版本过高的原因导致。后来在虚拟机下安装Red Hat 企业版5,一次就make成功!
成功make后发现原先能运行的tcl脚本文件,重新运行会报错。通过代码对比软件会发现,作者在ns-2.34\tcl\lib下对两个文件ns-defaul.tcl和ns-lib.tcl中对802.11p协议进行了必要的添加。其中会发现
(1)Queue/DTail/PriQ set Prefer_Routing_Protocols 1
Queue/DTail/PriQ set Max_Levels 4
Queue/DTail/PriQset Levels 4
同时在ns-2.34\mac文件夹下会发现多了好多文件,其中就有d-tail.cc和priq.cc这几个文件
所以原先的脚本文件中的 set val(ifq) Queue/DropTail/PriQueue
改为 set val(ifq) Queue/DTail/PriQ
(2)#Adds support for different queuing models in 802.11p
# FULL = One IFQ per channel.
# ONE_ONE = One IFQ for the CCH and one for the remaining SCHs.
# UNIQUE = A single IFQ. For benchmarking purposes
Simulator instproc queueModel { val } { $self set queueModel_ $val }
而在ns-mobilenode.tcl文件下
if { $mactype == "Mac/802_11p" || $mactype == "Mac/802_11" } {
if { [ lsearch [ $ns info vars ] queueModel_ ] != -1 } {
set qmod [ $ns set queueModel_ ]
} else {
puts "Please declare a queue model for the WAVE node using -queueModel in node- config."
puts "Possible values are: 1 = FULL, 2 = ONE/ONE, 3 = UNIQUE."
return
}
如果[ lsearch [ $ns info vars ] queueModel_ ] =-1,终端则会报错Please declare a queue model for the WAVEnode using -queueModel in node- config.Possible values are: 1 = FULL, 2 = ONE/ONE, 3 = UNIQUE.
所以需要在脚本文件下添加 set val(queMod) 2
在配置无线节点处添加 -queueModel $val(queMod) \
成功make后发现原先能运行的tcl脚本文件,重新运行会报错。通过代码对比软件会发现,作者在ns-2.34\tcl\lib下对两个文件ns-defaul.tcl和ns-lib.tcl中对802.11p协议进行了必要的添加。其中会发现
(1)Queue/DTail/PriQ set Prefer_Routing_Protocols 1
Queue/DTail/PriQ set Max_Levels 4
Queue/DTail/PriQset Levels 4
同时在ns-2.34\mac文件夹下会发现多了好多文件,其中就有d-tail.cc和priq.cc这几个文件
所以原先的脚本文件中的 set val(ifq) Queue/DropTail/PriQueue
改为 set val(ifq) Queue/DTail/PriQ
(2)#Adds support for different queuing models in 802.11p
# FULL = One IFQ per channel.
# ONE_ONE = One IFQ for the CCH and one for the remaining SCHs.
# UNIQUE = A single IFQ. For benchmarking purposes
Simulator instproc queueModel { val } { $self set queueModel_ $val }
而在ns-mobilenode.tcl文件下
if { $mactype == "Mac/802_11p" || $mactype == "Mac/802_11" } {
if { [ lsearch [ $ns info vars ] queueModel_ ] != -1 } {
set qmod [ $ns set queueModel_ ]
} else {
puts "Please declare a queue model for the WAVE node using -queueModel in node- config."
puts "Possible values are: 1 = FULL, 2 = ONE/ONE, 3 = UNIQUE."
return
}
如果[ lsearch [ $ns info vars ] queueModel_ ] =-1,终端则会报错Please declare a queue model for the WAVEnode using -queueModel in node- config.Possible values are: 1 = FULL, 2 = ONE/ONE, 3 = UNIQUE.
所以需要在脚本文件下添加 set val(queMod) 2
在配置无线节点处添加 -queueModel $val(queMod) \
0 0
- ns2安装802.11p补丁包
- 将ospf补丁包安装到NS2.35
- ns2安装
- NS2 安装
- NS2安装
- ns2 安装
- NS2安装
- NS2安装
- 全自动安装的XP补丁包
- Solaris10 下安装Top补丁包
- Office2007 sp补丁包安装失败解决办法
- Linux下安装和卸载补丁包
- office2003兼容2007补丁包怎么安装
- 安装NS2(xp+cygwin+ns2.28)
- cygwin+ns2的安装
- Fedora 11 安装ns2
- ns2的安装
- NS2安装方法
- C:fahr2celsius
- 关于activiti的判断点的特殊问题
- Linux tar命令
- Tomcat集群配置学习篇-----分布式应用
- CSS常见错误集锦(1)-关于外部样式表中background-image:url()的设置
- ns2安装802.11p补丁包
- pycharm快捷键及一些常用设置
- LeetCode 114 Flatten Binary Tree to Linked List
- delphi的颜色及其效果
- ubuntu 12.04 无法连接无线网络驱动问题解决
- 敏捷开发之Scrum扫盲篇
- 支持向量机SVM(五)SMO算法
- Effective Java笔记之改写equals的通用约定
- OC与Swift调用函数方法格式对比