mtcpsink.cc mtcpsink.h mtcpsink.o mudp.cc mudp.o mudp.h mudpsink.cc

时间:2021-12-27 13:05:52
【文件属性】:

文件名称:mtcpsink.cc mtcpsink.h mtcpsink.o mudp.cc mudp.o mudp.h mudpsink.cc

文件大小:18KB

文件格式:ZIP

更新时间:2021-12-27 13:05:52

ns2 mUDP

當封包從應用程式層到 UDP 層時,就把封包的序號、時間、和大小紀錄到一個檔案中(發送端記錄檔) 當封包到達接收端時,同樣把收到的封包序號、傳送時間(在傳送端要發送封包時會把當時的時間放在封包的標頭檔(common header)中)、到達時間、封包延遲時間( = 到達時間 - 傳送時間)、和封包大小紀錄到另一個檔案中(接收端記錄檔) 有了這兩個記錄檔,我們要求得吞吐量、封包延遲、抖動率、或封包遺失率就變得很簡單了。 mUDP是UDP的延伸,除了具有UDP的功能外,還能記錄所發送的封包的訊息。mUdpSink可以把接收到的封包訊息記錄到文件中。 mTcpSink是TCPsink的延伸,除了具有TCPSink功能外,還能記錄所發出的封包的訊息。 1.下載 measure.zip 內容: mudp.cc mudp.h mudpsink.cc mudpsink.h mtcpsink.cc mtcpsink.h 2.新建 //ns-allinone-2.33/ns-2.33/measure 文件夾,把這些文件放入其中 3.修改 //ns-allinone-2.33/ns-2.33/common/packet.h 如下 struct hdr_cmn { ...... dir_t direction_; // direction: 0=none, 1=up, -1=down int frametype_; double sendtime_; unsigned int pkt_id_; unsigned int frame_pkt_id_; // source routing char src_rt_valid; ...... }; 4.修改 //ns-allinone-2.33/ns-2.33/Makefile 如下 OBJ_CC = \ ...... apps/pbc.o \ measure/mtcpsink.o measure/mudp.o measure/mudpsink.o \ $(OBJ_STL) ...... 5.修改 //ns-allinone-2.33/ns-2.33/tcl/lib/ns-default.tcl 如下 ...... Agent/Ping set packetSize_ 64 Agent/mUDP set packetSize_ 1000 Agent/UDP set packetSize_ 1000 ...... 6.重新編譯NS2 # make clean # make 若編譯成功,即加入完成 7.使用 於 tcl 檔內加入 ...... #使用mTcpSink set sink [new Agent/TCPSink/mTcpSink] $sink set_filename tcp_sink ...... ...... #使用mUDP set udp [new Agent/mUDP] $udp set_filename sd_udp #使用mUdpSink set null [new Agent/mUdpSink] $null set_filename rd_udp ...... 即可使用 [編輯] 使用threshold程式 由於 Hidden Terminal Problem 與有效的傳輸距離有關,所以如何計算出有效的傳輸距離和其相關參數就變的非常重要 NS2有提供一個小工具,讓使用者輸入有效的傳輸距離和使用的傳輸模型後,即顯示相對應的參數 1.編譯程式 # cd ns-allinone-2.33/ns-2.33/indep-utils/propagation # g++ -lm threshold.cc -o threshold 2.使用 # ./threshold USAGE: find receiving threshold for certain communication range (distance) SYNOPSIS: threshold -m [other-options] distance : FreeSpace, TwoRayGround or Shadowing [other-options]: set parameters other than default values: Common parameters: -Pt -fr -Gt -Gr -L For two-ray ground model: -ht -hr For shadowing model: -pl -std -d0 -r


【文件预览】:
measure
----mudp.o(18KB)
----mudpsink.h(386B)
----mudpsink.o(13KB)
----mudp.cc(3KB)
----mtcpsink.h(398B)
----mudp.h(324B)
----mudpsink.cc(1KB)
----mtcpsink.cc(2KB)
----mtcpsink.o(17KB)

网友评论