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

上传者: m0_37152249 | 上传时间: 2021-04-12 18:04:41 | 文件大小: 18KB | 文件类型: ZIP
當封包從應用程式層到 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

文件下载

资源详情

[{"title":"( 9 个子文件 18KB ) mtcpsink.cc mtcpsink.h mtcpsink.o mudp.cc mudp.o mudp.h mudpsink.cc","children":[{"title":"measure","children":[{"title":"mudp.o <span style='color:#111;'> 18.30KB </span>","children":null,"spread":false},{"title":"mudpsink.h <span style='color:#111;'> 386B </span>","children":null,"spread":false},{"title":"mudpsink.o <span style='color:#111;'> 13.44KB </span>","children":null,"spread":false},{"title":"mudp.cc <span style='color:#111;'> 3.03KB </span>","children":null,"spread":false},{"title":"mtcpsink.h <span style='color:#111;'> 398B </span>","children":null,"spread":false},{"title":"mudp.h <span style='color:#111;'> 324B </span>","children":null,"spread":false},{"title":"mudpsink.cc <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"mtcpsink.cc <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false},{"title":"mtcpsink.o <span style='color:#111;'> 16.76KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明