Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Hướng dẫn cài đặt NS-2 để mô phỏng MPLS-TE

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Úi, hôm nay mới tìm hiểu NS2 :)
    Em đang mô phỏng vấn đề chống tắc nghẽn trong mạng NGN, có bác nào cùng ý tưởng ko? :-?

    Comment


    • Của em thì không bị lỗi gì cả. Nhưng đến đoạn cài Ns2 ./install thì nó chỉ chạy 30s thôi à . trái ngược với mọi người nói là 15 đến 20 phút không hiểu vì sao nữa. có phải do thiếu gói nao không. pro nào chỉ dùm em với. 2 tuần nữa là em phải nộp bài rồi. hu hu không được thì chắc em khỏi ra trường luôn. Pro nào giúp em với
      Em cài lui cài tới rồi mà vẫn không được. cài lại win rồi củng không được nản quá.

      http://s599.photobucket.com/albums/t...rent=error.jpg
      Last edited by thaituan87; 16-04-2009, 02:13 PM.

      Comment


      • Originally posted by thaituan87 View Post
        Của em thì không bị lỗi gì cả. Nhưng đến đoạn cài Ns2 ./install thì nó chỉ chạy 30s thôi à . trái ngược với mọi người nói là 15 đến 20 phút không hiểu vì sao nữa. có phải do thiếu gói nao không. pro nào chỉ dùm em với. 2 tuần nữa là em phải nộp bài rồi. hu hu không được thì chắc em khỏi ra trường luôn. Pro nào giúp em với
        Em cài lui cài tới rồi mà vẫn không được. cài lại win rồi củng không được nản quá.

        http://s599.photobucket.com/albums/t...rent=error.jpg
        Nếu bạn chỉ cài bản 2.27 thì nên cài theo hướng dẫn trong trang này:

        Comment


        • Làm ơn, Tôi muốn thống kê bao nhiêu gói tin đi vào và đi ra khỏi một node?

          Chào mọi người,
          Hiện tại tôi có mô hình thế này:

          Node1--------------Node3----------------------Node4
          ............................|
          ............................|
          Node2--------------

          Node1 Nối với node 3
          Node2 nối với node3
          Node3 nối với node4
          Gắn hai nguồn phát tín hiệu từ Node1 và node2 gởi cho node4, và mình muốn thống kê có bao nhiêu gói tin đi vào và đi ra khỏi node3.
          Cám ơn mọi người.
          Last edited by camlinux; 18-04-2009, 10:11 AM.

          Comment


          • ban nao da cau dinh mo hinh nut dong trong ns2 thi chi cho to voi (wireless).
            yh:izzi_zuzu_2602@yahoo.com

            Comment


            • Cài X11 chọn Install hết rồi mà khi cài ns-2 vẫn báo lỗi này là sao?
              Code:
              Package xorg-x11-bin is not present on your system
              Nếu muốn cài thêm xorg-x11-bin thì làm thế nào các đại ca

              Comment


              • mình cũng làm mô phỏng trên ns2, ai có code mô phỏng leach trên ns2 làm ơn cho mình với mail của mình là thanhbinh260@gmail.com

                Comment


                • Cám ơn anh NGN bây giờ thì em chạy được ns2 rùi. em đang làm về cái giao thức định tuyến dsr trong mạng manet. Em có làm một mô phỏng mạng nhỏ chạy trên ns2 , nhưng sao xuất hiện lỗi. Anh chị nào pro giúp giai quyết với .
                  Em cám ơn nhiều ạ
                  error code
                  #++++++++++++++++DSR CODE++++++++++++++++++++++++

                  # ================================================== ====================
                  # Define options
                  # ================================================== ====================
                  set val(chan) Channel/WirelessChannel ;# channel type
                  set val(prop) Propagation/TwoRayGround ;# radio-propagation model
                  set val(ant) Antenna/OmniAntenna ;# Antenna type
                  set val(ll) LL ;# Link layer type
                  set val(ifq) Queue/DropTail/PriQueue ;# Interface queue type
                  set val(ifqlen) 50 ;# max packet in ifq
                  set val(netif) Phy/WirelessPhy ;# network interface type
                  set val(mac) Mac/802_11 ;# MAC type
                  set val(nn) 6 ;# number of mobilenodes
                  set val(rp) DSR ;# routing protocol
                  set val(x) 800
                  set val(y) 800

                  set ns [new Simulator]
                  #ns-random 0

                  set f [open 1_out.tr w]
                  $ns trace-all $f
                  set namtrace [open 1_out.nam w]
                  set runall [open runall.bat w]
                  $ns namtrace-all-wireless $namtrace $val(x) $val(y)
                  set f0 [open packets_received.tr w]
                  set f1 [open packets_lost.tr w]
                  set f2 [open proj_out2.tr w]
                  set f3 [open proj_out3.tr w]

                  set topo [new Topography]
                  $topo load_flatgrid 800 800

                  create-god $val(nn)

                  set chan_1 [new $val(chan)]
                  set chan_2 [new $val(chan)]
                  set chan_3 [new $val(chan)]
                  set chan_4 [new $val(chan)]
                  set chan_5 [new $val(chan)]
                  set chan_6 [new $val(chan)]

                  # CONFIGURE AND CREATE NODES

                  $ns node-config -adhocRouting $val(rp) \
                  -llType $val(ll) \
                  -macType $val(mac) \
                  -ifqType $val(ifq) \
                  -ifqLen $val(ifqlen) \
                  -antType $val(ant) \
                  -propType $val(prop) \
                  -phyType $val(netif) \
                  #-channelType $val(chan) \
                  -topoInstance $topo \
                  -agentTrace OFF \
                  -routerTrace ON \
                  -macTrace ON \
                  -movementTrace OFF \
                  -channel $chan_1 # \
                  #-channel $chan_2 \
                  #-channel $chan_3 \
                  #-channel $chan_4 \
                  #-channel $chan_5 \
                  #-channel $chan_6


                  proc finish {} {
                  global ns f f0 f1 f2 f3 namtrace
                  $ns flush-trace
                  close $namtrace
                  close $f0
                  close $f1
                  close $f2
                  close $f3
                  exec xgraph packets_received.tr packets_lost.tr
                  #exec nam -r 5m 1_out.nam &

                  exit 0
                  }

                  proc record {} {
                  global sink0 sink1 sink2 sink3 sink4 sink5 f0 f1 f2 f3
                  #Get An Instance Of The Simulator
                  set ns [Simulator instance]

                  #Set The Time After Which The Procedure Should Be Called Again
                  set time 0.05
                  #How Many Bytes Have Been Received By The Traffic Sinks?
                  set bw0 [$sink5 set npkts_]
                  set bw1 [$sink5 set nlost_]
                  #set bw2 [$sink2 set npkts_]
                  #set bw3 [$sink3 set npkts_]

                  #Get The Current Time
                  set now [$ns now]

                  #Save Data To The Files
                  puts $f0 "$now [expr $bw0]"
                  puts $f1 "$now [expr $bw1]"
                  #puts $f2 "$now [expr $bw2]"
                  #puts $f3 "$now [expr $bw3]"

                  #Re-Schedule The Procedure
                  $ns at [expr $now+$time] "record"
                  }

                  # define color index
                  $ns color 0 blue
                  $ns color 1 red
                  $ns color 2 chocolate
                  $ns color 3 red
                  $ns color 4 brown
                  $ns color 5 tan
                  $ns color 6 gold
                  $ns color 7 black

                  set n(0) [$ns node]
                  #$ns at 0.0 "$n(0) color red"
                  $n(0) color "0"
                  $n(0) shape "circle"
                  set n(1) [$ns node]
                  $n(1) color "blue"
                  $n(1) shape "circle"
                  set n(2) [$ns node]
                  $n(2) color "tan"
                  $n(2) shape "circle"
                  set n(3) [$ns node]
                  $n(3) color "red"
                  $n(3) shape "circle"
                  set n(4) [$ns node]
                  $n(4) color "tan"
                  $n(4) shape "circle"
                  set n(5) [$ns node]
                  $n(5) color "red"
                  $n(5) shape "circle"






                  for {set i 0} {$i < $val(nn)} {incr i} {
                  $ns initial_node_pos $n($i) 30+i*100
                  }

                  $n(0) set X_ 0.0
                  $n(0) set Y_ 0.0
                  $n(0) set Z_ 0.0

                  $n(1) set X_ 0.0
                  $n(1) set Y_ 0.0
                  $n(1) set Z_ 0.0

                  $n(2) set X_ 0.0
                  $n(2) set Y_ 0.0
                  $n(2) set Z_ 0.0

                  $n(3) set X_ 0.0
                  $n(3) set Y_ 0.0
                  $n(3) set Z_ 0.0

                  $n(4) set X_ 0.0
                  $n(4) set Y_ 0.0
                  $n(4) set Z_ 0.0

                  $n(5) set X_ 0.0
                  $n(5) set Y_ 0.0
                  $n(5) set Z_ 0.0

                  $ns at 0.0 "$n(0) setdest 100.0 100.0 3000.0"
                  $ns at 0.0 "$n(1) setdest 200.0 200.0 3000.0"
                  $ns at 0.0 "$n(2) setdest 300.0 200.0 3000.0"
                  $ns at 0.0 "$n(3) setdest 400.0 300.0 3000.0"
                  $ns at 0.0 "$n(4) setdest 500.0 300.0 3000.0"
                  $ns at 0.0 "$n(5) setdest 600.0 400.0 3000.0"

                  $ns at 2.0 "$n(5) setdest 100.0 400.0 500.0"
                  #$ns at 1.5 "$n(3) setdest 450.0 150.0 500.0"


                  # CONFIGURE AND SET UP A FLOW


                  set sink0 [new Agent/LossMonitor]
                  set sink1 [new Agent/LossMonitor]
                  set sink2 [new Agent/LossMonitor]
                  set sink3 [new Agent/LossMonitor]
                  set sink4 [new Agent/LossMonitor]
                  set sink5 [new Agent/LossMonitor]
                  $ns attach-agent $n(0) $sink0
                  $ns attach-agent $n(1) $sink1
                  $ns attach-agent $n(2) $sink2
                  $ns attach-agent $n(3) $sink3
                  $ns attach-agent $n(4) $sink4
                  $ns attach-agent $n(5) $sink5

                  #$ns attach-agent $sink2 $sink3
                  set tcp0 [new Agent/TCP]
                  $ns attach-agent $n(0) $tcp0
                  set tcp1 [new Agent/TCP]
                  $ns attach-agent $n(1) $tcp1
                  set tcp2 [new Agent/TCP]
                  $ns attach-agent $n(2) $tcp2
                  set tcp3 [new Agent/TCP]
                  $ns attach-agent $n(3) $tcp3
                  set tcp4 [new Agent/TCP]
                  $ns attach-agent $n(4) $tcp4
                  set tcp5 [new Agent/TCP]
                  $ns attach-agent $n(5) $tcp5


                  proc attach-CBR-traffic { node sink size interval } {
                  #Get an instance of the simulator
                  set ns [Simulator instance]
                  #Create a CBR agent and attach it to the node
                  set cbr [new Agent/CBR]
                  $ns attach-agent $node $cbr
                  $cbr set packetSize_ $size
                  $cbr set interval_ $interval

                  #Attach CBR source to sink;
                  $ns connect $cbr $sink
                  return $cbr
                  }

                  set cbr0 [attach-CBR-traffic $n(0) $sink5 1000 .015]
                  #set cbr1 [attach-CBR-traffic $n(1) $sink2 1000 .015]
                  #set cbr2 [attach-CBR-traffic $n(2) $sink3 1000 .015]
                  #set cbr3 [attach-CBR-traffic $n(3) $sink0 1000 .015]
                  #set cbr4 [attach-CBR-traffic $n(4) $sink3 1000 .015]
                  #set cbr5 [attach-CBR-traffic $n(5) $sink0 1000 .015]



                  $ns at 0.0 "record"
                  #$ns at 0.5 "$cbr0 start"
                  #$ns at 0.5 "$cbr2 start"
                  #$ns at 2.0 "$cbr0 stop"
                  #$ns at 2.0 "$cbr2 stop"
                  $ns at 1.0 "$cbr0 start"
                  #$ns at 4.0 "$cbr3 stop"

                  $ns at 10.0 "finish"

                  puts "Start of simulation.."
                  $ns run

                  Comment


                  • Chờ cho đến khi nó build xong (khá lâu nếu máy có cấu hình yếu).

                    Thêm vào file .bashrc các dòng khai báo biến môi trường như sau:
                    export NS_HOME=/ns-allinone-2.32
                    export PATH=$NS_HOME/bin:$NS_HOME/tcl8.4.15/unix:$NS_HOME/tk8.4.15/unix:$PATH
                    export LD_LIBRARY_PATH=$NS_HOME/otcl-1.13:$NS_HOME/lib:$LD_LIBRARY_PATH
                    export TCL_LIBRARY=$NS_HOME/tcl8.4.15/library
                    export DISPLAY=:0.0


                    (bạn nên edit và save bằng mc trong Cygwin để đảm bảo lưu đúng format của Unix)
                    Cái MC là cái gì vậy các bạn.Trong CYgwin ở chỗ nào ? là lệnh hay gì tớ ko hiểu!:(

                    Comment


                    • Originally posted by Kabalmaster View Post
                      Cái MC là cái gì vậy các bạn.Trong CYgwin ở chỗ nào ? là lệnh hay gì tớ ko hiểu!:(
                      MC = Midnight Commander (gõ vào google sẽ ra hàng đống :105:)
                      Đang cài giả lập cygwin mà cậu lại hỏi cygwin ở chỗ nào :106:
                      Nó trong ổ C. Còn file .bashrc (C:\cygwin\home\User) tốt nhất nên dùng file của Lan Huong [Đã post ở phần trước :) ]
                      Chúc thành công!
                      Last edited by NGN; 29-04-2009, 10:12 AM.

                      Comment


                      • okie,các bạn cứ làm theo lanhuong là xong thôi.đến cài đoạn sửa file .bashrc thì nó nằm trong C:\cygwin\home\tênuser.Các bạn cứ mở bằng WordPad và thêm vào là được.:)

                        Comment


                        • Mình mới bắt đầu nghiên cứu về NS2 để mô phỏng hiệu quả đa thâm nhập môi trường trong mạng cảm nhận không dây(WSN) mà thấy khó quá à? Các bạn có ai có tài liệu liên quan đến vấn đề của mình thì gửi cho mình xin với. Mail của mình : kchi2010@gmail.com.
                          Cảm ơn các bạn rất nhiều

                          Comment


                          • Cho mình hỏi, mình cài ns-allinone-2.33 trên CentOS có khác gì với cài trên Redhat hay Ferdora ko. Mình đang dùng linux bản CentOS rất ổn định, ko muốn dùng trên Ferdora hay Ubuntu. Cám ơn các bạn.

                            Comment


                            • Xin chào các bạn,
                              Mình đang có một bài tập mô phỏng Multi-RED trong môi trường MNSv2.0. Mình đã tham khảo một số diễn đàn và nhận được trợ giúp là phải sử dụng bản patch Diffserv của Sean Murphy nhưng mình đã ko thể cài đặt thành công bản patch này. Rất mong được các bạn giúp đỡ, mình xin chân thành cảm ơn.
                              Bài tập của mình rất đơn giản như sau:

                              Node 1-------------------------- Node 5
                              -------\-------------------------/
                              --------\-----------------------/
                              --------Node 3 -----------Node 4
                              ------- /----------------------- \
                              ------/ --------------------------\
                              Node 2 ---------------------------Node 6

                              Node 1,2,5,6 = IP node
                              Node 3,4 = MPLS node
                              Node 1 gửi luồng dữ liệu AF11 đến Node 5.
                              Node 2 gửi luồng dữ liệu AF12 đến Node 6.
                              Multi-RED được áp dụng ở link giữa Node 3 và Node 4. Mình muốn sử dụng RIO-C để ưu tiên luồng dữ liệu AF11 so với AF12 (trong trường hợp bị nghẽn).

                              Comment


                              • Hic, các bạn cho mình hỏi cài NS2 kiểu gì vậy, mình loay hoay 3 tiếng đồng hồ mà vẫn ko cài được NS2 vào Ubuntu 8.10.

                                Mình đã chạy các câu lệnh sau trong terminal:

                                cd /đường dẫn/ns-allinone-2.33

                                sudo apt-get install build-essential autoconf automake libxmu-dev

                                Sau khi chạy xong thì mình nhập tiếp:
                                ./install

                                Nó cài ngon lành cho đến đoạn cuối thì nó báo tk8.4.18 bị lỗi cài đặt rồi done.

                                Sau đó mình nhập tiếp:

                                gedit ~/.bashrc

                                và thêm vào đoạn cuối của file đoạn:

                                # LD_LIBRARY_PATH
                                OTCL_LIB=/your/path/ns-allinone-2.31/otcl-1.13
                                NS2_LIB=/your/path/ns-allinone-2.31/lib
                                X11_LIB=/usr/X11R6/lib
                                USR_LOCAL_LIB=/usr/local/lib
                                export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LI B:$X11_LIB:$USR_LOCAL_LIB

                                # TCL_LIBRARY
                                TCL_LIB=/your/path/ns-allinone-2.31/tcl8.4.14/library
                                USR_LIB=/usr/lib
                                export TCL_LIBRARY=$TCL_LIB:$USR_LIB

                                # PATH
                                XGRAPH=/your/path/ns-allinone-2.31/bin:/your/path/ns-allinone-2.31/tcl8.4.14/unix:/your/path/ns-allinone-2.31/tk8.4.14/unix
                                NS=/your/path/ns-allinone-2.31/ns-2.31/
                                NAM=/your/path/ns-allinone-2.31/nam-1.13/
                                PATH=$PATH:$XGRAPH:$NS:$NAM

                                với your/path là đường dẫn

                                rồi mình nhập: source ~/.bashrc --> để thay đổi có tác dụng ngay nhưng terminal lại hiện ra dòng chữ: command not found
                                Vì vậy mình đành restart máy để thay đổi có tác dụng.
                                Nhưng khi restart xong vào nhập ns vào terminal thì có dòng chữ xuất hiện báo ns hiện chưa được cài đặt.

                                Bạn nào giúp mình với, mình đang rất vội, 7 ngày nữa nộp đồ án rồi >.<

                                Comment

                                Working...
                                X