emulation in ns
play

Emulation in ns Presented by Alefiya Hussain What is Emulation - PowerPoint PPT Presentation

Emulation in ns Presented by 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


  1. Emulation in ns Presented by Alefiya Hussain

  2. 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 2

  3. 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 3

  4. Emulation Objects � Interface between ns Capture: BPF and network traffic network to ns � Network Objects Access to live network via ns BPF and raw sockets � Tap Objects Conversion between ns and ns to network network packet formats Inject: Raw socket ns Tutorial 2002 4

  5. Modes of Operation � Packet conversion leads to two modes of operation � Opaque Mode Network packet fields are not interpreted by ns � Protocol Mode � Network packet is interpreted � TTL values reflect hop count in simulator � Network packet fields are generated � Echo responder, TCP application ns Tutorial 2002 5

  6. Opaque Mode � Network packet is passed unmodified through simulator Extern Source Destination Source Size Destination Size Ns packet contains a pointer to the network packet ns Data Read packets Write packets Network Packet Network ns Tutorial 2002 6

  7. Protocol Mode � Network packet fields are generated by the simulator Host A Host B Source Source TCP Agent Destination Destination Size Size TCP Application The ns packet Data header is mapped onto the network packet ns header and visa Network Packet versa . Send/receive Send/receive packets from packets from application ns Network ns Tutorial 2002 7

  8. 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 ns TCP server � Disable IP forwarding � Add route to dummy IP address sysctl –w net.inet.ip.forwarding= 0 � Assign 10.0.0.1 and 6000 route add 10.0.0.1 192.168.1.1 � Disable IP redirects to TCP agent Switch sysctl –w net.inet.ip.redirect= 0 ns Tutorial 2002 8

  9. Example Script set ns [new Simulator] Activate ns and $ns use-scheduler RealTime Change to real-time scheduler set entry_node [$ns node] set tcp_node [$ns node] Create topology $ns duplex-link $entry_node \ $tcp_node 10Mb 1ms DropTail set tcp [new Agent/TCP/FullTcp] Create TCP Agent $ns attach-agent $tcp_node $tcp TCP Agent TCPTap+ BPF TCPTap+ RawSocket ns Tutorial 2002 9

  10. Example Script set capture_tap [new Agent/TCPTap]; set bpf [new Network/Pcap/Live]; set dev [$bpf open readonly eth0] Capture & $bpf filter "src 192.168.1.2 and src port 8000 \ convert to and dst 10.0.0.1 and dst port 6000" $capture_tap network $bpf; ns format $ns attach-agent $entry_node $capture_tap; $ns simplex-connect $capture_tap $tcp set inject_tap [new Agent/TCPTap]; set ipnet [new Network/IP]; $ipnet open writeonly Convert to $inject_tap network $ipnet; $inject_tap advertised-window 512 network $inject_tap extipaddr “192.168.1.2" format & $inject_tap extport 8000 inject $ns attach-agent $entry_node $inject_tap; ns Tutorial 2002 $ns simplex-connect $tcp $inject_tap 10

  11. Example Script $ns at 0.01 "$tcp advance 1" start ns $ns at 20.0 “exit 0" $ns run A 192.168.1.1 B 192.168.1.2 TCP Agent TCP Server (8000) BPF Raw Socket ns Tutorial 2002 11 Switch

  12. 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 12

  13. 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 � Fall K., Network Emulation in the Vint/NS Simulator , ISCC Jul 1999 ns Tutorial 2002 13

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend