My GENI Slice - College of Charleston Blogs

GENI
Exploring Networks of the Future
Vic Thomas
www.geni.net
Sponsored by the National Science Foundation
This document does not contain technology or technical data controlled under either the
U.S. International Traffic in Arms Regulations or the U.S. Export Administration Regulations.
Outline
•
•
•
•
What is GENI?
How is GENI being used
An experimenter’s view of GENI + Demo
Hands-on exercise
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
2
Why GENI?
Science Issues
We cannot currently
understand or predict the
behavior of complex,
large-scale networks
Innovation Issues
Substantial barriers to
at-scale experimentation with
new architectures, services,
and technologies
Society Issues
We increasingly rely on
the Internet but are
unsure we can trust its
security, privacy or
resilience
Credit: MONET Group at UIUC
These issues are becoming increasingly important with
ubiquitous connectivity,
IoT, cybercrime.
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
3
GENI: A Laboratory for Novel Networking Research
GENI provides compute resources that can be connected in
experimenter specified Layer 2 topologies.
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
4
Compute Resources
Network Resources
Layer 2 VLANS and Access to Programmable Switches
GENI Racks: small clouds
Virtual Machines
Bare metal Machines
Android
Phones
Rack switches
Internet2: US Research Backbone
Wireless
nodes
Emulab
WiMAX/LTE
base
stations,
4G/3G
Network
Planetla
b
ORBIT
Existing Testbeds
Sponsored by the National Science Foundation
Regionals
GENI Introduction
www.geni.net
5
GENI’s footprint
PNWGP
GPO
NYSERNet
Washington
MICHIGAN
Cornell
UMASS
Wisconsin
NYU
NoX
WSU
MERIT
Stanford
UCD
Northwestern
Chicago
CASE
OSF
Rutgers
NYSERNet
OneCommunity
CIC
CENIC
MAGPI
Princeton
OHMDC
Colorado
ESNet
ICCN
GPN
STANFORD
UEN
CENIC
FRGP
StarLight
Kettering
COLORADO
UMKC
NPS
Utah
UCLA
UtahDDC
Illinois
WRN
WiMAX/LTE
E
G
OG
C
G
Kentucky
LEARN
KyRON
BEN
Clemson
SOX
SOX
TAMU
UKYPKS2
Advanced Layer2 Service
POP
InstaGENI Rack
MAX
NCSU
RENCI
CenturyLink
EPB
Campus Network
IG
WV
N
Missouri
MOXI
GWU
UTC
MOXI
Kansas
CENI
C
WVNET
OARNet
CAAREN
KanREN
Utah
MAX
ESNe
t
PeachNet
GATech
FLR
ExoGENI Rack
OpenGENI Rack
Houston
FIU
UFL
CiscoGENI Rack
Regional Network
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
6
GENI: Infrastructure for Experimentation
GENI provides compute resources that can be connected in
experimenter specified Layer 2 topologies.
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
7
Multiple GENI Experiments run Concurrently
Resources may
be virtualized
and used by
multiple
experiments
Experiments live in isolated “slices”
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
8
GENI is “Deeply Programmable”
I install software I want
throughout my network slice
(into routers, switches, …) or
control switches using
OpenFlow
Everything is programmable: Experimenters create and program custom
topologies, protocols and flows
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
9
Outline
•
•
•
•
What is GENI?
How is GENI being used
An experimenter’s view of GENI + Demo
Hands-on exercise
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
10
GENI for Research and Education
•
•
•
•
•
Research
Future Internet Architectures
Software defined networking
Large scale evaluation of
protocols
Cloud networking
Domain sciences
Education
• Classes in:
–
–
–
–
Computer Networking
Distributed systems
Cloud computing
Wireless Communications
• Undergraduate, graduate
GENI has over 10,000 users!
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
11
STEM Initiatives using GENI
K-12
PlanIT: SimCIty like game set
in students’ own city
Grad/Undergrad
GENI as a remote, virtual lab for
networking, distributed systems
and cloud computing classes
Community
GENI based Massive Open
Online Courses (MOOCs) for
the masses
Bringing scientific instruments
into the classroom virtually
Immersive 3D environments
for problem solving
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
12
Mars Rover Game
Students at a high school in Colorado learn math and programming using the Mars Rover game
The Mars Rover has crash landed and the student must help the rover repair itself, build shelter, and prepare for
colonists before they arrive. The game is designed to engage high school students, effectively teach and
assess their critical thinking, math, and programming skills. - https://www.adlnet.gov/mars-game
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
13
Bringing Science to Life
GENI network
Digital cinema microscope
at the U. of Southern California
Sponsored by the National Science Foundation
GENI Introduction
High school student in
Chattanooga, TN
www.geni.net
14
GENI as a Remote Lab
Over 4500 students
have used GENI in
classes taught by 73
instructors
Jennie Albrecht teaches a
distributed systems class at
Williams College, MA
Last semester 638
students in 24 classes
did labs on GENI
Sponsored by the National Science Foundation
Students using GENI in a
wireless networking class in
Greece
GENI Introduction
www.geni.net
15
Why use GENI for Education?
• No need to acquire and maintain expensive lab
facilities
– 24x7 access from almost anywhere
• Enables new lab exercises
– Exercises based on expensive and uncommon resources
• 4G wireless base stations, long haul network links, programmable
switches
Wide area experiment on GENI
• Promotes exploratory learning
– If student messes up a resource configuration, delete and
start over
• No instructor or administrator intervention needed
• Shared community resource
– Community developed course modules
– Community supported mailing lists
Sponsored by the National Science Foundation
GENI Introduction
One of many wireless resources
available for GENI labs
www.geni.net
16
GENI-based Courseware
Labs on
GENI for
networking
textbook
GENI Modules to teach
networking concepts
Mike Zink
UMass Amherst
Example Demo Module
Massive Online Open
Courses on GENI
Shivendra
Panwar,
Thanasis
Korakis
NYU Poly
Sponsored by the National Science Foundation
Use GENI to
educate the
Internet users, not
the Internet
creators.
GENI Introduction
Example Assignment
Kevin Jaffay, Jay Aikat
UNC-Chapel Hill
www.geni.net
17
GENI Course Modules on www.geni.net
www.geni.net
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
18
Train-the-TA Webinar
• Offered start of every semester
• Attended by instructors and TAs
• Two 3-hour sessions on two afternoons
– Session 1: Introduction to GENI
Simple hands-on exercise
(you can skip this)
– Session 2: Tips for running a class on GENI
Timeline
Setup needed (GENI Project, accounts, etc)
Tips for debugging student experiments
Join the community mailing list for educators for announcements:
[email protected]
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
19
Outline
•
•
•
•
•
What is GENI?
Building and deploying GENI
How is GENI being used
An experimenter’s view of GENI + Demo
Hands-on exercise
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
20
GENI: Terms and Definitions
Slice
Abstraction for a collection of resources capable of
running experiments
– An experiment uses
resources in a slice
– Slices isolate
experiments
– Experimenters are
responsible for their
slices
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
21
Clearinghouse and Aggregates
Create & Register Slice
Slice credentials
user
s
project
s
slice
s
clearinghouse
Aggregate Manager API
Researcher
Tool
- listResources
- createSliver
…
Aggregate
Manager
Aggregate Resources
• Clearinghouse: Manages users, projects and slices
– Standard credentials shared via custom API or new Common CH API
– GENI supported accounts: GENI Portal/CH, PlanetLab CH, ProtoGENI CH
• Aggregate: Provides resources to GENI experimenters
– Typically owned and managed by an organization
– Speaks the GENI AM API
– Examples: PlanetLab, Emulab, GENI Racks on various campuses
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
22
GENI: Terms and Definitions
• Sliver: One or more resources provided by an
aggregate
– E.g. Bare machines, virtual machines, VLANs
Campus
#3
My slice contains slivers
from many aggregates.
Commercial
Clouds
Backbone #1
Campus
Research
Testbed
My GENI
Access
Slice
#1
Corporate
GENI suites
Backbone #2
Other-Nation
Projects
Campus
#2
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
23
RSpecs
• RSpecs: Lingua franca for describing and requesting
resources
– “Machine language” for negotiating resources between
experiment and aggregate
– Experimenter tools eliminate the need for most experimenters to
write or read RSpec
<?xml version="1.0" encoding="UTF-8"?>
<rspec xmlns="http://www.protogeni.net/resources/rspec/2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2
http://www.protogeni.net/resources/rspec/2/request.xsd"
type="request" >
<node client_id="my-node"
exclusive="true">
<sliver_type name="raw-pc" />
</node>
RSpec for requesting a single
</rspec>
node
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
24
Reserving Resources using RSpecs and the AM API
Experimenter tools and aggregates talk to each other using resource
specifications (RSpecs) and the GENI Aggregate Manager API (GENI AM API)
• Advertisement RSpec: What does an aggregate have?
• Request RSpec: What does the experimenter want?
• Manifest RSpec: What does the experimenter have?
What do
you
have?
Experimenter
Tool
I would
like …
ListResources(…)
Advertisement RSpec
CreateSliver(Request RSpec, …)
What do I
have?
You have
Aggregate
… Manager
Manifest RSpec
ListResources(SliceName, …)
Manifest RSpec
Sponsored by the National Science Foundation
I have …
GENI Introduction
You have
…
www.geni.net
25
Demo: Putting it all Together
Login to the GENI Portal
Create a slice
Create resources at one aggregate
Two computers (VMs), connected by a LAN
Generate traffic
View results
Delete resources
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
26
HANDS ON EXERCISE
Based on the popular IP Routing exercise developed by Mike Zink of UMass, Amherst
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
27
Objectives
• For this workshop
– Gain hands-on experience with
GENI
• As a student lab
– Learn to set up static IP routes using
the Linux route command
(you will be given the solution)
Lab0 on the GENI Course Modules page is a better first lab for your students as
it includes account setup instructions.
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
28
Ready?
• Do you have an ssh client?
– Windows users: PuTTY is recommended
– Mac/Linux: Built-in ssh command from terminal
PuTTY download:
http://www.putty.org
• Have you logged into the GENI Portal?
– Check if your institution is listed on the Portal
• If so, log in using your university/college
username/password
– If your institituion is not listed
• Request an account from the NCSA
• Have you joined the GENI project for
the workshop?
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
29
Set?
• Create your ssh keys
– Look for SSH Keys under your name
• Download your ssh private key
– Mac/Linux:
• Move key to .ssh folder
• Change permission so only you can
read it
chmod 600 ~/.ssh/id_geni_ssh_rsa
– Windows:
• Download your PuTTY key
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
30
Go!
Follow instructions in your
handout!
You will not draw your topology;
you will load one created for you.
Use any ExoGENI rack
FIU ExoGENI
Texas A&M ExoGENI
WVNet ExoGENI
StarLight ExoGENI
Sponsored by the National Science Foundation
GENI Introduction
www.geni.net
31