2009年4月17日 星期五

Homework 3 & Supplement

繳交名單:
b94502045
b94901104
b95901002
b95901113
b94901145
b94901053
d93521023
b94502045
b95901123
b94502094
b94901064
b94901155
b94901170
b95901021
b95901084
b95901042
b95901051
b95901120
b94901152
b95901071
b95901169
WCAAB0101000717
b94505026
b97207037



4/25: 檔案更新: ping.cc有小錯誤修正 請重新下載~
錯誤位置在40行: offset改為offset_
4/21: 投影片更新,包含了完整的教學和一些Pong Implement的提醒:)
4/18: 檔案更新: 助教修改過的tutorial版ping.h和ping.cc已可供下載:)
4/18: 投影片更新,speed設定為maximum speed,也就是速度為[0,1], [0,5]和[0,10]三種設定

該來的還是要來,最後一個NS-2作業終於來到…。
如果前面的作業你覺得易如反掌,那麼這個會讓你覺得充實不少。
如果覺得之前的作業有點難度,那麼這個作業會讓你覺得充滿挑戰性,
如果認為過去的作業根本不是人做的…那麼你的感覺也已經飽和了,沒關係。

總之,NS-2 HW#3正式登場,另外附贈教授提供的兩個Supplement,請大家下載後配合ns2_4.pdf服用。

加油囉!

作業投影片請點此下載
作業使用的tutorial ping:ping.h, ping.cc,ping.tcl
教授提供的Supplements:
Two-ray Ground
AODV, DSDV
本次作業的死線為5/1 13:00
繳交方式為email,請寄至tomkywang+introwmn@gmail.com

如對本次作業有任何疑問,可在意見區留言,我們會儘快回覆。

