毕设是要改进aodv路由协议,查阅了一些资料定了一个cope+aodv的改进方案。
4.23日 距离ddl还有39天
已经有的准备:
大致看了aodv的源码,了解了流程,在网上下载了cope+aodv的代码,尝试将他添加到NS2.35中,出现了如下的错误:
invalid command name "Agent/CAODV0"
while executing
"Agent/CAODV0 create _o17 "
invoked from within
"catch "$className create $o $args" msg"
invoked from within
"if [catch "$className create $o $args" msg] {
if [string match "__FAILED_SHADOW_OBJECT_" $msg] {
delete $o
return ""
}
global errorInfo
error "class $..."
(procedure "new" line 3)
invoked from within
"new Agent/CAODV[$node node-addr]"
(procedure "_o3" line 2)
(Simulator create-caodv-agent line 2)
invoked from within
"$self create-caodv-agent $node"
("CAODV" arm line 2)
invoked from within
"switch -exact $routingAgent_ {
DSDV {
set ragent [$self create-dsdv-agent $node]
}
DSR {
$self at 0.0 "$node start-dsr"
}
AODV {
set ragent [$self cre..."
(procedure "_o3" line 14)
(Simulator create-wireless-node line 14)
invoked from within
"_o3 create-wireless-node"
("eval" body line 1)
invoked from within
"eval $self create-wireless-node $args"
(procedure "_o3" line 23)
(Simulator node line 23)
invoked from within
"$ns_ node"
("for" body line 2)
invoked from within
"for {set i 0} {$i < $val(nn)} {incr i} {
set node_($i) [$ns_ node]
$node_($i) random-motion 0
}"
(file "caodv.tcl" line 50)
很奇怪,我明明添加的是CAODV,报错却说的是CAODV0,在网上找原因可能是因为在添加路由协议的时候格式没有对齐,今晚尝试再改一改。