2010-01-01から1年間の記事一覧

NS2メモ パケットの転送

パケットを転送する時の注意 受け取ったパケットをそのまま転送すると、宛先がおかしくなる? Packetをallocして自分で組みなおしてから、転送すること

マルチパスメモ

結局1ノードから送信する方法がよくわかりませんえん(ヽ'ω`) とりあえずのエセマルチパスの実装として… 送信元/宛先ノードを2個ずつ 送信元/宛先ノードは同じ座標に2つ置く 中継ノードではrecvが実装された瞬間に次ノードへconnectをかける sendmsgで送信を…

変数のメモ

NS2

tclの変数が見つけづらい理由 instprocでinstvarとかして変数宣言してるから 変数探したいときは puts クラス変数($nodeとか) [$node info vars] とかで一覧で出して追ってくしかない気がする Node/MobileNode ノード変数 set 変数名 セットしたい変数 ragen…

今後のメモ

マルチパス実装は結局いきずまりましたとさ・・・。 MAC層も見てみたところ宛先を変えられそうな場所は見つからず。。。。 とりあえずやること connectを何回かやってちゃんと接続先が変わるかどうか 今後の実装方針 ノードを手動で設置 送信元ノード/宛先ノ…

MAC層のメモ

NS2

void Mac802_11::recv(Packet *p, Handler *h) パケットのhdr_cmd->direction()がDOWNなら、上位層からきたパケット > send()関数を呼ぶ void Mac802_11::sendDATA(Packet *p) -

マルチパスのメモ

$ns_ connect $udp_(0) $sink_(1) $ns_ connect $udp_(1) $sink_(3) $ns_ connect $udp_(2) $sink_(3) set send_app_(0) [new Application/Traffic/CBR] $send_app_(0) attach-agent $udp_(0) $send_app_(0) set packetSize_ 512 set send_app_(1) [new Appl…

Classifier::no-slot{} default handler

こんなエラーが出ましたとさ --- Classfier::no-slot{} default handler (tcl/lib/ns-lib.tcl) --- _o30: no target for slot -1 _o30 type: Classifier/Port content dump: classifier _o30 0 offset 0 shift 2147483647 mask 3 slots slot 0: _o105 (CMUTr…

NS2 UDPパケットのメモ

一回で遅れるUDPのパケットは1000byteまで それ以上になると分割されるみたい? >Agentクラスのsize_変数を変更してあげれば大きくはできそう どこでsize_が指定されてるんだろ…?

無理ゲー

正直ns-2でマルチパス実装するのはコストが大きすぎる(ヽ'ω`) ていうかマルチパスの実装自体辛すぎる(ヽ'ω`) OPNETでもめっちゃ時間かかる言われたし無理げーすぎる(ヽ'ω`)ns2 卒研 すてたい

実装のあれ

UDP ヘッダ 宛先 中継ノードで、全部connectしてなんとかしてみる

tcl-debugのアーカイブ

とりあえずバックアップも兼ねてここに保存しるお

今後の方針

・頑張ってtarget_に代入するやつを探す ・アプリ層にTCP機能実装して中継ノードと宛先ノードを選べるようにする ・TCPを改造して中継できるようにさせる ・Tclでできるか探す(´・ω・`)どれも地獄だぜふぅーははぁー

別の仕事関連 MongoDBをUbuntuにインストール

普通にリポジトリにパッケージがあるみたいなので $ sudo aptitude install mongodb 普通に起動すると $ mongod mongod --help for help and startup options Tue Nov 30 16:38:32 Mongo DB : starting : pid = 3474 port = 27017 dbpath = /data/db/ master…

違ったってね

やっぱりIPヘッダのSrc/Dstは送信元/宛先だったってね宛先がに-1が入るのはなんなんだろう

C++側からTcl実行する

AODV* aodvagent; // set i to be the node id char command[256]; sprintf(command, "foreach aodvagent [Agent/AODV info instances]\ {\nif { [$aodvagent id] == %d} {\nset i $aodvagent}}\nset t $i\n", i); // <-- 真ん中に実行する文いれる Tcl& tcl…

ぴこーん

| \ __ / _ (m) _ピコーン |ミ| / `´ \ ('A`) ノヽノヽ くくIPヘッダの宛先変えればよくね? >なんか違うっぽいTCPヘッダ AOMDVヘッダ そのへんのSourceとDestination確認してみるよ

送信先ノードの動的変更

Connectorクラスのtarget_を変えてあげればいいと思いますよっとtarget_は target_ = (NsObject*)TclObject::lookup(str); みたいな感じで入れましょう。 strにはtcl側で使われてるノードの識別子 -> _o6とかそのへん 判断の仕方が不明

来週やることメモ

・TCPでtarget_を変更できるようにする ・ノードの隣接判定しないといけないよね ・Tclから呼び出せるようにcommand作らないとね ・てかパケットごとに送ってる部分ってどこなのこれ ・やっぱりScheduler? ・でもoutputってとこでもやってそうな感じだった…

隣接ノード判定

tcl側で set god_ [create-god $val(nn)]; # <-- $val(nn)はノード数 # ... # ノード生成のとこで $god_ new_node $node_($i); # <-- $iはカウンタ for文でノード作るときのやつ int node_num = God::instance()->nodes(); // <-- 総ノード数 printf("nextHo…

マルチパス関連

大元からいじるのは大変そう? # NsObjectの隣接ノードは一つしかないとかコメントに... class Connector : public NsObject { public: Connector(); inline NsObject* target() { return target_; } void target (NsObject *target) { target_ = target; } …

bind

キャストしてあげないとだめっぽい。 でもキャストしてあげれば大丈夫そう

液晶

23型ぐらいの液晶が欲しいなぁ プログラミングの効率が大分かわりそう1024*768だとやっぱりきびしい

NS2メモ - no class variable

ちょっと前にこれで怒られた。tclcl/tcl-oject.tclを見て対処法確認してくれ -> 対処法が3つあるっぽい?1番目 -> tcl-default.tclにデフォ値を設定しろこれやったらうまく通ったので、他2つは試してない。

bsd-list.h

bsd-list.h リスト構造を作ってくれる。 自分が指定した型で作ってくれるなんて超便利!LIST_HEADやらなんやら 書いてることしてくれるぽい

NS2メモ tcp-crosslayerクラス作成

Makefileの195行目付近に追記 tcp/tcp-crosslayer.o \とりあえずtcp-newreno全コピ tcp-crosslayer.ccクラス名やらTclClassの中やらを CrossLayerとかに変更ns-default.tclのNewrenoあたりの初期値をそのままコピペでCrossLayerにして終わり

NS2メモ TCP側でノード情報拾う的な

ns-lib.tcl 1543行目 attach-agentのプロシージャ Simulator instproc attach-agent { node agent } { # このへん $node attach $agent ; # <-- このプロシージャで色々やってる if {[lindex [split [$agent info class] "/"] 1] == "SCTP"} { $agent instva…

移転前めも

http://blog.livedoor.jp/nakamiryi/ こっちにあるよーん あんまないよーん