45 則留言:

  1. make depend 出現 make: *** No rule to make target `tcp/linux/tcp_naivereno.cc', needed by `depend'. Stop.

    之後再make跑了2分鐘

    雖然ns有更新
    但pong還是動不了

    ~$ ns pong.tcl
    invalid command name "Agent/Pong"
    while executing
    "Agent/Pong set packetSize_ 64"
    (file "pong.tcl" line 1)

    回覆刪除
  2. 應該是pong.o沒有成功包進去
    檢查一下Makefile這個檔案,有包含pong.o嗎?

    回覆刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. ns-2.33下的Makefile
    tcp/tfrc.o tcp/tfrc-sink.o mobile/energy-model.o apps/ping.o apps/pong.o tcp/tcp-rfc793edu.o \
    加在這一行了
    還是不行

    回覆刪除
  5. 那麼檢查一下pong.o有沒有產生出來,有的話...檢查pong.h和.cc裡的名稱有沒有改對 @@ (特別是TclClass那邊)

    回覆刪除
  6. May I ask that in the slide p.11, what do I need to change?
    And p17 after adding one sentence in Makefile, how can I do the next step?
    Should I run "ns Makefile" in cygwin?
    But it have the sentence "invalid command name prefix while executing" (in line 27)
    What's wrong about that?

    回覆刪除
  7. You should follow the instructure on the slide p.23 :)

    回覆刪除
  8. 助教
    我也有相同問題
    如果在 ns-default.tc
    加上Agent/Pong set packetSize_ 64
    就會有錯

    可是如果不加
    而是在simulation的tcl裡
    用 $p0 set packetSize_ 64
    就沒問題.....

    回覆刪除
  9. 沒問題了
    我手殘打錯了....

    回覆刪除
  10. 助教:

    若直接打ns pong.tcl會出現
    Invalid command name "Agent/Pong"
    while executing
    "Agent/Pong instproc recv .....”

    但若在/usr/local/ns2/ns-allinone-2.33/ns-2.33下打
    ./ns pong.tcl則成功

    我發現電腦中有存在好幾個ns
    /usr/local/bin/ns
    /usr/local/ns2/ns-allinone-2.33/bin/ns
    /usr/local/ns2/ns-allinone-2.33/ns-2.33/ns

    我可以把第一個(/usr/local/bin/ns)砍掉嗎? 會不會有其他影响?

    回覆刪除
  11. pong.cc中第44行
    hdr_pong::offset要改成hdr_pong::offset_才會make過

    回覆刪除
  12. exponential distribution
    要按照大小順序嗎?
    應該不用吧?

    You should run simulation for several times
    是說要去比較DSDV AODV的話 我們要多跑一些不同的scenario嗎

    回覆刪除
  13. 我不太懂大小順序是什麼意思...

    DSDV的部分,是的,請建立至少5個scenario來比較:)

    回覆刪除
  14. 是說每個event的間隔隨時間越來越大嗎?

    回覆刪除
  15. 不是喔,exponential的定義可以參考機率課本:)

    回覆刪除
  16. Excuse me. After I run the slide p.23
    "./configure"
    It has this "./configure:line 995: config. log: Permission denied "
    What's that mean?

    回覆刪除
  17. That means you have no permission to do this...Although it is pretty strange.

    You can skip this step first. (only type "make clean" and "make") to see if it works for you.

    回覆刪除
  18. After I typed "make clean", it has this:

    -------------------------------------
    Makefile.in is newer than Makefile.
    You need to re-run configure.
    flase
    make: ***[Makefile] Error 1
    -------------------------------------

    After I re-run "./configure", it has
    the same wrong message.
    What's wrong?

    回覆刪除
  19. 原來你改的是Makefile.in
    那麼就一定要用configure了
    先問一下你是如何改Makefile.in的?

    試著用root登入再試那些指令看看...

    回覆刪除
  20. How I edit Makefile.in?
    I just add "apps/pong.o" after "apps/ping.o"

    用root登入再試那些指令看看...
    If you mean that I should log in as root user, I am the root user...

    回覆刪除
  21. 我一樣有make depend 出現
    make: *** No rule to make target `tcp/linux/tcp_naivereno.cc', needed by `depend'. Stop.
    的問題

    然後我把所有修改都還原,還是出現一樣的error message
    如果有人也有出現,後來修好了,可以說一下是怎麼修的嗎?
    謝謝了

    回覆刪除
  22. 剛試出來了
    自問自答XD

    問題好像出在configure
    要打 ./configure
    投影片後面是對的
    前面沒寫./

    回覆刪除
  23. 請跳過make depend這一步~

    回覆刪除
  24. Note: transmitter and receiver should be different
    意思是說每個node只能是transmitter或receiver其中一個嗎
    還是說不能自己pong自己而已呢

    回覆刪除
  25. 請問一個topology下,要有多少connection?

    回覆刪除
  26. cbrgen.tcl 裡面有一個x變數,
    if{$x < 50} {continue;}
    if{$x < 75} {continue;}

    請問這個x變數作用是怎樣?? 因為好像只有這邊會用到

    回覆刪除
  27. 是用來作random的部分,
    從code來看,應該每次從0~100任取一個數,如果x<50就跳過整個迴圈,x<75則是跳過後半部的迴圈~

    回覆刪除
  28. 所以有n個node,就不用碰n次囉?

    回覆刪除
  29. 是的,connection數請自訂,不要少的太離譜(個位數)就好 :)

    回覆刪除
  30. when I type "make clean"

    出現了rm -f *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \
    errors tclsh tcltest lib.exp Tcl
    rm: cannot remove `Tcl': Is a directory
    make: *** [clean] Error 1

    回覆刪除
  31. 請問makefile 有很多個
    是要改哪個?

    回覆刪除
  32. ./configure後
    出現can't find X includes
    怎麼辦?

    回覆刪除
  33. 在ns-2.33下面的那個,不過./configure那個非常奇怪....你先重新install看看行不行 @@

    回覆刪除
  34. 請問我改完pong之後,make也產生的出來,可是一執行範例的tcl檔就會產生
    warning: ns Scheduler::schedule: scheduling event
    with negative delay (-13743.885344) at time 0.200000.
    Segmentation fault

    請問有沒有人跟我遇到一樣的問題

    回覆刪除
  35. 請問做出pong.h和pong.cc之後
    要怎麼產生pong.o呢?

    我有試過在cygwin run g++ pong.cc -c
    但會跑出錯誤訊息:
    找不到agent.h等 以及 一些compile的error @@"

    回覆刪除
  36. 這部分只要把Makefile改好就會在make時自動產生,不用擔心:)

    回覆刪除
  37. simulation scripts 是只要附一種情況的,還是AODV 3種和DSDV 3種都要附上?

    回覆刪除
  38. 助教 請問一下

    交作業連那些改一點點的檔案也要交嗎 例如ns-default.tcl之類的

    回覆刪除
  39. 請全部附上,並在readme裡說明:)

    回覆刪除
  40. 請問一個node上是一個Agent/pong嗎?
    還是同一個node上有幾個connection就有幾個Agent/Pong?

    謝謝~

    回覆刪除
  41. 應該是要建多個Agent/Pong
    這樣connection才不需要來改去 XD

    回覆刪除
  42. DSDV建立至少5個scenario來比較,是指mobility嗎?

    是說DSDV和AODV在max speed為 1, 5, 10下各5個scenario嗎?

    作圖的部分,是比較
    the success ratio of pong messages,the average and the standard deviation of “pong” delay time,the overhead due to AODV routing嗎?

    謝謝~

    回覆刪除
  43. Yes! 各5個,而且是用不同seed跑出來的scenario :)

    回覆刪除
  44. 啊啊啊竟然碰到mobility generator的問題
    我打ns pong.tcl
    跑出
    ns: _o14 setdest 270.546731323404 569.350927375488 0.516533453353
    (_o14 cmd line 1)
    invoke from within
    "catch "$self cmd $args" ret"
    invoke from within
    "if [catch "$self cmd $args" ret]{
    set cls [$self into class]
    global errorInfo
    error "error when calling class $cls: $args" $..."

    有種鬼打牆的感覺@@"
    不知道是甚麼問題呢@@?

    回覆刪除