SlideShare a Scribd company logo
Quan Bui Tien
                           CS Course 51
Center for Training of Talented Engineers
         Hanoi University of Technology
                          Hanoi, Vietnam
1.        Overview
2.        NS2-Architecture
3.        NS2- main component
     1.    Simulaton-related Object
     2.    Network Object.
     3.    Packet-related Object.
     4.    Helper Object
4.        NS2-wireless simulation
   Ns2- Network Simulation version 2
   Là một công cụ sử dụng để mô phỏng mạng trên nền hê
    điều hành mã nguồn mở Linux.
   Được phát triển từ những năm 1995 bởi nhóm DARPA
    trong một dự án mang tên : VINT.
   Phổ biến trong các nghiên cứu khoa học về mạng.
sim

tcl8.0    tk8.0    otcl        Tcl         ns-2              nam-1

                        tcl code                       C++ code
                                     tcl         ...
         example
                   ex         test         lib         ...
                   validation test           tcl code core
   NS2 simulation steps:


                               Configure and
       Simulation Design                              Evaluation
                                 Running



    ◦ Simulation design : scenario, perfomance result, type of expected
      result.
    ◦ Configure and running simulation: network configure,
      implementation.
    ◦ Evaluating the perfomance result : analyze result
   set ns [ new Simulator ]
        set n0 [ $ns node]
        set n1 [ $ns node]
        $ns duplex-link $n0 $n1 5mbps 2ms Droptail
        set tcp0 [ new Agent / TCP]
        $ns attach-agent $n0 $tcp0
        set ftp0 [ new Application / Traffic / FTP]
        $ftp0 attach-agent $tcp0        ftp

        set null0 [ new Agent / Null]         tcp           null

        $ns attach-agent $n1 $null0
                                                     0   1
        $ns connect $tcp0 $null0                        n
                                                         1
        $ns at 1.0 " $ftp0 start "
        $ns at 4.0 " $ftp0 stop "
Introduction ns2
Introduction ns2
Basic architecture
   NS2 sử dụng đồng thời 2 ngôn ngữ lập trình hướng đối
    tượng Otcl và C++.
   C++ : Định nghĩa các packet, đối tượng.
   Otcl : Điều khiển quá trình mô phỏng, thực thi nó.
                       Event Scheduler    NS


                              TclCL




                                         Components
                                           Network
                         OTcl

                        Tcl

                                C++
   Mô phỏng giao thức chi tiết yêu cầu ngôn ngữ lập
    trình hệ thống
    ◦ Thao tác trên byte, xử lý gói, thực thi thuật toán
    ◦ Tốc độ thời gian thực là quan trọng nhất
   Thực hiện bất kỳ việc gì mà cần phải xử lý tứng
    packet của một luồng.
   Thay đổi hành vi của lớp C++ đang tồn tại theo
    những hướng đã không được lường trước.
   Mô phỏng những thông số hay cấu hình thay đổi
    ◦ Tham dò nhanh một số tình huống
    ◦ Thời gian tương tác (thay đổi mô hình hay chạy lại) là quan
      trọng
   Cấu hình, thiết lập hay những gì chỉ làm một lần.
   Thực hiện những cái ta muốn bằng cách thao tác trên
    các đối tượng C++ đang tồn tại.
Introduction ns2
Introduction ns2
1.   Simulaton-related Object
2.   Network Object.
3.   Packet-related Object.
4.   Helper Object.
   Các đối tượng này được sử dụng để điều khiển trong
    suốt quá trình mô phỏng.
   Thực chất của việc điều khiển này là lập lịch và thực
    thi các event ( sự kiện ). NS2 sử dụng cơ chế : Discrete-
    Event Simulation.
