1 / 39

Tutorial: Bringing Experimenters to GENI with the Transit Portal

Tutorial: Bringing Experimenters to GENI with the Transit Portal. Vytautas Valancius, Hyojoon Kim, Nick Feamster Georgia Tech. Agenda. Motivation: Custom routing for each experiment Demonstration How you can connect to Transit Portal Experiment Ideas Anycast Service Migration

zalika
Download Presentation

Tutorial: Bringing Experimenters to GENI with the Transit Portal

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. Tutorial: Bringing Experimenters to GENI with the Transit Portal Vytautas Valancius, Hyojoon Kim, Nick FeamsterGeorgia Tech

  2. Agenda • Motivation: Custom routing for each experiment • Demonstration • How you can connect to Transit Portal • Experiment Ideas • Anycast • Service Migration • Flexible Peering • Using Transit Portal in Education • Example problem set • Summary and Breakout Ideas

  3. Session Networks Use BGP to Interconnect Autonomous Systems Route Advertisement Traffic

  4. Virtual Networks Need BGP Too • Strawman • Default routes • Public IP address • Problems • Experiments may needto see all upstream routes • Experiments may needmore control overtraffic • Need “BGP” • Setting up individualsessions is cumbersome • …particularly for transient experiments ISP 2 ISP 1 BGP Sessions GENI

  5. Route Control Without Transit Portal • Obtain connectivity to upstream ISPs • Physical connectivity • Contracts and routing sessions • Obtain the Internet numbered resources from authorities • Expensive and time-consuming!

  6. Route Control with Transit Portal Experiment Facility Internet ISP1 Virtual Router A Transit Portal Virtual Router B Experiment 1 ISP2 Full Internet route control to hosted cloud services! Routes Experiment 2 Packets

  7. Connecting to the Transit Portal • Separate Internet router for each service • Virtual or physical routers • Links between service router and TP • Each link emulates connection to upstream ISP • Routing sessions to upstream ISPs • TP exposes standard BGP route control interface

  8. Basic Internet Routing with TP • Experiment with two upstream ISPs • Experiment can re-route traffic over one ISP or the other, independently of other experiments ISP 2 ISP 1 BGP Sessions Traffic Transit Portal Virtual BGP Router Interactive Cloud Service

  9. Current TP Deployment • Server with custom routing software • 4GB RAM, 2x2.66GHz Xeon cores • Three active sites with upstream ISPs • Atlanta, Madison, and Princeton • A number of active experiments • BGP poisoning (University of Washington) • IP Anycast (Princeton University) • Advanced Networking class (Georgia Tech)

  10. Demonstration of Transit Portal

  11. Demonstration Setup Looking-glass Server Client network: 168.62.21.0/24 route-server.ip.att.net Transit Portal Virtual Router Traceroute VPN Tunneling GT (AS 2637) Public AS 47065 Private AS 65002 : BGP connectivity

  12. How You Can Connect to Transit Portal • Pick a device which will be the virtual router (Linux) • Request for needed resources & provide information • For tunneling: CA certificate, client certificate & key • Get prefixes that the client will announce • Make tunneling connection with Transit Portal • Set up BGP daemon in virtual router (e.g. Quagga) • Make proper changes to routing table if necessary • Check BGP announcements & connectivity (BGP table)... and you are good to go!

  13. Steps for Connecting to Transit Portal • Setting up virtual machines • Tunneling to the TP: Installing OpenVPN • Getting routes: Setting up BGP • Forwarding traffic: Setting up the data plane • Testing connectivity: Traceroute

  14. Tunneling to the Transit Portal • Install OpenVPN Client • Set up OpenVPN Connectivity (currently manual) • Get key pair from Transit Portal operator(Valas Valancius) • Determine IP address of tunnel endpoint • Notify operator of tunnel endpoint IP address • Test connectivity (e.g., ping TP tunnel endpoint)

  15. Sample OpenVPN Configuration # OpenVPN config file client dev tun proto tcp remote 143.215.254.26 6000 nobind persist-key persist-tun # certification part ca ca.crt cert nick.crt key nick.key

  16. Discovering Internet Routes • Install Quagga software router • Download configuration template from GENI wiki • Modify template with tunnel endpoint IP addresses • Run bgpd and zebrad • Check Linux kernel routing tables for routes • Advertising routes: Need IP prefix (we have some)

  17. Example Quagga Configuration zebra configuration bgpd configuration ! hostname kendall password XXXXX ! router bgp 65003 bgp router-id 168.62.21.15 network 168.62.20.0/24 neighbor 168.62.21.1 remote-as 2637 ! access-list vty permit 127.0.0.1/32 ! line vty access-class vty ! hostname kendall password crazymux access-list vty permit 127.0.0.1/32 !

  18. Setting Up Traffic Forwarding • Give some machine in your testbed an address within the IP prefix • Configure “gateway” to route traffic for that IP address to the appropriate location

  19. Experiments Using Transit Portal

  20. Experiment 1: IP Anycast • Internet services require fast name resolution • IP anycast for name resolution • DNS servers with the same IP address • IP address announced to ISPs in multiple locations • Internet routing converges to the closest server • Available only to large organizations

  21. IP Anycast • Host service at multiple locations (e.g., on ProtoGENI) • Direct traffic to one instance of the service or another using anycast Asia North America ISP1 ISP2 ISP3 ISP4 Transit Portal Transit Portal Anycast Routes Name Service Name Service

  22. Using TP in Courses

  23. Using TP in Your Courses • Used in “Next-Generation Internet” Course at Georgia Tech in Spring 2010 • Students set up virtual networks and connect directly to TP via OpenVPN (similar to demonstration) • Live feed of BGP routes • Routable IP addresses for in class topology inference and performance measurements

  24. Example Problem Set • Set up virtual network with • Intradomain routing • Hosted services • Rate limiting • Connect to Internet with Transit Portal

  25. More Example Experiments

  26. Experiment 2: Service Migration • Internet services in geographically diverse data centers • Operators migrate Internet user’s connections • Two conventional methods: • DNS name re-mapping • Slow • Virtual machine migration with local re-routing • Requires globally routed network

  27. Service Migration Asia Internet North America ISP1 ISP2 ISP3 ISP4 Transit Portal Transit Portal Tunneled Sessions Active Game Service

  28. Experiment 3: Flexible Peering Hosted service can quickly provision services in the cloud when demand fluctuates.

  29. Ongoing Developments • More deployment sites • Your help is desperately needed • Integrating TP with network research testbeds (e.g., GENI, CoreLab) • Faster forwarding (NetFPGA, OpenFlow) • Lightweight interface to route control

  30. Conclusion • Limited routing control for hosted services • Transit Portal gives wide-area route control • Advanced applications with many TPs • Open-source implementation • Scales to hundreds of client sessions • The deployment is real • Can be used today for research and education • More information http://valas.gtnoise.net/tp

  31. Transit Portal in the News

  32. Breakout Session Agenda • Q & A • Demonstration Redux • Brainstorming Experiments • MeasuRouting: Routing-Assisted Traffic Monitoring • Pathlet Routing and Adaptive Multipath Algorithms • Aster*x: Load-Balancing Web Traffic over Wide-Area Networks • Migrating Enterprises to Cloud-based Architectures

  33. Extra Slides

  34. Scaling the Transit Portal • Scale to dozens of sessions to ISPs and hundreds of sessions to hosted services • At the same time: • Present each client with sessions that have an appearance of direct connectivity to an ISP • Prevented clients from abusing Internet routing protocols

  35. Conventional BGP Routing • Conventional BGP router: • Receives routing updates from peers • Propagates routing update about one path only • Selects one path to forward packets • Scalable but not transparent or flexible ISP2 ISP1 BGP Router Client BGP Router Client BGP Router Updates Packets

  36. Scaling TP Memory Use • Store and propagate all BGP routes from ISPs • Separate routing tables • Reduce memory consumption • Single routing process - shared data structures • Reduce memory use from 90MB/ISP to 60MB/ISP ISP1 ISP2 Routing Process Routing Table 1 Routing Table 2 Virtual Router Virtual Router Bulk Transfer Interactive Service

  37. Scaling TP CPU Use • Hundreds of routing sessions to clients • High CPU load • Schedule and send routing updates in bundles • Reduces CPU from 18% to 6% for 500 client sessions ISP1 ISP2 Routing Process Routing Table 1 Routing Table 2 Virtual Router Virtual Router Bulk Transfer Interactive Service

  38. Scaling Forwarding Memory • Connecting clients • Tunneling and VLANs • Curbing memory usage • Separate virtual routing tables with default to upstream • 50MB/ISP -> ~0.1MB/ISP memory use in forwarding table ISP1 ISP2 Forwarding Table Forwarding Table 1 Forwardng Table 2 Virtual BGP Router Virtual BGP Router Bulk Transfer Interactive Service

More Related