= [wiki:GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout TCP ASSIGNMENT] = {{{ #!html
Hello GENI index Hello GENI index Hello GENI index
}}} = STEPS FOR SETTING UP = ''' Using Omni to get physical PCs from ProtoGENI:''' [[BR]] - 1. Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/tcp-pc.rspec - 2. Follow the tutorial on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] to create the topology using tcp-pc.rspec on ProtoGENI or InstaGENI - Note: When dealing with specific slivers, we need to add "-a pg-utah" to specify which aggregate manager we want to use (i.e., from where we want to reserve the resources). In our case here, we are using utah aggregate. - 3. Log onto the reserved nodes following instructions here: [http://groups.geni.net/geni/wiki/HowTo/LoginToNodes LoginToNodes] Done. ''' Using GENI Portal to get Virtual Machines from instaGENI:'''[[BR]] - 1. Follow the tutorial on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/SetupAccount SetupAccount] to get a GENI Portal Account - 2. Follow the instructions on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/ObtainResources ObtainResources] to reserve a topology on GENI Portal - Note: choose resource `tcp-openvz` as the rspec - 3. Log onto the reserved nodes following instructions here: [http://groups.geni.net/geni/wiki/HowTo/LoginToNodes LoginToNodes] Done. ''' Using Omni to get virtual machines from '''ExoGENI''':''' [[BR]] - 1. Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/tcp-kvm.rspec - 2. Follow the tutorial on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] to create the topology using tcp-pc.rspec on ExoGENI - Note: When dealing with specific slivers, we need to add "-a eg-gpo" to specify which aggregate manager we want to use (i.e., from where we want to reserve the resources). In our case here, we are using ExoGENI resource at GPO. - 3. Log onto the reserved nodes following instructions here: [http://groups.geni.net/geni/wiki/HowTo/LoginToNodes LoginToNodes] Done. Note: when you try to login the nodes, you might encounter errors like the following: {{{ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is 12:3b:a0:19:db:b8:62:46:5d:a3:e2:06:27:eb:de:e2. Please contact your system administrator. Add correct host key in /Users/shuang/.ssh/known_hosts to get rid of this message. Offending RSA key in /Users/shuang/.ssh/known_hosts:20 RSA host key for 192.1.242.65 has changed and you have requested strict checking. Host key verification failed. }}} This type of error happens when you have previously logged in a machine with the same IP address and that machine happens not to be the same one as the VM you want to log in. [[BR]] As a result, this error might happen a lot, especially if you have done experiments on ExoGENI before (since it always uses the same IP range for its VMs and each VM is different from each other, i.e., with different RSA keys). [[BR]] In this case, simply open ''~/.ssh/known_hosts'' and remove the line corresponding to the IP address you are trying to login. In our case here, find ''192.1.242.65'' and remove that line. [[BR]] '''Note that the nodes are ready to login does not mean the interfaces are up and well configured. Users may need to wait for up to 5 minutes after nodes are up. ''' '''Difference between ExoGENI, InstaGENI and ProtoGENI in terms of using:''' [[BR]] || || '''ExoGENI''' || '''InstaGENI''' || '''ProtoGENI''' || || '''VM type''' || KVM VM || OpenVZ || PC / OpenVZ || || '''RSPEC''' || Need to specify image, IP address, etc. || have default image, automatically assigns IP address || Same as InstaGENI || || '''Aggregate Manager''' || name begins with eg- || name begins with ig- || name begins with pg- || || '''Login Method''' || uses `root`, can only get from using `readyToLogin.py` and GENI Portal || uses your user account name, can get from flack, readyToLogin.py, GENI Portal. || Same as InstaGENI || || '''Flack interface''' || can only be accessible if launched from GENI Portal || accessible from directly using protogeni.net || Same as InstaGENI || || '''Routing and Forwarding''' || user have to manually enable forwarding and adding routing entries (can put in the RSPEC file) || the system automatically configures it for the user || Same as InstaGENI || || '''Interface names''' || regular interface names, begin with `eth` || virtual interface names, begin with `mv`, e.g., mv6.47 || same as ExoGENI (for PC), InstaGENI (for VM) || || '''Others''' || tc qdisc parameters can be tuned by adding a root `netem` rule || tc qdisc parameters can be tuned by changing an existing `netem` rule || same as ExoGENI (for PC), InstaGENI (for VM) || = [wiki:GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/Execute Next: Run Experiment] =