time_, uid_, next_, handler_

       head_ ->

                               handler_ -> handle()



                      insert   time_, uid_, next_, handler_

   $ns at 0.5 “$ftp start”
   $ns at 4.5 “$ftp stop”
   $ns run
   4 đối tượng điển hình của nhóm các đối tượng điều
    khiển này là :
    ◦   Simulator :   set ns [new Simulator]
    ◦   Event :
    ◦   Handler :
    ◦   Scheduler:
   Node
   Mobile node
   Connector
   Link
   Packet
   Là đối tượng cơ bản, là cách
    biểu diễn các đối tượng mạng
    như host, router… trong quá
    trình mô phỏng.
   Node giữ 2 vai trò quan trọng
    trong NS2:
    ◦ Router
    ◦ Host
   Node architecture
                        n0                               n1


                    Port                             Port
                  Classifier                       Classifier
           Addr                             Addr
         Classifier                       Classifier
                  0      dmux_                    1       dmux_
entry_            1              entry_           0
          classifier_                      classifier_
   Được định nghĩa trong ns2/common/node {.h,.cc}.
   Mọi node đều định nghĩa:
    ◦   Address hoặc id (address_, id_)
    ◦   Danh sách node láng giềng. ( neghbor_list_).
    ◦   Danh sách các agent (agent_).
    ◦   Kiểu node (nodetype_).
    ◦   Module định tuyến.
Introduction ns2
   Thực thi các thao tác, nhận,
    gửi, chuyển tiếp các gói tin.
   Là lớp cơ sở cho các lớp
    quan trọng liên quan đến
    links, delaylinks, agent,
    trace…
Introduction ns2
Introduction ns2
n1
                                                    entry_
head_

        enqT_   queue_      deqT_    link_   ttl_




                drophead_    drpT_
Introduction ns2
Introduction ns2
Introduction ns2
   Các giao thức trong Ns2 đều được thể hiện dưới các
    Agents
   Các agent kết hợp với các thành phần khác để tạo thành
    một đối tượng node mạng hoàn chỉnh.
   Các giao thức ứng dụng : http (httpAgent), telnet
    (telnetAgent)…
   Các giao thức chuyển vận: tcp (TCPAgent),
    udp(UDPAgent)…
   Các giao thức định tuyến : GPSR, LEACH..
   Các hàm quan trọng :
    ◦ recv()
    ◦ send()
    ◦ command()
   Mobile node.
   Different simulation node and real node.
   Kế thừa từ class NODE.
   Consist :
    ◦   Link Layer (LL)
    ◦   ARP module connected to LL
    ◦   Interface priority queue (IFq)
    ◦   MAC layer (MAC)
    ◦   Network Interface (netIF)
Node config
Introduction ns2

More Related Content

PPT
Baigiang Ns2
PDF
Dsd05 02b-json-rpca
PDF
Tiểu Luận Tìm Hiểu NS2 Và Demo
PDF
Dsd05 02a-xml-rpca
PDF
Phân tích Confuser 1.9.0.0 - method proxy confusion - Bản dịch
PDF
Bai 4 lap trình phia client
PPT
Bao Cao Mang
PDF
Bai5 dsachlket
Baigiang Ns2
Dsd05 02b-json-rpca
Tiểu Luận Tìm Hiểu NS2 Và Demo
Dsd05 02a-xml-rpca
Phân tích Confuser 1.9.0.0 - method proxy confusion - Bản dịch
Bai 4 lap trình phia client
Bao Cao Mang
Bai5 dsachlket

What's hot (6)

PPT
Virtual cluster thesis
PDF
Bai tap lap trinh mang(1)
PPTX
Threads - Lập trình hệ thống IT4786
DOCX
Tổng hợp nè
PDF
Hướng dẫn deobfuscate DotnetPatcher 3.1 - Bài dịch
PDF
Lt socket
Virtual cluster thesis
Bai tap lap trinh mang(1)
Threads - Lập trình hệ thống IT4786
Tổng hợp nè
Hướng dẫn deobfuscate DotnetPatcher 3.1 - Bài dịch
Lt socket
Ad

