1 / 19

Systematic Experimentation Case Study: Virtual Router Failure Restoration

Systematic Experimentation Case Study: Virtual Router Failure Restoration. Xuan Liu UMKC/GENI Project Office. Motivation. Design Failure Restoration Scheme. Design Optimization Model. Virtual network . Complex Topology requires systematic experimentation setup.

adonia
Download Presentation

Systematic Experimentation Case Study: Virtual Router Failure Restoration

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systematic Experimentation Case Study:Virtual Router Failure Restoration Xuan Liu UMKC/GENI Project Office

  2. Motivation Design Failure Restoration Scheme Design Optimization Model Virtual network Complex Topology requires systematic experimentation setup Find the optimal Standby Virtual Router Heuristic Algorithm Deploy Experiments On GENI Collect Data (bw, delay, etc) Goal: Dynamically recover multiple virtual router failures using standby virtual routers in a virtual network environment.

  3. Prior Work • Experimental Study on GpENITestbed • Test the conceptual dynamic reconfiguration scheme for virtual router failure restoration • Lessons learned • The proposed scheme is practical in a distributed network • Substrate network topology has impact to the delay between virtual nodes GpENI Network: US Sites GpENI Network: European Sites

  4. Why Choosing GENI Testbed • A distributed virtual network testbed is desired to deploy the heuristic multi-criteria S-VR selection algorithm, so that the impact to the virtual networks can be better understood • GENITestbedprovides such capabilities. • Geographically distributed • Customized software installation on VMs is allowed • Arbitrary virtual topology creation • Backbone topology is more general GpENI Network GENI Network

  5. Target Topology on GENI Stitched Links between aggregates Virtual Routers End Hosts LANs within single aggregates (Colors shows different geographical locations)

  6. Systematic Experimentation Design Install Software on One Node Use Smallest Topology Automate Measurement Automate Experimental Configuration End-to-End Validation Increases nodes/sites Scaling Up • Important Tips: • Make One Change at A Time • Version Control

  7. Case Study#1 Install Software on One Node MANUAL Install XORP (took > 1 hour) AUTOMATE Create custom image • Download XORP software • Install all required dependences • $apt-get install libssl-dev • $apt-get install ncurses-dev • $apt-get install libpcap-dev • $apt-get install g++ • $apt-get install traceroute • $apt-get install scons • Compile XORP • Build XORP • $sudogroupaddxorp Install XORP on one Node Create Custom image VM router Load the URL of the Custom image Save the URL to the Custom Image How to Create Custom Image: http://groups.geni.net/geni/wiki/HowTo/ManageCustomImagesInstaGENI

  8. Case Study#2 Automate Configuration Starts with smallest reasonable topology MANUAL Configure OSPF and starts XORP AUTOMATE: Configures OSPF and starts XORP router Get Familiar with the Syntax of the Configuration File Write Shell Script to Automate OSPF Configuration Procedure router router router Validate the OSPF Routing in the Topology Load the Automation Script as a Postboot Script in Flack to each VM router • One pair of nodes are not adjacent • Each node has at least two interfaces

  9. Case Study#3 End-to-end Validation Manually Install Iperf to client/server Add Client and Server Validate End-to-End Communication router router router router router router client server Take similar procedure in step #2 to automate iperf installation using a postboot script. router router

  10. Case Study#4 Measurement • Track routing table updates • MANUAL Script to track routing table updates • AUTOMATE Periodically Capture Routing table • Tracking routing table updates by killing XORP process (mimic virtual router failure) • Tracking the routing table changes using terminal • Display graphs of routing table changes using Labwiki • Followed step #1 to create a new custom image with both LabWiki and XORP installed. router router router client server router

  11. Case Study#3 End-to-End Validation Outputs from the server: router-1 router-2 router client server router-3

  12. Case Study#5 Scaling up • Scale to more aggregates TOPOLOGYStitch between 2/3 aggregates TEST Repeat earlier tests router router router client client router router router server router server router

  13. Case Study#5 Scaling up Single Aggregate: Multiple Aggregates with Stitched Links:

  14. Case Study#5 Scaling Up • Scale nodes at aggregate TOPOLOGYAdd more routers and links TEST Repeat earlier tests client router client router router server server router router router router router router router router

  15. Traceroute from server to client client Iperf TCP test outputs from server server router-3 router-1 router-2 router-4 router-7 router-6 router-5

  16. Case Study#5 Scaling Up Display the routing table update from three routers over time in Labwiki

  17. Case Study#5 Scaling Up • Scaling up at both dimensions (nodes and aggregates) client router router router client client router To be done server router router router router router router router router router server router server router

  18. Lessons Learned / Best Practices • Lessons Learned • Learn tool first. Then use in experiment. • Underlying physical topology • Experience with GENI rack • Challenges with debugging postboot script execution • Always start with a small postboot script execution • Easy to get help from geni-user group mailing list • Best Practices • Version control • Software • Scripts • RSpec • Keep the RSpec (both request and manifest RSpec) at each step, so we can track the updates/errors

  19. Demo

More Related