Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bridging the Gap: Turning a Network Simulation into an Emulation Mac Newbold.

Similar presentations


Presentation on theme: "Bridging the Gap: Turning a Network Simulation into an Emulation Mac Newbold."— Presentation transcript:

1 Bridging the Gap: Turning a Network Simulation into an Emulation Mac Newbold

2 Motivation: Simulation Benefits: Benefits:  Easy to use  Quick development  Low cost Drawbacks: Drawbacks:  Results are only as accurate as the simulator model of the world  May help develop working protocol, but no working “real world” implementation

3 Motivation: Emulation Benefits: Benefits:  Can be perfectly accurate  It is the real world  Uses real implementations  Develop/test protocol and implementation simultaneously Drawbacks: Drawbacks:  Needs real hardware  Purchase, configure, maintain, etc.  Harder to program, debug, reconfigure

4 Motivation: Goals Simulation and emulation are both becoming easier to use Simulation and emulation are both becoming easier to use Still usually mutually exclusive Still usually mutually exclusive  Choose one or the other, and stick with it Our Goals: Our Goals:  Bring simulation and emulation closer  Easier transition from one to the other  Take advantage of all the benefits  Eliminate the drawbacks

5 Current State of the Art Most network simulations use NS Most network simulations use NS  A.k.a. NS-2  Stable, well-known, widely used  Has limited emulation capabilities Emulation platforms are being developed Emulation platforms are being developed  Many small one-time do-it-yourself testbeds  Utah Network Testbed  Hardware provided, easy configuration  Uses NS simulator scripts as input  Flexible, customizable

6 Plan of Attack Use NS simulator scripts to drive automatic traffic generation in the Testbed Use NS simulator scripts to drive automatic traffic generation in the Testbed  Plan A: Using NS emulation  Plan B: Using other traffic generators Plan A Results: Plan A Results:  NSE (NS-emulator) was very difficult to use  Not even the scripts that came with ns worked  Declared to be infeasible Move on to Plan B Move on to Plan B

7 Design Plan: Take ns scripts as input, and configure a traffic generator to do the same thing that ns would have done Plan: Take ns scripts as input, and configure a traffic generator to do the same thing that ns would have done Testbed supplies traffic generation OSKit kernels (send, consume, request, reply) Testbed supplies traffic generation OSKit kernels (send, consume, request, reply) Most common ns traffic (and most useful in the Testbed) is CBR/UDP (constant bit rate) Most common ns traffic (and most useful in the Testbed) is CBR/UDP (constant bit rate) Goal: Find CBR/UDP in ns script, and configure send/consume to emulate it Goal: Find CBR/UDP in ns script, and configure send/consume to emulate it

8 Results Added functionality to the Testbed that Added functionality to the Testbed that  Parses the ns script, getting all necessary traffic generation information  Outputs Testbed commands to correctly configure the kernels on the right nodes Works great! Works great! And now, an example: And now, an example: We took an ns script with CBR/UDP traffic and ran it on the Testbed… Seamlessly! We took an ns script with CBR/UDP traffic and ran it on the Testbed… Seamlessly!

9 Start with the NS script set ns [new Simulator] set send [$ns node] set consume [$ns node] set router [$ns node] set client [$ns node] set server [$ns node] $ns duplex-link $send $router 100Mb 1ms DropTail $ns duplex-link $router $consume 100Mb 1ms DropTail $ns duplex-link $client $router 100Mb 1ms DropTail $ns duplex-link $router $server 100Mb 1ms DropTail # Insert Testbed commands here to turn on routing in # the router node and to add routes to client/server

10 End with the NS script #Create a UDP agent and attach it to node send set udp0 [new Agent/UDP] $ns attach-agent $send $udp0 # Create a CBR traffic source and attach it to udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ 1024 $cbr0 set rate_ 100Mbps $cbr0 attach-agent $udp0 # Create a null agent to consume, and connect them set null0 [new Agent/Null] $ns attach-agent $consume $null0 $ns connect $udp0 $null0 $ns at 0.00001 "$cbr0 start" $ns at 0.04900 "$cbr0 stop" $ns run

11 NS Simulation Topology

12 Demonstration We log into the Testbed We log into the Testbed Fill out the form Fill out the form Let the nodes reboot, and we’re ready Let the nodes reboot, and we’re ready On the router node: On the router node:  Check for automatic traffic On the client node: On the client node:  Try sending a lot of packets to the server (through the bottleneck router)  See how many get clobbered

13 Conclusions The automatic configuration of traffic generation in an emulated environment, based on simulated traffic, is a very useful way to bring simulation and emulation closer together. The automatic configuration of traffic generation in an emulated environment, based on simulated traffic, is a very useful way to bring simulation and emulation closer together. This functionality is now present in the Utah Network Testbed (www.emulab.net) This functionality is now present in the Utah Network Testbed (www.emulab.net)


Download ppt "Bridging the Gap: Turning a Network Simulation into an Emulation Mac Newbold."

Similar presentations


Ads by Google