Similar to Introduction ns2 (20)

PDF
Snm ptoantap diep_thanhnguyen_-chuong3
PDF
Linux thietlaphethongmangubunt-45879
PPTX
Bảo mật dữ liệu
PPT
Vhdl
PDF
Security Bootcamp 2013 penetration testing (basic)
PDF
OOP_02_Java can ban.pdf
PDF
Dsd05 01-rpca
PDF
01 ngon ngu_c#_phan_1
PDF
01 ngon ngu_c#_phan_1
PPT
Cain & abel
PDF
SV_2023_KTLT_01a_Mang-2-chieu.pdfSlide lap trinh web sieu nang cao provip
PDF
Slide lap trinh web sieu nang cao provip
PDF
B3_10_2024_VHT_Cloud_Native_(Kubernetees_Basic__Practice).pdf
PPT
Vhdl Slides
PPTX
THỰC HÀNH XỬ LÝ TÍN HIỆU SỐ [Autosaved].pptx
PDF
OpenWIPS-ng report Vietnamese
PDF
Slides Lập trình mạng
PDF
Tìm hiểu về NodeJs
PPTX
Report
PPTX
Phan 1 sv
Snm ptoantap diep_thanhnguyen_-chuong3
Linux thietlaphethongmangubunt-45879
Bảo mật dữ liệu
Vhdl
Security Bootcamp 2013 penetration testing (basic)
OOP_02_Java can ban.pdf
Dsd05 01-rpca
01 ngon ngu_c#_phan_1
01 ngon ngu_c#_phan_1
Cain & abel
SV_2023_KTLT_01a_Mang-2-chieu.pdfSlide lap trinh web sieu nang cao provip
Slide lap trinh web sieu nang cao provip
B3_10_2024_VHT_Cloud_Native_(Kubernetees_Basic__Practice).pdf
Vhdl Slides
THỰC HÀNH XỬ LÝ TÍN HIỆU SỐ [Autosaved].pptx
OpenWIPS-ng report Vietnamese
Slides Lập trình mạng
Tìm hiểu về NodeJs
Report
Phan 1 sv
Ad

