emulation in ns n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Emulation in ns PowerPoint Presentation
Download Presentation
Emulation in ns

Loading in 2 Seconds...

play fullscreen
1 / 13

Emulation in ns - PowerPoint PPT Presentation


  • 137 Views
  • Uploaded on

Emulation in ns. Alefiya Hussain. What is Emulation ?. Ability to introduce the simulator into a live network Application: Allows testing real-world implementations Allows testing simulated protocols Requirements: Scheduler support Packet capture and generation capabilities .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Emulation in ns' - etoile


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
emulation in ns

Emulation in ns

Alefiya Hussain

what is emulation
What is Emulation ?
  • Ability to introduce the simulator into a live network
  • Application:
    • Allows testing real-world implementations
    • Allows testing simulated protocols
  • Requirements:
    • Scheduler support
    • Packet capture and generation capabilities

ns Tutorial 2002

scheduler
Scheduler
  • ns operates in virtual time using event- driven simulation
  • Real-time scheduler
    • Does not advance the virtual clock to next event
    • Dispatches event at real-time

ns Tutorial 2002

emulation objects
Emulation Objects
  • Interface between ns and network traffic
  • Network Objects

Access to live network via

BPF and raw sockets

  • Tap Objects

Conversion between ns and

network packet formats

Capture: BPF

network to ns

ns

ns to network

Inject: Raw socket

ns Tutorial 2002

modes of operation
Modes of Operation
  • Packet conversion leads to two modes of operation
  • Opaque Mode

Network packet fields are not interpreted

  • Protocol Mode
    • Network packet is interpreted
      • TTL values reflect hop count in simulator
    • Network packet fields are generated
      • Ping responder, TCP application

ns Tutorial 2002

opaque mode

Extern

Source

Destination

Size

Opaque Mode
  • Network packet is passed unmodified through simulator

Source

Destination

Size

Ns packet contains a pointer to the network packet

Data

ns

Read packets

Write packets

Network Packet

Network

ns Tutorial 2002

protocol mode

Source

Source

Destination

Destination

Size

Size

Protocol Mode
  • Network packet fields are generated by the simulator

Host A

Host B

TCP Agent

TCP

Application

Data

The ns packet header is mapped onto the network packet header and visa versa .

ns

Network Packet

Send/receive packets from application

Send/receive packets from ns

Network

ns Tutorial 2002

applications
Applications
  • Opaque Mode
    • Cross-traffic interaction leading to drop, delay and re-ordering of packets
    • End to End application testing
  • Protocol Mode
    • Protocol and conformance testing
    • Evaluate effect of DDoS attacks
    • Wireless networks

ns Tutorial 2002

example setup
Example: Setup

Goal: Make a ns TCP agent interact with a TCP server

B 192.168.1.2 port 8000

A 192.168.1.1

nse

TCP server

  • Disable IP forwarding

sysctl –w net.inet.ip.forwarding=0

  • Assign 10.0.0.1 and 6000 to TCP agent
  • Add route to dummy IP address

route add 10.0.0.1 192.168.1.1

  • Disable IP redirects

sysctl –w net.inet.ip.redirect=0

Switch

ns Tutorial 2002

example script

TCPTap

BPF

TCPTap

RawSocket

Example Script

Activate ns and

Change to real-time scheduler

set ns [new Simulator]

$ns use-scheduler RealTime

set entry_node [$ns node]

set tcp_node [$ns node]

$ns duplex-link $entry_node \

$tcp_node 10Mb 1ms DropTail

set tcp [new Agent/TCP/FullTcp]

$ns attach-agent $tcp_node $tcp

Create topology

Create TCP Agent

TCP Agent

tcp_node

entry_node

ns Tutorial 2002

example script1
Example Script

set bpf [new Network/Pcap/Live]

set dev [$bpf open readonly eth0]

$bpf filter "src 192.168.1.2 and src port 8000 \

and dst 10.0.0.1 and dst port 6000“

set capture_tap [new Agent/TCPTap]

$capture_tap network $bpf

$ns attach-agent $entry_node $capture_tap

$ns simplex-connect $capture_tap $tcp

set rawsocket [new Network/IP]

$rawsocket open writeonly

set inject_tap [new Agent/TCPTap]

$inject_tap advertised-window 512

$inject_tap extipaddr “192.168.1.2"

$inject_tap extport 8000

$inject_tap network $rawsocket

$ns attach-agent $entry_node $inject_tap

$ns simplex-connect $tcp $inject_tap

TCP Agent

tcp_node

CaptureTap

InjectTap

entry_node

BPF

RawSocket

ns Tutorial 2002

example script2
Example Script

$ns at 0.01 "$tcp advance 1"

$ns at 20.0 “exit 0"

$ns run

start nse

A 192.168.1.1

B 192.168.1.2

TCP Agent

TCP Server

(8000)

BPF

Raw Socket

ns Tutorial 2002

Switch

further information
Further Information
  • http://www.isi.edu/nsnam/ns/ns-emulation.html
  • Scripts ~ns/emulate

Opaque Mode:

      • em.tcl

Protocol Mode

      • thrutcp.tcl
      • pingdemo.tcl
      • tcpemu.tcl
  • Kevin Fall, Network Emulation in the Vint/NS Simulator, ISCC July 1999

ns Tutorial 2002