Changes between Version 15 and Version 16 of GEC21Agenda/ChoiceNet/run_tests
- Timestamp:
- 10/20/14 00:08:26 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GEC21Agenda/ChoiceNet/run_tests
v15 v16 3 3 = A !ChoiceNet Source-Routed Forwarding Service and Marketplace = 4 4 5 The first !ChoiceNet service that we will use is the ''!ChoiceNet Source-Routed Forwarding Service'' described [wiki:GEC21Agenda/ChoiceNet/gt_tool earlier]. We assume you have [wiki:GEC21Agenda/ChoiceNet/ already created two terminal windows], '''TERMINAL 1''' and '''TERMINAL 2''' that are logged into slice nodes '''H1''' and '''H2''' respectively. You objective in this part of the tutorial is to run ''iperf'' between H1 and H2 several different ways:6 1. Requesting a low cost but lower-bandwidth path (and providing the payment need to get back low bandwidth paths from the PS)7 1. Requesting a higher cost but higher-bandwidth path(and providing the payment need to get back high bandwidth paths from the PS)8 1. Requesting a medium cost, high bandwidth but high latency pathand providing the payment need to get back high bandwidth/high latency paths from the PS)9 1. Without providing sufficient payment to the ''path service (PS)''-- which should cause iperf to fail5 The first !ChoiceNet service that we will use is the ''!ChoiceNet Source-Routed Forwarding Service'' described [wiki:GEC21Agenda/ChoiceNet/gt_tool earlier]. We assume you have [wiki:GEC21Agenda/ChoiceNet/ already created two terminal windows], '''TERMINAL 1''' and '''TERMINAL 2''' that are logged into end systems '''H1''' and '''H2''' respectively. You objective in this part of the tutorial is to run ''iperf'' between H1 and H2 across several different paths (having different prices): 6 1. '''A low cost but low-bandwidth path''' (and providing the payment need to get back low bandwidth paths from the ''path service'' (PS)) 7 1. '''A high cost but higher-bandwidth path''' (and providing the payment need to get back high bandwidth paths from the PS) 8 1. '''A medium cost, high bandwidth but high latency path''' (and providing the payment need to get back high bandwidth/high latency paths from the PS) 9 1. '''Without providing sufficient payment''' to the PS -- which should cause iperf to fail 10 10 11 You will run your iperf server on H1 and the iperf client on H2. For each test case, we will be able to see the throughput achieved by iperf, indicating that the PS found an appropriate path, and iperf received the requested performance characteristics. If you are logged into the GENI Desktop,you will be able to visually see the traffic taking different paths across the topology.11 You will run your iperf server on H1 and the iperf client on H2. For each test case, iperf will print its throughput which will show that ithe PS found an appropriate path, and that iperf received the requested performance characteristics. Moreover, if you are logged into the GENI Desktop you will be able to visually see the traffic taking different paths across the topology. 12 12 13 13 === Start the iperf server '''on TERMINAL 1''' ('''H1''') === … … 50 50 where ''IPv6 address of H1'' is the IPv6 address you found above (in TERMINAL 1). 51 51 52 Choicenet is all about choices in the network. For our iperf test run, we currently have a set the network to use the High Bandwidth path "HB". If you like to take an alternate route based on your network preference , you can use any editor (vim, pico , nano) that you prefer to edit the ../config/config.txt and change HB to LB ( Low Bandwidth) path or HBHL (High bandwidth High Latency) path as the last line. 53 We then use a Choicenet wrapper app to convert an existing tcp application into a Choicenet application as shown below 52 = Selecting and Paying for Paths = 54 53 55 get ready to start the iperf Client here . Type the command and keep it ready . '''DO NOT RUN IT JUST YET''' 54 Users select the type of path they want to use, along with the amount they are willing to pay for a path, via a configuration file on the sending machine. It can be found in the ~/choicenet/source/config/config.txt file. The config.txt file stores the user's economic choices. In particular, the config.txt file contains a list of applications and the type of path that should be selected for the application. For example, the config file might list ''iperf'' as an application and ask for high bandwidth paths while at the same time having a listing for ''ssh'' that requests paths with low latency. Not only does it specify the type of path, but it also specifies how much the user is willing to pay for the path. The wrapper library used by applications consults the config.txt file before contacting the ''path service (PS)'', and uses the information in the config.txt file to determine what type of path to request. It also uses the price information to determine the maximum consideration (payment) that the sender is willing to pay for the service. 56 55 57 {{{ 58 #!sh 59 sudo ./wrap /usr/bin/iperf -c <IPv6 address of H1 > -V 60 }}} 56 = Choosing a Low Bandwidth Path = 61 57 62 (IPv6 address should be eth1 on H1 and starts with fec0) 58 The initial config.txt file that we provided to you encodes a desire to use low bandwidth paths at a low price point. As a result, the iperf test you ran above ended up purchasing the low bandwidth path through the LB router in your slice. You should have seen a throughput of less that 1 Mbps as that is the maximum bandwidth achievable over the LB path. 63 59 64 Now GOTO TERMINAL1 and run the iperf server command. Immediately then switch to TERMINAL2 and run the client command too. 60 = Choosing a Higher Bandwidth Path = 61 62 To chose (and pay for) a higher bandwidth path (and higher cost), you will need to edit the config.txt file and replace the current policy that prefers low bandwidth paths. In particular, you will need to change the line '''lb 1 USD''' to '''hb 10 USD'''. This tells the wrapper library that you prefer high bandwidth paths for the iperf program and that you are willing to pay 10 USD for the paths you receive. Having changed the policies in config.txt, all you need to do is to return iperf as you did above. 63 64 Asking for high bandwidth paths results in the PS returning a high bandwidth path passing through the router HB. As a result, the output from iperf should now jump to be roughly 7-8Mbps.