Introduction ns2

  • 1. Quan Bui Tien CS Course 51 Center for Training of Talented Engineers Hanoi University of Technology Hanoi, Vietnam
  • 2. 1. Overview 2. NS2-Architecture 3. NS2- main component 1. Simulaton-related Object 2. Network Object. 3. Packet-related Object. 4. Helper Object 4. NS2-wireless simulation
  • 3. Ns2- Network Simulation version 2  Là một công cụ sử dụng để mô phỏng mạng trên nền hê điều hành mã nguồn mở Linux.  Được phát triển từ những năm 1995 bởi nhóm DARPA trong một dự án mang tên : VINT.  Phổ biến trong các nghiên cứu khoa học về mạng.
  • 4. sim tcl8.0 tk8.0 otcl Tcl ns-2 nam-1 tcl code C++ code tcl ... example ex test lib ... validation test tcl code core
  • 5. NS2 simulation steps: Configure and Simulation Design Evaluation Running ◦ Simulation design : scenario, perfomance result, type of expected result. ◦ Configure and running simulation: network configure, implementation. ◦ Evaluating the perfomance result : analyze result
  • 6. set ns [ new Simulator ]  set n0 [ $ns node]  set n1 [ $ns node]  $ns duplex-link $n0 $n1 5mbps 2ms Droptail  set tcp0 [ new Agent / TCP]  $ns attach-agent $n0 $tcp0  set ftp0 [ new Application / Traffic / FTP]  $ftp0 attach-agent $tcp0 ftp  set null0 [ new Agent / Null] tcp null  $ns attach-agent $n1 $null0 0 1  $ns connect $tcp0 $null0 n 1  $ns at 1.0 " $ftp0 start "  $ns at 4.0 " $ftp0 stop "
  • 10. NS2 sử dụng đồng thời 2 ngôn ngữ lập trình hướng đối tượng Otcl và C++.  C++ : Định nghĩa các packet, đối tượng.  Otcl : Điều khiển quá trình mô phỏng, thực thi nó. Event Scheduler NS TclCL Components Network OTcl Tcl C++
  • 11. Mô phỏng giao thức chi tiết yêu cầu ngôn ngữ lập trình hệ thống ◦ Thao tác trên byte, xử lý gói, thực thi thuật toán ◦ Tốc độ thời gian thực là quan trọng nhất  Thực hiện bất kỳ việc gì mà cần phải xử lý tứng packet của một luồng.  Thay đổi hành vi của lớp C++ đang tồn tại theo những hướng đã không được lường trước.
  • 12. Mô phỏng những thông số hay cấu hình thay đổi ◦ Tham dò nhanh một số tình huống ◦ Thời gian tương tác (thay đổi mô hình hay chạy lại) là quan trọng  Cấu hình, thiết lập hay những gì chỉ làm một lần.  Thực hiện những cái ta muốn bằng cách thao tác trên các đối tượng C++ đang tồn tại.
  • 15. 1. Simulaton-related Object 2. Network Object. 3. Packet-related Object. 4. Helper Object.
  • 16. Các đối tượng này được sử dụng để điều khiển trong suốt quá trình mô phỏng.  Thực chất của việc điều khiển này là lập lịch và thực thi các event ( sự kiện ). NS2 sử dụng cơ chế : Discrete- Event Simulation.
  • 17. time_, uid_, next_, handler_ head_ -> handler_ -> handle() insert time_, uid_, next_, handler_  $ns at 0.5 “$ftp start”  $ns at 4.5 “$ftp stop”  $ns run
  • 18. 4 đối tượng điển hình của nhóm các đối tượng điều khiển này là : ◦ Simulator : set ns [new Simulator] ◦ Event : ◦ Handler : ◦ Scheduler:
  • 19. Node  Mobile node  Connector  Link  Packet
  • 20. Là đối tượng cơ bản, là cách biểu diễn các đối tượng mạng như host, router… trong quá trình mô phỏng.  Node giữ 2 vai trò quan trọng trong NS2: ◦ Router ◦ Host
  • 21. Node architecture n0 n1 Port Port Classifier Classifier Addr Addr Classifier Classifier 0 dmux_ 1 dmux_ entry_ 1 entry_ 0 classifier_ classifier_
  • 22. Được định nghĩa trong ns2/common/node {.h,.cc}.  Mọi node đều định nghĩa: ◦ Address hoặc id (address_, id_) ◦ Danh sách node láng giềng. ( neghbor_list_). ◦ Danh sách các agent (agent_). ◦ Kiểu node (nodetype_). ◦ Module định tuyến.
  • 24. Thực thi các thao tác, nhận, gửi, chuyển tiếp các gói tin.  Là lớp cơ sở cho các lớp quan trọng liên quan đến links, delaylinks, agent, trace…
  • 27. n1 entry_ head_ enqT_ queue_ deqT_ link_ ttl_ drophead_ drpT_
  • 31. Các giao thức trong Ns2 đều được thể hiện dưới các Agents  Các agent kết hợp với các thành phần khác để tạo thành một đối tượng node mạng hoàn chỉnh.  Các giao thức ứng dụng : http (httpAgent), telnet (telnetAgent)…  Các giao thức chuyển vận: tcp (TCPAgent), udp(UDPAgent)…  Các giao thức định tuyến : GPSR, LEACH..
  • 32. Các hàm quan trọng : ◦ recv() ◦ send() ◦ command()
  • 33. Mobile node.  Different simulation node and real node.
  • 34. Kế thừa từ class NODE.  Consist : ◦ Link Layer (LL) ◦ ARP module connected to LL ◦ Interface priority queue (IFq) ◦ MAC layer (MAC) ◦ Network Interface (netIF)