NS2 新 AQM 实施

NS2 New AQM implementation

我目前正在研究 NS2,了解不同的队列管理器,包括 RED。我正在尝试合并非内置 NS2 的队列管理器,如 FRED 和 BLUE。我一直在尝试几种方法和说明,包括只能在上述队列管理器的实际研究论文中找到的方法和说明。我也在这里搜索过但没有运气。顺便说一句,我遇到了这个错误。

invalid command name "Queue/FRED"
    while executing
"Queue/FRED create _o42 "
    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 Queue/$qtype"
    ("default" arm line 3)
    invoked from within
"switch -exact $qtype {
ErrorModule {
if { [llength $args] > 0 } {
set q [eval new $qtype $args]
} else {
set q [new $qtype Fid]
}
}
intserv {
set qtyp..."
    (procedure "_o3" line 14)
    (Simulator simplex-link line 14)
    invoked from within
"_o3 simplex-link _o13 _o16 1Mb 10ms FRED"
    ("eval" body line 1)
    invoked from within
"eval $self simplex-link $n1 $n2 $bw $delay $type $args"
    (procedure "_o3" line 8)
    (Simulator duplex-link line 8)
    invoked from within
"$ns duplex-link $n1 $n2 1Mb 10ms FRED"
    (file "fred.tcl" line 31)

这些是我尝试添加 FRED 和 BLUE 的一些说明,但 returns 同样的错误。

Berkeley Instructions | NS2 instructions

任何帮助将不胜感激。谢谢! 编辑:我将错误粘贴在一个片段中以整齐地显示错误代码。

构建 ns2 + FRED 的示例

tar xvf ns-allinone-2.34.tar.gz
cd ns-allinone-2.34/
patch -p0 < FRED_ns234.patch

https://drive.google.com/file/d/1sriJu2VjvxzT63XAdrohgCppx1nzu5j8/view?usp=sharing

export CC=gcc34 CXX=g++34 && ./install
cd ns-2.34/
cp ns ns234-FRED    (This is your backup and safe identifier for ns+FRED)
sudo cp ns234-FRED /usr/local/bin/

模拟:$ ns234-FRED [simulation].tcl


和 ns-2.35 → ns-allinone-2。35_gcc5.tar.gz https://drive.google.com/file/d/0B7S255p3kFXNVVlxR0ZNRGVORjQ/view?usp=sharing

补丁:FRED_ns235.patchhttps://drive.google.com/file/d/1xnYd0xXV53mLloL1Wjzh_HtGua71jpx5/view?usp=sharing


Ubuntu 下载...

64 位 gcc34 https://drive.google.com/file/d/0B7S255p3kFXNRTkzQnRSNXZ6UVU/view?usp=sharing ... g++34 https://drive.google.com/file/d/0B7S255p3kFXNV3J3bnVoWGNWdG8/view?usp=sharing

32 位 gcc34 https://drive.google.com/file/d/0B7S255p3kFXNTzNKRHBEMHFwNTg/view?usp=sharing ... g++34 https://drive.google.com/file/d/0B7S255p3kFXNT0JTTVNDSHpNVGM/view?usp=sharing

安装:$ cd Downloads/ && sudo gdebi [package]_[arch]


Howto FRED,ns-2.35,Ubuntu16.04

tar xvf ns-allinone-2.35_gcc5.tar.gz
cd ns-allinone-2.35/
patch -p0 < FRED_ns235.patch
./install              // Stops with queue/csfq* error.
cd ns-2.35/            // Edit the Makefile line 37 to CPP = g++34
make                   // Stops with linker error (Or earlier)
                       // Edit the Makefile line 37 to CPP = g++
make
cp ns ns235-FRED
sudo cp ns235-FRED /usr/local/bin/